@marimo-team/islands 0.24.1-dev84 → 0.24.1-dev85

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 (46) hide show
  1. package/dist/{ConnectedDataExplorerComponent-BITfN-bU.js → ConnectedDataExplorerComponent-D9EG584s.js} +4 -4
  2. package/dist/{ErrorBoundary-CTvsyaid.js → ErrorBoundary-D-EKz8oE.js} +1 -1
  3. package/dist/assets/__vite-browser-external-Cf4O9gnt.js +1 -0
  4. package/dist/assets/worker-C3TCEtlU.js +98 -0
  5. package/dist/{chat-ui-DhRKl9Ie.js → chat-ui-DpE4Aa_M.js} +6 -6
  6. package/dist/{common-Dbc0p4B7.js → common-CpcWGLR1.js} +9 -9
  7. package/dist/{dropdown-menu-B39I9ARA.js → dropdown-menu-Baf29jmS.js} +1 -1
  8. package/dist/{formats-BEoM6hhG.js → formats-CMBaNtI6.js} +1 -1
  9. package/dist/{glide-data-editor-DEJqXbly.js → glide-data-editor-n5E9BAD8.js} +3 -3
  10. package/dist/{html-to-image-CT8hxf1p.js → html-to-image-LGo891lC.js} +5 -5
  11. package/dist/main.js +20 -19
  12. package/dist/{mermaid-DvIalt_q.js → mermaid-CKjZUiG7.js} +2 -2
  13. package/dist/{process-output-CINXfXUt.js → process-output-BMotjkzK.js} +1 -1
  14. package/dist/{reveal-component-D_HTEWUj.js → reveal-component-X8NH2nCQ.js} +4 -4
  15. package/dist/{spec-BQ36ell9.js → spec-DNZWpXiu.js} +1 -1
  16. package/dist/{toDate-BfSgxzgl.js → toDate-BbnMXiIl.js} +1 -1
  17. package/dist/{useAsyncData-C4YwNjhG.js → useAsyncData-Cyh2jLTR.js} +1 -1
  18. package/dist/{useDeepCompareMemoize-B2mdYxCr.js → useDeepCompareMemoize-BqcHK9ZZ.js} +1 -1
  19. package/dist/{useLifecycle-hEcsyQ2P.js → useLifecycle-foJH5Q8T.js} +1 -1
  20. package/dist/{useTheme-T2IIlG9u.js → useTheme-C2ZreN00.js} +6 -0
  21. package/dist/{vega-component-B2K69XxL.js → vega-component-Cid89pdp.js} +5 -5
  22. package/package.json +1 -1
  23. package/src/__mocks__/requests.ts +1 -0
  24. package/src/components/editor/chrome/panels/file-explorer-panel.tsx +3 -2
  25. package/src/components/editor/file-tree/__tests__/file-explorer-interactions.test.tsx +31 -18
  26. package/src/components/editor/file-tree/__tests__/file-explorer.test.ts +18 -12
  27. package/src/components/editor/file-tree/__tests__/requesting-tree.test.ts +364 -387
  28. package/src/components/editor/file-tree/file-explorer.tsx +137 -97
  29. package/src/components/editor/file-tree/file-name-input.tsx +5 -1
  30. package/src/components/editor/file-tree/file-viewer.tsx +2 -2
  31. package/src/components/editor/file-tree/requesting-tree.tsx +291 -171
  32. package/src/components/editor/file-tree/state.tsx +1 -0
  33. package/src/core/config/__tests__/config-schema.test.ts +15 -0
  34. package/src/core/config/config-schema.ts +15 -0
  35. package/src/core/islands/bridge.ts +1 -0
  36. package/src/core/network/__tests__/requests-network.test.ts +7 -0
  37. package/src/core/network/__tests__/requests-toasting.test.tsx +10 -0
  38. package/src/core/network/requests-lazy.ts +1 -0
  39. package/src/core/network/requests-network.ts +4 -0
  40. package/src/core/network/requests-static.ts +1 -0
  41. package/src/core/network/requests-toasting.tsx +1 -0
  42. package/src/core/network/types.ts +3 -0
  43. package/src/core/wasm/bridge.ts +9 -0
  44. package/src/core/wasm/worker/types.ts +2 -0
  45. package/dist/assets/__vite-browser-external-CLzCcAWX.js +0 -1
  46. package/dist/assets/worker-BX-jM9UB.js +0 -98
@@ -344,6 +344,7 @@ export class IslandsPyodideBridge implements RunRequests, EditRequests {
344
344
  discoverDataSources = throwNotImplemented;
345
345
  validateSQL = throwNotImplemented;
346
346
  openFile = throwNotImplemented;
347
+ getFileRoots = throwNotImplemented;
347
348
  sendListFiles = throwNotImplemented;
348
349
  sendSearchFiles = throwNotImplemented;
349
350
  sendPdb = throwNotImplemented;
@@ -136,6 +136,13 @@ describe("createNetworkRequests", () => {
136
136
  expect(mockClient.GET).toHaveBeenCalledWith("/api/environment");
137
137
  });
138
138
 
139
+ it("getFileRoots should GET /api/files/roots", async () => {
140
+ const requests = createNetworkRequests();
141
+ await requests.getFileRoots();
142
+
143
+ expect(mockClient.GET).toHaveBeenCalledWith("/api/files/roots");
144
+ });
145
+
139
146
  it("getExportAvailability should GET /api/export/availability", async () => {
140
147
  const requests = createNetworkRequests();
141
148
  await requests.getExportAvailability();
@@ -43,4 +43,14 @@ describe("createErrorToastingRequests", () => {
43
43
  expect.objectContaining({ variant: "danger" }),
44
44
  );
45
45
  });
46
+
47
+ it("leaves file-root errors for the requesting tree to surface", async () => {
48
+ const error = new Error("Failed to load roots");
49
+ const requests = createErrorToastingRequests({
50
+ getFileRoots: vi.fn().mockRejectedValue(error),
51
+ } as unknown as EditRequests & RunRequests);
52
+
53
+ await expect(requests.getFileRoots()).rejects.toBe(error);
54
+ expect(toastMock).not.toHaveBeenCalled();
55
+ });
46
56
  });
@@ -98,6 +98,7 @@ const ACTIONS: Record<keyof AllRequests, Action> = {
98
98
  removePackage: "throwError",
99
99
 
100
100
  // Folder and file operations throw errors
101
+ getFileRoots: "startConnection",
101
102
  sendListFiles: "startConnection",
102
103
  sendSearchFiles: "startConnection",
103
104
  sendCreateFileOrFolder: "throwError",
@@ -319,6 +319,10 @@ export function createNetworkRequests(): EditRequests & RunRequests {
319
319
  })
320
320
  .then(handleResponseReturnNull);
321
321
  },
