@marimo-team/islands 0.25.3-dev139 → 0.25.3-dev140

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 (26) hide show
  1. package/dist/{ErrorBoundary-BX9mTNLJ.js → ErrorBoundary-CTJ1U1fx.js} +1 -1
  2. package/dist/assets/__vite-browser-external-BgQNn4dS.js +1 -0
  3. package/dist/assets/worker-FKe3RHT4.js +113 -0
  4. package/dist/{code-visibility-gptWgGHp.js → code-visibility-C1jZfwPW.js} +1 -1
  5. package/dist/{common-mU-2k6Zp.js → common-CNv_7gvI.js} +1 -1
  6. package/dist/{data-grid-overlay-editor-Bdyx_BTg.js → data-grid-overlay-editor-t0t17DPI.js} +1 -1
  7. package/dist/{feedback-button-BoXM4uir.js → feedback-button-JzaiyZZm.js} +2 -2
  8. package/dist/{glide-data-editor-DaXYMyzk.js → glide-data-editor-B3eq-1SC.js} +3 -3
  9. package/dist/{globals-Bj4btPVp.js → globals-BW8TOLYQ.js} +1 -1
  10. package/dist/main.js +7 -7
  11. package/dist/{number-overlay-editor-DHfzwLIx.js → number-overlay-editor-DoUnDbPE.js} +1 -1
  12. package/dist/{reveal-component-CurCj3ks.js → reveal-component-ClNn1CDl.js} +2 -2
  13. package/package.json +1 -1
  14. package/src/core/host/__tests__/wasm.test.ts +1 -0
  15. package/src/core/host/wasm.ts +10 -5
  16. package/src/core/islands/worker/__tests__/controller.test.ts +62 -3
  17. package/src/core/islands/worker/controller.ts +4 -6
  18. package/src/core/islands/worker/worker.tsx +11 -11
  19. package/src/core/wasm/__tests__/bridge.test.ts +42 -0
  20. package/src/core/wasm/__tests__/worker.test.ts +182 -0
  21. package/src/core/wasm/bridge.ts +7 -3
  22. package/src/core/wasm/worker/bootstrap.ts +52 -35
  23. package/src/core/wasm/worker/types.ts +11 -8
  24. package/src/core/wasm/worker/worker.ts +31 -14
  25. package/dist/assets/__vite-browser-external-DrmlAsRP.js +0 -1
  26. package/dist/assets/worker-O2XUgidQ.js +0 -113
@@ -29,7 +29,7 @@ import { t } from "./tracer";
29
29
  import type {
30
30
  BridgePayload,
31
31
  RawBridge,
32
- SerializedBridge,
32
+ WasmSession,
33
33
  WasmController,
34
34
  } from "./types";
35
35
  import { shouldLoadDuckDBPackages } from "../utils";
@@ -69,14 +69,17 @@ async function loadPyodideAndPackages() {
69
69
  }
70
70
  }
71
71
 
72
- const bridgeReady = new Deferred<SerializedBridge>();
72
+ const sessionReady = new Deferred<WasmSession>();
73
73
  let started = false;
74
74
 
75
75
  // Handle RPC requests
76
- const notebookSubscriptions = new Map<string, Promise<void>>();
76
+ const notebookSubscriptions = new Map<
77
+ string,
78
+ { promise: Promise<void>; cancel(): void }
79
+ >();
77
80
  async function getNotebook() {
78
- const bridge = await bridgeReady.promise;
79
- return bridge.notebook;
81
+ const session = await sessionReady.promise;
82
+ return session.bridge.notebook;
80
83
  }
81
84
 
