@devframes/plugin-inspect--assets 0.9.20 → 0.10.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.
@@ -4,5 +4,5 @@ var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],en
4
4
  `))),e[Ll]=Pl(i);let a=r||i.props&&i.props.type===`number`;tl(e,t?`change`:`input`,t=>{t.target.composing||e[Ll](zl(e.value,n,a))}),(n||a)&&tl(e,`change`,()=>{e.value=zl(e.value,n,a)}),t||(tl(e,`compositionstart`,Fl),tl(e,`compositionend`,Il),tl(e,`change`,Il))},mounted(e,{value:t,modifiers:{trim:n,number:r}}){let i=t??``,a=e[Rl];delete e[Rl],a!==void 0&&(e.type===`text`||e.type===`textarea`)&&e.value!==a?e[Ll](zl(e.value,n,r)):e.value=i},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:a}},o){if(e[Ll]=Pl(o),e.composing)return;let s=(a||e.type===`number`)&&!/^0\d/.test(e.value)?le(e.value):e.value,c=t??``;if(s===c)return;let l=e.getRootNode();(l instanceof Document||l instanceof ShadowRoot)&&l.activeElement===e&&e.type!==`range`&&(r&&t===n||i&&e.value.trim()===c)||(e.value=c)}},Vl={deep:!0,created(e,t,n){e[Ll]=Pl(n),tl(e,`change`,()=>{let t=e._modelValue,n=ql(e),r=e.checked,i=e[Ll];if(p(t)){let e=Ee(t,n),a=e!==-1;if(r&&!a)i(t.concat(n));else if(!r&&a){let n=[...t];n.splice(e,1),i(n)}}else if(h(t)){let e=new Set(t);r?e.add(n):e.delete(n),i(e)}else i(Jl(e,r))})},mounted:Hl,beforeUpdate(e,t,n){e[Ll]=Pl(n),Hl(e,t,n)}};function Hl(e,{value:t,oldValue:n},r){e._modelValue=t;let i;if(p(t))i=Ee(t,r.props.value)>-1;else if(h(t))i=t.has(r.props.value);else{if(t===n)return;i=Te(t,Jl(e,!0))}e.checked!==i&&(e.checked=i)}var Ul={created(e,{value:t},n){e.checked=Te(t,n.props.value),e[Ll]=Pl(n),tl(e,`change`,()=>{e[Ll](ql(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[Ll]=Pl(r),t!==n&&(e.checked=Te(t,r.props.value))}},Wl={deep:!0,created(e,{value:t,modifiers:{number:n}},r){e._modelValue=t,tl(e,`change`,()=>{let t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>n?le(ql(e)):ql(e)),r=e.multiple,i=r?h(e._modelValue)?new Set(t):t:t[0],a=e._pendingValue=[r,r?p(i)?t.slice():t:i];try{e[Ll](i)}finally{Xn(()=>{e._pendingValue===a&&(e._pendingValue=void 0)})}}),e[Ll]=Pl(r)},mounted(e,{value:t}){Kl(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[Ll]=Pl(n)},updated(e,{value:t}){let n=e._pendingValue;e._pendingValue=void 0,(!n||n[0]!==e.multiple||!Gl(t,n[1],n[0]))&&Kl(e,t)}};function Gl(e,t,n){if(!n||p(e))return Te(e,t);if(h(e)){if(e.size!==t.length)return!1;for(let n of t)if(!e.has(n))return!1;return!0}return!1}function Kl(e,t){let n=e.multiple,r=p(t);if(!n||r||h(t)){for(let i=0,a=e.options.length;i<a;i++){let a=e.options[i],o=ql(a);if(n){if(r){let e=typeof o;a.selected=e===`string`||e===`number`?t.some(e=>String(e)===String(o)):Ee(t,o)>-1}else a.selected=t.has(o)}else if(Te(ql(a),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function ql(e){return`_value`in e?e._value:e.value}function Jl(e,t){let n=t?`_trueValue`:`_falseValue`;return n in e?e[n]:t}var Yl={created(e,t,n){Zl(e,t,n,null,`created`)},mounted(e,t,n){Zl(e,t,n,null,`mounted`)},beforeUpdate(e,t,n,r){Zl(e,t,n,r,`beforeUpdate`)},updated(e,t,n,r){Zl(e,t,n,r,`updated`)}};function Xl(e,t){switch(e){case`SELECT`:return Wl;case`TEXTAREA`:return Bl;default:switch(t){case`checkbox`:return Vl;case`radio`:return Ul;default:return Bl}}}function Zl(e,t,n,r,i){let a=Xl(e.tagName,n.props&&n.props.type)[i];a&&a(e,t,n,r)}function Ql(){Bl.getSSRProps=({value:e})=>({value:e}),Ul.getSSRProps=({value:e},t)=>{if(t.props&&Te(t.props.value,e))return{checked:!0}},Vl.getSSRProps=({value:e},t)=>{if(p(e)){if(t.props&&Ee(e,t.props.value)>-1)return{checked:!0}}else if(h(e)){if(t.props&&e.has(t.props.value))return{checked:!0}}else if(e)return{checked:!0}},Yl.getSSRProps=(e,t)=>{if(typeof t.type!=`string`)return;let n=Xl(t.type.toUpperCase(),t.props&&t.props.type);if(n.getSSRProps)return n.getSSRProps(e,t)}}var $l=[`ctrl`,`shift`,`alt`,`meta`],eu={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,t)=>$l.some(n=>e[`${n}Key`]&&!t.includes(n))},tu=(e,t)=>{if(!e)return e;let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e<t.length;e++){let r=eu[t[e]];if(r&&r(n,t))return}return e(n,...r)}))},nu={esc:`escape`,space:` `,up:`arrow-up`,left:`arrow-left`,right:`arrow-right`,down:`arrow-down`,delete:`backspace`},ru=(e,t)=>{let n=e._withKeys||={},r=t.join(`.`);return n[r]||(n[r]=(n=>{if(!(`key`in n))return;let r=ie(n.key);if(t.some(e=>e===r||nu[e]===r))return e(n)}))},iu=l({patchProp:pl},pc),au,ou=!1;function su(){return au||=Fo(iu)}function cu(){return au=ou?au:Io(iu),ou=!0,au}var lu=((...e)=>{su().render(...e)}),uu=((...e)=>{cu().hydrate(...e)}),du=((...e)=>{let t=su().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=mu(e);if(!r)return;let i=t._component;!v(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent=``);let a=n(r,!1,pu(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t}),fu=((...e)=>{let t=cu().createApp(...e),{mount:n}=t;return t.mount=e=>{let t=mu(e);if(t)return n(t,!0,pu(t))},t});function pu(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function mu(e){return y(e)?document.querySelector(e):e}var hu=!1,gu=()=>{hu||(hu=!0,Ql(),zc())},_u=t({BaseTransition:()=>Xr,BaseTransitionPropsValidators:()=>Kr,Comment:()=>V,DeprecationTypes:()=>null,EffectScope:()=>Me,ErrorCodes:()=>Ln,ErrorTypeStrings:()=>nc,Fragment:()=>B,KeepAlive:()=>Ri,ReactiveEffect:()=>Le,Static:()=>os,Suspense:()=>Jo,Teleport:()=>zr,Text:()=>as,TrackOpTypes:()=>wn,Transition:()=>yc,TransitionGroup:()=>Ol,TriggerOpTypes:()=>Tn,VueElement:()=>bl,assertNumber:()=>In,callWithAsyncErrorHandling:()=>Bn,callWithErrorHandling:()=>zn,camelize:()=>O,capitalize:()=>ae,cloneVNode:()=>bs,compatUtils:()=>null,compile:()=>vu,computed:()=>Y,createApp:()=>du,createBlock:()=>W,createCommentVNode:()=>J,createElementBlock:()=>U,createElementVNode:()=>G,createHydrationRenderer:()=>Io,createPropsRestProxy:()=>Fa,createRenderer:()=>Fo,createSSRApp:()=>fu,createSlots:()=>pa,createStaticVNode:()=>xs,createTextVNode:()=>q,createVNode:()=>K,customRef:()=>gn,defineAsyncComponent:()=>Fi,defineComponent:()=>R,defineCustomElement:()=>_l,defineEmits:()=>Ca,defineExpose:()=>wa,defineModel:()=>Da,defineOptions:()=>Ta,defineProps:()=>Sa,defineSSRCustomElement:()=>vl,defineSlots:()=>Ea,devtools:()=>rc,effect:()=>Xe,effectScope:()=>Ne,getCurrentInstance:()=>js,getCurrentScope:()=>Pe,getCurrentWatcher:()=>kn,getTransitionRawChildren:()=>ni,guardReactiveProps:()=>ys,h:()=>X,handleError:()=>Vn,hasInjectionContext:()=>vr,hydrate:()=>uu,hydrateOnIdle:()=>Oi,hydrateOnInteraction:()=>Mi,hydrateOnMediaQuery:()=>ji,hydrateOnVisible:()=>Ai,initCustomFormatter:()=>Zs,initDirectivesForSSR:()=>gu,inject:()=>_r,isMemoSame:()=>$s,isProxy:()=>rn,isReactive:()=>en,isReadonly:()=>tn,isRef:()=>P,isRuntimeOnly:()=>Ws,isShallow:()=>nn,isVNode:()=>ps,markRaw:()=>an,mergeDefaults:()=>Na,mergeModels:()=>Pa,mergeProps:()=>Ts,nextTick:()=>Xn,nodeOps:()=>pc,normalizeClass:()=>A,normalizeProps:()=>ye,normalizeStyle:()=>me,onActivated:()=>Bi,onBeforeMount:()=>Ji,onBeforeUnmount:()=>Qi,onBeforeUpdate:()=>Xi,onDeactivated:()=>Vi,onErrorCaptured:()=>ra,onMounted:()=>Yi,onRenderTracked:()=>na,onRenderTriggered:()=>ta,onScopeDispose:()=>Fe,onServerPrefetch:()=>ea,onUnmounted:()=>$i,onUpdated:()=>Zi,onWatcherCleanup:()=>An,openBlock:()=>H,patchProp:()=>pl,popScopeId:()=>fr,provide:()=>gr,proxyRefs:()=>mn,pushScopeId:()=>dr,queuePostFlushCb:()=>er,reactive:()=>Yt,readonly:()=>Zt,ref:()=>F,registerRuntimeCompiler:()=>Us,render:()=>lu,renderList:()=>fa,renderSlot:()=>ma,resolveComponent:()=>oa,resolveDirective:()=>la,resolveDynamicComponent:()=>ca,resolveFilter:()=>null,resolveTransitionHooks:()=>Qr,setBlockTracking:()=>ds,setDevtoolsHook:()=>ic,setTransitionHooks:()=>ti,shallowReactive:()=>Xt,shallowReadonly:()=>Qt,shallowRef:()=>cn,ssrContextKey:()=>yr,ssrUtils:()=>ac,stop:()=>Ze,toDisplayString:()=>j,toHandlerKey:()=>oe,toHandlers:()=>ga,toRaw:()=>N,toRef:()=>bn,toRefs:()=>_n,toValue:()=>fn,transformVNodeArgs:()=>hs,triggerRef:()=>dn,unref:()=>I,useAttrs:()=>Aa,useCssModule:()=>Cl,useCssVars:()=>Vc,useHost:()=>xl,useId:()=>ri,useModel:()=>no,useSSRContext:()=>br,useShadowRoot:()=>Sl,useSlots:()=>ka,useTemplateRef:()=>ai,useTransitionState:()=>Wr,vModelCheckbox:()=>Vl,vModelDynamic:()=>Yl,vModelRadio:()=>Ul,vModelSelect:()=>Wl,vModelText:()=>Bl,vShow:()=>Lc,version:()=>ec,warn:()=>tc,watch:()=>wr,watchEffect:()=>xr,watchPostEffect:()=>Sr,watchSyncEffect:()=>Cr,withAsyncContext:()=>Ia,withCtx:()=>L,withDefaults:()=>Oa,withDirectives:()=>mr,withKeys:()=>ru,withMemo:()=>Qs,withModifiers:()=>tu,withScopeId:()=>pr}),vu=()=>{},yu=[`top`,`right`,`bottom`,`left`],bu=[`start`,`end`],xu=yu.reduce((e,t)=>e.concat(t,t+`-`+bu[0],t+`-`+bu[1]),[]),Su=Math.min,Cu=Math.max,wu=Math.round,Tu=e=>({x:e,y:e}),Eu={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Du(e,t,n){return Cu(e,Su(t,n))}function Ou(e,t){return typeof e==`function`?e(t):e}function ku(e){return e.split(`-`)[0]}function Au(e){return e.split(`-`)[1]}function ju(e){return e===`x`?`y`:`x`}function Mu(e){return e===`y`?`height`:`width`}function Nu(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Pu(e){return ju(Nu(e))}function Fu(e,t,n){n===void 0&&(n=!1);let r=Au(e),i=Pu(e),a=Mu(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Wu(o)),[o,Wu(o)]}function Iu(e){let t=Wu(e);return[Lu(e),t,Lu(t)]}function Lu(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Ru=[`left`,`right`],zu=[`right`,`left`],Bu=[`top`,`bottom`],Vu=[`bottom`,`top`];function Hu(e,t,n){switch(e){case`top`:case`bottom`:return n?t?zu:Ru:t?Ru:zu;case`left`:case`right`:return t?Bu:Vu;default:return[]}}function Uu(e,t,n,r){let i=Au(e),a=Hu(ku(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Lu)))),a}function Wu(e){let t=ku(e);return Eu[t]+e.slice(t.length)}function Gu(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function Ku(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Gu(e)}function qu(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function Ju(e,t,n){let{reference:r,floating:i}=e,a=Nu(t),o=Pu(t),s=Mu(o),c=ku(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}let m=Au(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function Yu(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=Ou(t,e),p=Ku(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=qu(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=qu(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var Xu=50,Zu=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Yu},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Ju(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<Xu&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=Ju(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},Qu=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=Ou(e,t)||{};if(l==null)return{};let d=Ku(u),f={x:n,y:r},p=Pu(i),m=Mu(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=Su(d[_],T),D=Su(d[v],T),ee=C-h[m]-D,te=C/2-h[m]/2+w,ne=Du(E,te,ee),O=!c.arrow&&Au(i)!=null&&te!==ne&&a.reference[m]/2-(te<E?E:D)-h[m]/2<0,re=O?te<E?te-E:te-ee:0;return{[p]:f[p]+re,data:{[p]:ne,centerOffset:te-ne-re,...O&&{alignmentOffset:re}},reset:O}}});function $u(e,t,n){return(e?[...n.filter(t=>Au(t)===e),...n.filter(t=>Au(t)!==e)]:n.filter(e=>ku(e)===e)).filter(n=>!e||Au(n)===e||(t?Lu(n)!==n:!1))}var ed=function(e){return e===void 0&&(e={}),{name:`autoPlacement`,options:e,async fn(t){let{rects:n,middlewareData:r,placement:i,platform:a,elements:o}=t,{crossAxis:s=!1,alignment:c,allowedPlacements:l=xu,autoAlignment:u=!0,...d}=Ou(e,t),f=c!==void 0||l===xu?$u(c||null,u,l):l,p=r.autoPlacement?.index||0,m=f[p];if(m==null)return{};if(i!==m)return{reset:{placement:f[0]}};let h=await a.detectOverflow(t,d),g=Fu(m,n,await(a.isRTL==null?void 0:a.isRTL(o.floating))),_=[h[ku(m)],h[g[0]],h[g[1]]],v=[...r.autoPlacement?.overflows||[],{placement:m,overflows:_}],y=f[p+1];if(y)return{data:{index:p+1,overflows:v},reset:{placement:y}};let b=v.map(e=>{let t=Au(e.placement);return[e.placement,t&&s?e.overflows.slice(0,2).reduce((e,t)=>e+t,0):e.overflows[0],e.overflows]}).sort((e,t)=>e[1]-t[1]),x=b.filter(e=>e[2].slice(0,Au(e[0])?2:3).every(e=>e<=0))[0]?.[0]||b[0][0];return x===i?{}:{data:{index:p+1,overflows:v},reset:{placement:x}}}}},td=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=Ou(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=ku(r),_=Nu(o),v=ku(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Wu(o)]:Iu(o)),x=p!==`none`;!d&&x&&b.push(...Uu(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=Fu(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(u!==`alignment`||_===Nu(t)||T.every(e=>Nu(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=Nu(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o}if(r!==n)return{reset:{placement:n}}}return{}}}},nd=new Set([`left`,`top`]);async function rd(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=ku(n),s=Au(n),c=Nu(n)===`y`,l=nd.has(o)?-1:1,u=a&&c?-1:1,d=Ou(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var id=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await rd(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},ad=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=Ou(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=Nu(i),p=ju(f),m=u[p],h=u[f],g=(e,t)=>Du(t+d[e===`y`?`top`:`left`],t,t-d[e===`y`?`bottom`:`right`]);o&&(m=g(p,m)),s&&(h=g(f,h));let _=c.fn({...t,[p]:m,[f]:h});return{..._,data:{x:_.x-n,y:_.y-r,enabled:{[p]:o,[f]:s}}}}}},od=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){let{placement:n,rects:r,platform:i,elements:a}=t,{apply:o=()=>{},...s}=Ou(e,t),c=await i.detectOverflow(t,s),l=ku(n),u=Au(n),d=Nu(n)===`y`,{width:f,height:p}=r.floating,m,h;l===`top`||l===`bottom`?(m=l,h=u===(await(i.isRTL==null?void 0:i.isRTL(a.floating))?`start`:`end`)?`left`:`right`):(h=l,m=u===`end`?`top`:`bottom`);let g=p-c.top-c.bottom,_=f-c.left-c.right,v=Su(p-c[m],g),y=Su(f-c[h],_),b=t.middlewareData.shift,x=!b,S=v,C=y;b!=null&&b.enabled.x&&(C=_),b!=null&&b.enabled.y&&(S=g),x&&!u&&(d?C=f-2*Cu(c.left,c.right):S=p-2*Cu(c.top,c.bottom)),await o({...t,availableWidth:C,availableHeight:S});let w=await i.getDimensions(a.floating);return f!==w.width||p!==w.height?{reset:{rects:!0}}:{}}}};function sd(){return typeof window<`u`}function cd(e){return dd(e)?(e.nodeName||``).toLowerCase():`#document`}function ld(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function ud(e){return((dd(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function dd(e){return sd()?e instanceof Node||e instanceof ld(e).Node:!1}function fd(e){return sd()?e instanceof Element||e instanceof ld(e).Element:!1}function pd(e){return sd()?e instanceof HTMLElement||e instanceof ld(e).HTMLElement:!1}function md(e){return!sd()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof ld(e).ShadowRoot}function hd(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Ed(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function gd(e){return/^(table|td|th)$/.test(cd(e))}function _d(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var vd=/transform|translate|scale|rotate|perspective|filter/,yd=/paint|layout|strict|content/,bd=e=>!!e&&e!==`none`,xd;function Sd(e){let t=fd(e)?Ed(e):e;return bd(t.transform)||bd(t.translate)||bd(t.scale)||bd(t.rotate)||bd(t.perspective)||!wd()&&(bd(t.backdropFilter)||bd(t.filter))||vd.test(t.willChange||``)||yd.test(t.contain||``)}function Cd(e){let t=Od(e);for(;pd(t)&&!Td(t);){if(Sd(t))return t;if(_d(t))return null;t=Od(t)}return null}function wd(){return xd??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),xd}function Td(e){return/^(html|body|#document)$/.test(cd(e))}function Ed(e){return ld(e).getComputedStyle(e)}function Dd(e){return fd(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Od(e){if(cd(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||md(e)&&e.host||ud(e);return md(t)?t.host:t}function kd(e){let t=Od(e);return Td(t)?(e.ownerDocument||e).body:pd(t)&&hd(t)?t:kd(t)}function Ad(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=kd(e),i=r===e.ownerDocument?.body,a=ld(r);if(i){let e=jd(a);return t.concat(a,a.visualViewport||[],hd(r)?r:[],e&&n?Ad(e):[])}return t.concat(r,Ad(r,[],n))}function jd(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Md(e){let t=Ed(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=pd(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=wu(n)!==a||wu(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Nd(e){return fd(e)?e:e.contextElement}function Pd(e){let t=Nd(e);if(!pd(t))return Tu(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Md(t),o=(a?wu(n.width):n.width)/r,s=(a?wu(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Fd=Tu(0);function Id(e){let t=ld(e);return!wd()||!t.visualViewport?Fd:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Ld(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===ld(e)}function Rd(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Nd(e),o=Tu(1);t&&(r?fd(r)&&(o=Pd(r)):o=Pd(e));let s=Ld(a,n,r)?Id(a):Tu(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a&&r){let e=ld(a),t=fd(r)?ld(r):r,n=e,i=jd(n);for(;i&&t!==n;){let e=Pd(i),t=i.getBoundingClientRect(),r=Ed(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=ld(i),i=jd(n)}}return qu({width:u,height:d,x:c,y:l})}function zd(e,t){let n=Dd(e).scrollLeft;return t?t.left+n:Rd(ud(e)).left+n}function Bd(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-zd(e,n),y:n.top+t.scrollTop}}function Vd(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=ud(r),s=t?_d(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=Tu(1),u=Tu(0),d=pd(r);if((d||!a)&&((cd(r)!==`body`||hd(o))&&(c=Dd(r)),d)){let e=Rd(r);l=Pd(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Bd(o,c):Tu(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Hd(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function Ud(e){let t=Dd(e),n=e.ownerDocument.body,r=Cu(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=Cu(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+zd(e),o=-t.scrollTop;return Ed(n).direction===`rtl`&&(a+=Cu(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var Wd=25;function Gd(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=ld(e),a=ud(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!wd()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(zd(a)<=0){let e=a.ownerDocument,t=e.body,n=getComputedStyle(t),r=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,i=Math.abs(a.clientWidth-t.clientWidth-r),o=getComputedStyle(a).scrollbarGutter===`stable both-edges`?i/2:i;o<=Wd&&(s-=o)}return{width:s,height:c,x:l,y:u}}function Kd(e,t){let n=Rd(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Pd(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function qd(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=Gd(e,n,t);else if(t===`document`)r=Ud(ud(e));else if(fd(t))r=Kd(t,n);else{let n=Id(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return qu(r)}function Jd(e,t){let n=t.get(e);if(n)return n;let r=Ad(e,[],!1).filter(e=>fd(e)&&cd(e)!==`body`),i=null,a=Ed(e).position===`fixed`,o=a?Od(e):e;for(;fd(o)&&!Td(o);){let e=Ed(o),t=Sd(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=Od(o)}return t.set(e,r),r}function Yd(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?_d(t)?[]:Jd(t,this._c):[].concat(n),r],o=qd(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=qd(t,a[e],i);s=Cu(n.top,s),c=Su(n.right,c),l=Su(n.bottom,l),u=Cu(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Xd(e){let{width:t,height:n}=Md(e);return{width:t,height:n}}function Zd(e,t,n){let r=pd(t),i=ud(t),a=n===`fixed`,o=Rd(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=Tu(0);if((r||!a)&&((cd(t)!==`body`||hd(i))&&(s=Dd(t)),r)){let e=Rd(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=zd(i));let l=i&&!r&&!a?Bd(i,s):Tu(0);return{x:o.left+s.scrollLeft-c.x-l.x,y:o.top+s.scrollTop-c.y-l.y,width:o.width,height:o.height}}function Qd(e){return Ed(e).position===`static`}function $d(e,t){if(!pd(e)||Ed(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return ud(e)===n&&(n=n.ownerDocument.body),n}function ef(e,t){let n=ld(e);if(_d(e))return n;if(!pd(e)){let t=Od(e);for(;t&&!Td(t);){if(fd(t)&&!Qd(t))return t;t=Od(t)}return n}let r=$d(e,t);for(;r&&gd(r)&&Qd(r);)r=$d(r,t);return r&&Td(r)&&Qd(r)&&!Sd(r)?n:r||Cd(e)||n}var tf=async function(e){let t=this.getOffsetParent||ef,n=this.getDimensions,r=await n(e.floating);return{reference:Zd(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function nf(e){return Ed(e).direction===`rtl`}var rf={convertOffsetParentRelativeRectToViewportRelativeRect:Vd,getDocumentElement:ud,getClippingRect:Yd,getOffsetParent:ef,getElementRects:tf,getClientRects:Hd,getDimensions:Xd,getScale:Pd,isElement:fd,isRTL:nf},af=id,of=ed,sf=ad,cf=td,lf=od,uf=Qu,df=(e,t,n)=>{let r=new Map,i=n??{},a={...rf,...i.platform,_c:r};return Zu(e,t,{...i,platform:a})},ff={disabled:!1,distance:5,skidding:0,container:`body`,boundary:void 0,instantMove:!1,disposeTimeout:150,popperTriggers:[],strategy:`absolute`,preventOverflow:!0,flip:!0,shift:!0,overflowPadding:0,arrowPadding:0,arrowOverflow:!0,autoHideOnMousedown:!1,themes:{tooltip:{placement:`top`,triggers:[`hover`,`focus`,`touch`],hideTriggers:e=>[...e,`click`],delay:{show:200,hide:0},handleResize:!1,html:!1,loadingContent:`...`},dropdown:{placement:`bottom`,triggers:[`click`],delay:0,handleResize:!0,autoHide:!0},menu:{$extend:`dropdown`,triggers:[`hover`,`focus`],popperTriggers:[`hover`],delay:{show:0,hide:400}}}};function pf(e,t){let n=ff.themes[e]||{},r;do r=n[t],r===void 0?n.$extend?n=ff.themes[n.$extend]||{}:(n=null,r=ff[t]):n=null;while(n);return r}function mf(e){let t=[e],n=ff.themes[e]||{};do n.$extend&&!n.$resetCss?(t.push(n.$extend),n=ff.themes[n.$extend]||{}):n=null;while(n);return t.map(e=>`v-popper--theme-${e}`)}function hf(e){let t=[e],n=ff.themes[e]||{};do n.$extend?(t.push(n.$extend),n=ff.themes[n.$extend]||{}):n=null;while(n);return t}var gf=(()=>{if(typeof window>`u`)return!1;let e=!1;try{let t=Object.defineProperty({},"passive",{get(){e=!0}});window.addEventListener(`test`,null,t)}catch{}return e})(),_f=typeof window<`u`&&typeof navigator<`u`&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,vf=[`auto`,`top`,`bottom`,`left`,`right`].reduce((e,t)=>e.concat([t,`${t}-start`,`${t}-end`]),[]),yf={hover:`mouseenter`,focus:`focus`,click:`click`,touch:`touchstart`,pointer:`pointerdown`},bf={hover:`mouseleave`,focus:`blur`,click:`click`,touch:`touchend`,pointer:`pointerup`};function xf(e,t){let n=e.indexOf(t);n!==-1&&e.splice(n,1)}function Sf(){return new Promise(e=>requestAnimationFrame(()=>{requestAnimationFrame(e)}))}var Cf=[],wf=null,Tf={};function Ef(e){let t=Tf[e];return t||=Tf[e]=[],t}var Df=function(){};typeof window<`u`&&(Df=window.Element);function Z(e){return function(t){return pf(t.theme,e)}}var Of=`__floating-vue__popper`,kf=()=>R({name:`VPopper`,provide(){return{[Of]:{parentPopper:this}}},inject:{[Of]:{default:null}},props:{theme:{type:String,required:!0},targetNodes:{type:Function,required:!0},referenceNode:{type:Function,default:null},popperNode:{type:Function,required:!0},shown:{type:Boolean,default:!1},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:Z(`disabled`)},positioningDisabled:{type:Boolean,default:Z(`positioningDisabled`)},placement:{type:String,default:Z(`placement`),validator:e=>vf.includes(e)},delay:{type:[String,Number,Object],default:Z(`delay`)},distance:{type:[Number,String],default:Z(`distance`)},skidding:{type:[Number,String],default:Z(`skidding`)},triggers:{type:Array,default:Z(`triggers`)},showTriggers:{type:[Array,Function],default:Z(`showTriggers`)},hideTriggers:{type:[Array,Function],default:Z(`hideTriggers`)},popperTriggers:{type:Array,default:Z(`popperTriggers`)},popperShowTriggers:{type:[Array,Function],default:Z(`popperShowTriggers`)},popperHideTriggers:{type:[Array,Function],default:Z(`popperHideTriggers`)},container:{type:[String,Object,Df,Boolean],default:Z(`container`)},boundary:{type:[String,Df],default:Z(`boundary`)},strategy:{type:String,validator:e=>[`absolute`,`fixed`].includes(e),default:Z(`strategy`)},autoHide:{type:[Boolean,Function],default:Z(`autoHide`)},handleResize:{type:Boolean,default:Z(`handleResize`)},instantMove:{type:Boolean,default:Z(`instantMove`)},eagerMount:{type:Boolean,default:Z(`eagerMount`)},popperClass:{type:[String,Array,Object],default:Z(`popperClass`)},computeTransformOrigin:{type:Boolean,default:Z(`computeTransformOrigin`)},autoMinSize:{type:Boolean,default:Z(`autoMinSize`)},autoSize:{type:[Boolean,String],default:Z(`autoSize`)},autoMaxSize:{type:Boolean,default:Z(`autoMaxSize`)},autoBoundaryMaxSize:{type:Boolean,default:Z(`autoBoundaryMaxSize`)},preventOverflow:{type:Boolean,default:Z(`preventOverflow`)},overflowPadding:{type:[Number,String],default:Z(`overflowPadding`)},arrowPadding:{type:[Number,String],default:Z(`arrowPadding`)},arrowOverflow:{type:Boolean,default:Z(`arrowOverflow`)},flip:{type:Boolean,default:Z(`flip`)},shift:{type:Boolean,default:Z(`shift`)},shiftCrossAxis:{type:Boolean,default:Z(`shiftCrossAxis`)},noAutoFocus:{type:Boolean,default:Z(`noAutoFocus`)},disposeTimeout:{type:Number,default:Z(`disposeTimeout`)}},emits:{show:()=>!0,hide:()=>!0,"update:shown":e=>!0,"apply-show":()=>!0,"apply-hide":()=>!0,"close-group":()=>!0,"close-directive":()=>!0,"auto-hide":()=>!0,resize:()=>!0},data(){return{isShown:!1,isMounted:!1,skipTransition:!1,classes:{showFrom:!1,showTo:!1,hideFrom:!1,hideTo:!0},result:{x:0,y:0,placement:``,strategy:this.strategy,arrow:{x:0,y:0,centerOffset:0},transformOrigin:null},randomId:`popper_${[Math.random(),Date.now()].map(e=>e.toString(36).substring(2,10)).join(`_`)}`,shownChildren:new Set,lastAutoHide:!0,pendingHide:!1,containsGlobalTarget:!1,isDisposed:!0,mouseDownContains:!1}},computed:{popperId(){return this.ariaId??this.randomId},shouldMountContent(){return this.eagerMount||this.isMounted},slotData(){return{popperId:this.popperId,isShown:this.isShown,shouldMountContent:this.shouldMountContent,skipTransition:this.skipTransition,autoHide:typeof this.autoHide==`function`?this.lastAutoHide:this.autoHide,show:this.show,hide:this.hide,handleResize:this.handleResize,onResize:this.onResize,classes:{...this.classes,popperClass:this.popperClass},result:this.positioningDisabled?null:this.result,attrs:this.$attrs}},parentPopper(){return this[Of]?.parentPopper},hasPopperShowTriggerHover(){return this.popperTriggers?.includes(`hover`)||this.popperShowTriggers?.includes(`hover`)}},watch:{shown:`$_autoShowHide`,disabled(e){e?this.dispose():this.init()},async container(){this.isShown&&(this.$_ensureTeleport(),await this.$_computePosition())},triggers:{handler:`$_refreshListeners`,deep:!0},positioningDisabled:`$_refreshListeners`,...[`placement`,`distance`,`skidding`,`boundary`,`strategy`,`overflowPadding`,`arrowPadding`,`preventOverflow`,`shift`,`shiftCrossAxis`,`flip`].reduce((e,t)=>(e[t]=`$_computePosition`,e),{})},created(){this.autoMinSize&&console.warn('[floating-vue] `autoMinSize` option is deprecated. Use `autoSize="min"` instead.'),this.autoMaxSize&&console.warn("[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.")},mounted(){this.init(),this.$_detachPopperNode()},activated(){this.$_autoShowHide()},deactivated(){this.hide()},beforeUnmount(){this.dispose()},methods:{show({event:e=null,skipDelay:t=!1,force:n=!1}={}){this.parentPopper?.lockedChild&&this.parentPopper.lockedChild!==this||(this.pendingHide=!1,(n||!this.disabled)&&(this.parentPopper?.lockedChild===this&&(this.parentPopper.lockedChild=null),this.$_scheduleShow(e,t),this.$emit(`show`),this.$_showFrameLocked=!0,requestAnimationFrame(()=>{this.$_showFrameLocked=!1})),this.$emit(`update:shown`,!0))},hide({event:e=null,skipDelay:t=!1}={}){if(!this.$_hideInProgress){if(this.shownChildren.size>0){this.pendingHide=!0;return}if(this.hasPopperShowTriggerHover&&this.$_isAimingPopper()){this.parentPopper&&(this.parentPopper.lockedChild=this,this.parentPopper.lockedChildTimer&&clearTimeout(this.parentPopper.lockedChildTimer),this.parentPopper.lockedChildTimer=setTimeout(()=>{this.parentPopper.lockedChild===this&&(this.parentPopper.lockedChild.hide({skipDelay:t}),this.parentPopper.lockedChild=null)},1e3));return}this.parentPopper?.lockedChild===this&&(this.parentPopper.lockedChild=null),this.pendingHide=!1,this.$_scheduleHide(e,t),this.$emit(`hide`),this.$emit(`update:shown`,!1)}},init(){this.isDisposed&&(this.isDisposed=!1,this.isMounted=!1,this.$_events=[],this.$_preventShow=!1,this.$_referenceNode=this.referenceNode?.call(this)??this.$el,this.$_targetNodes=this.targetNodes().filter(e=>e.nodeType===e.ELEMENT_NODE),this.$_popperNode=this.popperNode(),this.$_innerNode=this.$_popperNode.querySelector(`.v-popper__inner`),this.$_arrowNode=this.$_popperNode.querySelector(`.v-popper__arrow-container`),this.$_swapTargetAttrs(`title`,`data-original-title`),this.$_detachPopperNode(),this.triggers.length&&this.$_addEventListeners(),this.shown&&this.show())},dispose(){this.isDisposed||(this.isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.$_detachPopperNode(),this.isMounted=!1,this.isShown=!1,this.$_updateParentShownChildren(!1),this.$_swapTargetAttrs(`data-original-title`,`title`))},async onResize(){this.isShown&&(await this.$_computePosition(),this.$emit(`resize`))},async $_computePosition(){if(this.isDisposed||this.positioningDisabled)return;let e={strategy:this.strategy,middleware:[]};(this.distance||this.skidding)&&e.middleware.push(af({mainAxis:this.distance,crossAxis:this.skidding}));let t=this.placement.startsWith(`auto`);if(t?e.middleware.push(of({alignment:this.placement.split(`-`)[1]??``})):e.placement=this.placement,this.preventOverflow&&(this.shift&&e.middleware.push(sf({padding:this.overflowPadding,boundary:this.boundary,crossAxis:this.shiftCrossAxis})),!t&&this.flip&&e.middleware.push(cf({padding:this.overflowPadding,boundary:this.boundary}))),e.middleware.push(uf({element:this.$_arrowNode,padding:this.arrowPadding})),this.arrowOverflow&&e.middleware.push({name:`arrowOverflow`,fn:({placement:e,rects:t,middlewareData:n})=>{let r,{centerOffset:i}=n.arrow;return r=e.startsWith(`top`)||e.startsWith(`bottom`)?Math.abs(i)>t.reference.width/2:Math.abs(i)>t.reference.height/2,{data:{overflow:r}}}}),this.autoMinSize||this.autoSize){let t=this.autoSize?this.autoSize:this.autoMinSize?`min`:null;e.middleware.push({name:`autoSize`,fn:({rects:e,placement:n,middlewareData:r})=>{if(r.autoSize?.skip)return{};let i,a;return n.startsWith(`top`)||n.startsWith(`bottom`)?i=e.reference.width:a=e.reference.height,this.$_innerNode.style[t===`min`?`minWidth`:t===`max`?`maxWidth`:`width`]=i==null?null:`${i}px`,this.$_innerNode.style[t===`min`?`minHeight`:t===`max`?`maxHeight`:`height`]=a==null?null:`${a}px`,{data:{skip:!0},reset:{rects:!0}}}})}(this.autoMaxSize||this.autoBoundaryMaxSize)&&(this.$_innerNode.style.maxWidth=null,this.$_innerNode.style.maxHeight=null,e.middleware.push(lf({boundary:this.boundary,padding:this.overflowPadding,apply:({availableWidth:e,availableHeight:t})=>{this.$_innerNode.style.maxWidth=e==null?null:`${e}px`,this.$_innerNode.style.maxHeight=t==null?null:`${t}px`}})));let n=await df(this.$_referenceNode,this.$_popperNode,e);Object.assign(this.result,{x:n.x,y:n.y,placement:n.placement,strategy:n.strategy,arrow:{...n.middlewareData.arrow,...n.middlewareData.arrowOverflow}})},$_scheduleShow(e,t=!1){if(this.$_updateParentShownChildren(!0),this.$_hideInProgress=!1,clearTimeout(this.$_scheduleTimer),wf&&this.instantMove&&wf.instantMove&&wf!==this.parentPopper){wf.$_applyHide(!0),this.$_applyShow(!0);return}t?this.$_applyShow():this.$_scheduleTimer=setTimeout(this.$_applyShow.bind(this),this.$_computeDelay(`show`))},$_scheduleHide(e,t=!1){if(this.shownChildren.size>0){this.pendingHide=!0;return}this.$_updateParentShownChildren(!1),this.$_hideInProgress=!0,this.$_scheduleTimer&&clearTimeout(this.$_scheduleTimer),this.isShown&&(wf=this),t?this.$_applyHide():this.$_scheduleTimer=setTimeout(this.$_applyHide.bind(this),this.$_computeDelay(`hide`))},$_computeDelay(e){let t=this.delay;return parseInt(t&&t[e]||t||0)},async $_applyShow(e=!1){this.$_disposeTimer&&clearTimeout(this.$_disposeTimer),this.$_scheduleTimer&&clearTimeout(this.$_scheduleTimer),this.skipTransition=e,!this.isShown&&(this.$_ensureTeleport(),await Sf(),await this.$_computePosition(),await this.$_applyShowEffect(),this.positioningDisabled||this.$_registerEventListeners([...Ad(this.$_referenceNode),...Ad(this.$_popperNode)],`scroll`,()=>{this.$_computePosition()}))},async $_applyShowEffect(){if(this.$_hideInProgress)return;if(this.computeTransformOrigin){let e=this.$_referenceNode.getBoundingClientRect(),t=this.$_popperNode.querySelector(`.v-popper__wrapper`),n=t.parentNode.getBoundingClientRect(),r=e.x+e.width/2-(n.left+t.offsetLeft),i=e.y+e.height/2-(n.top+t.offsetTop);this.result.transformOrigin=`${r}px ${i}px`}this.isShown=!0,this.$_applyAttrsToTarget({"aria-describedby":this.popperId,"data-popper-shown":``});let e=this.showGroup;if(e){let t;for(let n=0;n<Cf.length;n++)t=Cf[n],t.showGroup!==e&&(t.hide(),t.$emit(`close-group`))}Cf.push(this),document.body.classList.add(`v-popper--some-open`);for(let e of hf(this.theme))Ef(e).push(this),document.body.classList.add(`v-popper--some-open--${e}`);this.$emit(`apply-show`),this.classes.showFrom=!0,this.classes.showTo=!1,this.classes.hideFrom=!1,this.classes.hideTo=!1,await Sf(),this.classes.showFrom=!1,this.classes.showTo=!0,this.noAutoFocus||this.$_popperNode.focus()},async $_applyHide(e=!1){if(this.shownChildren.size>0){this.pendingHide=!0,this.$_hideInProgress=!1;return}if(this.$_scheduleTimer&&clearTimeout(this.$_scheduleTimer),!this.isShown)return;this.skipTransition=e,xf(Cf,this),Cf.length===0&&document.body.classList.remove(`v-popper--some-open`);for(let e of hf(this.theme)){let t=Ef(e);xf(t,this),t.length===0&&document.body.classList.remove(`v-popper--some-open--${e}`)}wf===this&&(wf=null),this.isShown=!1,this.$_applyAttrsToTarget({"aria-describedby":void 0,"data-popper-shown":void 0}),this.$_disposeTimer&&clearTimeout(this.$_disposeTimer);let t=this.disposeTimeout;t!==null&&(this.$_disposeTimer=setTimeout(()=>{this.$_popperNode&&(this.$_detachPopperNode(),this.isMounted=!1)},t)),this.$_removeEventListeners(`scroll`),this.$emit(`apply-hide`),this.classes.showFrom=!1,this.classes.showTo=!1,this.classes.hideFrom=!0,this.classes.hideTo=!1,await Sf(),this.classes.hideFrom=!1,this.classes.hideTo=!0},$_autoShowHide(){this.shown?this.show():this.hide()},$_ensureTeleport(){if(this.isDisposed)return;let e=this.container;if(typeof e==`string`?e=window.document.querySelector(e):e===!1&&(e=this.$_targetNodes[0].parentNode),!e)throw Error(`No container for popover: ${this.container}`);e.appendChild(this.$_popperNode),this.isMounted=!0},$_addEventListeners(){let e=e=>{(!this.isShown||this.$_hideInProgress)&&(e.usedByTooltip=!0,!this.$_preventShow&&this.show({event:e}))};this.$_registerTriggerListeners(this.$_targetNodes,yf,this.triggers,this.showTriggers,e),this.$_registerTriggerListeners([this.$_popperNode],yf,this.popperTriggers,this.popperShowTriggers,e);let t=e=>{e.usedByTooltip||this.hide({event:e})};this.$_registerTriggerListeners(this.$_targetNodes,bf,this.triggers,this.hideTriggers,t),this.$_registerTriggerListeners([this.$_popperNode],bf,this.popperTriggers,this.popperHideTriggers,t)},$_registerEventListeners(e,t,n){this.$_events.push({targetNodes:e,eventType:t,handler:n}),e.forEach(e=>e.addEventListener(t,n,gf?{passive:!0}:void 0))},$_registerTriggerListeners(e,t,n,r,i){let a=n;r!=null&&(a=typeof r==`function`?r(a):r),a.forEach(n=>{let r=t[n];r&&this.$_registerEventListeners(e,r,i)})},$_removeEventListeners(e){let t=[];this.$_events.forEach(n=>{let{targetNodes:r,eventType:i,handler:a}=n;!e||e===i?r.forEach(e=>e.removeEventListener(i,a)):t.push(n)}),this.$_events=t},$_refreshListeners(){this.isDisposed||(this.$_removeEventListeners(),this.$_addEventListeners())},$_handleGlobalClose(e,t=!1){this.$_showFrameLocked||(this.hide({event:e}),e.closePopover?this.$emit(`close-directive`):this.$emit(`auto-hide`),t&&(this.$_preventShow=!0,setTimeout(()=>{this.$_preventShow=!1},300)))},$_detachPopperNode(){this.$_popperNode.parentNode&&this.$_popperNode.parentNode.removeChild(this.$_popperNode)},$_swapTargetAttrs(e,t){for(let n of this.$_targetNodes){let r=n.getAttribute(e);r&&(n.removeAttribute(e),n.setAttribute(t,r))}},$_applyAttrsToTarget(e){for(let t of this.$_targetNodes)for(let n in e){let r=e[n];r==null?t.removeAttribute(n):t.setAttribute(n,r)}},$_updateParentShownChildren(e){let t=this.parentPopper;for(;t;)e?t.shownChildren.add(this.randomId):(t.shownChildren.delete(this.randomId),t.pendingHide&&t.hide()),t=t.parentPopper},$_isAimingPopper(){let e=this.$_referenceNode.getBoundingClientRect();if(Rf>=e.left&&Rf<=e.right&&zf>=e.top&&zf<=e.bottom){let e=this.$_popperNode.getBoundingClientRect(),t=Rf-If,n=zf-Lf,r=e.left+e.width/2-If+(e.top+e.height/2)-Lf+e.width+e.height,i=If+t*r,a=Lf+n*r;return Bf(If,Lf,i,a,e.left,e.top,e.left,e.bottom)||Bf(If,Lf,i,a,e.left,e.top,e.right,e.top)||Bf(If,Lf,i,a,e.right,e.top,e.right,e.bottom)||Bf(If,Lf,i,a,e.left,e.bottom,e.right,e.bottom)}return!1}},render(){return this.$slots.default(this.slotData)}});if(typeof document<`u`&&typeof window<`u`){if(_f){let e=!gf||{passive:!0,capture:!0};document.addEventListener(`touchstart`,e=>Af(e,!0),e),document.addEventListener(`touchend`,e=>jf(e,!0),e)}else window.addEventListener(`mousedown`,e=>Af(e,!1),!0),window.addEventListener(`click`,e=>jf(e,!1),!0);window.addEventListener(`resize`,Ff)}function Af(e,t){if(ff.autoHideOnMousedown)Mf(e,t);else for(let t=0;t<Cf.length;t++){let n=Cf[t];try{n.mouseDownContains=n.popperNode().contains(e.target)}catch{}}}function jf(e,t){ff.autoHideOnMousedown||Mf(e,t)}function Mf(e,t){let n={};for(let r=Cf.length-1;r>=0;r--){let i=Cf[r];try{let r=Array.from(i.shownChildren).some(t=>{let n=Cf.find(e=>e.randomId===t);return n&&n.popperNode().contains(e.target)}),a=i.containsGlobalTarget=i.mouseDownContains||i.popperNode().contains(e.target)||r;i.pendingHide=!1,requestAnimationFrame(()=>{if(i.pendingHide=!1,!n[i.randomId]&&Nf(i,a,e)){if(i.$_handleGlobalClose(e,t),!e.closeAllPopover&&e.closePopover&&a){let e=i.parentPopper;for(;e;)n[e.randomId]=!0,e=e.parentPopper;return}let r=i.parentPopper;for(;r&&Nf(r,r.containsGlobalTarget,e);)r.$_handleGlobalClose(e,t),r=r.parentPopper}})}catch{}}}function Nf(e,t,n){return n.closeAllPopover||n.closePopover&&t||Pf(e,n)&&!t}function Pf(e,t){if(typeof e.autoHide==`function`){let n=e.autoHide(t);return e.lastAutoHide=n,n}return e.autoHide}function Ff(){for(let e=0;e<Cf.length;e++)Cf[e].$_computePosition()}var If=0,Lf=0,Rf=0,zf=0;typeof window<`u`&&window.addEventListener(`mousemove`,e=>{If=Rf,Lf=zf,Rf=e.clientX,zf=e.clientY},gf?{passive:!0}:void 0);function Bf(e,t,n,r,i,a,o,s){let c=((o-i)*(t-a)-(s-a)*(e-i))/((s-a)*(n-e)-(o-i)*(r-t)),l=((n-e)*(t-a)-(r-t)*(e-i))/((s-a)*(n-e)-(o-i)*(r-t));return c>=0&&c<=1&&l>=0&&l<=1}var Vf=R({extends:kf(),render(){var e;return X(`div`,{ref:`reference`,class:[`v-popper`,{"v-popper--shown":this.slotData.isShown}]},(e=this.$slots).default?.call(e,this.slotData))}}),Hf=(e=`theme`)=>({computed:{themeClass(){return mf(this[e])}}}),Uf=R({name:`VPopperContent`,mixins:[Hf()],props:{popperId:String,theme:String,shown:Boolean,mounted:Boolean,skipTransition:Boolean,autoHide:Boolean,handleResize:Boolean,classes:Object,result:Object},emits:[`hide`,`resize`],mounted(){this.handleResize&&(this.$_resizeObserver=new ResizeObserver(()=>this.$emit(`resize`)),this.$_resizeObserver.observe(this.$refs.inner))},beforeUnmount(){var e;(e=this.$_resizeObserver)==null||e.disconnect()},methods:{toPx(e){return e!=null&&!Number.isNaN(e)?`${e}px`:null}},render(){var e;let{autoHide:t,classes:n,result:r,shown:i}=this;return X(`div`,{id:this.popperId,ref:`popover`,"data-allow-mismatch":``,class:[`v-popper__popper`,this.themeClass,n.popperClass,{"v-popper__popper--shown":i,"v-popper__popper--hidden":!i,"v-popper__popper--show-from":n.showFrom,"v-popper__popper--show-to":n.showTo,"v-popper__popper--hide-from":n.hideFrom,"v-popper__popper--hide-to":n.hideTo,"v-popper__popper--skip-transition":this.skipTransition,"v-popper__popper--arrow-overflow":r&&r.arrow.overflow,"v-popper__popper--no-positioning":!r}],style:r?{position:r.strategy,transform:`translate3d(${Math.round(r.x)}px,${Math.round(r.y)}px,0)`}:void 0,"aria-hidden":i||t?`false`:`true`,tabindex:t?0:void 0,"data-popper-placement":r?r.placement:void 0,onKeyup:e=>{e.key===`Escape`&&t&&this.$emit(`hide`)}},[X(`div`,{class:`v-popper__backdrop`,onClick:()=>t&&this.$emit(`hide`)}),X(`div`,{class:`v-popper__wrapper`,style:r?{transformOrigin:r.transformOrigin}:void 0},[X(`div`,{ref:`inner`,class:`v-popper__inner`},this.mounted?[X(`div`,(e=this.$slots).default?.call(e))]:void 0),X(`div`,{ref:`arrow`,class:`v-popper__arrow-container`,style:r?{left:this.toPx(r.arrow.x),top:this.toPx(r.arrow.y)}:void 0},[X(`div`,{class:`v-popper__arrow-outer`}),X(`div`,{class:`v-popper__arrow-inner`})])])])}}),Wf={methods:{show(...e){return this.$refs.popper.show(...e)},hide(...e){return this.$refs.popper.hide(...e)},dispose(...e){return this.$refs.popper.dispose(...e)},onResize(...e){return this.$refs.popper.onResize(...e)}}},Gf=function(){};typeof window<`u`&&(Gf=window.Element);var Kf=R({name:`VPopperWrapper`,mixins:[Wf,Hf(`finalTheme`)],props:{theme:{type:String,default:null},referenceNode:{type:Function,default:null},shown:{type:Boolean,default:!1},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:void 0},positioningDisabled:{type:Boolean,default:void 0},placement:{type:String,default:void 0},delay:{type:[String,Number,Object],default:void 0},distance:{type:[Number,String],default:void 0},skidding:{type:[Number,String],default:void 0},triggers:{type:Array,default:void 0},showTriggers:{type:[Array,Function],default:void 0},hideTriggers:{type:[Array,Function],default:void 0},popperTriggers:{type:Array,default:void 0},popperShowTriggers:{type:[Array,Function],default:void 0},popperHideTriggers:{type:[Array,Function],default:void 0},container:{type:[String,Object,Gf,Boolean],default:void 0},boundary:{type:[String,Gf],default:void 0},strategy:{type:String,default:void 0},autoHide:{type:[Boolean,Function],default:void 0},handleResize:{type:Boolean,default:void 0},instantMove:{type:Boolean,default:void 0},eagerMount:{type:Boolean,default:void 0},popperClass:{type:[String,Array,Object],default:void 0},computeTransformOrigin:{type:Boolean,default:void 0},autoMinSize:{type:Boolean,default:void 0},autoSize:{type:[Boolean,String],default:void 0},autoMaxSize:{type:Boolean,default:void 0},autoBoundaryMaxSize:{type:Boolean,default:void 0},preventOverflow:{type:Boolean,default:void 0},overflowPadding:{type:[Number,String],default:void 0},arrowPadding:{type:[Number,String],default:void 0},arrowOverflow:{type:Boolean,default:void 0},flip:{type:Boolean,default:void 0},shift:{type:Boolean,default:void 0},shiftCrossAxis:{type:Boolean,default:void 0},noAutoFocus:{type:Boolean,default:void 0},disposeTimeout:{type:Number,default:void 0}},emits:{show:()=>!0,hide:()=>!0,"update:shown":e=>!0,"apply-show":()=>!0,"apply-hide":()=>!0,"close-group":()=>!0,"close-directive":()=>!0,"auto-hide":()=>!0,resize:()=>!0},computed:{finalTheme(){return this.theme??this.$options.vPopperTheme}},methods:{getTargetNodes(){return Array.from(this.$el.children).filter(e=>e!==this.$refs.popperContent.$el)}},render(){return X(Vf,{ref:`popper`,...this.$props,theme:this.finalTheme,targetNodes:this.getTargetNodes,popperNode:()=>this.$refs.popperContent.$el,class:[this.themeClass],onShow:()=>this.$emit(`show`),onHide:()=>this.$emit(`hide`),"onUpdate:shown":e=>this.$emit(`update:shown`,e),onApplyShow:()=>this.$emit(`apply-show`),onApplyHide:()=>this.$emit(`apply-hide`),onCloseGroup:()=>this.$emit(`close-group`),onCloseDirective:()=>this.$emit(`close-directive`),onAutoHide:()=>this.$emit(`auto-hide`),onResize:()=>this.$emit(`resize`)},{default:({popperId:e,isShown:t,shouldMountContent:n,skipTransition:r,autoHide:i,show:a,hide:o,handleResize:s,onResize:c,classes:l,result:u})=>{var d;return[(d=this.$slots).default?.call(d,{shown:t,show:a,hide:o}),X(Uf,{ref:`popperContent`,popperId:e,theme:this.finalTheme,shown:t,mounted:n,skipTransition:r,autoHide:i,handleResize:s,classes:l,result:u,onHide:o,onResize:c},{default:()=>{var e;return(e=this.$slots).popper?.call(e,{shown:t,hide:o})}})]}})}});function qf(e,t){return{...Kf,name:e,vPopperTheme:t}}qf(`VDropdown`,`dropdown`),qf(`VMenu`,`menu`),qf(`VTooltip`,`tooltip`);var Jf=kf(),Yf=R({name:`VTooltipDirective`,mixins:[Wf],inheritAttrs:!1,props:{theme:{type:String,default:`tooltip`},html:{type:Boolean,default:e=>pf(e.theme,`html`)},content:{type:[String,Number,Function],default:null},loadingContent:{type:String,default:e=>pf(e.theme,`loadingContent`)},targetNodes:{type:Function,required:!0}},data(){return{asyncContent:null}},computed:{isContentAsync(){return typeof this.content==`function`},loading(){return this.isContentAsync&&this.asyncContent==null},finalContent(){return this.isContentAsync?this.loading?this.loadingContent:this.asyncContent:this.content}},watch:{content:{handler(){this.fetchContent(!0)},immediate:!0},async finalContent(){await this.$nextTick(),this.$refs.popper.onResize()}},created(){this.$_fetchId=0},methods:{fetchContent(e){if(typeof this.content==`function`&&this.$_isShown&&(e||!this.$_loading&&this.asyncContent==null)){this.asyncContent=null,this.$_loading=!0;let e=++this.$_fetchId,t=this.content(this);t.then?t.then(t=>this.onResult(e,t)):this.onResult(e,t)}},onResult(e,t){e===this.$_fetchId&&(this.$_loading=!1,this.asyncContent=t)},onShow(){this.$_isShown=!0,this.fetchContent()},onHide(){this.$_isShown=!1}},render(){return X(Jf,{ref:`popper`,...this.$attrs,theme:this.theme,targetNodes:this.targetNodes,popperNode:()=>this.$refs.popperContent.$el,onApplyShow:this.onShow,onApplyHide:this.onHide},{default:({popperId:e,isShown:t,shouldMountContent:n,skipTransition:r,autoHide:i,hide:a,handleResize:o,onResize:s,classes:c,result:l})=>X(Uf,{ref:`popperContent`,class:{"v-popper--tooltip-loading":this.loading},popperId:e,theme:this.theme,shown:t,mounted:n,skipTransition:r,autoHide:i,handleResize:o,classes:c,result:l,onHide:a,onResize:s},{default:()=>this.html?X(`div`,{innerHTML:this.finalContent}):X(`div`,{textContent:this.finalContent})})})}}),Xf=`v-popper--has-tooltip`;function Zf(e,t){let n=e.placement;if(!n&&t)for(let e of vf)t[e]&&(n=e);return n||=pf(e.theme||`tooltip`,`placement`),n}function Qf(e,t,n){let r,i=typeof t;return r=i===`string`?{content:t}:t&&i===`object`?t:{content:!1},r.placement=Zf(r,n),r.targetNodes=()=>[e],r.referenceNode=()=>e,r}var $f,ep,tp=0;function np(){if($f)return;ep=F([]),$f=du({name:`VTooltipDirectiveApp`,setup(){return{directives:ep}},render(){return this.directives.map(e=>X(Yf,{...e.options,shown:e.shown||e.options.shown,key:e.id}))},devtools:{hide:!0}});let e=document.createElement(`div`);document.body.appendChild(e),$f.mount(e)}function rp(e,t,n){np();let r=F(Qf(e,t,n)),i=F(!1),a={id:tp++,options:r,shown:i};return ep.value.push(a),e.classList&&e.classList.add(Xf),e.$_popper={options:r,item:a,show(){i.value=!0},hide(){i.value=!1}}}function ip(e){if(e.$_popper){let t=ep.value.indexOf(e.$_popper.item);t!==-1&&ep.value.splice(t,1),delete e.$_popper,delete e.$_popperOldShown,delete e.$_popperMountTarget}e.classList&&e.classList.remove(Xf)}function ap(e,{value:t,modifiers:n}){let r=Qf(e,t,n);if(!r.content||pf(r.theme||`tooltip`,`disabled`))ip(e);else{let i;e.$_popper?(i=e.$_popper,i.options.value=r):i=rp(e,t,n),t.shown!==void 0&&t.shown!==e.$_popperOldShown&&(e.$_popperOldShown=t.shown,t.shown?i.show():i.hide())}}var op={beforeMount:ap,updated:ap,beforeUnmount(e){ip(e)}},sp=R({__name:`ActionIconButton`,props:{as:{},to:{},href:{},icon:{},tooltip:{},active:{type:Boolean},disabled:{type:Boolean},label:{},compact:{type:Boolean},activeClass:{}},setup(e){let t=e,n=Y(()=>t.as?t.as:t.href!=null||t.to!=null?`a`:`button`),r=Y(()=>n.value===`a`),i=Y(()=>n.value===`button`),a=Y(()=>t.compact?`btn-icon-compact`:`btn-icon`),o=Y(()=>t.compact?`w-auto! h-auto! p-[0.25em]`:`w-auto! h-auto! p-[0.5em]`),s=Y(()=>t.active?t.activeClass||`color-active bg-active op100`:``);return(t,c)=>mr((H(),W(ca(n.value),{type:i.value?`button`:void 0,class:A([a.value,o.value,s.value,{"pointer-events-none op-mute":e.disabled&&!i.value}]),href:r.value?e.href??e.to:void 0,to:e.as&&e.to!=null?e.to:void 0,disabled:i.value?e.disabled:void 0,"aria-disabled":e.disabled&&!i.value||void 0,"aria-label":e.label??e.tooltip,"aria-pressed":e.active||void 0},{default:L(()=>[e.icon?(H(),U(`span`,{key:0,class:A(e.icon),"aria-hidden":`true`},null,2)):J(``,!0),ma(t.$slots,`default`),ma(t.$slots,`badge`)]),_:3},8,[`type`,`class`,`href`,`to`,`disabled`,`aria-disabled`,`aria-label`,`aria-pressed`])),[[I(op),e.tooltip]])}});function cp(e){return typeof e==`string`?`'${e}'`:new fp().serialize(e)}var lp=` _-,;:!?.'"()[]{}@*/\\&#%\`^+<=>|~$0123456789abcdefghijklmnopqrstuvwxyz`,up=(function(){let e=new Uint8Array(128);for(let t=0;t<69;t++)e[lp.charCodeAt(t)]=t+1;for(let t=65;t<=90;t++)e[t]=e[t+32];return e})();function dp(e,t){if(e===t)return 0;let n=Math.min(e.length,t.length),r=0;for(let i=0;i<n;i++){let n=e.charCodeAt(i),a=t.charCodeAt(i);if(n===a)continue;let o=n<128&&up[n]?up[n]:n+128,s=a<128&&up[a]?up[a]:a+128;if(o!==s)return o<s?-1:1;r===0&&(r=n>a?-1:1)}return e.length===t.length?r:e.length<t.length?-1:1}var fp=(function(){class e{#e=new Map;compare(e,t){let n=typeof e,r=typeof t;return n===`string`&&r===`string`?dp(e,t):n===`number`&&r===`number`?e-t:dp(this.serialize(e,!0),this.serialize(t,!0))}serialize(e,t){if(e===null)return`null`;switch(typeof e){case`string`:return t?e:`'${e}'`;case`bigint`:return`${e}n`;case`object`:return this.$object(e);case`function`:return this.$function(e)}return String(e)}serializeObject(e){let t=Object.prototype.toString.call(e);if(t!==`[object Object]`)return this.serializeBuiltInType(t.length<10?`unknown:${t}`:t.slice(8,-1),e);let n=e.constructor,r=n===Object||n===void 0?``:n.name;if(r!==``&&globalThis[r]===n)return this.serializeBuiltInType(r,e);if(`toJSON`in e&&typeof e.toJSON==`function`){let t=e.toJSON();return r+(typeof t==`object`&&t?this.$object(t):`(${this.serialize(t)})`)}let i=Object.keys(e).sort(dp),a=`${r}{`;for(let t=0;t<i.length;t++){let n=i[t];a+=`${n}:${this.serialize(e[n])}`,t<i.length-1&&(a+=`,`)}return a+`}`}serializeBuiltInType(e,t){let n=this[`$`+e];if(n)return n.call(this,t);if(typeof t.entries==`function`)return this.serializeObjectEntries(e,t.entries());throw Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,t){let n=Array.from(t).sort((e,t)=>this.compare(e[0],t[0])),r=`${e}{`;for(let e=0;e<n.length;e++){let[t,i]=n[e];r+=`${this.serialize(t,!0)}:${this.serialize(i)}`,e<n.length-1&&(r+=`,`)}return r+`}`}$object(e){let t=this.#e.get(e);return t===void 0&&(this.#e.set(e,`#${this.#e.size}`),t=this.serializeObject(e),this.#e.set(e,t)),t}$function(e){let t=Function.prototype.toString.call(e);return t.slice(-15)===`[native code] }`?`${e.name||``}()[native]`:`${e.name}(${e.length})${t.replace(/\s*\n\s*/g,``)}`}$Array(e){let t=`[`;for(let n=0;n<e.length;n++)t+=this.serialize(e[n]),n<e.length-1&&(t+=`,`);return t+`]`}$Date(e){try{return`Date(${e.toISOString()})`}catch{return`Date(null)`}}$ArrayBuffer(e){return`ArrayBuffer[${new Uint8Array(e).join(`,`)}]`}$Set(e){return`Set${this.$Array(Array.from(e).sort((e,t)=>this.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries(`Map`,e.entries())}}for(let t of[`Error`,`RegExp`,`URL`])e.prototype[`$`+t]=function(e){return`${t}(${e})`};for(let t of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`,`)}]`};for(let t of[`BigInt64Array`,`BigUint64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`n,`)}${e.length>0?`n`:``}]`};return e})(),pp=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],mp=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],hp=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,gp=[],_p=class{_data=new vp;_hash=new vp([...pp]);_nDataBytes=0;_minBufferSize=0;finalize(e){e&&this._append(e);let t=this._nDataBytes*8,n=this._data.sigBytes*8;return this._data.words[n>>>5]|=128<<24-n%32,this._data.words[(n+64>>>9<<4)+14]=Math.floor(t/4294967296),this._data.words[(n+64>>>9<<4)+15]=t,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}_doProcessBlock(e,t){let n=this._hash.words,r=n[0],i=n[1],a=n[2],o=n[3],s=n[4],c=n[5],l=n[6],u=n[7];for(let n=0;n<64;n++){if(n<16)gp[n]=e[t+n]|0;else{let e=gp[n-15],t=(e<<25|e>>>7)^(e<<14|e>>>18)^e>>>3,r=gp[n-2],i=(r<<15|r>>>17)^(r<<13|r>>>19)^r>>>10;gp[n]=t+gp[n-7]+i+gp[n-16]}let d=s&c^~s&l,f=r&i^r&a^i&a,p=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),m=(s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25),h=u+m+d+mp[n]+gp[n],g=p+f;u=l,l=c,c=s,s=o+h|0,o=a,a=i,i=r,r=h+g|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+s|0,n[5]=n[5]+c|0,n[6]=n[6]+l|0,n[7]=n[7]+u|0}_append(e){typeof e==`string`&&(e=vp.fromUtf8(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes}_process(e){let t,n=this._data.sigBytes/64;n=e?Math.ceil(n):Math.max((n|0)-this._minBufferSize,0);let r=n*16,i=Math.min(r*4,this._data.sigBytes);if(r){for(let e=0;e<r;e+=16)this._doProcessBlock(this._data.words,e);t=this._data.words.splice(0,r),this._data.sigBytes-=i}return new vp(t,i)}},vp=class e{words;sigBytes;constructor(e,t){e=this.words=e||[],this.sigBytes=t===void 0?e.length*4:t}static fromUtf8(t){let n=unescape(encodeURIComponent(t)),r=n.length,i=[];for(let e=0;e<r;e++)i[e>>>2]|=(n.charCodeAt(e)&255)<<24-e%4*8;return new e(i,r)}toBase64(){let e=[];for(let t=0;t<this.sigBytes;t+=3){let n=this.words[t>>>2]>>>24-t%4*8&255,r=this.words[t+1>>>2]>>>24-(t+1)%4*8&255,i=this.words[t+2>>>2]>>>24-(t+2)%4*8&255,a=n<<16|r<<8|i;for(let n=0;n<4&&t*8+n*6<this.sigBytes*8;n++)e.push(hp.charAt(a>>>6*(3-n)&63))}return e.join(``)}concat(e){if(this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4),this.sigBytes%4)for(let t=0;t<e.sigBytes;t++){let n=e.words[t>>>2]>>>24-t%4*8&255;this.words[this.sigBytes+t>>>2]|=n<<24-(this.sigBytes+t)%4*8}else for(let t=0;t<e.sigBytes;t+=4)this.words[this.sigBytes+t>>>2]=e.words[t>>>2];this.sigBytes+=e.sigBytes}};function yp(e){return new _p().finalize(e).toBase64()}function bp(e){return yp(cp(e))}function xp(e,t){let n=typeof e==`string`&&!t?`${e}Context`:t,r=Symbol(n);return[t=>{let n=_r(r,t);if(n||n===null)return n;throw Error(`Injection \`${r.toString()}\` not found. Component must be used within ${Array.isArray(e)?`one of the following components: ${e.join(`, `)}`:`\`${e}\``}`)},e=>(gr(r,e),e)]}function Sp(){let e=document.activeElement;if(e==null)return null;for(;e!=null&&e.shadowRoot!=null&&e.shadowRoot.activeElement!=null;)e=e.shadowRoot.activeElement;return e}function Cp(e,t){return Pe()?(Fe(e,t),!0):!1}var wp=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var Tp=e=>e!==void 0,Ep=wp?window:void 0;wp&&window.document,wp&&window.navigator,wp&&window.location;function Dp(e){let t=fn(e);return t?.$el??t}function Op(){let e=cn(!1),t=js();return t&&Yi(()=>{e.value=!0},t),e}function kp(e){let t=Op();return Y(()=>(t.value,!!e()))}function Ap(e){return JSON.parse(JSON.stringify(e))}function jp(e,t,n={}){let{window:r=Ep,...i}=n,a,o=kp(()=>r&&`ResizeObserver`in r),s=()=>{a&&=(a.disconnect(),void 0)},c=wr(Y(()=>{let t=fn(e);return Array.isArray(t)?t.map(e=>Dp(e)):[Dp(t)]}),e=>{if(s(),o.value&&r){a=new ResizeObserver(t);for(let t of e)t&&a.observe(t,i)}},{immediate:!0,flush:`post`}),l=()=>{s(),c()};return Cp(l),{isSupported:o,stop:l}}function Mp(e,t,n,r={}){var i,a;let{clone:o=!1,passive:s=!1,eventName:c,deep:l=!1,defaultValue:u,shouldEmit:d}=r,f=js(),p=n||f?.emit||(f==null||(i=f.$emit)==null?void 0:i.bind(f))||(f==null||(a=f.proxy)==null||(a=a.$emit)==null?void 0:a.bind(f?.proxy)),m=c;t||=`modelValue`,m||=`update:${t.toString()}`;let h=e=>o?typeof o==`function`?o(e):Ap(e):e,g=()=>Tp(e[t])?h(e[t]):u,_=e=>{d?d(e)&&p(m,e):p(m,e)};if(s){let n=F(g()),r=!1;return wr(()=>e[t],e=>{r||(r=!0,n.value=h(e),Xn(()=>r=!1))}),wr(n,n=>{!r&&(n!==e[t]||l)&&_(n)},{deep:l}),n}return Y({get(){return g()},set(e){_(e)}})}function Np(e){return e?e.flatMap(e=>e.type===B?Np(e.children):[e]):[]}var[Pp,Fp]=xp(`ConfigProvider`);function Ip(e){let t=Pp({dir:F(`ltr`)});return Y(()=>e?.value||t.dir?.value||`ltr`)}function Lp(){let e=js(),t=F(),n=Y(()=>r());Zi(()=>{n.value!==r()&&dn(t)});function r(){return t.value&&`$el`in t.value&&[`#text`,`#comment`].includes(t.value.$el.nodeName)?t.value.$el.nextElementSibling:Dp(t)}let i=Object.assign({},e.exposed),a={};for(let t in e.props)Object.defineProperty(a,t,{enumerable:!0,configurable:!0,get:()=>e.props[t]});if(Object.keys(i).length>0)for(let e in i)Object.defineProperty(a,e,{enumerable:!0,configurable:!0,get:()=>i[e]});Object.defineProperty(a,"$el",{enumerable:!0,configurable:!0,get:()=>e.vnode.el}),e.exposed=a;function o(n){if(t.value=n,n&&(Object.defineProperty(a,"$el",{enumerable:!0,configurable:!0,get:()=>n instanceof Element?n:n.$el}),!(n instanceof Element)&&!Object.hasOwn(n,`$el`))){let t=n.$.exposed,r=Object.assign({},a);for(let e in t)Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:()=>t[e]});e.exposed=r}}return{forwardRef:o,currentRef:t,currentElement:n}}var Rp=0;function zp(e,t=`reka`){if(e)return e;let n,r=Pp({useId:void 0});return n=r.useId?r.useId():`useId`in _u?ri?.():`${++Rp}`,t?`${t}-${n}`:n}function Bp(e,t){let n=F(e);function r(e){return t[n.value][e]??n.value}return{state:n,dispatch:e=>{n.value=r(e)}}}function Vp(e,t){let n=F({}),r=F(`none`),i=F(e),a=e.value?`mounted`:`unmounted`,o,s=t.value?.ownerDocument.defaultView??Ep,{state:c,dispatch:l}=Bp(a,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}}),u=e=>{if(wp){let n=new CustomEvent(e,{bubbles:!1,cancelable:!1});t.value?.dispatchEvent(n)}};wr(e,async(e,i)=>{let a=i!==e;if(await Xn(),a){let a=r.value,o=Hp(t.value);e?(l(`MOUNT`),u(`enter`),o===`none`&&u(`after-enter`)):o===`none`||o===`undefined`||n.value?.display===`none`?(l(`UNMOUNT`),u(`leave`),u(`after-leave`)):i&&a!==o?(l(`ANIMATION_OUT`),u(`leave`)):(l(`UNMOUNT`),u(`after-leave`))}},{immediate:!0});let d=e=>{if(e.target!==t.value)return;let n=Hp(t.value),r=n.includes(CSS.escape(e.animationName)),a=c.value===`mounted`?`enter`:`leave`;if(r&&(u(`after-${a}`),l(`ANIMATION_END`),!i.value)){let e=t.value.style.animationFillMode;t.value.style.animationFillMode=`forwards`,o=s?.setTimeout(()=>{t.value?.style.animationFillMode===`forwards`&&(t.value.style.animationFillMode=e)})}n===`none`&&l(`ANIMATION_END`)},f=e=>{e.target===t.value&&(r.value=Hp(t.value))},p=wr(t,(e,t)=>{e?(n.value=getComputedStyle(e),e.addEventListener(`animationstart`,f),e.addEventListener(`animationcancel`,d),e.addEventListener(`animationend`,d)):(l(`ANIMATION_END`),o!==void 0&&s?.clearTimeout(o),t?.removeEventListener(`animationstart`,f),t?.removeEventListener(`animationcancel`,d),t?.removeEventListener(`animationend`,d))},{immediate:!0}),m=wr(c,()=>{let e=Hp(t.value);r.value=c.value===`mounted`?e:`none`});return $i(()=>{p(),m(),t.value&&(t.value.removeEventListener(`animationstart`,f),t.value.removeEventListener(`animationcancel`,d),t.value.removeEventListener(`animationend`,d)),o!==void 0&&s?.clearTimeout(o)}),{isPresent:Y(()=>[`mounted`,`unmountSuspended`].includes(c.value))}}function Hp(e){return e&&getComputedStyle(e).animationName||`none`}var Up=R({name:`Presence`,props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(e,{slots:t,expose:n}){let{present:r,forceMount:i}=_n(e),a=F(),{isPresent:o}=Vp(r,a);n({present:o});let s=t.default({present:o.value});s=Np(s||[]);let c=js();if(s&&s?.length>1){let e=c?.parent?.type.name?`<${c.parent.type.name} />`:`component`;throw Error([`Detected an invalid children for \`${e}\` for \`Presence\` component.`,``,"Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.",`You can apply a few solutions:`,["Provide a single child element so that `presence` directive attach correctly.",`Ensure the first child is an actual element instead of a raw text node or comment node.`].map(e=>` - ${e}`).join(`
5
5
  `)].join(`
6
6
  `))}return()=>i.value||r.value||o.value?X(t.default({present:o.value})[0],{ref:e=>{let t=Dp(e);return t?.hasAttribute===void 0||(t?.hasAttribute(`data-reka-popper-content-wrapper`)?a.value=t.firstElementChild:a.value=t),t}}):null}}),Wp=R({name:`PrimitiveSlot`,inheritAttrs:!1,setup(e,{attrs:t,slots:n}){return()=>{if(!n.default)return null;let e=Np(n.default()),r=e.findIndex(e=>e.type!==V);if(r===-1)return e;let i=e[r];delete i.props?.ref;let a=i.props?Ts(t,i.props):t,o=bs({...i,props:{}},a);return e.length===1?o:(e[r]=o,e)}}}),Gp=[`area`,`img`,`input`],Kp=R({name:`Primitive`,inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:`div`}},setup(e,{attrs:t,slots:n}){let r=e.asChild?`template`:e.as;return typeof r==`string`&&Gp.includes(r)?()=>X(r,t):r===`template`?()=>X(Wp,t,{default:n.default}):()=>X(e.as,t,{default:n.default})}});function qp(){let e=F();return{primitiveElement:e,currentElement:Y(()=>[`#text`,`#comment`].includes(e.value?.$el.nodeName)?e.value?.$el.nextElementSibling:Dp(e))}}var Jp=`data-reka-collection-item`;function Yp(e={}){let{key:t=``,isProvider:n=!1}=e,r=`${t}CollectionProvider`,i;n?(i={collectionRef:F(),itemMap:F(new Map)},gr(r,i)):i=_r(r);let a=(e=!1)=>{let t=i.collectionRef.value;if(!t)return[];let n=Array.from(t.querySelectorAll(`[${Jp}]`)),r=new Map(n.map((e,t)=>[e,t])),a=Array.from(i.itemMap.value.values()).sort((e,t)=>(r.get(e.ref)??-1)-(r.get(t.ref)??-1));return e?a:a.filter(e=>e.ref.dataset.disabled!==``)},o=R({name:`CollectionSlot`,inheritAttrs:!1,setup(e,{slots:t,attrs:n}){let{primitiveElement:r,currentElement:a}=qp();return wr(a,()=>{i.collectionRef.value=a.value}),()=>X(Wp,{ref:r,...n},t)}}),s=R({name:`CollectionItem`,inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(e,{slots:t,attrs:n}){let{primitiveElement:r,currentElement:a}=qp();return xr(t=>{if(a.value){let n=an(a.value);i.itemMap.value.set(n,{ref:a.value,value:e.value}),t(()=>i.itemMap.value.delete(n))}}),()=>X(Wp,{...n,[Jp]:``,ref:r},t)}});return{getItems:a,reactiveItems:Y(()=>Array.from(i.itemMap.value.values())),itemMapSize:Y(()=>i.itemMap.value.size),CollectionSlot:o,CollectionItem:s}}var Xp=`rovingFocusGroup.onEntryFocus`,Zp={bubbles:!1,cancelable:!0},Qp={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function $p(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function em(e,t,n){let r=$p(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return Qp[r]}function tm(e,t=!1){let n=Sp();for(let r of e)if(r===n||(r.focus({preventScroll:t}),Sp()!==n))return}function nm(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var[rm,im]=xp(`RovingFocusGroup`),am=R({__name:`RovingFocusGroup`,props:{orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},currentTabStopId:{type:[String,null],required:!1},defaultCurrentTabStopId:{type:String,required:!1},preventScrollOnEntryFocus:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`entryFocus`,`update:currentTabStopId`],setup(e,{expose:t,emit:n}){let r=e,i=n,{loop:a,orientation:o,dir:s}=_n(r),c=Ip(s),l=Mp(r,`currentTabStopId`,i,{defaultValue:r.defaultCurrentTabStopId,passive:r.currentTabStopId===void 0}),u=F(!1),d=F(!1),f=F(0),{getItems:p,CollectionSlot:m}=Yp({isProvider:!0});function h(e){let t=!d.value;if(e.currentTarget&&e.target===e.currentTarget&&t&&!u.value){let t=new CustomEvent(Xp,Zp);if(e.currentTarget.dispatchEvent(t),i(`entryFocus`,t),!t.defaultPrevented){let e=p().map(e=>e.ref).filter(e=>e.dataset.disabled!==``);tm([e.find(e=>e.getAttribute(`data-active`)===``),e.find(e=>e.getAttribute(`data-highlighted`)===``),e.find(e=>e.id===l.value),...e].filter(Boolean),r.preventScrollOnEntryFocus)}}d.value=!1}function g(){setTimeout(()=>{d.value=!1},1)}return t({getItems:p}),im({loop:a,dir:c,orientation:o,currentTabStopId:l,onItemFocus:e=>{l.value=e},onItemShiftTab:()=>{u.value=!0},onFocusableItemAdd:()=>{f.value++},onFocusableItemRemove:()=>{f.value--}}),(e,t)=>(H(),W(I(m),null,{default:L(()=>[K(I(Kp),{tabindex:u.value||f.value===0?-1:0,"data-orientation":I(o),as:e.as,"as-child":e.asChild,dir:I(c),style:{outline:`none`},onMousedown:t[0]||=e=>d.value=!0,onMouseup:g,onFocus:h,onBlur:t[1]||=e=>u.value=!1},{default:L(()=>[ma(e.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`as`,`as-child`,`dir`])]),_:3}))}}),om=R({__name:`RovingFocusItem`,props:{tabStopId:{type:String,required:!1},focusable:{type:Boolean,required:!1,default:!0},active:{type:Boolean,required:!1},allowShiftKey:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,n=rm(),r=zp(),i=Y(()=>t.tabStopId||r),a=Y(()=>n.currentTabStopId.value===i.value),{getItems:o,CollectionItem:s}=Yp();Yi(()=>{t.focusable&&n.onFocusableItemAdd()}),$i(()=>{t.focusable&&n.onFocusableItemRemove()}),wr(()=>t.focusable,(e,t)=>{e!==t&&(e?n.onFocusableItemAdd():n.onFocusableItemRemove())});function c(e){if(e.key===`Tab`&&e.shiftKey){n.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let r=em(e,n.orientation.value,n.dir.value);if(r!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||!t.allowShiftKey&&e.shiftKey)return;e.preventDefault();let i=[...o().map(e=>e.ref).filter(e=>e.dataset.disabled!==``)];if(r===`last`)i.reverse();else if(r===`prev`||r===`next`){r===`prev`&&i.reverse();let t=i.indexOf(e.currentTarget);i=n.loop.value?nm(i,t+1):i.slice(t+1)}Xn(()=>tm(i))}}return(e,t)=>(H(),W(I(s),null,{default:L(()=>[K(I(Kp),{tabindex:a.value?0:-1,"data-orientation":I(n).orientation.value,"data-active":e.active?``:void 0,"data-disabled":e.focusable?void 0:``,as:e.as,"as-child":e.asChild,onMousedown:t[0]||=t=>{e.focusable?I(n).onItemFocus(i.value):t.preventDefault()},onFocus:t[1]||=e=>I(n).onItemFocus(i.value),onKeydown:c},{default:L(()=>[ma(e.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`data-active`,`data-disabled`,`as`,`as-child`])]),_:3}))}}),[sm,cm]=xp(`TabsRoot`),lm=R({__name:`TabsRoot`,props:{defaultValue:{type:null,required:!1},orientation:{type:String,required:!1,default:`horizontal`},dir:{type:String,required:!1},activationMode:{type:String,required:!1,default:`automatic`},modelValue:{type:null,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,{orientation:i,unmountOnHide:a,dir:o}=_n(n),s=Ip(o);Lp();let c=Mp(n,`modelValue`,r,{defaultValue:n.defaultValue,passive:n.modelValue===void 0}),l=F(),u=cn(new Set);return cm({modelValue:c,changeModelValue:e=>{c.value=e},orientation:i,dir:s,unmountOnHide:a,activationMode:n.activationMode,baseId:zp(void 0,`reka-tabs`),tabsList:l,contentIds:u,registerContent:e=>{u.value=new Set([...u.value,e])},unregisterContent:e=>{let t=new Set(u.value);t.delete(e),u.value=t}}),(e,t)=>(H(),W(I(Kp),{dir:I(s),"data-orientation":I(i),"as-child":e.asChild,as:e.as},{default:L(()=>[ma(e.$slots,`default`,{modelValue:I(c)})]),_:3},8,[`dir`,`data-orientation`,`as-child`,`as`]))}});function um(e,t){return`${e}-trigger-${t}`}function dm(e,t){return`${e}-content-${t}`}var fm=R({__name:`TabsContent`,props:{value:{type:[String,Number],required:!0},forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{forwardRef:n}=Lp(),r=sm(),i=Y(()=>um(r.baseId,t.value)),a=Y(()=>dm(r.baseId,t.value)),o=Y(()=>t.value===r.modelValue.value),s=F(o.value);return Yi(()=>{r.registerContent(t.value),requestAnimationFrame(()=>{s.value=!1})}),Qi(()=>{r.unregisterContent(t.value)}),(e,t)=>(H(),W(I(Up),{present:e.forceMount||o.value,"force-mount":``},{default:L(({present:t})=>[K(I(Kp),{id:a.value,ref:I(n),"as-child":e.asChild,as:e.as,role:`tabpanel`,"data-state":o.value?`active`:`inactive`,"data-orientation":I(r).orientation.value,"aria-labelledby":i.value,hidden:!t,tabindex:`0`,style:me({animationDuration:s.value?`0s`:void 0})},{default:L(()=>[!I(r).unmountOnHide.value||t?ma(e.$slots,`default`,{key:0}):J(`v-if`,!0)]),_:2},1032,[`id`,`as-child`,`as`,`data-state`,`data-orientation`,`aria-labelledby`,`hidden`,`style`])]),_:3},8,[`present`]))}}),pm=R({__name:`TabsIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e,{expose:t}){let n=e,r=sm();t({updateIndicatorStyle:s}),Lp();let i=Op(),a=F({size:null,thickness:null,position:null}),o=F([]);wr(()=>[r.modelValue.value,r?.dir.value],()=>{s()},{immediate:!0,flush:`post`}),Sr(()=>{o.value=Array.from(r.tabsList.value?.querySelectorAll(`[role="tab"]`)||[])}),jp(Y(()=>[r.tabsList.value,...o.value]),s);function s(){let e=r.tabsList.value?.querySelector(`[role="tab"][data-state="active"]`);e&&(r.orientation.value===`horizontal`?a.value={size:e.offsetWidth,thickness:e.offsetHeight,position:e.offsetLeft}:a.value={size:e.offsetHeight,thickness:e.offsetWidth,position:e.offsetTop})}return(e,t)=>I(i)&&typeof a.value.size==`number`?(H(),W(I(Kp),Ts({key:0},n,{style:{"--reka-tabs-indicator-size":`${a.value.size}px`,"--reka-tabs-indicator-thickness":`${a.value.thickness}px`,"--reka-tabs-indicator-position":`${a.value.position}px`}}),{default:L(()=>[ma(e.$slots,`default`)]),_:3},16,[`style`])):J(`v-if`,!0)}}),mm=R({__name:`TabsList`,props:{loop:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let{loop:t}=_n(e),{forwardRef:n,currentElement:r}=Lp(),i=sm();return i.tabsList=r,(e,r)=>(H(),W(I(am),{"as-child":``,orientation:I(i).orientation.value,dir:I(i).dir.value,loop:I(t)},{default:L(()=>[K(I(Kp),{ref:I(n),role:`tablist`,"as-child":e.asChild,as:e.as,"aria-orientation":I(i).orientation.value},{default:L(()=>[ma(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`aria-orientation`])]),_:3},8,[`orientation`,`dir`,`loop`]))}}),hm=R({__name:`TabsTrigger`,props:{value:{type:[String,Number],required:!0},disabled:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,{forwardRef:n}=Lp(),r=sm(),i=Y(()=>um(r.baseId,t.value)),a=Y(()=>r.contentIds.value.has(t.value)?dm(r.baseId,t.value):void 0),o=Y(()=>t.value===r.modelValue.value);return(e,t)=>(H(),W(I(om),{"as-child":``,focusable:!e.disabled,active:o.value},{default:L(()=>[K(I(Kp),{id:i.value,ref:I(n),role:`tab`,type:e.as===`button`?`button`:void 0,as:e.as,"as-child":e.asChild,"aria-selected":o.value?`true`:`false`,"aria-controls":a.value,"data-state":o.value?`active`:`inactive`,disabled:e.disabled,"data-disabled":e.disabled?``:void 0,"data-orientation":I(r).orientation.value,onMousedown:t[0]||=tu(t=>{!e.disabled&&t.ctrlKey===!1?I(r).changeModelValue(e.value):t.preventDefault()},[`left`]),onKeydown:t[1]||=ru(t=>I(r).changeModelValue(e.value),[`enter`,`space`]),onFocus:t[2]||=()=>{let t=I(r).activationMode!==`manual`;!o.value&&!e.disabled&&t&&I(r).changeModelValue(e.value)}},{default:L(()=>[ma(e.$slots,`default`)]),_:3},8,[`id`,`type`,`as`,`as-child`,`aria-selected`,`aria-controls`,`data-state`,`disabled`,`data-disabled`,`data-orientation`])]),_:3},8,[`focusable`,`active`]))}}),gm={key:1,class:`text-micro font-mono px-1.5 rounded-full bg-active inline-flex h-5 min-w-5 items-center justify-center tabular-nums`},_m=R({__name:`LayoutTabs`,props:Pa({tabs:{},variant:{default:`underline`},lazy:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=no(e,`modelValue`);return(n,r)=>(H(),W(I(lm),{modelValue:t.value,"onUpdate:modelValue":r[0]||=e=>t.value=e,class:A(e.variant===`segment`?``:`border-b border-base`)},{default:L(()=>[K(I(mm),{class:A([`flex items-center relative`,e.variant===`segment`?`gap-1 p-1 rounded-lg bg-sunken w-max`:`gap-1`])},{default:L(()=>[(H(!0),U(B,null,fa(e.tabs,t=>(H(),W(I(hm),{key:t.value,value:t.value,as:t.href?`a`:`button`,href:t.href,disabled:t.disabled,class:A([`text-sm color-muted outline-none flex gap-1.5 transition items-center relative disabled:op50 focus-visible:ring-2 focus-visible:ring-primary-500/40`,e.variant===`segment`?`px-3 py-1 rounded-md data-[state=active]:bg-raised data-[state=active]:color-base data-[state=active]:shadow-sm`:`px-3 py-2 -mb-px border-b-2 border-transparent hover:color-base data-[state=active]:color-active data-[state=active]:border-primary-500 dark:data-[state=active]:border-primary-400`])},{default:L(()=>[t.icon?(H(),U(`span`,{key:0,class:A(t.icon),"aria-hidden":`true`},null,2)):J(``,!0),q(` `+j(t.label??t.value)+` `,1),t.count==null?J(``,!0):(H(),U(`span`,gm,j(t.count),1))]),_:2},1032,[`value`,`as`,`href`,`disabled`,`class`]))),128)),e.variant===`underline`?(H(),W(I(pm),{key:0,class:`rounded-full bg-primary-500 h-0.5 w-[--reka-tabs-indicator-size] translate-x-[--reka-tabs-indicator-position] transition-all duration-200 bottom-0 left-0 absolute`})):J(``,!0)]),_:1},8,[`class`]),ma(n.$slots,`default`),(H(!0),U(B,null,fa(e.tabs,t=>(H(),U(B,{key:`panel-${t.value}`},[n.$slots[t.value]?(H(),W(I(fm),{key:0,value:t.value,"force-mount":!e.lazy||void 0,class:`py-3 outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40`},{default:L(()=>[ma(n.$slots,t.value)]),_:2},1032,[`value`,`force-mount`])):J(``,!0)],64))),128))]),_:3},8,[`modelValue`,`class`]))}}),vm={key:0,class:`flex-1 min-w-0`},ym={key:1,class:`flex gap-1 items-center`},bm=R({__name:`LayoutToolbar`,props:{sticky:{type:Boolean,default:!0},glass:{type:Boolean,default:!0}},setup(e){return(t,n)=>(H(),U(`div`,{class:A([`px-3 py-2 border-b border-base flex gap-3 items-center`,[e.sticky?`sticky top-0 z-nav`:``,e.glass?`bg-glass`:`bg-base`]])},[ma(t.$slots,`start`,{},()=>[ma(t.$slots,`default`)]),t.$slots.search?(H(),U(`div`,vm,[ma(t.$slots,`search`)])):J(``,!0),t.$slots.end?(H(),U(`div`,ym,[ma(t.$slots,`end`)])):J(``,!0)],2))}});function xm(...e){return e.filter(Boolean).join(` `)}function Sm({variant:e=`primary`,size:t=`md`,class:n}={}){let r={primary:`btn-primary`,secondary:`btn-action`,outline:`btn-action`,ghost:`inline-flex items-center justify-center gap-1.5 rounded px2 py1 op75 hover:op100 hover:bg-active transition disabled:pointer-events-none disabled:op30!`,destructive:`btn-action text-error border-error/30!`,link:`inline-flex items-center gap-1.5 color-active hover:underline underline-offset-2`},i=t===`sm`?e===`primary`?`text-sm px-2.5! py-1!`:`text-sm`:t===`lg`?`text-base px-4! py-2!`:``;return xm(r[e],i,n)}var Cm={connecting:{label:`connecting…`,dot:`bg-neutral-400 animate-pulse`},disconnected:{label:`disconnected`,dot:`bg-error`},unauthorized:{label:`unauthorized`,dot:`bg-warning`},error:{label:`error`,dot:`bg-error`}};function wm(e,t){if(e===`connected`)return null;let n=Cm[e];return{label:n.label,dot:xm(`inline-block size-1.5 rounded-full shrink-0`,n.dot),class:xm(`flex items-center gap-1.5 shrink-0 text-xs color-muted select-none`,t)}}var Tm={connecting:{icon:`i-ph-plugs-connected-duotone`,title:`Connecting…`,body:`Establishing a connection to the devframe server.`,reloadable:!1,spin:!0},disconnected:{icon:`i-ph-plugs-duotone`,title:`Disconnected`,body:`Lost the connection to the devframe server. Reload once it is back up.`,reloadable:!0,spin:!1},unauthorized:{icon:`i-ph-lock-key-duotone`,title:`Not authorized`,body:`This client isn’t authorized. Reopen the link printed by your dev server, then reload.`,reloadable:!0,spin:!1},error:{icon:`i-ph-warning-octagon-duotone`,title:`Connection failed`,body:`Could not reach the devframe server.`,reloadable:!0,spin:!1}};function Em(e){return e===`connected`?null:Tm[e]}function Dm(e){return xm(`flex flex-col items-center justify-center gap-4 bg-base p-8 text-center`,e)}function Om(e=!1,t){return xm(`text-4xl color-active`,e&&`animate-pulse`,t)}function km(e){return xm(`text-lg font-medium color-base`,e)}function Am(e){return xm(`max-w-sm text-sm color-muted`,e)}function jm(e){return xm(`mt-1 max-w-sm break-words font-mono text-xs color-faint`,e)}var Mm=cn(null),Nm=F(!1);function Pm(e){Mm.value=e,Fe(()=>{Mm.value===e&&(Mm.value=null)})}function Fm(){async function e(){if(Mm.value&&!Nm.value){Nm.value=!0;try{await Mm.value()}finally{Nm.value=!1}}}return{refresh:e,loading:Nm}}var Q={bus:{agentManifestChanged:`agent:manifest:changed`,agentToolRegistered:`agent:tool:registered`,agentToolUnregistered:`agent:tool:unregistered`,agentResourceRegistered:`agent:resource:registered`,agentResourceUnregistered:`agent:resource:unregistered`},client:{isTrustedUpdated:`rpc:is-trusted:updated`,error:`rpc:error`,connectionStatus:`connection:status`,connectionError:`connection:error`},broadcast:{authRevoked:`devframe:auth:revoked`,clientStateUpdated:`devframe:rpc:client-state:updated`,clientStatePatch:`devframe:rpc:client-state:patch`,streamingChunk:`devframe:streaming:chunk`,streamingEnd:`devframe:streaming:end`,streamingUploadCancel:`devframe:streaming:upload-cancel`},inPageChannel:{panelStateUpdated:`devframe:in-page:panel-state:updated`,panelStatePatch:`devframe:in-page:panel-state:patch`},postMessage:{remoteAssetsError:`devframe:remote-assets-error`,inPageChannel:`devframe:in-page-channel`}},Im=`__connection.json`,Lm=`__DEVFRAME_CONNECTION__`,Rm=`x-birpc-session`,zm=`__rpc-dump/index.json`,Bm=`devframe:services`,Vm=`devframe_otp`,Hm=`devframe_auth_token`;Q.postMessage.remoteAssetsError;function Um(e){return bp(e)}var Wm=class{cacheMap=new Map;options;keySerializer;constructor(e){this.options=e,this.keySerializer=e.keySerializer||(e=>Um(e))}updateOptions(e){this.options={...this.options,...e}}cached(e,t){let n=this.cacheMap.get(e);if(n)return n.get(this.keySerializer(t))}has(e,t){return this.cacheMap.get(e)?.has(this.keySerializer(t))??!1}apply(e,t){let n=this.cacheMap.get(e.m)||new Map;n.set(this.keySerializer(e.a),t),this.cacheMap.set(e.m,n)}validate(e){return this.options.functions.includes(e)}clear(e){e?this.cacheMap.delete(e):this.cacheMap.clear()}};function Gm(e,t){let n=`\x1B[${e}m`,r=`\x1B[${t}m`;return((e,...t)=>{if(Array.isArray(e)&&`raw`in e){let i=e,a=``;for(let e=0;e<i.length;e++)a+=i[e],e<t.length&&(a+=String(t[e]));return`${n}${a}${r}`}return`${n}${String(e)}${r}`})}var Km={blue:Gm(34,39),cyan:Gm(36,39),gray:Gm(90,39),green:Gm(32,39),red:Gm(31,39),yellow:Gm(33,39),bold:Gm(1,22),dim:Gm(2,22),reset:Gm(0,0),underline:Gm(4,24)};function qm(e,...t){return typeof e==`function`?e(...t):e}var Jm=Error.captureStackTrace,Ym=class e extends Error{name;code;docs;fix;sources;get why(){return this.message}constructor(t,n=e){super(t.why,{cause:t.cause}),this.code=this.name=t.code,this.fix=t.fix,this.docs=t.docs,this.sources=t.sources,Jm?.(this,n)}toJSON(){return{name:this.name,why:this.why,fix:this.fix,docs:this.docs,sources:this.sources,cause:this.cause,stack:this.stack}}};function Xm(e,t){return typeof e==`string`?`${e}/${t.toLowerCase()}`:e?.(t)}function Zm(e){let t=e.reporters??[],n={},{docsBase:r}=e;for(let i of Object.keys(e.codes)){let a=e.codes[i],o=a.docs===!1?void 0:a.docs||Xm(r,i),s=(e={},n={})=>{let r=new Ym({code:i,why:qm(a.why,e),fix:qm(a.fix,e),docs:o,cause:e.cause,sources:e.sources},s);for(let e of t)e(r,n);return r};n[i]=s}return n}function Qm(e){return t=>{let n=`${e.bold(e.red(`[${t.name}]`))} ${t.message}`,r=[];return t.fix&&r.push(`${e.dim(`fix:`)} ${t.fix}`),t.sources?.length&&r.push(`${e.dim(`sources:`)} ${t.sources.join(`, `)}`),t.docs&&r.push(`${e.dim(`see:`)} ${e.cyan(t.docs)}`),r.length===0?n:[n,...r.map((t,n)=>`${e.dim(n<r.length-1?`├▶`:`╰▶`)} ${t}`)].join(`
7
- `)}}var $m=Qm(Km);function eh(e,{method:t=`warn`}={}){console[t]($m(e))}function th(e){return Zm({...e,reporters:[eh,...e.reporters??[]]})}var nh=th({docsBase:`https://devfra.me/errors`,codes:{DF0019:{why:e=>`RPC function "${e.name}" has \`agent\` set but \`jsonSerializable\` is \`false\`; MCP requires JSON-serializable data.`,fix:"Remove `jsonSerializable: false`, or remove `agent` to keep it RPC-only."},DF0020:{why:e=>`RPC function "${e.name}" declares \`jsonSerializable: true\` but the value at "${e.path}" is a ${e.type}.`,fix:"Either drop `jsonSerializable: true` (falls back to structured-clone) or change the value to a JSON-safe shape."},DF0021:{why:e=>`RPC function "${e.name}" is already registered`,fix:"Use the `force` parameter to overwrite an existing registration."},DF0022:{why:e=>`RPC function "${e.name}" is not registered. Use register() to add new functions.`},DF0023:{why:e=>`RPC function "${e.name}" is not registered`},DF0024:{why:e=>`Either handler or setup function must be provided for RPC function "${e.name}"`},DF0025:{why:e=>`Function "${e.name}" not found in dump store`},DF0026:{why:e=>`No dump match for "${e.name}" with args: ${e.args}`},DF0027:{why:e=>`Function "${e.name}" with type "${e.type}" cannot have dump configuration. Only "static" and "query" types support dumps.`},DF0028:{why:e=>`Function "${e.name}" with type "${e.type}" cannot use \`snapshot: true\`. Only "query" functions support this sugar; "static" functions have equivalent default behavior already.`,fix:"Remove `snapshot: true`, or change the function type to `query`."},DF0043:{why:e=>`RPC function "${e.name}" received an invalid argument at position ${e.index}: ${e.issues}`,fix:"Pass a value that satisfies the `args` schema declared for this function."},DF0044:{why:e=>`RPC function "${e.name}" returned a value that failed its \`returns\` schema: ${e.issues}`,fix:"Make the handler return a value that satisfies the `returns` schema, or relax the schema."}}});function rh(e){if(e.agent&&e.jsonSerializable===!1)throw nh.DF0019({name:e.name});e.agent&&!e.jsonSerializable&&(e.jsonSerializable=!0)}async function ih(e,t){let n=e[`~standard`].validate(t);return n instanceof Promise?await n:n}function ah(e){return e.map(e=>{let t=e.path?.map(e=>typeof e==`object`?e.key:e).join(`.`);return t?`${t}: ${e.message}`:e.message}).join(`; `)}async function oh(e,t,n){let r=n.slice();if(!t||t.length===0)return r;for(let r=0;r<t.length;r++){let i=t[r];if(!i)continue;let a=await ih(i,n[r]);if(a.issues)throw nh.DF0043({name:e,index:r,issues:ah(a.issues)})}return r}async function sh(e,t,n){if(!t)return n;let r=await ih(t,n);if(r.issues)throw nh.DF0044({name:e,issues:ah(r.issues)});return n}async function ch(e,t){if(!e.setup)return{};if(typeof t==`object`&&t){e.__cache??=new WeakMap;let n=e.__cache,r=n.get(t);return r||(r=Promise.resolve(e.setup(t)),r.catch(()=>{n.get(t)===r&&n.delete(t)}),n.set(t,r)),await r}if(!e.__promise){let n=Promise.resolve(e.setup(t));n.catch(()=>{e.__promise===n&&(e.__promise=void 0)}),e.__promise=n}return await e.__promise}async function lh(e,t){let n=e.handler;if(!n){let r=await ch(e,t);if(!r.handler)throw nh.DF0024({name:e.name});n=r.handler}let r=e.args,i=e.returns;if(!r&&!i)return n;let a=n;return async(...t)=>{let n=await oh(e.name,r,t),o=await a(...n);return await sh(e.name,i,o)}}var uh=class{context;definitions=new Map;functions;_onChanged=[];constructor(e){this.context=e;let t=this.definitions,n=this;this.functions=new Proxy({},{get(e,r){let i=t.get(r);if(i)return lh(i,n.context)},has(e,n){return t.has(n)},getOwnPropertyDescriptor(e,n){return{value:t.get(n)?.handler,configurable:!0,enumerable:!0}},ownKeys(){return Array.from(t.keys())}})}register(e,t=!1){if(this.definitions.has(e.name)&&!t)throw nh.DF0021({name:e.name});rh(e),this.definitions.set(e.name,e),this._onChanged.forEach(t=>t(e.name))}update(e,t=!1){if(!this.definitions.has(e.name)&&!t)throw nh.DF0022({name:e.name});rh(e),this.definitions.set(e.name,e),this._onChanged.forEach(t=>t(e.name))}onChanged(e){return this._onChanged.push(e),()=>{let t=this._onChanged.indexOf(e);t!==-1&&this._onChanged.splice(t,1)}}async getHandler(e){return await lh(this.definitions.get(e),this.context)}getSchema(e){let t=this.definitions.get(e);if(!t)throw nh.DF0023({name:String(e)});return{args:t.args,returns:t.returns}}has(e){return this.definitions.has(e)}get(e){return this.definitions.get(e)}list(){return Array.from(this.definitions.keys())}};function dh(e,t=``){return JSON.stringify(e,function(e,n){let r=this,i=r==null?n:r[e];if(i===void 0){if(Array.isArray(r))throw ph(t,`undefined`,r,e);return n}return i!==null&&fh(i,r,e,t),n})}function fh(e,t,n,r){if(typeof e==`bigint`)throw ph(r,`BigInt`,t,n);if(typeof e!=`object`)return;if(e instanceof Map)throw ph(r,`Map`,t,n);if(e instanceof Set)throw ph(r,`Set`,t,n);if(e instanceof Date)throw ph(r,`Date`,t,n);if(Array.isArray(e))return;let i=Object.getPrototypeOf(e);if(i!==null&&i!==Object.prototype)throw ph(r,e.constructor?.name??`class instance`,t,n)}function ph(e,t,n,r){let i=mh(n,r);return nh.DF0020({name:e||`<anonymous>`,type:t,path:i})}function mh(e,t){return Array.isArray(e)?`[${t}]`:t===``?`<root>`:t}function hh(){let e={};function t(t,...n){let r=e[t]||[];for(let e=0,t=r.length;e<t;e++){let t=r[e];t&&t(...n)}}function n(n,...r){t(n,...r),delete e[n]}function r(t,n){return(e[t]||=[]).push(n),()=>{e[t]=e[t]?.filter(e=>n!==e)}}function i(e,t){let n=r(e,((...e)=>(n(),t(...e))));return n}return{_listeners:e,emit:t,emitOnce:n,on:r,once:i}}String.fromCharCode;var gh=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,_h=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,vh=/^([/\\]\s*){2,}[^/\\]/,yh=/\/$|\/\?|\/#/,bh=/^\.?\//;function xh(e,t={}){return typeof t==`boolean`&&(t={acceptRelative:t}),t.strict?gh.test(e):_h.test(e)||(t.acceptRelative?vh.test(e):!1)}function Sh(e=``,t){return t?yh.test(e):e.endsWith(`/`)}function Ch(e=``,t){if(!t)return(Sh(e)?e.slice(0,-1):e)||`/`;if(!Sh(e,!0))return e||`/`;let n=e,r=``,i=e.indexOf(`#`);i!==-1&&(n=e.slice(0,i),r=e.slice(i));let[a,...o]=n.split(`?`);return((a.endsWith(`/`)?a.slice(0,-1):a)||`/`)+(o.length>0?`?${o.join(`?`)}`:``)+r}function wh(e=``,t){if(!t)return e.endsWith(`/`)?e:e+`/`;if(Sh(e,!0))return e||`/`;let n=e,r=``,i=e.indexOf(`#`);if(i!==-1&&(n=e.slice(0,i),r=e.slice(i),!n))return r;let[a,...o]=n.split(`?`);return a+`/`+(o.length>0?`?${o.join(`?`)}`:``)+r}function Th(e,t){if(Eh(t)||xh(e))return e;let n=Ch(t);if(e.startsWith(n)){let t=e[n.length];if(!t||t===`/`||t===`?`)return e}return Oh(n,e)}function Eh(e){return!e||e===`/`}function Dh(e){return e&&e!==`/`}function Oh(e,...t){let n=e||``;for(let e of t.filter(e=>Dh(e)))if(n){let t=e.replace(bh,``);n=wh(n)+t}else n=e;return n}function kh(e,t){let n=e.match(_h);return n||=e.match(/^\/{2,}/),n?t+e.slice(n[0].length):t+e}var Ah=`__DEVFRAME_CONNECTION_META__`,jh=`__DEVFRAME_CONNECTION_AUTH_TOKEN__`;function Mh(e){let t=[()=>window?.[e],()=>globalThis?.[e],()=>parent.window?.[e]];for(let e of t)try{let t=e();if(t)return t}catch{}}function Nh(){return Mh(Lm)}function Ph(){return Mh(Ah)}function Fh(e){if(e)return e;try{let e=localStorage.getItem(jh);if(e)return e}catch{}return Mh(jh)}function Ih(e){globalThis[Lm]=e,globalThis[Ah]={...e.connectionMeta,baseUrl:e.metaBaseUrl},e.authToken&&Lh(e.authToken)}function Lh(e){try{localStorage.setItem(jh,e)}catch{}globalThis[jh]=e;let t=Nh();t&&(globalThis[Lm]={...t,authToken:e})}function Rh(e){let t=Th(Im,e);try{return new URL(t,globalThis.location?.href).href}catch{return t}}function zh(e,t){return t&&t!==e.authToken?{...e,authToken:t}:e}function Bh(){let e=Nh();if(e)return zh(e,Fh()??e.authToken??e.connectionMeta.authToken);let t=Ph();if(t)return{connectionMeta:t,metaBaseUrl:t.baseUrl??Rh(`./`),authToken:Fh(t.authToken)}}async function Vh(e={}){if(e.connection){let t=zh(e.connection,Fh(e.authToken??e.connection.authToken??e.connection.connectionMeta.authToken));return Ih(t),t}let t=Array.isArray(e.baseURL)?e.baseURL:[e.baseURL??`./`];if(e.connectionMeta){let n={connectionMeta:e.connectionMeta,metaBaseUrl:Rh(t[0]??`./`),authToken:Fh(e.authToken??e.connectionMeta.authToken)};return Ih(n),n}let n=Bh();if(n){let t=zh(n,Fh(e.authToken??n.authToken??n.connectionMeta.authToken));return Ih(t),t}let r=[];for(let n of t){let t=Th(Im,n),i=Rh(n);try{let n=await fetch(t);if(!n.ok)throw Error(`Failed to fetch connection meta from ${i}: ${n.status}`);let r=await n.json(),a=n.url||i,o={connectionMeta:r,metaBaseUrl:r.baseUrl?new URL(r.baseUrl,a).href:a,authToken:Fh(e.authToken??r.authToken)};return Ih(o),o}catch(e){r.push(e)}}throw Error(`Failed to get connection meta from ${t.join(`, `)}`,{cause:r})}var Hh=class extends Error{name=`DevframeConnectionError`;kind;constructor(e,t,n){super(t,n),this.kind=e}};function Uh(e=Vm){try{let t=globalThis.location?.hash?.replace(/^#/,``)??``;return new URLSearchParams(t).get(e)||void 0}catch{return}}function Wh(e){try{let t=new URL(globalThis.location.href),n=new URLSearchParams(t.hash.replace(/^#/,``));if(!n.has(e))return;n.delete(e),t.hash=n.toString(),globalThis.history?.replaceState(globalThis.history.state,``,t.href)}catch{}}function Gh(e=Vm){let t=Uh(e);return t&&Wh(e),t}async function Kh(e,t={}){let n=Gh(t.param??`devframe_otp`);return n?e.isTrusted?!0:e.requestTrustWithCode(n):!1}function qh(e){let t={},n=new WeakMap,r,i=()=>(r??=e.sharedState.get(Bm,{initialValue:{}}).then(e=>(t=e.value(),e.on(`updated`,e=>{t=e}),e)),r);return i(),{state:i,has:e=>e in t,keys:()=>Object.keys(t),get:r=>{let i=t[r];if(!i)return;let a=n.get(i);return a||(a={...i,rpc:e.scope(i.scope).rpc},n.set(i,a)),a}}}var Jh=Symbol.for(`immer-nothing`),Yh=Symbol.for(`immer-draftable`),Xh=Symbol.for(`immer-state`);function Zh(e,...t){throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Qh=Object,$h=Qh.getPrototypeOf,eg=`constructor`,tg=`prototype`,ng=`configurable`,rg=`enumerable`,ig=`writable`,ag=`value`,og=e=>!!e&&!!e[Xh];function sg(e){return e?ug(e)||_g(e)||!!e[Yh]||!!e[eg]?.[Yh]||vg(e)||yg(e):!1}var cg=Qh[tg][eg].toString(),lg=new WeakMap;function ug(e){if(!e||!bg(e))return!1;let t=$h(e);if(t===null||t===Qh[tg])return!0;let n=Qh.hasOwnProperty.call(t,eg)&&t[eg];if(n===Object)return!0;if(!xg(n))return!1;let r=lg.get(n);return r===void 0&&(r=Function.toString.call(n),lg.set(n,r)),r===cg}function dg(e,t,n=!0){fg(e)===0?(n?Reflect.ownKeys(e):Qh.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function fg(e){let t=e[Xh];return t?t.type_:_g(e)?1:vg(e)?2:yg(e)?3:0}var pg=(e,t,n=fg(e))=>n===2?e.has(t):Qh[tg].hasOwnProperty.call(e,t),mg=(e,t,n=fg(e))=>n===2?e.get(t):e[t],hg=(e,t,n,r=fg(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function gg(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var _g=Array.isArray,vg=e=>e instanceof Map,yg=e=>e instanceof Set,bg=e=>typeof e==`object`,xg=e=>typeof e==`function`,Sg=e=>typeof e==`boolean`;function Cg(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var wg=e=>bg(e)?e?.[Xh]:null,Tg=e=>e.copy_||e.base_,Eg=e=>e.modified_?e.copy_:e.base_;function Dg(e,t){if(vg(e))return new Map(e);if(yg(e))return new Set(e);if(_g(e))return Array[tg].slice.call(e);let n=ug(e);if(t===!0||t===`class_only`&&!n){let t=Qh.getOwnPropertyDescriptors(e);delete t[Xh];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){let i=n[r],a=t[i];a[ig]===!1&&(a[ig]=!0,a[ng]=!0),(a.get||a.set)&&(t[i]={[ng]:!0,[ig]:!0,[rg]:a[rg],[ag]:e[i]})}return Qh.create($h(e),t)}{let t=$h(e);if(t!==null&&n)return{...e};let r=Qh.create(t);return Qh.assign(r,e)}}function Og(e,t=!1){return jg(e)||og(e)||!sg(e)?e:(fg(e)>1&&Qh.defineProperties(e,{set:Ag,add:Ag,clear:Ag,delete:Ag}),Qh.freeze(e),t&&dg(e,(e,t)=>{Og(t,!0)},!1),e)}function kg(){Zh(2)}var Ag={[ag]:kg};function jg(e){return e===null||!bg(e)||Qh.isFrozen(e)}var Mg=`MapSet`,Ng=`Patches`,Pg=`ArrayMethods`,Fg={};function Ig(e){let t=Fg[e];return t||Zh(0,e),t}var Lg=e=>!!Fg[e];function Rg(e,t){Fg[e]||(Fg[e]=t)}var zg,Bg=()=>zg,Vg=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:Lg(Mg)?Ig(Mg):void 0,arrayMethodsPlugin_:Lg(Pg)?Ig(Pg):void 0});function Hg(e,t){t&&(e.patchPlugin_=Ig(Ng),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Ug(e){Wg(e),e.drafts_.forEach(Kg),e.drafts_=null}function Wg(e){e===zg&&(zg=e.parent_)}var Gg=e=>zg=Vg(zg,e);function Kg(e){let t=e[Xh];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function qg(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[Xh].modified_&&(Ug(t),Zh(4)),sg(e)&&(e=Jg(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[Xh].base_,e,t)}else e=Jg(t,n);return Yg(t,e,!0),Ug(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===Jh?void 0:e}function Jg(e,t){if(jg(t))return t;let n=t[Xh];if(!n)return r_(t,e.handledSet_,e);if(!Zg(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);t_(n,e)}return n.copy_}function Yg(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Og(t,n)}function Xg(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var Zg=(e,t)=>e.scope_===t,Qg=[];function $g(e,t,n,r){let i=Tg(e),a=e.type_;if(r!==void 0&&mg(i,r,a)===t){hg(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;dg(i,(e,n)=>{if(og(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??Qg;for(let e of o)hg(i,e,n,a)}function e_(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!Zg(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=Eg(i);$g(e,i.draft_??i,a,n),t_(i,r)})}function t_(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}Xg(e)}}function n_(e,t,n){let{scope_:r}=e;if(og(n)){let i=n[Xh];Zg(i,r)&&i.callbacks_.push(function(){f_(e),$g(e,n,Eg(i),t)})}else sg(n)&&e.callbacks_.push(function(){let i=Tg(e);e.type_===3?i.has(n)&&r_(n,r.handledSet_,r):mg(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&r_(mg(e.copy_,t,e.type_),r.handledSet_,r)})}function r_(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||og(e)||t.has(e)||!sg(e)||jg(e)?e:(t.add(e),dg(e,(r,i)=>{if(og(i)){let t=i[Xh];Zg(t,n)&&(hg(e,r,Eg(t),e.type_),Xg(t))}else sg(i)&&r_(i,t,n)}),e)}function i_(e,t){let n=_g(e),r={type_:+!!n,scope_:t?t.scope_:Bg(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},i=r,a=a_;n&&(i=[r],a=o_);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var a_={get(e,t){if(t===Xh)return e;let n=e.scope_.arrayMethodsPlugin_,r=e.type_===1&&typeof t==`string`;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let i=Tg(e);if(!pg(i,t,e.type_))return l_(e,i,t);let a=i[t];if(e.finalized_||!sg(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&Cg(t))return a;if(a===s_(e.base_,t)||c_(e,t,a)){f_(e);let n=e.type_===1?+t:t,r=m_(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in Tg(e)},ownKeys(e){return Reflect.ownKeys(Tg(e))},set(e,t,n){let r=u_(Tg(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=s_(Tg(e),t),i=r?.[Xh];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(gg(n,r)&&(n!==void 0||pg(e.base_,t,e.type_)))return!0;f_(e),d_(e)}return e.copy_[t]===n&&(n!==void 0||pg(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t])?!0:(e.copy_[t]=n,e.assigned_.set(t,!0),n_(e,t,n),!0)},deleteProperty(e,t){return f_(e),s_(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),d_(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=Tg(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[ig]:!0,[ng]:e.type_!==1||t!==`length`,[rg]:r[rg],[ag]:n[t]}},defineProperty(){Zh(11)},getPrototypeOf(e){return $h(e.base_)},setPrototypeOf(){Zh(12)}},o_={};for(let e in a_){let t=a_[e];o_[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}o_.deleteProperty=function(e,t){return o_.set.call(this,e,t,void 0)},o_.set=function(e,t,n){return a_.set.call(this,e[0],t,n,e[0])};function s_(e,t){let n=e[Xh];return(n?Tg(n):e)[t]}function c_(e,t,n){return e.type_!==1||!e.allIndicesReassigned_||e.assigned_?.get(t)||!sg(n)||n[Xh]?!1:e.baseRefs_.has(n)}function l_(e,t,n){let r=u_(t,n);return r?ag in r?r[ag]:r.get?.call(e.draft_):void 0}function u_(e,t){if(!(t in e))return;let n=$h(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=$h(n)}}function d_(e){e.modified_||(e.modified_=!0,e.parent_&&d_(e.parent_))}function f_(e){e.copy_||=(e.assigned_=new Map,Dg(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var p_=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(xg(e)&&!xg(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}xg(t)||Zh(6),n!==void 0&&!xg(n)&&Zh(7);let r;if(sg(e)){let i=Gg(this),a=m_(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?Ug(i):Wg(i)}return Hg(i,n),qg(r,i)}if(!e||!bg(e)){if(r=t(e),r===void 0&&(r=e),r===Jh&&(r=void 0),this.autoFreeze_&&Og(r,!0),n){let t=[],i=[];Ig(Ng).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}Zh(1,e)},this.produceWithPatches=(e,t)=>{if(xg(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},Sg(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Sg(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Sg(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){sg(e)||Zh(8),og(e)&&(e=h_(e));let t=Gg(this),n=m_(t,e,void 0);return n[Xh].isManual_=!0,Wg(t),n}finishDraft(e,t){let n=e&&e[Xh];(!n||!n.isManual_)&&Zh(9);let{scope_:r}=n;return Hg(r,t),qg(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=Ig(Ng).applyPatches_;return og(e)?r(e,t):this.produce(e,e=>r(e,t))}};function m_(e,t,n,r){let[i,a]=vg(t)?Ig(Mg).proxyMap_(t,n):yg(t)?Ig(Mg).proxySet_(t,n):i_(t,n);return(n?.scope_??Bg()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?e_(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),i}function h_(e){return og(e)||Zh(10,e),g_(e)}function g_(e){if(!sg(e)||jg(e))return e;let t=e[Xh],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=Dg(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=Dg(e,!0);return dg(n,(e,t)=>{hg(n,e,g_(t))},r),t&&(t.finalized_=!1),n}function __(){function e(n,r=[]){if(n.key_!==void 0){let e=n.parent_.copy_??n.parent_.base_,t=wg(mg(e,n.key_)),i=mg(e,n.key_);if(i===void 0||i!==n.draft_&&i!==n.base_&&i!==n.copy_||t!=null&&t.base_!==n.base_)return null;let a=n.parent_.type_===3,o;if(a){let e=n.parent_;o=Array.from(e.drafts_.keys()).indexOf(n.key_)}else o=n.key_;if(!(a&&e.size>o||pg(e,o)))return null;r.push(o)}if(n.parent_)return e(n.parent_,r);r.reverse();try{t(n.copy_,r)}catch{return null}return r}function t(e,t){let n=e;for(let e=0;e<t.length-1;e++){let r=t[e];if(n=mg(n,r),!bg(n)||n===null)throw Error(`Cannot resolve path at '${t.join(`/`)}'`)}return n}let n=`replace`,r=`remove`;function i(e,t,n){if(e.scope_.processedForPatches_.has(e))return;e.scope_.processedForPatches_.add(e);let{patches_:r,inversePatches_:i}=n;switch(e.type_){case 0:case 2:return o(e,t,r,i);case 1:return a(e,t,r,i);case 3:return s(e,t,r,i)}}function a(e,t,i,a){let{base_:o,assigned_:s}=e,c=e.copy_;c.length<o.length&&([o,c]=[c,o],[i,a]=[a,i]);let l=e.allIndicesReassigned_===!0;for(let e=0;e<o.length;e++){let r=c[e],u=o[e];if((l||s?.get(e.toString()))&&r!==u){let o=r?.[Xh];if(o&&o.modified_)continue;let s=t.concat([e]);i.push({op:n,path:s,value:d(r)}),a.push({op:n,path:s,value:d(u)})}}for(let e=o.length;e<c.length;e++){let n=t.concat([e]);i.push({op:`add`,path:n,value:d(c[e])})}for(let e=c.length-1;o.length<=e;--e){let n=t.concat([e]);a.push({op:r,path:n})}}function o(e,t,i,a){let{base_:o,copy_:s,type_:c}=e;dg(e.assigned_,(e,l)=>{let u=mg(o,e,c),f=mg(s,e,c),p=l?pg(o,e)?n:`add`:r;if(u===f&&p===n)return;let m=t.concat(e);i.push(p===r?{op:p,path:m}:{op:p,path:m,value:d(f)}),a.push(p===`add`?{op:r,path:m}:p===r?{op:`add`,path:m,value:d(u)}:{op:n,path:m,value:d(u)})})}function s(e,t,n,i){let{base_:a,copy_:o}=e,s=0;a.forEach(e=>{if(!o.has(e)){let a=t.concat([s]);n.push({op:r,path:a,value:e}),i.unshift({op:`add`,path:a,value:e})}s++}),s=0,o.forEach(e=>{if(!a.has(e)){let a=t.concat([s]);n.push({op:`add`,path:a,value:e}),i.unshift({op:r,path:a,value:e})}s++})}function c(e,t,r){let{patches_:i,inversePatches_:a}=r;i.push({op:n,path:[],value:t===Jh?void 0:t}),a.push({op:n,path:[],value:e})}function l(e,t){return t.forEach(t=>{let{path:i,op:a}=t,o=e;for(let e=0;e<i.length-1;e++){let t=fg(o),n=i[e];typeof n!=`string`&&typeof n!=`number`&&(n=``+n),(t===0||t===1)&&(n===`__proto__`||n===eg)&&Zh(19),xg(o)&&n===tg&&Zh(19),o=mg(o,n),(o===null||!bg(o))&&Zh(18,i.join(`/`))}let s=fg(o),c=u(t.value),l=i[i.length-1];switch(a){case n:switch(s){case 2:return o.set(l,c);case 3:Zh(16);default:return o[l]=c}case`add`:switch(s){case 1:return l===`-`?o.push(c):o.splice(l,0,c);case 2:return o.set(l,c);case 3:return o.add(c);default:return o[l]=c}case r:switch(s){case 1:return o.splice(l,1);case 2:return o.delete(l);case 3:return o.delete(t.value);default:return delete o[l]}default:Zh(17,a)}}),e}function u(e){if(!sg(e))return e;if(_g(e))return e.map(u);if(vg(e))return new Map(Array.from(e.entries()).map(([e,t])=>[e,u(t)]));if(yg(e))return new Set(Array.from(e).map(u));let t=Object.create($h(e));for(let n in e)t[n]=u(e[n]);return pg(e,Yh)&&(t[Yh]=e[Yh]),t}function d(e){return og(e)?u(e):e}Rg(Ng,{applyPatches_:l,generatePatches_:i,generateReplacementPatches_:c,getPath:e})}globalThis.Iterator?.from;var v_=new p_,y_=v_.produce,b_=v_.produceWithPatches.bind(v_),x_=v_.applyPatches.bind(v_),S_=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function C_(e=21){let t=``,n=e;for(;n--;)t+=S_[Math.random()*64|0];return t}var w_=1e3;function T_(e,t){if(e.add(t),e.size>w_){let t=e.values().next().value;t!==void 0&&e.delete(t)}}function E_(e){let{enablePatches:t=!1}=e;t&&__();let n=hh(),r=e.initialValue,i=new Set;return{on:n.on,value:()=>r,patch:(e,t=C_())=>{i.has(t)||(__(),r=x_(r,e),T_(i,t),n.emit(`updated`,r,void 0,t))},mutate:(e,a=C_())=>{if(!i.has(a)){if(T_(i,a),t){let[t,i]=b_(r,e);if(t===r)return;r=t,n.emit(`updated`,r,i,a)}else{let t=y_(r,e);if(t===r)return;r=t,n.emit(`updated`,r,void 0,a)}}},syncIds:i}}function D_(e){let t=new Map,n=new Map,r=new Map,i=new Set,a=e.connectionMeta.backend===`static`;function o(e,t){let n=r.get(e);return n&&typeof n==`object`&&!Array.isArray(n)&&typeof t==`object`&&!Array.isArray(t)?{...n,...t}:t}e.client.register({name:Q.broadcast.clientStateUpdated,type:`event`,handler:(e,n,r)=>{let i=t.get(e);i&&!i.syncIds.has(r)&&i.mutate(()=>o(e,n),r)}}),e.client.register({name:Q.broadcast.clientStatePatch,type:`event`,handler:(e,n,r)=>{let i=t.get(e);i&&!i.syncIds.has(r)&&i.patch(n,r)}});function s(t,n){let r=[];return r.push(n.on(`updated`,(n,r,i)=>{a||(r?e.callEvent(`devframe:rpc:server-state:patch`,t,r,i):e.callEvent(`devframe:rpc:server-state:set`,t,n,i))})),()=>{for(let e of r)e()}}return{keys:()=>Array.from(t.keys()),onKeyAdded(e){return i.add(e),()=>{i.delete(e)}},delete(e){let i=n.get(e);n.delete(e);let a=t.delete(e);return r.delete(e),i?.(),a},get:async(c,l)=>{if(l?.initialValue!==void 0&&r.set(c,l.initialValue),t.has(c))return t.get(c);let u=E_({initialValue:l?.initialValue,enablePatches:!1});async function d(){if(a||e.callEvent(`devframe:rpc:server-state:subscribe`,c),l?.initialValue!==void 0){t.set(c,u);for(let e of i)e(c);return e.call(`devframe:rpc:server-state:get`,c).then(e=>{e!==void 0&&u.mutate(()=>o(c,e))}).catch(e=>{console.error(`Error getting server state`,e)}),n.set(c,s(c,u)),u}{let r=await e.call(`devframe:rpc:server-state:get`,c);u.mutate(()=>o(c,r)),t.set(c,u);for(let e of i)e(c);return n.set(c,s(c,u)),u}}return new Promise(t=>{if(e.isTrusted)d().then(t);else{t(u);let n=!1;e.events.on(Q.client.isTrustedUpdated,e=>{e&&!n&&(n=!0,d())})}})}}}var O_=typeof self==`object`?self:globalThis,k_=new Set([`Error`,`EvalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`,`AggregateError`]),A_=new Set([`Boolean`,`Number`,`String`,`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float16Array`,`Float32Array`,`Float64Array`,`BigInt64Array`,`BigUint64Array`]);function j_(e,t){let n=(t,n)=>(e.set(n,t),t),r=i=>{if(e.has(i))return e.get(i);let[a,o]=t[i];switch(a){case 0:case-1:return n(o,i);case 1:{let e=n([],i);for(let t of o)e.push(r(t));return e}case 2:{let e=n({},i);for(let[t,n]of o)e[r(t)]=r(n);return e}case 3:return n(new Date(o),i);case 4:{let{source:e,flags:t}=o;return n(new RegExp(e,t),i)}case 5:{let e=n(new Map,i);for(let[t,n]of o)e.set(r(t),r(n));return e}case 6:{let e=n(new Set,i);for(let t of o)e.add(r(t));return e}case 7:{let{name:e,message:t}=o,r=k_.has(e)?O_[e]:void 0;return n(new(r??O_.Error)(t),i)}case 8:return n(BigInt(o),i);case`BigInt`:return n(Object(BigInt(o)),i);case`ArrayBuffer`:return n(new Uint8Array(o).buffer,o);case`DataView`:{let{buffer:e}=new Uint8Array(o);return n(new DataView(e),o)}}if(typeof a==`string`&&A_.has(a))return n(new O_[a](o),i);throw TypeError(`unable to deserialize unsafe or unknown type: ${String(a)}`)};return r}function M_(e){return j_(new Map,e)(0)}var N_=``,{toString:P_}={},{keys:F_}=Object;function I_(e){let t=typeof e;if(t!==`object`||!e)return[0,t];let n=P_.call(e).slice(8,-1);switch(n){case`Array`:return[1,N_];case`Object`:return[2,N_];case`Date`:return[3,N_];case`RegExp`:return[4,N_];case`Map`:return[5,N_];case`Set`:return[6,N_];case`DataView`:return[1,n]}return n.includes(`Array`)?[1,n]:n.includes(`Error`)?[7,n]:[2,n]}function L_([e,t]){return e===0&&(t===`function`||t===`symbol`)}function R_(e,t,n,r){let i=(e,t)=>{let i=r.push(e)-1;return n.set(t,i),i},a=r=>{if(n.has(r))return n.get(r);let[o,s]=I_(r);switch(o){case 0:{let t=r;switch(s){case`bigint`:o=8,t=r.toString();break;case`function`:case`symbol`:if(e)throw TypeError(`unable to serialize ${s}`);t=null;break;case`undefined`:return i([-1],r)}return i([o,t],r)}case 1:{if(s){let e=r;return s===`DataView`?e=new Uint8Array(r.buffer):s===`ArrayBuffer`&&(e=new Uint8Array(r)),i([s,[...e]],r)}let e=[],t=i([o,e],r);for(let t of r)e.push(a(t));return t}case 2:{if(s)switch(s){case`BigInt`:return i([s,r.toString()],r);case`Boolean`:case`Number`:case`String`:return i([s,r.valueOf()],r)}if(t&&`toJSON`in r)return a(r.toJSON());let n=[],c=i([o,n],r);for(let t of F_(r))(e||!L_(I_(r[t])))&&n.push([a(t),a(r[t])]);return c}case 3:return i([o,r.toISOString()],r);case 4:{let{source:e,flags:t}=r;return i([o,{source:e,flags:t}],r)}case 5:{let t=[],n=i([o,t],r);for(let[n,i]of r)(e||!(L_(I_(n))||L_(I_(i))))&&t.push([a(n),a(i)]);return n}case 6:{let t=[],n=i([o,t],r);for(let n of r)(e||!L_(I_(n)))&&t.push(a(n));return n}}let{message:c}=r;return i([o,{name:s,message:c}],r)};return a}function z_(e,t={}){let n=[];return R_(!(t.json||t.lossy),!!t.json,new Map,n)(e),n}var{parse:B_,stringify:V_}=JSON,H_={json:!0,lossy:!0};function U_(e){return M_(B_(e))}function W_(e){return V_(z_(e,H_))}function G_(e){return M_(e)}function K_(e){return W_(e)}function q_(e){return U_(e)}var J_=new Map;function Y_(e=J_){let t=new Map;return{serialize:n=>{let r;return n.t===`q`?r=n.m:(r=t.get(n.i),t.delete(n.i)),!(n.t===`s`&&`e`in n)&&r&&e.get(r)?.jsonSerializable===!0?dh(n,r??``):`s:${K_(n)}`},deserialize:e=>{let n=e.startsWith(`s:`)?q_(e.slice(2)):JSON.parse(e);return n.t===`q`&&n.i&&n.m&&t.set(n.i,n.m),n}}}function X_(){}function Z_(e){let t=e.search(/\n\n|\r\n\r\n/);if(!(t<0))return{frame:e.slice(0,t),rest:e.slice(t+(e[t]===`\r`?4:2))}}function Q_(e){let t=`message`,n=[];for(let r of e.split(/\r?\n/))r.startsWith(`:`)||(r.startsWith(`event:`)?t=r.slice(6).trimStart():r.startsWith(`data:`)&&n.push(r.slice(5).replace(/^ /,``)));return{event:t,data:n}}function $_(e){let{onConnected:t=X_,onError:n=X_,onDisconnected:r=X_,definitions:i,fetch:a=globalThis.fetch.bind(globalThis)}=e,o=e.url;e.authToken&&(o=`${o}${o.includes(`?`)?`&`:`?`}${Hm}=${encodeURIComponent(e.authToken)}`);let s=Y_(i),c=new AbortController,l=!1,u,d,f,p,m=new Promise((e,t)=>{f=e,p=t});m.catch(()=>{});function h(e){l||(l=!0,p(e),n(e),r())}function g(){l||(l=!0,p(Error(`Devframe SSE stream closed`)),r())}function _(e,n){if(e===`session`){f(n),t();return}u?.(n)}async function v(e){let t=e.getReader();d=t;let n=new TextDecoder,r=``;for(;;){let{done:e,value:i}=await t.read();if(e)break;for(r+=n.decode(i,{stream:!0});;){let e=Z_(r);if(!e)break;r=e.rest;let{event:t,data:n}=Q_(e.frame);n.length>0&&_(t,n.join(`
8
- `))}}g()}return(async()=>{try{let e=await a(o,{headers:{accept:`text/event-stream`},signal:c.signal});if(!e.ok||!e.body)throw Error(`Devframe SSE stream request failed: ${e.status}`);await v(e.body)}catch(e){if(c.signal.aborted){g();return}h(e instanceof Error?e:Error(String(e)))}})(),{close:()=>{l=!0,c.abort(),d?.cancel().catch(()=>{})},on:e=>{u=e},post:async e=>{let t;try{t=await m}catch{return}if(l){n(Error(`Devframe SSE channel is closed; message dropped`));return}try{let n=await a(o,{method:`POST`,headers:{"content-type":`text/plain; charset=utf-8`,[Rm]:t},body:e});if(n.status===200){let e=await n.text();e&&u?.(e);return}if(!n.ok)throw Error(`Devframe SSE POST failed: ${n.status}`)}catch(e){n(e instanceof Error?e:Error(String(e)))}},serialize:s.serialize,deserialize:s.deserialize}}function ev(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var tv=Math.random.bind(Math),nv=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function rv(e=21){let t=``,n=e;for(;n--;)t+=nv[tv()*64|0];return t}var iv=6e4,av=e=>e,ov=av,{clearTimeout:sv,setTimeout:cv}=globalThis;function lv(e,t){let{post:n,on:r,off:i=()=>{},eventNames:a=[],serialize:o=av,deserialize:s=ov,resolver:c,bind:l=`rpc`,timeout:u=iv,proxify:d=!0}=t,f=!1,p=new Map,m,h;async function g(e,r,i,a){if(f)throw Error(`[birpc] rpc is closed, cannot call "${e}"`);let s={m:e,a:r,t:`q`};a&&(s.o=!0);let c=async e=>n(o(e));if(i){await c(s);return}if(m)try{await m}finally{m=void 0}let{promise:l,resolve:d,reject:g}=ev(),_=rv();s.i=_;let v;async function y(n=s){return u>=0&&(v=cv(()=>{try{if(t.onTimeoutError?.call(h,e,r)!==!0)throw Error(`[birpc] timeout on calling "${e}"`)}catch(e){g(e)}p.delete(_)},u),typeof v==`object`&&(v=v.unref?.())),p.set(_,{resolve:d,reject:g,timeoutId:v,method:e}),await c(n),l}try{t.onRequest?await t.onRequest.call(h,s,y,d):await y()}catch(e){if(t.onGeneralError?.call(h,e)!==!0)throw e;return}finally{sv(v),p.delete(_)}return l}let _={$call:(e,...t)=>g(e,t,!1),$callOptional:(e,...t)=>g(e,t,!1,!0),$callEvent:(e,...t)=>g(e,t,!0),$callRaw:e=>g(e.method,e.args,e.event,e.optional),$rejectPendingCalls:y,get $closed(){return f},get $meta(){return t.meta},$close:v,$functions:e};h=d?new Proxy({},{get(t,n){if(Object.hasOwn(_,n))return _[n];if(n===`then`&&!a.includes(`then`)&&!(`then`in e))return;let r=(...e)=>g(n,e,!0);if(a.includes(n))return r.asEvent=r,r;let i=(...e)=>g(n,e,!1);return i.asEvent=r,i}}):_;function v(e){f=!0,p.forEach(({reject:t,method:n})=>{let r=Error(`[birpc] rpc is closed, cannot call "${n}"`);if(e)return e.cause??=r,t(e);t(r)}),p.clear(),i(b)}function y(e){let t=Array.from(p.values()).map(({method:t,reject:n})=>e?e({method:t,reject:n}):n(Error(`[birpc]: rejected pending call "${t}".`)));return p.clear(),t}async function b(r,...i){let a;try{a=s(r)}catch(e){if(t.onGeneralError?.call(h,e)!==!0)throw e;return}if(a.t===`q`){let{m:r,a:s,o:u}=a,d,f,p=await(c?c.call(h,r,e[r]):e[r]);if(u&&(p||=()=>void 0),!p)f=Error(`[birpc] function "${r}" not found`);else try{d=await p.apply(l===`rpc`?h:e,s)}catch(e){f=e}if(a.i){if(f&&t.onFunctionError&&t.onFunctionError.call(h,f,r,s)===!0)return;if(!f)try{await n(o({t:`s`,i:a.i,r:d}),...i);return}catch(e){if(f=e,t.onGeneralError?.call(h,e,r,s)!==!0)throw e}try{await n(o({t:`s`,i:a.i,e:f}),...i)}catch(e){if(t.onGeneralError?.call(h,e,r,s)!==!0)throw e}}}else{let{i:e,r:t,e:n}=a,r=p.get(e);r&&(sv(r.timeoutId),n?r.reject(n):r.resolve(t)),p.delete(e)}}return m=r(b),h}function uv(e,t){let{channel:n,rpcOptions:r={}}=t;return lv(e,{...n,timeout:-1,...r,proxify:!1})}function dv(e){let{transport:t,authToken:n,connectionMeta:r,events:i,clientRpc:a,rpcOptions:o={},callTimeout:s=0}=e,c=!1,l=`connecting`,u=null,d=Promise.withResolvers();function f(e,t=null){if(t?u=t:e===`connected`&&(u=null),e===l)return;let n=l;l=e,i.emit(Q.client.connectionStatus,e,n)}let p=new Set;function m(e){for(let t of[...p])t.reject(e)}function h(){return l===`disconnected`||l===`error`?new Hh(`connection`,`[devframe] Not connected to the devframe server`,{cause:u??void 0}):l===`unauthorized`?new Hh(`auth`,`[devframe] Not authorized by the devframe server`,{cause:u??void 0}):null}function g(e,t){return new Promise((n,r)=>{let a=!1,o,c={reject(e){a||(l(),i.emit(Q.client.error,e,t),r(e))}};function l(){a=!0,p.delete(c),o&&clearTimeout(o)}p.add(c),s>0&&(o=setTimeout(()=>{c.reject(new Hh(`timeout`,`[devframe] RPC call "${t}" timed out after ${s}ms`))},s)),e.then(e=>{a||(l(),n(e))},e=>{if(a)return;l();let n=e instanceof Error?e:Error(String(e));i.emit(Q.client.error,n,t),r(n)})})}let _=new Map;for(let e of r.jsonSerializableMethods??[])_.set(e,{jsonSerializable:!0});let v=e.createChannel({definitions:_,onError(e){f(`error`,e),i.emit(Q.client.connectionError,e),m(new Hh(`connection`,`[devframe] Connection to the devframe server failed`,{cause:e}))},onDisconnected(){l!==`error`&&f(`disconnected`),m(new Hh(`connection`,`[devframe] Disconnected from the devframe server`,{cause:u??void 0}))}}),y=uv(a.functions,{channel:v,rpcOptions:o});a.register({name:Q.broadcast.authRevoked,type:`event`,handler:()=>{c=!1;let e=new Hh(`auth`,`[devframe] The devframe server revoked this client's trust`);f(`unauthorized`,e),i.emit(Q.client.connectionError,e),m(e),i.emit(Q.client.isTrustedUpdated,!1)}});let b=n;async function x(e){b=e;let t=await y.$call(`anonymous:devframe:auth`,{authToken:e,ua:navigator.userAgent,origin:location.origin});if(c=t.isTrusted,c)d.resolve(!0),f(`connected`);else{let e=new Hh(`auth`,`[devframe] The devframe server refused this client's credentials`);f(`unauthorized`,e),i.emit(Q.client.connectionError,e)}return i.emit(Q.client.isTrustedUpdated,c),t.isTrusted}async function S(e){let t=(await y.$call(`anonymous:devframe:auth:exchange`,{code:e,ua:navigator.userAgent,origin:location.origin}))?.authToken??null;return t&&(b=t,c=!0,d.resolve(!0),f(`connected`),i.emit(Q.client.isTrustedUpdated,!0)),t}async function C(e={}){await y.$call(`anonymous:devframe:auth:request-code`,{ua:navigator.userAgent,origin:location.origin,...e.reissue?{reissue:!0}:{}})}async function w(){return c?!0:x(b??``)}async function T(e=6e4){if(c&&d.resolve(!0),e<=0)return d.promise;let t;try{return await Promise.race([d.promise,new Promise((n,r)=>{t=setTimeout(()=>{r(Error(`[devframe] Timeout waiting for rpc to be trusted`))},e)})]),c}finally{clearTimeout(t)}}return{transport:t,get isTrusted(){return c},get status(){return l},get connectionError(){return u},requestTrust:w,requestTrustWithToken:x,requestTrustWithCode:S,requestAuthCode:C,ensureTrusted:T,call:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(Q.client.error,n,t),Promise.reject(n)):g(y.$call(...e),t)},callEvent:(...e)=>{let t=h();if(t){i.emit(Q.client.error,t,String(e[0]));return}return y.$callEvent(...e)},callOptional:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(Q.client.error,n,t),Promise.reject(n)):g(y.$callOptional(...e),t)},close:()=>{v.close()}}}function fv(e,t,n){let r=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})();if(e&&typeof e==`object`){if(e.host!=null||e.port!=null){let t=e.host??`${r.hostname}:${e.port}`;return new URL(e.path??`/`,`${r.protocol}//${t}`).href}return new URL(e.path??``,r).href}let i=e??``;return/^https?:\/\//i.test(i)?i:new URL(i,r).href}function pv(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},sseOptions:s={},callTimeout:c=0}=e,l=fv(n.sse,r??`./`,location);return dv({transport:`sse`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>$_({url:l,authToken:t,definitions:e.definitions,...s,onConnected(){s.onConnected?.()},onError(t){e.onError(t),s.onError?.(t)},onDisconnected(){e.onDisconnected(),s.onDisconnected?.()}})})}function mv(e){let{name:t,message:n,cause:r,...i}=e,a=r instanceof Error?r:hv(r)?mv(r):r,o=a===void 0?Error(n):Error(n,{cause:a});return o.name=t,Object.assign(o,i),o}function hv(e){return typeof e==`object`&&!!e&&typeof e.message==`string`&&typeof e.name==`string`}function gv(e){return typeof e==`object`&&!!e&&e.type===`static`&&typeof e.path==`string`}function _v(e){return typeof e==`object`&&!!e&&e.type===`query`&&typeof e.records==`object`&&e.records!==null}function vv(e){return typeof e==`object`&&!!e&&(`output`in e||`error`in e)}function yv(e){if(e.error)throw mv(e.error);return e.output}function bv(e){return e.some(e=>e!=null)}function xv(e){return typeof e==`object`&&e&&`serialization`in e&&`data`in e?e.data:e}function Sv(e,t){let n=new Map,r=new Map;function i(e,t){return t===`structured-clone`&&Array.isArray(e)?G_(e):e}function a(e,t){return i(xv(e),t)}async function o(e){n.has(e.path)||n.set(e.path,t(e.path).then(t=>a(t,e.serialization)));let r=await n.get(e.path);return vv(r)?yv(r):r}async function s(e,n){return r.has(e)||r.set(e,t(e).then(e=>a(e,n))),await r.get(e)}async function c(t,n){if(!(t in e))throw Error(`[devframe-rpc] Function "${t}" not found in dump store`);let r=e[t];if(gv(r)){if(bv(n))throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`);return await o(r)}if(_v(r)){let e=Um(n),i=r.records[e];if(i)return yv(await s(i,r.serialization));if(r.fallback)return yv(await s(r.fallback,r.serialization));throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}if(!bv(n))return r;throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}return{call:async(e,t)=>await c(e,t),callOptional:async(t,n)=>{if(t in e)return await c(t,n)},callEvent:async(e,t)=>{}}}async function Cv(e){let t=Sv(await e.fetchJsonFromBases(zm),e.fetchJsonFromBases);return{transport:`static`,isTrusted:!0,status:`connected`,connectionError:null,requestTrust:async()=>!0,requestTrustWithToken:async()=>!0,requestTrustWithCode:async()=>null,requestAuthCode:async()=>{},ensureTrusted:async()=>!0,call:(...e)=>t.call(e[0],e.slice(1)),callEvent:(...e)=>t.callEvent(e[0],e.slice(1)),callOptional:(...e)=>t.callOptional(e[0],e.slice(1)),close:()=>{}}}var wv=256,Tv=class extends Error{name=`StreamClosedError`};function Ev(e={}){let t=e.id??C_(),n=Math.max(0,e.replayWindow??0),r=hh(),i=new AbortController,a=[],o=!1,s=0;function c(e){if(o)throw new Tv(`Cannot write to a closed stream "${t}"`);s+=1,n>0&&(a.push({seq:s,chunk:e}),a.length>n&&(a.length-n===1?a.shift():a.splice(0,a.length-n))),r.emit(`chunk`,s,e)}function l(e){if(o)return;o=!0;let t=Ov(e);i.abort(e),r.emit(`end`,t)}function u(){o||(o=!0,i.signal.aborted||i.abort(`stream closed`),r.emit(`end`,void 0))}function d(e){o||i.signal.aborted||i.abort(e??`aborted`)}let f=new WritableStream({write(e){c(e)},close(){u()},abort(e){l(e)}});return{id:t,signal:i.signal,get closed(){return o},get lastSeq(){return s},write:c,error:l,close:u,abort:d,writable:f,events:r,buffer:a}}function Dv(e={}){let t=e.id??C_(),n=Math.max(1,e.highWaterMark??wv),r=[],i=0,a=!1,o=!1,s,c,l,u;function d(){if(c){if(r.length>0){let e=r.shift(),t=c;c=void 0,t.resolve({value:e,done:!1});return}if(a){let e=c;if(c=void 0,s){let t=Error(s.message);t.name=s.name,e.reject(t)}else e.resolve({value:void 0,done:!0})}}}function f(){if(l){for(;r.length>0;){let e=r.shift();try{l.enqueue(e)}catch{break}}if(a&&l){try{if(s){let e=Error(s.message);e.name=s.name,l.error(e)}else l.close()}catch{}l=void 0}}}function p(t,s){if(!(a||o)&&!(t<=i)){if(i=t,r.push(s),r.length>n){let t=r.length-n;r.splice(0,t),e.onOverflow?.(t)}d(),u&&f()}}function m(e){a||(a=!0,s=e,d(),u&&f())}function h(){o||a||(o=!0,e.onCancel?.(),m(void 0))}function g(){return u||(u=new ReadableStream({start(e){l=e,f()},cancel(){h()}}),u)}return{id:t,get cancelled(){return o},get done(){return a},get lastSeenSeq(){return i},get readable(){return g()},cancel:h,_push:p,_end:m,[Symbol.asyncIterator](){return{next(){if(r.length>0)return Promise.resolve({value:r.shift(),done:!1});if(a){if(s){let e=Error(s.message);return e.name=s.name,Promise.reject(e)}return Promise.resolve({value:void 0,done:!0})}return new Promise((e,t)=>{c={resolve:e,reject:t}})},return(){return h(),Promise.resolve({value:void 0,done:!0})}}}}}function Ov(e){if(e instanceof Error)return{name:e.name||`Error`,message:e.message};if(typeof e==`string`)return{name:`Error`,message:e};try{return{name:`Error`,message:JSON.stringify(e)}}catch{return{name:`Error`,message:String(e)}}}var kv=``;function Av(e,t){return`${e}${kv}${t}`}function jv(e){let t=new Map,n=new Map;e.client.register({name:Q.broadcast.streamingChunk,type:`event`,handler(e,n,r,i){t.get(Av(e,n))?._push(r,i)}}),e.client.register({name:Q.broadcast.streamingEnd,type:`event`,handler(e,n,r){let i=Av(e,n),a=t.get(i);a&&(a._end(r),t.delete(i))}}),e.client.register({name:Q.broadcast.streamingUploadCancel,type:`event`,handler(e,t){let r=Av(e,t),i=n.get(r);i&&(i.abort(`server cancelled upload`),n.delete(r))}}),e.events.on(Q.client.isTrustedUpdated,n=>{if(n)for(let[n,r]of t){if(r.cancelled||r.done)continue;let t=n.indexOf(kv);if(t<0)continue;let i=n.slice(0,t),a=n.slice(t+1);e.callEvent(`devframe:streaming:subscribe`,i,a,{afterSeq:r.lastSeenSeq})}});function r(n,r,i={}){let a=Av(n,r),o=t.get(a);if(o)return o;let s=Dv({id:r,highWaterMark:i.highWaterMark,onOverflow(e){console.warn(`[devframe] DF0029: Stream "${n}#${r}" dropped ${e} chunk(s) after exceeding the client high-water mark.`)},onCancel(){e.callEvent(`devframe:streaming:cancel`,n,r),t.delete(a)}});if(t.set(a,s),e.isTrusted)e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:0});else{let i=e.events.on(Q.client.isTrustedUpdated,o=>{o&&(i(),t.has(a)&&!s.cancelled&&!s.done&&e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:s.lastSeenSeq}))})}return s}function i(t,r){let i=Av(t,r),a=n.get(i);if(a)return a;let o=Ev({id:r});return o.events.on(`chunk`,(n,i)=>{e.callEvent(`devframe:streaming:upload-chunk`,t,r,n,i)}),o.events.on(`end`,a=>{e.callEvent(`devframe:streaming:upload-end`,t,r,a),n.delete(i)}),n.set(i,o),o}return{subscribe:r,upload:i}}function Mv(){}var Nv=new Map;function Pv(e){let t=e.url;e.authToken&&(t=`${t}?${Hm}=${encodeURIComponent(e.authToken)}`);let n=new WebSocket(t),{onConnected:r=Mv,onError:i=Mv,onDisconnected:a=Mv,definitions:o=Nv}=e;n.addEventListener(`open`,e=>{r(e)}),n.addEventListener(`error`,e=>{let t=e instanceof Error?e:Error(e.type);i(t)}),n.addEventListener(`close`,e=>{a(e)});let s=Y_(o);return{close:()=>{n.close()},on:e=>{n.addEventListener(`message`,t=>{e(t.data)})},post:e=>{if(n.readyState===WebSocket.OPEN){n.send(e);return}if(n.readyState===WebSocket.CONNECTING){let t=()=>{i(),n.readyState===WebSocket.OPEN&&n.send(e)},r=()=>i();function i(){n.removeEventListener(`open`,t),n.removeEventListener(`close`,r)}n.addEventListener(`open`,t),n.addEventListener(`close`,r);return}i(Error(`Devframe WebSocket is not open; message dropped`))},serialize:s.serialize,deserialize:s.deserialize}}function Fv(e,t,n){let r=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})(),i=r.protocol===`https:`?`wss:`:`ws:`;if(e&&typeof e==`object`){if(e.host!=null||e.port!=null){let t=e.host??`${r.hostname}:${e.port}`,n=new URL(e.path??`/`,`${i}//${t}`);return n.protocol=i,n.href}let t=new URL(e.path??``,r);return t.protocol=i,t.href}if(typeof e==`number`)return`${i}//${r.hostname}:${e}`;let a=e??``;if(/^wss?:\/\//i.test(a))return a;if(/^https?:\/\//i.test(a))return kh(a,/^https/i.test(a)?`wss://`:`ws://`);let o=new URL(a,r);return o.protocol=i,o.href}function Iv(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},wsOptions:s={},callTimeout:c=0}=e,l=Fv(n.websocket,r??`./`,location);return dv({transport:`websocket`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>Pv({url:l,authToken:t,definitions:e.definitions,...s,onConnected(e){s.onConnected?.(e)},onError(t){e.onError(t),s.onError?.(t)},onDisconnected(t){e.onDisconnected(),s.onDisconnected?.(t)}})})}function Lv(e){return e.includes(`:`)}function Rv(e,t){return Lv(t)?t:`${e}:${t}`}function zv(e){return{async get(t){return(await e()).value()[t]},async set(t,n){(await e()).mutate(e=>{e[t]=n})},async delete(t){(await e()).mutate(e=>{delete e[t]})},async all(){return(await e()).value()},async onChange(t){return(await e()).on(`updated`,e=>t(e))}}}function Bv(e,t,n){let r=`devframe:settings:${n}:${t}`,i;function a(){return i||=e.sharedState.get(r,{initialValue:{}}),i}return zv(a)}function Vv(e,t){return{global:Bv(e,t,`global`),project:Bv(e,t,`project`)}}function Hv(e,t){return{namespace:t,base:e,rpc:{namespace:t,register(n){if(Lv(n.name))throw Error(`[devframe] Scoped client RPC registration for namespace "${t}" received an already-namespaced function name "${n.name}". Pass a bare name without a ":" separator.`);e.client.register({...n,name:`${t}:${n.name}`})},call:((n,...r)=>e.call(Rv(t,n),...r)),callEvent:((n,...r)=>e.callEvent(Rv(t,n),...r)),callOptional:((n,...r)=>e.callOptional(Rv(t,n),...r)),sharedState:((n,r)=>e.sharedState.get(Rv(t,n),r)),streaming:{subscribe:(n,r,i)=>e.streaming.subscribe(Rv(t,n),r,i),upload:(n,r)=>e.streaming.upload(Rv(t,n),r)}},settings:Vv(e,t),scope:e.scope}}var Uv=128;function Wv(e){return e.replace(/[^\w-]+/g,`_`).slice(0,Uv)}var Gv=Object.freeze({type:`object`,additionalProperties:!0});function Kv(e){let t=e[`~standard`];if(t.jsonSchema)try{return t.jsonSchema.input({target:`draft-2020-12`})}catch{return Gv}return Gv}function qv(e){if(!e||e.length===0)return{type:`object`,properties:{}};let t={},n=[];for(let r=0;r<e.length;r++){let i=`arg${r}`;t[i]=Kv(e[r]),n.push(i)}return{type:`object`,properties:t,required:n,additionalProperties:!1}}function Jv(e,t){if(Array.isArray(e))return e;if(e==null)return[];if(typeof e!=`object`)return;let n=e;if(t!=null)return Array.from({length:t},(e,t)=>n[`arg${t}`]);if(`arg0`in n){let e=[];for(;`arg${e.length}`in n;)e.push(n[`arg${e.length}`]);return e}return Object.keys(n).length===0?[]:void 0}function Yv(e,t){return Jv(e,t)??[e]}function Xv(){if(typeof document<`u`){let e=document.modelContext;if(e)return e}if(typeof navigator<`u`){let e=navigator.modelContext;if(e)return e}}function Zv(e,t={}){let n=t.modelContext??Xv();if(!n)return()=>{};let r=n,i=new Map,a=new Map;function o(t,n){let o=Wv(t.name),s=a.get(o);if(s&&s!==t.name){console.warn(`[devframe] WebMCP tool name "${o}" (from "${t.name}") collides with "${s}"; keeping the first registration.`);return}let c=new AbortController,l=r.registerTool({name:o,description:n.description,inputSchema:qv(t.args),annotations:{title:n.title??t.name,readOnlyHint:Qv(t,n)===`read`,destructiveHint:Qv(t,n)===`destructive`},execute:n=>$v(t,e.context,n)},{signal:c.signal});l&&`then`in l&&l.then(()=>{},()=>{}),a.set(o,t.name),i.set(t.name,()=>{c.abort(),l&&`unregister`in l&&typeof l.unregister==`function`&&l.unregister(),a.delete(o)})}function s(t){let n=t?[t]:[...e.definitions.keys()];for(let t of n){i.get(t)?.(),i.delete(t);let n=e.definitions.get(t),r=n?.agent;n&&r&&o(n,r)}}s();let c=e.onChanged(e=>s(e));return()=>{c();for(let e of i.values())e();i.clear()}}function Qv(e,t){if(t.safety)return t.safety;let n=e.type??`query`;return n===`static`||n===`query`?`read`:`action`}async function $v(e,t,n){try{let r=Yv(n,e.args?.length);return{content:[{type:`text`,text:ey(await(await lh(e,t))(...r))}]}}catch(e){return{isError:!0,content:[{type:`text`,text:ty(e)}]}}}function ey(e){return e===void 0?`undefined`:typeof e==`string`?e:JSON.stringify(e,null,2)}function ty(e){if(!(e instanceof Error))return String(e);let t=e.cause instanceof Error?` (cause: ${e.cause.message})`:``;return`${e.name}: ${e.message}${t}`}function ny(e,t){if(t.backend===`static`)return`static`;let n=t.websocket!==void 0,r=t.sse!==void 0;if(e===`websocket`){if(!n)throw Error(`[devframe] transport: 'websocket' was requested, but this server does not advertise a WebSocket endpoint`);return`websocket`}if(e===`sse`){if(!r)throw Error(`[devframe] transport: 'sse' was requested, but this server does not advertise an SSE endpoint`);return`sse`}if(t.backend===`sse`&&r)return`sse`;if(n)return`websocket`;if(r)return`sse`;throw Error(`[devframe] This server advertises no RPC transport (backend "none"), so there is nothing to connect to. Enable the WebSocket or SSE endpoint on the server, or use its static/MCP surfaces instead.`)}async function ry(e={}){let{baseURL:t=`./`,rpcOptions:n={},cacheOptions:r=!1}=e,i=hh(),a=Array.isArray(t)?t:[t],o=await Vh(e),{connectionMeta:s,metaBaseUrl:c,authToken:l}=o,u=a[0]??`./`;try{u=new URL(`.`,c).href}catch{}let d=new Wm({functions:[],...typeof e.cacheOptions==`object`?e.cacheOptions:{}}),f={rpc:void 0},p=new uh(f),m=e.webmcp===!1?void 0:Zv(p);async function h(e){let t=[u,...a.filter(e=>e!==u)].filter(e=>e!=null),n=[];for(let r of t)try{return await fetch(Th(e,r)).then(t=>{if(!t.ok)throw Error(`Failed to fetch ${e} from ${r}: ${t.status}`);return t.json()})}catch(e){n.push(e)}throw Error(`Failed to load ${e} from ${t.join(`, `)}`,{cause:n})}let g={authToken:l,connectionMeta:s,metaBaseUrl:c,events:i,clientRpc:p,callTimeout:e.callTimeout,rpcOptions:{...n,async onRequest(e,t,i){if(await n.onRequest?.call(this,e,t,i),r&&d?.validate(e.m)){if(d.has(e.m,e.a))return i(d.cached(e.m,e.a));let n=await t(e);d.apply(e,n)}else await t(e)}}},_=ny(e.transport??`auto`,s),v=_===`static`?await Cv({fetchJsonFromBases:h}):_===`sse`?pv({...g,sseOptions:e.sseOptions}):Iv({...g,wsOptions:e.wsOptions}),y;try{y=new BroadcastChannel(`devframe-auth`)}catch{}let b,x=!1;function S(e){return((...t)=>x||!b?e(...t):b.then(()=>e(...t)))}function C(){try{m?.()}finally{try{y?.close()}finally{v.close?.()}}}let w={events:i,get isTrusted(){return v.isTrusted},get status(){return v.status},get connectionError(){return v.connectionError},get transport(){return v.transport??_},get connection(){return o},connectionMeta:s,ensureTrusted:v.ensureTrusted,requestTrust:v.requestTrust,requestTrustWithToken:async e=>(Lh(e),o={...o,authToken:e},v.requestTrustWithToken(e)),requestTrustWithCode:async e=>{let t=await v.requestTrustWithCode(e);if(!t)return!1;Lh(t),o={...o,authToken:t};try{y?.postMessage({type:`auth-update`,authToken:t})}catch{}return!0},requestAuthCode:e=>v.requestAuthCode(e),call:S(v.call),callEvent:S(v.callEvent),callOptional:S(v.callOptional),client:p,sharedState:void 0,services:void 0,streaming:void 0,cacheManager:d,scope:void 0,close:C};w.sharedState=D_(w),w.streaming=jv(w),w.services=qh(w);let T=new Map;w.scope=(e=>{if(!e)return w;let t=T.get(e);return t||(t=Hv(w,e),T.set(e,t)),t}),f.rpc=w;function E(){try{return typeof window<`u`&&window.self===window.top}catch{return!1}}async function D(){if(e.simpleAuth!==!1&&E()&&typeof globalThis.prompt==`function`)for(await w.requestAuthCode().catch(()=>{});!w.isTrusted;){let e=globalThis.prompt(`devframe: enter the authentication code shown in your terminal`);if(e==null)return;let t=e.trim();if(t&&await w.requestTrustWithCode(t))return}}async function ee(){let t=await v.requestTrust(),n=e.otpParam??`devframe_otp`,r=n?await Kh(w,{param:n}):!1;t||r||w.isTrusted||await D()}return b=ee().then(()=>{x=!0},()=>{x=!0}),y&&(y.onmessage=e=>{e.data?.type===`auth-update`&&e.data.authToken&&w.requestTrustWithToken(e.data.authToken)}),w}var iy=ry,ay=F([]),oy=F(!0),sy=1;function cy(e){oy.value&&ay.value.push({...e,id:sy++})}function ly(){ay.value=[]}var uy=Yt({connected:!1,status:`connecting`,error:null,backend:null}),dy=cn(null);function fy(e){let t=e.call.bind(e);e.call=async(e,...n)=>{let r=Date.now();try{let i=await t(e,...n);return!e.includes(`list-functions`)&&!e.includes(`list-state-keys`)&&e!==`devframe:rpc:server-state:get`&&cy({type:`call`,method:e,args:n,result:i,duration:Date.now()-r,time:r}),i}catch(t){throw!e.includes(`list-functions`)&&!e.includes(`list-state-keys`)&&e!==`devframe:rpc:server-state:get`&&cy({type:`call`,method:e,args:n,error:t,duration:Date.now()-r,time:r}),t}};let n=e.callEvent.bind(e);e.callEvent=(e,...t)=>(!e.includes(`list-functions`)&&!e.includes(`list-state-keys`)&&e!==`devframe:rpc:server-state:subscribe`&&cy({type:`call`,method:e,args:t,duration:0,time:Date.now()}),n(e,...t));let r=e.client.definitions.get(`devframe:rpc:client-state:updated`);if(r&&r.handler){let e=r.handler;r.handler=(t,n,r)=>(cy({type:`state`,key:t,value:n,syncId:r,time:Date.now()}),e(t,n,r))}let i=e.client.definitions.get(`devframe:rpc:client-state:patch`);if(i&&i.handler){let e=i.handler;i.handler=(t,n,r)=>(cy({type:`state`,key:t,patches:n,syncId:r,time:Date.now()}),e(t,n,r))}}function py(e){uy.status=e.status,uy.connected=e.status===`connected`,uy.error=e.connectionError?.message??null}async function my(){try{let e=await iy();fy(e),dy.value=e,uy.backend=e.connectionMeta.backend,py(e),e.events.on(`connection:status`,()=>py(e)),e.connectionMeta.backend===`websocket`&&e.ensureTrusted(5e3).catch(()=>{})}catch(e){uy.status=`error`,uy.error=e?.message??String(e)}}function hy(){return dy}function gy(){return uy.backend===`static`}var _y=R({__name:`FeedbackSpinner`,props:{size:{default:`1em`}},setup(e){let t=e,n=Y(()=>typeof t.size==`number`?`${t.size}px`:t.size);return(e,t)=>(H(),U(`span`,{class:`border-2 border-current border-t-transparent rounded-full inline-block animate-spin`,style:me({width:n.value,height:n.value}),role:`status`,"aria-label":`Loading`},null,4))}}),vy=R({__name:`ActionButton`,props:{as:{},to:{},href:{},icon:{},variant:{default:`action`},size:{default:`md`},loading:{type:Boolean},disabled:{type:Boolean}},setup(e){let t=e,n=Y(()=>t.as?t.as:t.href!=null||t.to!=null?`a`:`button`),r=Y(()=>n.value===`a`),i=Y(()=>n.value===`button`),a=Y(()=>t.size===`sm`),o=Y(()=>t.variant===`primary`?a.value?`btn-primary text-sm`:`btn-primary`:t.variant===`text`?a.value?`btn-text text-sm`:`btn-text`:a.value?`btn-action-sm`:`btn-action`),s=Y(()=>t.disabled||t.loading);return(t,a)=>(H(),W(ca(n.value),{class:A([o.value,{"pointer-events-none op-mute":s.value&&!i.value}]),href:r.value?e.href??e.to:void 0,to:e.as&&e.to!=null?e.to:void 0,disabled:i.value?s.value:void 0,"aria-disabled":s.value||void 0,"aria-busy":e.loading||void 0},{default:L(()=>[e.loading?(H(),W(_y,{key:0,size:`1em`})):e.icon?(H(),U(`span`,{key:1,class:A(e.icon),"aria-hidden":`true`},null,2)):J(``,!0),ma(t.$slots,`default`)]),_:3},8,[`class`,`href`,`to`,`disabled`,`aria-disabled`,`aria-busy`]))}}),yy={class:`min-w-0`},by=R({__name:`FeedbackTip`,props:{type:{default:`info`},icon:{}},setup(e){let t=e,n={info:`bg-blue-400/10 border-blue-500/20 text-blue-700 dark:text-blue-300`,success:`bg-green-400/10 border-green-500/20 text-green-700 dark:text-green-300`,warning:`bg-amber-400/10 border-amber-500/20 text-amber-700 dark:text-amber-300`,error:`bg-red-400/10 border-red-500/20 text-red-700 dark:text-red-300`},r=Y(()=>n[t.type]);return(t,n)=>(H(),U(`div`,{class:A([`text-sm p-3 border rounded-lg flex gap-2`,r.value]),role:`note`},[e.icon?(H(),U(`span`,{key:0,class:A([e.icon,`mt-0.5 shrink-0`]),"aria-hidden":`true`},null,2)):J(``,!0),G(`div`,yy,[ma(t.$slots,`default`)])],2))}}),xy={class:`json`},Sy={key:0,class:`json-key`},Cy={key:1,class:`json-colon`},wy={key:0,class:`json-key`},Ty={key:1,class:`json-colon`},Ey={class:`json-meta`},Dy={key:2},Oy={key:0,class:`json-key`},ky={key:1,class:`json-colon`},Ay={key:2,class:`json-meta`},jy={key:3,class:`json-meta`},My={key:0,class:`json-children`},Ny={key:1,class:`json-row`},Py={class:`json-meta`},$=R({__name:`JsonView`,props:{value:{},name:{},path:{default:``},depth:{default:0},expandDepth:{default:1},highlightPaths:{}},setup(e){let t=e,n=Y(()=>Array.isArray(t.value)?`array`:t.value!==null&&typeof t.value==`object`?`object`:`primitive`),r=Y(()=>n.value===`array`?t.value.map((e,t)=>[String(t),e]):n.value===`object`?Object.entries(t.value):[]),i=F(t.depth<t.expandDepth),a=Y(()=>r.value.length===0),o=Y(()=>!!t.path&&t.highlightPaths?.has(t.path));function s(e){return t.path?`${t.path}.${e}`:e}function c(e){return e==null?`v-null`:`v-${typeof e}`}function l(e){return e===void 0?`undefined`:e===null?`null`:typeof e==`string`?JSON.stringify(e):String(e)}let u=Y(()=>n.value===`array`?`[`:`{`),d=Y(()=>n.value===`array`?`]`:`}`),f=Y(()=>n.value===`array`?`[${r.value.length}]`:`{${r.value.length}}`);return(t,p)=>{let m=oa(`JsonView`,!0);return H(),U(`div`,xy,[n.value===`primitive`?(H(),U(`div`,{key:0,class:A([`json-row`,{changed:o.value}])},[e.name===void 0?J(``,!0):(H(),U(`span`,Sy,j(e.name),1)),e.name===void 0?J(``,!0):(H(),U(`span`,Cy,`:`)),G(`span`,{class:A(c(e.value))},j(l(e.value)),3)],2)):a.value?(H(),U(`div`,{key:1,class:A([`json-row`,{changed:o.value}])},[e.name===void 0?J(``,!0):(H(),U(`span`,wy,j(e.name),1)),e.name===void 0?J(``,!0):(H(),U(`span`,Ty,`:`)),G(`span`,Ey,j(u.value)+j(d.value),1)],2)):(H(),U(`div`,Dy,[G(`div`,{class:A([`json-row json-toggle`,{changed:o.value}]),onClick:p[0]||=e=>i.value=!i.value},[G(`span`,{class:A([`json-caret`,{open:i.value}])},`▶`,2),e.name===void 0?J(``,!0):(H(),U(`span`,Oy,j(e.name),1)),e.name===void 0?J(``,!0):(H(),U(`span`,ky,`:`)),i.value?(H(),U(`span`,Ay,j(u.value),1)):(H(),U(`span`,jy,j(f.value),1))],2),i.value?(H(),U(`div`,My,[(H(!0),U(B,null,fa(r.value,([t,n])=>(H(),W(m,{key:t,name:t,value:n,path:s(t),depth:e.depth+1,"expand-depth":e.expandDepth,"highlight-paths":e.highlightPaths},null,8,[`name`,`value`,`path`,`depth`,`expand-depth`,`highlight-paths`]))),128))])):J(``,!0),i.value?(H(),U(`div`,Ny,[G(`span`,Py,j(d.value),1)])):J(``,!0)]))])}}}),Fy={class:`pane`},Iy={key:0,class:`center`},Ly={class:`section-title`},Ry={key:0,class:`empty`},zy={key:1,class:`cards`},By=[`onClick`],Vy={class:`card-title`},Hy={class:`badge flag`},Uy={class:`id`},Wy={key:0,class:`id-note`},Gy={class:`desc`},Ky={key:1,class:`tags`},qy=[`onUpdate:modelValue`,`aria-invalid`,`aria-describedby`,`onInput`],Jy={style:{"margin-top":`8px`,display:`flex`,gap:`8px`,"align-items":`center`}},Yy={key:0,class:`note`},Xy={key:4,class:`result`},Zy={class:`result-head`},Qy={key:0,class:`ok`},$y={key:1,class:`fail`},eb={key:2,class:`muted`},tb={class:`section-title`},nb={key:2,class:`empty`},rb={key:3,class:`cards`},ib=[`onClick`],ab={class:`card-title`},ob={key:0,class:`badge flag`},sb={class:`id`},cb={key:0,class:`desc`},lb={style:{"margin-top":`8px`,display:`flex`,gap:`8px`,"align-items":`center`}},ub={key:0,class:`note`},db={key:0,class:`result`},fb={class:`result-head`},pb={key:0,class:`ok`},mb={key:1,class:`fail`},hb={key:2,class:`muted`},gb=R({__name:`AgentView`,props:{manifest:{},isStatic:{type:Boolean},results:{},pending:{}},emits:[`invoke`,`read`],setup(e,{emit:t}){let n=t,r=F(null),i=Yt({}),a=Yt({});function o(e){r.value=r.value===e?null:e,i[e]===void 0&&(i[e]=`{}`)}function s(e){let t;try{t=JSON.parse(i[e]||`{}`)}catch(t){a[e]=`Invalid JSON arguments: ${t.message}`;return}delete a[e],n(`invoke`,e,t)}function c(e){delete a[e]}function l(e){return`agent-invoke-error-${Wv(e)}`}function u(e){n(`read`,e)}return(t,n)=>(H(),U(`div`,Fy,[e.manifest?(H(),U(B,{key:1},[G(`div`,Ly,` Tools · `+j(e.manifest.tools.length),1),e.manifest.tools.length===0?(H(),U(`div`,Ry,` No agent-exposed tools. `)):(H(),U(`div`,zy,[(H(!0),U(B,null,fa(e.manifest.tools,t=>(H(),U(`div`,{key:t.id,class:`card`},[G(`div`,{class:`card-head`,style:{cursor:`pointer`,"user-select":`none`},onClick:e=>o(t.id)},[G(`div`,{class:A([`chev i-ph-caret-right`,{open:r.value===t.id}])},null,2),G(`span`,Vy,j(t.title),1),G(`span`,Hy,j(t.kind),1),G(`span`,{class:A([`badge`,`safety-${t.safety}`])},j(t.safety),3)],8,By),G(`div`,Uy,j(I(Wv)(t.id)),1),I(Wv)(t.id)===t.id?J(``,!0):(H(),U(`div`,Wy,` internal id: `+j(t.id),1)),G(`p`,Gy,j(t.description),1),t.tags&&t.tags.length?(H(),U(`div`,Ky,[(H(!0),U(B,null,fa(t.tags,e=>(H(),U(`span`,{key:e,class:`badge flag`},j(e),1))),128))])):J(``,!0),r.value===t.id?(H(),U(B,{key:2},[t.inputSchema?(H(),U(B,{key:0},[n[0]||=G(`div`,{class:`label`},` Input schema `,-1),K($,{value:t.inputSchema,"expand-depth":1},null,8,[`value`])],64)):J(``,!0),t.outputSchema?(H(),U(B,{key:1},[n[1]||=G(`div`,{class:`label`},` Output schema `,-1),K($,{value:t.outputSchema,"expand-depth":1},null,8,[`value`])],64)):J(``,!0),t.examples&&t.examples.length?(H(),U(B,{key:2},[n[2]||=G(`div`,{class:`label`},` Examples `,-1),K($,{value:t.examples,"expand-depth":1},null,8,[`value`])],64)):J(``,!0),n[3]||=G(`div`,{class:`label`},` Invoke (MCP format) `,-1),mr(G(`textarea`,{"onUpdate:modelValue":e=>i[t.id]=e,class:`args`,spellcheck:`false`,placeholder:`{}`,"aria-invalid":!!a[t.id],"aria-describedby":a[t.id]?l(t.id):void 0,onInput:e=>c(t.id)},null,40,qy),[[Bl,i[t.id]]]),a[t.id]?(H(),W(by,{key:3,id:l(t.id),class:`mt-2`,type:`error`,icon:`i-ph-warning-circle-duotone`,role:`alert`},{default:L(()=>[q(j(a[t.id]),1)]),_:2},1032,[`id`])):J(``,!0),G(`div`,Jy,[K(vy,{variant:`primary`,size:`sm`,icon:`i-ph-play-duotone`,loading:e.pending[t.id],disabled:e.pending[t.id]||e.isStatic,onClick:e=>s(t.id)},{default:L(()=>[q(j(e.pending[t.id]?`Invoking…`:`Invoke`),1)]),_:2},1032,[`loading`,`disabled`,`onClick`]),e.isStatic?(H(),U(`span`,Yy,`read-only static backend`)):J(``,!0)]),e.results[t.id]?(H(),U(`div`,Xy,[G(`div`,Zy,[e.results[t.id].ok?(H(),U(`span`,Qy,`✓ resolved`)):(H(),U(`span`,$y,`✕ threw`)),`durationMs`in e.results[t.id]?(H(),U(`span`,eb,j(e.results[t.id].durationMs)+`ms`,1)):J(``,!0)]),e.results[t.id].ok?(H(),W($,{key:0,value:e.results[t.id].result,"expand-depth":2},null,8,[`value`])):(H(),W($,{key:1,value:e.results[t.id].error,"expand-depth":2},null,8,[`value`]))])):J(``,!0)],64)):J(``,!0)]))),128))])),G(`div`,tb,` Resources · `+j(e.manifest.resources.length),1),e.manifest.resources.length===0?(H(),U(`div`,nb,` No agent-readable resources. `)):(H(),U(`div`,rb,[(H(!0),U(B,null,fa(e.manifest.resources,t=>(H(),U(`div`,{key:t.id,class:`card`},[G(`div`,{class:`card-head`,style:{cursor:`pointer`,"user-select":`none`},onClick:e=>o(t.id)},[G(`div`,{class:A([`chev i-ph-caret-right`,{open:r.value===t.id}])},null,2),G(`span`,ab,j(t.name),1),t.mimeType?(H(),U(`span`,ob,j(t.mimeType),1)):J(``,!0)],8,ib),G(`div`,sb,j(t.uri),1),t.description?(H(),U(`p`,cb,j(t.description),1)):J(``,!0),r.value===t.id?(H(),U(B,{key:1},[G(`div`,lb,[K(vy,{variant:`primary`,size:`sm`,icon:`i-ph-book-open-duotone`,loading:e.pending[t.id],disabled:e.pending[t.id]||e.isStatic,onClick:e=>u(t.id)},{default:L(()=>[q(j(e.pending[t.id]?`Reading…`:`Read Resource`),1)]),_:2},1032,[`loading`,`disabled`,`onClick`]),e.isStatic?(H(),U(`span`,ub,`read-only static backend`)):J(``,!0)]),e.results[t.id]?(H(),U(`div`,db,[G(`div`,fb,[e.results[t.id].ok?(H(),U(`span`,pb,`✓ resolved`)):(H(),U(`span`,mb,`✕ threw`)),`durationMs`in e.results[t.id]?(H(),U(`span`,hb,j(e.results[t.id].durationMs)+`ms`,1)):J(``,!0)]),e.results[t.id].ok?(H(),W($,{key:0,value:e.results[t.id].result,"expand-depth":2},null,8,[`value`])):(H(),W($,{key:1,value:e.results[t.id].error,"expand-depth":2},null,8,[`value`]))])):J(``,!0)],64)):J(``,!0)]))),128))]))],64)):(H(),U(`div`,Iy,` Loading agent surface… `))]))}}),_b=R({__name:`AgentSmart`,setup(e){let t=hy(),n=cn(null),r=Yt({}),i=Yt({});async function a(){t.value&&(n.value=await t.value.call(`devframes:plugin:inspect:describe-agent`))}Pm(a),Yi(a);async function o(e,n){if(t.value){i[e]=!0;try{r[e]=await t.value.call(`devframes:plugin:inspect:invoke-agent-tool`,e,n)}catch(t){let n=t;r[e]={ok:!1,error:{name:n?.name??`Error`,message:n?.message??String(t)}}}finally{i[e]=!1}}}async function s(e){if(t.value){i[e]=!0;try{r[e]=await t.value.call(`devframes:plugin:inspect:read-agent-resource`,e)}catch(t){let n=t;r[e]={ok:!1,error:{name:n?.name??`Error`,message:n?.message??String(t)}}}finally{i[e]=!1}}}return(e,t)=>(H(),W(gb,{manifest:n.value,"is-static":I(gy)(),results:r,pending:i,onInvoke:o,onRead:s},null,8,[`manifest`,`is-static`,`results`,`pending`]))}}),vb=Object.freeze({type:`object`,additionalProperties:!0}),yb=new Set([`query`,`static`]);function bb(e,t){let n=t.type??`query`,r;return t.agent&&(r={description:t.agent.description,title:t.agent.title,safety:t.agent.safety,tags:t.agent.tags}),{name:e,type:n,jsonSerializable:t.jsonSerializable===!0,snapshot:t.snapshot===!0,cacheable:t.cacheable===!0,hasArgs:!!t.args,hasReturns:!!t.returns,hasDump:!!t.dump,hasSetup:!!t.setup,hasHandler:!!t.handler,invokable:yb.has(n),agent:r,argsSchema:Cb(t.args),returnsSchema:Sb(t.returns)}}function xb(e){let t=e[`~standard`];if(!t.jsonSchema)return vb;try{return t.jsonSchema.input({target:`draft-2020-12`})}catch{return vb}}function Sb(e){if(e)return xb(e)}function Cb(e){if(e&&e.length!==0)return{type:`array`,prefixItems:e.map(e=>xb(e))}}function wb(e){let t=[];for(let[n,r]of e.definitions)t.push(bb(n,r));return t.sort((e,t)=>e.name.localeCompare(t.name)),t}async function Tb(e,t,n){let r=e.definitions.get(t);if(!r)return{ok:!1,error:{name:`Error`,message:`No client RPC function named "${t}" is registered.`},durationMs:0};let i=r.type??`query`;if(!yb.has(i))return{ok:!1,error:{name:`Error`,message:`"${t}" is a ${i} function; only read-only query/static functions are invoked.`},durationMs:0};let a=Date.now();try{return{ok:!0,result:await(await lh(r,e.context))(...n),durationMs:Date.now()-a}}catch(e){return{ok:!1,error:kb(e),durationMs:Date.now()-a}}}async function Eb(e,t=Xv()){if(t?.getTools)try{let e=(await t.getTools()).map(e=>({...e,inputSchema:Ob(e.inputSchema)}));return{available:!0,live:!0,executable:typeof t.executeTool==`function`,tools:e}}catch{}let n=[];for(let[t,r]of e.definitions)r.agent&&n.push({name:Wv(t),description:r.agent.description,source:t});return n.sort((e,t)=>e.name.localeCompare(t.name)),{available:!!t,live:!1,executable:!1,tools:n}}async function Db(e,t,n){let r=Date.now();try{if(!e.executeTool)throw Error(`This model context does not support executeTool().`);let i;try{i=await e.executeTool(t,JSON.stringify(n))}catch(r){if(!(r instanceof TypeError))throw r;i=await e.executeTool(t,n)}return{ok:!0,result:Ob(i),durationMs:Date.now()-r}}catch(e){return{ok:!1,error:kb(e),durationMs:Date.now()-r}}}function Ob(e){if(typeof e!=`string`)return e;try{return JSON.parse(e)}catch{return e}}function kb(e){let t=e;return{name:t?.name??`Error`,message:t?.message??String(e),stack:t?.stack}}function Ab(e,t=1){let n=0;for(let t=0;t<e.length;t++)n=e.charCodeAt(t)+((n<<5)-n);return jb(n%360,t)}function jb(e,t=1){return`hsla(${e}, 60%, 50%, ${t})`}function Mb(e){let t=e.split(/([:/])/),n=[],r=``;for(let e=0;e<t.length;e+=2){let i=t[e]??``,a=t[e+1]??``;if(i===``&&a===``)continue;r+=i;let o=a===``;n.push({text:i,separator:a,isLeaf:o,color:o?void 0:Ab(r)}),r+=a}return n}var Nb=[`title`],Pb={key:0,class:`ns-sep`},Fb=R({__name:`FunctionName`,props:{name:{}},setup(e){let t=e,n=Y(()=>Mb(t.name));return(t,r)=>(H(),U(`span`,{class:`fn-name`,title:e.name},[(H(!0),U(B,null,fa(n.value,(e,t)=>(H(),U(B,{key:t},[G(`span`,{class:`ns-seg`,style:me(e.color?{color:e.color}:void 0)},j(e.text),5),e.separator?(H(),U(`span`,Pb,j(e.separator),1)):J(``,!0)],64))),128))],8,Nb))}}),Ib={class:`fn-row`},Lb={class:`fn-flags`},Rb={key:0,class:`badge agent`,title:`Exposed to agents`},zb={key:1,class:`badge flag`,title:`Strict JSON wire serialization`},Bb={key:2,class:`badge flag`,title:`Baked into the static build dump`},Vb={key:3,class:`badge flag`},Hb={key:4,class:`badge flag`},Ub={key:5,class:`badge flag`},Wb={key:0,class:`fn-detail`},Gb={key:0,class:`desc`},Kb=[`value`],qb={style:{"margin-top":`8px`,display:`flex`,gap:`8px`,"align-items":`center`}},Jb={key:0,class:`note`},Yb={key:0,class:`result`},Xb={class:`result-head`},Zb={key:0,class:`ok`},Qb={key:1,class:`fail`},$b={key:2,class:`muted`},ex={key:4,class:`note`},tx=R({__name:`FunctionRow`,props:{fn:{},argsInput:{},results:{},pending:{},isStatic:{type:Boolean}},emits:[`invoke`,`updateArgs`],setup(e,{emit:t}){let n=e,r=t,i=F(!1),a=Y(()=>n.fn.invokable||!!n.fn.agent||n.fn.hasArgs||n.fn.hasReturns);function o(){i.value=!i.value}return(t,n)=>(H(),U(`div`,Ib,[G(`div`,{class:A([`fn-head`,{clickable:a.value}]),onClick:o},[G(`div`,{class:A([`chev i-ph-caret-right`,{open:i.value}])},null,2),K(Fb,{name:e.fn.name},null,8,[`name`]),G(`span`,Lb,[G(`span`,{class:A([`badge`,e.fn.type])},j(e.fn.type),3),e.fn.agent?(H(),U(`span`,Rb,`agent`)):J(``,!0),e.fn.jsonSerializable?(H(),U(`span`,zb,`json`)):J(``,!0),e.fn.snapshot?(H(),U(`span`,Bb,`snapshot`)):J(``,!0),e.fn.hasArgs?(H(),U(`span`,Vb,`args`)):J(``,!0),e.fn.hasReturns?(H(),U(`span`,Hb,`returns`)):J(``,!0),e.fn.hasDump?(H(),U(`span`,Ub,`dump`)):J(``,!0)])],2),i.value?(H(),U(`div`,Wb,[e.fn.agent?(H(),U(`p`,Gb,j(e.fn.agent.description),1)):J(``,!0),e.fn.argsSchema?(H(),U(B,{key:1},[n[2]||=G(`div`,{class:`label`},` Args schema `,-1),K($,{value:e.fn.argsSchema,"expand-depth":0},null,8,[`value`])],64)):J(``,!0),e.fn.returnsSchema?(H(),U(B,{key:2},[n[3]||=G(`div`,{class:`label`},` Returns schema `,-1),K($,{value:e.fn.returnsSchema,"expand-depth":0},null,8,[`value`])],64)):J(``,!0),e.fn.invokable?(H(),U(B,{key:3},[n[4]||=G(`div`,{class:`label`},` Invoke with positional args as a JSON array `,-1),G(`textarea`,{value:e.argsInput[e.fn.name],class:`args`,spellcheck:`false`,placeholder:`[]`,onInput:n[0]||=t=>r(`updateArgs`,e.fn.name,t.target.value)},null,40,Kb),G(`div`,qb,[K(vy,{variant:`primary`,size:`sm`,icon:`i-ph-play-duotone`,loading:e.pending[e.fn.name],disabled:e.pending[e.fn.name]||e.isStatic,onClick:n[1]||=tu(t=>r(`invoke`,e.fn),[`stop`])},{default:L(()=>[q(j(e.pending[e.fn.name]?`Invoking…`:`Invoke`),1)]),_:1},8,[`loading`,`disabled`]),e.isStatic?(H(),U(`span`,Jb,`read-only static backend, invocation disabled`)):J(``,!0)]),e.results[e.fn.name]?(H(),U(`div`,Yb,[G(`div`,Xb,[e.results[e.fn.name].ok?(H(),U(`span`,Zb,`✓ resolved`)):(H(),U(`span`,Qb,`✕ threw`)),`durationMs`in e.results[e.fn.name]?(H(),U(`span`,$b,j(e.results[e.fn.name].durationMs)+`ms`,1)):J(``,!0)]),e.results[e.fn.name].ok?(H(),W($,{key:0,value:e.results[e.fn.name].result,"expand-depth":2},null,8,[`value`])):(H(),W($,{key:1,value:e.results[e.fn.name].error,"expand-depth":2},null,8,[`value`]))])):J(``,!0)],64)):(H(),U(`p`,ex,j(e.fn.type)+` functions may carry side effects, so the inspector does not invoke them. `,1))])):J(``,!0)]))}}),nx={class:`pane`},rx={key:0,class:`center`},ix={class:`section-title`},ax={key:0,class:`empty`},ox={key:1,class:`fn-list`},sx={class:`section-title`},cx={class:`note`},lx={key:2,class:`empty`},ux={key:3,class:`cards`},dx=[`onClick`],fx={class:`card-title`},px={class:`badge flag`},mx={key:0,class:`badge flag`},hx={key:0,class:`id`},gx={key:1,class:`desc`},_x=[`onUpdate:modelValue`],vx={style:{"margin-top":`8px`,display:`flex`,gap:`8px`,"align-items":`center`}},yx={key:2,class:`note`},bx={key:3,class:`note`},xx={key:4,class:`result`},Sx={class:`result-head`},Cx={key:0,class:`ok`},wx={key:1,class:`fail`},Tx={key:2,class:`muted`},Ex=R({__name:`ClientView`,props:{functions:{},webmcp:{},results:{},pending:{}},emits:[`invoke`,`invokeTool`],setup(e,{emit:t}){let n=t,r=Yt({}),i=Yt({}),a=F(null);function o(e){return`webmcp:${e}`}function s(e){a.value=a.value===e?null:e,i[e]??=`{}`}function c(e){let t;try{let n=JSON.parse(r[e.name]||`[]`);t=Array.isArray(n)?n:[n]}catch(e){throw Error(`Invalid JSON args: ${e.message}`)}n(`invoke`,e,t)}function l(e){let t;try{t=JSON.parse(i[e]||`{}`)}catch(e){throw Error(`Invalid JSON args: ${e.message}`)}n(`invokeTool`,e,t)}return(t,n)=>(H(),U(`div`,nx,[!e.functions||!e.webmcp?(H(),U(`div`,rx,` Loading client surface… `)):(H(),U(B,{key:1},[G(`div`,ix,` Client functions · `+j(e.functions.length),1),e.functions.length===0?(H(),U(`div`,ax,` No client RPC functions registered in this page. `)):(H(),U(`div`,ox,[(H(!0),U(B,null,fa(e.functions,t=>(H(),W(tx,{key:t.name,fn:t,"args-input":r,results:e.results,pending:e.pending,"is-static":!1,onInvoke:c,onUpdateArgs:n[0]||=(e,t)=>r[e]=t},null,8,[`fn`,`args-input`,`results`,`pending`]))),128))])),G(`div`,sx,` WebMCP tools · `+j(e.webmcp.tools.length),1),G(`p`,cx,[e.webmcp.live?(H(),U(B,{key:0},[q(` Live from this page's WebMCP model context. `)],64)):e.webmcp.available?(H(),U(B,{key:1},[q(` This page's model context supports registration only; showing the tools projected from agent-flagged client functions. `)],64)):(H(),U(B,{key:2},[q(` This browser provides no WebMCP model context; showing the tools devframe would register on one. `)],64))]),e.webmcp.tools.length===0?(H(),U(`div`,lx,` No WebMCP tools on this page. `)):(H(),U(`div`,ux,[(H(!0),U(B,null,fa(e.webmcp.tools,t=>(H(),U(`div`,{key:t.name,class:`card`},[G(`div`,{class:`card-head`,style:{cursor:`pointer`,"user-select":`none`},onClick:e=>s(t.name)},[G(`div`,{class:A([`chev i-ph-caret-right`,{open:a.value===t.name}])},null,2),G(`span`,fx,j(t.name),1),G(`span`,px,j(e.webmcp.live?`live`:`projected`),1),t.origin?(H(),U(`span`,mx,j(t.origin),1)):J(``,!0)],8,dx),t.source?(H(),U(`div`,hx,` client function: `+j(t.source),1)):J(``,!0),t.description?(H(),U(`p`,gx,j(t.description),1)):J(``,!0),a.value===t.name?(H(),U(B,{key:2},[t.inputSchema?(H(),U(B,{key:0},[n[1]||=G(`div`,{class:`label`},` Input schema `,-1),K($,{value:t.inputSchema,"expand-depth":1},null,8,[`value`])],64)):J(``,!0),e.webmcp.executable?(H(),U(B,{key:1},[n[2]||=G(`div`,{class:`label`},` Invoke (WebMCP args object) `,-1),mr(G(`textarea`,{"onUpdate:modelValue":e=>i[t.name]=e,class:`args`,spellcheck:`false`,placeholder:`{}`},null,8,_x),[[Bl,i[t.name]]]),G(`div`,vx,[K(vy,{variant:`primary`,size:`sm`,icon:`i-ph-play-duotone`,loading:e.pending[o(t.name)],disabled:e.pending[o(t.name)],onClick:e=>l(t.name)},{default:L(()=>[q(j(e.pending[o(t.name)]?`Invoking…`:`Invoke`),1)]),_:2},1032,[`loading`,`disabled`,`onClick`])])],64)):t.source?(H(),U(`p`,yx,` Invoke the backing client function from the list above. `)):(H(),U(`p`,bx,` This model context does not expose tool execution to the page. `)),e.results[o(t.name)]?(H(),U(`div`,xx,[G(`div`,Sx,[e.results[o(t.name)].ok?(H(),U(`span`,Cx,`✓ resolved`)):(H(),U(`span`,wx,`✕ threw`)),`durationMs`in e.results[o(t.name)]?(H(),U(`span`,Tx,j(e.results[o(t.name)].durationMs)+`ms`,1)):J(``,!0)]),e.results[o(t.name)].ok?(H(),W($,{key:0,value:e.results[o(t.name)].result,"expand-depth":2},null,8,[`value`])):(H(),W($,{key:1,value:e.results[o(t.name)].error,"expand-depth":2},null,8,[`value`]))])):J(``,!0)],64)):J(``,!0)]))),128))]))],64))]))}}),Dx=R({__name:`ClientSmart`,setup(e){let t=hy(),n=cn(null),r=cn(null),i=Yt({}),a=Yt({});async function o(){t.value&&(n.value=wb(t.value.client),r.value=await Eb(t.value.client))}Pm(o);let s;Yi(()=>{o(),s=t.value?.client.onChanged(()=>void o())}),$i(()=>s?.());async function c(e,n){if(t.value){a[e.name]=!0;try{i[e.name]=await Tb(t.value.client,e.name,n)}finally{a[e.name]=!1}}}async function l(e,t){let n=Xv(),o=r.value?.tools.find(t=>t.name===e);if(!n||!o)return;let s=`webmcp:${e}`;a[s]=!0;try{i[s]=await Db(n,o,t)}finally{a[s]=!1}}return(e,t)=>(H(),W(Ex,{functions:n.value,webmcp:r.value,results:i,pending:a,onInvoke:c,onInvokeTool:l},null,8,[`functions`,`webmcp`,`results`,`pending`]))}}),Ox={class:`cmd-title`},kx={class:`cmd-id mono`},Ax={class:`fn-flags`},jx={key:0,class:`badge flag`},Mx={key:1,class:`badge flag`,title:`No handler, a group for its children`},Nx={key:2,class:`badge flag`},Px={key:0,class:`fn-detail`},Fx={key:0,class:`desc`},Ix=[`value`],Lx={style:{"margin-top":`8px`,display:`flex`,gap:`8px`,"align-items":`center`}},Rx={key:0,class:`note`},zx={key:0,class:`result`},Bx={class:`result-head`},Vx={key:0,class:`ok`},Hx={key:1,class:`fail`},Ux={key:2,class:`muted`},Wx={key:2,class:`note`},Gx={class:`cmd-children`},Kx=R({name:`CommandRow`,__name:`CommandRow`,props:{cmd:{},argsInput:{},results:{},pending:{},isStatic:{type:Boolean},depth:{}},emits:[`execute`,`updateArgs`],setup(e,{emit:t}){let n=e,r=t,i=F(!1),a=Y(()=>n.cmd.hasHandler||!!n.cmd.description||!!n.cmd.children?.length);function o(){i.value=!i.value}return(t,n)=>{let s=oa(`CommandRow`,!0);return H(),U(`div`,{class:A([`fn-row`,{"cmd-row-child":e.depth}])},[G(`div`,{class:A([`fn-head`,{clickable:a.value}]),onClick:o},[G(`div`,{class:A([`chev i-ph-caret-right`,{open:i.value}])},null,2),e.cmd.icon?(H(),U(`span`,{key:0,class:A([typeof e.cmd.icon==`string`?e.cmd.icon:`i-ph-terminal-window-duotone`,`cmd-icon`])},null,2)):J(``,!0),G(`span`,Ox,j(e.cmd.title),1),G(`span`,kx,j(e.cmd.id),1),G(`span`,Ax,[e.cmd.category?(H(),U(`span`,jx,j(e.cmd.category),1)):J(``,!0),e.cmd.hasHandler?J(``,!0):(H(),U(`span`,Mx,`group`)),e.cmd.children?.length?(H(),U(`span`,Nx,j(e.cmd.children.length)+` children`,1)):J(``,!0)])],2),i.value?(H(),U(`div`,Px,[e.cmd.description?(H(),U(`p`,Fx,j(e.cmd.description),1)):J(``,!0),e.cmd.hasHandler?(H(),U(B,{key:1},[n[4]||=G(`div`,{class:`label`},` Execute with positional args as a JSON array `,-1),G(`textarea`,{value:e.argsInput[e.cmd.id],class:`args`,spellcheck:`false`,placeholder:`[]`,onInput:n[0]||=t=>r(`updateArgs`,e.cmd.id,t.target.value)},null,40,Ix),G(`div`,Lx,[K(vy,{variant:`primary`,size:`sm`,icon:`i-ph-play-duotone`,loading:e.pending[e.cmd.id],disabled:e.pending[e.cmd.id]||e.isStatic,onClick:n[1]||=tu(t=>r(`execute`,e.cmd),[`stop`])},{default:L(()=>[q(j(e.pending[e.cmd.id]?`Running…`:`Run`),1)]),_:1},8,[`loading`,`disabled`]),e.isStatic?(H(),U(`span`,Rx,`read-only static backend, execution disabled`)):J(``,!0)]),e.results[e.cmd.id]?(H(),U(`div`,zx,[G(`div`,Bx,[e.results[e.cmd.id].ok?(H(),U(`span`,Vx,`✓ resolved`)):(H(),U(`span`,Hx,`✕ threw`)),`durationMs`in e.results[e.cmd.id]?(H(),U(`span`,Ux,j(e.results[e.cmd.id].durationMs)+`ms`,1)):J(``,!0)]),e.results[e.cmd.id].ok?(H(),W($,{key:0,value:e.results[e.cmd.id].result,"expand-depth":2},null,8,[`value`])):(H(),W($,{key:1,value:e.results[e.cmd.id].error,"expand-depth":2},null,8,[`value`]))])):J(``,!0)],64)):e.cmd.children?.length?J(``,!0):(H(),U(`p`,Wx,` Group-only command, no handler to run. `)),e.cmd.children?.length?(H(),U(B,{key:3},[n[5]||=G(`div`,{class:`label`},` Children `,-1),G(`div`,Gx,[(H(!0),U(B,null,fa(e.cmd.children,t=>(H(),W(s,{key:t.id,cmd:t,"args-input":e.argsInput,results:e.results,pending:e.pending,"is-static":e.isStatic,depth:(e.depth??0)+1,onExecute:n[2]||=e=>r(`execute`,e),onUpdateArgs:n[3]||=(e,t)=>r(`updateArgs`,e,t)},null,8,[`cmd`,`args-input`,`results`,`pending`,`is-static`,`depth`]))),128))])],64)):J(``,!0)])):J(``,!0)],2)}}}),qx={class:`pane`},Jx={class:`toolbar`},Yx={class:`search`},Xx={class:`muted`},Zx={class:`badge flag`},Qx={key:0,class:`center`},$x={key:1,class:`empty`},eS={key:2,class:`empty`},tS={key:3,class:`fn-list`},nS=R({__name:`CommandsView`,props:{commands:{},isStatic:{type:Boolean},results:{},pending:{}},emits:[`execute`],setup(e,{emit:t}){let n=e,r=t,i=F(``),a=Yt({});function o(e,t){return e.id.toLowerCase().includes(t)||e.title.toLowerCase().includes(t)||e.category?.toLowerCase().includes(t)?!0:e.children?.some(e=>o(e,t))??!1}let s=Y(()=>{let e=n.commands??[],t=i.value.trim().toLowerCase();return[...t?e.filter(e=>o(e,t)):e].sort((e,t)=>e.title.localeCompare(t.title))}),c=Y(()=>{let e={};for(let t of n.commands??[]){let n=t.category??`uncategorized`;e[n]=(e[n]||0)+1}return e});function l(e){let t;try{let n=JSON.parse(a[e.id]||`[]`);t=Array.isArray(n)?n:[n]}catch(e){throw Error(`Invalid JSON args: ${e.message}`)}r(`execute`,e,t)}return(t,n)=>(H(),U(`div`,qx,[G(`div`,Jx,[G(`label`,Yx,[n[2]||=G(`div`,{class:`i-ph-magnifying-glass-duotone`},null,-1),mr(G(`input`,{"onUpdate:modelValue":n[0]||=e=>i.value=e,placeholder:`Filter commands by id, title, category…`,spellcheck:`false`},null,512),[[Bl,i.value]])]),G(`span`,Xx,j((e.commands??[]).length)+` commands`,1),(H(!0),U(B,null,fa(c.value,(e,t)=>(H(),U(`span`,{key:t,class:`muted`},[G(`span`,Zx,j(t),1),q(` `+j(e),1)]))),128))]),e.commands?e.commands.length===0?(H(),U(`div`,$x," No commands registered. Commands are a `@devframes/hub` feature; this connection isn't mounted inside a hub. ")):s.value.length===0?(H(),U(`div`,eS,` No commands match "`+j(i.value)+`". `,1)):(H(),U(`div`,tS,[(H(!0),U(B,null,fa(s.value,t=>(H(),W(Kx,{key:t.id,cmd:t,"args-input":a,results:e.results,pending:e.pending,"is-static":e.isStatic,onExecute:l,onUpdateArgs:n[1]||=(e,t)=>a[e]=t},null,8,[`cmd`,`args-input`,`results`,`pending`,`is-static`]))),128))])):(H(),U(`div`,Qx,` Loading commands… `))]))}}),rS=R({__name:`CommandsSmart`,setup(e){let t=hy(),n=cn(null),r=Yt({}),i=Yt({});async function a(){t.value&&(n.value=await t.value.call(`devframes:plugin:inspect:list-commands`))}Pm(a),Yi(a);async function o(e,n){if(t.value){i[e.id]=!0;try{r[e.id]=await t.value.call(`devframes:plugin:inspect:execute-command`,e.id,n)}catch(t){let n=t;r[e.id]={ok:!1,error:{name:n?.name??`Error`,message:n?.message??String(t)}}}finally{i[e.id]=!1}}}return(e,t)=>(H(),W(nS,{commands:n.value,"is-static":I(gy)(),results:r,pending:i,onExecute:o},null,8,[`commands`,`is-static`,`results`,`pending`]))}}),iS={class:`pane`},aS={class:`toolbar`},oS={class:`search`},sS={class:`muted`},cS={key:0,class:`center`},lS={key:1,class:`empty`},uS={key:2,class:`fn-list`},dS=R({__name:`FunctionsView`,props:{functions:{},isStatic:{type:Boolean},results:{},pending:{}},emits:[`invoke`],setup(e,{emit:t}){let n=e,r=t,i=F(``),a=Yt({}),o=Y(()=>{let e=n.functions??[],t=i.value.trim().toLowerCase();return[...t?e.filter(e=>e.name.toLowerCase().includes(t)):e].sort((e,t)=>e.name.localeCompare(t.name))}),s=Y(()=>{let e={};for(let t of n.functions??[])e[t.type]=(e[t.type]||0)+1;return e});function c(e){let t;try{let n=JSON.parse(a[e.name]||`[]`);t=Array.isArray(n)?n:[n]}catch(e){throw Error(`Invalid JSON args: ${e.message}`)}r(`invoke`,e,t)}return(t,n)=>(H(),U(`div`,iS,[G(`div`,aS,[G(`label`,oS,[n[2]||=G(`div`,{class:`i-ph-magnifying-glass-duotone`},null,-1),mr(G(`input`,{"onUpdate:modelValue":n[0]||=e=>i.value=e,placeholder:`Filter functions by name…`,spellcheck:`false`},null,512),[[Bl,i.value]])]),G(`span`,sS,j((e.functions??[]).length)+` functions`,1),(H(!0),U(B,null,fa(s.value,(e,t)=>(H(),U(`span`,{key:t,class:`muted`},[G(`span`,{class:A([`badge`,t])},j(t),3),q(` `+j(e),1)]))),128))]),e.functions?o.value.length===0?(H(),U(`div`,lS,` No functions match “`+j(i.value)+`”. `,1)):(H(),U(`div`,uS,[(H(!0),U(B,null,fa(o.value,t=>(H(),W(tx,{key:t.name,fn:t,"args-input":a,results:e.results,pending:e.pending,"is-static":e.isStatic,onInvoke:c,onUpdateArgs:n[1]||=(e,t)=>a[e]=t},null,8,[`fn`,`args-input`,`results`,`pending`,`is-static`]))),128))])):(H(),U(`div`,cS,` Loading functions… `))]))}}),fS=R({__name:`FunctionsSmart`,setup(e){let t=hy(),n=cn(null),r=Yt({}),i=Yt({});async function a(){t.value&&(n.value=await t.value.call(`devframes:plugin:inspect:list-functions`))}Pm(a),Yi(a);async function o(e,n){if(t.value){i[e.name]=!0;try{r[e.name]=await t.value.call(`devframes:plugin:inspect:invoke`,e.name,n)}catch(t){let n=t;r[e.name]={ok:!1,error:{name:n?.name??`Error`,message:n?.message??String(t)}}}finally{i[e.name]=!1}}}return(e,t)=>(H(),W(dS,{functions:n.value,"is-static":I(gy)(),results:r,pending:i,onInvoke:o},null,8,[`functions`,`is-static`,`results`,`pending`]))}}),pS={class:`pane flex-col`},mS={class:`toolbar`},hS={class:`muted`},gS={key:0,class:`center`},_S={key:1,style:{padding:`14px`,display:`flex`,"flex-direction":`column`,gap:`14px`}},vS={style:{display:`flex`,gap:`8px`,"align-items":`center`,"margin-bottom":`8px`,"flex-wrap":`wrap`}},yS={class:`muted`,style:{"font-family":`var(--df-mono)`,"font-size":`11px`}},bS={style:{"font-family":`var(--df-mono)`,"font-weight":`600`,"font-size":`12.5px`}},xS={class:`muted`},SS={style:{"font-family":`var(--df-mono)`,"font-weight":`600`,"font-size":`12.5px`,color:`var(--df-accent)`}},CS={class:`muted`},wS={style:{"padding-left":`8px`,"border-left":`2px solid var(--df-border-soft)`}},TS=((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n})(R({__name:`HistoryView`,props:{historyRecords:{},isRecording:{type:Boolean}},emits:[`update:isRecording`,`clear`],setup(e,{emit:t}){let n=t;function r(e){let t=new Date(e);return`${t.getHours().toString().padStart(2,`0`)}:${t.getMinutes().toString().padStart(2,`0`)}:${t.getSeconds().toString().padStart(2,`0`)}.${t.getMilliseconds().toString().padStart(3,`0`)}`}return(t,i)=>(H(),U(`div`,pS,[G(`div`,mS,[K(vy,{variant:e.isRecording?`action`:`text`,size:`sm`,icon:e.isRecording?`i-ph-record-fill text-error`:`i-ph-play-duotone`,title:e.isRecording?`Click to pause recording`:`Click to record`,onClick:i[0]||=t=>n(`update:isRecording`,!e.isRecording)},{default:L(()=>[q(j(e.isRecording?`Recording`:`Paused`),1)]),_:1},8,[`variant`,`icon`,`title`]),K(vy,{variant:`text`,size:`sm`,icon:`i-ph-trash-duotone`,onClick:i[1]||=e=>n(`clear`)},{default:L(()=>[...i[2]||=[q(` Clear `,-1)]]),_:1}),G(`span`,hS,j(e.historyRecords.length)+` records`,1)]),e.historyRecords.length===0?(H(),U(`div`,gS,` No history yet. `)):(H(),U(`div`,_S,[(H(!0),U(B,null,fa(e.historyRecords,e=>(H(),U(`div`,{key:e.id,style:{border:`1px solid var(--df-border)`,"border-radius":`var(--df-radius)`,background:`var(--df-bg-soft)`,padding:`12px`}},[G(`div`,vS,[G(`span`,yS,j(r(e.time)),1),e.type===`call`?(H(),U(B,{key:0},[i[3]||=G(`span`,{class:`badge action`},`RPC Call`,-1),G(`span`,bS,j(e.method),1),G(`span`,xS,j(e.duration)+`ms`,1)],64)):(H(),U(B,{key:1},[i[4]||=G(`span`,{class:`badge static`},`State Update`,-1),G(`span`,SS,j(e.key),1),G(`span`,CS,`Sync ID: `+j(e.syncId),1)],64))]),G(`div`,wS,[e.type===`call`?(H(),U(B,{key:0},[i[7]||=G(`div`,{class:`label`,style:{"margin-top":`0`}},` Arguments `,-1),K($,{value:e.args,"expand-depth":1},null,8,[`value`]),`result`in e?(H(),U(B,{key:0},[i[5]||=G(`div`,{class:`label`},` Result `,-1),K($,{value:e.result,"expand-depth":1},null,8,[`value`])],64)):`error`in e?(H(),U(B,{key:1},[i[6]||=G(`div`,{class:`label`,style:{color:`var(--df-danger)`}},` Error `,-1),K($,{value:e.error,"expand-depth":1},null,8,[`value`])],64)):J(``,!0)],64)):(H(),U(B,{key:1},[`value`in e?(H(),U(B,{key:0},[i[8]||=G(`div`,{class:`label`,style:{"margin-top":`0`}},` New State `,-1),K($,{value:e.value,"expand-depth":1},null,8,[`value`])],64)):`patches`in e?(H(),U(B,{key:1},[i[9]||=G(`div`,{class:`label`,style:{"margin-top":`0`}},` Patches `,-1),K($,{value:e.patches,"expand-depth":1},null,8,[`value`])],64)):J(``,!0)],64))])]))),128))]))]))}}),[[`__scopeId`,`data-v-fa4416fc`]]),ES=R({__name:`HistorySmart`,setup(e){function t(e){oy.value=e}return(e,n)=>(H(),W(TS,{"history-records":I(ay),"is-recording":I(oy),"onUpdate:isRecording":t,onClear:I(ly)},null,8,[`history-records`,`is-recording`,`onClear`]))}}),DS={class:`pane`},OS={class:`toolbar`},kS={class:`muted`},AS={key:0,class:`center`},jS={key:1,class:`inst-empty`},MS={key:2,class:`cards`},NS={class:`card-head`},PS={class:`card-title`},FS={key:0,class:`badge agent`},IS={key:1,class:`badge`},LS={class:`id`},RS=[`href`],zS={class:`inst-url-text`},BS={class:`inst-meta`},VS={class:`inst-meta-wide`},HS=[`title`],US=R({__name:`InstancesView`,props:{instances:{}},setup(e){let t=e,n=Y(()=>[...t.instances??[]].sort((e,t)=>e.isCurrent===t.isCurrent?t.startedAt-e.startedAt:e.isCurrent?-1:1));function r(e){let t=Math.max(0,Math.round((Date.now()-e)/1e3));if(t<60)return`${t}s`;let n=Math.floor(t/60);if(n<60)return`${n}m ${t%60}s`;let r=Math.floor(n/60);return r<24?`${r}h ${n%60}m`:`${Math.floor(r/24)}d ${r%24}h`}return(t,i)=>(H(),U(`div`,DS,[G(`div`,OS,[G(`span`,kS,j((e.instances??[]).length)+` running `+j((e.instances??[]).length===1?`instance`:`instances`),1),i[0]||=G(`span`,{class:`muted`},[q(`Devframe dev servers running on this machine, discovered via the shared registry (`),G(`code`,null,`~/.devframe/instances/`),q(`).`)],-1)]),e.instances?e.instances.length===0?(H(),U(`div`,jS,[...i[1]||=[G(`span`,{class:`i-ph-broadcast-duotone inst-empty-icon`},null,-1),G(`p`,{class:`inst-empty-title`},` No devframe instances discovered `,-1),G(`p`,null,[q(` This tab lists every devframe dev server running on your machine, so you can jump between them. Each server registers itself in `),G(`code`,null,`~/.devframe/instances/`),q(` while it runs. `)],-1),G(`p`,null,[q(` Nothing shows up when only static/build servers are running, when discovery is turned off (`),G(`code`,null,`DEVFRAME_DISABLE_INSTANCE_REGISTRY=1`),q(`), or when an in-process host hasn't opted in. Start another `),G(`code`,null,`devframe`),q(` dev server (or a hub host that calls `),G(`code`,null,`registerDevframeInstance()`),q(`), then hit refresh. `)],-1)]])):(H(),U(`div`,MS,[(H(!0),U(B,null,fa(n.value,e=>(H(),U(`div`,{key:`${e.pid}-${e.port}`,class:`card`},[G(`div`,NS,[i[2]||=G(`span`,{class:`i-ph-broadcast-duotone cmd-icon`},null,-1),G(`span`,PS,j(e.name??e.id),1),e.isCurrent?(H(),U(`span`,FS,`this instance`)):J(``,!0),e.hasMcp?(H(),U(`span`,IS,`MCP`)):J(``,!0)]),G(`div`,LS,j(e.id),1),G(`a`,{class:`inst-url`,href:e.url,target:`_blank`,rel:`noopener noreferrer`},[i[3]||=G(`span`,{class:`i-ph-arrow-square-out-duotone`},null,-1),G(`span`,zS,j(e.url),1)],8,RS),G(`dl`,BS,[G(`div`,null,[i[4]||=G(`dt`,null,`Port`,-1),G(`dd`,null,j(e.port),1)]),G(`div`,null,[i[5]||=G(`dt`,null,`PID`,-1),G(`dd`,null,j(e.pid),1)]),G(`div`,null,[i[6]||=G(`dt`,null,`Uptime`,-1),G(`dd`,null,j(r(e.startedAt)),1)]),G(`div`,VS,[i[7]||=G(`dt`,null,`Root`,-1),G(`dd`,{title:e.rootDir},j(e.rootDir),9,HS)])])]))),128))])):(H(),U(`div`,AS,` Discovering instances… `))]))}}),WS=R({__name:`InstancesSmart`,setup(e){let t=hy(),n=cn(null);async function r(){t.value&&(n.value=await t.value.call(`devframes:plugin:inspect:list-instances`))}return Pm(r),Yi(r),(e,t)=>(H(),W(US,{instances:n.value},null,8,[`instances`]))}}),GS={class:`split`},KS={class:`keys`},qS={class:`keys-head`},JS={class:`checkbox`},YS={class:`keys-list`},XS={key:0,class:`empty`},ZS={key:1,class:`empty`},QS=[`title`,`onClick`],$S={class:`state-main`},eC={key:0,class:`center`},tC={key:1,class:`center`},nC={class:`state-meta`},rC={class:`state-key`},iC={key:0,class:`pulse`},aC={key:1,class:`note`},oC=R({__name:`StateView`,props:{keys:{},selectedKey:{},value:{},loading:{type:Boolean},isStatic:{type:Boolean},updates:{},highlightPaths:{}},emits:[`select`],setup(e,{emit:t}){let n=e,r=t,i=F(!1),a=Y(()=>{let e=n.keys??[];return i.value?e:e.filter(e=>!e.startsWith(`devframe:`)&&!e.startsWith(`__`))});return(t,n)=>(H(),U(`div`,GS,[G(`aside`,KS,[G(`div`,qS,[G(`span`,null,j(a.value.length)+` keys`,1),G(`label`,JS,[mr(G(`input`,{"onUpdate:modelValue":n[0]||=e=>i.value=e,type:`checkbox`},null,512),[[Vl,i.value]]),n[1]||=q(` internal `,-1)])]),G(`div`,YS,[e.keys?a.value.length===0?(H(),U(`div`,ZS,` No shared state`+j(e.keys.length?` (toggle internal)`:``)+`. `,1)):J(``,!0):(H(),U(`div`,XS,` Loading… `)),(H(!0),U(B,null,fa(a.value,t=>(H(),U(`button`,{key:t,class:A([`key-item`,{active:e.selectedKey===t}]),title:t,onClick:e=>r(`select`,t)},j(t),11,QS))),128))])]),G(`section`,$S,[e.selectedKey?e.loading?(H(),U(`div`,tC,` Loading state… `)):(H(),U(B,{key:2},[G(`div`,nC,[G(`span`,rC,j(e.selectedKey),1),e.isStatic?(H(),U(`span`,aC,`static snapshot`)):(H(),U(`span`,iC,`live`+j(e.updates?` · ${e.updates} update${e.updates>1?`s`:``}`:``),1))]),K($,{value:e.value,"expand-depth":3,"highlight-paths":e.highlightPaths},null,8,[`value`,`highlight-paths`])],64)):(H(),U(`div`,eC,` Select a shared-state key to inspect its live value. `))])]))}}),sC=R({__name:`StateSmart`,setup(e){let t=hy(),n=cn(null),r=F(null),i=cn(void 0),a=F(!1),o=cn(new Set),s=F(0),c=null,l=null;async function u(){t.value&&(n.value=await t.value.call(`devframes:plugin:inspect:list-state-keys`))}Pm(u),Yi(u);function d(e,t,n=``,r=new Set){if(e===t)return r;if(!(typeof e==`object`&&e)||!(typeof t==`object`&&t))return r.add(n),r;let i=new Set([...Object.keys(e),...Object.keys(t)]);for(let a of i){let i=n?`${n}.${a}`:a,o=a in e,s=a in t;!o||!s?r.add(i):d(e[a],t[a],i,r)}return r}function f(e){o.value=e,l&&clearTimeout(l),l=setTimeout(()=>{o.value=new Set},1600)}function p(){c?.(),c=null}return wr(r,async e=>{if(p(),i.value=void 0,s.value=0,o.value=new Set,e&&t.value){a.value=!0;try{let n=await t.value.sharedState.get(e);i.value=n.value(),c=n.on(`updated`,e=>{let t=d(i.value,e);i.value=e,s.value++,f(t)})}finally{a.value=!1}}}),Fe(()=>{p(),l&&clearTimeout(l)}),(e,t)=>(H(),W(oC,{keys:n.value,"selected-key":r.value,value:i.value,loading:a.value,"is-static":I(gy)(),updates:s.value,"highlight-paths":o.value,onSelect:t[0]||=e=>r.value=e},null,8,[`keys`,`selected-key`,`value`,`loading`,`is-static`,`updates`,`highlight-paths`]))}}),cC={class:`app`},lC={class:`app-body`},uC={class:`flex flex-col gap-1`},dC=R({__name:`App`,setup(e){let t=F(`functions`),{refresh:n,loading:r}=Fm(),i=Y(()=>wm(uy.status)),a=Y(()=>Em(uy.status)),o=[{value:`functions`,label:`Functions`,icon:`i-ph-function-duotone`},{value:`client`,label:`Client`,icon:`i-ph-browser-duotone`},{value:`state`,label:`State`,icon:`i-ph-database-duotone`},{value:`agent`,label:`Agent`,icon:`i-ph-robot-duotone`},{value:`commands`,label:`Commands`,icon:`i-ph-terminal-window-duotone`},{value:`history`,label:`History`,icon:`i-ph-clock-counter-clockwise-duotone`},{value:`instances`,label:`Instances`,icon:`i-ph-broadcast-duotone`}],s=Y(()=>gy()?o.filter(e=>e.value!==`instances`):o);Yi(my);function c(){location.reload()}return(e,o)=>(H(),U(`div`,cC,[K(bm,{glass:!1,class:`h-nav`},{search:L(()=>[...o[1]||=[G(`div`,null,null,-1)]]),end:L(()=>[i.value?(H(),U(`span`,{key:0,class:A(i.value.class)},[G(`span`,{class:A(i.value.dot)},null,2),q(` `+j(i.value.label),1)],2)):J(``,!0),K(sp,{class:`text-sm`,icon:I(r)?`i-ph-arrows-clockwise animate-spin`:`i-ph-arrows-clockwise`,tooltip:I(r)?`Refreshing…`:`Refresh`,label:`Refresh`,disabled:I(r)||!I(uy).connected,onClick:I(n)},null,8,[`icon`,`tooltip`,`disabled`,`onClick`])]),default:L(()=>[o[2]||=G(`div`,{class:`flex items-center gap-1.5 shrink-0 font-semibold text-sm select-none`},[G(`span`,{class:`i-ph-magnifying-glass-duotone text-base color-active`}),G(`span`,null,`Devframe Inspector`)],-1),K(_m,{modelValue:t.value,"onUpdate:modelValue":o[0]||=e=>t.value=e,tabs:s.value,variant:`segment`},null,8,[`modelValue`,`tabs`])]),_:1}),G(`main`,lC,[a.value?(H(),U(`div`,{key:0,class:A(I(Dm)(`h-full`))},[G(`span`,{class:A([a.value.icon,I(Om)(a.value.spin)])},null,2),G(`div`,uC,[G(`p`,{class:A(I(km)())},j(a.value.title),3),G(`p`,{class:A(I(Am)())},j(a.value.body),3),I(uy).error&&I(uy).status===`error`?(H(),U(`p`,{key:0,class:A(I(jm)())},j(I(uy).error),3)):J(``,!0)]),a.value.reloadable?(H(),U(`button`,{key:0,type:`button`,class:A(I(Sm)({variant:`primary`,size:`sm`})),onClick:c},[...o[3]||=[G(`span`,{class:`i-ph-arrow-clockwise`},null,-1),q(` Reload `,-1)]],2)):J(``,!0)],2)):(H(),U(B,{key:1},[t.value===`functions`?(H(),W(fS,{key:0})):t.value===`client`?(H(),W(Dx,{key:1})):t.value===`state`?(H(),W(sC,{key:2})):t.value===`agent`?(H(),W(_b,{key:3})):t.value===`commands`?(H(),W(rS,{key:4})):t.value===`history`?(H(),W(ES,{key:5})):t.value===`instances`?(H(),W(WS,{key:6})):J(``,!0)],64))])]))}}),fC=window.matchMedia(`(prefers-color-scheme: dark)`);function pC(e){document.documentElement.classList.toggle(`dark`,e),document.documentElement.classList.toggle(`light`,!e)}pC(fC.matches),fC.addEventListener(`change`,e=>pC(e.matches)),du(dC).mount(`#app`);
7
+ `)}}var $m=Qm(Km);function eh(e,{method:t=`warn`}={}){console[t]($m(e))}function th(e){return Zm({...e,reporters:[eh,...e.reporters??[]]})}var nh=th({docsBase:`https://devfra.me/errors`,codes:{DF0019:{why:e=>`RPC function "${e.name}" has \`agent\` set but \`jsonSerializable\` is \`false\`; MCP requires JSON-serializable data.`,fix:"Remove `jsonSerializable: false`, or remove `agent` to keep it RPC-only."},DF0020:{why:e=>`RPC function "${e.name}" declares \`jsonSerializable: true\` but the value at "${e.path}" is a ${e.type}.`,fix:"Either drop `jsonSerializable: true` (falls back to structured-clone) or change the value to a JSON-safe shape."},DF0021:{why:e=>`RPC function "${e.name}" is already registered`,fix:"Use the `force` parameter to overwrite an existing registration."},DF0022:{why:e=>`RPC function "${e.name}" is not registered. Use register() to add new functions.`},DF0023:{why:e=>`RPC function "${e.name}" is not registered`},DF0024:{why:e=>`Either handler or setup function must be provided for RPC function "${e.name}"`},DF0025:{why:e=>`Function "${e.name}" not found in dump store`},DF0026:{why:e=>`No dump match for "${e.name}" with args: ${e.args}`},DF0027:{why:e=>`Function "${e.name}" with type "${e.type}" cannot have dump configuration. Only "static" and "query" types support dumps.`},DF0028:{why:e=>`Function "${e.name}" with type "${e.type}" cannot use \`snapshot: true\`. Only "query" functions support this sugar; "static" functions have equivalent default behavior already.`,fix:"Remove `snapshot: true`, or change the function type to `query`."},DF0043:{why:e=>`RPC function "${e.name}" received an invalid argument at position ${e.index}: ${e.issues}`,fix:"Pass a value that satisfies the `args` schema declared for this function."},DF0044:{why:e=>`RPC function "${e.name}" returned a value that failed its \`returns\` schema: ${e.issues}`,fix:"Make the handler return a value that satisfies the `returns` schema, or relax the schema."}}});function rh(e){if(e.agent&&e.jsonSerializable===!1)throw nh.DF0019({name:e.name});e.agent&&!e.jsonSerializable&&(e.jsonSerializable=!0)}async function ih(e,t){let n=e[`~standard`].validate(t);return n instanceof Promise?await n:n}function ah(e){return e.map(e=>{let t=e.path?.map(e=>typeof e==`object`?e.key:e).join(`.`);return t?`${t}: ${e.message}`:e.message}).join(`; `)}async function oh(e,t,n){let r=n.slice();if(!t||t.length===0)return r;for(let r=0;r<t.length;r++){let i=t[r];if(!i)continue;let a=await ih(i,n[r]);if(a.issues)throw nh.DF0043({name:e,index:r,issues:ah(a.issues)})}return r}async function sh(e,t,n){if(!t)return n;let r=await ih(t,n);if(r.issues)throw nh.DF0044({name:e,issues:ah(r.issues)});return n}async function ch(e,t){if(!e.setup)return{};if(typeof t==`object`&&t){e.__cache??=new WeakMap;let n=e.__cache,r=n.get(t);return r||(r=Promise.resolve(e.setup(t)),r.catch(()=>{n.get(t)===r&&n.delete(t)}),n.set(t,r)),await r}if(!e.__promise){let n=Promise.resolve(e.setup(t));n.catch(()=>{e.__promise===n&&(e.__promise=void 0)}),e.__promise=n}return await e.__promise}async function lh(e,t){let n=e.handler;if(!n){let r=await ch(e,t);if(!r.handler)throw nh.DF0024({name:e.name});n=r.handler}let r=e.args,i=e.returns;if(!r&&!i)return n;let a=n;return async(...t)=>{let n=await oh(e.name,r,t),o=await a(...n);return await sh(e.name,i,o)}}var uh=class{context;definitions=new Map;functions;_onChanged=[];constructor(e){this.context=e;let t=this.definitions,n=this;this.functions=new Proxy({},{get(e,r){let i=t.get(r);if(i)return lh(i,n.context)},has(e,n){return t.has(n)},getOwnPropertyDescriptor(e,n){return{value:t.get(n)?.handler,configurable:!0,enumerable:!0}},ownKeys(){return Array.from(t.keys())}})}register(e,t=!1){if(this.definitions.has(e.name)&&!t)throw nh.DF0021({name:e.name});rh(e),this.definitions.set(e.name,e),this._onChanged.forEach(t=>t(e.name))}update(e,t=!1){if(!this.definitions.has(e.name)&&!t)throw nh.DF0022({name:e.name});rh(e),this.definitions.set(e.name,e),this._onChanged.forEach(t=>t(e.name))}onChanged(e){return this._onChanged.push(e),()=>{let t=this._onChanged.indexOf(e);t!==-1&&this._onChanged.splice(t,1)}}async getHandler(e){return await lh(this.definitions.get(e),this.context)}getSchema(e){let t=this.definitions.get(e);if(!t)throw nh.DF0023({name:String(e)});return{args:t.args,returns:t.returns}}has(e){return this.definitions.has(e)}get(e){return this.definitions.get(e)}list(){return Array.from(this.definitions.keys())}};function dh(e,t=``){return JSON.stringify(e,function(e,n){let r=this,i=r==null?n:r[e];if(i===void 0){if(Array.isArray(r))throw ph(t,`undefined`,r,e);return n}return i!==null&&fh(i,r,e,t),n})}function fh(e,t,n,r){if(typeof e==`bigint`)throw ph(r,`BigInt`,t,n);if(typeof e!=`object`)return;if(e instanceof Map)throw ph(r,`Map`,t,n);if(e instanceof Set)throw ph(r,`Set`,t,n);if(e instanceof Date)throw ph(r,`Date`,t,n);if(Array.isArray(e))return;let i=Object.getPrototypeOf(e);if(i!==null&&i!==Object.prototype)throw ph(r,e.constructor?.name??`class instance`,t,n)}function ph(e,t,n,r){let i=mh(n,r);return nh.DF0020({name:e||`<anonymous>`,type:t,path:i})}function mh(e,t){return Array.isArray(e)?`[${t}]`:t===``?`<root>`:t}function hh(){let e={};function t(t,...n){let r=e[t]||[];for(let e=0,t=r.length;e<t;e++){let t=r[e];t&&t(...n)}}function n(n,...r){t(n,...r),delete e[n]}function r(t,n){return(e[t]||=[]).push(n),()=>{e[t]=e[t]?.filter(e=>n!==e)}}function i(e,t){let n=r(e,((...e)=>(n(),t(...e))));return n}return{_listeners:e,emit:t,emitOnce:n,on:r,once:i}}var gh=/^[\w+.-]{2,}:\/\//;function _h(e){return e.endsWith(`/`)?e:`${e}/`}function vh(e){return(e.endsWith(`/`)?e.slice(0,-1):e)||`/`}function yh(e,...t){let n=e;for(let e of t)e&&e!==`/`&&(n=n?_h(n)+e.replace(/^\.?\//,``):e);return n}function bh(e,t){if(!t||t===`/`||gh.test(e))return e;let n=vh(t);return e.startsWith(n)?e:yh(n,e)}function xh(e,t){let n=e.match(gh);return t+(n?e.slice(n[0].length):e)}var Sh=`__DEVFRAME_CONNECTION_META__`,Ch=`__DEVFRAME_CONNECTION_AUTH_TOKEN__`;function wh(e){let t=[()=>window?.[e],()=>globalThis?.[e],()=>parent.window?.[e]];for(let e of t)try{let t=e();if(t)return t}catch{}}function Th(){return wh(Lm)}function Eh(){return wh(Sh)}function Dh(e){if(e)return e;try{let e=localStorage.getItem(Ch);if(e)return e}catch{}return wh(Ch)}function Oh(e){globalThis[Lm]=e,globalThis[Sh]={...e.connectionMeta,baseUrl:e.metaBaseUrl},e.authToken&&kh(e.authToken)}function kh(e){try{localStorage.setItem(Ch,e)}catch{}globalThis[Ch]=e;let t=Th();t&&(globalThis[Lm]={...t,authToken:e})}function Ah(e){let t=bh(Im,e);try{return new URL(t,globalThis.location?.href).href}catch{return t}}function jh(e,t){return t&&t!==e.authToken?{...e,authToken:t}:e}function Mh(){let e=Th();if(e)return jh(e,Dh()??e.authToken??e.connectionMeta.authToken);let t=Eh();if(t)return{connectionMeta:t,metaBaseUrl:t.baseUrl??Ah(`./`),authToken:Dh(t.authToken)}}async function Nh(e={}){if(e.connection){let t=jh(e.connection,Dh(e.authToken??e.connection.authToken??e.connection.connectionMeta.authToken));return Oh(t),t}let t=Array.isArray(e.baseURL)?e.baseURL:[e.baseURL??`./`];if(e.connectionMeta){let n={connectionMeta:e.connectionMeta,metaBaseUrl:Ah(t[0]??`./`),authToken:Dh(e.authToken??e.connectionMeta.authToken)};return Oh(n),n}let n=Mh();if(n){let t=jh(n,Dh(e.authToken??n.authToken??n.connectionMeta.authToken));return Oh(t),t}let r=[];for(let n of t){let t=bh(Im,n),i=Ah(n);try{let n=await fetch(t);if(!n.ok)throw Error(`Failed to fetch connection meta from ${i}: ${n.status}`);let r=await n.json(),a=n.url||i,o={connectionMeta:r,metaBaseUrl:r.baseUrl?new URL(r.baseUrl,a).href:a,authToken:Dh(e.authToken??r.authToken)};return Oh(o),o}catch(e){r.push(e)}}throw Error(`Failed to get connection meta from ${t.join(`, `)}`,{cause:r})}var Ph=class extends Error{name=`DevframeConnectionError`;kind;constructor(e,t,n){super(t,n),this.kind=e}};function Fh(e=Vm){try{let t=globalThis.location?.hash?.replace(/^#/,``)??``;return new URLSearchParams(t).get(e)||void 0}catch{return}}function Ih(e){try{let t=new URL(globalThis.location.href),n=new URLSearchParams(t.hash.replace(/^#/,``));if(!n.has(e))return;n.delete(e),t.hash=n.toString(),globalThis.history?.replaceState(globalThis.history.state,``,t.href)}catch{}}function Lh(e=Vm){let t=Fh(e);return t&&Ih(e),t}async function Rh(e,t={}){let n=Lh(t.param??`devframe_otp`);return n?e.isTrusted?!0:e.requestTrustWithCode(n):!1}function zh(e){let t={},n=new WeakMap,r,i=()=>(r??=e.sharedState.get(Bm,{initialValue:{}}).then(e=>(t=e.value(),e.on(`updated`,e=>{t=e}),e)),r);return i(),{state:i,has:e=>e in t,keys:()=>Object.keys(t),get:r=>{let i=t[r];if(!i)return;let a=n.get(i);return a||(a={...i,rpc:e.scope(i.scope).rpc},n.set(i,a)),a}}}var Bh=Symbol.for(`immer-nothing`),Vh=Symbol.for(`immer-draftable`),Hh=Symbol.for(`immer-state`);function Uh(e,...t){throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Wh=Object,Gh=Wh.getPrototypeOf,Kh=`constructor`,qh=`prototype`,Jh=`configurable`,Yh=`enumerable`,Xh=`writable`,Zh=`value`,Qh=e=>!!e&&!!e[Hh];function $h(e){return e?ng(e)||lg(e)||!!e[Vh]||!!e[Kh]?.[Vh]||ug(e)||dg(e):!1}var eg=Wh[qh][Kh].toString(),tg=new WeakMap;function ng(e){if(!e||!fg(e))return!1;let t=Gh(e);if(t===null||t===Wh[qh])return!0;let n=Wh.hasOwnProperty.call(t,Kh)&&t[Kh];if(n===Object)return!0;if(!pg(n))return!1;let r=tg.get(n);return r===void 0&&(r=Function.toString.call(n),tg.set(n,r)),r===eg}function rg(e,t,n=!0){ig(e)===0?(n?Reflect.ownKeys(e):Wh.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function ig(e){let t=e[Hh];return t?t.type_:lg(e)?1:ug(e)?2:dg(e)?3:0}var ag=(e,t,n=ig(e))=>n===2?e.has(t):Wh[qh].hasOwnProperty.call(e,t),og=(e,t,n=ig(e))=>n===2?e.get(t):e[t],sg=(e,t,n,r=ig(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function cg(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var lg=Array.isArray,ug=e=>e instanceof Map,dg=e=>e instanceof Set,fg=e=>typeof e==`object`,pg=e=>typeof e==`function`,mg=e=>typeof e==`boolean`;function hg(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var gg=e=>fg(e)?e?.[Hh]:null,_g=e=>e.copy_||e.base_,vg=e=>e.modified_?e.copy_:e.base_;function yg(e,t){if(ug(e))return new Map(e);if(dg(e))return new Set(e);if(lg(e))return Array[qh].slice.call(e);let n=ng(e);if(t===!0||t===`class_only`&&!n){let t=Wh.getOwnPropertyDescriptors(e);delete t[Hh];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){let i=n[r],a=t[i];a[Xh]===!1&&(a[Xh]=!0,a[Jh]=!0),(a.get||a.set)&&(t[i]={[Jh]:!0,[Xh]:!0,[Yh]:a[Yh],[Zh]:e[i]})}return Wh.create(Gh(e),t)}{let t=Gh(e);if(t!==null&&n)return{...e};let r=Wh.create(t);return Wh.assign(r,e)}}function bg(e,t=!1){return Cg(e)||Qh(e)||!$h(e)?e:(ig(e)>1&&Wh.defineProperties(e,{set:Sg,add:Sg,clear:Sg,delete:Sg}),Wh.freeze(e),t&&rg(e,(e,t)=>{bg(t,!0)},!1),e)}function xg(){Uh(2)}var Sg={[Zh]:xg};function Cg(e){return e===null||!fg(e)||Wh.isFrozen(e)}var wg=`MapSet`,Tg=`Patches`,Eg=`ArrayMethods`,Dg={};function Og(e){let t=Dg[e];return t||Uh(0,e),t}var kg=e=>!!Dg[e];function Ag(e,t){Dg[e]||(Dg[e]=t)}var jg,Mg=()=>jg,Ng=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:kg(wg)?Og(wg):void 0,arrayMethodsPlugin_:kg(Eg)?Og(Eg):void 0});function Pg(e,t){t&&(e.patchPlugin_=Og(Tg),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Fg(e){Ig(e),e.drafts_.forEach(Rg),e.drafts_=null}function Ig(e){e===jg&&(jg=e.parent_)}var Lg=e=>jg=Ng(jg,e);function Rg(e){let t=e[Hh];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function zg(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[Hh].modified_&&(Fg(t),Uh(4)),$h(e)&&(e=Bg(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[Hh].base_,e,t)}else e=Bg(t,n);return Vg(t,e,!0),Fg(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===Bh?void 0:e}function Bg(e,t){if(Cg(t))return t;let n=t[Hh];if(!n)return Yg(t,e.handledSet_,e);if(!Ug(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);qg(n,e)}return n.copy_}function Vg(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&bg(t,n)}function Hg(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var Ug=(e,t)=>e.scope_===t,Wg=[];function Gg(e,t,n,r){let i=_g(e),a=e.type_;if(r!==void 0&&og(i,r,a)===t){sg(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;rg(i,(e,n)=>{if(Qh(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??Wg;for(let e of o)sg(i,e,n,a)}function Kg(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!Ug(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=vg(i);Gg(e,i.draft_??i,a,n),qg(i,r)})}function qg(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}Hg(e)}}function Jg(e,t,n){let{scope_:r}=e;if(Qh(n)){let i=n[Hh];Ug(i,r)&&i.callbacks_.push(function(){i_(e),Gg(e,n,vg(i),t)})}else $h(n)&&e.callbacks_.push(function(){let i=_g(e);e.type_===3?i.has(n)&&Yg(n,r.handledSet_,r):og(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Yg(og(e.copy_,t,e.type_),r.handledSet_,r)})}function Yg(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||Qh(e)||t.has(e)||!$h(e)||Cg(e)?e:(t.add(e),rg(e,(r,i)=>{if(Qh(i)){let t=i[Hh];Ug(t,n)&&(sg(e,r,vg(t),e.type_),Hg(t))}else $h(i)&&Yg(i,t,n)}),e)}function Xg(e,t){let n=lg(e),r={type_:+!!n,scope_:t?t.scope_:Mg(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},i=r,a=Zg;n&&(i=[r],a=Qg);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var Zg={get(e,t){if(t===Hh)return e;let n=e.scope_.arrayMethodsPlugin_,r=e.type_===1&&typeof t==`string`;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let i=_g(e);if(!ag(i,t,e.type_))return t_(e,i,t);let a=i[t];if(e.finalized_||!$h(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&hg(t))return a;if(a===$g(e.base_,t)||e_(e,t,a)){i_(e);let n=e.type_===1?+t:t,r=o_(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in _g(e)},ownKeys(e){return Reflect.ownKeys(_g(e))},set(e,t,n){let r=n_(_g(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=$g(_g(e),t),i=r?.[Hh];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(cg(n,r)&&(n!==void 0||ag(e.base_,t,e.type_)))return!0;i_(e),r_(e)}return e.copy_[t]===n&&(n!==void 0||ag(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t])?!0:(e.copy_[t]=n,e.assigned_.set(t,!0),Jg(e,t,n),!0)},deleteProperty(e,t){return i_(e),$g(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),r_(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=_g(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[Xh]:!0,[Jh]:e.type_!==1||t!==`length`,[Yh]:r[Yh],[Zh]:n[t]}},defineProperty(){Uh(11)},getPrototypeOf(e){return Gh(e.base_)},setPrototypeOf(){Uh(12)}},Qg={};for(let e in Zg){let t=Zg[e];Qg[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}Qg.deleteProperty=function(e,t){return Qg.set.call(this,e,t,void 0)},Qg.set=function(e,t,n){return Zg.set.call(this,e[0],t,n,e[0])};function $g(e,t){let n=e[Hh];return(n?_g(n):e)[t]}function e_(e,t,n){return e.type_!==1||!e.allIndicesReassigned_||e.assigned_?.get(t)||!$h(n)||n[Hh]?!1:e.baseRefs_.has(n)}function t_(e,t,n){let r=n_(t,n);return r?Zh in r?r[Zh]:r.get?.call(e.draft_):void 0}function n_(e,t){if(!(t in e))return;let n=Gh(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=Gh(n)}}function r_(e){e.modified_||(e.modified_=!0,e.parent_&&r_(e.parent_))}function i_(e){e.copy_||=(e.assigned_=new Map,yg(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var a_=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(pg(e)&&!pg(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}pg(t)||Uh(6),n!==void 0&&!pg(n)&&Uh(7);let r;if($h(e)){let i=Lg(this),a=o_(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?Fg(i):Ig(i)}return Pg(i,n),zg(r,i)}if(!e||!fg(e)){if(r=t(e),r===void 0&&(r=e),r===Bh&&(r=void 0),this.autoFreeze_&&bg(r,!0),n){let t=[],i=[];Og(Tg).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}Uh(1,e)},this.produceWithPatches=(e,t)=>{if(pg(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},mg(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),mg(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),mg(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){$h(e)||Uh(8),Qh(e)&&(e=s_(e));let t=Lg(this),n=o_(t,e,void 0);return n[Hh].isManual_=!0,Ig(t),n}finishDraft(e,t){let n=e&&e[Hh];(!n||!n.isManual_)&&Uh(9);let{scope_:r}=n;return Pg(r,t),zg(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=Og(Tg).applyPatches_;return Qh(e)?r(e,t):this.produce(e,e=>r(e,t))}};function o_(e,t,n,r){let[i,a]=ug(t)?Og(wg).proxyMap_(t,n):dg(t)?Og(wg).proxySet_(t,n):Xg(t,n);return(n?.scope_??Mg()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?Kg(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),i}function s_(e){return Qh(e)||Uh(10,e),c_(e)}function c_(e){if(!$h(e)||Cg(e))return e;let t=e[Hh],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=yg(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=yg(e,!0);return rg(n,(e,t)=>{sg(n,e,c_(t))},r),t&&(t.finalized_=!1),n}function l_(){function e(n,r=[]){if(n.key_!==void 0){let e=n.parent_.copy_??n.parent_.base_,t=gg(og(e,n.key_)),i=og(e,n.key_);if(i===void 0||i!==n.draft_&&i!==n.base_&&i!==n.copy_||t!=null&&t.base_!==n.base_)return null;let a=n.parent_.type_===3,o;if(a){let e=n.parent_;o=Array.from(e.drafts_.keys()).indexOf(n.key_)}else o=n.key_;if(!(a&&e.size>o||ag(e,o)))return null;r.push(o)}if(n.parent_)return e(n.parent_,r);r.reverse();try{t(n.copy_,r)}catch{return null}return r}function t(e,t){let n=e;for(let e=0;e<t.length-1;e++){let r=t[e];if(n=og(n,r),!fg(n)||n===null)throw Error(`Cannot resolve path at '${t.join(`/`)}'`)}return n}let n=`replace`,r=`remove`;function i(e,t,n){if(e.scope_.processedForPatches_.has(e))return;e.scope_.processedForPatches_.add(e);let{patches_:r,inversePatches_:i}=n;switch(e.type_){case 0:case 2:return o(e,t,r,i);case 1:return a(e,t,r,i);case 3:return s(e,t,r,i)}}function a(e,t,i,a){let{base_:o,assigned_:s}=e,c=e.copy_;c.length<o.length&&([o,c]=[c,o],[i,a]=[a,i]);let l=e.allIndicesReassigned_===!0;for(let e=0;e<o.length;e++){let r=c[e],u=o[e];if((l||s?.get(e.toString()))&&r!==u){let o=r?.[Hh];if(o&&o.modified_)continue;let s=t.concat([e]);i.push({op:n,path:s,value:d(r)}),a.push({op:n,path:s,value:d(u)})}}for(let e=o.length;e<c.length;e++){let n=t.concat([e]);i.push({op:`add`,path:n,value:d(c[e])})}for(let e=c.length-1;o.length<=e;--e){let n=t.concat([e]);a.push({op:r,path:n})}}function o(e,t,i,a){let{base_:o,copy_:s,type_:c}=e;rg(e.assigned_,(e,l)=>{let u=og(o,e,c),f=og(s,e,c),p=l?ag(o,e)?n:`add`:r;if(u===f&&p===n)return;let m=t.concat(e);i.push(p===r?{op:p,path:m}:{op:p,path:m,value:d(f)}),a.push(p===`add`?{op:r,path:m}:p===r?{op:`add`,path:m,value:d(u)}:{op:n,path:m,value:d(u)})})}function s(e,t,n,i){let{base_:a,copy_:o}=e,s=0;a.forEach(e=>{if(!o.has(e)){let a=t.concat([s]);n.push({op:r,path:a,value:e}),i.unshift({op:`add`,path:a,value:e})}s++}),s=0,o.forEach(e=>{if(!a.has(e)){let a=t.concat([s]);n.push({op:`add`,path:a,value:e}),i.unshift({op:r,path:a,value:e})}s++})}function c(e,t,r){let{patches_:i,inversePatches_:a}=r;i.push({op:n,path:[],value:t===Bh?void 0:t}),a.push({op:n,path:[],value:e})}function l(e,t){return t.forEach(t=>{let{path:i,op:a}=t,o=e;for(let e=0;e<i.length-1;e++){let t=ig(o),n=i[e];typeof n!=`string`&&typeof n!=`number`&&(n=``+n),(t===0||t===1)&&(n===`__proto__`||n===Kh)&&Uh(19),pg(o)&&n===qh&&Uh(19),o=og(o,n),(o===null||!fg(o))&&Uh(18,i.join(`/`))}let s=ig(o),c=u(t.value),l=i[i.length-1];switch(a){case n:switch(s){case 2:return o.set(l,c);case 3:Uh(16);default:return o[l]=c}case`add`:switch(s){case 1:return l===`-`?o.push(c):o.splice(l,0,c);case 2:return o.set(l,c);case 3:return o.add(c);default:return o[l]=c}case r:switch(s){case 1:return o.splice(l,1);case 2:return o.delete(l);case 3:return o.delete(t.value);default:return delete o[l]}default:Uh(17,a)}}),e}function u(e){if(!$h(e))return e;if(lg(e))return e.map(u);if(ug(e))return new Map(Array.from(e.entries()).map(([e,t])=>[e,u(t)]));if(dg(e))return new Set(Array.from(e).map(u));let t=Object.create(Gh(e));for(let n in e)t[n]=u(e[n]);return ag(e,Vh)&&(t[Vh]=e[Vh]),t}function d(e){return Qh(e)?u(e):e}Ag(Tg,{applyPatches_:l,generatePatches_:i,generateReplacementPatches_:c,getPath:e})}globalThis.Iterator?.from;var u_=new a_,d_=u_.produce,f_=u_.produceWithPatches.bind(u_),p_=u_.applyPatches.bind(u_),m_=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function h_(e=21){let t=``,n=e;for(;n--;)t+=m_[Math.random()*64|0];return t}var g_=1e3;function __(e,t){if(e.add(t),e.size>g_){let t=e.values().next().value;t!==void 0&&e.delete(t)}}function v_(e){let{enablePatches:t=!1}=e;t&&l_();let n=hh(),r=e.initialValue,i=new Set;return{on:n.on,value:()=>r,patch:(e,t=h_())=>{i.has(t)||(l_(),r=p_(r,e),__(i,t),n.emit(`updated`,r,void 0,t))},mutate:(e,a=h_())=>{if(!i.has(a)){if(__(i,a),t){let[t,i]=f_(r,e);if(t===r)return;r=t,n.emit(`updated`,r,i,a)}else{let t=d_(r,e);if(t===r)return;r=t,n.emit(`updated`,r,void 0,a)}}},syncIds:i}}function y_(e){let t=new Map,n=new Map,r=new Map,i=new Set,a=e.connectionMeta.backend===`static`;function o(e,t){let n=r.get(e);return n&&typeof n==`object`&&!Array.isArray(n)&&typeof t==`object`&&!Array.isArray(t)?{...n,...t}:t}e.client.register({name:Q.broadcast.clientStateUpdated,type:`event`,handler:(e,n,r)=>{let i=t.get(e);i&&!i.syncIds.has(r)&&i.mutate(()=>o(e,n),r)}}),e.client.register({name:Q.broadcast.clientStatePatch,type:`event`,handler:(e,n,r)=>{let i=t.get(e);i&&!i.syncIds.has(r)&&i.patch(n,r)}});function s(t,n){let r=[];return r.push(n.on(`updated`,(n,r,i)=>{a||(r?e.callEvent(`devframe:rpc:server-state:patch`,t,r,i):e.callEvent(`devframe:rpc:server-state:set`,t,n,i))})),()=>{for(let e of r)e()}}return{keys:()=>Array.from(t.keys()),onKeyAdded(e){return i.add(e),()=>{i.delete(e)}},delete(e){let i=n.get(e);n.delete(e);let a=t.delete(e);return r.delete(e),i?.(),a},get:async(c,l)=>{if(l?.initialValue!==void 0&&r.set(c,l.initialValue),t.has(c))return t.get(c);let u=v_({initialValue:l?.initialValue,enablePatches:!1});async function d(){if(a||e.callEvent(`devframe:rpc:server-state:subscribe`,c),l?.initialValue!==void 0){t.set(c,u);for(let e of i)e(c);return e.call(`devframe:rpc:server-state:get`,c).then(e=>{e!==void 0&&u.mutate(()=>o(c,e))}).catch(e=>{console.error(`Error getting server state`,e)}),n.set(c,s(c,u)),u}{let r=await e.call(`devframe:rpc:server-state:get`,c);u.mutate(()=>o(c,r)),t.set(c,u);for(let e of i)e(c);return n.set(c,s(c,u)),u}}return new Promise(t=>{if(e.isTrusted)d().then(t);else{t(u);let n=!1;e.events.on(Q.client.isTrustedUpdated,e=>{e&&!n&&(n=!0,d())})}})}}}var b_=typeof self==`object`?self:globalThis,x_=new Set([`Error`,`EvalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`,`AggregateError`]),S_=new Set([`Boolean`,`Number`,`String`,`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float16Array`,`Float32Array`,`Float64Array`,`BigInt64Array`,`BigUint64Array`]);function C_(e,t){let n=(t,n)=>(e.set(n,t),t),r=i=>{if(e.has(i))return e.get(i);let[a,o]=t[i];switch(a){case 0:case-1:return n(o,i);case 1:{let e=n([],i);for(let t of o)e.push(r(t));return e}case 2:{let e=n({},i);for(let[t,n]of o)e[r(t)]=r(n);return e}case 3:return n(new Date(o),i);case 4:{let{source:e,flags:t}=o;return n(new RegExp(e,t),i)}case 5:{let e=n(new Map,i);for(let[t,n]of o)e.set(r(t),r(n));return e}case 6:{let e=n(new Set,i);for(let t of o)e.add(r(t));return e}case 7:{let{name:e,message:t}=o,r=x_.has(e)?b_[e]:void 0;return n(new(r??b_.Error)(t),i)}case 8:return n(BigInt(o),i);case`BigInt`:return n(Object(BigInt(o)),i);case`ArrayBuffer`:return n(new Uint8Array(o).buffer,o);case`DataView`:{let{buffer:e}=new Uint8Array(o);return n(new DataView(e),o)}}if(typeof a==`string`&&S_.has(a))return n(new b_[a](o),i);throw TypeError(`unable to deserialize unsafe or unknown type: ${String(a)}`)};return r}function w_(e){return C_(new Map,e)(0)}var T_=``,{toString:E_}={},{keys:D_}=Object;function O_(e){let t=typeof e;if(t!==`object`||!e)return[0,t];let n=E_.call(e).slice(8,-1);switch(n){case`Array`:return[1,T_];case`Object`:return[2,T_];case`Date`:return[3,T_];case`RegExp`:return[4,T_];case`Map`:return[5,T_];case`Set`:return[6,T_];case`DataView`:return[1,n]}return n.includes(`Array`)?[1,n]:n.includes(`Error`)?[7,n]:[2,n]}function k_([e,t]){return e===0&&(t===`function`||t===`symbol`)}function A_(e,t,n,r){let i=(e,t)=>{let i=r.push(e)-1;return n.set(t,i),i},a=r=>{if(n.has(r))return n.get(r);let[o,s]=O_(r);switch(o){case 0:{let t=r;switch(s){case`bigint`:o=8,t=r.toString();break;case`function`:case`symbol`:if(e)throw TypeError(`unable to serialize ${s}`);t=null;break;case`undefined`:return i([-1],r)}return i([o,t],r)}case 1:{if(s){let e=r;return s===`DataView`?e=new Uint8Array(r.buffer):s===`ArrayBuffer`&&(e=new Uint8Array(r)),i([s,[...e]],r)}let e=[],t=i([o,e],r);for(let t of r)e.push(a(t));return t}case 2:{if(s)switch(s){case`BigInt`:return i([s,r.toString()],r);case`Boolean`:case`Number`:case`String`:return i([s,r.valueOf()],r)}if(t&&`toJSON`in r)return a(r.toJSON());let n=[],c=i([o,n],r);for(let t of D_(r))(e||!k_(O_(r[t])))&&n.push([a(t),a(r[t])]);return c}case 3:return i([o,r.toISOString()],r);case 4:{let{source:e,flags:t}=r;return i([o,{source:e,flags:t}],r)}case 5:{let t=[],n=i([o,t],r);for(let[n,i]of r)(e||!(k_(O_(n))||k_(O_(i))))&&t.push([a(n),a(i)]);return n}case 6:{let t=[],n=i([o,t],r);for(let n of r)(e||!k_(O_(n)))&&t.push(a(n));return n}}let{message:c}=r;return i([o,{name:s,message:c}],r)};return a}function j_(e,t={}){let n=[];return A_(!(t.json||t.lossy),!!t.json,new Map,n)(e),n}var{parse:M_,stringify:N_}=JSON,P_={json:!0,lossy:!0};function F_(e){return w_(M_(e))}function I_(e){return N_(j_(e,P_))}function L_(e){return w_(e)}function R_(e){return I_(e)}function z_(e){return F_(e)}var B_=new Map;function V_(e=B_){let t=new Map;return{serialize:n=>{let r;return n.t===`q`?r=n.m:(r=t.get(n.i),t.delete(n.i)),!(n.t===`s`&&`e`in n)&&r&&e.get(r)?.jsonSerializable===!0?dh(n,r??``):`s:${R_(n)}`},deserialize:e=>{let n=e.startsWith(`s:`)?z_(e.slice(2)):JSON.parse(e);return n.t===`q`&&n.i&&n.m&&t.set(n.i,n.m),n}}}function H_(){}function U_(e){let t=e.search(/\n\n|\r\n\r\n/);if(!(t<0))return{frame:e.slice(0,t),rest:e.slice(t+(e[t]===`\r`?4:2))}}function W_(e){let t=`message`,n=[];for(let r of e.split(/\r?\n/))r.startsWith(`:`)||(r.startsWith(`event:`)?t=r.slice(6).trimStart():r.startsWith(`data:`)&&n.push(r.slice(5).replace(/^ /,``)));return{event:t,data:n}}function G_(e){let{onConnected:t=H_,onError:n=H_,onDisconnected:r=H_,definitions:i,fetch:a=globalThis.fetch.bind(globalThis)}=e,o=e.url;e.authToken&&(o=`${o}${o.includes(`?`)?`&`:`?`}${Hm}=${encodeURIComponent(e.authToken)}`);let s=V_(i),c=new AbortController,l=!1,u,d,f,p,m=new Promise((e,t)=>{f=e,p=t});m.catch(()=>{});function h(e){l||(l=!0,p(e),n(e),r())}function g(){l||(l=!0,p(Error(`Devframe SSE stream closed`)),r())}function _(e,n){if(e===`session`){f(n),t();return}u?.(n)}async function v(e){let t=e.getReader();d=t;let n=new TextDecoder,r=``;for(;;){let{done:e,value:i}=await t.read();if(e)break;for(r+=n.decode(i,{stream:!0});;){let e=U_(r);if(!e)break;r=e.rest;let{event:t,data:n}=W_(e.frame);n.length>0&&_(t,n.join(`
8
+ `))}}g()}return(async()=>{try{let e=await a(o,{headers:{accept:`text/event-stream`},signal:c.signal});if(!e.ok||!e.body)throw Error(`Devframe SSE stream request failed: ${e.status}`);await v(e.body)}catch(e){if(c.signal.aborted){g();return}h(e instanceof Error?e:Error(String(e)))}})(),{close:()=>{l=!0,c.abort(),d?.cancel().catch(()=>{})},on:e=>{u=e},post:async e=>{let t;try{t=await m}catch{return}if(l){n(Error(`Devframe SSE channel is closed; message dropped`));return}try{let n=await a(o,{method:`POST`,headers:{"content-type":`text/plain; charset=utf-8`,[Rm]:t},body:e});if(n.status===200){let e=await n.text();e&&u?.(e);return}if(!n.ok)throw Error(`Devframe SSE POST failed: ${n.status}`)}catch(e){n(e instanceof Error?e:Error(String(e)))}},serialize:s.serialize,deserialize:s.deserialize}}function K_(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var q_=Math.random.bind(Math),J_=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function Y_(e=21){let t=``,n=e;for(;n--;)t+=J_[q_()*64|0];return t}var X_=6e4,Z_=e=>e,Q_=Z_,{clearTimeout:$_,setTimeout:ev}=globalThis;function tv(e,t){let{post:n,on:r,off:i=()=>{},eventNames:a=[],serialize:o=Z_,deserialize:s=Q_,resolver:c,bind:l=`rpc`,timeout:u=X_,proxify:d=!0}=t,f=!1,p=new Map,m,h;async function g(e,r,i,a){if(f)throw Error(`[birpc] rpc is closed, cannot call "${e}"`);let s={m:e,a:r,t:`q`};a&&(s.o=!0);let c=async e=>n(o(e));if(i){await c(s);return}if(m)try{await m}finally{m=void 0}let{promise:l,resolve:d,reject:g}=K_(),_=Y_();s.i=_;let v;async function y(n=s){return u>=0&&(v=ev(()=>{try{if(t.onTimeoutError?.call(h,e,r)!==!0)throw Error(`[birpc] timeout on calling "${e}"`)}catch(e){g(e)}p.delete(_)},u),typeof v==`object`&&(v=v.unref?.())),p.set(_,{resolve:d,reject:g,timeoutId:v,method:e}),await c(n),l}try{t.onRequest?await t.onRequest.call(h,s,y,d):await y()}catch(e){if(t.onGeneralError?.call(h,e)!==!0)throw e;return}finally{$_(v),p.delete(_)}return l}let _={$call:(e,...t)=>g(e,t,!1),$callOptional:(e,...t)=>g(e,t,!1,!0),$callEvent:(e,...t)=>g(e,t,!0),$callRaw:e=>g(e.method,e.args,e.event,e.optional),$rejectPendingCalls:y,get $closed(){return f},get $meta(){return t.meta},$close:v,$functions:e};h=d?new Proxy({},{get(t,n){if(Object.hasOwn(_,n))return _[n];if(n===`then`&&!a.includes(`then`)&&!(`then`in e))return;let r=(...e)=>g(n,e,!0);if(a.includes(n))return r.asEvent=r,r;let i=(...e)=>g(n,e,!1);return i.asEvent=r,i}}):_;function v(e){f=!0,p.forEach(({reject:t,method:n})=>{let r=Error(`[birpc] rpc is closed, cannot call "${n}"`);if(e)return e.cause??=r,t(e);t(r)}),p.clear(),i(b)}function y(e){let t=Array.from(p.values()).map(({method:t,reject:n})=>e?e({method:t,reject:n}):n(Error(`[birpc]: rejected pending call "${t}".`)));return p.clear(),t}async function b(r,...i){let a;try{a=s(r)}catch(e){if(t.onGeneralError?.call(h,e)!==!0)throw e;return}if(a.t===`q`){let{m:r,a:s,o:u}=a,d,f,p=await(c?c.call(h,r,e[r]):e[r]);if(u&&(p||=()=>void 0),!p)f=Error(`[birpc] function "${r}" not found`);else try{d=await p.apply(l===`rpc`?h:e,s)}catch(e){f=e}if(a.i){if(f&&t.onFunctionError&&t.onFunctionError.call(h,f,r,s)===!0)return;if(!f)try{await n(o({t:`s`,i:a.i,r:d}),...i);return}catch(e){if(f=e,t.onGeneralError?.call(h,e,r,s)!==!0)throw e}try{await n(o({t:`s`,i:a.i,e:f}),...i)}catch(e){if(t.onGeneralError?.call(h,e,r,s)!==!0)throw e}}}else{let{i:e,r:t,e:n}=a,r=p.get(e);r&&($_(r.timeoutId),n?r.reject(n):r.resolve(t)),p.delete(e)}}return m=r(b),h}function nv(e,t){let{channel:n,rpcOptions:r={}}=t;return tv(e,{...n,timeout:-1,...r,proxify:!1})}function rv(e){let{transport:t,authToken:n,connectionMeta:r,events:i,clientRpc:a,rpcOptions:o={},callTimeout:s=0}=e,c=!1,l=`connecting`,u=null,d=Promise.withResolvers();function f(e,t=null){if(t?u=t:e===`connected`&&(u=null),e===l)return;let n=l;l=e,i.emit(Q.client.connectionStatus,e,n)}let p=new Set;function m(e){for(let t of[...p])t.reject(e)}function h(){return l===`disconnected`||l===`error`?new Ph(`connection`,`[devframe] Not connected to the devframe server`,{cause:u??void 0}):l===`unauthorized`?new Ph(`auth`,`[devframe] Not authorized by the devframe server`,{cause:u??void 0}):null}function g(e,t){return new Promise((n,r)=>{let a=!1,o,c={reject(e){a||(l(),i.emit(Q.client.error,e,t),r(e))}};function l(){a=!0,p.delete(c),o&&clearTimeout(o)}p.add(c),s>0&&(o=setTimeout(()=>{c.reject(new Ph(`timeout`,`[devframe] RPC call "${t}" timed out after ${s}ms`))},s)),e.then(e=>{a||(l(),n(e))},e=>{if(a)return;l();let n=e instanceof Error?e:Error(String(e));i.emit(Q.client.error,n,t),r(n)})})}let _=new Map;for(let e of r.jsonSerializableMethods??[])_.set(e,{jsonSerializable:!0});let v=e.createChannel({definitions:_,onError(e){f(`error`,e),i.emit(Q.client.connectionError,e),m(new Ph(`connection`,`[devframe] Connection to the devframe server failed`,{cause:e}))},onDisconnected(){l!==`error`&&f(`disconnected`),m(new Ph(`connection`,`[devframe] Disconnected from the devframe server`,{cause:u??void 0}))}}),y=nv(a.functions,{channel:v,rpcOptions:o});a.register({name:Q.broadcast.authRevoked,type:`event`,handler:()=>{c=!1;let e=new Ph(`auth`,`[devframe] The devframe server revoked this client's trust`);f(`unauthorized`,e),i.emit(Q.client.connectionError,e),m(e),i.emit(Q.client.isTrustedUpdated,!1)}});let b=n;async function x(e){b=e;let t=await y.$call(`anonymous:devframe:auth`,{authToken:e,ua:navigator.userAgent,origin:location.origin});if(c=t.isTrusted,c)d.resolve(!0),f(`connected`);else{let e=new Ph(`auth`,`[devframe] The devframe server refused this client's credentials`);f(`unauthorized`,e),i.emit(Q.client.connectionError,e)}return i.emit(Q.client.isTrustedUpdated,c),t.isTrusted}async function S(e){let t=(await y.$call(`anonymous:devframe:auth:exchange`,{code:e,ua:navigator.userAgent,origin:location.origin}))?.authToken??null;return t&&(b=t,c=!0,d.resolve(!0),f(`connected`),i.emit(Q.client.isTrustedUpdated,!0)),t}async function C(e={}){await y.$call(`anonymous:devframe:auth:request-code`,{ua:navigator.userAgent,origin:location.origin,...e.reissue?{reissue:!0}:{}})}async function w(){return c?!0:x(b??``)}async function T(e=6e4){if(c&&d.resolve(!0),e<=0)return d.promise;let t;try{return await Promise.race([d.promise,new Promise((n,r)=>{t=setTimeout(()=>{r(Error(`[devframe] Timeout waiting for rpc to be trusted`))},e)})]),c}finally{clearTimeout(t)}}return{transport:t,get isTrusted(){return c},get status(){return l},get connectionError(){return u},requestTrust:w,requestTrustWithToken:x,requestTrustWithCode:S,requestAuthCode:C,ensureTrusted:T,call:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(Q.client.error,n,t),Promise.reject(n)):g(y.$call(...e),t)},callEvent:(...e)=>{let t=h();if(t){i.emit(Q.client.error,t,String(e[0]));return}return y.$callEvent(...e)},callOptional:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(Q.client.error,n,t),Promise.reject(n)):g(y.$callOptional(...e),t)},close:()=>{v.close()}}}function iv(e,t,n){let r=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})();if(e&&typeof e==`object`){if(e.host!=null||e.port!=null){let t=e.host??`${r.hostname}:${e.port}`;return new URL(e.path??`/`,`${r.protocol}//${t}`).href}return new URL(e.path??``,r).href}let i=e??``;return/^https?:\/\//i.test(i)?i:new URL(i,r).href}function av(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},sseOptions:s={},callTimeout:c=0}=e,l=iv(n.sse,r??`./`,location);return rv({transport:`sse`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>G_({url:l,authToken:t,definitions:e.definitions,...s,onConnected(){s.onConnected?.()},onError(t){e.onError(t),s.onError?.(t)},onDisconnected(){e.onDisconnected(),s.onDisconnected?.()}})})}function ov(e){let{name:t,message:n,cause:r,...i}=e,a=r instanceof Error?r:sv(r)?ov(r):r,o=a===void 0?Error(n):Error(n,{cause:a});return o.name=t,Object.assign(o,i),o}function sv(e){return typeof e==`object`&&!!e&&typeof e.message==`string`&&typeof e.name==`string`}function cv(e){return typeof e==`object`&&!!e&&e.type===`static`&&typeof e.path==`string`}function lv(e){return typeof e==`object`&&!!e&&e.type===`query`&&typeof e.records==`object`&&e.records!==null}function uv(e){return typeof e==`object`&&!!e&&(`output`in e||`error`in e)}function dv(e){if(e.error)throw ov(e.error);return e.output}function fv(e){return e.some(e=>e!=null)}function pv(e){return typeof e==`object`&&e&&`serialization`in e&&`data`in e?e.data:e}function mv(e,t){let n=new Map,r=new Map;function i(e,t){return t===`structured-clone`&&Array.isArray(e)?L_(e):e}function a(e,t){return i(pv(e),t)}async function o(e){n.has(e.path)||n.set(e.path,t(e.path).then(t=>a(t,e.serialization)));let r=await n.get(e.path);return uv(r)?dv(r):r}async function s(e,n){return r.has(e)||r.set(e,t(e).then(e=>a(e,n))),await r.get(e)}async function c(t,n){if(!(t in e))throw Error(`[devframe-rpc] Function "${t}" not found in dump store`);let r=e[t];if(cv(r)){if(fv(n))throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`);return await o(r)}if(lv(r)){let e=Um(n),i=r.records[e];if(i)return dv(await s(i,r.serialization));if(r.fallback)return dv(await s(r.fallback,r.serialization));throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}if(!fv(n))return r;throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}return{call:async(e,t)=>await c(e,t),callOptional:async(t,n)=>{if(t in e)return await c(t,n)},callEvent:async(e,t)=>{}}}async function hv(e){let t=mv(await e.fetchJsonFromBases(zm),e.fetchJsonFromBases);return{transport:`static`,isTrusted:!0,status:`connected`,connectionError:null,requestTrust:async()=>!0,requestTrustWithToken:async()=>!0,requestTrustWithCode:async()=>null,requestAuthCode:async()=>{},ensureTrusted:async()=>!0,call:(...e)=>t.call(e[0],e.slice(1)),callEvent:(...e)=>t.callEvent(e[0],e.slice(1)),callOptional:(...e)=>t.callOptional(e[0],e.slice(1)),close:()=>{}}}var gv=256,_v=class extends Error{name=`StreamClosedError`};function vv(e={}){let t=e.id??h_(),n=Math.max(0,e.replayWindow??0),r=hh(),i=new AbortController,a=[],o=!1,s=0;function c(e){if(o)throw new _v(`Cannot write to a closed stream "${t}"`);s+=1,n>0&&(a.push({seq:s,chunk:e}),a.length>n&&(a.length-n===1?a.shift():a.splice(0,a.length-n))),r.emit(`chunk`,s,e)}function l(e){if(o)return;o=!0;let t=bv(e);i.abort(e),r.emit(`end`,t)}function u(){o||(o=!0,i.signal.aborted||i.abort(`stream closed`),r.emit(`end`,void 0))}function d(e){o||i.signal.aborted||i.abort(e??`aborted`)}let f=new WritableStream({write(e){c(e)},close(){u()},abort(e){l(e)}});return{id:t,signal:i.signal,get closed(){return o},get lastSeq(){return s},write:c,error:l,close:u,abort:d,writable:f,events:r,buffer:a}}function yv(e={}){let t=e.id??h_(),n=Math.max(1,e.highWaterMark??gv),r=[],i=0,a=!1,o=!1,s,c,l,u;function d(){if(c){if(r.length>0){let e=r.shift(),t=c;c=void 0,t.resolve({value:e,done:!1});return}if(a){let e=c;if(c=void 0,s){let t=Error(s.message);t.name=s.name,e.reject(t)}else e.resolve({value:void 0,done:!0})}}}function f(){if(l){for(;r.length>0;){let e=r.shift();try{l.enqueue(e)}catch{break}}if(a&&l){try{if(s){let e=Error(s.message);e.name=s.name,l.error(e)}else l.close()}catch{}l=void 0}}}function p(t,s){if(!(a||o)&&!(t<=i)){if(i=t,r.push(s),r.length>n){let t=r.length-n;r.splice(0,t),e.onOverflow?.(t)}d(),u&&f()}}function m(e){a||(a=!0,s=e,d(),u&&f())}function h(){o||a||(o=!0,e.onCancel?.(),m(void 0))}function g(){return u||(u=new ReadableStream({start(e){l=e,f()},cancel(){h()}}),u)}return{id:t,get cancelled(){return o},get done(){return a},get lastSeenSeq(){return i},get readable(){return g()},cancel:h,_push:p,_end:m,[Symbol.asyncIterator](){return{next(){if(r.length>0)return Promise.resolve({value:r.shift(),done:!1});if(a){if(s){let e=Error(s.message);return e.name=s.name,Promise.reject(e)}return Promise.resolve({value:void 0,done:!0})}return new Promise((e,t)=>{c={resolve:e,reject:t}})},return(){return h(),Promise.resolve({value:void 0,done:!0})}}}}}function bv(e){if(e instanceof Error)return{name:e.name||`Error`,message:e.message};if(typeof e==`string`)return{name:`Error`,message:e};try{return{name:`Error`,message:JSON.stringify(e)}}catch{return{name:`Error`,message:String(e)}}}var xv=``;function Sv(e,t){return`${e}${xv}${t}`}function Cv(e){let t=new Map,n=new Map;e.client.register({name:Q.broadcast.streamingChunk,type:`event`,handler(e,n,r,i){t.get(Sv(e,n))?._push(r,i)}}),e.client.register({name:Q.broadcast.streamingEnd,type:`event`,handler(e,n,r){let i=Sv(e,n),a=t.get(i);a&&(a._end(r),t.delete(i))}}),e.client.register({name:Q.broadcast.streamingUploadCancel,type:`event`,handler(e,t){let r=Sv(e,t),i=n.get(r);i&&(i.abort(`server cancelled upload`),n.delete(r))}}),e.events.on(Q.client.isTrustedUpdated,n=>{if(n)for(let[n,r]of t){if(r.cancelled||r.done)continue;let t=n.indexOf(xv);if(t<0)continue;let i=n.slice(0,t),a=n.slice(t+1);e.callEvent(`devframe:streaming:subscribe`,i,a,{afterSeq:r.lastSeenSeq})}});function r(n,r,i={}){let a=Sv(n,r),o=t.get(a);if(o)return o;let s=yv({id:r,highWaterMark:i.highWaterMark,onOverflow(e){console.warn(`[devframe] DF0029: Stream "${n}#${r}" dropped ${e} chunk(s) after exceeding the client high-water mark.`)},onCancel(){e.callEvent(`devframe:streaming:cancel`,n,r),t.delete(a)}});if(t.set(a,s),e.isTrusted)e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:0});else{let i=e.events.on(Q.client.isTrustedUpdated,o=>{o&&(i(),t.has(a)&&!s.cancelled&&!s.done&&e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:s.lastSeenSeq}))})}return s}function i(t,r){let i=Sv(t,r),a=n.get(i);if(a)return a;let o=vv({id:r});return o.events.on(`chunk`,(n,i)=>{e.callEvent(`devframe:streaming:upload-chunk`,t,r,n,i)}),o.events.on(`end`,a=>{e.callEvent(`devframe:streaming:upload-end`,t,r,a),n.delete(i)}),n.set(i,o),o}return{subscribe:r,upload:i}}function wv(){}var Tv=new Map;function Ev(e){let t=e.url;e.authToken&&(t=`${t}?${Hm}=${encodeURIComponent(e.authToken)}`);let n=new WebSocket(t),{onConnected:r=wv,onError:i=wv,onDisconnected:a=wv,definitions:o=Tv}=e;n.addEventListener(`open`,e=>{r(e)}),n.addEventListener(`error`,e=>{let t=e instanceof Error?e:Error(e.type);i(t)}),n.addEventListener(`close`,e=>{a(e)});let s=V_(o);return{close:()=>{n.close()},on:e=>{n.addEventListener(`message`,t=>{e(t.data)})},post:e=>{if(n.readyState===WebSocket.OPEN){n.send(e);return}if(n.readyState===WebSocket.CONNECTING){let t=()=>{i(),n.readyState===WebSocket.OPEN&&n.send(e)},r=()=>i();function i(){n.removeEventListener(`open`,t),n.removeEventListener(`close`,r)}n.addEventListener(`open`,t),n.addEventListener(`close`,r);return}i(Error(`Devframe WebSocket is not open; message dropped`))},serialize:s.serialize,deserialize:s.deserialize}}function Dv(e,t,n){let r=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})(),i=r.protocol===`https:`?`wss:`:`ws:`;if(e&&typeof e==`object`){if(e.host!=null||e.port!=null){let t=e.host??`${r.hostname}:${e.port}`,n=new URL(e.path??`/`,`${i}//${t}`);return n.protocol=i,n.href}let t=new URL(e.path??``,r);return t.protocol=i,t.href}if(typeof e==`number`)return`${i}//${r.hostname}:${e}`;let a=e??``;if(/^wss?:\/\//i.test(a))return a;if(/^https?:\/\//i.test(a))return xh(a,/^https/i.test(a)?`wss://`:`ws://`);let o=new URL(a,r);return o.protocol=i,o.href}function Ov(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},wsOptions:s={},callTimeout:c=0}=e,l=Dv(n.websocket,r??`./`,location);return rv({transport:`websocket`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>Ev({url:l,authToken:t,definitions:e.definitions,...s,onConnected(e){s.onConnected?.(e)},onError(t){e.onError(t),s.onError?.(t)},onDisconnected(t){e.onDisconnected(),s.onDisconnected?.(t)}})})}function kv(e){return e.includes(`:`)}function Av(e,t){return kv(t)?t:`${e}:${t}`}function jv(e){return{async get(t){return(await e()).value()[t]},async set(t,n){(await e()).mutate(e=>{e[t]=n})},async delete(t){(await e()).mutate(e=>{delete e[t]})},async all(){return(await e()).value()},async onChange(t){return(await e()).on(`updated`,e=>t(e))}}}function Mv(e,t,n){let r=`devframe:settings:${n}:${t}`,i;function a(){return i||=e.sharedState.get(r,{initialValue:{}}),i}return jv(a)}function Nv(e,t){return{global:Mv(e,t,`global`),project:Mv(e,t,`project`)}}function Pv(e,t){return{namespace:t,base:e,rpc:{namespace:t,register(n){if(kv(n.name))throw Error(`[devframe] Scoped client RPC registration for namespace "${t}" received an already-namespaced function name "${n.name}". Pass a bare name without a ":" separator.`);e.client.register({...n,name:`${t}:${n.name}`})},call:((n,...r)=>e.call(Av(t,n),...r)),callEvent:((n,...r)=>e.callEvent(Av(t,n),...r)),callOptional:((n,...r)=>e.callOptional(Av(t,n),...r)),sharedState:((n,r)=>e.sharedState.get(Av(t,n),r)),streaming:{subscribe:(n,r,i)=>e.streaming.subscribe(Av(t,n),r,i),upload:(n,r)=>e.streaming.upload(Av(t,n),r)}},settings:Nv(e,t),scope:e.scope}}var Fv=128;function Iv(e){return e.replace(/[^\w-]+/g,`_`).slice(0,Fv)}var Lv=Object.freeze({type:`object`,additionalProperties:!0});function Rv(e){let t=e[`~standard`];if(t.jsonSchema)try{return t.jsonSchema.input({target:`draft-2020-12`})}catch{return Lv}return Lv}function zv(e){if(!e||e.length===0)return{type:`object`,properties:{}};let t={},n=[];for(let r=0;r<e.length;r++){let i=`arg${r}`;t[i]=Rv(e[r]),n.push(i)}return{type:`object`,properties:t,required:n,additionalProperties:!1}}function Bv(e,t){if(Array.isArray(e))return e;if(e==null)return[];if(typeof e!=`object`)return;let n=e;if(t!=null)return Array.from({length:t},(e,t)=>n[`arg${t}`]);if(`arg0`in n){let e=[];for(;`arg${e.length}`in n;)e.push(n[`arg${e.length}`]);return e}return Object.keys(n).length===0?[]:void 0}function Vv(e,t){return Bv(e,t)??[e]}function Hv(){if(typeof document<`u`){let e=document.modelContext;if(e)return e}if(typeof navigator<`u`){let e=navigator.modelContext;if(e)return e}}function Uv(e,t={}){let n=t.modelContext??Hv();if(!n)return()=>{};let r=n,i=new Map,a=new Map;function o(t,n){let o=Iv(t.name),s=a.get(o);if(s&&s!==t.name){console.warn(`[devframe] WebMCP tool name "${o}" (from "${t.name}") collides with "${s}"; keeping the first registration.`);return}let c=new AbortController,l=r.registerTool({name:o,description:n.description,inputSchema:zv(t.args),annotations:{title:n.title??t.name,readOnlyHint:Wv(t,n)===`read`,destructiveHint:Wv(t,n)===`destructive`},execute:n=>Gv(t,e.context,n)},{signal:c.signal});l&&`then`in l&&l.then(()=>{},()=>{}),a.set(o,t.name),i.set(t.name,()=>{c.abort(),l&&`unregister`in l&&typeof l.unregister==`function`&&l.unregister(),a.delete(o)})}function s(t){let n=t?[t]:[...e.definitions.keys()];for(let t of n){i.get(t)?.(),i.delete(t);let n=e.definitions.get(t),r=n?.agent;n&&r&&o(n,r)}}s();let c=e.onChanged(e=>s(e));return()=>{c();for(let e of i.values())e();i.clear()}}function Wv(e,t){if(t.safety)return t.safety;let n=e.type??`query`;return n===`static`||n===`query`?`read`:`action`}async function Gv(e,t,n){try{let r=Vv(n,e.args?.length);return{content:[{type:`text`,text:Kv(await(await lh(e,t))(...r))}]}}catch(e){return{isError:!0,content:[{type:`text`,text:qv(e)}]}}}function Kv(e){return e===void 0?`undefined`:typeof e==`string`?e:JSON.stringify(e,null,2)}function qv(e){if(!(e instanceof Error))return String(e);let t=e.cause instanceof Error?` (cause: ${e.cause.message})`:``;return`${e.name}: ${e.message}${t}`}function Jv(e,t){if(t.backend===`static`)return`static`;let n=t.websocket!==void 0,r=t.sse!==void 0;if(e===`websocket`){if(!n)throw Error(`[devframe] transport: 'websocket' was requested, but this server does not advertise a WebSocket endpoint`);return`websocket`}if(e===`sse`){if(!r)throw Error(`[devframe] transport: 'sse' was requested, but this server does not advertise an SSE endpoint`);return`sse`}if(t.backend===`sse`&&r)return`sse`;if(n)return`websocket`;if(r)return`sse`;throw Error(`[devframe] This server advertises no RPC transport (backend "none"), so there is nothing to connect to. Enable the WebSocket or SSE endpoint on the server, or use its static/MCP surfaces instead.`)}async function Yv(e={}){let{baseURL:t=`./`,rpcOptions:n={},cacheOptions:r=!1}=e,i=hh(),a=Array.isArray(t)?t:[t],o=await Nh(e),{connectionMeta:s,metaBaseUrl:c,authToken:l}=o,u=a[0]??`./`;try{u=new URL(`.`,c).href}catch{}let d=new Wm({functions:[],...typeof e.cacheOptions==`object`?e.cacheOptions:{}}),f={rpc:void 0},p=new uh(f),m=e.webmcp===!1?void 0:Uv(p);async function h(e){let t=[u,...a.filter(e=>e!==u)].filter(e=>e!=null),n=[];for(let r of t)try{return await fetch(bh(e,r)).then(t=>{if(!t.ok)throw Error(`Failed to fetch ${e} from ${r}: ${t.status}`);return t.json()})}catch(e){n.push(e)}throw Error(`Failed to load ${e} from ${t.join(`, `)}`,{cause:n})}let g={authToken:l,connectionMeta:s,metaBaseUrl:c,events:i,clientRpc:p,callTimeout:e.callTimeout,rpcOptions:{...n,async onRequest(e,t,i){if(await n.onRequest?.call(this,e,t,i),r&&d?.validate(e.m)){if(d.has(e.m,e.a))return i(d.cached(e.m,e.a));let n=await t(e);d.apply(e,n)}else await t(e)}}},_=Jv(e.transport??`auto`,s),v=_===`static`?await hv({fetchJsonFromBases:h}):_===`sse`?av({...g,sseOptions:e.sseOptions}):Ov({...g,wsOptions:e.wsOptions}),y;try{y=new BroadcastChannel(`devframe-auth`)}catch{}let b,x=!1;function S(e){return((...t)=>x||!b?e(...t):b.then(()=>e(...t)))}function C(){try{m?.()}finally{try{y?.close()}finally{v.close?.()}}}let w={events:i,get isTrusted(){return v.isTrusted},get status(){return v.status},get connectionError(){return v.connectionError},get transport(){return v.transport??_},get connection(){return o},connectionMeta:s,ensureTrusted:v.ensureTrusted,requestTrust:v.requestTrust,requestTrustWithToken:async e=>(kh(e),o={...o,authToken:e},v.requestTrustWithToken(e)),requestTrustWithCode:async e=>{let t=await v.requestTrustWithCode(e);if(!t)return!1;kh(t),o={...o,authToken:t};try{y?.postMessage({type:`auth-update`,authToken:t})}catch{}return!0},requestAuthCode:e=>v.requestAuthCode(e),call:S(v.call),callEvent:S(v.callEvent),callOptional:S(v.callOptional),client:p,sharedState:void 0,services:void 0,streaming:void 0,cacheManager:d,scope:void 0,close:C};w.sharedState=y_(w),w.streaming=Cv(w),w.services=zh(w);let T=new Map;w.scope=(e=>{if(!e)return w;let t=T.get(e);return t||(t=Pv(w,e),T.set(e,t)),t}),f.rpc=w;function E(){try{return typeof window<`u`&&window.self===window.top}catch{return!1}}async function D(){if(e.simpleAuth!==!1&&E()&&typeof globalThis.prompt==`function`)for(await w.requestAuthCode().catch(()=>{});!w.isTrusted;){let e=globalThis.prompt(`devframe: enter the authentication code shown in your terminal`);if(e==null)return;let t=e.trim();if(t&&await w.requestTrustWithCode(t))return}}async function ee(){let t=await v.requestTrust(),n=e.otpParam??`devframe_otp`,r=n?await Rh(w,{param:n}):!1;t||r||w.isTrusted||await D()}return b=ee().then(()=>{x=!0},()=>{x=!0}),y&&(y.onmessage=e=>{e.data?.type===`auth-update`&&e.data.authToken&&w.requestTrustWithToken(e.data.authToken)}),w}var Xv=Yv,Zv=F([]),Qv=F(!0),$v=1;function ey(e){Qv.value&&Zv.value.push({...e,id:$v++})}function ty(){Zv.value=[]}var ny=Yt({connected:!1,status:`connecting`,error:null,backend:null}),ry=cn(null);function iy(e){let t=e.call.bind(e);e.call=async(e,...n)=>{let r=Date.now();try{let i=await t(e,...n);return!e.includes(`list-functions`)&&!e.includes(`list-state-keys`)&&e!==`devframe:rpc:server-state:get`&&ey({type:`call`,method:e,args:n,result:i,duration:Date.now()-r,time:r}),i}catch(t){throw!e.includes(`list-functions`)&&!e.includes(`list-state-keys`)&&e!==`devframe:rpc:server-state:get`&&ey({type:`call`,method:e,args:n,error:t,duration:Date.now()-r,time:r}),t}};let n=e.callEvent.bind(e);e.callEvent=(e,...t)=>(!e.includes(`list-functions`)&&!e.includes(`list-state-keys`)&&e!==`devframe:rpc:server-state:subscribe`&&ey({type:`call`,method:e,args:t,duration:0,time:Date.now()}),n(e,...t));let r=e.client.definitions.get(`devframe:rpc:client-state:updated`);if(r&&r.handler){let e=r.handler;r.handler=(t,n,r)=>(ey({type:`state`,key:t,value:n,syncId:r,time:Date.now()}),e(t,n,r))}let i=e.client.definitions.get(`devframe:rpc:client-state:patch`);if(i&&i.handler){let e=i.handler;i.handler=(t,n,r)=>(ey({type:`state`,key:t,patches:n,syncId:r,time:Date.now()}),e(t,n,r))}}function ay(e){ny.status=e.status,ny.connected=e.status===`connected`,ny.error=e.connectionError?.message??null}async function oy(){try{let e=await Xv();iy(e),ry.value=e,ny.backend=e.connectionMeta.backend,ay(e),e.events.on(`connection:status`,()=>ay(e)),e.connectionMeta.backend===`websocket`&&e.ensureTrusted(5e3).catch(()=>{})}catch(e){ny.status=`error`,ny.error=e?.message??String(e)}}function sy(){return ry}function cy(){return ny.backend===`static`}var ly=R({__name:`FeedbackSpinner`,props:{size:{default:`1em`}},setup(e){let t=e,n=Y(()=>typeof t.size==`number`?`${t.size}px`:t.size);return(e,t)=>(H(),U(`span`,{class:`border-2 border-current border-t-transparent rounded-full inline-block animate-spin`,style:me({width:n.value,height:n.value}),role:`status`,"aria-label":`Loading`},null,4))}}),uy=R({__name:`ActionButton`,props:{as:{},to:{},href:{},icon:{},variant:{default:`action`},size:{default:`md`},loading:{type:Boolean},disabled:{type:Boolean}},setup(e){let t=e,n=Y(()=>t.as?t.as:t.href!=null||t.to!=null?`a`:`button`),r=Y(()=>n.value===`a`),i=Y(()=>n.value===`button`),a=Y(()=>t.size===`sm`),o=Y(()=>t.variant===`primary`?a.value?`btn-primary text-sm`:`btn-primary`:t.variant===`text`?a.value?`btn-text text-sm`:`btn-text`:a.value?`btn-action-sm`:`btn-action`),s=Y(()=>t.disabled||t.loading);return(t,a)=>(H(),W(ca(n.value),{class:A([o.value,{"pointer-events-none op-mute":s.value&&!i.value}]),href:r.value?e.href??e.to:void 0,to:e.as&&e.to!=null?e.to:void 0,disabled:i.value?s.value:void 0,"aria-disabled":s.value||void 0,"aria-busy":e.loading||void 0},{default:L(()=>[e.loading?(H(),W(ly,{key:0,size:`1em`})):e.icon?(H(),U(`span`,{key:1,class:A(e.icon),"aria-hidden":`true`},null,2)):J(``,!0),ma(t.$slots,`default`)]),_:3},8,[`class`,`href`,`to`,`disabled`,`aria-disabled`,`aria-busy`]))}}),dy={class:`min-w-0`},fy=R({__name:`FeedbackTip`,props:{type:{default:`info`},icon:{}},setup(e){let t=e,n={info:`bg-blue-400/10 border-blue-500/20 text-blue-700 dark:text-blue-300`,success:`bg-green-400/10 border-green-500/20 text-green-700 dark:text-green-300`,warning:`bg-amber-400/10 border-amber-500/20 text-amber-700 dark:text-amber-300`,error:`bg-red-400/10 border-red-500/20 text-red-700 dark:text-red-300`},r=Y(()=>n[t.type]);return(t,n)=>(H(),U(`div`,{class:A([`text-sm p-3 border rounded-lg flex gap-2`,r.value]),role:`note`},[e.icon?(H(),U(`span`,{key:0,class:A([e.icon,`mt-0.5 shrink-0`]),"aria-hidden":`true`},null,2)):J(``,!0),G(`div`,dy,[ma(t.$slots,`default`)])],2))}}),py={class:`json`},my={key:0,class:`json-key`},hy={key:1,class:`json-colon`},gy={key:0,class:`json-key`},_y={key:1,class:`json-colon`},vy={class:`json-meta`},yy={key:2},by={key:0,class:`json-key`},xy={key:1,class:`json-colon`},Sy={key:2,class:`json-meta`},Cy={key:3,class:`json-meta`},wy={key:0,class:`json-children`},Ty={key:1,class:`json-row`},Ey={class:`json-meta`},$=R({__name:`JsonView`,props:{value:{},name:{},path:{default:``},depth:{default:0},expandDepth:{default:1},highlightPaths:{}},setup(e){let t=e,n=Y(()=>Array.isArray(t.value)?`array`:t.value!==null&&typeof t.value==`object`?`object`:`primitive`),r=Y(()=>n.value===`array`?t.value.map((e,t)=>[String(t),e]):n.value===`object`?Object.entries(t.value):[]),i=F(t.depth<t.expandDepth),a=Y(()=>r.value.length===0),o=Y(()=>!!t.path&&t.highlightPaths?.has(t.path));function s(e){return t.path?`${t.path}.${e}`:e}function c(e){return e==null?`v-null`:`v-${typeof e}`}function l(e){return e===void 0?`undefined`:e===null?`null`:typeof e==`string`?JSON.stringify(e):String(e)}let u=Y(()=>n.value===`array`?`[`:`{`),d=Y(()=>n.value===`array`?`]`:`}`),f=Y(()=>n.value===`array`?`[${r.value.length}]`:`{${r.value.length}}`);return(t,p)=>{let m=oa(`JsonView`,!0);return H(),U(`div`,py,[n.value===`primitive`?(H(),U(`div`,{key:0,class:A([`json-row`,{changed:o.value}])},[e.name===void 0?J(``,!0):(H(),U(`span`,my,j(e.name),1)),e.name===void 0?J(``,!0):(H(),U(`span`,hy,`:`)),G(`span`,{class:A(c(e.value))},j(l(e.value)),3)],2)):a.value?(H(),U(`div`,{key:1,class:A([`json-row`,{changed:o.value}])},[e.name===void 0?J(``,!0):(H(),U(`span`,gy,j(e.name),1)),e.name===void 0?J(``,!0):(H(),U(`span`,_y,`:`)),G(`span`,vy,j(u.value)+j(d.value),1)],2)):(H(),U(`div`,yy,[G(`div`,{class:A([`json-row json-toggle`,{changed:o.value}]),onClick:p[0]||=e=>i.value=!i.value},[G(`span`,{class:A([`json-caret`,{open:i.value}])},`▶`,2),e.name===void 0?J(``,!0):(H(),U(`span`,by,j(e.name),1)),e.name===void 0?J(``,!0):(H(),U(`span`,xy,`:`)),i.value?(H(),U(`span`,Sy,j(u.value),1)):(H(),U(`span`,Cy,j(f.value),1))],2),i.value?(H(),U(`div`,wy,[(H(!0),U(B,null,fa(r.value,([t,n])=>(H(),W(m,{key:t,name:t,value:n,path:s(t),depth:e.depth+1,"expand-depth":e.expandDepth,"highlight-paths":e.highlightPaths},null,8,[`name`,`value`,`path`,`depth`,`expand-depth`,`highlight-paths`]))),128))])):J(``,!0),i.value?(H(),U(`div`,Ty,[G(`span`,Ey,j(d.value),1)])):J(``,!0)]))])}}}),Dy={class:`pane`},Oy={key:0,class:`center`},ky={class:`section-title`},Ay={key:0,class:`empty`},jy={key:1,class:`cards`},My=[`onClick`],Ny={class:`card-title`},Py={class:`badge flag`},Fy={class:`id`},Iy={key:0,class:`id-note`},Ly={class:`desc`},Ry={key:1,class:`tags`},zy=[`onUpdate:modelValue`,`aria-invalid`,`aria-describedby`,`onInput`],By={style:{"margin-top":`8px`,display:`flex`,gap:`8px`,"align-items":`center`}},Vy={key:0,class:`note`},Hy={key:4,class:`result`},Uy={class:`result-head`},Wy={key:0,class:`ok`},Gy={key:1,class:`fail`},Ky={key:2,class:`muted`},qy={class:`section-title`},Jy={key:2,class:`empty`},Yy={key:3,class:`cards`},Xy=[`onClick`],Zy={class:`card-title`},Qy={key:0,class:`badge flag`},$y={class:`id`},eb={key:0,class:`desc`},tb={style:{"margin-top":`8px`,display:`flex`,gap:`8px`,"align-items":`center`}},nb={key:0,class:`note`},rb={key:0,class:`result`},ib={class:`result-head`},ab={key:0,class:`ok`},ob={key:1,class:`fail`},sb={key:2,class:`muted`},cb=R({__name:`AgentView`,props:{manifest:{},isStatic:{type:Boolean},results:{},pending:{}},emits:[`invoke`,`read`],setup(e,{emit:t}){let n=t,r=F(null),i=Yt({}),a=Yt({});function o(e){r.value=r.value===e?null:e,i[e]===void 0&&(i[e]=`{}`)}function s(e){let t;try{t=JSON.parse(i[e]||`{}`)}catch(t){a[e]=`Invalid JSON arguments: ${t.message}`;return}delete a[e],n(`invoke`,e,t)}function c(e){delete a[e]}function l(e){return`agent-invoke-error-${Iv(e)}`}function u(e){n(`read`,e)}return(t,n)=>(H(),U(`div`,Dy,[e.manifest?(H(),U(B,{key:1},[G(`div`,ky,` Tools · `+j(e.manifest.tools.length),1),e.manifest.tools.length===0?(H(),U(`div`,Ay,` No agent-exposed tools. `)):(H(),U(`div`,jy,[(H(!0),U(B,null,fa(e.manifest.tools,t=>(H(),U(`div`,{key:t.id,class:`card`},[G(`div`,{class:`card-head`,style:{cursor:`pointer`,"user-select":`none`},onClick:e=>o(t.id)},[G(`div`,{class:A([`chev i-ph-caret-right`,{open:r.value===t.id}])},null,2),G(`span`,Ny,j(t.title),1),G(`span`,Py,j(t.kind),1),G(`span`,{class:A([`badge`,`safety-${t.safety}`])},j(t.safety),3)],8,My),G(`div`,Fy,j(I(Iv)(t.id)),1),I(Iv)(t.id)===t.id?J(``,!0):(H(),U(`div`,Iy,` internal id: `+j(t.id),1)),G(`p`,Ly,j(t.description),1),t.tags&&t.tags.length?(H(),U(`div`,Ry,[(H(!0),U(B,null,fa(t.tags,e=>(H(),U(`span`,{key:e,class:`badge flag`},j(e),1))),128))])):J(``,!0),r.value===t.id?(H(),U(B,{key:2},[t.inputSchema?(H(),U(B,{key:0},[n[0]||=G(`div`,{class:`label`},` Input schema `,-1),K($,{value:t.inputSchema,"expand-depth":1},null,8,[`value`])],64)):J(``,!0),t.outputSchema?(H(),U(B,{key:1},[n[1]||=G(`div`,{class:`label`},` Output schema `,-1),K($,{value:t.outputSchema,"expand-depth":1},null,8,[`value`])],64)):J(``,!0),t.examples&&t.examples.length?(H(),U(B,{key:2},[n[2]||=G(`div`,{class:`label`},` Examples `,-1),K($,{value:t.examples,"expand-depth":1},null,8,[`value`])],64)):J(``,!0),n[3]||=G(`div`,{class:`label`},` Invoke (MCP format) `,-1),mr(G(`textarea`,{"onUpdate:modelValue":e=>i[t.id]=e,class:`args`,spellcheck:`false`,placeholder:`{}`,"aria-invalid":!!a[t.id],"aria-describedby":a[t.id]?l(t.id):void 0,onInput:e=>c(t.id)},null,40,zy),[[Bl,i[t.id]]]),a[t.id]?(H(),W(fy,{key:3,id:l(t.id),class:`mt-2`,type:`error`,icon:`i-ph-warning-circle-duotone`,role:`alert`},{default:L(()=>[q(j(a[t.id]),1)]),_:2},1032,[`id`])):J(``,!0),G(`div`,By,[K(uy,{variant:`primary`,size:`sm`,icon:`i-ph-play-duotone`,loading:e.pending[t.id],disabled:e.pending[t.id]||e.isStatic,onClick:e=>s(t.id)},{default:L(()=>[q(j(e.pending[t.id]?`Invoking…`:`Invoke`),1)]),_:2},1032,[`loading`,`disabled`,`onClick`]),e.isStatic?(H(),U(`span`,Vy,`read-only static backend`)):J(``,!0)]),e.results[t.id]?(H(),U(`div`,Hy,[G(`div`,Uy,[e.results[t.id].ok?(H(),U(`span`,Wy,`✓ resolved`)):(H(),U(`span`,Gy,`✕ threw`)),`durationMs`in e.results[t.id]?(H(),U(`span`,Ky,j(e.results[t.id].durationMs)+`ms`,1)):J(``,!0)]),e.results[t.id].ok?(H(),W($,{key:0,value:e.results[t.id].result,"expand-depth":2},null,8,[`value`])):(H(),W($,{key:1,value:e.results[t.id].error,"expand-depth":2},null,8,[`value`]))])):J(``,!0)],64)):J(``,!0)]))),128))])),G(`div`,qy,` Resources · `+j(e.manifest.resources.length),1),e.manifest.resources.length===0?(H(),U(`div`,Jy,` No agent-readable resources. `)):(H(),U(`div`,Yy,[(H(!0),U(B,null,fa(e.manifest.resources,t=>(H(),U(`div`,{key:t.id,class:`card`},[G(`div`,{class:`card-head`,style:{cursor:`pointer`,"user-select":`none`},onClick:e=>o(t.id)},[G(`div`,{class:A([`chev i-ph-caret-right`,{open:r.value===t.id}])},null,2),G(`span`,Zy,j(t.name),1),t.mimeType?(H(),U(`span`,Qy,j(t.mimeType),1)):J(``,!0)],8,Xy),G(`div`,$y,j(t.uri),1),t.description?(H(),U(`p`,eb,j(t.description),1)):J(``,!0),r.value===t.id?(H(),U(B,{key:1},[G(`div`,tb,[K(uy,{variant:`primary`,size:`sm`,icon:`i-ph-book-open-duotone`,loading:e.pending[t.id],disabled:e.pending[t.id]||e.isStatic,onClick:e=>u(t.id)},{default:L(()=>[q(j(e.pending[t.id]?`Reading…`:`Read Resource`),1)]),_:2},1032,[`loading`,`disabled`,`onClick`]),e.isStatic?(H(),U(`span`,nb,`read-only static backend`)):J(``,!0)]),e.results[t.id]?(H(),U(`div`,rb,[G(`div`,ib,[e.results[t.id].ok?(H(),U(`span`,ab,`✓ resolved`)):(H(),U(`span`,ob,`✕ threw`)),`durationMs`in e.results[t.id]?(H(),U(`span`,sb,j(e.results[t.id].durationMs)+`ms`,1)):J(``,!0)]),e.results[t.id].ok?(H(),W($,{key:0,value:e.results[t.id].result,"expand-depth":2},null,8,[`value`])):(H(),W($,{key:1,value:e.results[t.id].error,"expand-depth":2},null,8,[`value`]))])):J(``,!0)],64)):J(``,!0)]))),128))]))],64)):(H(),U(`div`,Oy,` Loading agent surface… `))]))}}),lb=R({__name:`AgentSmart`,setup(e){let t=sy(),n=cn(null),r=Yt({}),i=Yt({});async function a(){t.value&&(n.value=await t.value.call(`devframes:plugin:inspect:describe-agent`))}Pm(a),Yi(a);async function o(e,n){if(t.value){i[e]=!0;try{r[e]=await t.value.call(`devframes:plugin:inspect:invoke-agent-tool`,e,n)}catch(t){let n=t;r[e]={ok:!1,error:{name:n?.name??`Error`,message:n?.message??String(t)}}}finally{i[e]=!1}}}async function s(e){if(t.value){i[e]=!0;try{r[e]=await t.value.call(`devframes:plugin:inspect:read-agent-resource`,e)}catch(t){let n=t;r[e]={ok:!1,error:{name:n?.name??`Error`,message:n?.message??String(t)}}}finally{i[e]=!1}}}return(e,t)=>(H(),W(cb,{manifest:n.value,"is-static":I(cy)(),results:r,pending:i,onInvoke:o,onRead:s},null,8,[`manifest`,`is-static`,`results`,`pending`]))}}),ub=Object.freeze({type:`object`,additionalProperties:!0}),db=new Set([`query`,`static`]);function fb(e,t){let n=t.type??`query`,r;return t.agent&&(r={description:t.agent.description,title:t.agent.title,safety:t.agent.safety,tags:t.agent.tags}),{name:e,type:n,jsonSerializable:t.jsonSerializable===!0,snapshot:t.snapshot===!0,cacheable:t.cacheable===!0,hasArgs:!!t.args,hasReturns:!!t.returns,hasDump:!!t.dump,hasSetup:!!t.setup,hasHandler:!!t.handler,invokable:db.has(n),agent:r,argsSchema:hb(t.args),returnsSchema:mb(t.returns)}}function pb(e){let t=e[`~standard`];if(!t.jsonSchema)return ub;try{return t.jsonSchema.input({target:`draft-2020-12`})}catch{return ub}}function mb(e){if(e)return pb(e)}function hb(e){if(e&&e.length!==0)return{type:`array`,prefixItems:e.map(e=>pb(e))}}function gb(e){let t=[];for(let[n,r]of e.definitions)t.push(fb(n,r));return t.sort((e,t)=>e.name.localeCompare(t.name)),t}async function _b(e,t,n){let r=e.definitions.get(t);if(!r)return{ok:!1,error:{name:`Error`,message:`No client RPC function named "${t}" is registered.`},durationMs:0};let i=r.type??`query`;if(!db.has(i))return{ok:!1,error:{name:`Error`,message:`"${t}" is a ${i} function; only read-only query/static functions are invoked.`},durationMs:0};let a=Date.now();try{return{ok:!0,result:await(await lh(r,e.context))(...n),durationMs:Date.now()-a}}catch(e){return{ok:!1,error:xb(e),durationMs:Date.now()-a}}}async function vb(e,t=Hv()){if(t?.getTools)try{let e=(await t.getTools()).map(e=>({...e,inputSchema:bb(e.inputSchema)}));return{available:!0,live:!0,executable:typeof t.executeTool==`function`,tools:e}}catch{}let n=[];for(let[t,r]of e.definitions)r.agent&&n.push({name:Iv(t),description:r.agent.description,source:t});return n.sort((e,t)=>e.name.localeCompare(t.name)),{available:!!t,live:!1,executable:!1,tools:n}}async function yb(e,t,n){let r=Date.now();try{if(!e.executeTool)throw Error(`This model context does not support executeTool().`);let i;try{i=await e.executeTool(t,JSON.stringify(n))}catch(r){if(!(r instanceof TypeError))throw r;i=await e.executeTool(t,n)}return{ok:!0,result:bb(i),durationMs:Date.now()-r}}catch(e){return{ok:!1,error:xb(e),durationMs:Date.now()-r}}}function bb(e){if(typeof e!=`string`)return e;try{return JSON.parse(e)}catch{return e}}function xb(e){let t=e;return{name:t?.name??`Error`,message:t?.message??String(e),stack:t?.stack}}function Sb(e,t=1){let n=0;for(let t=0;t<e.length;t++)n=e.charCodeAt(t)+((n<<5)-n);return Cb(n%360,t)}function Cb(e,t=1){return`hsla(${e}, 60%, 50%, ${t})`}function wb(e){let t=e.split(/([:/])/),n=[],r=``;for(let e=0;e<t.length;e+=2){let i=t[e]??``,a=t[e+1]??``;if(i===``&&a===``)continue;r+=i;let o=a===``;n.push({text:i,separator:a,isLeaf:o,color:o?void 0:Sb(r)}),r+=a}return n}var Tb=[`title`],Eb={key:0,class:`ns-sep`},Db=R({__name:`FunctionName`,props:{name:{}},setup(e){let t=e,n=Y(()=>wb(t.name));return(t,r)=>(H(),U(`span`,{class:`fn-name`,title:e.name},[(H(!0),U(B,null,fa(n.value,(e,t)=>(H(),U(B,{key:t},[G(`span`,{class:`ns-seg`,style:me(e.color?{color:e.color}:void 0)},j(e.text),5),e.separator?(H(),U(`span`,Eb,j(e.separator),1)):J(``,!0)],64))),128))],8,Tb))}}),Ob={class:`fn-row`},kb={class:`fn-flags`},Ab={key:0,class:`badge agent`,title:`Exposed to agents`},jb={key:1,class:`badge flag`,title:`Strict JSON wire serialization`},Mb={key:2,class:`badge flag`,title:`Baked into the static build dump`},Nb={key:3,class:`badge flag`},Pb={key:4,class:`badge flag`},Fb={key:5,class:`badge flag`},Ib={key:0,class:`fn-detail`},Lb={key:0,class:`desc`},Rb=[`value`],zb={style:{"margin-top":`8px`,display:`flex`,gap:`8px`,"align-items":`center`}},Bb={key:0,class:`note`},Vb={key:0,class:`result`},Hb={class:`result-head`},Ub={key:0,class:`ok`},Wb={key:1,class:`fail`},Gb={key:2,class:`muted`},Kb={key:4,class:`note`},qb=R({__name:`FunctionRow`,props:{fn:{},argsInput:{},results:{},pending:{},isStatic:{type:Boolean}},emits:[`invoke`,`updateArgs`],setup(e,{emit:t}){let n=e,r=t,i=F(!1),a=Y(()=>n.fn.invokable||!!n.fn.agent||n.fn.hasArgs||n.fn.hasReturns);function o(){i.value=!i.value}return(t,n)=>(H(),U(`div`,Ob,[G(`div`,{class:A([`fn-head`,{clickable:a.value}]),onClick:o},[G(`div`,{class:A([`chev i-ph-caret-right`,{open:i.value}])},null,2),K(Db,{name:e.fn.name},null,8,[`name`]),G(`span`,kb,[G(`span`,{class:A([`badge`,e.fn.type])},j(e.fn.type),3),e.fn.agent?(H(),U(`span`,Ab,`agent`)):J(``,!0),e.fn.jsonSerializable?(H(),U(`span`,jb,`json`)):J(``,!0),e.fn.snapshot?(H(),U(`span`,Mb,`snapshot`)):J(``,!0),e.fn.hasArgs?(H(),U(`span`,Nb,`args`)):J(``,!0),e.fn.hasReturns?(H(),U(`span`,Pb,`returns`)):J(``,!0),e.fn.hasDump?(H(),U(`span`,Fb,`dump`)):J(``,!0)])],2),i.value?(H(),U(`div`,Ib,[e.fn.agent?(H(),U(`p`,Lb,j(e.fn.agent.description),1)):J(``,!0),e.fn.argsSchema?(H(),U(B,{key:1},[n[2]||=G(`div`,{class:`label`},` Args schema `,-1),K($,{value:e.fn.argsSchema,"expand-depth":0},null,8,[`value`])],64)):J(``,!0),e.fn.returnsSchema?(H(),U(B,{key:2},[n[3]||=G(`div`,{class:`label`},` Returns schema `,-1),K($,{value:e.fn.returnsSchema,"expand-depth":0},null,8,[`value`])],64)):J(``,!0),e.fn.invokable?(H(),U(B,{key:3},[n[4]||=G(`div`,{class:`label`},` Invoke with positional args as a JSON array `,-1),G(`textarea`,{value:e.argsInput[e.fn.name],class:`args`,spellcheck:`false`,placeholder:`[]`,onInput:n[0]||=t=>r(`updateArgs`,e.fn.name,t.target.value)},null,40,Rb),G(`div`,zb,[K(uy,{variant:`primary`,size:`sm`,icon:`i-ph-play-duotone`,loading:e.pending[e.fn.name],disabled:e.pending[e.fn.name]||e.isStatic,onClick:n[1]||=tu(t=>r(`invoke`,e.fn),[`stop`])},{default:L(()=>[q(j(e.pending[e.fn.name]?`Invoking…`:`Invoke`),1)]),_:1},8,[`loading`,`disabled`]),e.isStatic?(H(),U(`span`,Bb,`read-only static backend, invocation disabled`)):J(``,!0)]),e.results[e.fn.name]?(H(),U(`div`,Vb,[G(`div`,Hb,[e.results[e.fn.name].ok?(H(),U(`span`,Ub,`✓ resolved`)):(H(),U(`span`,Wb,`✕ threw`)),`durationMs`in e.results[e.fn.name]?(H(),U(`span`,Gb,j(e.results[e.fn.name].durationMs)+`ms`,1)):J(``,!0)]),e.results[e.fn.name].ok?(H(),W($,{key:0,value:e.results[e.fn.name].result,"expand-depth":2},null,8,[`value`])):(H(),W($,{key:1,value:e.results[e.fn.name].error,"expand-depth":2},null,8,[`value`]))])):J(``,!0)],64)):(H(),U(`p`,Kb,j(e.fn.type)+` functions may carry side effects, so the inspector does not invoke them. `,1))])):J(``,!0)]))}}),Jb={class:`pane`},Yb={key:0,class:`center`},Xb={class:`section-title`},Zb={key:0,class:`empty`},Qb={key:1,class:`fn-list`},$b={class:`section-title`},ex={class:`note`},tx={key:2,class:`empty`},nx={key:3,class:`cards`},rx=[`onClick`],ix={class:`card-title`},ax={class:`badge flag`},ox={key:0,class:`badge flag`},sx={key:0,class:`id`},cx={key:1,class:`desc`},lx=[`onUpdate:modelValue`],ux={style:{"margin-top":`8px`,display:`flex`,gap:`8px`,"align-items":`center`}},dx={key:2,class:`note`},fx={key:3,class:`note`},px={key:4,class:`result`},mx={class:`result-head`},hx={key:0,class:`ok`},gx={key:1,class:`fail`},_x={key:2,class:`muted`},vx=R({__name:`ClientView`,props:{functions:{},webmcp:{},results:{},pending:{}},emits:[`invoke`,`invokeTool`],setup(e,{emit:t}){let n=t,r=Yt({}),i=Yt({}),a=F(null);function o(e){return`webmcp:${e}`}function s(e){a.value=a.value===e?null:e,i[e]??=`{}`}function c(e){let t;try{let n=JSON.parse(r[e.name]||`[]`);t=Array.isArray(n)?n:[n]}catch(e){throw Error(`Invalid JSON args: ${e.message}`)}n(`invoke`,e,t)}function l(e){let t;try{t=JSON.parse(i[e]||`{}`)}catch(e){throw Error(`Invalid JSON args: ${e.message}`)}n(`invokeTool`,e,t)}return(t,n)=>(H(),U(`div`,Jb,[!e.functions||!e.webmcp?(H(),U(`div`,Yb,` Loading client surface… `)):(H(),U(B,{key:1},[G(`div`,Xb,` Client functions · `+j(e.functions.length),1),e.functions.length===0?(H(),U(`div`,Zb,` No client RPC functions registered in this page. `)):(H(),U(`div`,Qb,[(H(!0),U(B,null,fa(e.functions,t=>(H(),W(qb,{key:t.name,fn:t,"args-input":r,results:e.results,pending:e.pending,"is-static":!1,onInvoke:c,onUpdateArgs:n[0]||=(e,t)=>r[e]=t},null,8,[`fn`,`args-input`,`results`,`pending`]))),128))])),G(`div`,$b,` WebMCP tools · `+j(e.webmcp.tools.length),1),G(`p`,ex,[e.webmcp.live?(H(),U(B,{key:0},[q(` Live from this page's WebMCP model context. `)],64)):e.webmcp.available?(H(),U(B,{key:1},[q(` This page's model context supports registration only; showing the tools projected from agent-flagged client functions. `)],64)):(H(),U(B,{key:2},[q(` This browser provides no WebMCP model context; showing the tools devframe would register on one. `)],64))]),e.webmcp.tools.length===0?(H(),U(`div`,tx,` No WebMCP tools on this page. `)):(H(),U(`div`,nx,[(H(!0),U(B,null,fa(e.webmcp.tools,t=>(H(),U(`div`,{key:t.name,class:`card`},[G(`div`,{class:`card-head`,style:{cursor:`pointer`,"user-select":`none`},onClick:e=>s(t.name)},[G(`div`,{class:A([`chev i-ph-caret-right`,{open:a.value===t.name}])},null,2),G(`span`,ix,j(t.name),1),G(`span`,ax,j(e.webmcp.live?`live`:`projected`),1),t.origin?(H(),U(`span`,ox,j(t.origin),1)):J(``,!0)],8,rx),t.source?(H(),U(`div`,sx,` client function: `+j(t.source),1)):J(``,!0),t.description?(H(),U(`p`,cx,j(t.description),1)):J(``,!0),a.value===t.name?(H(),U(B,{key:2},[t.inputSchema?(H(),U(B,{key:0},[n[1]||=G(`div`,{class:`label`},` Input schema `,-1),K($,{value:t.inputSchema,"expand-depth":1},null,8,[`value`])],64)):J(``,!0),e.webmcp.executable?(H(),U(B,{key:1},[n[2]||=G(`div`,{class:`label`},` Invoke (WebMCP args object) `,-1),mr(G(`textarea`,{"onUpdate:modelValue":e=>i[t.name]=e,class:`args`,spellcheck:`false`,placeholder:`{}`},null,8,lx),[[Bl,i[t.name]]]),G(`div`,ux,[K(uy,{variant:`primary`,size:`sm`,icon:`i-ph-play-duotone`,loading:e.pending[o(t.name)],disabled:e.pending[o(t.name)],onClick:e=>l(t.name)},{default:L(()=>[q(j(e.pending[o(t.name)]?`Invoking…`:`Invoke`),1)]),_:2},1032,[`loading`,`disabled`,`onClick`])])],64)):t.source?(H(),U(`p`,dx,` Invoke the backing client function from the list above. `)):(H(),U(`p`,fx,` This model context does not expose tool execution to the page. `)),e.results[o(t.name)]?(H(),U(`div`,px,[G(`div`,mx,[e.results[o(t.name)].ok?(H(),U(`span`,hx,`✓ resolved`)):(H(),U(`span`,gx,`✕ threw`)),`durationMs`in e.results[o(t.name)]?(H(),U(`span`,_x,j(e.results[o(t.name)].durationMs)+`ms`,1)):J(``,!0)]),e.results[o(t.name)].ok?(H(),W($,{key:0,value:e.results[o(t.name)].result,"expand-depth":2},null,8,[`value`])):(H(),W($,{key:1,value:e.results[o(t.name)].error,"expand-depth":2},null,8,[`value`]))])):J(``,!0)],64)):J(``,!0)]))),128))]))],64))]))}}),yx=R({__name:`ClientSmart`,setup(e){let t=sy(),n=cn(null),r=cn(null),i=Yt({}),a=Yt({});async function o(){t.value&&(n.value=gb(t.value.client),r.value=await vb(t.value.client))}Pm(o);let s;Yi(()=>{o(),s=t.value?.client.onChanged(()=>void o())}),$i(()=>s?.());async function c(e,n){if(t.value){a[e.name]=!0;try{i[e.name]=await _b(t.value.client,e.name,n)}finally{a[e.name]=!1}}}async function l(e,t){let n=Hv(),o=r.value?.tools.find(t=>t.name===e);if(!n||!o)return;let s=`webmcp:${e}`;a[s]=!0;try{i[s]=await yb(n,o,t)}finally{a[s]=!1}}return(e,t)=>(H(),W(vx,{functions:n.value,webmcp:r.value,results:i,pending:a,onInvoke:c,onInvokeTool:l},null,8,[`functions`,`webmcp`,`results`,`pending`]))}}),bx={class:`cmd-title`},xx={class:`cmd-id mono`},Sx={class:`fn-flags`},Cx={key:0,class:`badge flag`},wx={key:1,class:`badge flag`,title:`No handler, a group for its children`},Tx={key:2,class:`badge flag`},Ex={key:0,class:`fn-detail`},Dx={key:0,class:`desc`},Ox=[`value`],kx={style:{"margin-top":`8px`,display:`flex`,gap:`8px`,"align-items":`center`}},Ax={key:0,class:`note`},jx={key:0,class:`result`},Mx={class:`result-head`},Nx={key:0,class:`ok`},Px={key:1,class:`fail`},Fx={key:2,class:`muted`},Ix={key:2,class:`note`},Lx={class:`cmd-children`},Rx=R({name:`CommandRow`,__name:`CommandRow`,props:{cmd:{},argsInput:{},results:{},pending:{},isStatic:{type:Boolean},depth:{}},emits:[`execute`,`updateArgs`],setup(e,{emit:t}){let n=e,r=t,i=F(!1),a=Y(()=>n.cmd.hasHandler||!!n.cmd.description||!!n.cmd.children?.length);function o(){i.value=!i.value}return(t,n)=>{let s=oa(`CommandRow`,!0);return H(),U(`div`,{class:A([`fn-row`,{"cmd-row-child":e.depth}])},[G(`div`,{class:A([`fn-head`,{clickable:a.value}]),onClick:o},[G(`div`,{class:A([`chev i-ph-caret-right`,{open:i.value}])},null,2),e.cmd.icon?(H(),U(`span`,{key:0,class:A([typeof e.cmd.icon==`string`?e.cmd.icon:`i-ph-terminal-window-duotone`,`cmd-icon`])},null,2)):J(``,!0),G(`span`,bx,j(e.cmd.title),1),G(`span`,xx,j(e.cmd.id),1),G(`span`,Sx,[e.cmd.category?(H(),U(`span`,Cx,j(e.cmd.category),1)):J(``,!0),e.cmd.hasHandler?J(``,!0):(H(),U(`span`,wx,`group`)),e.cmd.children?.length?(H(),U(`span`,Tx,j(e.cmd.children.length)+` children`,1)):J(``,!0)])],2),i.value?(H(),U(`div`,Ex,[e.cmd.description?(H(),U(`p`,Dx,j(e.cmd.description),1)):J(``,!0),e.cmd.hasHandler?(H(),U(B,{key:1},[n[4]||=G(`div`,{class:`label`},` Execute with positional args as a JSON array `,-1),G(`textarea`,{value:e.argsInput[e.cmd.id],class:`args`,spellcheck:`false`,placeholder:`[]`,onInput:n[0]||=t=>r(`updateArgs`,e.cmd.id,t.target.value)},null,40,Ox),G(`div`,kx,[K(uy,{variant:`primary`,size:`sm`,icon:`i-ph-play-duotone`,loading:e.pending[e.cmd.id],disabled:e.pending[e.cmd.id]||e.isStatic,onClick:n[1]||=tu(t=>r(`execute`,e.cmd),[`stop`])},{default:L(()=>[q(j(e.pending[e.cmd.id]?`Running…`:`Run`),1)]),_:1},8,[`loading`,`disabled`]),e.isStatic?(H(),U(`span`,Ax,`read-only static backend, execution disabled`)):J(``,!0)]),e.results[e.cmd.id]?(H(),U(`div`,jx,[G(`div`,Mx,[e.results[e.cmd.id].ok?(H(),U(`span`,Nx,`✓ resolved`)):(H(),U(`span`,Px,`✕ threw`)),`durationMs`in e.results[e.cmd.id]?(H(),U(`span`,Fx,j(e.results[e.cmd.id].durationMs)+`ms`,1)):J(``,!0)]),e.results[e.cmd.id].ok?(H(),W($,{key:0,value:e.results[e.cmd.id].result,"expand-depth":2},null,8,[`value`])):(H(),W($,{key:1,value:e.results[e.cmd.id].error,"expand-depth":2},null,8,[`value`]))])):J(``,!0)],64)):e.cmd.children?.length?J(``,!0):(H(),U(`p`,Ix,` Group-only command, no handler to run. `)),e.cmd.children?.length?(H(),U(B,{key:3},[n[5]||=G(`div`,{class:`label`},` Children `,-1),G(`div`,Lx,[(H(!0),U(B,null,fa(e.cmd.children,t=>(H(),W(s,{key:t.id,cmd:t,"args-input":e.argsInput,results:e.results,pending:e.pending,"is-static":e.isStatic,depth:(e.depth??0)+1,onExecute:n[2]||=e=>r(`execute`,e),onUpdateArgs:n[3]||=(e,t)=>r(`updateArgs`,e,t)},null,8,[`cmd`,`args-input`,`results`,`pending`,`is-static`,`depth`]))),128))])],64)):J(``,!0)])):J(``,!0)],2)}}}),zx={class:`pane`},Bx={class:`toolbar`},Vx={class:`search`},Hx={class:`muted`},Ux={class:`badge flag`},Wx={key:0,class:`center`},Gx={key:1,class:`empty`},Kx={key:2,class:`empty`},qx={key:3,class:`fn-list`},Jx=R({__name:`CommandsView`,props:{commands:{},isStatic:{type:Boolean},results:{},pending:{}},emits:[`execute`],setup(e,{emit:t}){let n=e,r=t,i=F(``),a=Yt({});function o(e,t){return e.id.toLowerCase().includes(t)||e.title.toLowerCase().includes(t)||e.category?.toLowerCase().includes(t)?!0:e.children?.some(e=>o(e,t))??!1}let s=Y(()=>{let e=n.commands??[],t=i.value.trim().toLowerCase();return[...t?e.filter(e=>o(e,t)):e].sort((e,t)=>e.title.localeCompare(t.title))}),c=Y(()=>{let e={};for(let t of n.commands??[]){let n=t.category??`uncategorized`;e[n]=(e[n]||0)+1}return e});function l(e){let t;try{let n=JSON.parse(a[e.id]||`[]`);t=Array.isArray(n)?n:[n]}catch(e){throw Error(`Invalid JSON args: ${e.message}`)}r(`execute`,e,t)}return(t,n)=>(H(),U(`div`,zx,[G(`div`,Bx,[G(`label`,Vx,[n[2]||=G(`div`,{class:`i-ph-magnifying-glass-duotone`},null,-1),mr(G(`input`,{"onUpdate:modelValue":n[0]||=e=>i.value=e,placeholder:`Filter commands by id, title, category…`,spellcheck:`false`},null,512),[[Bl,i.value]])]),G(`span`,Hx,j((e.commands??[]).length)+` commands`,1),(H(!0),U(B,null,fa(c.value,(e,t)=>(H(),U(`span`,{key:t,class:`muted`},[G(`span`,Ux,j(t),1),q(` `+j(e),1)]))),128))]),e.commands?e.commands.length===0?(H(),U(`div`,Gx," No commands registered. Commands are a `@devframes/hub` feature; this connection isn't mounted inside a hub. ")):s.value.length===0?(H(),U(`div`,Kx,` No commands match "`+j(i.value)+`". `,1)):(H(),U(`div`,qx,[(H(!0),U(B,null,fa(s.value,t=>(H(),W(Rx,{key:t.id,cmd:t,"args-input":a,results:e.results,pending:e.pending,"is-static":e.isStatic,onExecute:l,onUpdateArgs:n[1]||=(e,t)=>a[e]=t},null,8,[`cmd`,`args-input`,`results`,`pending`,`is-static`]))),128))])):(H(),U(`div`,Wx,` Loading commands… `))]))}}),Yx=R({__name:`CommandsSmart`,setup(e){let t=sy(),n=cn(null),r=Yt({}),i=Yt({});async function a(){t.value&&(n.value=await t.value.call(`devframes:plugin:inspect:list-commands`))}Pm(a),Yi(a);async function o(e,n){if(t.value){i[e.id]=!0;try{r[e.id]=await t.value.call(`devframes:plugin:inspect:execute-command`,e.id,n)}catch(t){let n=t;r[e.id]={ok:!1,error:{name:n?.name??`Error`,message:n?.message??String(t)}}}finally{i[e.id]=!1}}}return(e,t)=>(H(),W(Jx,{commands:n.value,"is-static":I(cy)(),results:r,pending:i,onExecute:o},null,8,[`commands`,`is-static`,`results`,`pending`]))}}),Xx={class:`pane`},Zx={class:`toolbar`},Qx={class:`search`},$x={class:`muted`},eS={key:0,class:`center`},tS={key:1,class:`empty`},nS={key:2,class:`fn-list`},rS=R({__name:`FunctionsView`,props:{functions:{},isStatic:{type:Boolean},results:{},pending:{}},emits:[`invoke`],setup(e,{emit:t}){let n=e,r=t,i=F(``),a=Yt({}),o=Y(()=>{let e=n.functions??[],t=i.value.trim().toLowerCase();return[...t?e.filter(e=>e.name.toLowerCase().includes(t)):e].sort((e,t)=>e.name.localeCompare(t.name))}),s=Y(()=>{let e={};for(let t of n.functions??[])e[t.type]=(e[t.type]||0)+1;return e});function c(e){let t;try{let n=JSON.parse(a[e.name]||`[]`);t=Array.isArray(n)?n:[n]}catch(e){throw Error(`Invalid JSON args: ${e.message}`)}r(`invoke`,e,t)}return(t,n)=>(H(),U(`div`,Xx,[G(`div`,Zx,[G(`label`,Qx,[n[2]||=G(`div`,{class:`i-ph-magnifying-glass-duotone`},null,-1),mr(G(`input`,{"onUpdate:modelValue":n[0]||=e=>i.value=e,placeholder:`Filter functions by name…`,spellcheck:`false`},null,512),[[Bl,i.value]])]),G(`span`,$x,j((e.functions??[]).length)+` functions`,1),(H(!0),U(B,null,fa(s.value,(e,t)=>(H(),U(`span`,{key:t,class:`muted`},[G(`span`,{class:A([`badge`,t])},j(t),3),q(` `+j(e),1)]))),128))]),e.functions?o.value.length===0?(H(),U(`div`,tS,` No functions match “`+j(i.value)+`”. `,1)):(H(),U(`div`,nS,[(H(!0),U(B,null,fa(o.value,t=>(H(),W(qb,{key:t.name,fn:t,"args-input":a,results:e.results,pending:e.pending,"is-static":e.isStatic,onInvoke:c,onUpdateArgs:n[1]||=(e,t)=>a[e]=t},null,8,[`fn`,`args-input`,`results`,`pending`,`is-static`]))),128))])):(H(),U(`div`,eS,` Loading functions… `))]))}}),iS=R({__name:`FunctionsSmart`,setup(e){let t=sy(),n=cn(null),r=Yt({}),i=Yt({});async function a(){t.value&&(n.value=await t.value.call(`devframes:plugin:inspect:list-functions`))}Pm(a),Yi(a);async function o(e,n){if(t.value){i[e.name]=!0;try{r[e.name]=await t.value.call(`devframes:plugin:inspect:invoke`,e.name,n)}catch(t){let n=t;r[e.name]={ok:!1,error:{name:n?.name??`Error`,message:n?.message??String(t)}}}finally{i[e.name]=!1}}}return(e,t)=>(H(),W(rS,{functions:n.value,"is-static":I(cy)(),results:r,pending:i,onInvoke:o},null,8,[`functions`,`is-static`,`results`,`pending`]))}}),aS={class:`pane flex-col`},oS={class:`toolbar`},sS={class:`muted`},cS={key:0,class:`center`},lS={key:1,style:{padding:`14px`,display:`flex`,"flex-direction":`column`,gap:`14px`}},uS={style:{display:`flex`,gap:`8px`,"align-items":`center`,"margin-bottom":`8px`,"flex-wrap":`wrap`}},dS={class:`muted`,style:{"font-family":`var(--df-mono)`,"font-size":`11px`}},fS={style:{"font-family":`var(--df-mono)`,"font-weight":`600`,"font-size":`12.5px`}},pS={class:`muted`},mS={style:{"font-family":`var(--df-mono)`,"font-weight":`600`,"font-size":`12.5px`,color:`var(--df-accent)`}},hS={class:`muted`},gS={style:{"padding-left":`8px`,"border-left":`2px solid var(--df-border-soft)`}},_S=((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n})(R({__name:`HistoryView`,props:{historyRecords:{},isRecording:{type:Boolean}},emits:[`update:isRecording`,`clear`],setup(e,{emit:t}){let n=t;function r(e){let t=new Date(e);return`${t.getHours().toString().padStart(2,`0`)}:${t.getMinutes().toString().padStart(2,`0`)}:${t.getSeconds().toString().padStart(2,`0`)}.${t.getMilliseconds().toString().padStart(3,`0`)}`}return(t,i)=>(H(),U(`div`,aS,[G(`div`,oS,[K(uy,{variant:e.isRecording?`action`:`text`,size:`sm`,icon:e.isRecording?`i-ph-record-fill text-error`:`i-ph-play-duotone`,title:e.isRecording?`Click to pause recording`:`Click to record`,onClick:i[0]||=t=>n(`update:isRecording`,!e.isRecording)},{default:L(()=>[q(j(e.isRecording?`Recording`:`Paused`),1)]),_:1},8,[`variant`,`icon`,`title`]),K(uy,{variant:`text`,size:`sm`,icon:`i-ph-trash-duotone`,onClick:i[1]||=e=>n(`clear`)},{default:L(()=>[...i[2]||=[q(` Clear `,-1)]]),_:1}),G(`span`,sS,j(e.historyRecords.length)+` records`,1)]),e.historyRecords.length===0?(H(),U(`div`,cS,` No history yet. `)):(H(),U(`div`,lS,[(H(!0),U(B,null,fa(e.historyRecords,e=>(H(),U(`div`,{key:e.id,style:{border:`1px solid var(--df-border)`,"border-radius":`var(--df-radius)`,background:`var(--df-bg-soft)`,padding:`12px`}},[G(`div`,uS,[G(`span`,dS,j(r(e.time)),1),e.type===`call`?(H(),U(B,{key:0},[i[3]||=G(`span`,{class:`badge action`},`RPC Call`,-1),G(`span`,fS,j(e.method),1),G(`span`,pS,j(e.duration)+`ms`,1)],64)):(H(),U(B,{key:1},[i[4]||=G(`span`,{class:`badge static`},`State Update`,-1),G(`span`,mS,j(e.key),1),G(`span`,hS,`Sync ID: `+j(e.syncId),1)],64))]),G(`div`,gS,[e.type===`call`?(H(),U(B,{key:0},[i[7]||=G(`div`,{class:`label`,style:{"margin-top":`0`}},` Arguments `,-1),K($,{value:e.args,"expand-depth":1},null,8,[`value`]),`result`in e?(H(),U(B,{key:0},[i[5]||=G(`div`,{class:`label`},` Result `,-1),K($,{value:e.result,"expand-depth":1},null,8,[`value`])],64)):`error`in e?(H(),U(B,{key:1},[i[6]||=G(`div`,{class:`label`,style:{color:`var(--df-danger)`}},` Error `,-1),K($,{value:e.error,"expand-depth":1},null,8,[`value`])],64)):J(``,!0)],64)):(H(),U(B,{key:1},[`value`in e?(H(),U(B,{key:0},[i[8]||=G(`div`,{class:`label`,style:{"margin-top":`0`}},` New State `,-1),K($,{value:e.value,"expand-depth":1},null,8,[`value`])],64)):`patches`in e?(H(),U(B,{key:1},[i[9]||=G(`div`,{class:`label`,style:{"margin-top":`0`}},` Patches `,-1),K($,{value:e.patches,"expand-depth":1},null,8,[`value`])],64)):J(``,!0)],64))])]))),128))]))]))}}),[[`__scopeId`,`data-v-fa4416fc`]]),vS=R({__name:`HistorySmart`,setup(e){function t(e){Qv.value=e}return(e,n)=>(H(),W(_S,{"history-records":I(Zv),"is-recording":I(Qv),"onUpdate:isRecording":t,onClear:I(ty)},null,8,[`history-records`,`is-recording`,`onClear`]))}}),yS={class:`pane`},bS={class:`toolbar`},xS={class:`muted`},SS={key:0,class:`center`},CS={key:1,class:`inst-empty`},wS={key:2,class:`cards`},TS={class:`card-head`},ES={class:`card-title`},DS={key:0,class:`badge agent`},OS={key:1,class:`badge`},kS={class:`id`},AS=[`href`],jS={class:`inst-url-text`},MS={class:`inst-meta`},NS={class:`inst-meta-wide`},PS=[`title`],FS=R({__name:`InstancesView`,props:{instances:{}},setup(e){let t=e,n=Y(()=>[...t.instances??[]].sort((e,t)=>e.isCurrent===t.isCurrent?t.startedAt-e.startedAt:e.isCurrent?-1:1));function r(e){let t=Math.max(0,Math.round((Date.now()-e)/1e3));if(t<60)return`${t}s`;let n=Math.floor(t/60);if(n<60)return`${n}m ${t%60}s`;let r=Math.floor(n/60);return r<24?`${r}h ${n%60}m`:`${Math.floor(r/24)}d ${r%24}h`}return(t,i)=>(H(),U(`div`,yS,[G(`div`,bS,[G(`span`,xS,j((e.instances??[]).length)+` running `+j((e.instances??[]).length===1?`instance`:`instances`),1),i[0]||=G(`span`,{class:`muted`},[q(`Devframe dev servers running on this machine, discovered via the shared registry (`),G(`code`,null,`~/.devframe/instances/`),q(`).`)],-1)]),e.instances?e.instances.length===0?(H(),U(`div`,CS,[...i[1]||=[G(`span`,{class:`i-ph-broadcast-duotone inst-empty-icon`},null,-1),G(`p`,{class:`inst-empty-title`},` No devframe instances discovered `,-1),G(`p`,null,[q(` This tab lists every devframe dev server running on your machine, so you can jump between them. Each server registers itself in `),G(`code`,null,`~/.devframe/instances/`),q(` while it runs. `)],-1),G(`p`,null,[q(` Nothing shows up when only static/build servers are running, when discovery is turned off (`),G(`code`,null,`DEVFRAME_DISABLE_INSTANCE_REGISTRY=1`),q(`), or when an in-process host hasn't opted in. Start another `),G(`code`,null,`devframe`),q(` dev server (or a hub host that calls `),G(`code`,null,`registerDevframeInstance()`),q(`), then hit refresh. `)],-1)]])):(H(),U(`div`,wS,[(H(!0),U(B,null,fa(n.value,e=>(H(),U(`div`,{key:`${e.pid}-${e.port}`,class:`card`},[G(`div`,TS,[i[2]||=G(`span`,{class:`i-ph-broadcast-duotone cmd-icon`},null,-1),G(`span`,ES,j(e.name??e.id),1),e.isCurrent?(H(),U(`span`,DS,`this instance`)):J(``,!0),e.hasMcp?(H(),U(`span`,OS,`MCP`)):J(``,!0)]),G(`div`,kS,j(e.id),1),G(`a`,{class:`inst-url`,href:e.url,target:`_blank`,rel:`noopener noreferrer`},[i[3]||=G(`span`,{class:`i-ph-arrow-square-out-duotone`},null,-1),G(`span`,jS,j(e.url),1)],8,AS),G(`dl`,MS,[G(`div`,null,[i[4]||=G(`dt`,null,`Port`,-1),G(`dd`,null,j(e.port),1)]),G(`div`,null,[i[5]||=G(`dt`,null,`PID`,-1),G(`dd`,null,j(e.pid),1)]),G(`div`,null,[i[6]||=G(`dt`,null,`Uptime`,-1),G(`dd`,null,j(r(e.startedAt)),1)]),G(`div`,NS,[i[7]||=G(`dt`,null,`Root`,-1),G(`dd`,{title:e.rootDir},j(e.rootDir),9,PS)])])]))),128))])):(H(),U(`div`,SS,` Discovering instances… `))]))}}),IS=R({__name:`InstancesSmart`,setup(e){let t=sy(),n=cn(null);async function r(){t.value&&(n.value=await t.value.call(`devframes:plugin:inspect:list-instances`))}return Pm(r),Yi(r),(e,t)=>(H(),W(FS,{instances:n.value},null,8,[`instances`]))}}),LS={class:`split`},RS={class:`keys`},zS={class:`keys-head`},BS={class:`checkbox`},VS={class:`keys-list`},HS={key:0,class:`empty`},US={key:1,class:`empty`},WS=[`title`,`onClick`],GS={class:`state-main`},KS={key:0,class:`center`},qS={key:1,class:`center`},JS={class:`state-meta`},YS={class:`state-key`},XS={key:0,class:`pulse`},ZS={key:1,class:`note`},QS=R({__name:`StateView`,props:{keys:{},selectedKey:{},value:{},loading:{type:Boolean},isStatic:{type:Boolean},updates:{},highlightPaths:{}},emits:[`select`],setup(e,{emit:t}){let n=e,r=t,i=F(!1),a=Y(()=>{let e=n.keys??[];return i.value?e:e.filter(e=>!e.startsWith(`devframe:`)&&!e.startsWith(`__`))});return(t,n)=>(H(),U(`div`,LS,[G(`aside`,RS,[G(`div`,zS,[G(`span`,null,j(a.value.length)+` keys`,1),G(`label`,BS,[mr(G(`input`,{"onUpdate:modelValue":n[0]||=e=>i.value=e,type:`checkbox`},null,512),[[Vl,i.value]]),n[1]||=q(` internal `,-1)])]),G(`div`,VS,[e.keys?a.value.length===0?(H(),U(`div`,US,` No shared state`+j(e.keys.length?` (toggle internal)`:``)+`. `,1)):J(``,!0):(H(),U(`div`,HS,` Loading… `)),(H(!0),U(B,null,fa(a.value,t=>(H(),U(`button`,{key:t,class:A([`key-item`,{active:e.selectedKey===t}]),title:t,onClick:e=>r(`select`,t)},j(t),11,WS))),128))])]),G(`section`,GS,[e.selectedKey?e.loading?(H(),U(`div`,qS,` Loading state… `)):(H(),U(B,{key:2},[G(`div`,JS,[G(`span`,YS,j(e.selectedKey),1),e.isStatic?(H(),U(`span`,ZS,`static snapshot`)):(H(),U(`span`,XS,`live`+j(e.updates?` · ${e.updates} update${e.updates>1?`s`:``}`:``),1))]),K($,{value:e.value,"expand-depth":3,"highlight-paths":e.highlightPaths},null,8,[`value`,`highlight-paths`])],64)):(H(),U(`div`,KS,` Select a shared-state key to inspect its live value. `))])]))}}),$S=R({__name:`StateSmart`,setup(e){let t=sy(),n=cn(null),r=F(null),i=cn(void 0),a=F(!1),o=cn(new Set),s=F(0),c=null,l=null;async function u(){t.value&&(n.value=await t.value.call(`devframes:plugin:inspect:list-state-keys`))}Pm(u),Yi(u);function d(e,t,n=``,r=new Set){if(e===t)return r;if(!(typeof e==`object`&&e)||!(typeof t==`object`&&t))return r.add(n),r;let i=new Set([...Object.keys(e),...Object.keys(t)]);for(let a of i){let i=n?`${n}.${a}`:a,o=a in e,s=a in t;!o||!s?r.add(i):d(e[a],t[a],i,r)}return r}function f(e){o.value=e,l&&clearTimeout(l),l=setTimeout(()=>{o.value=new Set},1600)}function p(){c?.(),c=null}return wr(r,async e=>{if(p(),i.value=void 0,s.value=0,o.value=new Set,e&&t.value){a.value=!0;try{let n=await t.value.sharedState.get(e);i.value=n.value(),c=n.on(`updated`,e=>{let t=d(i.value,e);i.value=e,s.value++,f(t)})}finally{a.value=!1}}}),Fe(()=>{p(),l&&clearTimeout(l)}),(e,t)=>(H(),W(QS,{keys:n.value,"selected-key":r.value,value:i.value,loading:a.value,"is-static":I(cy)(),updates:s.value,"highlight-paths":o.value,onSelect:t[0]||=e=>r.value=e},null,8,[`keys`,`selected-key`,`value`,`loading`,`is-static`,`updates`,`highlight-paths`]))}}),eC={class:`app`},tC={class:`app-body`},nC={class:`flex flex-col gap-1`},rC=R({__name:`App`,setup(e){let t=F(`functions`),{refresh:n,loading:r}=Fm(),i=Y(()=>wm(ny.status)),a=Y(()=>Em(ny.status)),o=[{value:`functions`,label:`Functions`,icon:`i-ph-function-duotone`},{value:`client`,label:`Client`,icon:`i-ph-browser-duotone`},{value:`state`,label:`State`,icon:`i-ph-database-duotone`},{value:`agent`,label:`Agent`,icon:`i-ph-robot-duotone`},{value:`commands`,label:`Commands`,icon:`i-ph-terminal-window-duotone`},{value:`history`,label:`History`,icon:`i-ph-clock-counter-clockwise-duotone`},{value:`instances`,label:`Instances`,icon:`i-ph-broadcast-duotone`}],s=Y(()=>cy()?o.filter(e=>e.value!==`instances`):o);Yi(oy);function c(){location.reload()}return(e,o)=>(H(),U(`div`,eC,[K(bm,{glass:!1,class:`h-nav`},{search:L(()=>[...o[1]||=[G(`div`,null,null,-1)]]),end:L(()=>[i.value?(H(),U(`span`,{key:0,class:A(i.value.class)},[G(`span`,{class:A(i.value.dot)},null,2),q(` `+j(i.value.label),1)],2)):J(``,!0),K(sp,{class:`text-sm`,icon:I(r)?`i-ph-arrows-clockwise animate-spin`:`i-ph-arrows-clockwise`,tooltip:I(r)?`Refreshing…`:`Refresh`,label:`Refresh`,disabled:I(r)||!I(ny).connected,onClick:I(n)},null,8,[`icon`,`tooltip`,`disabled`,`onClick`])]),default:L(()=>[o[2]||=G(`div`,{class:`flex items-center gap-1.5 shrink-0 font-semibold text-sm select-none`},[G(`span`,{class:`i-ph-magnifying-glass-duotone text-base color-active`}),G(`span`,null,`Devframe Inspector`)],-1),K(_m,{modelValue:t.value,"onUpdate:modelValue":o[0]||=e=>t.value=e,tabs:s.value,variant:`segment`},null,8,[`modelValue`,`tabs`])]),_:1}),G(`main`,tC,[a.value?(H(),U(`div`,{key:0,class:A(I(Dm)(`h-full`))},[G(`span`,{class:A([a.value.icon,I(Om)(a.value.spin)])},null,2),G(`div`,nC,[G(`p`,{class:A(I(km)())},j(a.value.title),3),G(`p`,{class:A(I(Am)())},j(a.value.body),3),I(ny).error&&I(ny).status===`error`?(H(),U(`p`,{key:0,class:A(I(jm)())},j(I(ny).error),3)):J(``,!0)]),a.value.reloadable?(H(),U(`button`,{key:0,type:`button`,class:A(I(Sm)({variant:`primary`,size:`sm`})),onClick:c},[...o[3]||=[G(`span`,{class:`i-ph-arrow-clockwise`},null,-1),q(` Reload `,-1)]],2)):J(``,!0)],2)):(H(),U(B,{key:1},[t.value===`functions`?(H(),W(iS,{key:0})):t.value===`client`?(H(),W(yx,{key:1})):t.value===`state`?(H(),W($S,{key:2})):t.value===`agent`?(H(),W(lb,{key:3})):t.value===`commands`?(H(),W(Yx,{key:4})):t.value===`history`?(H(),W(vS,{key:5})):t.value===`instances`?(H(),W(IS,{key:6})):J(``,!0)],64))])]))}}),iC=window.matchMedia(`(prefers-color-scheme: dark)`);function aC(e){document.documentElement.classList.toggle(`dark`,e),document.documentElement.classList.toggle(`light`,!e)}aC(iC.matches),iC.addEventListener(`change`,e=>aC(e.matches)),du(rC).mount(`#app`);
package/dist/index.html CHANGED
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width,initial-scale=1" />
6
6
  <base href="./" />
7
7
  <title>Devframe Inspector</title>
8
- <script type="module" crossorigin src="./assets/index-CjVoC6fC.js"></script>
8
+ <script type="module" crossorigin src="./assets/index-uGXkMODo.js"></script>
9
9
  <link rel="stylesheet" crossorigin href="./assets/index-r6MWVtoN.css">
10
10
  </head>
11
11
  <body>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@devframes/plugin-inspect--assets",
3
3
  "type": "module",
4
- "version": "0.9.20",
4
+ "version": "0.10.0",
5
5
  "description": "Prebuilt browser assets (SPA) for @devframes/plugin-inspect, served on demand through devframe's remote-assets back-proxy.",
6
6
  "author": "Anthony Fu <anthonyfu117@hotmail.com>",
7
7
  "license": "MIT",