const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./CcXt34PQ.js","./Dsjmnbas.js"])))=>i.map(i=>d[i]); import{t as e}from"./xT_YSlE5.js";import{o as t}from"./ChoK7rke.js";import{B as n,Ht as r,J as i,On as a,Ut as o,fn as s,g as c,gt as l,k as u,un as d,vn as f,wn as p}from"./CaODJcyn.js";import{ot as m}from"./CZ4u9LnO.js";import{b as h}from"./DwuL_1Kg.js";import{C as g,a as _,k as v,o as y,p as b,t as x}from"./aTmK00sy.js";import{i as S,r as C}from"./Dsjmnbas.js";function w(){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 T(){let e=f();return{primitiveElement:e,currentElement:c(()=>[`#text`,`#comment`].includes(e.value?.$el.nodeName)?e.value?.$el.nextElementSibling:h(e))}}var ee=`focusScope.autoFocusOnMount`,E=`focusScope.autoFocusOnUnmount`,te={bubbles:!1,cancelable:!0};function ne(e,{select:t=!1}={}){let n=w();for(let r of e)if(se(r,{select:t}),w()!==n)return!0}function re(e){let t=D(e);return[ie(t,e),ie(t.reverse(),e)]}function D(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function ie(e,t){for(let n of e)if(!ae(n,{upTo:t}))return n}function ae(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function oe(e){return e instanceof HTMLInputElement&&`select`in e}function se(e,{select:t=!1}={}){if(e&&e.focus){let n=w();e.focus({preventScroll:!0}),e!==n&&oe(e)&&t&&e.select()}}var ce=`data-reka-collection-item`;function le(e={}){let{key:t=``,isProvider:a=!1}=e,d=`${t}CollectionProvider`,p;if(a){let e=f(new Map);p={collectionRef:f(),itemMap:e},l(d,p)}else p=i(d);let m=(e=!1)=>{let t=p.collectionRef.value;if(!t)return[];let n=Array.from(t.querySelectorAll(`[${ce}]`)),r=new Map(n.map((e,t)=>[e,t])),i=Array.from(p.itemMap.value.values()).sort((e,t)=>(r.get(e.ref)??-1)-(r.get(t.ref)??-1));return e?i:i.filter(e=>e.ref.dataset.disabled!==``)},h=u({name:`CollectionSlot`,inheritAttrs:!1,setup(e,{slots:t,attrs:i}){let{primitiveElement:a,currentElement:o}=T();return r(o,()=>{p.collectionRef.value=o.value}),()=>n(g,{ref:a,...i},t)}}),_=u({name:`CollectionItem`,inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(e,{slots:t,attrs:r}){let{primitiveElement:i,currentElement:a}=T();return o(t=>{if(a.value){let n=s(a.value);p.itemMap.value.set(n,{ref:a.value,value:e.value}),t(()=>p.itemMap.value.delete(n))}}),()=>n(g,{...r,[ce]:``,ref:i},t)}});return{getItems:m,reactiveItems:c(()=>Array.from(p.itemMap.value.values())),itemMapSize:c(()=>p.itemMap.value.size),CollectionSlot:h,CollectionItem:_}}function ue(e){return(t,n)=>de(t,n,a(e))}function de(e,t,n){return b(n,`messages.${e}`,e).replace(/\{(\w+)\}/g,(e,n)=>`${t?.[n]??`{${n}}`}`)}function fe(e){return{lang:c(()=>a(e).name),code:c(()=>a(e).code),dir:c(()=>a(e).dir),locale:d(e)?e:f(e),t:ue(e)}}function pe(e){return m(e,{dir:`ltr`})}var me=pe({name:`English`,code:`en`,messages:{alert:{close:`Close`},authForm:{hidePassword:`Hide password`,showPassword:`Show password`,submit:`Continue`},banner:{close:`Close`},calendar:{nextMonth:`Next month`,nextYear:`Next year`,prevMonth:`Previous month`,prevYear:`Previous year`},carousel:{dots:`Choose slide to display`,goto:`Go to slide {slide}`,next:`Next`,prev:`Prev`},chatPrompt:{placeholder:`Type your message here…`},chatPromptSubmit:{label:`Send prompt`},colorMode:{dark:`Dark`,light:`Light`,switchToDark:`Switch to dark mode`,switchToLight:`Switch to light mode`,system:`System`},commandPalette:{back:`Back`,close:`Close`,noData:`No data`,noMatch:`No matching data`,placeholder:`Type a command or search…`},contentSearch:{links:`Links`,search:`Results`,theme:`Theme`},contentSearchButton:{label:`Search…`},contentToc:{title:`On this page`},dropdownMenu:{noMatch:`No matching data`,search:`Search…`},dashboardSearch:{theme:`Theme`},dashboardSearchButton:{label:`Search…`},dashboardSidebarCollapse:{collapse:`Collapse sidebar`,expand:`Expand sidebar`},dashboardSidebarToggle:{close:`Close sidebar`,open:`Open sidebar`},drawer:{close:`Close`},error:{clear:`Back to home`},fileUpload:{removeFile:`Remove {filename}`},header:{close:`Close menu`,open:`Open menu`},inputMenu:{create:`Create "{label}"`,noData:`No data`,noMatch:`No matching data`},inputNumber:{decrement:`Decrement`,increment:`Increment`},listbox:{noData:`No data`,noMatch:`No matching data`,search:`Search…`},modal:{close:`Close`},pricingTable:{caption:`Pricing plan comparison`},prose:{codeCollapse:{closeText:`Collapse`,name:`code`,openText:`Expand`},collapsible:{closeText:`Hide`,name:`properties`,openText:`Show`},pre:{copy:`Copy code to clipboard`},prompt:{copy:`Copy prompt`,openIn:`Open in {name}`}},chatReasoning:{thinking:`Thinking…`,thought:`Thought`,thoughtFor:`Thought for {duration}`},sidebar:{close:`Close`,toggle:`Toggle`},selectMenu:{create:`Create "{label}"`,noData:`No data`,noMatch:`No matching data`,search:`Search…`},slideover:{close:`Close`},table:{noData:`No data`},toast:{close:`Close`}}}),he=Symbol.for(`nuxt-ui.locale-context`),ge=v(e=>{let t=e||p(i(he,me));return fe(c(()=>t.value||me))});function O(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{let r=new be({code:i,why:ve(a.why,e),fix:ve(a.fix,e),docs:o,cause:e.cause,sources:e.sources,data:ve(a.data,e)},s);for(let e of t)e(r,n);return r};n[i]=s}return n}function Ce(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{e=n,t=r}),resolve:e,reject:t}}var Oe=Math.random.bind(Math),ke=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function Ae(e=21){let t=``,n=e;for(;n--;)t+=ke[Oe()*64|0];return t}var je=6e4,Me=e=>e,Ne=Me,{clearTimeout:Pe,setTimeout:Fe}=globalThis;function Ie(e,t){let{post:n,on:r,off:i=()=>{},eventNames:a=[],serialize:o=Me,deserialize:s=Ne,resolver:c,bind:l=`rpc`,timeout:u=je,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}=De(),_=Ae();s.i=_;let v;async function y(n=s){return u>=0&&(v=Fe(()=>{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{Pe(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&&(Pe(r.timeoutId),n?r.reject(n):r.resolve(t)),p.delete(e)}}return m=r(b),h}function Le(e,t){return t.safety?t.safety:e===`static`||e===`query`||e==null?`read`:`action`}var Re=Object.freeze({type:`object`,additionalProperties:!0});function ze(e){let t=e[`~standard`];if(t.jsonSchema)try{return t.jsonSchema.input({target:`draft-2020-12`})}catch{return Re}return Re}function Be(e){if(!e||e.length===0)return{type:`object`,properties:{}};let t={},n=[];for(let r=0;rn[`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 He(e,t){return Ve(e,t)??[e]}function Ue(e){return typeof e==`string`?`'${e}'`:new qe().serialize(e)}var We=` _-,;:!?.'"()[]{}@*/\\&#%\`^+<=>|~$0123456789abcdefghijklmnopqrstuvwxyz`,Ge=(function(){let e=new Uint8Array(128);for(let t=0;t<69;t++)e[We.charCodeAt(t)]=t+1;for(let t=65;t<=90;t++)e[t]=e[t+32];return e})();function Ke(e,t){if(e===t)return 0;let n=Math.min(e.length,t.length),r=0;for(let i=0;ia?-1:1)}return e.length===t.length?r:e.lengththis.compare(e[0],t[0])),r=`${e}{`;for(let e=0;ethis.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})(),Je=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],Ye=[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],Xe=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,A=[],Ze=class{_data=new Qe;_hash=new Qe([...Je]);_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)A[n]=e[t+n]|0;else{let e=A[n-15],t=(e<<25|e>>>7)^(e<<14|e>>>18)^e>>>3,r=A[n-2],i=(r<<15|r>>>17)^(r<<13|r>>>19)^r>>>10;A[n]=t+A[n-7]+i+A[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+Ye[n]+A[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=Qe.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>>2]|=(n.charCodeAt(e)&255)<<24-e%4*8;return new e(i,r)}toBase64(){let e=[];for(let t=0;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>>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>>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>>2]=e.words[t>>>2];this.sigBytes+=e.sigBytes}};function $e(e){return new Ze().finalize(e).toBase64()}function et(e){return $e(Ue(e))}function tt(e){return et(e)}function nt(){let e={};function t(t,...n){let r=e[t]||[];for(let e=0,t=r.length;e{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 rt=/^[\w+.-]{2,}:\/\//;function it(e){return e.endsWith(`/`)?e:`${e}/`}function at(e){return(e.endsWith(`/`)?e.slice(0,-1):e)||`/`}function ot(e,...t){let n=e;for(let e of t)!e||e===`/`||(n=n?it(n)+e.replace(/^\.?\//,``):e);return n}function st(e,t){if(!t||t===`/`||rt.test(e))return e;let n=at(t);return e.startsWith(n)?e:ot(n,e)}function ct(e,t){let n=e.match(rt);return t+(n?e.slice(n[0].length):e)}var lt=Symbol.for(`immer-nothing`),ut=Symbol.for(`immer-draftable`),j=Symbol.for(`immer-state`),dt=[function(e){return`The plugin for '${e}' has not been loaded into Immer. To enable the plugin, import and call \`enable${e}()\` when initializing your application.`},function(e){return`produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${e}'`},`This object has been frozen and should not be mutated`,function(e){return`Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? `+e},`An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.`,`Immer forbids circular references`,"The first or second argument to `produce` must be a function","The third argument to `produce` must be a function or undefined","First argument to `createDraft` must be a plain object, an array, or an immerable object","First argument to `finishDraft` must be a draft returned by `createDraft`",function(e){return`'current' expects a draft, got: ${e}`},`Object.defineProperty() cannot be used on an Immer draft`,`Object.setPrototypeOf() cannot be used on an Immer draft`,`Immer only supports deleting array indices`,`Immer only supports setting array indices and the 'length' property`,function(e){return`'original' expects a draft, got: ${e}`}];function M(e,...t){{let n=dt[e],r=U(n)?n.apply(null,t):n;throw Error(`[Immer] ${r}`)}}var N=Object,P=N.getPrototypeOf,F=`constructor`,I=`prototype`,ft=`configurable`,pt=`enumerable`,mt=`writable`,ht=`value`,L=e=>!!e&&!!e[j];function R(e){return e?vt(e)||St(e)||!!e[ut]||!!e[F]?.[ut]||Ct(e)||wt(e):!1}var gt=N[I][F].toString(),_t=new WeakMap;function vt(e){if(!e||!H(e))return!1;let t=P(e);if(t===null||t===N[I])return!0;let n=N.hasOwnProperty.call(t,F)&&t[F];if(n===Object)return!0;if(!U(n))return!1;let r=_t.get(n);return r===void 0&&(r=Function.toString.call(n),_t.set(n,r)),r===gt}function yt(e,t,n=!0){z(e)===0?(n?Reflect.ownKeys(e):N.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function z(e){let t=e[j];return t?t.type_:St(e)?1:Ct(e)?2:wt(e)?3:0}var B=(e,t,n=z(e))=>n===2?e.has(t):N[I].hasOwnProperty.call(e,t),V=(e,t,n=z(e))=>n===2?e.get(t):e[t],bt=(e,t,n,r=z(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function xt(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var St=Array.isArray,Ct=e=>e instanceof Map,wt=e=>e instanceof Set,H=e=>typeof e==`object`,U=e=>typeof e==`function`,Tt=e=>typeof e==`boolean`;function Et(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Dt=e=>H(e)?e?.[j]:null,W=e=>e.copy_||e.base_,Ot=e=>e.modified_?e.copy_:e.base_;function kt(e,t){if(Ct(e))return new Map(e);if(wt(e))return new Set(e);if(St(e))return Array[I].slice.call(e);let n=vt(e);if(t===!0||t===`class_only`&&!n){let t=N.getOwnPropertyDescriptors(e);delete t[j];let n=Reflect.ownKeys(t);for(let r=0;r1&&N.defineProperties(e,{set:Mt,add:Mt,clear:Mt,delete:Mt}),N.freeze(e),t&&yt(e,(e,t)=>{At(t,!0)},!1),e)}function jt(){M(2)}var Mt={[ht]:jt};function Nt(e){return e===null||!H(e)||N.isFrozen(e)}var Pt=`MapSet`,Ft=`Patches`,It=`ArrayMethods`,Lt={};function G(e){let t=Lt[e];return t||M(0,e),t}var Rt=e=>!!Lt[e];function zt(e,t){Lt[e]||(Lt[e]=t)}var Bt,Vt=()=>Bt,Ht=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:Rt(Pt)?G(Pt):void 0,arrayMethodsPlugin_:Rt(It)?G(It):void 0});function Ut(e,t){t&&(e.patchPlugin_=G(Ft),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Wt(e){Gt(e),e.drafts_.forEach(qt),e.drafts_=null}function Gt(e){e===Bt&&(Bt=e.parent_)}var Kt=e=>Bt=Ht(Bt,e);function qt(e){let t=e[j];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function Jt(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[j].modified_&&(Wt(t),M(4)),R(e)&&(e=Yt(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[j].base_,e,t)}else e=Yt(t,n);return Xt(t,e,!0),Wt(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===lt?void 0:e}function Yt(e,t){if(Nt(t))return t;let n=t[j];if(!n)return an(t,e.handledSet_,e);if(!Qt(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);nn(n,e)}return n.copy_}function Xt(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&At(t,n)}function Zt(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var Qt=(e,t)=>e.scope_===t,$t=[];function en(e,t,n,r){let i=W(e),a=e.type_;if(r!==void 0&&V(i,r,a)===t){bt(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;yt(i,(e,n)=>{if(L(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??$t;for(let e of o)bt(i,e,n,a)}function tn(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!Qt(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=Ot(i);en(e,i.draft_??i,a,n),nn(i,r)})}function nn(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)}Zt(e)}}function rn(e,t,n){let{scope_:r}=e;if(L(n)){let i=n[j];Qt(i,r)&&i.callbacks_.push(function(){mn(e),en(e,n,Ot(i),t)})}else R(n)&&e.callbacks_.push(function(){let i=W(e);e.type_===3?i.has(n)&&an(n,r.handledSet_,r):V(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&an(V(e.copy_,t,e.type_),r.handledSet_,r)})}function an(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||L(e)||t.has(e)||!R(e)||Nt(e)?e:(t.add(e),yt(e,(r,i)=>{if(L(i)){let t=i[j];Qt(t,n)&&(bt(e,r,Ot(t),e.type_),Zt(t))}else R(i)&&an(i,t,n)}),e)}function on(e,t){let n=St(e),r={type_:+!!n,scope_:t?t.scope_:Vt(),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=sn;n&&(i=[r],a=cn);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var sn={get(e,t){if(t===j)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=W(e);if(!B(i,t,e.type_))return dn(e,i,t);let a=i[t];if(e.finalized_||!R(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&Et(t))return a;if(a===ln(e.base_,t)||un(e,t,a)){mn(e);let n=e.type_===1?+t:t,r=gn(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in W(e)},ownKeys(e){return Reflect.ownKeys(W(e))},set(e,t,n){let r=fn(W(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=ln(W(e),t),i=r?.[j];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(xt(n,r)&&(n!==void 0||B(e.base_,t,e.type_)))return!0;mn(e),pn(e)}return e.copy_[t]===n&&(n!==void 0||B(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t])?!0:(e.copy_[t]=n,e.assigned_.set(t,!0),rn(e,t,n),!0)},deleteProperty(e,t){return mn(e),ln(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),pn(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=W(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[mt]:!0,[ft]:e.type_!==1||t!==`length`,[pt]:r[pt],[ht]:n[t]}},defineProperty(){M(11)},getPrototypeOf(e){return P(e.base_)},setPrototypeOf(){M(12)}},cn={};for(let e in sn){let t=sn[e];cn[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}cn.deleteProperty=function(e,t){return isNaN(parseInt(t))&&M(13),cn.set.call(this,e,t,void 0)},cn.set=function(e,t,n){return t!==`length`&&isNaN(parseInt(t))&&M(14),sn.set.call(this,e[0],t,n,e[0])};function ln(e,t){let n=e[j];return(n?W(n):e)[t]}function un(e,t,n){return e.type_!==1||!e.allIndicesReassigned_||e.assigned_?.get(t)||!R(n)||n[j]?!1:e.baseRefs_.has(n)}function dn(e,t,n){let r=fn(t,n);return r?ht in r?r[ht]:r.get?.call(e.draft_):void 0}function fn(e,t){if(!(t in e))return;let n=P(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=P(n)}}function pn(e){e.modified_||(e.modified_=!0,e.parent_&&pn(e.parent_))}function mn(e){e.copy_||=(e.assigned_=new Map,kt(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var hn=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(U(e)&&!U(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}U(t)||M(6),n!==void 0&&!U(n)&&M(7);let r;if(R(e)){let i=Kt(this),a=gn(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?Wt(i):Gt(i)}return Ut(i,n),Jt(r,i)}if(!e||!H(e)){if(r=t(e),r===void 0&&(r=e),r===lt&&(r=void 0),this.autoFreeze_&&At(r,!0),n){let t=[],i=[];G(Ft).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}M(1,e)},this.produceWithPatches=(e,t)=>{if(U(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]},Tt(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Tt(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Tt(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){R(e)||M(8),L(e)&&(e=_n(e));let t=Kt(this),n=gn(t,e,void 0);return n[j].isManual_=!0,Gt(t),n}finishDraft(e,t){let n=e&&e[j];(!n||!n.isManual_)&&M(9);let{scope_:r}=n;return Ut(r,t),Jt(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=G(Ft).applyPatches_;return L(e)?r(e,t):this.produce(e,e=>r(e,t))}};function gn(e,t,n,r){let[i,a]=Ct(t)?G(Pt).proxyMap_(t,n):wt(t)?G(Pt).proxySet_(t,n):on(t,n);return(n?.scope_??Vt()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?tn(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 _n(e){return L(e)||M(10,e),vn(e)}function vn(e){if(!R(e)||Nt(e))return e;let t=e[j],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=kt(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=kt(e,!0);return yt(n,(e,t)=>{bt(n,e,vn(t))},r),t&&(t.finalized_=!1),n}function yn(){dt.push(`Sets cannot have "replace" patches.`,function(e){return`Unsupported patch operation: `+e},function(e){return`Cannot apply patch, path doesn't resolve: `+e},`Patching reserved attributes like __proto__, prototype and constructor is not allowed`);function e(n,r=[]){if(n.key_!==void 0){let e=n.parent_.copy_??n.parent_.base_,t=Dt(V(e,n.key_)),i=V(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||B(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{let u=V(o,e,c),f=V(s,e,c),p=l?B(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===lt?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[e,u(t)]));if(wt(e))return new Set(Array.from(e).map(u));let t=Object.create(P(e));for(let n in e)t[n]=u(e[n]);return B(e,ut)&&(t[ut]=e[ut]),t}function d(e){return L(e)?u(e):e}zt(Ft,{applyPatches_:l,generatePatches_:i,generateReplacementPatches_:c,getPath:e})}globalThis.Iterator?.from;var bn=new hn,xn=bn.produce,Sn=bn.produceWithPatches.bind(bn),Cn=bn.applyPatches.bind(bn),wn=1e3;function Tn(e,t){if(e.add(t),e.size>wn){let t=e.values().next().value;t!==void 0&&e.delete(t)}}function En(e){let{enablePatches:t=!1}=e;t&&yn();let n=nt(),r=e.initialValue,i=new Set;return{on:n.on,value:()=>r,patch:(e,t=S())=>{i.has(t)||(yn(),r=Cn(r,e),Tn(i,t),n.emit(`updated`,r,void 0,t))},mutate:(e,a=S())=>{if(!i.has(a)){if(Tn(i,a),t){let[t,i]=Sn(r,e);if(t===r)return;r=t,n.emit(`updated`,r,i,a)}else{let t=xn(r,e);if(t===r)return;r=t,n.emit(`updated`,r,void 0,a)}}},syncIds:i}}var Dn=typeof self==`object`?self:globalThis,On=new Set([`Error`,`EvalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`,`AggregateError`]),kn=new Set([`Boolean`,`Number`,`String`,`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float16Array`,`Float32Array`,`Float64Array`,`BigInt64Array`,`BigUint64Array`]);function An(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=On.has(e)?Dn[e]:void 0;return n(new(r??Dn.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`&&kn.has(a))return n(new Dn[a](o),i);throw TypeError(`unable to deserialize unsafe or unknown type: ${String(a)}`)};return r}function jn(e){return An(new Map,e)(0)}var K=``,{toString:Mn}={},{keys:Nn}=Object;function Pn(e){let t=typeof e;if(t!==`object`||!e)return[0,t];let n=Mn.call(e).slice(8,-1);switch(n){case`Array`:return[1,K];case`Object`:return[2,K];case`Date`:return[3,K];case`RegExp`:return[4,K];case`Map`:return[5,K];case`Set`:return[6,K];case`DataView`:return[1,n]}return n.includes(`Array`)?[1,n]:n.includes(`Error`)?[7,n]:[2,n]}function Fn([e,t]){return e===0&&(t===`function`||t===`symbol`)}function In(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]=Pn(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 Nn(r))(e||!Fn(Pn(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||!(Fn(Pn(n))||Fn(Pn(i))))&&t.push([a(n),a(i)]);return n}case 6:{let t=[],n=i([o,t],r);for(let n of r)(e||!Fn(Pn(n)))&&t.push(a(n));return n}}let{message:c}=r;return i([o,{name:s,message:c}],r)};return a}function Ln(e,t={}){let n=[];return In(!(t.json||t.lossy),!!t.json,new Map,n)(e),n}var{parse:Rn,stringify:zn}=JSON,Bn={json:!0,lossy:!0};function Vn(e){return jn(Rn(e))}function Hn(e){return zn(Ln(e,Bn))}function Un(e){return jn(e)}function Wn(e){return Hn(e)}function Gn(e){return Vn(e)}var Kn=256,qn=class extends Error{name=`StreamClosedError`};function Jn(e={}){let t=e.id??S(),n=Math.max(0,e.replayWindow??0),r=nt(),i=new AbortController,a=[],o=!1,s=0;function c(e){if(o)throw new qn(`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=Xn(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 Yn(e={}){let t=e.id??S(),n=Math.max(1,e.highWaterMark??Kn),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 Xn(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 Zn=128;function Qn(e){return e.replace(/[^\w-]+/g,`_`).slice(0,Zn)}var $n=`__connection.json`,er=`__DEVFRAME_CONNECTION__`,tr=`x-birpc-session`,nr=`__rpc-dump/index.json`,rr=`devframe:services`,ir=`devframe_otp`,ar=`devframe_auth_token`;k.postMessage.remoteAssetsError;var or=class{cacheMap=new Map;options;keySerializer;constructor(e){this.options=e,this.keySerializer=e.keySerializer||(e=>tt(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()}},q=Ee({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 sr(e){if(e.agent&&e.jsonSerializable===!1)throw q.DF0019({name:e.name});e.agent&&!e.jsonSerializable&&(e.jsonSerializable=!0)}async function cr(e,t){let n=e[`~standard`].validate(t);return n instanceof Promise?await n:n}function lr(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 ur(e,t,n){let r=n.slice();if(!t||t.length===0)return r;for(let r=0;r{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 pr(e,t){let n=e.handler;if(!n){let r=await fr(e,t);if(!r.handler)throw q.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 ur(e.name,r,t),o=await a(...n);return await dr(e.name,i,o)}}var mr=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 pr(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 q.DF0021({name:e.name});sr(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 q.DF0022({name:e.name});sr(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 pr(this.definitions.get(e),this.context)}getSchema(e){let t=this.definitions.get(e);if(!t)throw q.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 hr(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 J(t,`undefined`,r,e);return n}return i!==null&&gr(i,r,e,t),n})}function gr(e,t,n,r){if(typeof e==`bigint`)throw J(r,`BigInt`,t,n);if(typeof e!=`object`)return;if(e instanceof Map)throw J(r,`Map`,t,n);if(e instanceof Set)throw J(r,`Set`,t,n);if(e instanceof Date)throw J(r,`Date`,t,n);if(Array.isArray(e))return;let i=Object.getPrototypeOf(e);if(i!==null&&i!==Object.prototype)throw J(r,e.constructor?.name??`class instance`,t,n)}function J(e,t,n,r){let i=_r(n,r);return q.DF0020({name:e||``,type:t,path:i})}function _r(e,t){return Array.isArray(e)?`[${t}]`:t===``?``:t}var vr=`__DEVFRAME_CONNECTION_META__`,yr=`__DEVFRAME_CONNECTION_AUTH_TOKEN__`;function br(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 xr(){return br(er)}function Sr(){return br(vr)}function Y(e){if(e)return e;try{let e=localStorage.getItem(yr);if(e)return e}catch{}return br(yr)}function Cr(e){globalThis[er]=e,globalThis[vr]={...e.connectionMeta,baseUrl:e.metaBaseUrl},e.authToken&&wr(e.authToken)}function wr(e){try{localStorage.setItem(yr,e)}catch{}globalThis[yr]=e;let t=xr();t&&(globalThis[er]={...t,authToken:e})}function Tr(e){let t=st($n,e);try{return new URL(t,globalThis.location?.href).href}catch{return t}}function Er(e,t){return t&&t!==e.authToken?{...e,authToken:t}:e}function Dr(){let e=xr();if(e)return Er(e,Y()??e.authToken??e.connectionMeta.authToken);let t=Sr();if(t)return{connectionMeta:t,metaBaseUrl:t.baseUrl??Tr(`./`),authToken:Y(t.authToken)}}async function Or(e={}){if(e.connection){let t=Er(e.connection,Y(e.authToken??e.connection.authToken??e.connection.connectionMeta.authToken));return Cr(t),t}let t=Array.isArray(e.baseURL)?e.baseURL:[e.baseURL??`./`];if(e.connectionMeta){let n={connectionMeta:e.connectionMeta,metaBaseUrl:Tr(t[0]??`./`),authToken:Y(e.authToken??e.connectionMeta.authToken)};return Cr(n),n}let n=Dr();if(n){let t=Er(n,Y(e.authToken??n.authToken??n.connectionMeta.authToken));return Cr(t),t}let r=[];for(let n of t){let t=st($n,n),i=Tr(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:Y(e.authToken??r.authToken)};return Cr(o),o}catch(e){r.push(e)}}throw Error(`Failed to get connection meta from ${t.join(`, `)}`,{cause:r})}var X=class extends Error{name=`DevframeConnectionError`;kind;constructor(e,t,n){super(t,n),this.kind=e}};function kr(e=ir){try{let t=globalThis.location?.hash?.replace(/^#/,``)??``;return new URLSearchParams(t).get(e)||void 0}catch{return}}function Ar(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 jr(e=ir){let t=kr(e);return t&&Ar(e),t}async function Mr(e,t={}){let n=jr(t.param??`devframe_otp`);return n?e.isTrusted?!0:e.requestTrustWithCode(n):!1}function Nr(e){let t={},n=new WeakMap,r,i=()=>(r??=e.sharedState.get(rr,{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}}}function Pr(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:k.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:k.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=En({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(k.client.isTrustedUpdated,e=>{e&&!n&&(n=!0,d())})}})}}}var Fr=new Map;function Ir(e=Fr){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?hr(n,r??``):`s:${Wn(n)}`},deserialize:e=>{let n=e.startsWith(`s:`)?Gn(e.slice(2)):JSON.parse(e);return n.t===`q`&&n.i&&n.m&&t.set(n.i,n.m),n}}}function Lr(){}function Rr(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 zr(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 Br(e){let{onConnected:t=Lr,onError:n=Lr,onDisconnected:r=Lr,definitions:i,fetch:a=globalThis.fetch.bind(globalThis)}=e,o=e.url;e.authToken&&(o=`${o}${o.includes(`?`)?`&`:`?`}${ar}=${encodeURIComponent(e.authToken)}`);let s=Ir(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=Rr(r);if(!e)break;r=e.rest;let{event:t,data:n}=zr(e.frame);n.length>0&&_(t,n.join(` `))}}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`,[tr]: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 Vr(e,t){let{channel:n,rpcOptions:r={}}=t;return Ie(e,{...n,timeout:-1,...r,proxify:!1})}function Hr(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(k.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 X(`connection`,`[devframe] Not connected to the devframe server`,{cause:u??void 0}):l===`unauthorized`?new X(`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(k.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 X(`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(k.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(k.client.connectionError,e),m(new X(`connection`,`[devframe] Connection to the devframe server failed`,{cause:e}))},onDisconnected(){l!==`error`&&f(`disconnected`),m(new X(`connection`,`[devframe] Disconnected from the devframe server`,{cause:u??void 0}))}}),y=Vr(a.functions,{channel:v,rpcOptions:o});a.register({name:k.broadcast.authRevoked,type:`event`,handler:()=>{c=!1;let e=new X(`auth`,`[devframe] The devframe server revoked this client's trust`);f(`unauthorized`,e),i.emit(k.client.connectionError,e),m(e),i.emit(k.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 X(`auth`,`[devframe] The devframe server refused this client's credentials`);f(`unauthorized`,e),i.emit(k.client.connectionError,e)}return i.emit(k.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(k.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(k.client.error,n,t),Promise.reject(n)):g(y.$call(...e),t)},callEvent:(...e)=>{let t=h();if(t){i.emit(k.client.error,t,String(e[0]));return}return y.$callEvent(...e)},callOptional:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(k.client.error,n,t),Promise.reject(n)):g(y.$callOptional(...e),t)},close:()=>{v.close()}}}function Ur(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 Wr(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},sseOptions:s={},callTimeout:c=0}=e,l=Ur(n.sse,r??`./`,location);return Hr({transport:`sse`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>Br({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 Gr(e){let{name:t,message:n,cause:r,...i}=e,a=r instanceof Error?r:Kr(r)?Gr(r):r,o=a===void 0?Error(n):Error(n,{cause:a});return o.name=t,Object.assign(o,i),o}function Kr(e){return typeof e==`object`&&!!e&&typeof e.message==`string`&&typeof e.name==`string`}function qr(e){return typeof e==`object`&&!!e&&e.type===`static`&&typeof e.path==`string`}function Jr(e){return typeof e==`object`&&!!e&&e.type===`query`&&typeof e.records==`object`&&e.records!==null}function Yr(e){return typeof e==`object`&&!!e&&(`output`in e||`error`in e)}function Xr(e){if(e.error)throw Gr(e.error);return e.output}function Zr(e){return e.some(e=>e!=null)}function Qr(e){return typeof e==`object`&&e&&`serialization`in e&&`data`in e?e.data:e}function $r(e,t){let n=new Map,r=new Map;function i(e,t){return t===`structured-clone`&&Array.isArray(e)?Un(e):e}function a(e,t){return i(Qr(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 Yr(r)?Xr(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(qr(r)){if(Zr(n))throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`);return await o(r)}if(Jr(r)){let e=tt(n),i=r.records[e];if(i)return Xr(await s(i,r.serialization));if(r.fallback)return Xr(await s(r.fallback,r.serialization));throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}if(!Zr(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 ei(e){let t=$r(await e.fetchJsonFromBases(nr),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 ti=``;function ni(e,t){return`${e}${ti}${t}`}function ri(e){let t=new Map,n=new Map;e.client.register({name:k.broadcast.streamingChunk,type:`event`,handler(e,n,r,i){t.get(ni(e,n))?._push(r,i)}}),e.client.register({name:k.broadcast.streamingEnd,type:`event`,handler(e,n,r){let i=ni(e,n),a=t.get(i);a&&(a._end(r),t.delete(i))}}),e.client.register({name:k.broadcast.streamingUploadCancel,type:`event`,handler(e,t){let r=ni(e,t),i=n.get(r);i&&(i.abort(`server cancelled upload`),n.delete(r))}}),e.events.on(k.client.isTrustedUpdated,n=>{if(n)for(let[n,r]of t){if(r.cancelled||r.done)continue;let t=n.indexOf(ti);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=ni(n,r),o=t.get(a);if(o)return o;let s=Yn({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(k.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=ni(t,r),a=n.get(i);if(a)return a;let o=Jn({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 ii(){}var ai=new Map;function oi(e){let t=e.url;e.authToken&&(t=`${t}?${ar}=${encodeURIComponent(e.authToken)}`);let n=new WebSocket(t),{onConnected:r=ii,onError:i=ii,onDisconnected:a=ii,definitions:o=ai}=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=Ir(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 si(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 ct(a,/^https/i.test(a)?`wss://`:`ws://`);let o=new URL(a,r);return o.protocol=i,o.href}function ci(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},wsOptions:s={},callTimeout:c=0}=e,l=si(n.websocket,r??`./`,location);return Hr({transport:`websocket`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>oi({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 li(e){return e.includes(`:`)}function Z(e,t){return li(t)?t:`${e}:${t}`}function ui(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 di(e,t,n){let r=`devframe:settings:${n}:${t}`,i;function a(){return i||=e.sharedState.get(r,{initialValue:{}}),i}return ui(a)}function fi(e,t){return{global:di(e,t,`global`),project:di(e,t,`project`)}}function pi(e,t){return{namespace:t,base:e,rpc:{namespace:t,register(n){if(li(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(Z(t,n),...r)),callEvent:((n,...r)=>e.callEvent(Z(t,n),...r)),callOptional:((n,...r)=>e.callOptional(Z(t,n),...r)),sharedState:((n,r)=>e.sharedState.get(Z(t,n),r)),streaming:{subscribe:(n,r,i)=>e.streaming.subscribe(Z(t,n),r,i),upload:(n,r)=>e.streaming.upload(Z(t,n),r)}},settings:fi(e,t),scope:e.scope}}function mi(){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 hi(e,t={}){let n=t.modelContext??mi();if(!n)return()=>{};let r=n,i=new Map,a=new Map;function o(t,n){let o=Qn(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=Le(t.type,n),u=r.registerTool({name:o,description:n.description,inputSchema:Be(t.args),annotations:{title:n.title??t.name,readOnlyHint:l===`read`,destructiveHint:l===`destructive`},execute:n=>gi(t,e.context,n)},{signal:c.signal});u&&`then`in u&&u.then(()=>{},()=>{}),a.set(o,t.name),i.set(t.name,()=>{c.abort(),u&&`unregister`in u&&typeof u.unregister==`function`&&u.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()}}async function gi(e,t,n){try{let r=He(n,e.args?.length);return{content:[{type:`text`,text:_i(await(await pr(e,t))(...r))}]}}catch(e){return{isError:!0,content:[{type:`text`,text:vi(e)}]}}}function _i(e){return e===void 0?`undefined`:typeof e==`string`?e:JSON.stringify(e,null,2)}function vi(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 yi(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 bi(t={}){let{baseURL:n=`./`,rpcOptions:r={},cacheOptions:i=!1}=t,a=nt(),o=Array.isArray(n)?n:[n],s=await Or(t),{connectionMeta:c,metaBaseUrl:l,authToken:u}=s,d=o[0]??`./`;try{d=new URL(`.`,l).href}catch{}let f=new or({functions:[],...typeof t.cacheOptions==`object`?t.cacheOptions:{}}),p={rpc:void 0},m=new mr(p),h=t.webmcp===!1?void 0:hi(m),g,_=!1;async function v(e){let t=[d,...o.filter(e=>e!==d)].filter(e=>e!=null),n=[];for(let r of t)try{return await fetch(st(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 y={authToken:u,connectionMeta:c,metaBaseUrl:l,events:a,clientRpc:m,callTimeout:t.callTimeout,rpcOptions:{...r,async onRequest(e,t,n){if(await r.onRequest?.call(this,e,t,n),i&&f?.validate(e.m)){if(f.has(e.m,e.a))return n(f.cached(e.m,e.a));let r=await t(e);f.apply(e,r)}else await t(e)}}},b=yi(t.transport??`auto`,c),x=b===`static`?await ei({fetchJsonFromBases:v}):b===`sse`?Wr({...y,sseOptions:t.sseOptions}):ci({...y,wsOptions:t.wsOptions}),S;try{S=new BroadcastChannel(`devframe-auth`)}catch{}let C,w=!1;function T(e){return((...t)=>w||!C?e(...t):C.then(()=>e(...t)))}function ee(){_=!0;try{g?.(),h?.()}finally{try{S?.close()}finally{x.close?.()}}}let E={events:a,get isTrusted(){return x.isTrusted},get status(){return x.status},get connectionError(){return x.connectionError},get transport(){return x.transport??b},get connection(){return s},connectionMeta:c,ensureTrusted:x.ensureTrusted,requestTrust:x.requestTrust,requestTrustWithToken:async e=>(wr(e),s={...s,authToken:e},x.requestTrustWithToken(e)),requestTrustWithCode:async e=>{let t=await x.requestTrustWithCode(e);if(!t)return!1;wr(t),s={...s,authToken:t};try{S?.postMessage({type:`auth-update`,authToken:t})}catch{}return!0},requestAuthCode:e=>x.requestAuthCode(e),call:T(x.call),callEvent:T(x.callEvent),callOptional:T(x.callOptional),client:m,sharedState:void 0,services:void 0,streaming:void 0,cacheManager:f,scope:void 0,close:ee};E.sharedState=Pr(E),E.streaming=ri(E),E.services=Nr(E);let te=new Map;E.scope=(e=>{if(!e)return E;let t=te.get(e);return t||(t=pi(E,e),te.set(e,t)),t}),p.rpc=E;function ne(){try{return typeof window<`u`&&window.self===window.top}catch{return!1}}async function re(){if(!(t.simpleAuth===!1||!ne())&&typeof globalThis.prompt==`function`)for(await E.requestAuthCode().catch(()=>{});!E.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 E.requestTrustWithCode(t))return}}async function D(){let e=await x.requestTrust(),n=t.otpParam??`devframe_otp`,r=n?await Mr(E,{param:n}):!1;e||r||E.isTrusted||await re()}return C=D().then(()=>{w=!0},()=>{w=!0}),c.mcp&&e(async()=>{let{setupBrowserAgentRpcBridge:e}=await import(`./CcXt34PQ.js`);return{setupBrowserAgentRpcBridge:e}},__vite__mapDeps([0,1]),import.meta.url).then(({setupBrowserAgentRpcBridge:e})=>{_||(g=e(E))}).catch(()=>{}),S&&(S.onmessage=e=>{e.data?.type===`auth-update`&&e.data.authToken&&E.requestTrustWithToken(e.data.authToken)}),E}var xi=bi,Si=Ee({docsBase:`https://devfra.me/errors`,codes:{DF0077:{why:e=>`In-page channel function "${e.name}" is not registered on this endpoint.`,fix:"Declare the function in this endpoint's `functions` option."},DF0080:{why:e=>`In-page channel 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 channel-only."}}}),Ci=k.postMessage.inPageChannel;function wi(e){return!!e&&typeof e==`object`&&`__dfIpc`in e}function Ti(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.channel===Ci&&typeof t.name==`string`&&typeof t.panelId==`string`&&(t.kind===`hello`||t.kind===`grant`)}function Ei(e,t){if(e?.length)return e;let n=t?.location?.origin;return n&&n!==`null`?[n]:[`*`]}function Di(e){let t=[];try{let n=e;for(;n.parent&&n.parent!==n;)t.push(n.parent),n=n.parent}catch{}for(let n of[e,...t])try{let r=n.opener;r&&r!==e&&!t.includes(r)&&t.push(r)}catch{}return t}var Oi={intervalMs:5e3,timeoutMs:12e3};function ki(e){return e===!1?void 0:{...Oi,...e}}var Q=class extends Error{code;name=`InPageChannelError`;constructor(e,t,n){super(t,n),this.code=e}},Ai=new Set;function ji(e){Ai.has(e)||(Ai.add(e),console.warn(`[devframe] ${e}`))}function Mi(e,t,n){for(let r=0;r{let t=e.path?.map(e=>typeof e==`object`?e.key:e).join(`.`);return t?`${t}: ${e.message}`:e.message}).join(`; `)}async function Li(e,t,n){for(let r=0;r{i.delete(t),i.size===0&&n.delete(r)}},resolve(r){let i=t.get(r),a=n.get(r);if(!(!i&&!a?.size))return async(...t)=>{let a=e.deserialize?t.map(e.deserialize):t;i?.jsonSerializable&&Fi(a,`its arguments`,i.name),i?.args?.length&&await Li(i.name,i.args,a);let o=await i?.handler?.(...a);for(let e of[...n.get(r)??[]])e(...a);if(i?.type!==`event`)return i?.jsonSerializable&&o!==void 0&&Fi(o,`its return value`,i.name),e.serialize&&o!==void 0?e.serialize(o):o}}}}function Hi(e,t){for(let n of t){let t=n(e);if(t)return t}if(e.startsWith(Bi))return()=>{throw Si.DF0077({name:e.slice(Bi.length)})}}function Ui(e,t){let n=[];for(let r of t.definitions.values()){if(r.type===`event`||!(`agent`in r)||!r.agent)continue;let i=r.agent;n.push(C({id:`${e}:${r.name}`,title:i.title??r.name,description:i.description,safety:Le(r.type,i),tags:i.tags,inputSchema:Be(r.args),invoke:e=>{let n=He(e,r.args?.length);return t.resolve($(r.type,r.name))(...n)}}))}return()=>n.forEach(e=>e())}function Wi(e){return e instanceof DOMException&&e.name===`DataCloneError`?new Q(`not-cloneable`,`a payload could not be structured-cloned across the in-page channel: ${e.message}. Strip non-cloneable values (functions, DOM nodes, framework reactivity proxies) before sending: declare the function \`jsonSerializable: true\` for a precise error, or provide a \`serialize\` hook.`,{cause:e}):e}function Gi(e,t){let n,r=!1,i={rpc:Ie({},{post:t=>{try{e.postMessage(t)}catch(e){throw Wi(e)}},on:e=>{n=e},off:()=>{n=void 0},timeout:-1,proxify:!1,resolver:(e,n)=>n??t.resolveLocal(e)}),lastActivity:Date.now(),postControl(t){try{e.postMessage({__dfIpc:t})}catch{}},dispose(t){if(r)return;r=!0,t?.bye&&i.postControl(`bye`);let n=new Q(`closed`,`in-page channel call dropped: ${t?.reason??`the in-page channel port was closed`}`);i.rpc.$rejectPendingCalls(({reject:e})=>e(n)),i.rpc.$close(),e.removeEventListener(`message`,a),e.removeEventListener(`close`,o);try{e.close()}catch{}}};function a(e){i.lastActivity=Date.now();let r=e.data;if(wi(r)){r.__dfIpc===`bye`?t.onPeerClosed():t.onControl(r.__dfIpc);return}n?.(r)}function o(){t.onPeerClosed()}return e.addEventListener(`message`,a),e.addEventListener(`close`,o),e.start?.(),i}function Ki(e,t,n){return t<=0?e:new Promise((r,i)=>{let a=setTimeout(()=>i(new Q(`timeout`,n())),t);e.then(e=>{clearTimeout(a),r(e)},e=>{clearTimeout(a),i(e)})})}var qi={subscribe:`devframe:in-page:page-state:subscribe`,set:`devframe:in-page:page-state:set`,patch:`devframe:in-page:page-state:patch`};function Ji(e){let t=new Map,n=new Set,r=new Map,i=new Set;function a(e){n.add(e);let t=r.get(e);if(t){r.delete(e);for(let e of t)e()}}function o(e,n){let r=t.get(e);if(r&&n!==void 0){let e=S();i.add(e),r.mutate(()=>n,e)}a(e)}function s(t){e.call(qi.subscribe,[t]).then(e=>o(t,e)).catch(e=>{console.warn(`[devframe] in-page shared state "${t}": subscribe failed`,e)})}return{handlers:{[k.inPageChannel.panelStateUpdated]:(e,n,r)=>{let i=t.get(e);i&&!i.syncIds.has(r)&&i.mutate(()=>n,r),a(e)},[k.inPageChannel.panelStatePatch]:(e,n,r)=>{t.get(e)?.patch(n,r),a(e)}},resubscribe(){for(let e of t.keys())s(e)},get:(a,o)=>{let c=t.get(a);if(c)return Promise.resolve(c);let l=En({initialValue:o?.initialValue,enablePatches:!0});return t.set(a,l),l.on(`updated`,(t,n,r)=>{i.delete(r)||e.isConnected()&&(n?e.callEvent(qi.patch,[a,n,r]):e.callEvent(qi.set,[a,t,r]))}),e.isConnected()&&s(a),o?.initialValue===void 0?new Promise(e=>{if(n.has(a)){e(l);return}let t=r.get(a)??[];t.push(()=>e(l)),r.set(a,t)}):Promise.resolve(l)}}}var Yi=300,Xi=3e3,Zi=64;function Qi(e){let{name:t}=e,n=e.callTimeoutMs??15e3,r=e.eventBufferLimit??Zi,i=e.window===!1?void 0:e.window??(typeof window>`u`?void 0:window),a=Ei(e.allowedOrigins,i),o=ki(e.heartbeat),s={serialize:e.serialize,deserialize:e.deserialize},c=S(),l=e.targets??(i?Di(i):[]),u=!!i&&l.length>0,d=nt(),f=Vi(s);for(let[t,n]of Object.entries(e.functions))f.register({...n,name:t});for(let[t,n]of Object.entries(e.events??{}))f.register({...n,name:t,type:`event`});let p=Ui(t,f),m=`connecting`,h,g,_,v,y=!1,b=[],x=[],C=[];function w(e){m!==e&&(m=e,d.emit(`status:updated`,e))}let T=Ji({isConnected:()=>m===`connected`,callEvent:(e,t)=>te(e,Ri(s,t)),call:(e,t)=>ne(e,Ri(s,t))}),ee=Vi(s);for(let[e,t]of Object.entries(T.handlers))ee.registerInternal(e,t);function E(e,t){h?.rpc.$callRaw({method:e,args:t,event:!0,optional:!0}).catch(()=>{})}function te(e,n){if(m!==`closed`){if(m===`connected`&&h){E(e,n);return}x.length>=r&&(x.shift(),y||(y=!0,console.warn(`[devframe] in-page channel "${t}": event buffer overflowed while connecting, so the oldest events are being dropped (limit ${r})`))),x.push({method:e,args:n})}}function ne(e,r){return m===`closed`?Promise.reject(new Q(`closed`,`in-page channel "${t}": call "${e}" rejected because the channel is closed`)):Ki(new Promise((t,n)=>{let i=()=>{h.rpc.$call(e,...r).then(e=>t(zi(s,e)),n)};m===`connected`&&h?i():b.push({run:i,reject:n})}),n,()=>`in-page channel "${t}": call "${e}" timed out after ${n}ms (status: ${m}${m===`connecting`?`; is the page script loaded?`:``})`)}function re(e,t){h?.dispose({bye:!0,reason:`the panel adopted a newer port`}),h=Gi(e,{resolveLocal:e=>Hi(e,[ee.resolve,f.resolve]),onControl:e=>{e===`ping`&&h?.postControl(`pong`)},onPeerClosed:()=>ie(`the page script went away`)}),g=t,D(),w(`connected`),o&&(v=setInterval(()=>{h&&(Date.now()-h.lastActivity>o.timeoutMs?ie(`the page script went silent (heartbeat timeout)`):h.postControl(`ping`))},o.intervalMs));for(let e of b.splice(0))e.run();for(let{method:e,args:t}of x.splice(0))E(e,t);T.resubscribe();for(let e of C.splice(0))e.resolve()}function D(){_&&=(clearTimeout(_),void 0),v&&=(clearInterval(v),void 0)}function ie(e){m!==`closed`&&(h?.dispose({reason:e}),h=void 0,g=void 0,D(),w(`connecting`),u?ae():ji(`in-page channel "${t}": transport lost (${e}) and the panel has no handshake targets, so it stays disconnected`))}function ae(){if(_||!u||m!==`connecting`)return;let n=e.helloIntervalMs??Yi,r=()=>{let i={channel:Ci,v:2,kind:`hello`,name:t,panelId:c,instanceId:e.instanceId};for(let e of l)for(let t of a)try{e.postMessage(i,t)}catch{}n=Math.min(n*1.5,Xi),_=setTimeout(r,n)};r()}let oe=n=>{if(m===`closed`)return;let r=n.data;if(!Ti(r)||r.kind!==`grant`||r.name!==t||r.panelId!==c)return;if(r.v!==2){ji(`in-page channel "${t}": ignoring a grant with protocol version ${r.v} (this side speaks 2); align the devframe versions of the page script and the panel`);return}if(!a.includes(`*`)&&!a.includes(n.origin)){ji(`in-page channel "${t}": ignoring a grant from disallowed origin "${n.origin}"`);return}if(e.instanceId&&r.instanceId!==e.instanceId)return;let i=n.ports?.[0];i&&re(i,{instanceId:r.instanceId})};return i?.addEventListener(`message`,oe),e.transport?re(e.transport):u?ae():ji(`in-page channel "${t}": the panel has no handshake targets (not embedded, no opener) and no transport, so calls will buffer until a transport appears or the channel is closed`),{name:t,get status(){return m},get pageScript(){return g},events:{on:d.on,once:d.once},whenConnected:e=>m===`connected`?Promise.resolve():m===`closed`?Promise.reject(new Q(`closed`,`in-page channel "${t}" is closed`)):new Promise((n,r)=>{let i={resolve:n,reject:r};C.push(i),e!==void 0&&e>0&&setTimeout(()=>{let n=C.indexOf(i);n>=0&&(C.splice(n,1),r(new Q(`timeout`,`in-page channel "${t}": no page script answered within ${e}ms; it may not be loaded in this context (render a fallback state)`)))},e)}),call:(e,...t)=>ne($(`function`,e),Ri(s,t)),emit:(e,...t)=>te($(`event`,e),Ri(s,t)),on:(e,t)=>f.on(e,t),sharedState:T,close:()=>{if(m===`closed`)return;w(`closed`),p(),D(),i?.removeEventListener(`message`,oe),h?.dispose({bye:!0,reason:`the panel closed the channel`}),h=void 0,g=void 0;let e=new Q(`closed`,`in-page channel "${t}" was closed`);for(let t of b.splice(0))t.reject(e);x.length=0;for(let t of C.splice(0))t.reject(e)}}}f(`dark`);var $i=3e3,ea=`unhead:devtools`,ta;async function na(){if(typeof window>`u`)return;ta??=xi({baseURL:t().app.baseURL}),ra(`unhead:get-config`).then(e=>{y.value=e.version}).catch(e=>{console.warn(`[unhead] Failed to load devtools config:`,e)});let e=Qi({name:ea,functions:{}}),n=0;function r(){let t=++n;e.whenConnected($i).catch(()=>{t===n&&x.value!==`connected`&&(x.value=`waiting`)})}e.events.on(`status:updated`,e=>{e===`connected`?x.value=`connected`:x.value===`connected`&&(x.value=`connecting`,r())}),r();let i=await e.sharedState.get(`state`);x.value=`connected`,_(i.value()),i.on(`updated`,e=>{_(e)})}async function ra(e,...t){if(!ta)throw Error(`[unhead] DevTools RPC client unavailable`);return await(await ta).call(e,...t)}export{le as a,te as c,D as d,re as f,ge as i,se as l,na as n,ee as o,w as p,he as r,E as s,ra as t,ne as u};