nuxt-convex-module 0.12.2 → 0.13.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.
Files changed (33) hide show
  1. package/dist/devtools-client/_nuxt/C-J9qZjr.js +3 -0
  2. package/dist/devtools-client/_nuxt/CB1p6iYX.js +1 -0
  3. package/dist/devtools-client/_nuxt/{COXexnyN.js → CtC_CmOY.js} +2 -2
  4. package/dist/devtools-client/_nuxt/{entry.DsZySRVW.css → entry.jOWrhpYd.css} +1 -1
  5. package/dist/devtools-client/index.html +1 -1
  6. package/dist/module.d.mts +1 -0
  7. package/dist/module.json +1 -1
  8. package/dist/module.mjs +10 -2
  9. package/dist/runtime/better-auth/nuxt/server.js +7 -3
  10. package/dist/runtime/better-auth/vue/client.d.ts +3 -3
  11. package/dist/runtime/better-auth/vue/cross-domain.d.ts +26 -0
  12. package/dist/runtime/better-auth/vue/index.d.ts +1 -1
  13. package/dist/runtime/better-auth/vue/plugin.server.js +6 -1
  14. package/dist/runtime/better-auth/vue/token-store.d.ts +1 -0
  15. package/dist/runtime/better-auth/vue/token-store.js +38 -0
  16. package/dist/runtime/better-auth/vue/use-better-auth.d.ts +4 -4
  17. package/dist/runtime/better-auth/vue/use-better-auth.js +89 -46
  18. package/dist/runtime/nuxt/composables/use-async-paginated-query.d.ts +1 -1
  19. package/dist/runtime/nuxt/composables/use-async-paginated-query.js +5 -3
  20. package/dist/runtime/nuxt/composables/use-async-query.d.ts +4 -1
  21. package/dist/runtime/nuxt/composables/use-async-query.js +6 -3
  22. package/dist/runtime/nuxt/config.d.ts +7 -1
  23. package/dist/runtime/nuxt/config.js +9 -3
  24. package/dist/runtime/nuxt/csp.d.ts +2 -1
  25. package/dist/runtime/nuxt/csp.js +9 -3
  26. package/dist/runtime/vue/auth/index.d.ts +2 -1
  27. package/dist/runtime/vue/auth/index.js +62 -13
  28. package/dist/runtime/vue/client.js +13 -0
  29. package/dist/runtime/vue/plugin.d.ts +2 -1
  30. package/dist/runtime/vue/plugin.js +2 -0
  31. package/package.json +12 -12
  32. package/dist/devtools-client/_nuxt/AqohFEu1.js +0 -1
  33. package/dist/devtools-client/_nuxt/BPtiIkWa.js +0 -3