82
85
  const requestHandler = createRPCRequestHandler({
@@ -89,22 +92,36 @@ const requestHandler = createRPCRequestHandler({
89
92
  }
90
93
  },
91
94
  notebookSubscribe: (request: { id: string; cursor: string | null }) => {
95
+ let canceled = false;
92
96
  const subscribing = (async () => {
93
- const notebook = await getNotebook();
97
+ const session = await sessionReady.promise;
98
+ const notebook = session.bridge.notebook;
94
99
  try {
95
100
  await notebook.subscribe(request.id, request.cursor, (event) => {
96
101
  rpc.send.notebookEvent({ id: request.id, event });
97
102
  });
103
+ if (!canceled) {
104
+ void session.start().catch((error: unknown) => {
105
+ rpc.send.initializedError({ error: prettyError(error) });
106
+ });
107
+ }
98
108
  } finally {
99
109
  notebook.destroy();
100
110
  }
101
111
  })();
102
- notebookSubscriptions.set(request.id, subscribing);
112
+ notebookSubscriptions.set(request.id, {
113
+ promise: subscribing,
114
+ cancel: () => {
115
+ canceled = true;
116
+ },
117
+ });
103
118
  return subscribing.finally(() => notebookSubscriptions.delete(request.id));
104
119
  },
105
120
  notebookUnsubscribe: async (id: string) => {
106
121
  // An RPC timeout can close a reader while its subscription is still opening.
107
- await notebookSubscriptions.get(id)?.catch(() => undefined);
122
+ const pending = notebookSubscriptions.get(id);
123
+ pending?.cancel();
124
+ await pending?.promise.catch(() => undefined);
108
125
  const notebook = await getNotebook();
109
126
  try {
110
127
  notebook.unsubscribe(id);
@@ -143,19 +160,19 @@ const requestHandler = createRPCRequestHandler({
143
160
  code: opts.code,
144
161
  filename: opts.filename,
145
162
  });
146
- const startSession = t.wrapAsync(
147
- self.controller.startSession.bind(self.controller),
163
+ const prepareSession = t.wrapAsync(
164
+ self.controller.prepareSession.bind(self.controller),
148
165
  );
149
166
  rpc.send.initializingMessage({
150
167
  message: "Loading notebook and dependencies...",
151
168
  });
152
- const bridge = await startSession({
169
+ const session = await prepareSession({
153
170
  code: opts.code,
154
171
  filename: opts.filename,
155
172
  queryParameters: opts.queryParameters,
156
173
  userConfig: opts.userConfig,
157
174
  });
158
- bridgeReady.resolve(bridge);
175
+ sessionReady.resolve(session);
159
176
  rpc.send.initializingMessage({
160
177
  message: "Initializing notebook...",
161
178
  });
@@ -286,7 +303,7 @@ const requestHandler = createRPCRequestHandler({
286
303
  */
287
304
  saveNotebook: async (opts: SaveNotebookRequest) => {
288
305
  await pyodideReadyPromise; // Make sure loading is done
289
- const bridge = await bridgeReady.promise;
306
+ const { bridge } = await sessionReady.promise;
290
307
  await bridge.save(JSON.stringify(opts));
291
308
  },
292
309
 
@@ -334,7 +351,7 @@ const requestHandler = createRPCRequestHandler({
334
351
  }
335
352
 
336
353
  // Perform the function call to the Python bridge
337
- const bridge = await bridgeReady.promise;
354
+ const { bridge } = await sessionReady.promise;
338
355
 
339
356
  // Serialize the payload
340
357
  const payloadString =
@@ -1 +0,0 @@
1
- import{t as e}from"./worker-O2XUgidQ.js";var t=e(((e,t)=>{t.exports={}}));export default t();
@@ -1,113 +0,0 @@
1
- var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,o)=>(o=n==null?{}:e(i(n)),s(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n)),l=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")});function u(e){return e}function d(e,t){let n=e.map(e=>`"${e}"`).join(`, `);return Error(`This RPC instance cannot ${t} because the transport did not provide one or more of these methods: ${n}`)}function f(e={}){let t={};function n(e){t=e}let r={};function i(e){r.unregisterHandler&&r.unregisterHandler(),r=e,r.registerHandler?.(ae)}let a;function o(e){if(typeof e==`function`){a=e;return}a=(t,n)=>{let r=e[t];if(r)return r(n);let i=e._;if(!i)throw Error(`The requested method has no handler: ${t}`);return i(t,n)}}let{maxRequestTime:s=1e3}=e;e.transport&&i(e.transport),e.requestHandler&&o(e.requestHandler),e._debugHooks&&n(e._debugHooks);let c=0;function l(){return c<=1e10?++c:c=0}let u=new Map,f=new Map;function p(e,...n){let i=n[0];return new Promise((n,a)=>{if(!r.send)throw d([`send`],`make requests`);let o=l(),c={type:`request`,id:o,method:e,params:i};u.set(o,{resolve:n,reject:a}),s!==1/0&&f.set(o,setTimeout(()=>{f.delete(o),a(Error(`RPC request timed out.`))},s)),t.onSend?.(c),r.send(c)})}let m=new Proxy(p,{get:(e,t,n)=>t in e?Reflect.get(e,t,n):e=>p(t,e)}),h=m;function ee(e,...n){let i=n[0];if(!r.send)throw d([`send`],`send messages`);let a={type:`message`,id:e,payload:i};t.onSend?.(a),r.send(a)}let te=new Proxy(ee,{get:(e,t,n)=>t in e?Reflect.get(e,t,n):e=>ee(t,e)}),ne=te,g=new Map,re=new Set;function ie(e,t){if(!r.registerHandler)throw d([`registerHandler`],`register message listeners`);if(e===`*`){re.add(t);return}g.has(e)||g.set(e,new Set),g.get(e)?.add(t)}function _(e,t){if(e===`*`){re.delete(t);return}g.get(e)?.delete(t),g.get(e)?.size===0&&g.delete(e)}async function ae(e){if(t.onReceive?.(e),!(`type`in e))throw Error(`Message does not contain a type.`);if(e.type===`request`){if(!r.send||!a)throw d([`send`,`requestHandler`],`handle requests`);let{id:n,method:i,params:o}=e,s;try{s={type:`response`,id:n,success:!0,payload:await a(i,o)}}catch(e){if(!(e instanceof Error))throw e;s={type:`response`,id:n,success:!1,error:e.message}}t.onSend?.(s),r.send(s);return}if(e.type===`response`){let t=f.get(e.id);t!=null&&clearTimeout(t);let{resolve:n,reject:r}=u.get(e.id)??{};e.success?n?.(e.payload):r?.(Error(e.error));return}if(e.type===`message`){for(let t of re)t(e.id,e.payload);let t=g.get(e.id);if(!t)return;for(let n of t)n(e.payload);return}throw Error(`Unexpected RPC message type: ${e.type}`)}return{setTransport:i,setRequestHandler:o,request:m,requestProxy:h,send:te,sendProxy:ne,addMessageListener:ie,removeMessageListener:_,proxy:{send:ne,request:h},_setDebugHooks:n}}function p(e){return f(e)}const m=`[transport-id]`;function h(e,t){let{transportId:n}=t;return n==null?e:{[m]:n,data:e}}function ee(e,t){let{transportId:n,filter:r}=t,i=r?.();if(n!=null&&i!=null)throw Error("Cannot use both `transportId` and `filter` at the same time");let a=e;if(n){if(e[m]!==n)return[!0];a=e.data}return i===!1?[!0]:[!1,a]}function te(e,t={}){let{transportId:n,filter:r,remotePort:i}=t,a=e,o=i??e,s;return{send(e){o.postMessage(h(e,{transportId:n}))},registerHandler(e){s=t=>{let i=t.data,[a,o]=ee(i,{transportId:n,filter:()=>r?.(t)});a||e(o)},a.addEventListener(`message`,s)},unregisterHandler(){s&&a.removeEventListener(`message`,s)}}}function ne(e){return te(self,e)}const g=/(^|\n)\s*(?:import\s+[^\n#]*\bduckdb\b|from\s+duckdb\b|[^\n#]*\bduckdb\s*\.)/;function re(e,t){return e.includes(`mo.sql`)||g.test(e)||t?.has(`duckdb`)===!0}var ie=Object.defineProperty,_=(e,t)=>ie(e,`name`,{value:t,configurable:!0}),ae=(e=>typeof l<`u`?l:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof l<`u`?l:e)[t]}):e)(function(e){if(typeof l<`u`)return l.apply(this,arguments);throw Error(`Dynamic require of "`+e+`" is not supported`)}),oe=(()=>{for(var e=new Uint8Array(128),t=0;t<64;t++)e[t<26?t+65:t<52?t+71:t<62?t-4:t*4-205]=t;return t=>{for(var n=t.length,r=new Uint8Array((n-(t[n-1]==`=`)-(t[n-2]==`=`))*3/4|0),i=0,a=0;i<n;){var o=e[t.charCodeAt(i++)],s=e[t.charCodeAt(i++)],c=e[t.charCodeAt(i++)],l=e[t.charCodeAt(i++)];r[a++]=o<<2|s>>4,r[a++]=s<<4|c>>2,r[a++]=c<<6|l}return r}})();function se(e){return!isNaN(parseFloat(e))&&isFinite(e)}_(se,`_isNumber`);function v(e){return e.charAt(0).toUpperCase()+e.substring(1)}_(v,`_capitalize`);function ce(e){return function(){return this[e]}}_(ce,`_getter`);var le=[`isConstructor`,`isEval`,`isNative`,`isToplevel`],ue=[`columnNumber`,`lineNumber`],de=[`fileName`,`functionName`,`source`],fe=le.concat(ue,de,[`args`],[`evalOrigin`]);function y(e){if(e)for(var t=0;t<fe.length;t++)e[fe[t]]!==void 0&&this[`set`+v(fe[t])](e[fe[t]])}for(_(y,`StackFrame`),y.prototype={getArgs:_(function(){return this.args},`getArgs`),setArgs:_(function(e){if(Object.prototype.toString.call(e)!==`[object Array]`)throw TypeError(`Args must be an Array`);this.args=e},`setArgs`),getEvalOrigin:_(function(){return this.evalOrigin},`getEvalOrigin`),setEvalOrigin:_(function(e){if(e instanceof y)this.evalOrigin=e;else if(e instanceof Object)this.evalOrigin=new y(e);else throw TypeError(`Eval Origin must be an Object or StackFrame`)},`setEvalOrigin`),toString:_(function(){var e=this.getFileName()||``,t=this.getLineNumber()||``,n=this.getColumnNumber()||``,r=this.getFunctionName()||``;return this.getIsEval()?e?`[eval] (`+e+`:`+t+`:`+n+`)`:`[eval]:`+t+`:`+n:r?r+` (`+e+`:`+t+`:`+n+`)`:e+`:`+t+`:`+n},`toString`)},y.fromString=_(function(e){var t=e.indexOf(`(`),n=e.lastIndexOf(`)`),r=e.substring(0,t),i=e.substring(t+1,n).split(`,`),a=e.substring(n+1);if(a.indexOf(`@`)===0)var o=/@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(a,``),s=o[1],c=o[2],l=o[3];return new y({functionName:r,args:i||void 0,fileName:s,lineNumber:c||void 0,columnNumber:l||void 0})},`StackFrame$$fromString`),b=0;b<le.length;b++)y.prototype[`get`+v(le[b])]=ce(le[b]),y.prototype[`set`+v(le[b])]=function(e){return function(t){this[e]=!!t}}(le[b]);var b;for(x=0;x<ue.length;x++)y.prototype[`get`+v(ue[x])]=ce(ue[x]),y.prototype[`set`+v(ue[x])]=function(e){return function(t){if(!se(t))throw TypeError(e+` must be a Number`);this[e]=Number(t)}}(ue[x]);var x;for(pe=0;pe<de.length;pe++)y.prototype[`get`+v(de[pe])]=ce(de[pe]),y.prototype[`set`+v(de[pe])]=function(e){return function(t){this[e]=String(t)}}(de[pe]);var pe,me=y;function he(){var e=/^\s*at .*(\S+:\d+|\(native\))/m,t=/^(eval@)?(\[native code])?$/;return{parse:_(function(t){if(t.stack&&t.stack.match(e))return this.parseV8OrIE(t);if(t.stack)return this.parseFFOrSafari(t);throw Error(`Cannot parse given Error object`)},`ErrorStackParser$$parse`),extractLocation:_(function(e){if(e.indexOf(`:`)===-1)return[e];var t=/(.+?)(?::(\d+))?(?::(\d+))?$/.exec(e.replace(/[()]/g,``));return[t[1],t[2]||void 0,t[3]||void 0]},`ErrorStackParser$$extractLocation`),parseV8OrIE:_(function(t){return t.stack.split(`
2
- `).filter(function(t){return!!t.match(e)},this).map(function(e){e.indexOf(`(eval `)>-1&&(e=e.replace(/eval code/g,`eval`).replace(/(\(eval at [^()]*)|(,.*$)/g,``));var t=e.replace(/^\s+/,``).replace(/\(eval code/g,`(`).replace(/^.*?\s+/,``),n=t.match(/ (\(.+\)$)/);t=n?t.replace(n[0],``):t;var r=this.extractLocation(n?n[1]:t);return new me({functionName:n&&t||void 0,fileName:[`eval`,`<anonymous>`].indexOf(r[0])>-1?void 0:r[0],lineNumber:r[1],columnNumber:r[2],source:e})},this)},`ErrorStackParser$$parseV8OrIE`),parseFFOrSafari:_(function(e){return e.stack.split(`
3
- `).filter(function(e){return!e.match(t)},this).map(function(e){if(e.indexOf(` > eval`)>-1&&(e=e.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,`:$1`)),e.indexOf(`@`)===-1&&e.indexOf(`:`)===-1)return new me({functionName:e});var t=/((.*".+"[^@]*)?[^@]*)(?:@)/,n=e.match(t),r=n&&n[1]?n[1]:void 0,i=this.extractLocation(e.replace(t,``));return new me({functionName:r,fileName:i[0],lineNumber:i[1],columnNumber:i[2],source:e})},this)},`ErrorStackParser$$parseFFOrSafari`)}}_(he,`ErrorStackParser`);var ge=new he;function _e(){return typeof API<`u`&&API!==globalThis.API?API.runtimeEnv:ve({IN_BUN:typeof Bun<`u`,IN_DENO:typeof Deno<`u`,IN_NODE:typeof process==`object`&&typeof process.versions==`object`&&typeof process.versions.node==`string`&&!process.browser,IN_SAFARI:typeof navigator==`object`&&typeof navigator.userAgent==`string`&&navigator.userAgent.indexOf(`Chrome`)===-1&&navigator.userAgent.indexOf(`Safari`)>-1,IN_SHELL:typeof read==`function`&&typeof load==`function`,IN_WORKERD:typeof navigator==`object`&&navigator.userAgent?.includes(`Cloudflare-Workers`)})}_(_e,`getGlobalRuntimeEnv`);var S=_e();function ve(e){let t=e.IN_NODE&&typeof module<`u`&&module.exports&&typeof ae==`function`&&typeof __dirname==`string`,n=e.IN_NODE&&!t,r=!e.IN_NODE&&!e.IN_DENO&&!e.IN_BUN,i=r&&typeof window<`u`&&typeof window.document<`u`&&typeof document.createElement==`function`&&`sessionStorage`in window&&typeof globalThis.importScripts!=`function`,a=r&&typeof globalThis.WorkerGlobalScope<`u`&&typeof globalThis.self<`u`&&globalThis.self instanceof globalThis.WorkerGlobalScope;if(a&&ye())throw Error(`Classic web workers are not supported`);let o={...e,IN_BROWSER:r,IN_BROWSER_MAIN_THREAD:i,IN_BROWSER_WEB_WORKER:a,IN_NODE_COMMONJS:t,IN_NODE_ESM:n};if(!(o.IN_BROWSER_MAIN_THREAD||o.IN_BROWSER_WEB_WORKER||o.IN_NODE||o.IN_SHELL||o.IN_WORKERD))throw Error(`Cannot determine runtime environment: ${JSON.stringify(o)}`);return o}_(ve,`calculateDerivedFlags`);function ye(){try{return globalThis.importScripts(`data:text/javascript,`),!0}catch{return!1}}_(ye,`isClassicWorker`);var be,xe,Se,Ce;async function we(){if(!S.IN_NODE||(be=(await import(`./__vite-browser-external-DrmlAsRP.js`).then(e=>c(e.default,1))).default,Se=await import(`./__vite-browser-external-DrmlAsRP.js`).then(e=>c(e.default,1)),Ce=await import(`./__vite-browser-external-DrmlAsRP.js`).then(e=>c(e.default,1)),(await import(`./__vite-browser-external-DrmlAsRP.js`).then(e=>c(e.default,1))).default,xe=await import(`./__vite-browser-external-DrmlAsRP.js`).then(e=>c(e.default,1)),Oe=xe.sep,typeof ae<`u`))return;let e={fs:Se,crypto:await import(`./__vite-browser-external-DrmlAsRP.js`).then(e=>c(e.default,1)),ws:await import(`./__vite-browser-external-DrmlAsRP.js`).then(e=>c(e.default,1)),child_process:await import(`./__vite-browser-external-DrmlAsRP.js`).then(e=>c(e.default,1))};globalThis.require=function(t){return e[t]}}_(we,`initNodeModules`);function Te(e,t){return xe.resolve(t||`.`,e)}_(Te,`node_resolvePath`);function Ee(e,t){return t===void 0&&(t=location),new URL(e,t).toString()}_(Ee,`browser_resolvePath`);var De=S.IN_NODE?Te:S.IN_SHELL?_(e=>e,`resolvePath`):Ee,Oe;S.IN_NODE||(Oe=`/`);function ke(e,t){return e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?{response:fetch(e)}:{binary:Ce.readFile(e).then(e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength))}}_(ke,`node_getBinaryResponse`);function Ae(e,t){if(e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`))throw Error(`Shell cannot fetch urls`);return{binary:Promise.resolve(new Uint8Array(readbuffer(e)))}}_(Ae,`shell_getBinaryResponse`);function je(e,t){let n=new URL(e,location);return{response:fetch(n,t?{integrity:t}:{})}}_(je,`browser_getBinaryResponse`);var Me=S.IN_NODE?ke:S.IN_SHELL?Ae:je;async function Ne(e,t){let{response:n,binary:r}=Me(e,t);if(r)return r;let i=await n;if(!i.ok)throw Error(`Failed to load '${e}': request failed.`);return new Uint8Array(await i.arrayBuffer())}_(Ne,`loadBinaryFile`);var Pe=S.IN_NODE?Fe:_(async e=>await import(e),`loadScript`);async function Fe(e){return e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?await import(e):await import(be.pathToFileURL(e).href)}_(Fe,`nodeLoadScript`);async function Ie(e){if(S.IN_NODE){await we();let t=await Ce.readFile(e,{encoding:`utf8`});return JSON.parse(t)}if(S.IN_SHELL){let t=read(e);return JSON.parse(t)}return await(await fetch(e)).json()}_(Ie,`loadLockFile`);async function Le(){if(S.IN_NODE_COMMONJS)return __dirname;let e;try{throw Error()}catch(t){e=t}let t=ge.parse(e)[0].fileName;if(S.IN_NODE&&!t.startsWith(`file://`)&&(t=`file://${t}`),S.IN_NODE_ESM){let e=await import(`./__vite-browser-external-DrmlAsRP.js`).then(e=>c(e.default,1));return(await import(`./__vite-browser-external-DrmlAsRP.js`).then(e=>c(e.default,1))).fileURLToPath(e.dirname(t))}let n=t.lastIndexOf(Oe);if(n===-1)throw Error(`Could not extract indexURL path from pyodide module location. Please pass the indexURL explicitly to loadPyodide.`);return t.slice(0,n)}_(Le,`calculateDirname`);function Re(e){return e.substring(0,e.lastIndexOf(`/`)+1)||globalThis.location?.toString()||`.`}_(Re,`calculateInstallBaseUrl`);function ze(e){let t=e.FS,n=e.FS.filesystems.MEMFS,r=e.PATH,i={DIR_MODE:16895,FILE_MODE:33279,mount:_(function(e){if(!e.opts.fileSystemHandle)throw Error(`opts.fileSystemHandle is required`);return n.mount.apply(null,arguments)},`mount`),syncfs:_(async(e,t,n)=>{try{let r=i.getLocalSet(e),a=await i.getRemoteSet(e),o=t?a:r,s=t?r:a;await i.reconcile(e,o,s),n(null)}catch(e){n(e)}},`syncfs`),getLocalSet:_(e=>{let n=Object.create(null);function i(e){return e!==`.`&&e!==`..`}_(i,`isRealDir`);function a(e){return t=>r.join2(e,t)}_(a,`toAbsolute`);let o=t.readdir(e.mountpoint).filter(i).map(a(e.mountpoint));for(;o.length;){let e=o.pop(),r=t.stat(e);t.isDir(r.mode)&&o.push.apply(o,t.readdir(e).filter(i).map(a(e))),n[e]={timestamp:r.mtime,mode:r.mode}}return{type:`local`,entries:n}},`getLocalSet`),getRemoteSet:_(async e=>{let t=Object.create(null),n=await Be(e.opts.fileSystemHandle);for(let[a,o]of n)a!==`.`&&(t[r.join2(e.mountpoint,a)]={timestamp:o.kind===`file`?new Date((await o.getFile()).lastModified):new Date,mode:o.kind===`file`?i.FILE_MODE:i.DIR_MODE});return{type:`remote`,entries:t,handles:n}},`getRemoteSet`),loadLocalEntry:_(e=>{let r=t.lookupPath(e,{}).node,i=t.stat(e);if(t.isDir(i.mode))return{timestamp:i.mtime,mode:i.mode};if(t.isFile(i.mode))return r.contents=n.getFileDataAsTypedArray(r),{timestamp:i.mtime,mode:i.mode,contents:r.contents};throw Error(`node type not supported`)},`loadLocalEntry`),storeLocalEntry:_((e,n)=>{if(t.isDir(n.mode))t.mkdirTree(e,n.mode);else if(t.isFile(n.mode))t.writeFile(e,n.contents,{canOwn:!0});else throw Error(`node type not supported`);t.chmod(e,n.mode),t.utime(e,n.timestamp,n.timestamp)},`storeLocalEntry`),removeLocalEntry:_(e=>{var n=t.stat(e);t.isDir(n.mode)?t.rmdir(e):t.isFile(n.mode)&&t.unlink(e)},`removeLocalEntry`),loadRemoteEntry:_(async e=>{if(e.kind===`file`){let t=await e.getFile();return{contents:new Uint8Array(await t.arrayBuffer()),mode:i.FILE_MODE,timestamp:new Date(t.lastModified)}}if(e.kind===`directory`)return{mode:i.DIR_MODE,timestamp:new Date};throw Error(`unknown kind: `+e.kind)},`loadRemoteEntry`),storeRemoteEntry:_(async(e,n,i)=>{let a=e.get(r.dirname(n)),o=t.isFile(i.mode)?await a.getFileHandle(r.basename(n),{create:!0}):await a.getDirectoryHandle(r.basename(n),{create:!0});if(o.kind===`file`){let e=await o.createWritable();await e.write(i.contents),await e.close()}e.set(n,o)},`storeRemoteEntry`),removeRemoteEntry:_(async(e,t)=>{await e.get(r.dirname(t)).removeEntry(r.basename(t)),e.delete(t)},`removeRemoteEntry`),reconcile:_(async(e,n,a)=>{let o=0,s=[];Object.keys(n.entries).forEach(function(e){let r=n.entries[e],i=a.entries[e];(!i||t.isFile(r.mode)&&r.timestamp.getTime()>i.timestamp.getTime())&&(s.push(e),o++)}),s.sort();let c=[];if(Object.keys(a.entries).forEach(function(e){n.entries[e]||(c.push(e),o++)}),c.sort().reverse(),!o)return;let l=n.type===`remote`?n.handles:a.handles;for(let t of s){let n=r.normalize(t.replace(e.mountpoint,`/`)).substring(1);if(a.type===`local`){let e=l.get(n),r=await i.loadRemoteEntry(e);i.storeLocalEntry(t,r)}else{let e=i.loadLocalEntry(t);await i.storeRemoteEntry(l,n,e)}}for(let t of c)if(a.type===`local`)i.removeLocalEntry(t);else{let n=r.normalize(t.replace(e.mountpoint,`/`)).substring(1);await i.removeRemoteEntry(l,n)}},`reconcile`)};e.FS.filesystems.NATIVEFS_ASYNC=i}_(ze,`initializeNativeFS`);var Be=_(async e=>{let t=[];async function n(e){for await(let r of e.values())t.push(r),r.kind===`directory`&&await n(r)}_(n,`collect`),await n(e);let r=new Map;r.set(`.`,e);for(let n of t){let t=(await e.resolve(n)).join(`/`);r.set(t,n)}return r},`getFsHandles`),Ve=oe(`AGFzbQEAAAABDANfAGAAAW9gAW8BfwMDAgECBygCE0pzdl9HZXRFcnJvcl9pbXBvcnQAAA5Kc3ZFcnJvcl9DaGVjawABChMCBwD7AQD7GwsJACAA+xr7FAAL`),He=async function(){if(!(globalThis.navigator&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||navigator.platform===`MacIntel`&&typeof navigator.maxTouchPoints<`u`&&navigator.maxTouchPoints>1)))try{let e=await WebAssembly.compile(Ve);return await WebAssembly.instantiate(e)}catch(e){if(e instanceof WebAssembly.CompileError)return;throw e}}();async function Ue(){let e=await He;if(e)return e.exports;let t=Symbol(`error marker`);return{Jsv_GetError_import:_(()=>t,`Jsv_GetError_import`),JsvError_Check:_(e=>e===t,`JsvError_Check`)}}_(Ue,`getJsvErrorImport`);function We(e){let t={config:e,runtimeEnv:S},n={noImageDecoding:!0,noAudioDecoding:!0,noWasmDecoding:!1,preRun:Xe(e),print:e.stdout,printErr:e.stderr,onExit(e){n.exitCode=e},thisProgram:e._sysExecutable,arguments:e.args,API:t,locateFile:_(t=>e.indexURL+t,`locateFile`),instantiateWasm:Ze(e.indexURL)};return n}_(We,`createSettings`);function Ge(e){return function(t){try{t.FS.mkdirTree(e)}catch(t){console.error(`Error occurred while making a home directory '${e}':`),console.error(t),console.error(`Using '/' for a home directory instead`),e=`/`}t.FS.chdir(e)}}_(Ge,`createHomeDirectory`);function Ke(e){return function(t){Object.assign(t.ENV,e)}}_(Ke,`setEnvironment`);function qe(e){return e?[async t=>{t.addRunDependency(`fsInitHook`);try{await e(t.FS,{sitePackages:t.API.sitePackages})}finally{t.removeRunDependency(`fsInitHook`)}}]:[]}_(qe,`callFsInitHook`);function Je(e){let t=e.HEAPU32[e._Py_Version>>>2];return[t>>>24&255,t>>>16&255,t>>>8&255]}_(Je,`computeVersionTuple`);function Ye(e){let t=Ne(e);return async e=>{e.API.pyVersionTuple=Je(e);let[n,r]=e.API.pyVersionTuple;e.FS.mkdirTree(`/lib`),e.API.sitePackages=`/lib/python${n}.${r}/site-packages`,e.FS.mkdirTree(e.API.sitePackages),e.addRunDependency(`install-stdlib`);try{let i=await t;e.FS.writeFile(`/lib/python${n}${r}.zip`,i)}catch(e){console.error(`Error occurred while installing the standard library:`),console.error(e)}finally{e.removeRunDependency(`install-stdlib`)}}}_(Ye,`installStdlib`);function Xe(e){let t;return t=e.stdLibURL==null?e.indexURL+`python_stdlib.zip`:e.stdLibURL,[Ye(t),Ge(e.env.HOME),Ke(e.env),ze,...qe(e.fsInit)]}_(Xe,`getFileSystemInitializationFuncs`);function Ze(e){if(typeof WasmOffsetConverter<`u`)return;let{binary:t,response:n}=Me(e+`pyodide.asm.wasm`),r=Ue();return function(e,i){return async function(){let{Jsv_GetError_import:a,JsvError_Check:o}=await r;e.env.Jsv_GetError_import=a,e.env.JsvError_Check=o;try{let r;r=n?await WebAssembly.instantiateStreaming(n,e):await WebAssembly.instantiate(await t,e);let{instance:a,module:o}=r;i(a,o)}catch(e){console.warn(`wasm instantiation failed!`),console.warn(e)}}(),{}}}_(Ze,`getInstantiateWasmFunc`);var Qe=`314.0.0`;function $e(e){return e===void 0||e.endsWith(`/`)?e:e+`/`}_($e,`withTrailingSlash`);var et=Qe;async function tt(e={}){if(await we(),e.lockFileContents&&e.lockFileURL)throw Error(`Can't pass both lockFileContents and lockFileURL`);let t=e.indexURL||await Le();if(t=$e(De(t)),e.packageBaseUrl=$e(e.packageBaseUrl),e.cdnUrl=$e(e.packageBaseUrl??`https://cdn.jsdelivr.net/pyodide/v314.0.0/full/`),!e.lockFileContents){let n=e.lockFileURL??t+`pyodide-lock.json`;e.lockFileContents=Ie(n),e.packageBaseUrl??=Re(n)}e.indexURL=t,e.packageCacheDir&&=$e(De(e.packageCacheDir));let n={jsglobals:globalThis,stdin:globalThis.prompt?()=>globalThis.prompt():void 0,args:[],env:{},packages:[],packageCacheDir:e.packageBaseUrl,enableRunUntilComplete:!0,checkAPIVersion:!0,BUILD_ID:`2ff9f3fe6c88624a7e283d5651688da7f6169834ab51663b07be67c0bd43e53e`},r=Object.assign(n,e);return r.env.HOME??=`/home/pyodide`,r.env.PYTHONINSPECT??=`1`,r}_(tt,`initializeConfiguration`);function nt(e){let t=We(e),n=t.API;return n.lockFilePromise=Promise.resolve(e.lockFileContents),t}_(nt,`createEmscriptenSettings`);async function rt(e){return e.createPyodideModule?e.createPyodideModule:(await Pe(`${e.indexURL}pyodide.asm.mjs`)).default}_(rt,`loadWasmScript`);async function it(e,t){if(!e._loadSnapshot)return;let n=await e._loadSnapshot,r=ArrayBuffer.isView(n)?n:new Uint8Array(n);return t.noInitialRun=!0,t.INITIAL_MEMORY=r.length,r}_(it,`prepareSnapshot`);async function at(e,t){let n=await e(t);if(t.exitCode!==void 0)throw new n.ExitStatus(t.exitCode);return n}_(at,`instantiatePyodideModule`);function ot(e,t){let n=e.API;if(t.pyproxyToStringRepr&&n.setPyProxyToStringMethod(!0),t.convertNullToNone&&n.setCompatNullToNone(!0),t.toJsLiteralMap&&n.setCompatToJsLiteralMap(!0),n.version!==`314.0.0`&&t.checkAPIVersion)throw Error(`Pyodide version does not match: '${et}' <==> '${n.version}'. If you updated the Pyodide version, make sure you also updated the 'indexURL' parameter passed to loadPyodide.`);e.locateFile=e=>{throw e.endsWith(`.so`)?Error(`Failed to find dynamic library "${e}"`):Error(`Unexpected call to locateFile("${e}")`)}}_(ot,`configureAPI`);function st(e,t,n){let r=e.API,i;return t&&(i=r.restoreSnapshot(t)),r.finalizeBootstrap(i,n._snapshotDeserializer)}_(st,`bootstrapPyodide`);async function ct(e,t){let n=e._api;return n.sys.path.insert(0,``),n._pyodide.set_excepthook(),await n.packageIndexReady,n.initializeStreams(t.stdin,t.stdout,t.stderr),e}_(ct,`finalizeSetup`);async function lt(e={}){let t=await tt(e),n=nt(t),r=await rt(t),i=await it(t,n),a=await at(r,n);return ot(a,t),await ct(st(a,i,t),t)}_(lt,`loadPyodide`);function ut(e){return e.includes(`dev`),`v${et}`}const dt={NOOP:()=>{},ASYNC_NOOP:async()=>{},THROW:()=>{throw Error(`Should not be called`)},asUpdater:e=>typeof e==`function`?e:()=>e,identity:e=>e},ft=(e,t)=>{let n=`[${e}]`;return{debug:(...e)=>console.debug(n,...e),log:(...e)=>t.log(n,...e),warn:(...e)=>t.warn(n,...e),error:(...e)=>t.error(n,...e),trace:(...e)=>t.trace(n,...e),get:n=>ft(`${e}:${n}`,t),disabled:(e=!0)=>e?mt:t}},pt={debug:(...e)=>{console.debug(...e)},log:(...e)=>{console.log(...e)},warn:(...e)=>{console.warn(...e)},error:(...e)=>{console.error(...e)},trace:(...e)=>{console.trace(...e)},get:e=>ft(`marimo:${e}`,pt),disabled:(e=!0)=>e?mt:pt},mt={debug:()=>dt.NOOP,log:()=>dt.NOOP,warn:()=>dt.NOOP,error:()=>dt.NOOP,trace:()=>dt.NOOP,get:()=>mt,disabled:()=>mt};function ht(){return typeof window<`u`&&window.Logger||pt}const C=ht();function gt(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function _t(e,t=`|`){return e.map(e=>Lt(e)).join(t)}function vt(e,t){return typeof t==`bigint`?t.toString():t}var yt=class{constructor(e){this._getter=e,this._value=void 0}get value(){let e=this._getter;return e!==void 0&&(this._value=e(),this._getter=void 0),this._value}};function bt(e){return new yt(e)}function xt(e){return e==null}function St(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function Ct(e,t){let n=e/t,r=Math.round(n),i=4*2**-52*Math.max(Math.abs(n),1);return Math.abs(n-r)<i?0:n-r}function w(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function wt(e){let t=Object.getOwnPropertyDescriptor(e,`shape`);return t?.get?t.get.raw:t?.value}function T(e){return wt(e._zod.def)??e._zod.def.shape}function Tt(e,t,n){Object.defineProperty(e,t,{get(){let e=n();return w(this,t,e),e},enumerable:!0,configurable:!0})}function Et(e,t,n){t in e?w(e,t,n):e[t]=n}function E(e,t,n,r){let i=T(t);for(let a of n){let n=Object.getOwnPropertyDescriptor(i,a);n.enumerable&&(n.get?Tt(e,a,()=>{let e=t._zod.def.shape[a];return r?r(e,a):e}):Et(e,a,r?r(n.value,a):n.value))}}function Dt(e,t){for(let n of Reflect.ownKeys(t)){let r=Object.getOwnPropertyDescriptor(t,n);r.enumerable&&(r.get?Tt(e,n,()=>t[n]):Et(e,n,r.value))}}function D(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function Ot(e){return JSON.stringify(e)}function kt(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}const At=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function jt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}const Mt=bt(()=>{if(I.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function Nt(e){if(jt(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return jt(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function Pt(e){return Nt(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}const Ft=new Set([`string`,`number`,`symbol`]);function It(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function O(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function k(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function Lt(e){return typeof e==`bigint`?e.toString()+`n`:typeof e==`string`?`"${e}"`:`${e}`}function Rt(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout===`optional`)}const zt={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},Bt={int64:[BigInt(`-9223372036854775808`),BigInt(`9223372036854775807`)],uint64:[BigInt(0),BigInt(`18446744073709551615`)]};function Vt(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);let i={};return E(i,e,Ht(e,t)),O(e,D(n,{shape:i,checks:[]}))}function Ht(e,t){let n=T(e),r=[];for(let e of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(n,e)?.enumerable)throw Error(`Unrecognized key: "${String(e)}"`);t[e]&&r.push(e)}return r}function Ut(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);let i=new Set(Ht(e,t)),a={};return E(a,e,Reflect.ownKeys(T(e)).filter(e=>!i.has(e))),O(e,D(n,{shape:a,checks:[]}))}function Wt(e,t){if(!Nt(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=T(e);for(let e of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return O(e,D(e._zod.def,{shape:Gt(e,t)}))}function Gt(e,t){let n={};return E(n,e,Reflect.ownKeys(T(e))),Dt(n,t),n}function Kt(e,t){if(!Nt(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return O(e,D(e._zod.def,{shape:Gt(e,t)}))}function qt(e,t){if(!t?._zod?.def)throw Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);let n={};return E(n,e,Reflect.ownKeys(T(e))),E(n,t,Reflect.ownKeys(T(t))),O(e,D(e._zod.def,{shape:n,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function Jt(e,t,n,r=`partial`){let i=t._zod.def.checks;if(i&&i.length>0)throw Error(`.${r}() cannot be used on object schemas containing refinements`);let a=n?new Set(Ht(t,n)):void 0,o={};return E(o,t,Reflect.ownKeys(T(t)),e&&((t,n)=>a&&!a.has(n)?t:new e({type:`optional`,innerType:t}))),O(t,D(t._zod.def,{shape:o,checks:[]}))}function Yt(e,t,n){let r=n?new Set(Ht(t,n)):void 0,i={};return E(i,t,Reflect.ownKeys(T(t)),(t,n)=>r&&!r.has(n)?t:new e({type:`nonoptional`,innerType:t})),O(t,D(t._zod.def,{shape:i}))}function A(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Xt(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function Zt(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function Qt(e){return typeof e==`string`?e:e?.message}function $t(e,t,n){var r;for(let i=t;i<e.length;i++)(r=e[i]).schema??(r.schema=n)}function j(e,t,n){var r;let i=e.inst?._zod?.traits;i?.has(`$ZodType`)&&(i.has(`$ZodCheck`)?(r=e).schema??(r.schema=e.inst):e.schema=e.inst);let a=e.schema===e.inst?void 0:e.schema?._zod.def?.error,o=e.message?e.message:Qt(e.inst?._zod.def?.error?.(e))??Qt(a?.(e))??Qt(t?.error?.(e))??Qt(n.customError?.(e))??Qt(n.localeError?.(e))??`Invalid input`,s={};for(let t of Object.keys(e))t!==`inst`&&t!==`schema`&&t!==`continue`&&t!==`input`&&t!==`__proto__`&&(s[t]=e[t]);return s.path??=[],s.message=o,t?.reportInput&&(s.input=e.input),s}const en=/[\uD800-\uDBFF]/;function tn(e){let t=e.length;if(!en.test(e))return t;let n=t;for(let r=0;r<t-1;r++)(e.charCodeAt(r)&64512)==55296&&(e.charCodeAt(r+1)&64512)==56320&&(n--,r++);return n}function nn(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function rn(e){let t=typeof e;switch(t){case`number`:return Number.isNaN(e)?`nan`:`number`;case`object`:{if(e===null)return`null`;if(Array.isArray(e))return`array`;let t=e;if(t&&Object.getPrototypeOf(t)!==Object.prototype&&`constructor`in t&&t.constructor)return t.constructor.name}}return t}function an(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}function on(e,t){for(let n in t){let r=Object.getOwnPropertyDescriptor(t,n);r.get?Object.defineProperty(e,n,{...r,enumerable:!1}):ln(e,n,r.value)}}function M(e,t,n,r=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:r,value:n}),n}function sn(e,t,n){return M(e,t,n,!1)}function cn(e,t){for(let n in e){let r=e[n];Object.defineProperty(t,n,{configurable:!0,enumerable:!0,get(){return M(this,n,r(this))},set(e){M(this,n,e)}})}return t}function ln(e,t,n){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?n:M(this,t,n.bind(this))},set(e){M(this,t,e)}})}function un(e,t){let n=Object.getPrototypeOf(e);return t in n?void 0:n}let dn,fn=!1;const pn={configurable:!0,get(){fn=!0}};function N(e,t,n){let r=Object.getPrototypeOf(e._zod);if(t in r&&dn!==e._zod){dn=void 0;return}dn=e._zod,Object.defineProperty(r,t,{configurable:!0,get(){Object.defineProperty(this,t,pn);let e=fn;fn=!1;try{let r=n(this);return fn?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:r}),fn||=e,r}catch(n){throw delete this[t],fn||=e,n}},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})}function mn(e,t,n,r){let i=un(e,t);i&&Object.defineProperty(i,t,{configurable:!0,get(){let e={configurable:!0,writable:!0,enumerable:r,value:void 0};return Object.defineProperty(this,t,e),e.value=n(this),Object.defineProperty(this,t,e),e.value},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:r,value:e})}})}function hn(e){let t=()=>e;return t[`~constantCatch`]=!0,t}var gn;const _n={value:void 0,enumerable:!1};let vn=`captureStackTrace`in Error?Error:null;function yn(e){let t=vn;if(t){let n=t.stackTraceLimit;if(typeof n==`number`){try{t.stackTraceLimit=0}catch{return vn=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}function P(e,t,n,r){let i={};function a(e){this.def=e,this.constr=d,this.traits=new Set}a.prototype=i;let o=n,s=o&&new WeakSet;function c(n,r){if(!n._zod){_n.value=new a(r);try{Object.defineProperty(n,"_zod",_n)}finally{_n.value=void 0}}else if(n._zod.traits.has(e))return;if(n._zod.traits.add(e),t(n,r),s){let e=Object.getPrototypeOf(n),t=n._zod.constr.prototype,r=e;for(;r&&r!==t;)r=Object.getPrototypeOf(r);let i=r??e;s.has(i)||(s.add(i),on(i,o))}let i=d.prototype;for(let e in i)Object.prototype.hasOwnProperty.call(i,e)&&(e in n||(n[e]=i[e].bind(n)))}let l=r?.Parent??Object;class u extends l{}Object.defineProperty(u,"name",{value:e});function d(e){let t=r?.Parent?yn(u):this;c(t,e);let n=t._zod.deferred;if(n){for(let e of n)e();t._zod.deferred=void 0}let i=globalThis.__zod_globalConfig?.postProcessor;return i&&i(t),t}return Object.defineProperty(d,"init",{value:c}),Object.defineProperty(d,Symbol.hasInstance,{value:t=>r?.Parent&&t instanceof r.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(d,"name",{value:e}),d}var F=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},bn=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(gn=globalThis).__zod_globalConfig??(gn.__zod_globalConfig={});const I=globalThis.__zod_globalConfig;function L(e){return e&&Object.assign(I,e),I}function xn(){let e=this._zod;return e.message??=JSON.stringify(e.def,vt,2),e.message}function Sn(e){this._zod.message=e}const Cn={get:xn,set:Sn,enumerable:!0,configurable:!0},wn={value:void 0,enumerable:!1},Tn=new WeakSet([Object.prototype,Error.prototype]),En=(e,t)=>{e.name=`$ZodError`,wn.value=t,Object.defineProperty(e,"issues",wn),wn.value=void 0,Object.defineProperty(e,"message",Cn);let n=Object.getPrototypeOf(e);Tn.has(n)||(Tn.add(n),Object.defineProperty(n,"toString",{configurable:!0,enumerable:!1,get(){let e=()=>this.message;return Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0})}}))},Dn=P(`$ZodError`,En);P(`$ZodError`,En,void 0,{Parent:Error});function On(e,t,n){return Object.prototype.hasOwnProperty.call(e,t)||(t===`__proto__`?Object.defineProperty(e,t,{value:n(),writable:!0,enumerable:!0,configurable:!0}):e[t]=n()),e[t]}function kn(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?On(n,i.path[0],()=>[]).push(t(i)):r.push(t(i));return{formErrors:r,fieldErrors:n}}function An(e,t=e=>e.message){let n={_errors:[]},r=(e,i=[])=>{for(let a of e.issues)if(a.code===`invalid_union`&&a.errors.length)a.errors.map(e=>r({issues:e},[...i,...a.path]));else if(a.code===`invalid_key`)r({issues:a.issues},[...i,...a.path]);else if(a.code===`invalid_element`)r({issues:a.issues},[...i,...a.path]);else{let e=[...i,...a.path];if(e.length===0)n._errors.push(t(a));else{let r=n,i=0;for(;i<e.length;){let n=e[i],o=i===e.length-1;if(n===`_errors`){o&&r._errors.push(t(a)),i++;continue}Object.prototype.hasOwnProperty.call(r,n)||Object.defineProperty(r,n,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let s=r[n];o&&s._errors.push(t(a)),r=s,i++}}}};return r(e),n}function jn(e,t){return{callee:t?.callee??e,Err:t?.Err}}const Mn=e=>{let t=(n,r,i,a)=>{let o=i?{...i,async:!1}:{async:!1},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new F;if(s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>j(e,o,L())));throw At(n,a?.callee??t),n}return s.value};return t},Nn=e=>{let t=async(n,r,i,a)=>{let o=i?{...i,async:!0}:{async:!0},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>j(e,o,L())));throw At(n,a?.callee??t),n}return s.value};return t},Pn=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new F;return a.issues.length?Fn(e,a.issues,i):{success:!0,data:a.value}};function Fn(e,t,n){let r;return{success:!1,get error(){return r||(r=new e(t.map(e=>j(e,n,L()))),t=void 0,n=void 0),r},set error(e){r=e,t=void 0,n=void 0}}}const In=e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?Fn(e,a.issues,i):{success:!0,data:a.value}},Ln=Symbol.for(`zod.compile.invalid`),Rn=Symbol.for(`zod.compile.fallback`),zn=((e,t,n)=>{let r=e._zod.bag.validator;if(r!==void 0){if(r(t)!==Ln)return!0;if(r.definite===!0&&n===void 0)return!1}return Bn(e,t,n)});function Bn(e,t,n){let r=n?{...n,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},i=e._zod.bag.fallbackRun,a;if(i?(r[Rn]=!0,a=i({value:t,issues:[]},r)):a=e._zod.run({value:t,issues:[]},r),a instanceof Promise)throw new F;return a.issues.length===0}const Vn=async(e,t,n)=>{let r=n?{...n,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0},i=e._zod.run({value:t,issues:[]},r);return i instanceof Promise&&(i=await i),i.issues.length===0},Hn=e=>{let t=Mn(e),n=(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return t(e,r,o,jn(n,a))};return n},Un=e=>{let t=Mn(e),n=(e,r,i,a)=>t(e,r,i,jn(n,a));return n},Wn=e=>{let t=Nn(e),n=async(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return await t(e,r,o,jn(n,a))};return n},Gn=e=>{let t=Nn(e),n=async(e,r,i,a)=>await t(e,r,i,jn(n,a));return n},Kn=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Pn(e)(t,n,i)},qn=e=>(t,n,r)=>Pn(e)(t,n,r),Jn=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return In(e)(t,n,i)},Yn=e=>async(t,n,r)=>In(e)(t,n,r),Xn=/^[cC][0-9a-z]{6,}$/,Zn=/^[0-9a-z]+$/,Qn=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,$n=/^[0-9a-vA-V]{20}$/,er=/^[A-Za-z0-9]{27}$/,tr=/^[a-zA-Z0-9_-]{21}$/;function nr(e){return RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}const rr=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,ir=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,ar=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,or=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;function sr(){return RegExp(`^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$`,`u`)}const cr=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,lr=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,ur=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,dr=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,fr=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,pr=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/,mr=/^https?$/,hr=/^\+[1-9]\d{6,14}$/,gr=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`;function _r(e){return RegExp(`^${e}$`)}const vr=_r(gr);function yr(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:e.seconds?`${t}:[0-5]\\d(?:\\.\\d+)?`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function br(e){return RegExp(`^${yr(e)}$`)}function xr(e){let t=[`Z`];e.offset&&t.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let n=`${yr({precision:e.precision,seconds:!0})}(?:${t.join(`|`)})`,r=e.local?`${n}|${yr({precision:e.precision})}`:n;return RegExp(`^${gr}T(?:${r})$`)}const Sr=/^[\s\S]{0,}$/,Cr=/^-?\d+$/,wr=/^-?\d+(?:\.\d+)?$/,Tr=/^(?:true|false)$/i,Er=/^[^A-Z]*$/,Dr=/^[^a-z]*$/,R=P(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Or=e=>{let t=e.value;return!xt(t)&&t.length!==void 0},kr={number:`number`,bigint:`bigint`,object:`date`},Ar=P(`$ZodCheckLessThan`,(e,t)=>{R.init(e,t);let n=kr[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:kr[typeof r.value]??n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),jr=P(`$ZodCheckGreaterThan`,(e,t)=>{R.init(e,t);let n=kr[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:kr[typeof r.value]??n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Mr=P(`$ZodCheckMultipleOf`,(e,t)=>{R.init(e,t),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?t.value!==BigInt(0)&&n.value%t.value===BigInt(0):Ct(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Nr=P(`$ZodCheckNumberFormat`,(e,t)=>{R.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=zt[t.format];e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),Pr=P(`$ZodCheckMaxLength`,(e,t)=>{var n;R.init(e,t),(n=e._zod.def).when??(n.when=Or),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>t.maximum?tn(r):i)<=t.maximum)return;let a=nn(r);n.issues.push({origin:a,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Fr=P(`$ZodCheckMinLength`,(e,t)=>{var n;R.init(e,t),(n=e._zod.def).when??(n.when=Or),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>=t.minimum&&i<t.minimum*2?tn(r):i)>=t.minimum)return;let a=nn(r);n.issues.push({origin:a,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Ir=P(`$ZodCheckLengthEquals`,(e,t)=>{var n;R.init(e,t),(n=e._zod.def).when??(n.when=Or),e._zod.check=n=>{let r=n.value,i=r.length,a=typeof r==`string`&&i>=t.length&&i<=t.length*2?tn(r):i;if(a===t.length)return;let o=nn(r),s=a>t.length;n.issues.push({origin:o,...s?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Lr=P(`$ZodCheckStringFormat`,(e,t)=>{var n,r;R.init(e,t),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),Rr=P(`$ZodCheckRegex`,(e,t)=>{Lr.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),zr=P(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=Er,Lr.init(e,t)}),Br=P(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=Dr,Lr.init(e,t)}),Vr=P(`$ZodCheckIncludes`,(e,t)=>{R.init(e,t);let n=It(t.includes);t.pattern=new RegExp(typeof t.position==`number`?`^.{${t.position},}${n}`:n),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),Hr=P(`$ZodCheckStartsWith`,(e,t)=>{R.init(e,t);let n=RegExp(`^${It(t.prefix)}.*`);t.pattern??=n,e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Ur=P(`$ZodCheckEndsWith`,(e,t)=>{R.init(e,t);let n=RegExp(`.*${It(t.suffix)}$`);t.pattern??=n,e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),Wr=P(`$ZodCheckOverwrite`,(e,t)=>{R.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}});var Gr=class{constructor(e=[],t={}){this.content=[],this.indent=0,this.args=e,this.closed=t}indented(e){this.indent+=1;try{e(this)}finally{--this.indent}}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
4
- `).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.content??[``];return new e(...Object.keys(this.closed),`return function (${this.args.join(`, `)}) {\n${t.join(`
5
- `)}\n};`)(...Object.values(this.closed))}};const Kr={major:4,minor:6,patch:5},z=P(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Kr;let r=e._zod.def.checks,i=e._zod.traits.has(`$ZodCheck`)?[e,...r??[]]:r?.length?[...r]:[];for(let t of i)for(let n of t._zod.onattach)n(e);if(i.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(t,n,r)=>{if(t.memo)return t;let i=A(t),a;for(let o of n){if(o._zod.def.when){if(Xt(t)||!o._zod.def.when(t))continue}else if(i)continue;let n=t.issues.length,s=o._zod.check(t);if(s instanceof Promise&&r?.async===!1)throw new F;if(a||s instanceof Promise)a=(a??Promise.resolve()).then(async()=>{await s,t.issues.length!==n&&($t(t.issues,n,e),i||=A(t,n))});else{if(t.issues.length===n)continue;$t(t.issues,n,e),i||=A(t,n)}}return a?a.then(()=>t):t},n=(n,r,a)=>{if(A(n))return n.aborted=!0,n;let o=t(r,i,a);if(o instanceof Promise){if(a.async===!1)throw new F;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(r,a)=>{if(a.skipChecks)return e._zod.parse(r,a);if(a.direction===`backward`){let t=e._zod.parse({value:r.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,r,a)):n(t,r,a)}let o=e._zod.parse(r,a);if(o instanceof Promise){if(a.async===!1)throw new F;return o.then(e=>t(e,i,a))}return t(o,i,a)}}},{get"~standard"(){return sn(this,`~standard`,Yr(this))},set"~standard"(e){M(this,`~standard`,e)}}),qr=(e,t)=>e.issues.length?{issues:e.issues.map(e=>j(e,t,L()))}:{value:e.value};async function Jr(e,t){let n={async:!0};return qr(await e._zod.run({value:t,issues:[]},n),n)}function Yr(e){return{validate:t=>{let n={async:!1};try{let r=e._zod.run({value:t,issues:[]},n);if(!(r instanceof Promise))return qr(r,n)}catch{}return Jr(e,t)},vendor:`zod`,version:1}}const Xr=P(`$ZodString`,(e,t)=>{z.init(e,t),e._zod.pattern=t.pattern??Sr,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),B=P(`$ZodStringFormat`,(e,t)=>{Lr.init(e,t),Xr.init(e,t)}),Zr=P(`$ZodGUID`,(e,t)=>{t.pattern??=ir,B.init(e,t)}),Qr=P(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=ar(e)}else t.pattern??=ar();B.init(e,t)}),$r=P(`$ZodEmail`,(e,t)=>{t.pattern??=or,B.init(e,t)});function ei(e){try{return typeof URL<`u`&&typeof URL.canParse==`function`?URL.canParse(e):(new URL(e),!0)}catch{return!1}}function ti(e,t){return!(`normalize`in t)&&!(`hostname`in t)&&!(`protocol`in t)?ei(e)||2:ni(e,t)}function ni(e,t){if(!t.normalize&&t.protocol?.source===mr.source&&!/^https?:\/\//i.test(e))return 1;try{if(typeof URL<`u`){let t=URL;if(typeof t.parse==`function`)return t.parse(e)??2}return new URL(e)}catch{return 2}}const ri=/[\t\n\r]/g;function ii(e){return e.replace(ri,``)}function ai(e,t){return t.lastIndex=0,t.test(e.hostname)}function oi(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(`:`)?e.protocol.slice(0,-1):e.protocol)}const si=P(`$ZodURL`,(e,t)=>{B.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=ti(r,t);if(i===1){n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid URL format`,input:n.value,inst:e,continue:!t.abort});return}if(i===2){n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort});return}if(i===!0){n.value=ii(r);return}t.hostname&&!ai(i,t.hostname)&&n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid hostname`,pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort}),t.protocol&&!oi(i,t.protocol)&&n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort}),n.value=t.normalize?i.href:ii(r);return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),ci=P(`$ZodEmoji`,(e,t)=>{t.pattern??=sr(),B.init(e,t)}),li=P(`$ZodNanoID`,(e,t)=>{if(t.length!==void 0&&(!Number.isInteger(t.length)||t.length<1))throw Error(`Invalid nanoid length: ${t.length}`);t.pattern??=t.length===void 0?tr:nr(t.length),B.init(e,t)}),ui=P(`$ZodCUID`,(e,t)=>{t.pattern??=Xn,B.init(e,t)}),di=P(`$ZodCUID2`,(e,t)=>{t.pattern??=Zn,B.init(e,t)}),fi=P(`$ZodULID`,(e,t)=>{t.pattern??=Qn,B.init(e,t)}),pi=P(`$ZodXID`,(e,t)=>{t.pattern??=$n,B.init(e,t)}),mi=P(`$ZodKSUID`,(e,t)=>{t.pattern??=er,B.init(e,t)}),hi=P(`$ZodISODateTime`,(e,t)=>{t.pattern??=xr(t),B.init(e,t)}),gi=P(`$ZodISODate`,(e,t)=>{t.pattern??=vr,B.init(e,t)}),_i=P(`$ZodISOTime`,(e,t)=>{t.pattern??=br(t),B.init(e,t)}),vi=P(`$ZodISODuration`,(e,t)=>{t.pattern??=rr,B.init(e,t)}),yi=P(`$ZodIPv4`,(e,t)=>{t.pattern??=cr,B.init(e,t)}),bi=/^[0-9a-fA-F:.]+$/;function xi(e){return bi.test(e)?ei(`http://[${e}]`):!1}const Si=P(`$ZodIPv6`,(e,t)=>{t.pattern??=lr,B.init(e,t),e._zod.check=n=>{xi(n.value)||n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}),Ci=P(`$ZodCIDRv4`,(e,t)=>{t.pattern??=ur,B.init(e,t)});function wi(e){let t=e.split(`/`);if(t.length!==2)return!1;let[n,r]=t;if(!r)return!1;let i=Number(r);return`${i}`!==r||i<0||i>128?!1:xi(n)}const Ti=P(`$ZodCIDRv6`,(e,t)=>{t.pattern??=dr,B.init(e,t),e._zod.check=n=>{wi(n.value)||n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}});function Ei(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}const Di=/^[0-9a-zA-Z+/]*={0,2}$/,Oi=P(`$ZodBase64`,(e,t)=>{t.pattern??=Di,B.init(e,t),e._zod.check=n=>{Ei(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}}),ki=/^[A-Za-z0-9_-]*$/;function Ai(e){if(!ki.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return Ei(t.padEnd(Math.ceil(t.length/4)*4,`=`))}const ji=P(`$ZodBase64URL`,(e,t)=>{t.pattern??=ki,B.init(e,t),e._zod.check=n=>{Ai(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),Mi=P(`$ZodE164`,(e,t)=>{t.pattern??=hr,B.init(e,t)});function Ni(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}const Pi=P(`$ZodJWT`,(e,t)=>{B.init(e,t),e._zod.check=n=>{Ni(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),Fi=P(`$ZodNumber`,(e,t)=>{z.init(e,t),e._zod.pattern=wr,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:String(i):void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),Ii=P(`$ZodNumberFormat`,(e,t)=>{Nr.init(e,t),Fi.init(e,t)}),Li=P(`$ZodBoolean`,(e,t)=>{z.init(e,t),e._zod.pattern=Tr,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),Ri=P(`$ZodUnknown`,(e,t)=>{z.init(e,t),e._zod.parse=e=>e}),zi=P(`$ZodNever`,(e,t)=>{z.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function Bi(e,t,n){e.issues.length&&t.issues.push(...Zt(n,e.issues)),t.value[n]=e.value}const Vi=P(`$ZodArray`,(e,t)=>{z.init(e,t);let n=I.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!Array.isArray(a))return r.issues.push({expected:`array`,code:`invalid_type`,input:a,inst:e}),r;r.value=n?n.alloc(e,r,Array(a.length),i):Array(a.length);let o=[],s=i?.abortEarly;for(let e=0;e<a.length;e++){let n=a[e],c=t.element._zod.run({value:n,issues:[]},i);if(c instanceof Promise)o.push(c.then(t=>Bi(t,r,e)));else if(Bi(c,r,e),s&&c.issues.length!==0&&A(c))break}return o.length?Promise.all(o).then(()=>r):r}});function Hi(e,t,n,r,i,a){let o=n in r,s=a===`optional`;if(!(!o&&s&&i===`optional`)){if(e.issues.length){if(i!==void 0&&s&&!o)return;t.issues.push(...Zt(n,e.issues))}if(!o&&i===void 0){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?(o||i===`defaulted`&&!s)&&(t.value[n]=void 0):t.value[n]=e.value}}const Ui=[];function Wi(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:Ui,i=r.length?[...t,...r]:t;for(let t of i)if(!e.shape?.[t]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${String(t)}": expected a Zod schema`);let a=Rt(e.shape);return{...e,allKeys:i,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(a)}}function Gi(e,t,n,r,i,a,o){let s=[],c=i.keySet,l=i.catchall._zod,u=l.def.type,d=l.optin,f=l.optout,p=0;for(let i in t){if(o&&n.issues.length!==p){if(A(n,p))break;p=n.issues.length}if(c.has(i))continue;if(i===`__proto__`){u===`never`&&s.push(i);continue}if(u===`never`){s.push(i);continue}let a=l.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>Hi(e,n,i,t,d,f))):Hi(a,n,i,t,d,f)}return s.length&&n.issues.push({code:`unrecognized_keys`,keys:s,input:t,inst:a,continue:!0}),e.length?Promise.all(e).then(()=>n):n}const Ki=P(`$ZodObject`,(e,t)=>{z.init(e,t);let n=Object.getOwnPropertyDescriptor(t,`shape`),r=n?.get?n.get.raw:t.shape??{};if(r){let e=()=>{let n={...r};return Object.defineProperty(t,"shape",{value:n}),e.raw=n,n};e.raw=r,Object.defineProperty(t,"shape",{get:e})}let i=bt(()=>Wi(t));N(e,`propValues`,e=>{let t=e.def.shape,n={};for(let e in t){let r=t[e]._zod;if(r.values){Object.prototype.hasOwnProperty.call(n,e)||w(n,e,new Set);for(let t of r.values)n[e].add(t);r.optin!==void 0&&n[e].add(void 0)}}return n});let a=jt,o=t.catchall,s,c=I.memoizer;c?.attach(e),e._zod.parse=(t,n)=>{s??=i.value;let r=t.value;if(!a(r))return t.issues.push({expected:`object`,code:`invalid_type`,input:r,inst:e}),t;t.value=c?c.alloc(e,t,{},n):{};let l=[],u=s.shape,d=n?.abortEarly,f=t.issues.length;for(let e of s.allKeys){if(d&&t.issues.length!==f){if(A(t,f))break;f=t.issues.length}if(e===`__proto__`)continue;let i=u[e],a=i._zod.optin,o=i._zod.optout,s=i._zod.run({value:r[e],issues:[]},n);s instanceof Promise?l.push(s.then(n=>Hi(n,t,e,r,a,o))):Hi(s,t,e,r,a,o)}return o?Gi(l,r,t,n,i.value,e,d===!0):l.length?Promise.all(l).then(()=>t):t}}),qi=P(`$ZodObjectJIT`,(e,t)=>{Ki.init(e,t);let n=e._zod.parse,r=bt(()=>Wi(t)),i=I.memoizer,a=t=>{let n=r.value,a=n.symbolKeys,o=new Gr([`payload`,`ctx`],{shape:t,inst:e,memo:i,syms:a}),s=e=>`shape[${e}]._zod.run({ value: input[${e}], issues: [] }, ctx)`,c=(e,t)=>`
6
- let ${e}_ab = false;
7
- for (let i = 0; i < ${e}.issues.length; i++) {
8
- const iss = ${e}.issues[i];
9
- iss.path = iss.path ? [${t}, ...iss.path] : [${t}];
10
- payload.issues.push(iss);
11
- if (iss.continue !== true) ${e}_ab = true;
12
- }
13
- if (${e}_ab && ctx && ctx.abortEarly) {
14
- payload.value = newResult;
15
- return payload;
16
- }`;o.write(`const input = payload.value;`);let l=Object.create(null),u=0;for(let e of n.allKeys)l[e]=`key_${u++}`;o.write(i?`const newResult = memo.alloc(inst, payload, {}, ctx);`:`const newResult = {};`);for(let e of n.allKeys){if(e===`__proto__`)continue;let n=l[e],r=typeof e==`symbol`?`syms[${a.indexOf(e)}]`:Ot(e),i=`${r} in input`,u=t[e],d=u?._zod?.optin,f=d!==void 0,p=u?._zod?.optout===`optional`;if(o.write(`const ${n} = ${s(r)};`),f&&p){let e=d===`optional`?`${n}_present`:`${n}.value !== undefined || ${n}_present`;o.write(`
17
- const ${n}_present = ${i};
18
- if (!${n}.issues.length || ${n}_present) {
19
- if (${n}.issues.length) {${c(n,r)}
20
- }
21
-
22
- if (${e}) {
23
- newResult[${r}] = ${n}.value;
24
- }
25
- }
26
-
27
- `)}else f?(o.write(`
28
- if (${n}.issues.length) {${c(n,r)}
29
- }
30
- `),d===`defaulted`?o.write(`newResult[${r}] = ${n}.value;`):o.write(`
31
- if (${n}.value !== undefined || ${i}) {
32
- newResult[${r}] = ${n}.value;
33
- }
34
- `)):o.write(`
35
- const ${n}_present = ${i};
36
- if (${n}.issues.length) {${c(n,r)}
37
- }
38
- if (!${n}_present && !${n}.issues.length) {
39
- payload.issues.push({
40
- code: "invalid_type",
41
- expected: "nonoptional",
42
- input: undefined,
43
- path: [${r}]
44
- });
45
- if (ctx && ctx.abortEarly) {
46
- payload.value = newResult;
47
- return payload;
48
- }
49
- }
50
-
51
- if (${n}_present) {
52
- newResult[${r}] = ${n}.value;
53
- }
54
-
55
- `)}return o.write(`payload.value = newResult;`),o.write(`return payload;`),o.compile()},o,s=jt,c=!I.jitless,l=c&&Mt.value,u=t.catchall,d;e._zod.parse=(i,f)=>{d??=r.value;let p=i.value;return s(p)?c&&l&&f?.async===!1&&f.jitless!==!0?(o||=a(t.shape),i=o(i,f),u?Gi([],p,i,f,d,e,f?.abortEarly===!0):i):n(i,f):(i.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),i)}});function Ji(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!A(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>j(e,r,L())))}),t)}const Yi=P(`$ZodUnion`,(e,t)=>{z.init(e,t),N(e,`optin`,e=>e.def.options.some(e=>e._zod.optin===`defaulted`)?`defaulted`:e.def.options.some(e=>e._zod.optin!==void 0)?`optional`:void 0),N(e,`optout`,e=>e.def.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),N(e,`values`,e=>{if(e.def.options.every(e=>e._zod.values))return new Set(e.def.options.flatMap(e=>Array.from(e._zod.values)))}),N(e,`pattern`,e=>{if(e.def.options.every(e=>e._zod.pattern)){let t=e.def.options.map(e=>e._zod.pattern);return RegExp(`^(${t.map(e=>St(e.source)).join(`|`)})$`)}});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let a=!1,o=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);if(t instanceof Promise)o.push(t),a=!0;else{if(t.issues.length===0)return t;o.push(t)}}return a?Promise.all(o).then(t=>Ji(t,r,e,i)):Ji(o,r,e,i)}}),Xi=P(`$ZodIntersection`,(e,t)=>{z.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>Qi(e,t,n)):Qi(e,i,a)}});function Zi(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Nt(e)&&Nt(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};Object.prototype.hasOwnProperty.call(i,`__proto__`)&&delete i.__proto__;for(let n of r){if(n===`__proto__`)continue;let r=Zi(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=Zi(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Qi(e,t,n){let r=new Map,i,a=new Map,o=(e,t)=>{let n;if(e.code===`unrecognized_keys`&&!e.path?.length)i??=e,n=e.keys;else if(e.code===`invalid_key`&&e.origin===`record`&&e.path?.length===1){let t=String(e.path[0]);a.has(t)||a.set(t,e),n=[t]}else return!1;for(let e of n)r.has(e)||r.set(e,{}),r.get(e)[t]=!0;return!0};for(let n of t.issues)o(n,`l`)||e.issues.push(n);for(let t of n.issues)o(t,`r`)||e.issues.push(t);let s=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(s.length){let t=i?s.filter(e=>i.keys.includes(e)):[];t.length&&e.issues.push({...i,keys:t});for(let n of s)!t.includes(n)&&a.has(n)&&e.issues.push(a.get(n))}let c=Zi(t.value,n.value);if(!c.valid){if(A(e))return e;throw Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`)}return e.value=c.data,e}const $i=P(`$ZodRecord`,(e,t)=>{z.init(e,t);let n=I.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!Nt(a))return r.issues.push({expected:`record`,code:`invalid_type`,input:a,inst:e}),r;let o=[],s=t.keyType._zod.values;if(s&&!t.partial){r.value=n?n.alloc(e,r,{},i):{};let c=new Set;for(let n of s)if(typeof n==`string`||typeof n==`number`||typeof n==`symbol`){if(c.add(typeof n==`number`?n.toString():n),n===`__proto__`)continue;let s=t.keyType._zod.run({value:n,issues:[]},i);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(s.issues.length){r.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>j(e,i,L())),input:n,path:[n],inst:e});continue}let l=s.value;if(l===`__proto__`)continue;let u=t.valueType._zod.run({value:a[n],issues:[]},i);u instanceof Promise?o.push(u.then(e=>{e.issues.length&&r.issues.push(...Zt(n,e.issues)),r.value[l]=e.value})):(u.issues.length&&r.issues.push(...Zt(n,u.issues)),r.value[l]=u.value)}let l;for(let e in a)if(!c.has(e)){if(t.mode===`loose`){if(e===`__proto__`)continue;r.value[e]=a[e]}else l??=[],l.push(e)}l&&l.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:l,continue:!0})}else{r.value=n?n.alloc(e,r,{},i):{};let c;for(let n of Reflect.ownKeys(a)){if(n===`__proto__`||!Object.prototype.propertyIsEnumerable.call(a,n))continue;let l=t.keyType._zod.run({value:n,issues:[]},i);if(l instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof n==`string`&&wr.test(n)&&l.issues.length){let e=t.keyType._zod.run({value:Number(n),issues:[]},i);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(l=e)}if(l.issues.length){t.mode===`loose`?r.value[n]=a[n]:s?(c??=[],c.push(n)):r.issues.push({code:`invalid_key`,origin:`record`,issues:l.issues.map(e=>j(e,i,L())),input:n,path:[n],inst:e});continue}let u=l.value;if(u===`__proto__`)continue;let d=t.valueType._zod.run({value:a[n],issues:[]},i);d instanceof Promise?o.push(d.then(e=>{e.issues.length&&r.issues.push(...Zt(n,e.issues)),r.value[u]=e.value})):(d.issues.length&&r.issues.push(...Zt(n,d.issues)),r.value[u]=d.value)}c&&c.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:c,continue:!0})}return o.length?Promise.all(o).then(()=>r):r}}),ea=P(`$ZodEnum`,(e,t)=>{z.init(e,t);let n=gt(t.entries),r=new Set(n);e._zod.values=r,N(e,`pattern`,e=>{let t=gt(e.def.entries).filter(e=>Ft.has(typeof e));return RegExp(t.length?`^(${t.map(e=>It(e.toString())).join(`|`)})$`:`^[^\\s\\S]$`)}),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),ta=P(`$ZodTransform`,(e,t)=>{z.init(e,t),e._zod.optin=`optional`,I.memoizer?.guard(e),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new bn(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n));if(i instanceof Promise)throw new F;return n.value=i,n}});function na(e,t){return e.value=t.issues.length?void 0:t.value,e}const ra=P(`$ZodOptional`,(e,t)=>{z.init(e,t),N(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),e._zod.optout=`optional`,N(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t,void 0]):void 0}),N(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${St(t.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(e.value===void 0){if(t.innerType._zod.optin!==`defaulted`)return e;let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(t=>na(e,t)):na(e,r)}return t.innerType._zod.run(e,n)}}),ia=P(`$ZodExactOptional`,(e,t)=>{ra.init(e,t),N(e,`values`,e=>e.def.innerType._zod.values),N(e,`pattern`,e=>e.def.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),aa=P(`$ZodNullable`,(e,t)=>{z.init(e,t),N(e,`optin`,e=>e.def.innerType._zod.optin),N(e,`optout`,e=>e.def.innerType._zod.optout),N(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${St(t.source)}|null)$`):void 0}),N(e,`values`,e=>e.def.innerType._zod.values?new Set([...e.def.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),oa=P(`$ZodDefault`,(e,t)=>{z.init(e,t),e._zod.optin=`defaulted`,N(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>sa(e,t)):sa(r,t)}});function sa(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const ca=P(`$ZodPrefault`,(e,t)=>{z.init(e,t),e._zod.optin=`defaulted`,N(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),la=P(`$ZodNonOptional`,(e,t)=>{z.init(e,t),N(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>ua(t,e)):ua(i,e)}});function ua(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}function da(e,t,n,r){return t.issues.length?(e.value=n.catchValue({...t,value:e.value,error:{issues:t.issues.map(e=>j(e,r,L()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}const fa=P(`$ZodCatch`,(e,t)=>{z.init(e,t),N(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),N(e,`optout`,e=>e.def.innerType._zod.optout),N(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(r=>da(e,r,t,n)):da(e,r,t,n)}}),pa=P(`$ZodPipe`,(e,t)=>{z.init(e,t),N(e,`values`,e=>e.def.in._zod.values),N(e,`optin`,e=>e.def.in._zod.optin),N(e,`optout`,e=>e.def.out._zod.optout),N(e,`propValues`,e=>e.def.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>ma(e,t.in,n)):ma(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>ma(e,t.out,n)):ma(r,t.out,n)}});function ma(e,t,n){return e.issues.some(e=>e.code!==`unrecognized_keys`)?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}const ha=P(`$ZodReadonly`,(e,t)=>{z.init(e,t),N(e,`propValues`,e=>e.def.innerType._zod.propValues),N(e,`values`,e=>e.def.innerType._zod.values),N(e,`optin`,e=>e.def.innerType?._zod?.optin),N(e,`optout`,e=>e.def.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(ga):ga(r)}});function ga(e){return e.memo||(e.value=Object.freeze(e.value)),e}const _a=P(`$ZodCustom`,(e,t)=>{R.init(e,t),z.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>va(t,n,r,e));va(i,n,r,e)}});function va(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(an(e))}}var ya=class extends Error{constructor(){super(`Cannot parse a reference cycle that closes through a transform`),this.name=`ZodCyclicError`}};const ba=`~memo`,xa=[];function Sa(e){return typeof e==`object`&&!!e}function Ca(e){return e.map(e=>e.path?{...e,path:e.path.slice()}:{...e})}const wa=new WeakMap;function Ta(e,t,n){let r=wa.get(e);if(r!==void 0)return r?2:0;if(t.has(e))return 2;t.add(e);let i=0,a=e=>{if(i!==2&&e?._zod){let r=Ta(e,t,n);r>i&&(i=r)}},o=(e,r)=>{let i=0;for(let a of Reflect.ownKeys(e)){let o=Object.getOwnPropertyDescriptor(e,a);if(r&&!o.enumerable)continue;let s=o.get?1:o.value?._zod?Ta(o.value,t,n):0;s>i&&(i=s)}return i},s=e=>{e>i&&(i=e)},c=e._zod.def;switch(c.type){case`object`:{let e=wt(c);s(e?o(e,!0):1),a(c.catchall);break}case`array`:a(c.element);break;case`tuple`:for(let e of c.items)a(e);a(c.rest);break;case`record`:case`map`:a(c.keyType),a(c.valueType);break;case`set`:a(c.valueType);break;case`union`:for(let e of c.options)a(e);break;case`intersection`:a(c.left),a(c.right);break;case`optional`:case`nullable`:case`default`:case`prefault`:case`catch`:case`readonly`:case`nonoptional`:case`promise`:case`success`:a(c.innerType);break;case`pipe`:a(c.in),a(c.out);break;case`function`:a(c.input),a(c.output);break;case`lazy`:{let r=c._cachedInner??(n?e._zod.innerType:void 0);s(r?Ta(r,t,!1):1);break}case`template_literal`:case`string`:case`number`:case`int`:case`boolean`:case`bigint`:case`symbol`:case`undefined`:case`null`:case`void`:case`never`:case`any`:case`unknown`:case`date`:case`nan`:case`enum`:case`literal`:case`file`:case`transform`:case`custom`:break;default:for(let e in c){let t=Object.getOwnPropertyDescriptor(c,e);if(!t||t.get)continue;let n=t.value;if(!(!n||typeof n!=`object`)){if(n._zod)a(n);else if(Array.isArray(n))for(let e of n)a(e)}}}return t.delete(e),Ea(e,i)}function Ea(e,t){return t!==1&&wa.set(e,t===2),t}function Da(e,t){let n=e.buckets.get(t);return n||(n=new WeakMap,e.buckets.set(t,n)),n}let Oa;const ka=[],Aa={alloc(e,t,n){let r=Oa;if(!r)return n;Oa=void 0;let i={value:n,issues:null};return r.set(t.value,i),ka.push(i),n},guard(e){var t;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,n=(e,n)=>{if(n.direction!==`backward`&&Ma(n,e.value))throw new ya;return t(e,n)};e._zod.parse=n,e._zod.run===t&&(e._zod.run=n)})},attach(e){var t;let n,r=!1,i,a;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,o=(s,c)=>{if(n===void 0){let i=Ta(e,new Set,!1);if(i===0)return e._zod.parse=t,e._zod.run===o&&(e._zod.run=t),t(s,c);i===2||r?n=!0:r=!0}let l=s.value;if(!Sa(l))return t(s,c);let u=c[ba];u||(u={buckets:new WeakMap,backEdges:void 0},c[ba]=u);let d;i===c?d=a:(d=Da(u,e),i=c,a=d);let f=d.get(l);if(f)return s.value=f.value,f.issues?f.issues.length&&s.issues.push(...Ca(f.issues)):(s.memo=!0,u.backEdges??(u.backEdges=new WeakSet),u.backEdges.add(f.value)),s;Oa=d;let p=ka.length,m=t(s,c);Oa=void 0;let h=ka.length>p?ka.pop():void 0;return m instanceof Promise?m.then(e=>(h&&(h.issues=e.issues.length?Ca(e.issues):xa),e)):(h&&(h.issues=m.issues.length?Ca(m.issues):xa),m)};e._zod.parse=o,e._zod.run===t&&(e._zod.run=o)})}};function ja(){return Aa}function Ma(e,t){let n=e[ba]?.backEdges;return n!==void 0&&Sa(t)&&n.has(t)}const Na=()=>{let e={string:{unit:`characters`,verb:`to have`},file:{unit:`bytes`,verb:`to have`},array:{unit:`items`,verb:`to have`},set:{unit:`items`,verb:`to have`},map:{unit:`entries`,verb:`to have`}};function t(t){return e[t]??null}let n={regex:`input`,email:`email address`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO datetime`,date:`ISO date`,time:`ISO time`,duration:`ISO duration`,ipv4:`IPv4 address`,ipv6:`IPv6 address`,mac:`MAC address`,cidrv4:`IPv4 range`,cidrv6:`IPv6 range`,base64:`base64-encoded string`,base64url:`base64url-encoded string`,json_string:`JSON string`,e164:`E.164 number`,currency_code:`currency code`,credit_card:`credit card number`,iban:`IBAN`,jwt:`JWT`,template_literal:`input`},r={nan:`NaN`};function i(e,t){return e===`number`&&typeof t==`number`&&!Number.isFinite(t)?String(t):r[e]??e}return e=>{switch(e.code){case`invalid_type`:return`Invalid input: expected ${i(e.expected)}, received ${i(rn(e.input),e.input)}`;case`invalid_value`:return e.values.length===1?`Invalid input: expected ${Lt(e.values[0])}`:`Invalid option: expected one of ${_t(e.values,`|`)}`;case`too_big`:{let n=e.exact?`exactly `:e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Too big: expected ${e.origin??`value`} to have ${n}${e.maximum.toString()} ${r.unit??`elements`}`:`Too big: expected ${e.origin??`value`} to be ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.exact?`exactly `:e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Too small: expected ${e.origin} to have ${n}${e.minimum.toString()} ${r.unit}`:`Too small: expected ${e.origin} to be ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Invalid string: must start with "${t.prefix}"`:t.format===`ends_with`?`Invalid string: must end with "${t.suffix}"`:t.format===`includes`?`Invalid string: must include "${t.includes}"`:t.format===`regex`?`Invalid string: must match pattern ${t.pattern}`:`Invalid ${n[t.format]??e.format}`}case`not_multiple_of`:return`Invalid number: must be a multiple of ${e.divisor}`;case`unrecognized_keys`:return`Unrecognized key${e.keys.length>1?`s`:``}: ${_t(e.keys,`, `)}`;case`invalid_key`:return`Invalid key in ${e.origin}`;case`invalid_union`:return e.options&&Array.isArray(e.options)&&e.options.length>0?`Invalid discriminator value. Expected ${e.options.map(e=>`'${e}'`).join(` | `)}`:e.inclusive===!1?`Invalid input: more than one option matched`:`Invalid input`;case`invalid_element`:return`Invalid value in ${e.origin}`;default:return`Invalid input`}}};function Pa(){return{localeError:Na()}}var Fa,Ia=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function La(){return new Ia}(Fa=globalThis).__zod_globalRegistry??(Fa.__zod_globalRegistry=La());const Ra=globalThis.__zod_globalRegistry;function za(e){return e.checks&&=[...e.checks],e}function Ba(e,t){return new e(za({type:`string`,...k(t)}))}function Va(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...k(t)})}function Ha(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...k(t)})}function Ua(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...k(t)})}function Wa(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...k(t)})}function Ga(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...k(t)})}function Ka(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...k(t)})}function qa(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...k(t)})}function Ja(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...k(t)})}function Ya(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...k(t)})}function Xa(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...k(t)})}function Za(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...k(t)})}function Qa(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...k(t)})}function $a(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...k(t)})}function eo(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...k(t)})}function to(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...k(t)})}function no(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...k(t)})}function ro(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...k(t)})}function io(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...k(t)})}function ao(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...k(t)})}function oo(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...k(t)})}function so(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...k(t)})}function co(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...k(t)})}function lo(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...k(t)})}function uo(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...k(t)})}function fo(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...k(t)})}function po(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...k(t)})}function mo(e,t){return new e(za({type:`number`,checks:[],...k(t)}))}function ho(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...k(t)})}function go(e,t){return new e({type:`boolean`,...k(t)})}function _o(e){return new e({type:`unknown`})}function vo(e,t){return new e({type:`never`,...k(t)})}function yo(e,t){return new Ar({check:`less_than`,...k(t),value:e,inclusive:!1})}function bo(e,t){return new Ar({check:`less_than`,...k(t),value:e,inclusive:!0})}function xo(e,t){return new jr({check:`greater_than`,...k(t),value:e,inclusive:!1})}function So(e,t){return new jr({check:`greater_than`,...k(t),value:e,inclusive:!0})}function Co(e,t){return new Mr({check:`multiple_of`,...k(t),value:e})}function wo(e,t){return new Pr({check:`max_length`,...k(t),maximum:e})}function To(e,t){return new Fr({check:`min_length`,...k(t),minimum:e})}function Eo(e,t){return new Ir({check:`length_equals`,...k(t),length:e})}function Do(e,t){return new Rr({check:`string_format`,format:`regex`,...k(t),pattern:e})}function Oo(e){return new zr({check:`string_format`,format:`lowercase`,...k(e)})}function ko(e){return new Br({check:`string_format`,format:`uppercase`,...k(e)})}function Ao(e,t){return new Vr({check:`string_format`,format:`includes`,...k(t),includes:e})}function jo(e,t){return new Hr({check:`string_format`,format:`starts_with`,...k(t),prefix:e})}function Mo(e,t){return new Ur({check:`string_format`,format:`ends_with`,...k(t),suffix:e})}function No(e){return new Wr({check:`overwrite`,tx:e})}function Po(e){return No(t=>t.normalize(e))}function Fo(){return No(e=>e.trim())}function Io(){return No(e=>e.toLowerCase())}function Lo(){return No(e=>e.toUpperCase())}function Ro(){return No(e=>kt(e))}function zo(e,t,n){return new e({type:`array`,element:t,...k(n)})}function Bo(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...k(n)})}function Vo(e,t){let n=Ho(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(an(e,t.value,n._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,`input`in r||(r.input=t.value),r.inst??=n,r.continue??=!n._zod.def.abort,t.issues.push(an(r))}},e(t.value,t)),t);return n}function Ho(e,t){let n=new R({check:`custom`,...k(t)});return n._zod.check=e,n}function Uo(e,...t){for(let n of t)for(let t of Reflect.ownKeys(n))Object.prototype.propertyIsEnumerable.call(n,t)&&w(e,t,n[t]);return e}function Wo(e){let t=e?.target??`draft-2020-12`;return t===`draft-4`&&(t=`draft-04`),t===`draft-7`&&(t=`draft-07`),{processors:e.processors??{},metadataRegistry:e?.metadata??Ra,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,sharedDefsExtractedFor:void 0,sharedEmitDoneFor:void 0,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,intersections:[],deferred:[],external:e?.external??void 0}}function Go(e,t,n,r,i){let a=typeof t.unrepresentable==`function`?t.unrepresentable({zodSchema:e,path:r.path,message:i}):t.unrepresentable;if(a===`any`)return!1;if(a===void 0||a===`throw`)throw Error(i);return Object.assign(n,a),!0}function V(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o),t.sharedDefsExtractedFor=void 0,t.sharedEmitDoneFor=void 0;let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,V(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Uo(o.schema,c),t.io===`input`&&H(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&`_prefault`in o.schema&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function Ko(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function qo(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);if(e.external&&e.sharedDefsExtractedFor===e.external)return;let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${Ko(a)}`}}let i=`#/${r}/`;if(t[1]===n&&!t[1].schema.id)return{ref:`#`};let a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+Ko(a)}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/<root>
56
-
57
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}r.count>1&&e.reused===`ref`&&a(n)}e.external&&(e.sharedDefsExtractedFor=e.external)}function Jo(e){let t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;let n=[];for(let e of t){if(!e||typeof e!=`object`)return;Jo(e);let t=Object.keys(e);if(t.length!==1||t[0]!==`type`)return;let r=e.type;for(let e of Array.isArray(r)?r:[r]){if(typeof e!=`string`)return;n.includes(e)||n.push(e)}}delete e.anyOf,e.type=n.length===1?n[0]:n}const Yo=new Set([`type`,`properties`,`required`,`additionalProperties`]),Xo=[`oneOf`,`anyOf`];function Zo(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!=`object`||!t?null:Object.keys(t).length?t:null}function Qo(e){let t=[];for(let n of e){if(typeof n!=`object`||n.type!==`object`)return null;for(let e in n)if(!Yo.has(e))return null;t.push(n)}let n={},r=new Set;for(let e of t){for(let r in e.properties){if(Object.prototype.hasOwnProperty.call(n,r))continue;let e=[];for(let n of t){let t=n.properties?.[r]??Zo(n);t!=null&&(e.some(e=>JSON.stringify(e)===JSON.stringify(t))||e.push(t))}w(n,r,e.length===1?e[0]:Qo(e)??{allOf:e})}for(let t of e.required??[])r.add(t)}let i={type:`object`,properties:n};if(r.size&&(i.required=[...r]),t.every(e=>e.additionalProperties===!1))i.additionalProperties=!1;else{let e=[];for(let n of t){let t=Zo(n);t&&!e.some(e=>JSON.stringify(e)===JSON.stringify(t))&&e.push(t)}e.length===1?i.additionalProperties=e[0]:e.length>1&&(i.additionalProperties={allOf:e})}return i}function $o(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let t of Yo)if(t in e)return;let n=t.filter(e=>Xo.some(t=>Array.isArray(e[t]))),r=null;if(!n.length)r=Qo(t);else{let e=n[0],i=Xo.find(t=>Array.isArray(e[t]));if(Object.keys(e).length!==1)return;let a=t.filter(t=>t!==e),o=e[i].map(e=>Qo([...a,e]));if(o.some(e=>!e))return;r={[i]:o}}r&&(delete e.allOf,Uo(e,r))}function es(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Uo(i,s),Uo(i,a),t._zod.parent===o)for(let e in i)e!==`$ref`&&e!==`allOf`&&(e in a||delete i[e]);if(s.$ref&&n.def)for(let e in i)e!==`$ref`&&e!==`allOf`&&e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e!==`$ref`&&e!==`allOf`&&e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(let t of[...e.seen.entries()].reverse())r(t[0]);if(e.target!==`openapi-3.0`)for(let t of e.seen.entries())Jo(t[1].def??t[1].schema);for(let t of e.deferred)t();if(e.intersections.length){let t=new Map;for(let n of e.seen.values())for(let e of[n.schema,n.def]){let n=e?.allOf;if(!Array.isArray(n))continue;let r=t.get(n);r?r.push(e):t.set(n,[e])}for(let n of e.intersections)for(let e of t.get(n)??[])$o(e)}}let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Uo(i,n.defId?n.schema:n.def??n.schema);let a=e.metadataRegistry.get(t)?.id;a!==void 0&&i.id===a&&delete i.id;let o=e.external?.defs??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,w(o,e.defId,e.def))}e.external&&(e.sharedEmitDoneFor=e.external),e.external||Object.keys(o).length>0&&(e.target===`draft-2020-12`?i.$defs=o:i.definitions=o);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t[`~standard`],jsonSchema:{input:ns(t,`input`,e.processors),output:ns(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function H(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return H(r.element,n);if(r.type===`set`)return H(r.valueType,n);if(r.type===`lazy`)return H(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type==="default"||r.type===`prefault`||r.type===`catch`)return H(r.innerType,n);if(r.type===`intersection`)return H(r.left,n)||H(r.right,n);if(r.type===`record`||r.type===`map`)return H(r.keyType,n)||H(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:H(r.in,n)||H(r.out,n);if(r.type===`object`){for(let e in r.shape)if(H(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(H(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(H(e,n))return!0;return!!(r.rest&&H(r.rest,n))}return!1}const ts=(e,t={})=>n=>{let r=Wo({...n,processors:t});return V(e,r),qo(r,e),es(r,e)},ns=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=Wo({...i??{},target:a,io:t,processors:n});return V(e,o),qo(o,e),es(o,e)},rs=(e,t,n)=>{(e[t]===void 0||n>e[t])&&(e[t]=n)},is=(e,t,n)=>{(e[t]===void 0||n<e[t])&&(e[t]=n)},as=(e,t)=>{rs(e,`minimum`,t),is(e,`maximum`,t)},os=(e,t)=>{e.multipleOf??=[],e.multipleOf.includes(t)||e.multipleOf.push(t)},ss=(e,t)=>{e.patterns??=new Set,e.patterns.add(t)},cs=(e,t)=>{e.mime=e.mime?e.mime.filter(e=>t.includes(e)):[...t]},ls=(e,t)=>{e.format=t,t.includes(`int`)&&(e.isInt=!0)},us=(e,t)=>rs(e,`minimum`,t.minimum),ds=(e,t)=>is(e,`maximum`,t.maximum),fs=e=>(t,n)=>{ls(t,n.format);let[r,i]=e[n.format];rs(t,`minimum`,r),is(t,`maximum`,i)},ps={greater_than:(e,t)=>rs(e,t.inclusive?`minimum`:`exclusiveMinimum`,t.value),less_than:(e,t)=>is(e,t.inclusive?`maximum`:`exclusiveMaximum`,t.value),multiple_of:(e,t)=>os(e,t.value),number_format:fs(zt),bigint_format:fs(Bt),min_length:us,max_length:ds,length_equals:(e,t)=>as(e,t.length),min_size:us,max_size:ds,size_equals:(e,t)=>as(e,t.size),string_format:(e,t)=>{ls(e,t.format),t.pattern&&ss(e,t.pattern),(t.format===`base64`||t.format===`base64url`)&&(e.contentEncoding=t.format),(t.local||t.precision===-1)&&(e.laxFormat=!0)},mime_type:(e,t)=>cs(e,t.mime)};function U(e){let t={},n=e._zod.def,r=e._zod.traits.has(`$ZodCheck`)?[e,...n.checks??[]]:n.checks??[];for(let e of r)ps[e._zod.def.check]?.(t,e._zod.def);let i=e._zod.bag;i.minimum!==void 0&&rs(t,`minimum`,i.minimum),i.exclusiveMinimum!==void 0&&rs(t,`exclusiveMinimum`,i.exclusiveMinimum),i.maximum!==void 0&&is(t,`maximum`,i.maximum),i.exclusiveMaximum!==void 0&&is(t,`exclusiveMaximum`,i.exclusiveMaximum),i.multipleOf!==void 0&&os(t,i.multipleOf),i.format!==void 0&&(t.format??=i.format,i.format.includes(`int`)&&(t.isInt=!0)),i.mime&&cs(t,i.mime);for(let e of i.patterns??[])ss(t,e);return t}const ms={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},hs=new Map([[Di,fr],[ki,pr]]),gs=e=>hs.get(e)??e,_s=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l,laxFormat:u}=U(e);if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=ms[s]??s,i.format===``&&delete i.format,(s===`time`||u)&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c].map(gs);e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},vs=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,multipleOf:s,exclusiveMaximum:c,exclusiveMinimum:l,isInt:u}=U(e);i.type=u?`integer`:`number`;let d=typeof l==`number`&&l>=(a??-1/0),f=typeof c==`number`&&c<=(o??1/0),p=t.target===`draft-04`||t.target===`openapi-3.0`;if(d?p?(i.minimum=l,i.exclusiveMinimum=!0):i.exclusiveMinimum=l:typeof a==`number`&&(i.minimum=a),f?p?(i.maximum=c,i.exclusiveMaximum=!0):i.exclusiveMaximum=c:typeof o==`number`&&(i.maximum=o),s){let n=new Set;for(let a of s)Number.isFinite(a)&&a!==0?n.add(Math.abs(a)):Go(e,t,i,r,`A multipleOf divisor of ${a} cannot be represented in JSON Schema`);let[a,...o]=n;a!==void 0&&(i.multipleOf=a),o.length&&(i.allOf=[...i.allOf??[],...o.map(e=>({multipleOf:e}))])}},ys=(e,t,n,r)=>{n.type=`boolean`},bs=(e,t,n,r)=>{n.not={}},xs=(e,t,n,r)=>{let i=e._zod.def,a=gt(i.entries);if(a.length===0){n.not={};return}a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Ss=(e,t,n,r)=>{Go(e,t,n,r,`Custom types cannot be represented in JSON Schema`)},Cs=(e,t,n,r)=>{Go(e,t,n,r,`Transforms cannot be represented in JSON Schema`)},ws=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=U(e);typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=V(a.element,t,{...r,path:[...r.path,`items`]})};function Ts(e){let t=e._zod.def;return t.type===`pipe`&&t.in._zod.traits.has(`$ZodTransform`)?Ts(t.out):t.type===`catch`?Ts(t.innerType):e._zod.optin}const Es=(e,t,n,r)=>{let i=n,a=e._zod.def,o=a.shape;if(Object.getOwnPropertySymbols(o).length&&Go(e,t,i,r,`Symbol keys cannot be represented in JSON Schema`))return;i.type=`object`,i.properties={};for(let e in o)w(i.properties,e,V(o[e],t,{...r,path:[...r.path,`properties`,e]}));let s=[];for(let e of Object.keys(o)){let n=a.shape[e];(t.io===`input`?Ts(n)===void 0:n._zod.optout===void 0)&&s.push(e)}s.length>0&&(i.required=s),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=V(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Ds=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>V(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},Os=(e,t,n,r)=>{let i=e._zod.def,a=V(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=V(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1,c=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]];n.allOf=c,t.intersections.push(c)};function ks(e,t,n){if(t.$ref){if(n.has(t))return t;n.add(t);let r=e.get(t)?.def;if(!r)return t;let i=ks(e,r,n);return i===r?t:i}for(let r of[`anyOf`,`oneOf`]){let i=t[r];if(!Array.isArray(i))continue;let a=i.map(t=>ks(e,t,n));a.some((e,t)=>e!==i[t])&&(t={...t,[r]:a})}let r=Array.isArray(t.type)?t.type:[t.type],i=!r.includes(`string`)&&r.some(e=>e===`number`||e===`integer`),a=t.enum??(t.const===void 0?void 0:[t.const]);if(!i&&!a?.some(e=>typeof e==`number`))return t;let{minimum:o,maximum:s,exclusiveMinimum:c,exclusiveMaximum:l,multipleOf:u,format:d,id:f,...p}=t;return p.enum?p.enum=p.enum.map(e=>typeof e==`number`?String(e):e):typeof p.const==`number`&&(p.const=String(p.const)),i?(p.type=`string`,a||(p.pattern=(r.includes(`number`)?wr:Cr).source),p):p}const As=new WeakMap;function js(e){let t=new Map;for(let n of e.seen.values())n.def&&!t.has(n.schema)&&t.set(n.schema,n);let n=new Map;for(let r of As.get(e)??[]){let i=e.seen.get(r),a=(i?.def??i?.schema)?.propertyNames;if(!a||a===!0||n.has(a))continue;let o=ks(t,a,new Set);o!==a&&n.set(a,o)}if(n.size)for(let t of e.seen.values())for(let e of[t.schema,t.def]){let t=e&&n.get(e.propertyNames);t&&(e.propertyNames=t)}}const Ms=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=U(o).patterns;if(a.mode===`loose`&&s&&s.size>0){let e=V(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)w(i.patternProperties,gs(t).source,e)}else{if(t.target===`draft-07`||t.target===`draft-2020-12`){i.propertyNames=V(a.keyType,t,{...r,path:[...r.path,`propertyNames`]});let n=As.get(t);n||(n=[],As.set(t,n),t.deferred.push(()=>js(t))),n.push(e)}i.additionalProperties=V(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]})}let c=o._zod.values,l=t.io===`input`&&Ts(a.valueType)!==void 0;if(c&&!a.partial&&!l){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e.map(String))}},Ns=(e,t,n,r)=>{let i=e._zod.def,a=V(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},Ps=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Fs=Symbol();function Is(e,t,n,r,i){let a=!1,o=JSON.stringify(e,(e,t)=>typeof t==`bigint`?(a=!0,null):t);return a?(Go(t,n,r,i,`BigInt defaults cannot be represented in JSON Schema`),Fs):JSON.parse(o)}const Ls=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o=Is(i.defaultValue,e,t,n,r);o!==Fs&&(n.default=o)},Rs=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);if(a.ref=i.innerType,t.io!==`input`)return;let o=Is(i.defaultValue,e,t,n,r);o!==Fs&&(n._prefault=o)},zs=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{Go(e,t,n,r,`Dynamic catch values are not supported in JSON Schema`);return}n.default=o},Bs=(e,t,n,r)=>{let i=e._zod.def,a=i.in._zod.traits.has(`$ZodTransform`),o=t.io===`input`?a?i.out:i.in:i.out;V(o,t,r);let s=t.seen.get(e);s.ref=o},Vs=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Hs=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Us=new WeakSet([Object.prototype,Error.prototype]);function Ws(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){let e=n(this);return Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0})}})}const W=P(`ZodError`,(e,t)=>{Dn.init(e,t),e.name=`ZodError`;let n=Object.getPrototypeOf(e);Us.has(n)||(Us.add(n),Ws(n,`format`,e=>t=>An(e,t)),Ws(n,`flatten`,e=>t=>kn(e,t)),Ws(n,`addIssue`,e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,vt,2)}),Ws(n,`addIssues`,e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,vt,2)}),Object.defineProperty(n,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},void 0,{Parent:Error}),Gs=Mn(W),Ks=Nn(W),qs=Pn(W),Js=In(W),Ys=Hn(W),Xs=Un(W),Zs=Wn(W),Qs=Gn(W),$s=Kn(W),ec=qn(W),tc=Jn(W),nc=Yn(W);function rc(){I.localeError||L(Pa())}function ic(){I.memoizer||L({memoizer:ja()})}const G=P(`ZodType`,(e,t)=>(rc(),z.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(D(t,{checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return O(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(hl(e,t))},superRefine(e,t){return this.check(gl(e,t))},overwrite(e){return this.check(No(e))},optional(){return Zc(this)},exactOptional(){return $c(this)},nullable(){return tl(this)},nullish(){return Zc(tl(this))},nonoptional(e){return sl(this,e)},array(){return Y(this)},or(e){return Hc([this,e])},and(e){return Wc(this,e)},transform(e){return dl(this,Yc(e))},default(e){return rl(this,e)},prefault(e){return al(this,e)},catch(e){return ll(this,e)},pipe(e){return dl(this,e)},readonly(){return pl(this)},describe(e){let t=this.clone();return Ra.add(t,{description:e}),t},meta(...e){if(e.length===0)return Ra.get(this);let t=this.clone();return Ra.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return t.length===0?e(this):e(this,...t)},get"~standard"(){return sn(this,`~standard`,{...Yr(this),jsonSchema:{input:ns(this,`input`),output:ns(this,`output`)}})},set"~standard"(e){M(this,`~standard`,e)},parse:function e(t,n){return Gs(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await Ks(this,t,n,{callee:e})},safeParse(e,t){return qs(this,e,t)},async safeParseAsync(e,t){return Js(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){M(this,`spa`,e)},validate(e,t){return zn(this,e,t)},validateAsync(e,t){return Vn(this,e,t)},encode:function e(t,n){return Ys(this,t,n,{callee:e})},decode:function e(t,n){return Xs(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await Zs(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await Qs(this,t,n,{callee:e})},safeEncode(e,t){return $s(this,e,t)},safeDecode(e,t){return ec(this,e,t)},async safeEncodeAsync(e,t){return tc(this,e,t)},async safeDecodeAsync(e,t){return nc(this,e,t)},toJSONSchema(e){return ts(this,{})(e)},get description(){return Ra.get(this)?.description},get _def(){return this._zod.def}}),ac=P(`_ZodString`,(e,t)=>{Xr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>_s(e,t,n,r)},cn({format:e=>U(e).format??null,minLength:e=>U(e).minimum??null,maxLength:e=>U(e).maximum??null},{regex(...e){return this.check(Do(...e))},includes(...e){return this.check(Ao(...e))},startsWith(...e){return this.check(jo(...e))},endsWith(...e){return this.check(Mo(...e))},min(...e){return this.check(To(...e))},max(...e){return this.check(wo(...e))},length(...e){return this.check(Eo(...e))},nonempty(...e){return this.check(To(1,...e))},lowercase(e){return this.check(Oo(e))},uppercase(e){return this.check(ko(e))},trim(){return this.check(Fo())},normalize(...e){return this.check(Po(...e))},toLowerCase(){return this.check(Io())},toUpperCase(){return this.check(Lo())},slugify(){return this.check(Ro())}})),oc=P(`ZodString`,(e,t)=>{Xr.init(e,t),ac.init(e,t)},{email(e){return this.check(Va(dc,e))},url(e){return this.check(qa(mc,e))},jwt(e){return this.check(co(kc,e))},emoji(e){return this.check(Ja(hc,e))},guid(e){return this.check(Ha(fc,e))},uuid(e){return this.check(Ua(pc,e))},uuidv4(e){return this.check(Wa(pc,e))},uuidv6(e){return this.check(Ga(pc,e))},uuidv7(e){return this.check(Ka(pc,e))},nanoid(e){return this.check(Ya(gc,e))},cuid(e){return this.check(Xa(_c,e))},cuid2(e){return this.check(Za(vc,e))},ulid(e){return this.check(Qa(yc,e))},base64(e){return this.check(ao(Ec,e))},base64url(e){return this.check(oo(Dc,e))},xid(e){return this.check($a(bc,e))},ksuid(e){return this.check(eo(xc,e))},ipv4(e){return this.check(to(Sc,e))},ipv6(e){return this.check(no(Cc,e))},cidrv4(e){return this.check(ro(wc,e))},cidrv6(e){return this.check(io(Tc,e))},e164(e){return this.check(so(Oc,e))},datetime(e){return this.check(lo(sc,e))},date(e){return this.check(uo(cc,e))},time(e){return this.check(fo(lc,e))},duration(e){return this.check(po(uc,e))}});function K(e){return Ba(oc,e)}const q=P(`ZodStringFormat`,(e,t)=>{B.init(e,t),ac.init(e,t)}),sc=P(`ZodISODateTime`,(e,t)=>{hi.init(e,t),q.init(e,t)}),cc=P(`ZodISODate`,(e,t)=>{gi.init(e,t),q.init(e,t)}),lc=P(`ZodISOTime`,(e,t)=>{_i.init(e,t),q.init(e,t)}),uc=P(`ZodISODuration`,(e,t)=>{vi.init(e,t),q.init(e,t)}),dc=P(`ZodEmail`,(e,t)=>{$r.init(e,t),q.init(e,t)}),fc=P(`ZodGUID`,(e,t)=>{Zr.init(e,t),q.init(e,t)}),pc=P(`ZodUUID`,(e,t)=>{Qr.init(e,t),q.init(e,t)}),mc=P(`ZodURL`,(e,t)=>{si.init(e,t),q.init(e,t)}),hc=P(`ZodEmoji`,(e,t)=>{ci.init(e,t),q.init(e,t)}),gc=P(`ZodNanoID`,(e,t)=>{li.init(e,t),q.init(e,t)}),_c=P(`ZodCUID`,(e,t)=>{ui.init(e,t),q.init(e,t)}),vc=P(`ZodCUID2`,(e,t)=>{di.init(e,t),q.init(e,t)}),yc=P(`ZodULID`,(e,t)=>{fi.init(e,t),q.init(e,t)}),bc=P(`ZodXID`,(e,t)=>{pi.init(e,t),q.init(e,t)}),xc=P(`ZodKSUID`,(e,t)=>{mi.init(e,t),q.init(e,t)}),Sc=P(`ZodIPv4`,(e,t)=>{yi.init(e,t),q.init(e,t)}),Cc=P(`ZodIPv6`,(e,t)=>{Si.init(e,t),q.init(e,t)}),wc=P(`ZodCIDRv4`,(e,t)=>{Ci.init(e,t),q.init(e,t)}),Tc=P(`ZodCIDRv6`,(e,t)=>{Ti.init(e,t),q.init(e,t)}),Ec=P(`ZodBase64`,(e,t)=>{Oi.init(e,t),q.init(e,t)}),Dc=P(`ZodBase64URL`,(e,t)=>{ji.init(e,t),q.init(e,t)}),Oc=P(`ZodE164`,(e,t)=>{Mi.init(e,t),q.init(e,t)}),kc=P(`ZodJWT`,(e,t)=>{Pi.init(e,t),q.init(e,t)}),Ac=P(`ZodNumber`,(e,t)=>{Fi.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>vs(e,t,n,r),e.isFinite=!0},cn({minValue:e=>{let{minimum:t,exclusiveMinimum:n}=U(e);return Math.max(t??-1/0,n??-1/0)},maxValue:e=>{let{maximum:t,exclusiveMaximum:n}=U(e);return Math.min(t??1/0,n??1/0)},isInt:e=>{let{isInt:t,multipleOf:n}=U(e);return!!t||!!n?.some(Number.isSafeInteger)},format:e=>U(e).format??null},{gt(e,t){return this.check(xo(e,t))},gte(e,t){return this.check(So(e,t))},min(e,t){return this.check(So(e,t))},lt(e,t){return this.check(yo(e,t))},lte(e,t){return this.check(bo(e,t))},max(e,t){return this.check(bo(e,t))},int(e){return this.check(Nc(e))},safe(e){return this.check(Nc(e))},positive(e){return this.check(xo(0,e))},nonnegative(e){return this.check(So(0,e))},negative(e){return this.check(yo(0,e))},nonpositive(e){return this.check(bo(0,e))},multipleOf(e,t){return this.check(Co(e,t))},step(e,t){return this.check(Co(e,t))},finite(){return this}}));function jc(e){return mo(Ac,e)}const Mc=P(`ZodNumberFormat`,(e,t)=>{Ii.init(e,t),Ac.init(e,t)});function Nc(e){return ho(Mc,e)}const Pc=P(`ZodBoolean`,(e,t)=>{Li.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ys(e,t,n,r)});function J(e){return go(Pc,e)}const Fc=P(`ZodUnknown`,(e,t)=>{Ri.init(e,t),G.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Ic(){return _o(Fc)}const Lc=P(`ZodNever`,(e,t)=>{zi.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>bs(e,t,n,r)});function Rc(e){return vo(Lc,e)}const zc=P(`ZodArray`,(e,t)=>{ic(),Vi.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ws(e,t,n,r),e.element=t.element},{min(e,t){return this.check(To(e,t))},nonempty(e){return this.check(To(1,e))},max(e,t){return this.check(wo(e,t))},length(e,t){return this.check(Eo(e,t))},unwrap(){return this.element}});function Y(e,t){return zo(zc,e,t)}const Bc=P(`ZodObject`,(e,t)=>{ic(),qi.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Es(e,t,n,r),mn(e,`shape`,e=>e._zod.def.shape,!1)},{keyof(){return Q(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(D(this._zod.def,{catchall:e}))},passthrough(){return this.clone(D(this._zod.def,{catchall:Ic()}))},loose(){return this.clone(D(this._zod.def,{catchall:Ic()}))},strict(){return this.clone(D(this._zod.def,{catchall:Rc()}))},strip(){return this.clone(D(this._zod.def,{catchall:void 0}))},extend(e){return Wt(this,e)},safeExtend(e){return Kt(this,e)},merge(e){return qt(this,e)},pick(e){return Vt(this,e)},omit(e){return Ut(this,e)},partial(...e){return Jt(Xc,this,e[0])},exactPartial(...e){return Jt(Qc,this,e[0],`exactPartial`)},required(...e){return Yt(ol,this,e[0])}});function X(e,t){let n={type:`object`,shape:e??{},...k(t)};return new Bc(n)}function Z(e,t){return new Bc({type:`object`,shape:e,catchall:Ic(),...k(t)})}const Vc=P(`ZodUnion`,(e,t)=>{Yi.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ds(e,t,n,r),e.options=t.options});function Hc(e,t){return new Vc({type:`union`,options:e,...k(t)})}const Uc=P(`ZodIntersection`,(e,t)=>{Xi.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Os(e,t,n,r)});function Wc(e,t){return new Uc({type:`intersection`,left:e,right:t})}const Gc=P(`ZodRecord`,(e,t)=>{ic(),$i.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ms(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function Kc(e,t,n){return!t||!t._zod?new Gc({type:`record`,keyType:K(),valueType:e,...k(t)}):new Gc({type:`record`,keyType:e,valueType:t,...k(n)})}const qc=P(`ZodEnum`,(e,t)=>{ea.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xs(e,t,n,r),e.enum=t.entries,e.options=[...e._zod.values];let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new qc({...t,checks:[],...k(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new qc({...t,checks:[],...k(r),entries:i})}});function Q(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new qc({type:`enum`,entries:n,...k(t)})}const Jc=P(`ZodTransform`,(e,t)=>{ic(),ta.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Cs(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new bn(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(an(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,`input`in t||(t.input=n.value),t.inst??=e,n.issues.push(an(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function Yc(e){return new Jc({type:`transform`,transform:e})}const Xc=P(`ZodOptional`,(e,t)=>{ra.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Hs(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Zc(e){return new Xc({type:`optional`,innerType:e})}const Qc=P(`ZodExactOptional`,(e,t)=>{ia.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Hs(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function $c(e){return new Qc({type:`optional`,innerType:e})}const el=P(`ZodNullable`,(e,t)=>{aa.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ns(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function tl(e){return new el({type:`nullable`,innerType:e})}const nl=P(`ZodDefault`,(e,t)=>{oa.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ls(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function rl(e,t){return new nl({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():Pt(t)}})}const il=P(`ZodPrefault`,(e,t)=>{ca.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Rs(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function al(e,t){return new il({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():Pt(t)}})}const ol=P(`ZodNonOptional`,(e,t)=>{la.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ps(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function sl(e,t){return new ol({type:`nonoptional`,innerType:e,...k(t)})}const cl=P(`ZodCatch`,(e,t)=>{fa.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>zs(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function ll(e,t){return new cl({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:hn(t)})}const ul=P(`ZodPipe`,(e,t)=>{pa.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Bs(e,t,n,r),e.in=t.in,e.out=t.out});function dl(e,t){return new ul({type:`pipe`,in:e,out:t})}const fl=P(`ZodReadonly`,(e,t)=>{ha.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Vs(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function pl(e){return new fl({type:`readonly`,innerType:e})}const ml=P(`ZodCustom`,(e,t)=>{_a.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ss(e,t,n,r)});function hl(e,t={}){return Bo(ml,e,t)}function gl(e,t){return Vo(e,t)}const _l=X({detail:K()}),vl=X({error:K()});function yl(e){if(!e)return`Unknown error`;if(e instanceof Error){let t=_l.safeParse(e.cause);return t.success?t.data.detail:bl(e.message)}if(typeof e==`object`){let t=_l.safeParse(e);if(t.success)return t.data.detail;let n=vl.safeParse(e);if(n.success)return n.data.error}try{return JSON.stringify(e)}catch{return String(e)}}function bl(e){let t=xl(e);if(!t)return e;let n=_l.safeParse(t);if(n.success)return n.data.detail;let r=vl.safeParse(t);return r.success?r.data.error:e}function xl(e){try{return JSON.parse(e)}catch{return e}}function Sl(e,t){if(!e)throw Error(t)}const Cl=[`pip`,`uv`,`rye`,`poetry`,`pixi`],wl=[`normal`,`compact`,`medium`,`full`,`columns`],Tl=[`auto`,`native`,`polars`,`lazy-polars`,`pandas`],El=[`html`,`markdown`,`ipynb`],Dl=[`manual`,`ask`,`agent`,`code_mode`],$=X({api_key:K().optional(),base_url:K().optional(),project:K().optional()}).loose(),Ol=X({chat_model:K().nullish(),edit_model:K().nullish(),autocomplete_model:K().nullish(),displayed_models:Y(K()).default([]),custom_models:Y(K()).default([])}),kl=Z({completion:X({activate_on_typing:J().prefault(!0),signature_hint_on_typing:J().prefault(!1),auto_close_pairs:J().prefault(!0),copilot:Hc([J(),Q([`github`,`codeium`,`custom`])]).prefault(!1).transform(e=>e===!0?`github`:e),codeium_api_key:K().nullish()}).prefault({}),save:Z({autosave:Q([`off`,`after_delay`]).prefault(`after_delay`),autosave_delay:jc().nonnegative().transform(e=>Math.max(e,1e3)).prefault(1e3),format_on_save:J().prefault(!1)}).prefault({}),formatting:Z({line_length:jc().nonnegative().prefault(79).transform(e=>Math.min(e,1e3))}).prefault({}),keymap:Z({preset:Q([`default`,`vim`]).prefault(`default`),overrides:Kc(K(),K()).prefault({}),destructive_delete:J().prefault(!0)}).prefault({}),runtime:Z({auto_instantiate:J().prefault(!0),on_cell_change:Q([`lazy`,`autorun`]).prefault(`autorun`),auto_reload:Q([`off`,`lazy`,`autorun`]).prefault(`off`),reactive_tests:J().prefault(!0),watcher_on_save:Q([`lazy`,`autorun`]).prefault(`lazy`),default_sql_output:Q(Tl).prefault(`auto`),default_auto_download:Y(Q(El)).prefault([]),show_tracebacks:J().prefault(!1)}).prefault({}),display:Z({theme:Q([`light`,`dark`,`system`]).prefault(`light`),code_editor_font_size:jc().nonnegative().prefault(14),cell_output:Q([`above`,`below`]).prefault(`below`),dataframes:Q([`rich`,`plain`]).prefault(`rich`),default_table_page_size:jc().prefault(10),default_table_max_columns:jc().prefault(50),default_width:Q(wl).prefault(`medium`).transform(e=>e===`normal`?`compact`:e),locale:K().nullable().optional(),reference_highlighting:J().prefault(!0),code_lens:J().prefault(!0)}).prefault({}),package_management:Z({manager:Q(Cl).prefault(`pip`)}).prefault({}),ai:Z({enabled:J().prefault(!0),rules:K().prefault(``),max_tokens:jc().int().positive().nullable().optional(),mode:Q(Dl).prefault(`manual`),inline_tooltip:J().prefault(!1),allow_provider_config:J().prefault(!0),open_ai:$.optional(),github:$.optional(),anthropic:$.optional(),google:$.optional(),ollama:$.optional(),openrouter:$.optional(),wandb:$.optional(),opencode_go:$.optional(),open_ai_compatible:$.optional(),azure:$.optional(),bedrock:Z({region_name:K().optional(),profile_name:K().optional(),aws_access_key_id:K().optional(),aws_secret_access_key:K().optional()}).optional(),custom_providers:Kc(K(),$).prefault({}),models:Ol.prefault({displayed_models:[],custom_models:[]})}).prefault({}),experimental:Z({markdown:J().optional(),rtc:J().optional()}).prefault(()=>({})),server:Z({disable_file_downloads:J().optional(),transport:Q([`websocket`,`sse`]).optional()}).prefault(()=>({})),diagnostics:Z({enabled:J().optional(),sql_linter:J().optional()}).prefault(()=>({})),file_browser:Z({folders:Y(X({path:K(),name:K().optional()})).optional()}).optional().prefault({}),sharing:Z({html:J().optional(),wasm:J().optional(),molab:J().optional()}).optional(),mcp:Z({presets:Y(Q([`marimo`,`context7`])).optional()}).optional().prefault({})}).partial().prefault(()=>({completion:{},save:{},formatting:{},keymap:{},runtime:{},display:{},diagnostics:{},file_browser:{},experimental:{},server:{},ai:{},package_management:{},mcp:{}})),Al=K(),jl=Q(Tl).prefault(`auto`);X({width:Q(wl).prefault(`medium`).transform(e=>e===`normal`?`compact`:e),app_title:Al.nullish(),css_file:K().nullish(),html_head_file:K().nullish(),auto_download:Y(Q(El)).prefault([]),sql_output:jl}).prefault(()=>({width:`medium`,auto_download:[],sql_output:`auto`}));function Ml(){return kl.parse({completion:{},save:{},formatting:{},keymap:{},runtime:{},display:{},diagnostics:{},file_browser:{},experimental:{},server:{},ai:{},package_management:{},mcp:{}})}const Nl=e=>new TextDecoder().decode(e);function Pl(e){return e.FS}const Fl=`notebook.py`,Il=`/marimo`,Ll={NOTEBOOK_FILENAME:Fl,HOME_DIR:Il,createHomeDir:e=>{let t=Pl(e);try{t.mkdirTree(Il)}catch{}t.chdir(Il)},mountFS:e=>{globalThis.origin!==`null`&&Pl(e).mount(e.FS.filesystems.IDBFS,{root:`.`},Il)},populateFilesToMemory:async e=>{await Rl(e,!0)},persistFilesToRemote:async e=>{await Rl(e,!1)},readNotebook:e=>{let t=Pl(e),n=`${Il}/${Fl}`;return Nl(t.readFile(n))},initNotebookCode:e=>{let{pyodide:t,filename:n,code:r}=e,i=Pl(t),a=e=>{try{return Nl(i.readFile(e))}catch{return null}};if(n&&n!==Fl){let e=a(n);if(e)return{code:e,filename:n}}return i.writeFile(Fl,r),{code:r,filename:Fl}}};function Rl(e,t){return new Promise((n,r)=>{Pl(e).syncfs(t,e=>{if(e instanceof Error){r(e);return}n()})})}function zl(){return`marimo-base`}const Bl=new class{spans=[];startSpan(e,t={}){let n={name:e,startTime:Date.now(),attributes:t,end:(e=`ok`)=>this.endSpan(n,e)};return this.spans.push(n),n}endSpan(e,t=`ok`){e.endTime=Date.now(),e.status=t}getSpans(){return this.spans}wrap(e,t,n={}){let r=this.startSpan(t||e.name,n);try{let t=e();return this.endSpan(r),t}catch(e){throw this.endSpan(r,`error`),e}}wrapAsync(e,t,n={}){return async(...r)=>{let i=this.startSpan(t||e.name,n);try{let t=await e(...r);return this.endSpan(i),t}catch(e){throw this.endSpan(i,`error`),e}}}logSpans(){}};globalThis.t=Bl;function Vl(e){return e.trim().split(/[[<>=!~;@\s]/)[0]}var Hl=class{pyodide=null;packageLoadQueue=Promise.resolve();sessionGeneration=0;activeSessionStops=new Set;get requirePyodide(){return Sl(this.pyodide,`Pyodide not loaded`),this.pyodide}async bootstrap(e){return await this.loadPyodideAndPackages(e)}async loadPyodideAndPackages(e){if(!lt)throw Error(`loadPyodide is not defined`);let t=Bl.startSpan(`loadPyodide`);try{let n=e.pyodideIndexUrl??`https://cdn.jsdelivr.net/pyodide/${e.pyodideVersion}/full/`,r=await lt({packages:[`micropip`,`msgspec`,zl(),`Markdown`,`pymdown-extensions`,`narwhals`,`packaging`],_makeSnapshot:!1,lockFileURL:e.pyodideLockfileUrl??`https://wasm.marimo.app/pyodide-lock.json?v=${e.version}&pyodide=${e.pyodideVersion}`,indexURL:n,packageBaseUrl:n,convertNullToNone:!0});if(e.pypiIndexUrl){let t=r.pyimport(`micropip`);try{t.set_index_urls(e.pypiIndexUrl)}finally{t.destroy()}}return this.pyodide=r,t.end(`ok`),r}catch(e){throw C.error(`Failed to load Pyodide`,e),e}}async mountFilesystem(e){let t=Bl.startSpan(`mountFilesystem`);return Ll.createHomeDir(this.requirePyodide),Ll.mountFS(this.requirePyodide),await Ll.populateFilesToMemory(this.requirePyodide),t.end(`ok`),Ll.initNotebookCode({pyodide:this.requirePyodide,code:e.code,filename:e.filename})}async startSession(e){let t=this.sessionGeneration,{code:n,filename:r,queryParameters:i,userConfig:a}=e;self.query_params=i,self.user_config=a;let o=Bl.startSpan(`startSession.runPython`),s=r||Ll.NOTEBOOK_FILENAME,c=this.requirePyodide.runPython(`
58
- print("[py] Starting marimo...")
59
- import asyncio
60
- import gc
61
- import js
62
- from marimo._pyodide.bootstrap import create_session, instantiate
63
-
64
- assert js.query_params, "query_params is not defined"
65
-
66
- def create_session_resources():
67
- session, bridge = create_session(
68
- filename="${s}",
69
- query_params=js.query_params.to_py(),
70
- user_config=js.user_config.to_py(),
71
- )
72
- session_task = None
73
-
74
- def init(auto_instantiate=True):
75
- nonlocal session_task
76
- instantiate(session, auto_instantiate)
77
- session_task = asyncio.create_task(session.start())
78
-
79
- async def stop():
80
- nonlocal bridge, session, session_task
81
- task = session_task
82
- kernel_task = getattr(session, "kernel_task", None)
83
- if kernel_task is None:
84
- if task is not None:
85
- task.cancel()
86
- else:
87
- kernel_task.stop()
88
- if task is not None:
89
- await asyncio.gather(task, return_exceptions=True)
90
- if bridge is not None:
91
- bridge.close()
92
- bridge.session = None
93
- task = None
94
- kernel_task = None
95
- session_task = None
96
- session = None
97
- bridge = None
98
- gc.collect()
99
-
100
- with open("${s}", "r") as f:
101
- packages = session.find_packages(f.read())
102
-
103
- return bridge, init, packages, stop
104
-
105
- create_session_resources()`);o.end();let l,u,d,f;try{[l,u,d,f]=c}finally{c.destroy()}let p;try{p=new Set(d.toJs())}catch(e){throw l.destroy(),u.destroy(),f.destroy(),e}finally{d.destroy()}this.activeSessionStops.add(f);let m=this.packageLoadQueue.then(()=>{if(t===this.sessionGeneration)return this.loadNotebookDeps(n,p)});return this.packageLoadQueue=m.catch(()=>void 0),m.then(()=>{if(t===this.sessionGeneration)return u(a.runtime.auto_instantiate)}).catch(e=>{C.error(`Failed to load notebook dependencies`,e)}).finally(()=>u.destroy()),l}async stopSession(){this.sessionGeneration+=1;let e=[...this.activeSessionStops],t=!1,n;for(let r of e)try{await r(),this.activeSessionStops.delete(r),r.destroy()}catch(e){t||(t=!0,n=e)}if(t)throw n}async loadNotebookDeps(e,t){let n=this.requirePyodide;re(e,t)&&(e=`import pandas\n${e}`,e=`import duckdb\n${e}`,e=`import sqlglot\n${e}`,e.includes(`polars`)&&(e=`import pyarrow\n${e}`)),e=`import docutils\n${e}`,e=`import pygments\n${e}`,e=`import jedi\n${e}`,e=`import pyodide_http\n${e}`;let r=[...t],i=Bl.startSpan(`pyodide.loadPackage`);await n.loadPackagesFromImports(e,{errorCallback:C.error,messageCallback:C.log}),i.end(),i=Bl.startSpan(`micropip.install`);let a=r.filter(e=>!n.loadedPackages[Vl(e)]);if(a.length>0){let e=a.map(e=>[Vl(e),e]);await n.runPythonAsync(`
106
- import micropip
107
- import sys
108
- # Filter out builtins
109
- missing = [req for name, req in ${JSON.stringify(e)} if name not in sys.modules]
110
- if len(missing) > 0:
111
- print("Loading from micropip:", missing)
112
- await micropip.install(missing)
113
- `).catch(e=>{C.error(`Failed to load packages from micropip`,e)})}i.end()}},Ul=class extends Hl{async bootstrap(e){return await super.bootstrap(e)}async mountFilesystem(e){let{code:t,filename:n}=e;try{return Ll.createHomeDir(this.requirePyodide),Ll.initNotebookCode({pyodide:this.requirePyodide,code:t,filename:n})}catch(e){C.error(e)}return{code:t,filename:n}}async startSession(e){return super.startSession({queryParameters:{},code:e.code,filename:e.filename,userConfig:Ml()})}};async function Wl(){let e=nu(),t=ut(e);try{self.controller=new Ul,self.pyodide=await self.controller.bootstrap({version:e,pyodideVersion:t})}catch(e){C.error(`Error bootstrapping`,e),tu.send.initializedError({error:yl(e)})}}const Gl=Wl();let Kl;const ql=new Set;let Jl=Promise.resolve();async function Yl(e,t){await Gl;try{Sl(self.controller,`Controller not loaded`),t&&await Xl();let n=await self.controller.mountFilesystem({code:e.code,filename:`app-${e.appId}.py`}),r=await self.controller.startSession(n);ql.add(r),await Zl(r,e.sessionGeneration),Kl||={appId:e.appId,bridge:r,sessionGeneration:e.sessionGeneration},tu.send.initialized({})}catch(e){throw tu.send.initializedError({error:yl(e)}),e}}async function Xl(){await self.controller.stopSession(),Kl=void 0;for(let e of ql)e.destroy();ql.clear()}async function Zl(e,t){let n=e.notebook;try{await n.subscribe(`island-${t}`,null,e=>{tu.send.notebookEvent({event:e,sessionGeneration:t})})}finally{n.destroy()}}function Ql(e){let t=Jl.then(e);return Jl=t.then(()=>void 0,()=>void 0),t}const $l=u({startSession:async e=>{await Ql(()=>Yl(e,!1))},replaceSession:async e=>{await Ql(()=>Yl(e,!0))},stopSession:async e=>{await Ql(async()=>{Kl?.appId===e.appId&&Kl?.sessionGeneration===e.sessionGeneration&&(Sl(self.controller,`Controller not loaded`),await Xl())})},loadPackages:async e=>{await Gl,await Ql(async()=>{eu(e);let{code:t}=e;re(t)&&(t=`import pandas\n${t}`,t=`import duckdb\n${t}`,t=`import sqlglot\n${t}`,t.includes(`polars`)&&(t=`import pyarrow\n${t}`)),await self.pyodide.loadPackagesFromImports(t,{messageCallback:C.log,errorCallback:C.error})})},bridge:async e=>{await Gl;let{functionName:t,payload:n}=e;return Ql(async()=>{let r=eu(e),i=n==null?null:typeof n==`string`?n:JSON.stringify(n),a=i==null?await r[t]():await r[t](i);return typeof a==`string`?JSON.parse(a):a})}});function eu(e){let t=Kl;if(!t||e.appId!==t.appId||e.sessionGeneration!==t.sessionGeneration)throw Error(`The marimo app session is no longer active.`);return t.bridge}const tu=p({transport:ne({transportId:`marimo-transport`}),requestHandler:$l});tu.send(`ready`,{});function nu(){return self.name}export{o as t};