322
+ getFileRoots: async () => {
323
+ await waitForConnectionOpen();
324
+ return getClient().GET("/api/files/roots").then(handleResponse);
325
+ },
322
326
  sendListFiles: async (request) => {
323
327
  await waitForConnectionOpen();
324
328
  return getClient()
@@ -67,6 +67,7 @@ export function createStaticRequests(): EditRequests & RunRequests {
67
67
  openFile: throwNotInEditMode,
68
68
  getUsageStats: throwNotInEditMode,
69
69
  getEnvironmentInfo: throwNotInEditMode,
70
+ getFileRoots: throwNotInEditMode,
70
71
  sendListFiles: throwNotInEditMode,
71
72
  sendSearchFiles: throwNotInEditMode,
72
73
  sendPdb: throwNotInEditMode,
@@ -48,6 +48,7 @@ export function createErrorToastingRequests(
48
48
  openFile: "Failed to open file",
49
49
  getUsageStats: "", // No toast
50
50
  getEnvironmentInfo: "", // No toast
51
+ getFileRoots: "", // RequestingTree surfaces this error
51
52
  sendListFiles: "Failed to list files",
52
53
  sendSearchFiles: "Failed to search files",
53
54
  sendPdb: "Failed to start debug session",
@@ -50,6 +50,8 @@ export type FileDetailsResponse = schemas["FileDetailsResponse"];
50
50
  export type FileInfo = schemas["FileInfo"];
51
51
  export type FileListRequest = schemas["FileListRequest"];
52
52
  export type FileListResponse = schemas["FileListResponse"];
53
+ export type FileRoot = schemas["FileRoot"];
54
+ export type FileRootsResponse = schemas["FileRootsResponse"];
53
55
  export type FileSearchRequest = schemas["FileSearchRequest"];
54
56
  export type FileSearchResponse = schemas["FileSearchResponse"];
55
57
  export type FileMoveRequest = schemas["FileMoveRequest"];
@@ -197,6 +199,7 @@ export interface EditRequests {
197
199
  sendPdb: (request: DebugCellRequest) => Promise<null>;
198
200
  sendSetBreakpoints: (request: SetBreakpointsRequest) => Promise<null>;
199
201
  // File explorer requests
202
+ getFileRoots: () => Promise<FileRootsResponse>;
200
203
  sendListFiles: (request: FileListRequest) => Promise<FileListResponse>;
201
204
  sendSearchFiles: (request: FileSearchRequest) => Promise<FileSearchResponse>;
202
205
  sendCreateFileOrFolder: (
@@ -26,6 +26,7 @@ import type {
26
26
  FileDeleteResponse,
27
27
  FileDetailsResponse,
28
28
  FileListResponse,
29
+ FileRootsResponse,
29
30
  FileMoveResponse,
30
31
  FileSearchResponse,
31
32
  FileUpdateResponse,
@@ -419,6 +420,14 @@ export class PyodideBridge implements RunRequests, EditRequests {
419
420
  return response as FileListResponse;
420
421
  };
421
422
 
423
+ getFileRoots: EditRequests["getFileRoots"] = async () => {
424
+ const response = await this.rpc.proxy.request.bridge({
425
+ functionName: "file_roots",
426
+ payload: undefined,
427
+ });
428
+ return response as FileRootsResponse;
429
+ };
430
+
422
431
  sendSearchFiles: EditRequests["sendSearchFiles"] = async (request) => {
423
432
  const response = await this.rpc.proxy.request.bridge({
424
433
  functionName: "search_files",
@@ -23,6 +23,7 @@ import type {
23
23
  FileDetailsResponse,
24
24
  FileListRequest,
25
25
  FileListResponse,
26
+ FileRootsResponse,
26
27
  FileMoveRequest,
27
28
  FileMoveResponse,
28
29
  FileSearchRequest,
@@ -84,6 +85,7 @@ export interface RawBridge {
84
85
  save_user_config(request: SaveUserConfigurationRequest): Promise<null>;
85
86
  rename_file(request: string): Promise<string>;
86
87
  list_files(request: FileListRequest): Promise<FileListResponse>;
88
+ file_roots(): Promise<FileRootsResponse>;
87
89
  search_files(request: FileSearchRequest): Promise<FileSearchResponse>;
88
90
  file_details(request: { path: string }): Promise<FileDetailsResponse>;
89
91
  create_file_or_directory(
@@ -1 +0,0 @@
1
- import{t as e}from"./worker-BX-jM9UB.js";var t=e(((e,t)=>{t.exports={}}));export default t();
@@ -1,98 +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?.(oe)}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)}),ee=m;function te(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 ne=new Proxy(te,{get:(e,t,n)=>t in e?Reflect.get(e,t,n):e=>te(t,e)}),re=ne,h=new Map,ie=new Set;function ae(e,t){if(!r.registerHandler)throw d([`registerHandler`],`register message listeners`);if(e===`*`){ie.add(t);return}h.has(e)||h.set(e,new Set),h.get(e)?.add(t)}function g(e,t){if(e===`*`){ie.delete(t);return}h.get(e)?.delete(t),h.get(e)?.size===0&&h.delete(e)}async function oe(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 ie)t(e.id,e.payload);let t=h.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:ee,send:ne,sendProxy:re,addMessageListener:ae,removeMessageListener:g,proxy:{send:re,request:ee},_setDebugHooks:n}}function p(e){return f(e)}const m=`[transport-id]`;function ee(e,t){let{transportId:n}=t;return n==null?e:{[m]:n,data:e}}function te(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 ne(e,t={}){let{transportId:n,filter:r,remotePort:i}=t,a=e,o=i??e,s;return{send(e){o.postMessage(ee(e,{transportId:n}))},registerHandler(e){s=t=>{let i=t.data,[a,o]=te(i,{transportId:n,filter:()=>r?.(t)});a||e(o)},a.addEventListener(`message`,s)},unregisterHandler(){s&&a.removeEventListener(`message`,s)}}}function re(e){return ne(self,e)}const h=/(^|\n)\s*(?:import\s+[^\n#]*\bduckdb\b|from\s+duckdb\b|[^\n#]*\bduckdb\s*\.)/;function ie(e,t){return e.includes(`mo.sql`)||h.test(e)||t?.has(`duckdb`)===!0}var ae=Object.defineProperty,g=(e,t)=>ae(e,`name`,{value:t,configurable:!0}),oe=(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`)}),se=(()=>{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 ce(e){return!isNaN(parseFloat(e))&&isFinite(e)}g(ce,`_isNumber`);function _(e){return e.charAt(0).toUpperCase()+e.substring(1)}g(_,`_capitalize`);function le(e){return function(){return this[e]}}g(le,`_getter`);var ue=[`isConstructor`,`isEval`,`isNative`,`isToplevel`],v=[`columnNumber`,`lineNumber`],y=[`fileName`,`functionName`,`source`],de=ue.concat(v,y,[`args`],[`evalOrigin`]);function b(e){if(e)for(var t=0;t<de.length;t++)e[de[t]]!==void 0&&this[`set`+_(de[t])](e[de[t]])}for(g(b,`StackFrame`),b.prototype={getArgs:g(function(){return this.args},`getArgs`),setArgs:g(function(e){if(Object.prototype.toString.call(e)!==`[object Array]`)throw TypeError(`Args must be an Array`);this.args=e},`setArgs`),getEvalOrigin:g(function(){return this.evalOrigin},`getEvalOrigin`),setEvalOrigin:g(function(e){if(e instanceof b)this.evalOrigin=e;else if(e instanceof Object)this.evalOrigin=new b(e);else throw TypeError(`Eval Origin must be an Object or StackFrame`)},`setEvalOrigin`),toString:g(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`)},b.fromString=g(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 b({functionName:r,args:i||void 0,fileName:s,lineNumber:c||void 0,columnNumber:l||void 0})},`StackFrame$$fromString`),x=0;x<ue.length;x++)b.prototype[`get`+_(ue[x])]=le(ue[x]),b.prototype[`set`+_(ue[x])]=function(e){return function(t){this[e]=!!t}}(ue[x]);var x;for(S=0;S<v.length;S++)b.prototype[`get`+_(v[S])]=le(v[S]),b.prototype[`set`+_(v[S])]=function(e){return function(t){if(!ce(t))throw TypeError(e+` must be a Number`);this[e]=Number(t)}}(v[S]);var S;for(C=0;C<y.length;C++)b.prototype[`get`+_(y[C])]=le(y[C]),b.prototype[`set`+_(y[C])]=function(e){return function(t){this[e]=String(t)}}(y[C]);var C,fe=b;function pe(){var e=/^\s*at .*(\S+:\d+|\(native\))/m,t=/^(eval@)?(\[native code])?$/;return{parse:g(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:g(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:g(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 fe({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:g(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 fe({functionName:e});var t=/((.*".+"[^@]*)?[^@]*)(?:@)/,n=e.match(t),r=n&&n[1]?n[1]:void 0,i=this.extractLocation(e.replace(t,``));return new fe({functionName:r,fileName:i[0],lineNumber:i[1],columnNumber:i[2],source:e})},this)},`ErrorStackParser$$parseFFOrSafari`)}}g(pe,`ErrorStackParser`);var me=new pe;function he(){return typeof API<`u`&&API!==globalThis.API?API.runtimeEnv:ge({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`)})}g(he,`getGlobalRuntimeEnv`);var w=he();function ge(e){let t=e.IN_NODE&&typeof module<`u`&&module.exports&&typeof oe==`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&&_e())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}g(ge,`calculateDerivedFlags`);function _e(){try{return globalThis.importScripts(`data:text/javascript,`),!0}catch{return!1}}g(_e,`isClassicWorker`);var ve,ye,be,xe;async function Se(){if(!w.IN_NODE||(ve=(await import(`./__vite-browser-external-CLzCcAWX.js`).then(e=>c(e.default,1))).default,be=await import(`./__vite-browser-external-CLzCcAWX.js`).then(e=>c(e.default,1)),xe=await import(`./__vite-browser-external-CLzCcAWX.js`).then(e=>c(e.default,1)),(await import(`./__vite-browser-external-CLzCcAWX.js`).then(e=>c(e.default,1))).default,ye=await import(`./__vite-browser-external-CLzCcAWX.js`).then(e=>c(e.default,1)),Ee=ye.sep,typeof oe<`u`))return;let e={fs:be,crypto:await import(`./__vite-browser-external-CLzCcAWX.js`).then(e=>c(e.default,1)),ws:await import(`./__vite-browser-external-CLzCcAWX.js`).then(e=>c(e.default,1)),child_process:await import(`./__vite-browser-external-CLzCcAWX.js`).then(e=>c(e.default,1))};globalThis.require=function(t){return e[t]}}g(Se,`initNodeModules`);function Ce(e,t){return ye.resolve(t||`.`,e)}g(Ce,`node_resolvePath`);function we(e,t){return t===void 0&&(t=location),new URL(e,t).toString()}g(we,`browser_resolvePath`);var Te=w.IN_NODE?Ce:w.IN_SHELL?g(e=>e,`resolvePath`):we,Ee;w.IN_NODE||(Ee=`/`);function De(e,t){return e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?{response:fetch(e)}:{binary:xe.readFile(e).then(e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength))}}g(De,`node_getBinaryResponse`);function Oe(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)))}}g(Oe,`shell_getBinaryResponse`);function ke(e,t){let n=new URL(e,location);return{response:fetch(n,t?{integrity:t}:{})}}g(ke,`browser_getBinaryResponse`);var Ae=w.IN_NODE?De:w.IN_SHELL?Oe:ke;async function je(e,t){let{response:n,binary:r}=Ae(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())}g(je,`loadBinaryFile`);var Me=w.IN_NODE?Ne:g(async e=>await import(e),`loadScript`);async function Ne(e){return e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?await import(e):await import(ve.pathToFileURL(e).href)}g(Ne,`nodeLoadScript`);async function Pe(e){if(w.IN_NODE){await Se();let t=await xe.readFile(e,{encoding:`utf8`});return JSON.parse(t)}if(w.IN_SHELL){let t=read(e);return JSON.parse(t)}return await(await fetch(e)).json()}g(Pe,`loadLockFile`);async function Fe(){if(w.IN_NODE_COMMONJS)return __dirname;let e;try{throw Error()}catch(t){e=t}let t=me.parse(e)[0].fileName;if(w.IN_NODE&&!t.startsWith(`file://`)&&(t=`file://${t}`),w.IN_NODE_ESM){let e=await import(`./__vite-browser-external-CLzCcAWX.js`).then(e=>c(e.default,1));return(await import(`./__vite-browser-external-CLzCcAWX.js`).then(e=>c(e.default,1))).fileURLToPath(e.dirname(t))}let n=t.lastIndexOf(Ee);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)}g(Fe,`calculateDirname`);function Ie(e){return e.substring(0,e.lastIndexOf(`/`)+1)||globalThis.location?.toString()||`.`}g(Ie,`calculateInstallBaseUrl`);function Le(e){let t=e.FS,n=e.FS.filesystems.MEMFS,r=e.PATH,i={DIR_MODE:16895,FILE_MODE:33279,mount:g(function(e){if(!e.opts.fileSystemHandle)throw Error(`opts.fileSystemHandle is required`);return n.mount.apply(null,arguments)},`mount`),syncfs:g(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:g(e=>{let n=Object.create(null);function i(e){return e!==`.`&&e!==`..`}g(i,`isRealDir`);function a(e){return t=>r.join2(e,t)}g(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:g(async e=>{let t=Object.create(null),n=await Re(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:g(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:g((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:g(e=>{var n=t.stat(e);t.isDir(n.mode)?t.rmdir(e):t.isFile(n.mode)&&t.unlink(e)},`removeLocalEntry`),loadRemoteEntry:g(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:g(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:g(async(e,t)=>{await e.get(r.dirname(t)).removeEntry(r.basename(t)),e.delete(t)},`removeRemoteEntry`),reconcile:g(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}g(Le,`initializeNativeFS`);var Re=g(async e=>{let t=[];async function n(e){for await(let r of e.values())t.push(r),r.kind===`directory`&&await n(r)}g(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`),ze=se(`AGFzbQEAAAABDANfAGAAAW9gAW8BfwMDAgECBygCE0pzdl9HZXRFcnJvcl9pbXBvcnQAAA5Kc3ZFcnJvcl9DaGVjawABChMCBwD7AQD7GwsJACAA+xr7FAAL`),Be=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(ze);return await WebAssembly.instantiate(e)}catch(e){if(e instanceof WebAssembly.CompileError)return;throw e}}();async function Ve(){let e=await Be;if(e)return e.exports;let t=Symbol(`error marker`);return{Jsv_GetError_import:g(()=>t,`Jsv_GetError_import`),JsvError_Check:g(e=>e===t,`JsvError_Check`)}}g(Ve,`getJsvErrorImport`);function He(e){let t={config:e,runtimeEnv:w},n={noImageDecoding:!0,noAudioDecoding:!0,noWasmDecoding:!1,preRun:Je(e),print:e.stdout,printErr:e.stderr,onExit(e){n.exitCode=e},thisProgram:e._sysExecutable,arguments:e.args,API:t,locateFile:g(t=>e.indexURL+t,`locateFile`),instantiateWasm:Ye(e.indexURL)};return n}g(He,`createSettings`);function Ue(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)}}g(Ue,`createHomeDirectory`);function We(e){return function(t){Object.assign(t.ENV,e)}}g(We,`setEnvironment`);function Ge(e){return e?[async t=>{t.addRunDependency(`fsInitHook`);try{await e(t.FS,{sitePackages:t.API.sitePackages})}finally{t.removeRunDependency(`fsInitHook`)}}]:[]}g(Ge,`callFsInitHook`);function Ke(e){let t=e.HEAPU32[e._Py_Version>>>2];return[t>>>24&255,t>>>16&255,t>>>8&255]}g(Ke,`computeVersionTuple`);function qe(e){let t=je(e);return async e=>{e.API.pyVersionTuple=Ke(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`)}}}g(qe,`installStdlib`);function Je(e){let t;return t=e.stdLibURL==null?e.indexURL+`python_stdlib.zip`:e.stdLibURL,[qe(t),Ue(e.env.HOME),We(e.env),Le,...Ge(e.fsInit)]}g(Je,`getFileSystemInitializationFuncs`);function Ye(e){if(typeof WasmOffsetConverter<`u`)return;let{binary:t,response:n}=Ae(e+`pyodide.asm.wasm`),r=Ve();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)}}(),{}}}g(Ye,`getInstantiateWasmFunc`);var Xe=`314.0.0`;function Ze(e){return e===void 0||e.endsWith(`/`)?e:e+`/`}g(Ze,`withTrailingSlash`);var Qe=Xe;async function $e(e={}){if(await Se(),e.lockFileContents&&e.lockFileURL)throw Error(`Can't pass both lockFileContents and lockFileURL`);let t=e.indexURL||await Fe();if(t=Ze(Te(t)),e.packageBaseUrl=Ze(e.packageBaseUrl),e.cdnUrl=Ze(e.packageBaseUrl??`https://cdn.jsdelivr.net/pyodide/v314.0.0/full/`),!e.lockFileContents){let n=e.lockFileURL??t+`pyodide-lock.json`;e.lockFileContents=Pe(n),e.packageBaseUrl??=Ie(n)}e.indexURL=t,e.packageCacheDir&&=Ze(Te(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}g($e,`initializeConfiguration`);function et(e){let t=He(e),n=t.API;return n.lockFilePromise=Promise.resolve(e.lockFileContents),t}g(et,`createEmscriptenSettings`);async function tt(e){return e.createPyodideModule?e.createPyodideModule:(await Me(`${e.indexURL}pyodide.asm.mjs`)).default}g(tt,`loadWasmScript`);async function nt(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}g(nt,`prepareSnapshot`);async function rt(e,t){let n=await e(t);if(t.exitCode!==void 0)throw new n.ExitStatus(t.exitCode);return n}g(rt,`instantiatePyodideModule`);function it(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: '${Qe}' <==> '${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}")`)}}g(it,`configureAPI`);function at(e,t,n){let r=e.API,i;return t&&(i=r.restoreSnapshot(t)),r.finalizeBootstrap(i,n._snapshotDeserializer)}g(at,`bootstrapPyodide`);async function ot(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}g(ot,`finalizeSetup`);async function st(e={}){let t=await $e(e),n=et(t),r=await tt(t),i=await nt(t,n),a=await rt(r,n);return it(a,t),await ot(at(a,i,t),t)}g(st,`loadPyodide`);function ct(e){return e.includes(`dev`),`v${Qe}`}var lt=class{buffer;started=!1;onMessage;constructor(e){this.onMessage=e,this.buffer=[]}push=e=>{this.started?this.onMessage(e):this.buffer.push(e)};start=()=>{this.started=!0,this.buffer.forEach(e=>this.onMessage(e)),this.buffer=[]}};const ut={NOOP:()=>{},ASYNC_NOOP:async()=>{},THROW:()=>{throw Error(`Should not be called`)},asUpdater:e=>typeof e==`function`?e:()=>e,identity:e=>e},dt=(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=>dt(`${e}:${n}`,t),disabled:(e=!0)=>e?pt:t}},ft={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=>dt(`marimo:${e}`,ft),disabled:(e=!0)=>e?pt:ft},pt={debug:()=>ut.NOOP,log:()=>ut.NOOP,warn:()=>ut.NOOP,error:()=>ut.NOOP,trace:()=>ut.NOOP,get:()=>pt,disabled:()=>pt};function mt(){return typeof window<`u`&&window.Logger||ft}const T=mt();Object.freeze({status:`aborted`});function E(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,"_zod",{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,"name",{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,"init",{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,"name",{value:e}),o}var D=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},ht=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};const gt={};function O(e){return e&&Object.assign(gt,e),gt}function _t(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 vt(e,t){return typeof t==`bigint`?t.toString():t}function yt(e){return{get value(){{let t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function bt(e){return e==null}function xt(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function St(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=t.toString(),i=(r.split(`.`)[1]||``).length;if(i===0&&/\d?e-\d?/.test(r)){let e=r.match(/\d?e-(\d?)/);e?.[1]&&(i=Number.parseInt(e[1]))}let a=n>i?n:i;return Number.parseInt(e.toFixed(a).replace(`.`,``))%Number.parseInt(t.toFixed(a).replace(`.`,``))/10**a}const Ct=Symbol(`evaluating`);function k(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==Ct)return r===void 0&&(r=Ct,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function A(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function j(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function wt(e){return JSON.stringify(e)}function Tt(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}const Et=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function Dt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}const Ot=yt(()=>{if(typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function kt(e){if(Dt(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return Dt(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function At(e){return kt(e)?{...e}:Array.isArray(e)?[...e]:e}const jt=new Set([`string`,`number`,`symbol`]);function Mt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function M(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function N(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 Nt(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}const Pt={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Ft(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`);return M(e,j(e._zod.def,{get shape(){let e={};for(let r in t){if(!(r in n.shape))throw Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return A(this,`shape`,e),e},checks:[]}))}function It(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`);return M(e,j(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return A(this,`shape`,r),r},checks:[]}))}function Lt(e,t){if(!kt(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=e._zod.def.shape;for(let e in t)if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return M(e,j(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return A(this,`shape`,n),n}}))}function Rt(e,t){if(!kt(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return M(e,j(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return A(this,`shape`,n),n}}))}function zt(e,t){return M(e,j(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return A(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:[]}))}function Bt(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw Error(`.partial() cannot be used on object schemas containing refinements`);return M(t,j(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in r))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t])}else for(let t in r)i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t];return A(this,`shape`,i),i},checks:[]}))}function Vt(e,t,n){return M(t,j(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in i))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=new e({type:`nonoptional`,innerType:r[t]}))}else for(let t in r)i[t]=new e({type:`nonoptional`,innerType:r[t]});return A(this,`shape`,i),i}}))}function Ht(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 Ut(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function Wt(e){return typeof e==`string`?e:e?.message}function P(e,t,n){let r={...e,path:e.path??[]};return e.message||(r.message=Wt(e.inst?._zod.def?.error?.(e))??Wt(t?.error?.(e))??Wt(n.customError?.(e))??Wt(n.localeError?.(e))??`Invalid input`),delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function Gt(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function Kt(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}const qt=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,vt,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Jt=E(`$ZodError`,qt),Yt=E(`$ZodError`,qt,{Parent:Error});function Xt(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}function Zt(e,t=e=>e.message){let n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`&&i.errors.length)i.errors.map(e=>r({issues:e}));else if(i.code===`invalid_key`)r({issues:i.issues});else if(i.code===`invalid_element`)r({issues:i.issues});else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(e),n}const Qt=e=>(t,n,r,i)=>{let a=r?Object.assign(r,{async:!1}):{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new D;if(o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>P(e,a,O())));throw Et(t,i?.callee),t}return o.value},$t=e=>async(t,n,r,i)=>{let a=r?Object.assign(r,{async:!0}):{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>P(e,a,O())));throw Et(t,i?.callee),t}return o.value},en=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 D;return a.issues.length?{success:!1,error:new(e??Jt)(a.issues.map(e=>P(e,i,O())))}:{success:!0,data:a.value}},tn=en(Yt),nn=e=>async(t,n,r)=>{let i=r?Object.assign(r,{async:!0}):{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>P(e,i,O())))}:{success:!0,data:a.value}},rn=nn(Yt),an=e=>(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return Qt(e)(t,n,i)},on=e=>(t,n,r)=>Qt(e)(t,n,r),sn=e=>async(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return $t(e)(t,n,i)},cn=e=>async(t,n,r)=>$t(e)(t,n,r),ln=e=>(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return en(e)(t,n,i)},un=e=>(t,n,r)=>en(e)(t,n,r),dn=e=>async(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return nn(e)(t,n,i)},fn=e=>async(t,n,r)=>nn(e)(t,n,r),pn=/^[cC][^\s-]{8,}$/,mn=/^[0-9a-z]+$/,hn=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,gn=/^[0-9a-vA-V]{20}$/,_n=/^[A-Za-z0-9]{27}$/,vn=/^[a-zA-Z0-9_-]{21}$/,yn=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,bn=/^([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})$/,xn=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)$/,Sn=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;function Cn(){return RegExp(`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,`u`)}const wn=/^(?:(?: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])$/,Tn=/^(([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}|:))$/,En=/^((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])$/,Dn=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,On=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,kn=/^[A-Za-z0-9_-]*$/,An=/^\+[1-9]\d{6,14}$/,jn=`(?:(?:\\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])))`,Mn=RegExp(`^${jn}$`);function Nn(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}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Pn(e){return RegExp(`^${Nn(e)}$`)}function Fn(e){let t=Nn({precision:e.precision}),n=[`Z`];e.local&&n.push(``),e.offset&&n.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let r=`${t}(?:${n.join(`|`)})`;return RegExp(`^${jn}T(?:${r})$`)}const In=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},Ln=/^-?\d+$/,Rn=/^-?\d+(?:\.\d+)?$/,zn=/^(?:true|false)$/i,Bn=/^[^A-Z]*$/,Vn=/^[^a-z]*$/,F=E(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Hn={number:`number`,bigint:`bigint`,object:`date`},Un=E(`$ZodCheckLessThan`,(e,t)=>{F.init(e,t);let n=Hn[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin: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})}}),Wn=E(`$ZodCheckGreaterThan`,(e,t)=>{F.init(e,t);let n=Hn[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin: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})}}),Gn=E(`$ZodCheckMultipleOf`,(e,t)=>{F.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),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`?n.value%t.value===BigInt(0):St(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})}}),Kn=E(`$ZodCheckNumberFormat`,(e,t)=>{F.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=Pt[t.format];e._zod.onattach.push(e=>{let r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=a,n&&(r.pattern=Ln)}),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})}}),qn=E(`$ZodCheckMaxLength`,(e,t)=>{var n;F.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!bt(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=Gt(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Jn=E(`$ZodCheckMinLength`,(e,t)=>{var n;F.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!bt(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=Gt(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Yn=E(`$ZodCheckLengthEquals`,(e,t)=>{var n;F.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!bt(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{let r=n.value,i=r.length;if(i===t.length)return;let a=Gt(r),o=i>t.length;n.issues.push({origin:a,...o?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Xn=E(`$ZodCheckStringFormat`,(e,t)=>{var n,r;F.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),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=()=>{})}),Zn=E(`$ZodCheckRegex`,(e,t)=>{Xn.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})}}),Qn=E(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=Bn,Xn.init(e,t)}),$n=E(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=Vn,Xn.init(e,t)}),er=E(`$ZodCheckIncludes`,(e,t)=>{F.init(e,t);let n=Mt(t.includes),r=new RegExp(typeof t.position==`number`?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(r)}),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})}}),tr=E(`$ZodCheckStartsWith`,(e,t)=>{F.init(e,t);let n=RegExp(`^${Mt(t.prefix)}.*`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(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})}}),nr=E(`$ZodCheckEndsWith`,(e,t)=>{F.init(e,t);let n=RegExp(`.*${Mt(t.suffix)}$`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(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})}}),rr=E(`$ZodCheckOverwrite`,(e,t)=>{F.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}});var ir=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),--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?.args,n=[...(this?.content??[``]).map(e=>` ${e}`)];return new e(...t,n.join(`
5
- `))}};const ar={major:4,minor:3,patch:6},I=E(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=ar;let r=[...e._zod.def.checks??[]];e._zod.traits.has(`$ZodCheck`)&&r.unshift(e);for(let t of r)for(let n of t._zod.onattach)n(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(e,t,n)=>{let r=Ht(e),i;for(let a of t){if(a._zod.def.when){if(!a._zod.def.when(e))continue}else if(r)continue;let t=e.issues.length,o=a._zod.check(e);if(o instanceof Promise&&n?.async===!1)throw new D;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=Ht(e,t))});else{if(e.issues.length===t)continue;r||=Ht(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(Ht(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new D;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(i,a)=>{if(a.skipChecks)return e._zod.parse(i,a);if(a.direction===`backward`){let t=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,i,a)):n(t,i,a)}let o=e._zod.parse(i,a);if(o instanceof Promise){if(a.async===!1)throw new D;return o.then(e=>t(e,r,a))}return t(o,r,a)}}k(e,`~standard`,()=>({validate:t=>{try{let n=tn(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return rn(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),or=E(`$ZodString`,(e,t)=>{I.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??In(e._zod.bag),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}}),L=E(`$ZodStringFormat`,(e,t)=>{Xn.init(e,t),or.init(e,t)}),sr=E(`$ZodGUID`,(e,t)=>{t.pattern??=bn,L.init(e,t)}),cr=E(`$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??=xn(e)}else t.pattern??=xn();L.init(e,t)}),lr=E(`$ZodEmail`,(e,t)=>{t.pattern??=Sn,L.init(e,t)}),ur=E(`$ZodURL`,(e,t)=>{L.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.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&&(t.protocol.lastIndex=0,t.protocol.test(i.protocol.endsWith(`:`)?i.protocol.slice(0,-1):i.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:r;return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),dr=E(`$ZodEmoji`,(e,t)=>{t.pattern??=Cn(),L.init(e,t)}),fr=E(`$ZodNanoID`,(e,t)=>{t.pattern??=vn,L.init(e,t)}),pr=E(`$ZodCUID`,(e,t)=>{t.pattern??=pn,L.init(e,t)}),mr=E(`$ZodCUID2`,(e,t)=>{t.pattern??=mn,L.init(e,t)}),hr=E(`$ZodULID`,(e,t)=>{t.pattern??=hn,L.init(e,t)}),gr=E(`$ZodXID`,(e,t)=>{t.pattern??=gn,L.init(e,t)}),_r=E(`$ZodKSUID`,(e,t)=>{t.pattern??=_n,L.init(e,t)}),vr=E(`$ZodISODateTime`,(e,t)=>{t.pattern??=Fn(t),L.init(e,t)}),yr=E(`$ZodISODate`,(e,t)=>{t.pattern??=Mn,L.init(e,t)}),br=E(`$ZodISOTime`,(e,t)=>{t.pattern??=Pn(t),L.init(e,t)}),xr=E(`$ZodISODuration`,(e,t)=>{t.pattern??=yn,L.init(e,t)}),Sr=E(`$ZodIPv4`,(e,t)=>{t.pattern??=wn,L.init(e,t),e._zod.bag.format=`ipv4`}),Cr=E(`$ZodIPv6`,(e,t)=>{t.pattern??=Tn,L.init(e,t),e._zod.bag.format=`ipv6`,e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}}),wr=E(`$ZodCIDRv4`,(e,t)=>{t.pattern??=En,L.init(e,t)}),Tr=E(`$ZodCIDRv6`,(e,t)=>{t.pattern??=Dn,L.init(e,t),e._zod.check=n=>{let r=n.value.split(`/`);try{if(r.length!==2)throw Error();let[e,t]=r;if(!t)throw Error();let n=Number(t);if(`${n}`!==t||n<0||n>128)throw Error();new URL(`http://[${e}]`)}catch{n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}}});function Er(e){if(e===``)return!0;if(e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}const Dr=E(`$ZodBase64`,(e,t)=>{t.pattern??=On,L.init(e,t),e._zod.bag.contentEncoding=`base64`,e._zod.check=n=>{Er(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}});function Or(e){if(!kn.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return Er(t.padEnd(Math.ceil(t.length/4)*4,`=`))}const kr=E(`$ZodBase64URL`,(e,t)=>{t.pattern??=kn,L.init(e,t),e._zod.bag.contentEncoding=`base64url`,e._zod.check=n=>{Or(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),Ar=E(`$ZodE164`,(e,t)=>{t.pattern??=An,L.init(e,t)});function jr(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 Mr=E(`$ZodJWT`,(e,t)=>{L.init(e,t),e._zod.check=n=>{jr(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),Nr=E(`$ZodNumber`,(e,t)=>{I.init(e,t),e._zod.pattern=e._zod.bag.pattern??Rn,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:`Infinity`:void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),Pr=E(`$ZodNumberFormat`,(e,t)=>{Kn.init(e,t),Nr.init(e,t)}),Fr=E(`$ZodBoolean`,(e,t)=>{I.init(e,t),e._zod.pattern=zn,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}}),Ir=E(`$ZodUnknown`,(e,t)=>{I.init(e,t),e._zod.parse=e=>e}),Lr=E(`$ZodNever`,(e,t)=>{I.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function Rr(e,t,n){e.issues.length&&t.issues.push(...Ut(n,e.issues)),t.value[n]=e.value}const zr=E(`$ZodArray`,(e,t)=>{I.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:`array`,code:`invalid_type`,input:i,inst:e}),n;n.value=Array(i.length);let a=[];for(let e=0;e<i.length;e++){let o=i[e],s=t.element._zod.run({value:o,issues:[]},r);s instanceof Promise?a.push(s.then(t=>Rr(t,n,e))):Rr(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function Br(e,t,n,r,i){if(e.issues.length){if(i&&!(n in r))return;t.issues.push(...Ut(n,e.issues))}e.value===void 0?n in r&&(t.value[n]=void 0):t.value[n]=e.value}function Vr(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${n}": expected a Zod schema`);let n=Nt(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function Hr(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optout===`optional`;for(let i in t){if(s.has(i))continue;if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>Br(e,n,i,t,u))):Br(a,n,i,t,u)}return o.length&&n.issues.push({code:`unrecognized_keys`,keys:o,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}const Ur=E(`$ZodObject`,(e,t)=>{if(I.init(e,t),!Object.getOwnPropertyDescriptor(t,`shape`)?.get){let e=t.shape;Object.defineProperty(t,"shape",{get:()=>{let n={...e};return Object.defineProperty(t,"shape",{value:n}),n}})}let n=yt(()=>Vr(t));k(e._zod,`propValues`,()=>{let e=t.shape,n={};for(let t in e){let r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set);for(let e of r.values)n[t].add(e)}}return n});let r=Dt,i=t.catchall,a;e._zod.parse=(t,o)=>{a??=n.value;let s=t.value;if(!r(s))return t.issues.push({expected:`object`,code:`invalid_type`,input:s,inst:e}),t;t.value={};let c=[],l=a.shape;for(let e of a.keys){let n=l[e],r=n._zod.optout===`optional`,i=n._zod.run({value:s[e],issues:[]},o);i instanceof Promise?c.push(i.then(n=>Br(n,t,e,s,r))):Br(i,t,e,s,r)}return i?Hr(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}}),Wr=E(`$ZodObjectJIT`,(e,t)=>{Ur.init(e,t);let n=e._zod.parse,r=yt(()=>Vr(t)),i=e=>{let t=new ir([`shape`,`payload`,`ctx`]),n=r.value,i=e=>{let t=wt(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write(`const input = payload.value;`);let a=Object.create(null),o=0;for(let e of n.keys)a[e]=`key_${o++}`;t.write(`const newResult = {};`);for(let r of n.keys){let n=a[r],o=wt(r),s=e[r]?._zod?.optout===`optional`;t.write(`const ${n} = ${i(r)};`),s?t.write(`
6
- if (${n}.issues.length) {
7
- if (${o} in input) {
8
- payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
9
- ...iss,
10
- path: iss.path ? [${o}, ...iss.path] : [${o}]
11
- })));
12
- }
13
- }
14
-
15
- if (${n}.value === undefined) {
16
- if (${o} in input) {
17
- newResult[${o}] = undefined;
18
- }
19
- } else {
20
- newResult[${o}] = ${n}.value;
21
- }
22
-
23
- `):t.write(`
24
- if (${n}.issues.length) {
25
- payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
26
- ...iss,
27
- path: iss.path ? [${o}, ...iss.path] : [${o}]
28
- })));
29
- }
30
-
31
- if (${n}.value === undefined) {
32
- if (${o} in input) {
33
- newResult[${o}] = undefined;
34
- }
35
- } else {
36
- newResult[${o}] = ${n}.value;
37
- }
38
-
39
- `)}t.write(`payload.value = newResult;`),t.write(`return payload;`);let s=t.compile();return(t,n)=>s(e,t,n)},a,o=Dt,s=!gt.jitless,c=s&&Ot.value,l=t.catchall,u;e._zod.parse=(d,f)=>{u??=r.value;let p=d.value;return o(p)?s&&c&&f?.async===!1&&f.jitless!==!0?(a||=i(t.shape),d=a(d,f),l?Hr([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)}});function Gr(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=>!Ht(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=>P(e,r,O())))}),t)}const Kr=E(`$ZodUnion`,(e,t)=>{I.init(e,t),k(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),k(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),k(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),k(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>xt(e.source)).join(`|`)})$`)}});let n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(i,a)=>{if(n)return r(i,a);let o=!1,s=[];for(let e of t.options){let t=e._zod.run({value:i.value,issues:[]},a);if(t instanceof Promise)s.push(t),o=!0;else{if(t.issues.length===0)return t;s.push(t)}}return o?Promise.all(s).then(t=>Gr(t,i,e,a)):Gr(s,i,e,a)}}),qr=E(`$ZodIntersection`,(e,t)=>{I.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])=>Yr(e,t,n)):Yr(e,i,a)}});function Jr(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(kt(e)&&kt(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=Jr(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=Jr(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 Yr(e,t,n){let r=new Map,i;for(let n of t.issues)if(n.code===`unrecognized_keys`){i??=n;for(let e of n.keys)r.has(e)||r.set(e,{}),r.get(e).l=!0}else e.issues.push(n);for(let t of n.issues)if(t.code===`unrecognized_keys`)for(let e of t.keys)r.has(e)||r.set(e,{}),r.get(e).r=!0;else e.issues.push(t);let a=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(a.length&&i&&e.issues.push({...i,keys:a}),Ht(e))return e;let o=Jr(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}const Xr=E(`$ZodRecord`,(e,t)=>{I.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!kt(i))return n.issues.push({expected:`record`,code:`invalid_type`,input:i,inst:e}),n;let a=[],o=t.keyType._zod.values;if(o){n.value={};let s=new Set;for(let e of o)if(typeof e==`string`||typeof e==`number`||typeof e==`symbol`){s.add(typeof e==`number`?e.toString():e);let o=t.valueType._zod.run({value:i[e],issues:[]},r);o instanceof Promise?a.push(o.then(t=>{t.issues.length&&n.issues.push(...Ut(e,t.issues)),n.value[e]=t.value})):(o.issues.length&&n.issues.push(...Ut(e,o.issues)),n.value[e]=o.value)}let c;for(let e in i)s.has(e)||(c??=[],c.push(e));c&&c.length>0&&n.issues.push({code:`unrecognized_keys`,input:i,inst:e,keys:c})}else{n.value={};for(let o of Reflect.ownKeys(i)){if(o===`__proto__`)continue;let s=t.keyType._zod.run({value:o,issues:[]},r);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof o==`string`&&Rn.test(o)&&s.issues.length){let e=t.keyType._zod.run({value:Number(o),issues:[]},r);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(s=e)}if(s.issues.length){t.mode===`loose`?n.value[o]=i[o]:n.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>P(e,r,O())),input:o,path:[o],inst:e});continue}let c=t.valueType._zod.run({value:i[o],issues:[]},r);c instanceof Promise?a.push(c.then(e=>{e.issues.length&&n.issues.push(...Ut(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...Ut(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),Zr=E(`$ZodEnum`,(e,t)=>{I.init(e,t);let n=_t(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>jt.has(typeof e)).map(e=>typeof e==`string`?Mt(e):e.toString()).join(`|`)})$`),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}}),Qr=E(`$ZodTransform`,(e,t)=>{I.init(e,t),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new ht(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 D;return n.value=i,n}});function $r(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const ei=E(`$ZodOptional`,(e,t)=>{I.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,k(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),k(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${xt(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(t=>$r(t,e.value)):$r(r,e.value)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),ti=E(`$ZodExactOptional`,(e,t)=>{ei.init(e,t),k(e._zod,`values`,()=>t.innerType._zod.values),k(e._zod,`pattern`,()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),ni=E(`$ZodNullable`,(e,t)=>{I.init(e,t),k(e._zod,`optin`,()=>t.innerType._zod.optin),k(e._zod,`optout`,()=>t.innerType._zod.optout),k(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${xt(e.source)}|null)$`):void 0}),k(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),ri=E(`$ZodDefault`,(e,t)=>{I.init(e,t),e._zod.optin=`optional`,k(e._zod,`values`,()=>t.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=>ii(e,t)):ii(r,t)}});function ii(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const ai=E(`$ZodPrefault`,(e,t)=>{I.init(e,t),e._zod.optin=`optional`,k(e._zod,`values`,()=>t.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))}),oi=E(`$ZodNonOptional`,(e,t)=>{I.init(e,t),k(e._zod,`values`,()=>{let e=t.innerType._zod.values;return e?new Set([...e].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=>si(t,e)):si(i,e)}});function si(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}const ci=E(`$ZodCatch`,(e,t)=>{I.init(e,t),k(e._zod,`optin`,()=>t.innerType._zod.optin),k(e._zod,`optout`,()=>t.innerType._zod.optout),k(e._zod,`values`,()=>t.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(e,n);return r instanceof Promise?r.then(r=>(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>P(e,n,O()))},input:e.value}),e.issues=[]),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>P(e,n,O()))},input:e.value}),e.issues=[]),e)}}),li=E(`$ZodPipe`,(e,t)=>{I.init(e,t),k(e._zod,`values`,()=>t.in._zod.values),k(e._zod,`optin`,()=>t.in._zod.optin),k(e._zod,`optout`,()=>t.out._zod.optout),k(e._zod,`propValues`,()=>t.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=>ui(e,t.in,n)):ui(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>ui(e,t.out,n)):ui(r,t.out,n)}});function ui(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}const di=E(`$ZodReadonly`,(e,t)=>{I.init(e,t),k(e._zod,`propValues`,()=>t.innerType._zod.propValues),k(e._zod,`values`,()=>t.innerType._zod.values),k(e._zod,`optin`,()=>t.innerType?._zod?.optin),k(e._zod,`optout`,()=>t.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(fi):fi(r)}});function fi(e){return e.value=Object.freeze(e.value),e}const pi=E(`$ZodCustom`,(e,t)=>{F.init(e,t),I.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=>mi(t,n,r,e));mi(i,n,r,e)}});function mi(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(Kt(e))}}var hi,gi=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 _i(){return new gi}(hi=globalThis).__zod_globalRegistry??(hi.__zod_globalRegistry=_i());const vi=globalThis.__zod_globalRegistry;function yi(e,t){return new e({type:`string`,...N(t)})}function bi(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...N(t)})}function xi(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...N(t)})}function Si(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...N(t)})}function Ci(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...N(t)})}function wi(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...N(t)})}function Ti(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...N(t)})}function Ei(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...N(t)})}function Di(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...N(t)})}function Oi(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...N(t)})}function ki(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...N(t)})}function Ai(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...N(t)})}function ji(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...N(t)})}function Mi(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...N(t)})}function Ni(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...N(t)})}function Pi(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...N(t)})}function Fi(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...N(t)})}function Ii(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...N(t)})}function Li(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...N(t)})}function Ri(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...N(t)})}function zi(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...N(t)})}function Bi(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...N(t)})}function Vi(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...N(t)})}function Hi(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...N(t)})}function Ui(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...N(t)})}function Wi(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...N(t)})}function Gi(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...N(t)})}function Ki(e,t){return new e({type:`number`,checks:[],...N(t)})}function qi(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...N(t)})}function Ji(e,t){return new e({type:`boolean`,...N(t)})}function Yi(e){return new e({type:`unknown`})}function Xi(e,t){return new e({type:`never`,...N(t)})}function Zi(e,t){return new Un({check:`less_than`,...N(t),value:e,inclusive:!1})}function Qi(e,t){return new Un({check:`less_than`,...N(t),value:e,inclusive:!0})}function $i(e,t){return new Wn({check:`greater_than`,...N(t),value:e,inclusive:!1})}function ea(e,t){return new Wn({check:`greater_than`,...N(t),value:e,inclusive:!0})}function ta(e,t){return new Gn({check:`multiple_of`,...N(t),value:e})}function na(e,t){return new qn({check:`max_length`,...N(t),maximum:e})}function ra(e,t){return new Jn({check:`min_length`,...N(t),minimum:e})}function ia(e,t){return new Yn({check:`length_equals`,...N(t),length:e})}function aa(e,t){return new Zn({check:`string_format`,format:`regex`,...N(t),pattern:e})}function oa(e){return new Qn({check:`string_format`,format:`lowercase`,...N(e)})}function sa(e){return new $n({check:`string_format`,format:`uppercase`,...N(e)})}function ca(e,t){return new er({check:`string_format`,format:`includes`,...N(t),includes:e})}function la(e,t){return new tr({check:`string_format`,format:`starts_with`,...N(t),prefix:e})}function ua(e,t){return new nr({check:`string_format`,format:`ends_with`,...N(t),suffix:e})}function R(e){return new rr({check:`overwrite`,tx:e})}function da(e){return R(t=>t.normalize(e))}function fa(){return R(e=>e.trim())}function pa(){return R(e=>e.toLowerCase())}function ma(){return R(e=>e.toUpperCase())}function ha(){return R(e=>Tt(e))}function ga(e,t,n){return new e({type:`array`,element:t,...N(n)})}function _a(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...N(n)})}function va(e){let t=ya(n=>(n.addIssue=e=>{if(typeof e==`string`)n.issues.push(Kt(e,n.value,t._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,r.input??=n.value,r.inst??=t,r.continue??=!t._zod.def.abort,n.issues.push(Kt(r))}},e(n.value,n)));return t}function ya(e,t){let n=new F({check:`custom`,...N(t)});return n._zod.check=e,n}function ba(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??vi,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,external:e?.external??void 0}}function z(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);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,z(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Object.assign(o.schema,c),t.io===`input`&&B(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&o.schema._prefault&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function xa(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);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}/${a}`}}if(t[1]===n)return{ref:`#`};let i=`#/${r}/`,a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+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>
40
-
41
- 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}if(r.count>1&&e.reused===`ref`){a(n);continue}}}function Sa(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)):Object.assign(i,s),Object.assign(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??[]})};for(let t of[...e.seen.entries()].reverse())r(t[0]);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)}Object.assign(i,n.def??n.schema);let a=e.external?.defs??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(a[e.defId]=e.def)}e.external||Object.keys(a).length>0&&(e.target===`draft-2020-12`?i.$defs=a:i.definitions=a);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t[`~standard`],jsonSchema:{input:wa(t,`input`,e.processors),output:wa(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function B(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 B(r.element,n);if(r.type===`set`)return B(r.valueType,n);if(r.type===`lazy`)return B(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`)return B(r.innerType,n);if(r.type===`intersection`)return B(r.left,n)||B(r.right,n);if(r.type===`record`||r.type===`map`)return B(r.keyType,n)||B(r.valueType,n);if(r.type===`pipe`)return B(r.in,n)||B(r.out,n);if(r.type===`object`){for(let e in r.shape)if(B(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(B(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(B(e,n))return!0;return!!(r.rest&&B(r.rest,n))}return!1}const Ca=(e,t={})=>n=>{let r=ba({...n,processors:t});return z(e,r),xa(r,e),Sa(r,e)},wa=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=ba({...i??{},target:a,io:t,processors:n});return z(e,o),xa(o,e),Sa(o,e)},Ta={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},Ea=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=Ta[s]??s,i.format===``&&delete i.format,s===`time`&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];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}))])}},Da=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;i.type=typeof s==`string`&&s.includes(`int`)?`integer`:`number`,typeof u==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u),typeof a==`number`&&(i.minimum=a,typeof u==`number`&&t.target!==`draft-04`&&(u>=a?delete i.minimum:delete i.exclusiveMinimum)),typeof l==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l),typeof o==`number`&&(i.maximum=o,typeof l==`number`&&t.target!==`draft-04`&&(l<=o?delete i.maximum:delete i.exclusiveMaximum)),typeof c==`number`&&(i.multipleOf=c)},Oa=(e,t,n,r)=>{n.type=`boolean`},ka=(e,t,n,r)=>{n.not={}},Aa=(e,t,n,r)=>{let i=e._zod.def,a=_t(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},ja=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},Ma=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},Na=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=z(a.element,t,{...r,path:[...r.path,`items`]})},Pa=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`,i.properties={};let o=a.shape;for(let e in o)i.properties[e]=z(o[e],t,{...r,path:[...r.path,`properties`,e]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e]._zod;return t.io===`input`?n.optin===void 0:n.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=z(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Fa=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>z(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},Ia=(e,t,n,r)=>{let i=e._zod.def,a=z(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=z(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1;n.allOf=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]]},La=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=o._zod.bag?.patterns;if(a.mode===`loose`&&s&&s.size>0){let e=z(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)i.patternProperties[t.source]=e}else(t.target===`draft-07`||t.target===`draft-2020-12`)&&(i.propertyNames=z(a.keyType,t,{...r,path:[...r.path,`propertyNames`]})),i.additionalProperties=z(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]});let c=o._zod.values;if(c){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e)}},Ra=(e,t,n,r)=>{let i=e._zod.def,a=z(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`}]},za=(e,t,n,r)=>{let i=e._zod.def;z(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Ba=(e,t,n,r)=>{let i=e._zod.def;z(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},Va=(e,t,n,r)=>{let i=e._zod.def;z(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,t.io===`input`&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},Ha=(e,t,n,r)=>{let i=e._zod.def;z(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw Error(`Dynamic catch values are not supported in JSON Schema`)}n.default=o},Ua=(e,t,n,r)=>{let i=e._zod.def,a=t.io===`input`?i.in._zod.def.type===`transform`?i.out:i.in:i.out;z(a,t,r);let o=t.seen.get(e);o.ref=a},Wa=(e,t,n,r)=>{let i=e._zod.def;z(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Ga=(e,t,n,r)=>{let i=e._zod.def;z(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Ka=E(`ZodISODateTime`,(e,t)=>{vr.init(e,t),W.init(e,t)});function qa(e){return Hi(Ka,e)}const Ja=E(`ZodISODate`,(e,t)=>{yr.init(e,t),W.init(e,t)});function Ya(e){return Ui(Ja,e)}const Xa=E(`ZodISOTime`,(e,t)=>{br.init(e,t),W.init(e,t)});function Za(e){return Wi(Xa,e)}const Qa=E(`ZodISODuration`,(e,t)=>{xr.init(e,t),W.init(e,t)});function $a(e){return Gi(Qa,e)}const eo=(e,t)=>{Jt.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>Zt(e,t)},flatten:{value:t=>Xt(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,vt,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,vt,2)}},isEmpty:{get(){return e.issues.length===0}}})};E(`ZodError`,eo);const V=E(`ZodError`,eo,{Parent:Error}),to=Qt(V),no=$t(V),ro=en(V),io=nn(V),ao=an(V),oo=on(V),so=sn(V),co=cn(V),lo=ln(V),uo=un(V),fo=dn(V),po=fn(V),H=E(`ZodType`,(e,t)=>(I.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:wa(e,`input`),output:wa(e,`output`)}}),e.toJSONSchema=Ca(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone(j(t,{checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0}),e.with=e.check,e.clone=(t,n)=>M(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.parse=(t,n)=>to(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>ro(e,t,n),e.parseAsync=async(t,n)=>no(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>io(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>ao(e,t,n),e.decode=(t,n)=>oo(e,t,n),e.encodeAsync=async(t,n)=>so(e,t,n),e.decodeAsync=async(t,n)=>co(e,t,n),e.safeEncode=(t,n)=>lo(e,t,n),e.safeDecode=(t,n)=>uo(e,t,n),e.safeEncodeAsync=async(t,n)=>fo(e,t,n),e.safeDecodeAsync=async(t,n)=>po(e,t,n),e.refine=(t,n)=>e.check(bs(t,n)),e.superRefine=t=>e.check(xs(t)),e.overwrite=t=>e.check(R(t)),e.optional=()=>ns(e),e.exactOptional=()=>is(e),e.nullable=()=>os(e),e.nullish=()=>ns(os(e)),e.nonoptional=t=>fs(e,t),e.array=()=>q(e),e.or=t=>qo([e,t]),e.and=t=>Yo(e,t),e.transform=t=>gs(e,es(t)),e.default=t=>cs(e,t),e.prefault=t=>us(e,t),e.catch=t=>ms(e,t),e.pipe=t=>gs(e,t),e.readonly=()=>vs(e),e.describe=t=>{let n=e.clone();return vi.add(n,{description:t}),n},Object.defineProperty(e,"description",{get(){return vi.get(e)?.description},configurable:!0}),e.meta=(...t)=>{if(t.length===0)return vi.get(e);let n=e.clone();return vi.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=t=>t(e),e)),mo=E(`_ZodString`,(e,t)=>{or.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ea(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...t)=>e.check(aa(...t)),e.includes=(...t)=>e.check(ca(...t)),e.startsWith=(...t)=>e.check(la(...t)),e.endsWith=(...t)=>e.check(ua(...t)),e.min=(...t)=>e.check(ra(...t)),e.max=(...t)=>e.check(na(...t)),e.length=(...t)=>e.check(ia(...t)),e.nonempty=(...t)=>e.check(ra(1,...t)),e.lowercase=t=>e.check(oa(t)),e.uppercase=t=>e.check(sa(t)),e.trim=()=>e.check(fa()),e.normalize=(...t)=>e.check(da(...t)),e.toLowerCase=()=>e.check(pa()),e.toUpperCase=()=>e.check(ma()),e.slugify=()=>e.check(ha())}),ho=E(`ZodString`,(e,t)=>{or.init(e,t),mo.init(e,t),e.email=t=>e.check(bi(go,t)),e.url=t=>e.check(Ei(yo,t)),e.jwt=t=>e.check(Vi(Po,t)),e.emoji=t=>e.check(Di(bo,t)),e.guid=t=>e.check(xi(_o,t)),e.uuid=t=>e.check(Si(vo,t)),e.uuidv4=t=>e.check(Ci(vo,t)),e.uuidv6=t=>e.check(wi(vo,t)),e.uuidv7=t=>e.check(Ti(vo,t)),e.nanoid=t=>e.check(Oi(xo,t)),e.guid=t=>e.check(xi(_o,t)),e.cuid=t=>e.check(ki(So,t)),e.cuid2=t=>e.check(Ai(Co,t)),e.ulid=t=>e.check(ji(wo,t)),e.base64=t=>e.check(Ri(jo,t)),e.base64url=t=>e.check(zi(Mo,t)),e.xid=t=>e.check(Mi(To,t)),e.ksuid=t=>e.check(Ni(Eo,t)),e.ipv4=t=>e.check(Pi(Do,t)),e.ipv6=t=>e.check(Fi(Oo,t)),e.cidrv4=t=>e.check(Ii(ko,t)),e.cidrv6=t=>e.check(Li(Ao,t)),e.e164=t=>e.check(Bi(No,t)),e.datetime=t=>e.check(qa(t)),e.date=t=>e.check(Ya(t)),e.time=t=>e.check(Za(t)),e.duration=t=>e.check($a(t))});function U(e){return yi(ho,e)}const W=E(`ZodStringFormat`,(e,t)=>{L.init(e,t),mo.init(e,t)}),go=E(`ZodEmail`,(e,t)=>{lr.init(e,t),W.init(e,t)}),_o=E(`ZodGUID`,(e,t)=>{sr.init(e,t),W.init(e,t)}),vo=E(`ZodUUID`,(e,t)=>{cr.init(e,t),W.init(e,t)}),yo=E(`ZodURL`,(e,t)=>{ur.init(e,t),W.init(e,t)}),bo=E(`ZodEmoji`,(e,t)=>{dr.init(e,t),W.init(e,t)}),xo=E(`ZodNanoID`,(e,t)=>{fr.init(e,t),W.init(e,t)}),So=E(`ZodCUID`,(e,t)=>{pr.init(e,t),W.init(e,t)}),Co=E(`ZodCUID2`,(e,t)=>{mr.init(e,t),W.init(e,t)}),wo=E(`ZodULID`,(e,t)=>{hr.init(e,t),W.init(e,t)}),To=E(`ZodXID`,(e,t)=>{gr.init(e,t),W.init(e,t)}),Eo=E(`ZodKSUID`,(e,t)=>{_r.init(e,t),W.init(e,t)}),Do=E(`ZodIPv4`,(e,t)=>{Sr.init(e,t),W.init(e,t)}),Oo=E(`ZodIPv6`,(e,t)=>{Cr.init(e,t),W.init(e,t)}),ko=E(`ZodCIDRv4`,(e,t)=>{wr.init(e,t),W.init(e,t)}),Ao=E(`ZodCIDRv6`,(e,t)=>{Tr.init(e,t),W.init(e,t)}),jo=E(`ZodBase64`,(e,t)=>{Dr.init(e,t),W.init(e,t)}),Mo=E(`ZodBase64URL`,(e,t)=>{kr.init(e,t),W.init(e,t)}),No=E(`ZodE164`,(e,t)=>{Ar.init(e,t),W.init(e,t)}),Po=E(`ZodJWT`,(e,t)=>{Mr.init(e,t),W.init(e,t)}),Fo=E(`ZodNumber`,(e,t)=>{Nr.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Da(e,t,n,r),e.gt=(t,n)=>e.check($i(t,n)),e.gte=(t,n)=>e.check(ea(t,n)),e.min=(t,n)=>e.check(ea(t,n)),e.lt=(t,n)=>e.check(Zi(t,n)),e.lte=(t,n)=>e.check(Qi(t,n)),e.max=(t,n)=>e.check(Qi(t,n)),e.int=t=>e.check(Lo(t)),e.safe=t=>e.check(Lo(t)),e.positive=t=>e.check($i(0,t)),e.nonnegative=t=>e.check(ea(0,t)),e.negative=t=>e.check(Zi(0,t)),e.nonpositive=t=>e.check(Qi(0,t)),e.multipleOf=(t,n)=>e.check(ta(t,n)),e.step=(t,n)=>e.check(ta(t,n)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function G(e){return Ki(Fo,e)}const Io=E(`ZodNumberFormat`,(e,t)=>{Pr.init(e,t),Fo.init(e,t)});function Lo(e){return qi(Io,e)}const Ro=E(`ZodBoolean`,(e,t)=>{Fr.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Oa(e,t,n,r)});function K(e){return Ji(Ro,e)}const zo=E(`ZodUnknown`,(e,t)=>{Ir.init(e,t),H.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Bo(){return Yi(zo)}const Vo=E(`ZodNever`,(e,t)=>{Lr.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ka(e,t,n,r)});function Ho(e){return Xi(Vo,e)}const Uo=E(`ZodArray`,(e,t)=>{zr.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Na(e,t,n,r),e.element=t.element,e.min=(t,n)=>e.check(ra(t,n)),e.nonempty=t=>e.check(ra(1,t)),e.max=(t,n)=>e.check(na(t,n)),e.length=(t,n)=>e.check(ia(t,n)),e.unwrap=()=>e.element});function q(e,t){return ga(Uo,e,t)}const Wo=E(`ZodObject`,(e,t)=>{Wr.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Pa(e,t,n,r),k(e,`shape`,()=>t.shape),e.keyof=()=>Y(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Bo()}),e.loose=()=>e.clone({...e._zod.def,catchall:Bo()}),e.strict=()=>e.clone({...e._zod.def,catchall:Ho()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>Lt(e,t),e.safeExtend=t=>Rt(e,t),e.merge=t=>zt(e,t),e.pick=t=>Ft(e,t),e.omit=t=>It(e,t),e.partial=(...t)=>Bt(ts,e,t[0]),e.required=(...t)=>Vt(ds,e,t[0])});function Go(e,t){let n={type:`object`,shape:e??{},...N(t)};return new Wo(n)}function J(e,t){return new Wo({type:`object`,shape:e,catchall:Bo(),...N(t)})}const Ko=E(`ZodUnion`,(e,t)=>{Kr.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fa(e,t,n,r),e.options=t.options});function qo(e,t){return new Ko({type:`union`,options:e,...N(t)})}const Jo=E(`ZodIntersection`,(e,t)=>{qr.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ia(e,t,n,r)});function Yo(e,t){return new Jo({type:`intersection`,left:e,right:t})}const Xo=E(`ZodRecord`,(e,t)=>{Xr.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>La(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function Zo(e,t,n){return new Xo({type:`record`,keyType:e,valueType:t,...N(n)})}const Qo=E(`ZodEnum`,(e,t)=>{Zr.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Aa(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);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 Qo({...t,checks:[],...N(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 Qo({...t,checks:[],...N(r),entries:i})}});function Y(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new Qo({type:`enum`,entries:n,...N(t)})}const $o=E(`ZodTransform`,(e,t)=>{Qr.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ma(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new ht(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(Kt(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(Kt(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function es(e){return new $o({type:`transform`,transform:e})}const ts=E(`ZodOptional`,(e,t)=>{ei.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ga(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ns(e){return new ts({type:`optional`,innerType:e})}const rs=E(`ZodExactOptional`,(e,t)=>{ti.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ga(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function is(e){return new rs({type:`optional`,innerType:e})}const as=E(`ZodNullable`,(e,t)=>{ni.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ra(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function os(e){return new as({type:`nullable`,innerType:e})}const ss=E(`ZodDefault`,(e,t)=>{ri.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ba(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function cs(e,t){return new ss({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():At(t)}})}const ls=E(`ZodPrefault`,(e,t)=>{ai.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Va(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function us(e,t){return new ls({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():At(t)}})}const ds=E(`ZodNonOptional`,(e,t)=>{oi.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>za(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function fs(e,t){return new ds({type:`nonoptional`,innerType:e,...N(t)})}const ps=E(`ZodCatch`,(e,t)=>{ci.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ha(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function ms(e,t){return new ps({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}const hs=E(`ZodPipe`,(e,t)=>{li.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ua(e,t,n,r),e.in=t.in,e.out=t.out});function gs(e,t){return new hs({type:`pipe`,in:e,out:t})}const _s=E(`ZodReadonly`,(e,t)=>{di.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Wa(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function vs(e){return new _s({type:`readonly`,innerType:e})}const ys=E(`ZodCustom`,(e,t)=>{pi.init(e,t),H.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ja(e,t,n,r)});function bs(e,t={}){return _a(ys,e,t)}function xs(e){return va(e)}const Ss=Go({detail:U()}),Cs=Go({error:U()});function ws(e){if(!e)return`Unknown error`;if(e instanceof Error){let t=Ss.safeParse(e.cause);return t.success?t.data.detail:Ts(e.message)}if(typeof e==`object`){let t=Ss.safeParse(e);if(t.success)return t.data.detail;let n=Cs.safeParse(e);if(n.success)return n.data.error}try{return JSON.stringify(e)}catch{return String(e)}}function Ts(e){let t=Es(e);if(!t)return e;let n=Ss.safeParse(t);if(n.success)return n.data.detail;let r=Cs.safeParse(t);return r.success?r.data.error:e}function Es(e){try{return JSON.parse(e)}catch{return e}}function Ds(e,t){if(!e)throw Error(t)}const Os=[`pip`,`uv`,`rye`,`poetry`,`pixi`],ks=[`normal`,`compact`,`medium`,`full`,`columns`],As=[`auto`,`native`,`polars`,`lazy-polars`,`pandas`],js=[`html`,`markdown`,`ipynb`],Ms=[`manual`,`ask`,`agent`,`code_mode`],X=Go({api_key:U().optional(),base_url:U().optional(),project:U().optional()}).loose(),Ns=Go({chat_model:U().nullish(),edit_model:U().nullish(),autocomplete_model:U().nullish(),displayed_models:q(U()).default([]),custom_models:q(U()).default([])}),Ps=J({completion:Go({activate_on_typing:K().prefault(!0),signature_hint_on_typing:K().prefault(!1),auto_close_pairs:K().prefault(!0),copilot:qo([K(),Y([`github`,`codeium`,`custom`])]).prefault(!1).transform(e=>e===!0?`github`:e),codeium_api_key:U().nullish()}).prefault({}),save:J({autosave:Y([`off`,`after_delay`]).prefault(`after_delay`),autosave_delay:G().nonnegative().transform(e=>Math.max(e,1e3)).prefault(1e3),format_on_save:K().prefault(!1)}).prefault({}),formatting:J({line_length:G().nonnegative().prefault(79).transform(e=>Math.min(e,1e3))}).prefault({}),keymap:J({preset:Y([`default`,`vim`]).prefault(`default`),overrides:Zo(U(),U()).prefault({}),destructive_delete:K().prefault(!0)}).prefault({}),runtime:J({auto_instantiate:K().prefault(!0),on_cell_change:Y([`lazy`,`autorun`]).prefault(`autorun`),auto_reload:Y([`off`,`lazy`,`autorun`]).prefault(`off`),reactive_tests:K().prefault(!0),watcher_on_save:Y([`lazy`,`autorun`]).prefault(`lazy`),default_sql_output:Y(As).prefault(`auto`),default_auto_download:q(Y(js)).prefault([]),show_tracebacks:K().prefault(!1)}).prefault({}),display:J({theme:Y([`light`,`dark`,`system`]).prefault(`light`),code_editor_font_size:G().nonnegative().prefault(14),cell_output:Y([`above`,`below`]).prefault(`below`),dataframes:Y([`rich`,`plain`]).prefault(`rich`),default_table_page_size:G().prefault(10),default_table_max_columns:G().prefault(50),default_width:Y(ks).prefault(`medium`).transform(e=>e===`normal`?`compact`:e),locale:U().nullable().optional(),reference_highlighting:K().prefault(!0),code_lens:K().prefault(!0)}).prefault({}),package_management:J({manager:Y(Os).prefault(`pip`)}).prefault({}),ai:J({enabled:K().prefault(!0),rules:U().prefault(``),max_tokens:G().int().positive().nullable().optional(),mode:Y(Ms).prefault(`manual`),inline_tooltip:K().prefault(!1),allow_provider_config:K().prefault(!0),open_ai:X.optional(),anthropic:X.optional(),google:X.optional(),ollama:X.optional(),openrouter:X.optional(),wandb:X.optional(),opencode_go:X.optional(),open_ai_compatible:X.optional(),azure:X.optional(),bedrock:J({region_name:U().optional(),profile_name:U().optional(),aws_access_key_id:U().optional(),aws_secret_access_key:U().optional()}).optional(),custom_providers:Zo(U(),X).prefault({}),models:Ns.prefault({displayed_models:[],custom_models:[]})}).prefault({}),experimental:J({markdown:K().optional(),rtc:K().optional()}).prefault(()=>({})),server:J({disable_file_downloads:K().optional(),transport:Y([`websocket`,`sse`]).optional()}).prefault(()=>({})),diagnostics:J({enabled:K().optional(),sql_linter:K().optional()}).prefault(()=>({})),sharing:J({html:K().optional(),wasm:K().optional(),molab:K().optional()}).optional(),mcp:J({presets:q(Y([`marimo`,`context7`])).optional()}).optional().prefault({})}).partial().prefault(()=>({completion:{},save:{},formatting:{},keymap:{},runtime:{},display:{},diagnostics:{},experimental:{},server:{},ai:{},package_management:{},mcp:{}})),Fs=U(),Is=Y(As).prefault(`auto`);Go({width:Y(ks).prefault(`medium`).transform(e=>e===`normal`?`compact`:e),app_title:Fs.nullish(),css_file:U().nullish(),html_head_file:U().nullish(),auto_download:q(Y(js)).prefault([]),sql_output:Is}).prefault(()=>({width:`medium`,auto_download:[],sql_output:`auto`}));function Ls(){return Ps.parse({completion:{},save:{},formatting:{},keymap:{},runtime:{},display:{},diagnostics:{},experimental:{},server:{},ai:{},package_management:{},mcp:{}})}const Rs=e=>new TextDecoder().decode(e);function zs(e){return e.FS}const Bs=`notebook.py`,Vs=`/marimo`,Z={NOTEBOOK_FILENAME:Bs,HOME_DIR:Vs,createHomeDir:e=>{let t=zs(e);try{t.mkdirTree(Vs)}catch{}t.chdir(Vs)},mountFS:e=>{zs(e).mount(e.FS.filesystems.IDBFS,{root:`.`},Vs)},populateFilesToMemory:async e=>{await Hs(e,!0)},persistFilesToRemote:async e=>{await Hs(e,!1)},readNotebook:e=>{let t=zs(e),n=`${Vs}/${Bs}`;return Rs(t.readFile(n))},initNotebookCode:e=>{let{pyodide:t,filename:n,code:r}=e,i=zs(t),a=e=>{try{return Rs(i.readFile(e))}catch{return null}};if(n&&n!==Bs){let e=a(n);if(e)return{code:e,filename:n}}return i.writeFile(Bs,r),{code:r,filename:Bs}}};function Hs(e,t){return new Promise((n,r)=>{zs(e).syncfs(t,e=>{if(e instanceof Error){r(e);return}n()})})}function Us(e){return`marimo-base`}const Ws=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=Ws;var Gs=class{pyodide=null;packageLoadQueue=Promise.resolve();sessionGeneration=0;activeSessionStops=new Set;get requirePyodide(){return Ds(this.pyodide,`Pyodide not loaded`),this.pyodide}async bootstrap(e){return await this.loadPyodideAndPackages(e)}async loadPyodideAndPackages(e){if(!st)throw Error(`loadPyodide is not defined`);let t=Ws.startSpan(`loadPyodide`);try{let n=`https://cdn.jsdelivr.net/pyodide/${e.pyodideVersion}/full/`,r=await st({packages:[`micropip`,`msgspec`,Us(e.version),`Markdown`,`pymdown-extensions`,`narwhals`,`packaging`],_makeSnapshot:!1,lockFileURL:`https://wasm.marimo.app/pyodide-lock.json?v=${e.version}&pyodide=${e.pyodideVersion}`,indexURL:n,packageBaseUrl:n,convertNullToNone:!0});return this.pyodide=r,t.end(`ok`),r}catch(e){throw T.error(`Failed to load Pyodide`,e),e}}async mountFilesystem(e){let t=Ws.startSpan(`mountFilesystem`);return Z.createHomeDir(this.requirePyodide),Z.mountFS(this.requirePyodide),await Z.populateFilesToMemory(this.requirePyodide),t.end(`ok`),Z.initNotebookCode({pyodide:this.requirePyodide,code:e.code,filename:e.filename})}async startSession(e){let t=this.sessionGeneration,{code:n,filename:r,onMessage:i,queryParameters:a,userConfig:o}=e;self.messenger={callback:i},self.query_params=a,self.user_config=o;let s=Ws.startSpan(`startSession.runPython`),c=r||Z.NOTEBOOK_FILENAME,l=this.requirePyodide.runPython(`
42
- print("[py] Starting marimo...")
43
- import asyncio
44
- import gc
45
- import js
46
- from marimo._pyodide.bootstrap import create_session, instantiate
47
-
48
- assert js.messenger, "messenger is not defined"
49
- assert js.query_params, "query_params is not defined"
50
-
51
- def create_session_resources():
52
- session, bridge = create_session(
53
- filename="${c}",
54
- query_params=js.query_params.to_py(),
55
- message_callback=js.messenger.callback,
56
- user_config=js.user_config.to_py(),
57
- )
58
- session_task = None
59
-
60
- def init(auto_instantiate=True):
61
- nonlocal session_task
62
- instantiate(session, auto_instantiate)
63
- session_task = asyncio.create_task(session.start())
64
-
65
- async def stop():
66
- nonlocal bridge, session, session_task
67
- task = session_task
68
- kernel_task = getattr(session, "kernel_task", None)
69
- if kernel_task is None:
70
- if task is not None:
71
- task.cancel()
72
- else:
73
- kernel_task.stop()
74
- if task is not None:
75
- await asyncio.gather(task, return_exceptions=True)
76
- if bridge is not None:
77
- bridge.session = None
78
- task = None
79
- kernel_task = None
80
- session_task = None
81
- session = None
82
- bridge = None
83
- gc.collect()
84
-
85
- with open("${c}", "r") as f:
86
- packages = session.find_packages(f.read())
87
-
88
- return bridge, init, packages, stop
89
-
90
- create_session_resources()`);s.end();let u,d,f,p;try{[u,d,f,p]=l}finally{l.destroy()}let m;try{m=new Set(f.toJs())}catch(e){throw u.destroy(),d.destroy(),p.destroy(),e}finally{f.destroy()}this.activeSessionStops.add(p);let ee=this.packageLoadQueue.then(()=>{if(t===this.sessionGeneration)return this.loadNotebookDeps(n,m)});return this.packageLoadQueue=ee.catch(()=>void 0),ee.then(()=>{if(t===this.sessionGeneration)return d(o.runtime.auto_instantiate)}).catch(e=>{T.error(`Failed to load notebook dependencies`,e)}).finally(()=>d.destroy()),u}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;ie(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=Ws.startSpan(`pyodide.loadPackage`);await n.loadPackagesFromImports(e,{errorCallback:T.error,messageCallback:T.log}),i.end(),i=Ws.startSpan(`micropip.install`);let a=r.filter(e=>!n.loadedPackages[e]);a.length>0&&await n.runPythonAsync(`
91
- import micropip
92
- import sys
93
- # Filter out builtins
94
- missing = [p for p in ${JSON.stringify(a)} if p not in sys.modules]
95
- if len(missing) > 0:
96
- print("Loading from micropip:", missing)
97
- await micropip.install(missing)
98
- `).catch(e=>{T.error(`Failed to load packages from micropip`,e)}),i.end()}},Ks=class extends Gs{async bootstrap(e){return await super.bootstrap(e)}async mountFilesystem(e){let{code:t,filename:n}=e;try{return Z.createHomeDir(this.requirePyodide),Z.initNotebookCode({pyodide:this.requirePyodide,code:t,filename:n})}catch(e){T.error(e)}return{code:t,filename:n}}async startSession(e){return super.startSession({queryParameters:{},code:e.code,filename:e.filename,onMessage:e.onMessage,userConfig:Ls()})}};async function qs(){let e=nc(),t=ct(e);try{self.controller=new Ks,self.pyodide=await self.controller.bootstrap({version:e,pyodideVersion:t})}catch(e){T.error(`Error bootstrapping`,e),$.send.initializedError({error:ws(e)})}}const Js=qs(),Ys=new lt(e=>{$.send.kernelMessage(e)});let Q,Xs=Promise.resolve();async function Zs(e,t){await Js;try{Ds(self.controller,`Controller not loaded`),t&&await Qs();let n=await self.controller.mountFilesystem({code:e.code,filename:`app-${e.appId}.py`}),r=await self.controller.startSession({...n,onMessage:t=>{Ys.push({message:t,sessionGeneration:e.sessionGeneration})}});Q?r.destroy():Q={appId:e.appId,bridge:r,sessionGeneration:e.sessionGeneration},$.send.initialized({})}catch(e){throw $.send.initializedError({error:ws(e)}),e}}async function Qs(){let e=Q;await self.controller.stopSession(),Q=void 0,(e?.bridge)?.destroy()}function $s(e){let t=Xs.then(e);return Xs=t.then(()=>void 0,()=>void 0),t}const ec=u({startSession:async e=>{await $s(()=>Zs(e,!1))},replaceSession:async e=>{await $s(()=>Zs(e,!0))},stopSession:async e=>{await $s(async()=>{Q?.appId===e.appId&&Q?.sessionGeneration===e.sessionGeneration&&(Ds(self.controller,`Controller not loaded`),await Qs())})},loadPackages:async e=>{await Js,await $s(async()=>{tc(e);let{code:t}=e;ie(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:T.log,errorCallback:T.error})})},bridge:async e=>{await Js;let{functionName:t,payload:n}=e;return $s(async()=>{let r=tc(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 tc(e){let t=Q;if(!t||e.appId!==t.appId||e.sessionGeneration!==t.sessionGeneration)throw Error(`The marimo app session is no longer active.`);return t.bridge}const $=p({transport:re({transportId:`marimo-transport`}),requestHandler:ec});$.send(`ready`,{}),$.addMessageListener(`consumerReady`,async()=>{await Js,Ys.start()});function nc(){return self.name}export{o as t};