@@ -0,0 +1,3 @@
1
+ import{n as e,t}from"#entry";function n(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(`
2
+ `)}}var r=/^[\w+.-]{2,}:\/\//;function i(e){return e.endsWith(`/`)?e:`${e}/`}function a(e){return(e.endsWith(`/`)?e.slice(0,-1):e)||`/`}function o(e,...t){let n=e;for(let e of t)e&&e!==`/`&&(n=n?i(n)+e.replace(/^\.?\//,``):e);return n}function s(e,t){if(!t||t===`/`||r.test(e))return e;let n=a(t);return e.startsWith(n)?e:o(n,e)}function c(e,t){let n=e.match(r);return t+(n?e.slice(n[0].length):e)}function l(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 u={blue:l(34,39),cyan:l(36,39),gray:l(90,39),green:l(32,39),red:l(31,39),yellow:l(33,39),bold:l(1,22),dim:l(2,22),reset:l(0,0),underline:l(4,24)},d={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`,cacheInvalidate:`devframe:rpc:cache:invalidate`,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`}},f=n(u);function p(e,{method:t=`warn`}={}){console[t](f(e))}function m(t){return e({...t,reporters:[p,...t.reporters??[]]})}function h(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var g=Math.random.bind(Math),_=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function v(e=21){let t=``,n=e;for(;n--;)t+=_[g()*64|0];return t}var y=6e4,b=e=>e,x=b,{clearTimeout:S,setTimeout:ee}=globalThis;function C(e,t){let{post:n,on:r,off:i=()=>{},eventNames:a=[],serialize:o=b,deserialize:s=x,resolver:c,bind:l=`rpc`,timeout:u=y,proxify:d=!0}=t,f=!1,p=new Map,m,g;async function _(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:_}=h(),y=v();s.i=y;let b;async function x(n=s){return u>=0&&(b=ee(()=>{try{if(t.onTimeoutError?.call(g,e,r)!==!0)throw Error(`[birpc] timeout on calling "${e}"`)}catch(e){_(e)}p.delete(y)},u),typeof b==`object`&&(b=b.unref?.())),p.set(y,{resolve:d,reject:_,timeoutId:b,method:e}),await c(n),l}try{t.onRequest?await t.onRequest.call(g,s,x,d):await x()}catch(e){if(t.onGeneralError?.call(g,e)!==!0)throw e;return}finally{S(b),p.delete(y)}return l}let C={$call:(e,...t)=>_(e,t,!1),$callOptional:(e,...t)=>_(e,t,!1,!0),$callEvent:(e,...t)=>_(e,t,!0),$callRaw:e=>_(e.method,e.args,e.event,e.optional),$rejectPendingCalls:w,get $closed(){return f},get $meta(){return t.meta},$close:te,$functions:e};g=d?new Proxy({},{get(t,n){if(Object.hasOwn(C,n))return C[n];if(n===`then`&&!a.includes(`then`)&&!(`then`in e))return;let r=(...e)=>_(n,e,!0);if(a.includes(n))return r.asEvent=r,r;let i=(...e)=>_(n,e,!1);return i.asEvent=r,i}}):C;function te(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(T)}function w(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 T(r,...i){let a;try{a=s(r)}catch(e){if(t.onGeneralError?.call(g,e)!==!0)throw e;return}if(a.t===`q`){let{m:r,a:s,o:u}=a,d,f,p=await(c?c.call(g,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`?g:e,s)}catch(e){f=e}if(a.i){if(f&&t.onFunctionError&&t.onFunctionError.call(g,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(g,e,r,s)!==!0)throw e}try{await n(o({t:`s`,i:a.i,e:f}),...i)}catch(e){if(t.onGeneralError?.call(g,e,r,s)!==!0)throw e}}}else{let{i:e,r:t,e:n}=a,r=p.get(e);r&&(S(r.timeoutId),n?r.reject(n):r.resolve(t)),p.delete(e)}}return m=r(T),g}function te(e,t){return t.safety?t.safety:e===`static`||e===`query`||e==null?`read`:`action`}var w=Object.freeze({type:`object`,additionalProperties:!0});function T(e){let t=e[`~standard`];if(t.jsonSchema)try{return t.jsonSchema.input({target:`draft-2020-12`})}catch{return w}return w}function ne(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]=T(e[r]),n.push(i)}return{type:`object`,properties:t,required:n,additionalProperties:!1}}function E(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 re(e,t){return E(e,t)??[e]}function ie(e){return typeof e==`string`?`'${e}'`:new oe().serialize(e)}var ae=` _-,;:!?.'"()[]{}@*/\\&#%\`^+<=>|~$0123456789abcdefghijklmnopqrstuvwxyz`,D=(function(){let e=new Uint8Array(128);for(let t=0;t<69;t++)e[ae.charCodeAt(t)]=t+1;for(let t=65;t<=90;t++)e[t]=e[t+32];return e})();function O(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&&D[n]?D[n]:n+128,s=a<128&&D[a]?D[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 oe=(function(){class e{#e=new Map;compare(e,t){let n=typeof e,r=typeof t;return n===`string`&&r===`string`?O(e,t):n===`number`&&r===`number`?e-t:O(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(O),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})(),se=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],ce=[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],le=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,k=[],ue=class{_data=new de;_hash=new de([...se]);_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)k[n]=e[t+n]|0;else{let e=k[n-15],t=(e<<25|e>>>7)^(e<<14|e>>>18)^e>>>3,r=k[n-2],i=(r<<15|r>>>17)^(r<<13|r>>>19)^r>>>10;k[n]=t+k[n-7]+i+k[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+ce[n]+k[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=de.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 de(t,i)}},de=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(le.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 fe(e){return new ue().finalize(e).toBase64()}function pe(e){return fe(ie(e))}function me(e){return pe(e)}function he(){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 ge=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function A(e=21){let t=``,n=e;for(;n--;)t+=ge[Math.random()*64|0];return t}var _e=Symbol.for(`immer-nothing`),ve=Symbol.for(`immer-draftable`),j=Symbol.for(`immer-state`),ye=[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=ye[e],r=W(n)?n.apply(null,t):n;throw Error(`[Immer] ${r}`)}}var N=Object,P=N.getPrototypeOf,be=`constructor`,xe=`prototype`,Se=`configurable`,Ce=`enumerable`,we=`writable`,F=`value`,I=e=>!!e&&!!e[j];function L(e){return e?De(e)||Ae(e)||!!e[ve]||!!e[be]?.[ve]||je(e)||H(e):!1}var Te=N[xe][be].toString(),Ee=new WeakMap;function De(e){if(!e||!U(e))return!1;let t=P(e);if(t===null||t===N[xe])return!0;let n=N.hasOwnProperty.call(t,be)&&t[be];if(n===Object)return!0;if(!W(n))return!1;let r=Ee.get(n);return r===void 0&&(r=Function.toString.call(n),Ee.set(n,r)),r===Te}function R(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_:Ae(e)?1:je(e)?2:H(e)?3:0}var B=(e,t,n=z(e))=>n===2?e.has(t):N[xe].hasOwnProperty.call(e,t),V=(e,t,n=z(e))=>n===2?e.get(t):e[t],Oe=(e,t,n,r=z(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function ke(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var Ae=Array.isArray,je=e=>e instanceof Map,H=e=>e instanceof Set,U=e=>typeof e==`object`,W=e=>typeof e==`function`,Me=e=>typeof e==`boolean`;function Ne(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Pe=e=>U(e)?e?.[j]:null,G=e=>e.copy_||e.base_,Fe=e=>e.modified_?e.copy_:e.base_;function Ie(e,t){if(je(e))return new Map(e);if(H(e))return new Set(e);if(Ae(e))return Array[xe].slice.call(e);let n=De(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;r<n.length;r++){let i=n[r],a=t[i];a[we]===!1&&(a[we]=!0,a[Se]=!0),(a.get||a.set)&&(t[i]={[Se]:!0,[we]:!0,[Ce]:a[Ce],[F]:e[i]})}return N.create(P(e),t)}{let t=P(e);if(t!==null&&n)return{...e};let r=N.create(t);return N.assign(r,e)}}function Le(e,t=!1){return Be(e)||I(e)||!L(e)||(z(e)>1&&N.defineProperties(e,{set:ze,add:ze,clear:ze,delete:ze}),N.freeze(e),t&&R(e,(e,t)=>{Le(t,!0)},!1)),e}function Re(){M(2)}var ze={[F]:Re};function Be(e){return e===null||!U(e)||N.isFrozen(e)}var Ve=`MapSet`,He=`Patches`,Ue=`ArrayMethods`,We={};function K(e){let t=We[e];return t||M(0,e),t}var Ge=e=>!!We[e];function Ke(e,t){We[e]||(We[e]=t)}var qe,Je=()=>qe,Ye=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:Ge(Ve)?K(Ve):void 0,arrayMethodsPlugin_:Ge(Ue)?K(Ue):void 0});function Xe(e,t){t&&(e.patchPlugin_=K(He),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Ze(e){Qe(e),e.drafts_.forEach(et),e.drafts_=null}function Qe(e){e===qe&&(qe=e.parent_)}var $e=e=>qe=Ye(qe,e);function et(e){let t=e[j];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function tt(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[j].modified_&&(Ze(t),M(4)),L(e)&&(e=nt(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[j].base_,e,t)}else e=nt(t,n);return rt(t,e,!0),Ze(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===_e?void 0:e}function nt(e,t){if(Be(t))return t;let n=t[j];if(!n)return dt(t,e.handledSet_,e);if(!at(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);lt(n,e)}return n.copy_}function rt(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Le(t,n)}function it(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var at=(e,t)=>e.scope_===t,ot=[];function st(e,t,n,r){let i=G(e),a=e.type_;if(r!==void 0&&V(i,r,a)===t){Oe(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;R(i,(e,n)=>{if(I(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??ot;for(let e of o)Oe(i,e,n,a)}function ct(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!at(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=Fe(i);st(e,i.draft_??i,a,n),lt(i,r)})}function lt(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)}it(e)}}function ut(e,t,n){let{scope_:r}=e;if(I(n)){let i=n[j];at(i,r)&&i.callbacks_.push(function(){bt(e),st(e,n,Fe(i),t)})}else L(n)&&e.callbacks_.push(function(){let i=G(e);e.type_===3?i.has(n)&&dt(n,r.handledSet_,r):V(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&dt(V(e.copy_,t,e.type_),r.handledSet_,r)})}function dt(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||I(e)||t.has(e)||!L(e)||Be(e)||(t.add(e),R(e,(r,i)=>{if(I(i)){let t=i[j];at(t,n)&&(Oe(e,r,Fe(t),e.type_),it(t))}else L(i)&&dt(i,t,n)})),e}function ft(e,t){let n=Ae(e),r={type_:+!!n,scope_:t?t.scope_:Je(),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=pt;n&&(i=[r],a=mt);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var pt={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=G(e);if(!B(i,t,e.type_))return _t(e,i,t);let a=i[t];if(e.finalized_||!L(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&Ne(t))return a;if(a===ht(e.base_,t)||gt(e,t,a)){bt(e);let n=e.type_===1?+t:t,r=St(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=vt(G(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=ht(G(e),t),i=r?.[j];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.delete(t),!0;if(ke(n,r)&&(n!==void 0||B(e.base_,t,e.type_)))return!0;bt(e),yt(e)}return e.copy_[t]===n&&(n!==void 0||B(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_.set(t,!0),ut(e,t,n)),!0},deleteProperty(e,t){return bt(e),ht(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),yt(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&&{[we]:!0,[Se]:e.type_!==1||t!==`length`,[Ce]:r[Ce],[F]:n[t]}},defineProperty(){M(11)},getPrototypeOf(e){return P(e.base_)},setPrototypeOf(){M(12)}},mt={};for(let e in pt){let t=pt[e];mt[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}mt.deleteProperty=function(e,t){return isNaN(parseInt(t))&&M(13),mt.set.call(this,e,t,void 0)},mt.set=function(e,t,n){return t!==`length`&&isNaN(parseInt(t))&&M(14),pt.set.call(this,e[0],t,n,e[0])};function ht(e,t){let n=e[j];return(n?G(n):e)[t]}function gt(e,t,n){return e.type_!==1||!e.allIndicesReassigned_||!L(n)||n[j]?!1:e.baseRefs_.has(n)}function _t(e,t,n){let r=vt(t,n);return r?F in r?r[F]:r.get?.call(e.draft_):void 0}function vt(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 yt(e){e.modified_||(e.modified_=!0,e.parent_&&yt(e.parent_))}function bt(e){e.copy_||=(e.assigned_=new Map,Ie(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var xt=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(W(e)&&!W(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}W(t)||M(6),n!==void 0&&!W(n)&&M(7);let r;if(L(e)){let i=$e(this),a=St(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?Ze(i):Qe(i)}return Xe(i,n),tt(r,i)}if(!e||!U(e)){if(r=t(e),r===void 0&&(r=e),r===_e&&(r=void 0),this.autoFreeze_&&Le(r,!0),n){let t=[],i=[];K(He).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}M(1,e)},this.produceWithPatches=(e,t)=>{if(W(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]},Me(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Me(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Me(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){L(e)||M(8),I(e)&&(e=Ct(e));let t=$e(this),n=St(t,e,void 0);return n[j].isManual_=!0,Qe(t),n}finishDraft(e,t){let n=e&&e[j];(!n||!n.isManual_)&&M(9);let{scope_:r}=n;return Xe(r,t),tt(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=K(He).applyPatches_;return I(e)?r(e,t):this.produce(e,e=>r(e,t))}};function St(e,t,n,r){let[i,a]=je(t)?K(Ve).proxyMap_(t,n):H(t)?K(Ve).proxySet_(t,n):ft(t,n);return(n?.scope_??Je()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?ct(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 Ct(e){return I(e)||M(10,e),wt(e)}function wt(e){if(!L(e)||Be(e))return e;let t=e[j],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=Ie(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=Ie(e,!0);let i=n;return H(n)&&(n=new Set),R(i,(e,t)=>{Oe(n,e,wt(t))},r),t&&(t.finalized_=!1),n}function Tt(){ye.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=Pe(V(e,n.key_)),i=V(e,n.key_);if(i===void 0||i!==n.draft_&&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))||n.parent_.type_===1&&n.parent_.allIndicesReassigned_)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=V(n,r),!U(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?.[j];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;R(e.assigned_,(e,l)=>{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===_e?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=z(o),n=i[e];typeof n!=`string`&&typeof n!=`number`&&(n=``+n),(t===0||t===1)&&(n===`__proto__`||n===be)&&M(19),W(o)&&n===xe&&M(19),o=V(o,n),(o===null||!U(o))&&M(18,i.join(`/`))}let s=z(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:M(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:M(17,a)}}),e}function u(e){if(!L(e))return e;if(Ae(e))return e.map(u);if(je(e))return new Map(Array.from(e.entries()).map(([e,t])=>[e,u(t)]));if(H(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,ve)&&(t[ve]=e[ve]),t}function d(e){return I(e)?u(e):e}Ke(He,{applyPatches_:l,generatePatches_:i,generateReplacementPatches_:c,getPath:e})}globalThis.Iterator?.from;var Et=new xt,Dt=Et.produce,Ot=Et.produceWithPatches.bind(Et),kt=Et.applyPatches.bind(Et),At=1e3;function jt(e,t){if(e.add(t),e.size>At){let t=e.values().next().value;t!==void 0&&e.delete(t)}}function Mt(e){let{enablePatches:t=!1}=e;t&&Tt();let n=he(),r=e.initialValue,i=new Set;return{on:n.on,value:()=>r,patch:(e,t=A())=>{i.has(t)||(Tt(),r=kt(r,e),jt(i,t),n.emit(`updated`,r,void 0,t))},mutate:(e,a=A())=>{if(!i.has(a)){if(jt(i,a),t){let[t,i]=Ot(r,e);if(t===r)return;r=t,n.emit(`updated`,r,i,a)}else{let t=Dt(r,e);if(t===r)return;r=t,n.emit(`updated`,r,void 0,a)}}},syncIds:i}}var Nt=typeof self==`object`?self:globalThis,Pt=new Set([`Error`,`EvalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`,`AggregateError`]),Ft=new Set([`Boolean`,`Number`,`String`,`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float16Array`,`Float32Array`,`Float64Array`,`BigInt64Array`,`BigUint64Array`]);function It(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=Pt.has(e)?Nt[e]:void 0;return n(new(r??Nt.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`&&Ft.has(a))return n(new Nt[a](o),i);throw TypeError(`unable to deserialize unsafe or unknown type: ${String(a)}`)};return r}function Lt(e){return It(new Map,e)(0)}var q=``,{toString:Rt}={},{keys:zt}=Object;function Bt(e){let t=typeof e;if(t!==`object`||!e)return[0,t];let n=Rt.call(e).slice(8,-1);switch(n){case`Array`:return[1,q];case`Object`:return[2,q];case`Date`:return[3,q];case`RegExp`:return[4,q];case`Map`:return[5,q];case`Set`:return[6,q];case`DataView`:return[1,n]}return n.includes(`Array`)?[1,n]:n.includes(`Error`)?[7,n]:[2,n]}function Vt([e,t]){return e===0&&(t===`function`||t===`symbol`)}function Ht(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]=Bt(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 zt(r))(e||!Vt(Bt(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||!(Vt(Bt(n))||Vt(Bt(i))))&&t.push([a(n),a(i)]);return n}case 6:{let t=[],n=i([o,t],r);for(let n of r)(e||!Vt(Bt(n)))&&t.push(a(n));return n}}let{message:c}=r;return i([o,{name:s,message:c}],r)};return a}function Ut(e,t={}){let n=[];return Ht(!(t.json||t.lossy),!!t.json,new Map,n)(e),n}var{parse:Wt,stringify:Gt}=JSON,Kt={json:!0,lossy:!0};function qt(e){return Lt(Wt(e))}function Jt(e){return Gt(Ut(e,Kt))}function Yt(e){return Lt(e)}function Xt(e){return Jt(e)}function Zt(e){return qt(e)}var Qt=256,$t=class extends Error{name=`StreamClosedError`};function en(e={}){let t=e.id??A(),n=Math.max(0,e.replayWindow??0),r=he(),i=new AbortController,a=[],o=!1,s=0;function c(e){if(o)throw new $t(`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=nn(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 tn(e={}){let t=e.id??A(),n=Math.max(1,e.highWaterMark??Qt),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})}else 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 nn(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 rn=128;function an(e){return e.replace(/[^\w-]+/g,`_`).slice(0,rn)}var on=`__connection.json`,sn=`__DEVFRAME_CONNECTION__`,cn=`x-birpc-session`,ln=`__rpc-dump/index.json`,un=`devframe:services`,dn=`devframe_otp`,fn=`devframe_auth_token`;d.postMessage.remoteAssetsError;var pn=class{cacheMap=new Map;options;keySerializer;constructor(e){this.options=e,this.keySerializer=e.keySerializer||(e=>me(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()}},J=m({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 mn(e){if(e.agent&&e.jsonSerializable===!1)throw J.DF0019({name:e.name});e.agent&&!e.jsonSerializable&&(e.jsonSerializable=!0)}async function hn(e,t){let n=e[`~standard`].validate(t);return n instanceof Promise?await n:n}function gn(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 _n(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 hn(i,n[r]);if(a.issues)throw J.DF0043({name:e,index:r,issues:gn(a.issues)})}return r}async function vn(e,t,n){if(!t)return n;let r=await hn(t,n);if(r.issues)throw J.DF0044({name:e,issues:gn(r.issues)});return n}async function yn(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 bn(e,t){let n=e.handler;if(!n){let r=await yn(e,t);if(!r.handler)throw J.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 _n(e.name,r,t),o=await a(...n);return await vn(e.name,i,o)}}var xn=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 bn(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 J.DF0021({name:e.name});mn(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 J.DF0022({name:e.name});mn(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 bn(this.definitions.get(e),this.context)}getSchema(e){let t=this.definitions.get(e);if(!t)throw J.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 Sn(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 Y(t,`undefined`,r,e);return n}return i!==null&&Cn(i,r,e,t),n})}function Cn(e,t,n,r){if(typeof e==`bigint`)throw Y(r,`BigInt`,t,n);if(typeof e!=`object`)return;if(e instanceof Map)throw Y(r,`Map`,t,n);if(e instanceof Set)throw Y(r,`Set`,t,n);if(e instanceof Date)throw Y(r,`Date`,t,n);if(Array.isArray(e))return;let i=Object.getPrototypeOf(e);if(i!==null&&i!==Object.prototype)throw Y(r,e.constructor?.name??`class instance`,t,n)}function Y(e,t,n,r){let i=wn(n,r);return J.DF0020({name:e||`<anonymous>`,type:t,path:i})}function wn(e,t){return Array.isArray(e)?`[${t}]`:t===``?`<root>`:t}var Tn=`__DEVFRAME_CONNECTION_META__`,En=`__DEVFRAME_CONNECTION_AUTH_TOKEN__`;function Dn(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 On(){return Dn(sn)}function kn(){return Dn(Tn)}function X(e){if(e)return e;try{let e=localStorage.getItem(En);if(e)return e}catch{}return Dn(En)}function An(e){globalThis[sn]=e,globalThis[Tn]={...e.connectionMeta,baseUrl:e.metaBaseUrl},e.authToken&&jn(e.authToken)}function jn(e){try{localStorage.setItem(En,e)}catch{}globalThis[En]=e;let t=On();t&&(globalThis[sn]={...t,authToken:e})}function Mn(e){let t=s(on,e);try{return new URL(t,globalThis.location?.href).href}catch{return t}}function Nn(e,t){return t&&t!==e.authToken?{...e,authToken:t}:e}function Pn(){let e=On();if(e)return Nn(e,X()??e.authToken??e.connectionMeta.authToken);let t=kn();if(t)return{connectionMeta:t,metaBaseUrl:t.baseUrl??Mn(`./`),authToken:X(t.authToken)}}async function Fn(e={}){if(e.connection){let t=Nn(e.connection,X(e.authToken??e.connection.authToken??e.connection.connectionMeta.authToken));return An(t),t}let t=Array.isArray(e.baseURL)?e.baseURL:[e.baseURL??`./`];if(e.connectionMeta){let n={connectionMeta:e.connectionMeta,metaBaseUrl:Mn(t[0]??`./`),authToken:X(e.authToken??e.connectionMeta.authToken)};return An(n),n}let n=Pn();if(n){let t=Nn(n,X(e.authToken??n.authToken??n.connectionMeta.authToken));return An(t),t}let r=[];for(let n of t){let t=s(on,n),i=Mn(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:X(e.authToken??r.authToken)};return An(o),o}catch(e){r.push(e)}}throw Error(`Failed to get connection meta from ${t.join(`, `)}`,{cause:r})}var Z=class extends Error{name=`DevframeConnectionError`;kind;constructor(e,t,n){super(t,n),this.kind=e}};function In(e=dn){try{let t=globalThis.location?.hash?.replace(/^#/,``)??``;return new URLSearchParams(t).get(e)||void 0}catch{return}}function Ln(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 Rn(e=dn){let t=In(e);return t&&Ln(e),t}async function zn(e,t={}){let n=Rn(t.param??`devframe_otp`);return n?e.isTrusted?!0:e.requestTrustWithCode(n):!1}function Bn(e){let t={},n=new WeakMap,r,i=()=>(r??=e.sharedState.get(un,{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 Vn(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:d.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:d.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,r){let i=[];return i.push(n.on(`updated`,(n,i,o)=>{a||o===r||(i?e.callEvent(`devframe:rpc:server-state:patch`,t,i,o):e.callEvent(`devframe:rpc:server-state:set`,t,n,o))})),()=>{for(let e of i)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=Mt({initialValue:l?.initialValue,enablePatches:!1});async function f(){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);let r=!1,a=u.on(`updated`,()=>{r=!0}),l=A();return e.call(`devframe:rpc:server-state:get`,c).then(e=>{e!==void 0&&t.get(c)===u&&!r&&u.mutate(()=>o(c,e),l)}).catch(e=>{console.error(`Error getting server state`,e)}).finally(a),n.set(c,s(c,u,l)),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,n)=>{if(e.isTrusted)f().then(t,n);else{t(u);let n=!1;e.events.on(d.client.isTrustedUpdated,e=>{e&&!n&&(n=!0,f())})}})}}}var Hn=new Map;function Un(e=Hn){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?Sn(n,r??``):`s:${Xt(n)}`},deserialize:e=>{let n=e.startsWith(`s:`)?Zt(e.slice(2)):JSON.parse(e);return n.t===`q`&&n.i&&n.m&&t.set(n.i,n.m),n}}}function Wn(){}function Gn(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 Kn(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 qn(e){let{onConnected:t=Wn,onError:n=Wn,onDisconnected:r=Wn,definitions:i,fetch:a=globalThis.fetch.bind(globalThis)}=e,o=e.url;e.authToken&&(o=`${o}${o.includes(`?`)?`&`:`?`}${fn}=${encodeURIComponent(e.authToken)}`);let s=Un(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){e===`session`?(f(n),t()):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=Gn(r);if(!e)break;r=e.rest;let{event:t,data:n}=Kn(e.frame);n.length>0&&_(t,n.join(`
3
+ `))}}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`));else try{let n=await a(o,{method:`POST`,headers:{"content-type":`text/plain; charset=utf-8`,[cn]: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 Jn(e,t){let{channel:n,rpcOptions:r={}}=t;return C(e,{...n,timeout:-1,...r,proxify:!1})}function Yn(e){let{transport:t,authToken:n,connectionMeta:r,events:i,clientRpc:a,rpcOptions:o={},callTimeout:s=0}=e,c=!1,l=`connecting`,u=null,f=Promise.withResolvers();function p(e,t=null){if(t?u=t:e===`connected`&&(u=null),e===l)return;let n=l;l=e,i.emit(d.client.connectionStatus,e,n)}let m=new Set;function h(e){for(let t of[...m])t.reject(e)}function g(){return l===`disconnected`||l===`error`?new Z(`connection`,`[devframe] Not connected to the devframe server`,{cause:u??void 0}):l===`unauthorized`?new Z(`auth`,`[devframe] Not authorized by the devframe server`,{cause:u??void 0}):null}function _(e,t){return new Promise((n,r)=>{let a=!1,o,c={reject(e){a||(l(),i.emit(d.client.error,e,t),r(e))}};function l(){a=!0,m.delete(c),o&&clearTimeout(o)}m.add(c),s>0&&(o=setTimeout(()=>{c.reject(new Z(`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(d.client.error,n,t),r(n)})})}let v=new Map;for(let e of r.jsonSerializableMethods??[])v.set(e,{jsonSerializable:!0});let y=e.createChannel({definitions:v,onError(e){p(`error`,e),i.emit(d.client.connectionError,e),h(new Z(`connection`,`[devframe] Connection to the devframe server failed`,{cause:e}))},onDisconnected(){l!==`error`&&p(`disconnected`),h(new Z(`connection`,`[devframe] Disconnected from the devframe server`,{cause:u??void 0}))}}),b=Jn(a.functions,{channel:y,rpcOptions:o});a.register({name:d.broadcast.authRevoked,type:`event`,handler:()=>{c=!1;let e=new Z(`auth`,`[devframe] The devframe server revoked this client's trust`);p(`unauthorized`,e),i.emit(d.client.connectionError,e),h(e),i.emit(d.client.isTrustedUpdated,!1)}});let x=n;async function S(e){x=e;let t=await b.$call(`anonymous:devframe:auth`,{authToken:e,ua:navigator.userAgent,origin:location.origin});if(c=t.isTrusted,c)f.resolve(!0),p(`connected`);else{let e=new Z(`auth`,`[devframe] The devframe server refused this client's credentials`);p(`unauthorized`,e),i.emit(d.client.connectionError,e)}return i.emit(d.client.isTrustedUpdated,c),t.isTrusted}async function ee(e){let t=(await b.$call(`anonymous:devframe:auth:exchange`,{code:e,ua:navigator.userAgent,origin:location.origin}))?.authToken??null;return t&&(x=t,c=!0,f.resolve(!0),p(`connected`),i.emit(d.client.isTrustedUpdated,!0)),t}async function C(e={}){await b.$call(`anonymous:devframe:auth:request-code`,{ua:navigator.userAgent,origin:location.origin,...e.reissue?{reissue:!0}:{}})}async function te(){return c?!0:S(x??``)}async function w(e=6e4){if(c&&f.resolve(!0),e<=0)return f.promise;let t;try{return await Promise.race([f.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:te,requestTrustWithToken:S,requestTrustWithCode:ee,requestAuthCode:C,ensureTrusted:w,call:(...e)=>{let t=String(e[0]),n=g();return n?(i.emit(d.client.error,n,t),Promise.reject(n)):_(b.$call(...e),t)},callEvent:(...e)=>{let t=g();if(t)i.emit(d.client.error,t,String(e[0]));else return b.$callEvent(...e)},callOptional:(...e)=>{let t=String(e[0]),n=g();return n?(i.emit(d.client.error,n,t),Promise.reject(n)):_(b.$callOptional(...e),t)},close:()=>{y.close()}}}function Xn(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 Zn(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},sseOptions:s={},callTimeout:c=0}=e,l=Xn(n.sse,r??`./`,location);return Yn({transport:`sse`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>qn({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 Qn(e){let{name:t,message:n,cause:r,...i}=e,a=r instanceof Error?r:$n(r)?Qn(r):r,o=a===void 0?Error(n):Error(n,{cause:a});return o.name=t,Object.assign(o,i),o}function $n(e){return typeof e==`object`&&!!e&&typeof e.message==`string`&&typeof e.name==`string`}function er(e){return typeof e==`object`&&!!e&&e.type===`static`&&typeof e.path==`string`}function tr(e){return typeof e==`object`&&!!e&&e.type===`query`&&typeof e.records==`object`&&e.records!==null}function nr(e){return typeof e==`object`&&!!e&&(`output`in e||`error`in e)}function rr(e){if(e.error)throw Qn(e.error);return e.output}function ir(e){return e.some(e=>e!=null)}function ar(e){return typeof e==`object`&&e&&`serialization`in e&&`data`in e?e.data:e}function or(e,t){let n=new Map,r=new Map;function i(e,t){return t===`structured-clone`&&Array.isArray(e)?Yt(e):e}function a(e,t){return i(ar(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 nr(r)?rr(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(er(r)){if(ir(n))throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`);return await o(r)}if(tr(r)){let e=me(n),i=r.records[e];if(i)return rr(await s(i,r.serialization));if(r.fallback)return rr(await s(r.fallback,r.serialization));throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}if(!ir(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 sr(e){let t=or(await e.fetchJsonFromBases(ln),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 cr=``;function Q(e,t){return`${e}${cr}${t}`}function lr(e){let t=new Map,n=new Map;e.client.register({name:d.broadcast.streamingChunk,type:`event`,handler(e,n,r,i){t.get(Q(e,n))?._push(r,i)}}),e.client.register({name:d.broadcast.streamingEnd,type:`event`,handler(e,n,r){let i=Q(e,n),a=t.get(i);a&&(a._end(r),t.delete(i))}}),e.client.register({name:d.broadcast.streamingUploadCancel,type:`event`,handler(e,t){let r=Q(e,t),i=n.get(r);i&&(i.abort(`server cancelled upload`),n.delete(r))}}),e.events.on(d.client.isTrustedUpdated,n=>{if(n)for(let[n,r]of t){if(r.cancelled||r.done)continue;let t=n.indexOf(cr);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=Q(n,r),o=t.get(a);if(o)return o;let s=tn({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(d.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=Q(t,r),a=n.get(i);if(a)return a;let o=en({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 ur(){}var dr=new Map;function fr(e){let t=e.url;e.authToken&&(t=`${t}?${fn}=${encodeURIComponent(e.authToken)}`);let n=new WebSocket(t),{onConnected:r=ur,onError:i=ur,onDisconnected:a=ur,definitions:o=dr}=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=Un(o);return{close:()=>{n.close()},on:e=>{n.addEventListener(`message`,t=>{e(t.data)})},post:e=>{if(n.readyState===WebSocket.OPEN)n.send(e);else 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)}else i(Error(`Devframe WebSocket is not open; message dropped`))},serialize:s.serialize,deserialize:s.deserialize}}function pr(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 c(a,/^https/i.test(a)?`wss://`:`ws://`);let o=new URL(a,r);return o.protocol=i,o.href}function mr(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},wsOptions:s={},callTimeout:c=0}=e,l=pr(n.websocket,r??`./`,location);return Yn({transport:`websocket`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>fr({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 hr(e){return e.includes(`:`)}function $(e,t){return hr(t)?t:`${e}:${t}`}function gr(e){return{async get(t){return(await e()).value()?.[t]},async set(t,n){(await e()).mutate(e=>{if(e===void 0)return{[t]:n};e[t]=n})},async delete(t){(await e()).mutate(e=>{e!==void 0&&delete e[t]})},async all(){return(await e()).value()??{}},async onChange(t){return(await e()).on(`updated`,e=>t(e??{}))}}}function _r(e,t,n){let r=`devframe:settings:${n}:${t}`,i;function a(){return i||=(async()=>(await e.ensureTrusted(),e.sharedState.get(r)))().catch(e=>{throw i=void 0,e}),i}return gr(a)}function vr(e,t){return{global:_r(e,t,`global`),project:_r(e,t,`project`)}}function yr(e,t){return{namespace:t,base:e,rpc:{namespace:t,register(n){if(hr(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($(t,n),...r)),callEvent:((n,...r)=>e.callEvent($(t,n),...r)),callOptional:((n,...r)=>e.callOptional($(t,n),...r)),sharedState:((n,r)=>e.sharedState.get($(t,n),r)),streaming:{subscribe:(n,r,i)=>e.streaming.subscribe($(t,n),r,i),upload:(n,r)=>e.streaming.upload($(t,n),r)}},settings:vr(e,t),scope:e.scope}}function br(){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 xr(e,t={}){let n=t.modelContext??br();if(!n)return()=>{};let r=n,i=new Map,a=new Map;function o(t,n){let o=an(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=te(t.type,n),u=r.registerTool({name:o,description:n.description,inputSchema:ne(t.args),annotations:{title:n.title??t.name,readOnlyHint:l===`read`,destructiveHint:l===`destructive`},execute:n=>Sr(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 Sr(e,t,n){try{let r=re(n,e.args?.length);return{content:[{type:`text`,text:Cr(await(await bn(e,t))(...r))}]}}catch(e){return{isError:!0,content:[{type:`text`,text:wr(e)}]}}}function Cr(e){return e===void 0?`undefined`:typeof e==`string`?e:JSON.stringify(e,null,2)}function wr(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 Tr(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 Er(e={}){let{baseURL:n=`./`,rpcOptions:r={},cacheOptions:i=!1}=e,a=he(),o=Array.isArray(n)?n:[n],c=await Fn(e),{connectionMeta:l,metaBaseUrl:u,authToken:f}=c,p=o[0]??`./`;try{p=new URL(`.`,u).href}catch{}let m=new pn({functions:[],...typeof e.cacheOptions==`object`?e.cacheOptions:{}}),h={rpc:void 0},g=new xn(h),_=e.webmcp===!1?void 0:xr(g),v,y=!1,b=0,x;function S(){b++,x=void 0,m.clear(),i===!0&&m.updateOptions({functions:[]})}i&&(g.register({name:d.broadcast.cacheInvalidate,type:`event`,handler:S}),a.on(d.client.connectionStatus,S),a.on(d.client.isTrustedUpdated,S));async function ee(e){let t=[p,...o.filter(e=>e!==p)].filter(e=>e!=null),n=[];for(let r of t)try{return await fetch(s(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 C=e.callTimeout??0,te=C>0?C:1/0,w,T={authToken:f,connectionMeta:l,metaBaseUrl:u,events:a,clientRpc:g,callTimeout:e.callTimeout,rpcOptions:{...r,async onRequest(e,t,n){let a=performance.now()+te;if(await r.onRequest?.call(this,e,t,n),i===!0&&e.i&&w.isTrusted&&!e.m.startsWith(`anonymous:`)&&e.m!==`devframe:rpc:cacheable-functions`){function t(){if(performance.now()>=a)throw new Z(`timeout`,`[devframe] RPC call "${e.m}" timed out after ${C}ms`)}for(;!x&&(t(),!(y||w.status!==`connected`));){let e=b;x=w.callOptional(`devframe:rpc:cacheable-functions`).then(t=>{e===b&&m.updateOptions({functions:t??[]})}).catch(t=>{throw e===b&&(x=void 0),t}),await x}await x,t()}let o=b;if(i&&e.i&&!y&&w.isTrusted&&m.validate(e.m)){if(m.has(e.m,e.a))return n(m.cached(e.m,e.a));let r=await t(e);o===b&&!y&&m.apply(e,r)}else await t(e)}}},ne=Tr(e.transport??`auto`,l);w=ne===`static`?await sr({fetchJsonFromBases:ee}):ne===`sse`?Zn({...T,sseOptions:e.sseOptions}):mr({...T,wsOptions:e.wsOptions});let E;try{E=new BroadcastChannel(`devframe-auth`)}catch{}let re,ie=!1;function ae(e){return((...t)=>ie||!re?e(...t):re.then(()=>e(...t)))}function D(){y=!0,S();try{v?.(),_?.()}finally{try{E?.close()}finally{w.close?.()}}}let O={events:a,get isTrusted(){return w.isTrusted},get status(){return w.status},get connectionError(){return w.connectionError},get transport(){return w.transport??ne},get connection(){return c},connectionMeta:l,ensureTrusted:w.ensureTrusted,requestTrust:w.requestTrust,requestTrustWithToken:async e=>(jn(e),c={...c,authToken:e},w.requestTrustWithToken(e)),requestTrustWithCode:async e=>{let t=await w.requestTrustWithCode(e);if(!t)return!1;jn(t),c={...c,authToken:t};try{E?.postMessage({type:`auth-update`,authToken:t})}catch{}return!0},requestAuthCode:e=>w.requestAuthCode(e),call:ae(w.call),callEvent:ae(w.callEvent),callOptional:ae(w.callOptional),client:g,sharedState:void 0,services:void 0,streaming:void 0,cacheManager:m,scope:void 0,close:D};O.sharedState=Vn(O),O.streaming=lr(O),O.services=Bn(O);let oe=new Map;O.scope=(e=>{if(!e)return O;let t=oe.get(e);return t||(t=yr(O,e),oe.set(e,t)),t}),h.rpc=O;function se(){try{return typeof window<`u`&&window.self===window.top}catch{return!1}}async function ce(){if(e.simpleAuth!==!1&&se()&&typeof globalThis.prompt==`function`)for(await O.requestAuthCode().catch(()=>{});!O.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 O.requestTrustWithCode(t))return}}async function le(){let t=await w.requestTrust(),n=e.otpParam??`devframe_otp`,r=n?await zn(O,{param:n}):!1;t||r||O.isTrusted||await ce()}return re=le().then(()=>{ie=!0},()=>{ie=!0}),l.mcp&&t(async()=>{let{setupBrowserAgentRpcBridge:e}=await import(`./CB1p6iYX.js`);return{setupBrowserAgentRpcBridge:e}},[],import.meta.url).then(({setupBrowserAgentRpcBridge:e})=>{y||(v=e(O))}).catch(()=>{}),E&&(E.onmessage=e=>{e.data?.type===`auth-update`&&e.data.authToken&&O.requestTrustWithToken(e.data.authToken)}),O}function Dr(e={}){return Er({...e,simpleAuth:!1})}export{Dr as getDevToolsRpcClient,A as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./C-J9qZjr.js";var t=Symbol.for(`devframe:browser-agent-registry`),{tools:n,listeners:r}=globalThis[t]??={tools:new Map,listeners:new Set};function i(){return[...n.values()]}function a(e){return r.add(e),()=>r.delete(e)}var o=`devframe:client-id`,s;function c(t=globalThis.window){try{let n=t?.sessionStorage;if(n){let t=n.getItem(o);return t||(t=e(),n.setItem(o,t)),t}}catch{}return s??=e(),s}function l(){let e=typeof document>`u`?void 0:document;return{url:e?.location?.href??``,title:e?.title??``,visible:!e||e.visibilityState===`visible`,focused:e?.hasFocus()??!0}}function u(e){e.client.register({name:`devframe:agent:invoke-client-tool`,type:`action`,jsonSerializable:!0,handler:async(e,t)=>{let n=i().find(t=>t.id===e);if(!n)throw Error(`[devframe/agent] browser tool "${e}" not found`);return await n.invoke(t)}});let t=!1,n=!1,r=0,o=()=>{t||n||(t=!0,queueMicrotask(async()=>{if(t=!1,n)return;let a=i().map(({invoke:e,...t})=>t);(a.length!==0||r!==0)&&(r=a.length,await e.callOptional(`devframe:agent:sync-client-tools`,c(),a,l()).catch(()=>{}))}))},s=a(o),u=e.events.on(`connection:status`,e=>{e===`connected`&&o()}),d=typeof window>`u`?void 0:window;return d?.addEventListener(`focus`,o),d?.addEventListener(`blur`,o),d?.document.addEventListener(`visibilitychange`,o),o(),()=>{n=!0,s(),u(),d?.removeEventListener(`focus`,o),d?.removeEventListener(`blur`,o),d?.document.removeEventListener(`visibilitychange`,o)}}export{u as setupBrowserAgentRpcBridge};