@marimo-team/frontend 0.25.3-dev108 → 0.25.3-dev111
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.
- package/dist/assets/__vite-browser-external-CC-8m5lM.js +1 -0
- package/dist/assets/__vite-browser-external-XYxUVbCI.js +1 -0
- package/dist/assets/{edit-page-EmacXgdB.js → edit-page-DQIDFr6D.js} +1 -1
- package/dist/assets/{index-hwaZTQ9l.js → index-BK10QsEp.js} +3 -3
- package/dist/assets/{panels-B0lqLcI0.js → panels-BYAbCxyB.js} +1 -1
- package/dist/assets/{run-page-DHE6ET5K.js → run-page-WQVzpHJp.js} +1 -1
- package/dist/assets/{save-worker-pCkSHhuz.js → save-worker-hzK9hmkP.js} +1 -1
- package/dist/assets/{state-DAqdiGqq.js → state-Djmjs8Ik.js} +1 -1
- package/dist/assets/{worker-bSCjCvwz.js → worker-C_3ZriwH.js} +1 -1
- package/dist/index.html +2 -2
- package/package.json +1 -1
- package/src/hooks/useDebounce.ts +1 -2
- package/src/hooks/useEventListener.ts +1 -2
- package/src/utils/tracer.ts +9 -5
- package/dist/assets/__vite-browser-external-8vDMR0Kk.js +0 -1
- package/dist/assets/__vite-browser-external-mKcnhO20.js +0 -1
|
@@ -54,7 +54,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
54
54
|
|
|
55
55
|
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}r.count>1&&e.reused===`ref`&&a(n)}e.external&&(e.sharedDefsExtractedFor=e.external)}function Sa(e){let t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;let n=[];for(let e of t){if(!e||typeof e!=`object`)return;Sa(e);let t=Object.keys(e);if(t.length!==1||t[0]!==`type`)return;let r=e.type;for(let e of Array.isArray(r)?r:[r]){if(typeof e!=`string`)return;n.includes(e)||n.push(e)}}delete e.anyOf,e.type=n.length===1?n[0]:n}const Ca=new Set([`type`,`properties`,`required`,`additionalProperties`]),wa=[`oneOf`,`anyOf`];function Ta(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!=`object`||!t?null:Object.keys(t).length?t:null}function Ea(e){let t=[];for(let n of e){if(typeof n!=`object`||n.type!==`object`)return null;for(let e in n)if(!Ca.has(e))return null;t.push(n)}let n={},r=new Set;for(let e of t){for(let r in e.properties){if(Object.prototype.hasOwnProperty.call(n,r))continue;let e=[];for(let n of t){let t=n.properties?.[r]??Ta(n);t!=null&&(e.some(e=>JSON.stringify(e)===JSON.stringify(t))||e.push(t))}v(n,r,e.length===1?e[0]:Ea(e)??{allOf:e})}for(let t of e.required??[])r.add(t)}let i={type:`object`,properties:n};if(r.size&&(i.required=[...r]),t.every(e=>e.additionalProperties===!1))i.additionalProperties=!1;else{let e=[];for(let n of t){let t=Ta(n);t&&!e.some(e=>JSON.stringify(e)===JSON.stringify(t))&&e.push(t)}e.length===1?i.additionalProperties=e[0]:e.length>1&&(i.additionalProperties={allOf:e})}return i}function Da(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let t of Ca)if(t in e)return;let n=t.filter(e=>wa.some(t=>Array.isArray(e[t]))),r=null;if(!n.length)r=Ea(t);else{let e=n[0],i=wa.find(t=>Array.isArray(e[t]));if(Object.keys(e).length!==1)return;let a=t.filter(t=>t!==e),o=e[i].map(e=>Ea([...a,e]));if(o.some(e=>!e))return;r={[i]:o}}r&&(delete e.allOf,_a(e,r))}function Oa(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)):_a(i,s),_a(i,a),t._zod.parent===o)for(let e in i)e!==`$ref`&&e!==`allOf`&&(e in a||delete i[e]);if(s.$ref&&n.def)for(let e in i)e!==`$ref`&&e!==`allOf`&&e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e!==`$ref`&&e!==`allOf`&&e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(let t of[...e.seen.entries()].reverse())r(t[0]);if(e.target!==`openapi-3.0`)for(let t of e.seen.entries())Sa(t[1].def??t[1].schema);for(let t of e.deferred)t();if(e.intersections.length){let t=new Map;for(let n of e.seen.values())for(let e of[n.schema,n.def]){let n=e?.allOf;if(!Array.isArray(n))continue;let r=t.get(n);r?r.push(e):t.set(n,[e])}for(let n of e.intersections)for(let e of t.get(n)??[])Da(e)}}let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}_a(i,n.defId?n.schema:n.def??n.schema);let a=e.metadataRegistry.get(t)?.id;a!==void 0&&i.id===a&&delete i.id;let o=e.external?.defs??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,v(o,e.defId,e.def))}e.external&&(e.sharedEmitDoneFor=e.external),e.external||Object.keys(o).length>0&&(e.target===`draft-2020-12`?i.$defs=o:i.definitions=o);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t[`~standard`],jsonSchema:{input:Aa(t,`input`,e.processors),output:Aa(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function I(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 I(r.element,n);if(r.type===`set`)return I(r.valueType,n);if(r.type===`lazy`)return I(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type==="default"||r.type===`prefault`||r.type===`catch`)return I(r.innerType,n);if(r.type===`intersection`)return I(r.left,n)||I(r.right,n);if(r.type===`record`||r.type===`map`)return I(r.keyType,n)||I(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:I(r.in,n)||I(r.out,n);if(r.type===`object`){for(let e in r.shape)if(I(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(I(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(I(e,n))return!0;return!!(r.rest&&I(r.rest,n))}return!1}const ka=(e,t={})=>n=>{let r=va({...n,processors:t});return F(e,r),xa(r,e),Oa(r,e)},Aa=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=va({...i??{},target:a,io:t,processors:n});return F(e,o),xa(o,e),Oa(o,e)},L=(e,t,n)=>{(e[t]===void 0||n>e[t])&&(e[t]=n)},R=(e,t,n)=>{(e[t]===void 0||n<e[t])&&(e[t]=n)},ja=(e,t)=>{L(e,`minimum`,t),R(e,`maximum`,t)},Ma=(e,t)=>{e.multipleOf??=[],e.multipleOf.includes(t)||e.multipleOf.push(t)},Na=(e,t)=>{e.patterns??=new Set,e.patterns.add(t)},Pa=(e,t)=>{e.mime=e.mime?e.mime.filter(e=>t.includes(e)):[...t]},Fa=(e,t)=>{e.format=t,t.includes(`int`)&&(e.isInt=!0)},Ia=(e,t)=>L(e,`minimum`,t.minimum),La=(e,t)=>R(e,`maximum`,t.maximum),Ra=e=>(t,n)=>{Fa(t,n.format);let[r,i]=e[n.format];L(t,`minimum`,r),R(t,`maximum`,i)},za={greater_than:(e,t)=>L(e,t.inclusive?`minimum`:`exclusiveMinimum`,t.value),less_than:(e,t)=>R(e,t.inclusive?`maximum`:`exclusiveMaximum`,t.value),multiple_of:(e,t)=>Ma(e,t.value),number_format:Ra(Pe),bigint_format:Ra(Fe),min_length:Ia,max_length:La,length_equals:(e,t)=>ja(e,t.length),min_size:Ia,max_size:La,size_equals:(e,t)=>ja(e,t.size),string_format:(e,t)=>{Fa(e,t.format),t.pattern&&Na(e,t.pattern),(t.format===`base64`||t.format===`base64url`)&&(e.contentEncoding=t.format),(t.local||t.precision===-1)&&(e.laxFormat=!0)},mime_type:(e,t)=>Pa(e,t.mime)};function Ba(e){let t={},n=e._zod.def,r=e._zod.traits.has(`$ZodCheck`)?[e,...n.checks??[]]:n.checks??[];for(let e of r)za[e._zod.def.check]?.(t,e._zod.def);let i=e._zod.bag;i.minimum!==void 0&&L(t,`minimum`,i.minimum),i.exclusiveMinimum!==void 0&&L(t,`exclusiveMinimum`,i.exclusiveMinimum),i.maximum!==void 0&&R(t,`maximum`,i.maximum),i.exclusiveMaximum!==void 0&&R(t,`exclusiveMaximum`,i.exclusiveMaximum),i.multipleOf!==void 0&&Ma(t,i.multipleOf),i.format!==void 0&&(t.format??=i.format,i.format.includes(`int`)&&(t.isInt=!0)),i.mime&&Pa(t,i.mime);for(let e of i.patterns??[])Na(t,e);return t}const Va={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},Ha=new Map([[mr,sn],[gr,cn]]),Ua=e=>Ha.get(e)??e,Wa=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l,laxFormat:u}=Ba(e);if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=Va[s]??s,i.format===``&&delete i.format,(s===`time`||u)&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c].map(Ua);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}))])}},Ga=(e,t,n,r)=>{n.not={}},Ka=(e,t,n,r)=>{let i=e._zod.def,a=fe(i.entries);if(a.length===0){n.not={};return}a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},qa=(e,t,n,r)=>{ya(e,t,n,r,`Custom types cannot be represented in JSON Schema`)},Ja=(e,t,n,r)=>{ya(e,t,n,r,`Transforms cannot be represented in JSON Schema`)},Ya=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=Ba(e);typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=F(a.element,t,{...r,path:[...r.path,`items`]})};function Xa(e){let t=e._zod.def;return t.type===`pipe`&&t.in._zod.traits.has(`$ZodTransform`)?Xa(t.out):t.type===`catch`?Xa(t.innerType):e._zod.optin}const Za=(e,t,n,r)=>{let i=n,a=e._zod.def,o=a.shape;if(Object.getOwnPropertySymbols(o).length&&ya(e,t,i,r,`Symbol keys cannot be represented in JSON Schema`))return;i.type=`object`,i.properties={};for(let e in o)v(i.properties,e,F(o[e],t,{...r,path:[...r.path,`properties`,e]}));let s=[];for(let e of Object.keys(o)){let n=a.shape[e];(t.io===`input`?Xa(n)===void 0:n._zod.optout===void 0)&&s.push(e)}s.length>0&&(i.required=s),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=F(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Qa=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>F(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},$a=(e,t,n,r)=>{let i=e._zod.def,a=F(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=F(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1,c=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]];n.allOf=c,t.intersections.push(c)},eo=(e,t,n,r)=>{let i=e._zod.def,a=F(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`}]},to=(e,t,n,r)=>{let i=e._zod.def;F(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},no=Symbol();function ro(e,t,n,r,i){let a=!1,o=JSON.stringify(e,(e,t)=>typeof t==`bigint`?(a=!0,null):t);return a?(ya(t,n,r,i,`BigInt defaults cannot be represented in JSON Schema`),no):JSON.parse(o)}const io=(e,t,n,r)=>{let i=e._zod.def;F(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o=ro(i.defaultValue,e,t,n,r);o!==no&&(n.default=o)},ao=(e,t,n,r)=>{let i=e._zod.def;F(i.innerType,t,r);let a=t.seen.get(e);if(a.ref=i.innerType,t.io!==`input`)return;let o=ro(i.defaultValue,e,t,n,r);o!==no&&(n._prefault=o)},oo=(e,t,n,r)=>{let i=e._zod.def;F(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{ya(e,t,n,r,`Dynamic catch values are not supported in JSON Schema`);return}n.default=o},so=(e,t,n,r)=>{let i=e._zod.def,a=i.in._zod.traits.has(`$ZodTransform`),o=t.io===`input`?a?i.out:i.in:i.out;F(o,t,r);let s=t.seen.get(e);s.ref=o},co=(e,t,n,r)=>{let i=e._zod.def;F(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},lo=(e,t,n,r)=>{let i=e._zod.def;F(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},uo=new WeakSet([Object.prototype,Error.prototype]);function fo(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){let e=n(this);return Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0})}})}const z=O(`ZodError`,(e,t)=>{xt.init(e,t),e.name=`ZodError`;let n=Object.getPrototypeOf(e);uo.has(n)||(uo.add(n),fo(n,`format`,e=>t=>wt(e,t)),fo(n,`flatten`,e=>t=>Ct(e,t)),fo(n,`addIssue`,e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,me,2)}),fo(n,`addIssues`,e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,me,2)}),Object.defineProperty(n,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},void 0,{Parent:Error}),po=Et(z),mo=Dt(z),ho=Ot(z),go=At(z),_o=It(z),vo=Lt(z),yo=Rt(z),bo=zt(z),xo=Bt(z),So=Vt(z),Co=Ht(z),wo=Ut(z);function To(){A.localeError||j(_i())}function Eo(){A.memoizer||j({memoizer:mi()})}const B=O(`ZodType`,(e,t)=>(To(),N.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(x(t,{checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return S(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(Ps(e,t))},superRefine(e,t){return this.check(Fs(e,t))},overwrite(e){return this.check(sa(e))},optional(){return gs(this)},exactOptional(){return vs(this)},nullable(){return bs(this)},nullish(){return gs(bs(this))},nonoptional(e){return Es(this,e)},array(){return is(this)},or(e){return cs([this,e])},and(e){return us(this,e)},transform(e){return As(this,ms(e))},default(e){return Ss(this,e)},prefault(e){return ws(this,e)},catch(e){return Os(this,e)},pipe(e){return As(this,e)},readonly(){return Ms(this)},describe(e){let t=this.clone();return xi.add(t,{description:e}),t},meta(...e){if(e.length===0)return xi.get(this);let t=this.clone();return xi.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return t.length===0?e(this):e(this,...t)},get"~standard"(){return tt(this,`~standard`,{...In(this),jsonSchema:{input:Aa(this,`input`),output:Aa(this,`output`)}})},set"~standard"(e){E(this,`~standard`,e)},parse:function e(t,n){return po(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await mo(this,t,n,{callee:e})},safeParse(e,t){return ho(this,e,t)},async safeParseAsync(e,t){return go(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){E(this,`spa`,e)},validate(e,t){return Nt(this,e,t)},validateAsync(e,t){return Ft(this,e,t)},encode:function e(t,n){return _o(this,t,n,{callee:e})},decode:function e(t,n){return vo(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await yo(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await bo(this,t,n,{callee:e})},safeEncode(e,t){return xo(this,e,t)},safeDecode(e,t){return So(this,e,t)},async safeEncodeAsync(e,t){return Co(this,e,t)},async safeDecodeAsync(e,t){return wo(this,e,t)},toJSONSchema(e){return ka(this,{})(e)},get description(){return xi.get(this)?.description},get _def(){return this._zod.def}}),Do=O(`_ZodString`,(e,t)=>{Ln.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Wa(e,t,n,r)},nt({format:e=>Ba(e).format??null,minLength:e=>Ba(e).minimum??null,maxLength:e=>Ba(e).maximum??null},{regex(...e){return this.check(ta(...e))},includes(...e){return this.check(ia(...e))},startsWith(...e){return this.check(aa(...e))},endsWith(...e){return this.check(oa(...e))},min(...e){return this.check($i(...e))},max(...e){return this.check(Qi(...e))},length(...e){return this.check(ea(...e))},nonempty(...e){return this.check($i(1,...e))},lowercase(e){return this.check(na(e))},uppercase(e){return this.check(ra(e))},trim(){return this.check(la())},normalize(...e){return this.check(ca(...e))},toLowerCase(){return this.check(ua())},toUpperCase(){return this.check(da())},slugify(){return this.check(fa())}})),Oo=O(`ZodString`,(e,t)=>{Ln.init(e,t),Do.init(e,t)},{email(e){return this.check(wi(Po,e))},url(e){return this.check(Ai(Lo,e))},jwt(e){return this.check(Gi(Qo,e))},emoji(e){return this.check(ji(Ro,e))},guid(e){return this.check(Ti(Fo,e))},uuid(e){return this.check(Ei(Io,e))},uuidv4(e){return this.check(Di(Io,e))},uuidv6(e){return this.check(Oi(Io,e))},uuidv7(e){return this.check(ki(Io,e))},nanoid(e){return this.check(Mi(zo,e))},cuid(e){return this.check(Ni(Bo,e))},cuid2(e){return this.check(Pi(Vo,e))},ulid(e){return this.check(Fi(Ho,e))},base64(e){return this.check(Hi(Yo,e))},base64url(e){return this.check(Ui(Xo,e))},xid(e){return this.check(Ii(Uo,e))},ksuid(e){return this.check(Li(Wo,e))},ipv4(e){return this.check(Ri(Go,e))},ipv6(e){return this.check(zi(Ko,e))},cidrv4(e){return this.check(Bi(qo,e))},cidrv6(e){return this.check(Vi(Jo,e))},e164(e){return this.check(Wi(Zo,e))},datetime(e){return this.check(Ki(Ao,e))},date(e){return this.check(qi(jo,e))},time(e){return this.check(Ji(Mo,e))},duration(e){return this.check(Yi(No,e))}});function ko(e){return Ci(Oo,e)}const V=O(`ZodStringFormat`,(e,t)=>{P.init(e,t),Do.init(e,t)}),Ao=O(`ZodISODateTime`,(e,t)=>{nr.init(e,t),V.init(e,t)}),jo=O(`ZodISODate`,(e,t)=>{rr.init(e,t),V.init(e,t)}),Mo=O(`ZodISOTime`,(e,t)=>{ir.init(e,t),V.init(e,t)}),No=O(`ZodISODuration`,(e,t)=>{ar.init(e,t),V.init(e,t)}),Po=O(`ZodEmail`,(e,t)=>{Bn.init(e,t),V.init(e,t)}),Fo=O(`ZodGUID`,(e,t)=>{Rn.init(e,t),V.init(e,t)}),Io=O(`ZodUUID`,(e,t)=>{zn.init(e,t),V.init(e,t)}),Lo=O(`ZodURL`,(e,t)=>{Jn.init(e,t),V.init(e,t)}),Ro=O(`ZodEmoji`,(e,t)=>{Yn.init(e,t),V.init(e,t)}),zo=O(`ZodNanoID`,(e,t)=>{Xn.init(e,t),V.init(e,t)}),Bo=O(`ZodCUID`,(e,t)=>{Zn.init(e,t),V.init(e,t)}),Vo=O(`ZodCUID2`,(e,t)=>{Qn.init(e,t),V.init(e,t)}),Ho=O(`ZodULID`,(e,t)=>{$n.init(e,t),V.init(e,t)}),Uo=O(`ZodXID`,(e,t)=>{er.init(e,t),V.init(e,t)}),Wo=O(`ZodKSUID`,(e,t)=>{tr.init(e,t),V.init(e,t)}),Go=O(`ZodIPv4`,(e,t)=>{or.init(e,t),V.init(e,t)}),Ko=O(`ZodIPv6`,(e,t)=>{lr.init(e,t),V.init(e,t)}),qo=O(`ZodCIDRv4`,(e,t)=>{ur.init(e,t),V.init(e,t)}),Jo=O(`ZodCIDRv6`,(e,t)=>{fr.init(e,t),V.init(e,t)}),Yo=O(`ZodBase64`,(e,t)=>{hr.init(e,t),V.init(e,t)}),Xo=O(`ZodBase64URL`,(e,t)=>{vr.init(e,t),V.init(e,t)}),Zo=O(`ZodE164`,(e,t)=>{yr.init(e,t),V.init(e,t)}),Qo=O(`ZodJWT`,(e,t)=>{xr.init(e,t),V.init(e,t)}),$o=O(`ZodUnknown`,(e,t)=>{Sr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function es(){return Xi($o)}const ts=O(`ZodNever`,(e,t)=>{Cr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ga(e,t,n,r)});function ns(e){return Zi(ts,e)}const rs=O(`ZodArray`,(e,t)=>{Eo(),Tr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ya(e,t,n,r),e.element=t.element},{min(e,t){return this.check($i(e,t))},nonempty(e){return this.check($i(1,e))},max(e,t){return this.check(Qi(e,t))},length(e,t){return this.check(ea(e,t))},unwrap(){return this.element}});function is(e,t){return pa(rs,e,t)}const as=O(`ZodObject`,(e,t)=>{Eo(),jr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Za(e,t,n,r),ct(e,`shape`,e=>e._zod.def.shape,!1)},{keyof(){return fs(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(x(this._zod.def,{catchall:e}))},passthrough(){return this.clone(x(this._zod.def,{catchall:es()}))},loose(){return this.clone(x(this._zod.def,{catchall:es()}))},strict(){return this.clone(x(this._zod.def,{catchall:ns()}))},strip(){return this.clone(x(this._zod.def,{catchall:void 0}))},extend(e){return ze(this,e)},safeExtend(e){return Ve(this,e)},merge(e){return He(this,e)},pick(e){return Ie(this,e)},omit(e){return Re(this,e)},partial(...e){return Ue(hs,this,e[0])},exactPartial(...e){return Ue(_s,this,e[0],`exactPartial`)},required(...e){return We(Ts,this,e[0])}});function os(e,t){let n={type:`object`,shape:e??{},...C(t)};return new as(n)}const ss=O(`ZodUnion`,(e,t)=>{Nr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Qa(e,t,n,r),e.options=t.options});function cs(e,t){return new ss({type:`union`,options:e,...C(t)})}const ls=O(`ZodIntersection`,(e,t)=>{Pr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>$a(e,t,n,r)});function us(e,t){return new ls({type:`intersection`,left:e,right:t})}const ds=O(`ZodEnum`,(e,t)=>{Lr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ka(e,t,n,r),e.enum=t.entries,e.options=[...e._zod.values];let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new ds({...t,checks:[],...C(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 ds({...t,checks:[],...C(r),entries:i})}});function fs(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new ds({type:`enum`,entries:n,...C(t)})}const ps=O(`ZodTransform`,(e,t)=>{Eo(),Rr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ja(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new mt(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push($e(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,`input`in t||(t.input=n.value),t.inst??=e,n.issues.push($e(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function ms(e){return new ps({type:`transform`,transform:e})}const hs=O(`ZodOptional`,(e,t)=>{Br.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>lo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function gs(e){return new hs({type:`optional`,innerType:e})}const _s=O(`ZodExactOptional`,(e,t)=>{Vr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>lo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function vs(e){return new _s({type:`optional`,innerType:e})}const ys=O(`ZodNullable`,(e,t)=>{Hr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>eo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function bs(e){return new ys({type:`nullable`,innerType:e})}const xs=O(`ZodDefault`,(e,t)=>{Ur.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>io(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Ss(e,t){return new xs({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():ke(t)}})}const Cs=O(`ZodPrefault`,(e,t)=>{Gr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ao(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ws(e,t){return new Cs({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():ke(t)}})}const Ts=O(`ZodNonOptional`,(e,t)=>{Kr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>to(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Es(e,t){return new Ts({type:`nonoptional`,innerType:e,...C(t)})}const Ds=O(`ZodCatch`,(e,t)=>{Yr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>oo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Os(e,t){return new Ds({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:lt(t)})}const ks=O(`ZodPipe`,(e,t)=>{Xr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>so(e,t,n,r),e.in=t.in,e.out=t.out});function As(e,t){return new ks({type:`pipe`,in:e,out:t})}const js=O(`ZodReadonly`,(e,t)=>{Qr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>co(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Ms(e){return new js({type:`readonly`,innerType:e})}const Ns=O(`ZodCustom`,(e,t)=>{ei.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>qa(e,t,n,r)});function Ps(e,t={}){return ma(Ns,e,t)}function Fs(e,t){return ha(e,t)}const Is=os({detail:ko()}),Ls=os({error:ko()});function Rs(e){if(!e)return`Unknown error`;if(e instanceof Error){let t=Is.safeParse(e.cause);return t.success?t.data.detail:zs(e.message)}if(typeof e==`object`){let t=Is.safeParse(e);if(t.success)return t.data.detail;let n=Ls.safeParse(e);if(n.success)return n.data.error}try{return JSON.stringify(e)}catch{return String(e)}}function zs(e){let t=Bs(e);if(!t)return e;let n=Is.safeParse(t);if(n.success)return n.data.detail;let r=Ls.safeParse(t);return r.success?r.data.error:e}function Bs(e){try{return JSON.parse(e)}catch{return e}}function Vs(e){return e.FS}const Hs=`notebook.py`,Us=`/marimo`,H={NOTEBOOK_FILENAME:Hs,HOME_DIR:Us,createHomeDir:e=>{let t=Vs(e);try{t.mkdirTree(Us)}catch{}t.chdir(Us)},mountFS:e=>{globalThis.origin!==`null`&&Vs(e).mount(e.FS.filesystems.IDBFS,{root:`.`},Us)},populateFilesToMemory:async e=>{await Ws(e,!0)},persistFilesToRemote:async e=>{await Ws(e,!1)},readNotebook:e=>{let t=Vs(e),n=`${Us}/${Hs}`;return le(t.readFile(n))},initNotebookCode:e=>{let{pyodide:t,filename:n,code:r}=e,i=Vs(t),a=e=>{try{return le(i.readFile(e))}catch{return null}};if(n&&n!==Hs){let e=a(n);if(e)return{code:e,filename:n}}return i.writeFile(Hs,r),{code:r,filename:Hs}}};function Ws(e,t){return new Promise((n,r)=>{Vs(e).syncfs(t,e=>{if(e instanceof Error){r(e);return}n()})})}var Gs=Object.defineProperty,U=(e,t)=>Gs(e,`name`,{value:t,configurable:!0}),Ks=(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`)}),qs=(()=>{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 Js(e){return!isNaN(parseFloat(e))&&isFinite(e)}U(Js,`_isNumber`);function W(e){return e.charAt(0).toUpperCase()+e.substring(1)}U(W,`_capitalize`);function Ys(e){return function(){return this[e]}}U(Ys,`_getter`);var G=[`isConstructor`,`isEval`,`isNative`,`isToplevel`],Xs=[`columnNumber`,`lineNumber`],Zs=[`fileName`,`functionName`,`source`],Qs=G.concat(Xs,Zs,[`args`],[`evalOrigin`]);function K(e){if(e)for(var t=0;t<Qs.length;t++)e[Qs[t]]!==void 0&&this[`set`+W(Qs[t])](e[Qs[t]])}for(U(K,`StackFrame`),K.prototype={getArgs:U(function(){return this.args},`getArgs`),setArgs:U(function(e){if(Object.prototype.toString.call(e)!==`[object Array]`)throw TypeError(`Args must be an Array`);this.args=e},`setArgs`),getEvalOrigin:U(function(){return this.evalOrigin},`getEvalOrigin`),setEvalOrigin:U(function(e){if(e instanceof K)this.evalOrigin=e;else if(e instanceof Object)this.evalOrigin=new K(e);else throw TypeError(`Eval Origin must be an Object or StackFrame`)},`setEvalOrigin`),toString:U(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`)},K.fromString=U(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 K({functionName:r,args:i||void 0,fileName:s,lineNumber:c||void 0,columnNumber:l||void 0})},`StackFrame$$fromString`),q=0;q<G.length;q++)K.prototype[`get`+W(G[q])]=Ys(G[q]),K.prototype[`set`+W(G[q])]=function(e){return function(t){this[e]=!!t}}(G[q]);var q;for(J=0;J<Xs.length;J++)K.prototype[`get`+W(Xs[J])]=Ys(Xs[J]),K.prototype[`set`+W(Xs[J])]=function(e){return function(t){if(!Js(t))throw TypeError(e+` must be a Number`);this[e]=Number(t)}}(Xs[J]);var J;for(Y=0;Y<Zs.length;Y++)K.prototype[`get`+W(Zs[Y])]=Ys(Zs[Y]),K.prototype[`set`+W(Zs[Y])]=function(e){return function(t){this[e]=String(t)}}(Zs[Y]);var Y,$s=K;function ec(){var e=/^\s*at .*(\S+:\d+|\(native\))/m,t=/^(eval@)?(\[native code])?$/;return{parse:U(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:U(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:U(function(t){return t.stack.split(`
|
|
56
56
|
`).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 $s({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:U(function(e){return e.stack.split(`
|
|
57
|
-
`).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 $s({functionName:e});var t=/((.*".+"[^@]*)?[^@]*)(?:@)/,n=e.match(t),r=n&&n[1]?n[1]:void 0,i=this.extractLocation(e.replace(t,``));return new $s({functionName:r,fileName:i[0],lineNumber:i[1],columnNumber:i[2],source:e})},this)},`ErrorStackParser$$parseFFOrSafari`)}}U(ec,`ErrorStackParser`);var tc=new ec;function nc(){return typeof API<`u`&&API!==globalThis.API?API.runtimeEnv:rc({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`)})}U(nc,`getGlobalRuntimeEnv`);var X=nc();function rc(e){let t=e.IN_NODE&&typeof module<`u`&&module.exports&&typeof Ks==`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&&ic())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}U(rc,`calculateDerivedFlags`);function ic(){try{return globalThis.importScripts(`data:text/javascript,`),!0}catch{return!1}}U(ic,`isClassicWorker`);var ac,oc,sc,cc;async function lc(){if(!X.IN_NODE||(ac=(await import(`./__vite-browser-external-mKcnhO20.js`).then(e=>c(e.default,1))).default,sc=await import(`./__vite-browser-external-mKcnhO20.js`).then(e=>c(e.default,1)),cc=await import(`./__vite-browser-external-mKcnhO20.js`).then(e=>c(e.default,1)),(await import(`./__vite-browser-external-mKcnhO20.js`).then(e=>c(e.default,1))).default,oc=await import(`./__vite-browser-external-mKcnhO20.js`).then(e=>c(e.default,1)),pc=oc.sep,typeof Ks<`u`))return;let e={fs:sc,crypto:await import(`./__vite-browser-external-mKcnhO20.js`).then(e=>c(e.default,1)),ws:await import(`./__vite-browser-external-mKcnhO20.js`).then(e=>c(e.default,1)),child_process:await import(`./__vite-browser-external-mKcnhO20.js`).then(e=>c(e.default,1))};globalThis.require=function(t){return e[t]}}U(lc,`initNodeModules`);function uc(e,t){return oc.resolve(t||`.`,e)}U(uc,`node_resolvePath`);function dc(e,t){return t===void 0&&(t=location),new URL(e,t).toString()}U(dc,`browser_resolvePath`);var fc=X.IN_NODE?uc:X.IN_SHELL?U(e=>e,`resolvePath`):dc,pc;X.IN_NODE||(pc=`/`);function mc(e,t){return e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?{response:fetch(e)}:{binary:cc.readFile(e).then(e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength))}}U(mc,`node_getBinaryResponse`);function hc(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)))}}U(hc,`shell_getBinaryResponse`);function gc(e,t){let n=new URL(e,location);return{response:fetch(n,t?{integrity:t}:{})}}U(gc,`browser_getBinaryResponse`);var _c=X.IN_NODE?mc:X.IN_SHELL?hc:gc;async function vc(e,t){let{response:n,binary:r}=_c(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())}U(vc,`loadBinaryFile`);var yc=X.IN_NODE?bc:U(async e=>await import(e),`loadScript`);async function bc(e){return e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?await import(e):await import(ac.pathToFileURL(e).href)}U(bc,`nodeLoadScript`);async function xc(e){if(X.IN_NODE){await lc();let t=await cc.readFile(e,{encoding:`utf8`});return JSON.parse(t)}if(X.IN_SHELL){let t=read(e);return JSON.parse(t)}return await(await fetch(e)).json()}U(xc,`loadLockFile`);async function Sc(){if(X.IN_NODE_COMMONJS)return __dirname;let e;try{throw Error()}catch(t){e=t}let t=tc.parse(e)[0].fileName;if(X.IN_NODE&&!t.startsWith(`file://`)&&(t=`file://${t}`),X.IN_NODE_ESM){let e=await import(`./__vite-browser-external-mKcnhO20.js`).then(e=>c(e.default,1));return(await import(`./__vite-browser-external-mKcnhO20.js`).then(e=>c(e.default,1))).fileURLToPath(e.dirname(t))}let n=t.lastIndexOf(pc);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)}U(Sc,`calculateDirname`);function Cc(e){return e.substring(0,e.lastIndexOf(`/`)+1)||globalThis.location?.toString()||`.`}U(Cc,`calculateInstallBaseUrl`);function wc(e){let t=e.FS,n=e.FS.filesystems.MEMFS,r=e.PATH,i={DIR_MODE:16895,FILE_MODE:33279,mount:U(function(e){if(!e.opts.fileSystemHandle)throw Error(`opts.fileSystemHandle is required`);return n.mount.apply(null,arguments)},`mount`),syncfs:U(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:U(e=>{let n=Object.create(null);function i(e){return e!==`.`&&e!==`..`}U(i,`isRealDir`);function a(e){return t=>r.join2(e,t)}U(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:U(async e=>{let t=Object.create(null),n=await Tc(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:U(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:U((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:U(e=>{var n=t.stat(e);t.isDir(n.mode)?t.rmdir(e):t.isFile(n.mode)&&t.unlink(e)},`removeLocalEntry`),loadRemoteEntry:U(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:U(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:U(async(e,t)=>{await e.get(r.dirname(t)).removeEntry(r.basename(t)),e.delete(t)},`removeRemoteEntry`),reconcile:U(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}U(wc,`initializeNativeFS`);var Tc=U(async e=>{let t=[];async function n(e){for await(let r of e.values())t.push(r),r.kind===`directory`&&await n(r)}U(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`),Ec=qs(`AGFzbQEAAAABDANfAGAAAW9gAW8BfwMDAgECBygCE0pzdl9HZXRFcnJvcl9pbXBvcnQAAA5Kc3ZFcnJvcl9DaGVjawABChMCBwD7AQD7GwsJACAA+xr7FAAL`),Dc=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(Ec);return await WebAssembly.instantiate(e)}catch(e){if(e instanceof WebAssembly.CompileError)return;throw e}}();async function Oc(){let e=await Dc;if(e)return e.exports;let t=Symbol(`error marker`);return{Jsv_GetError_import:U(()=>t,`Jsv_GetError_import`),JsvError_Check:U(e=>e===t,`JsvError_Check`)}}U(Oc,`getJsvErrorImport`);function kc(e){let t={config:e,runtimeEnv:X},n={noImageDecoding:!0,noAudioDecoding:!0,noWasmDecoding:!1,preRun:Fc(e),print:e.stdout,printErr:e.stderr,onExit(e){n.exitCode=e},thisProgram:e._sysExecutable,arguments:e.args,API:t,locateFile:U(t=>e.indexURL+t,`locateFile`),instantiateWasm:Ic(e.indexURL)};return n}U(kc,`createSettings`);function Ac(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)}}U(Ac,`createHomeDirectory`);function jc(e){return function(t){Object.assign(t.ENV,e)}}U(jc,`setEnvironment`);function Mc(e){return e?[async t=>{t.addRunDependency(`fsInitHook`);try{await e(t.FS,{sitePackages:t.API.sitePackages})}finally{t.removeRunDependency(`fsInitHook`)}}]:[]}U(Mc,`callFsInitHook`);function Nc(e){let t=e.HEAPU32[e._Py_Version>>>2];return[t>>>24&255,t>>>16&255,t>>>8&255]}U(Nc,`computeVersionTuple`);function Pc(e){let t=vc(e);return async e=>{e.API.pyVersionTuple=Nc(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`)}}}U(Pc,`installStdlib`);function Fc(e){let t;return t=e.stdLibURL==null?e.indexURL+`python_stdlib.zip`:e.stdLibURL,[Pc(t),Ac(e.env.HOME),jc(e.env),wc,...Mc(e.fsInit)]}U(Fc,`getFileSystemInitializationFuncs`);function Ic(e){if(typeof WasmOffsetConverter<`u`)return;let{binary:t,response:n}=_c(e+`pyodide.asm.wasm`),r=Oc();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)}}(),{}}}U(Ic,`getInstantiateWasmFunc`);var Lc=`314.0.0`;function Rc(e){return e===void 0||e.endsWith(`/`)?e:e+`/`}U(Rc,`withTrailingSlash`);var zc=Lc;async function Bc(e={}){if(await lc(),e.lockFileContents&&e.lockFileURL)throw Error(`Can't pass both lockFileContents and lockFileURL`);let t=e.indexURL||await Sc();if(t=Rc(fc(t)),e.packageBaseUrl=Rc(e.packageBaseUrl),e.cdnUrl=Rc(e.packageBaseUrl??`https://cdn.jsdelivr.net/pyodide/v314.0.0/full/`),!e.lockFileContents){let n=e.lockFileURL??t+`pyodide-lock.json`;e.lockFileContents=xc(n),e.packageBaseUrl??=Cc(n)}e.indexURL=t,e.packageCacheDir&&=Rc(fc(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}U(Bc,`initializeConfiguration`);function Vc(e){let t=kc(e),n=t.API;return n.lockFilePromise=Promise.resolve(e.lockFileContents),t}U(Vc,`createEmscriptenSettings`);async function Hc(e){return e.createPyodideModule?e.createPyodideModule:(await yc(`${e.indexURL}pyodide.asm.mjs`)).default}U(Hc,`loadWasmScript`);async function Uc(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}U(Uc,`prepareSnapshot`);async function Wc(e,t){let n=await e(t);if(t.exitCode!==void 0)throw new n.ExitStatus(t.exitCode);return n}U(Wc,`instantiatePyodideModule`);function Gc(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: '${zc}' <==> '${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}")`)}}U(Gc,`configureAPI`);function Kc(e,t,n){let r=e.API,i;return t&&(i=r.restoreSnapshot(t)),r.finalizeBootstrap(i,n._snapshotDeserializer)}U(Kc,`bootstrapPyodide`);async function qc(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}U(qc,`finalizeSetup`);async function Jc(e={}){let t=await Bc(e),n=Vc(t),r=await Hc(t),i=await Uc(t,n),a=await Wc(r,n);return Gc(a,t),await qc(Kc(a,i,t),t)}U(Jc,`loadPyodide`);function Yc(){return`marimo-base`}const Z=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=Z;const Xc=/(^|\n)\s*(?:import\s+[^\n#]*\bduckdb\b|from\s+duckdb\b|[^\n#]*\bduckdb\s*\.)/;function Zc(e,t){return e.includes(`mo.sql`)||Xc.test(e)||t?.has(`duckdb`)===!0}function Qc(e){return e.trim().split(/[[<>=!~;@\s]/)[0]}var $c=class{pyodide=null;packageLoadQueue=Promise.resolve();sessionGeneration=0;activeSessionStops=new Set;get requirePyodide(){return g(this.pyodide,`Pyodide not loaded`),this.pyodide}async bootstrap(e){return await this.loadPyodideAndPackages(e)}async loadPyodideAndPackages(e){if(!Jc)throw Error(`loadPyodide is not defined`);let t=Z.startSpan(`loadPyodide`);try{let n=e.pyodideIndexUrl??`https://cdn.jsdelivr.net/pyodide/${e.pyodideVersion}/full/`,r=await Jc({packages:[`micropip`,`msgspec`,Yc(),`Markdown`,`pymdown-extensions`,`narwhals`,`packaging`],_makeSnapshot:!1,lockFileURL:e.pyodideLockfileUrl??`https://wasm.marimo.app/pyodide-lock.json?v=${e.version}&pyodide=${e.pyodideVersion}`,indexURL:n,packageBaseUrl:n,convertNullToNone:!0});if(e.pypiIndexUrl){let t=r.pyimport(`micropip`);try{t.set_index_urls(e.pypiIndexUrl)}finally{t.destroy()}}return this.pyodide=r,t.end(`ok`),r}catch(e){throw _.error(`Failed to load Pyodide`,e),e}}async mountFilesystem(e){let t=Z.startSpan(`mountFilesystem`);return H.createHomeDir(this.requirePyodide),H.mountFS(this.requirePyodide),await H.populateFilesToMemory(this.requirePyodide),t.end(`ok`),H.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=Z.startSpan(`startSession.runPython`),c=r||H.NOTEBOOK_FILENAME,l=this.requirePyodide.runPython(`
|
|
57
|
+
`).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 $s({functionName:e});var t=/((.*".+"[^@]*)?[^@]*)(?:@)/,n=e.match(t),r=n&&n[1]?n[1]:void 0,i=this.extractLocation(e.replace(t,``));return new $s({functionName:r,fileName:i[0],lineNumber:i[1],columnNumber:i[2],source:e})},this)},`ErrorStackParser$$parseFFOrSafari`)}}U(ec,`ErrorStackParser`);var tc=new ec;function nc(){return typeof API<`u`&&API!==globalThis.API?API.runtimeEnv:rc({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`)})}U(nc,`getGlobalRuntimeEnv`);var X=nc();function rc(e){let t=e.IN_NODE&&typeof module<`u`&&module.exports&&typeof Ks==`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&&ic())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}U(rc,`calculateDerivedFlags`);function ic(){try{return globalThis.importScripts(`data:text/javascript,`),!0}catch{return!1}}U(ic,`isClassicWorker`);var ac,oc,sc,cc;async function lc(){if(!X.IN_NODE||(ac=(await import(`./__vite-browser-external-XYxUVbCI.js`).then(e=>c(e.default,1))).default,sc=await import(`./__vite-browser-external-XYxUVbCI.js`).then(e=>c(e.default,1)),cc=await import(`./__vite-browser-external-XYxUVbCI.js`).then(e=>c(e.default,1)),(await import(`./__vite-browser-external-XYxUVbCI.js`).then(e=>c(e.default,1))).default,oc=await import(`./__vite-browser-external-XYxUVbCI.js`).then(e=>c(e.default,1)),pc=oc.sep,typeof Ks<`u`))return;let e={fs:sc,crypto:await import(`./__vite-browser-external-XYxUVbCI.js`).then(e=>c(e.default,1)),ws:await import(`./__vite-browser-external-XYxUVbCI.js`).then(e=>c(e.default,1)),child_process:await import(`./__vite-browser-external-XYxUVbCI.js`).then(e=>c(e.default,1))};globalThis.require=function(t){return e[t]}}U(lc,`initNodeModules`);function uc(e,t){return oc.resolve(t||`.`,e)}U(uc,`node_resolvePath`);function dc(e,t){return t===void 0&&(t=location),new URL(e,t).toString()}U(dc,`browser_resolvePath`);var fc=X.IN_NODE?uc:X.IN_SHELL?U(e=>e,`resolvePath`):dc,pc;X.IN_NODE||(pc=`/`);function mc(e,t){return e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?{response:fetch(e)}:{binary:cc.readFile(e).then(e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength))}}U(mc,`node_getBinaryResponse`);function hc(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)))}}U(hc,`shell_getBinaryResponse`);function gc(e,t){let n=new URL(e,location);return{response:fetch(n,t?{integrity:t}:{})}}U(gc,`browser_getBinaryResponse`);var _c=X.IN_NODE?mc:X.IN_SHELL?hc:gc;async function vc(e,t){let{response:n,binary:r}=_c(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())}U(vc,`loadBinaryFile`);var yc=X.IN_NODE?bc:U(async e=>await import(e),`loadScript`);async function bc(e){return e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?await import(e):await import(ac.pathToFileURL(e).href)}U(bc,`nodeLoadScript`);async function xc(e){if(X.IN_NODE){await lc();let t=await cc.readFile(e,{encoding:`utf8`});return JSON.parse(t)}if(X.IN_SHELL){let t=read(e);return JSON.parse(t)}return await(await fetch(e)).json()}U(xc,`loadLockFile`);async function Sc(){if(X.IN_NODE_COMMONJS)return __dirname;let e;try{throw Error()}catch(t){e=t}let t=tc.parse(e)[0].fileName;if(X.IN_NODE&&!t.startsWith(`file://`)&&(t=`file://${t}`),X.IN_NODE_ESM){let e=await import(`./__vite-browser-external-XYxUVbCI.js`).then(e=>c(e.default,1));return(await import(`./__vite-browser-external-XYxUVbCI.js`).then(e=>c(e.default,1))).fileURLToPath(e.dirname(t))}let n=t.lastIndexOf(pc);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)}U(Sc,`calculateDirname`);function Cc(e){return e.substring(0,e.lastIndexOf(`/`)+1)||globalThis.location?.toString()||`.`}U(Cc,`calculateInstallBaseUrl`);function wc(e){let t=e.FS,n=e.FS.filesystems.MEMFS,r=e.PATH,i={DIR_MODE:16895,FILE_MODE:33279,mount:U(function(e){if(!e.opts.fileSystemHandle)throw Error(`opts.fileSystemHandle is required`);return n.mount.apply(null,arguments)},`mount`),syncfs:U(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:U(e=>{let n=Object.create(null);function i(e){return e!==`.`&&e!==`..`}U(i,`isRealDir`);function a(e){return t=>r.join2(e,t)}U(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:U(async e=>{let t=Object.create(null),n=await Tc(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:U(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:U((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:U(e=>{var n=t.stat(e);t.isDir(n.mode)?t.rmdir(e):t.isFile(n.mode)&&t.unlink(e)},`removeLocalEntry`),loadRemoteEntry:U(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:U(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:U(async(e,t)=>{await e.get(r.dirname(t)).removeEntry(r.basename(t)),e.delete(t)},`removeRemoteEntry`),reconcile:U(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}U(wc,`initializeNativeFS`);var Tc=U(async e=>{let t=[];async function n(e){for await(let r of e.values())t.push(r),r.kind===`directory`&&await n(r)}U(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`),Ec=qs(`AGFzbQEAAAABDANfAGAAAW9gAW8BfwMDAgECBygCE0pzdl9HZXRFcnJvcl9pbXBvcnQAAA5Kc3ZFcnJvcl9DaGVjawABChMCBwD7AQD7GwsJACAA+xr7FAAL`),Dc=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(Ec);return await WebAssembly.instantiate(e)}catch(e){if(e instanceof WebAssembly.CompileError)return;throw e}}();async function Oc(){let e=await Dc;if(e)return e.exports;let t=Symbol(`error marker`);return{Jsv_GetError_import:U(()=>t,`Jsv_GetError_import`),JsvError_Check:U(e=>e===t,`JsvError_Check`)}}U(Oc,`getJsvErrorImport`);function kc(e){let t={config:e,runtimeEnv:X},n={noImageDecoding:!0,noAudioDecoding:!0,noWasmDecoding:!1,preRun:Fc(e),print:e.stdout,printErr:e.stderr,onExit(e){n.exitCode=e},thisProgram:e._sysExecutable,arguments:e.args,API:t,locateFile:U(t=>e.indexURL+t,`locateFile`),instantiateWasm:Ic(e.indexURL)};return n}U(kc,`createSettings`);function Ac(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)}}U(Ac,`createHomeDirectory`);function jc(e){return function(t){Object.assign(t.ENV,e)}}U(jc,`setEnvironment`);function Mc(e){return e?[async t=>{t.addRunDependency(`fsInitHook`);try{await e(t.FS,{sitePackages:t.API.sitePackages})}finally{t.removeRunDependency(`fsInitHook`)}}]:[]}U(Mc,`callFsInitHook`);function Nc(e){let t=e.HEAPU32[e._Py_Version>>>2];return[t>>>24&255,t>>>16&255,t>>>8&255]}U(Nc,`computeVersionTuple`);function Pc(e){let t=vc(e);return async e=>{e.API.pyVersionTuple=Nc(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`)}}}U(Pc,`installStdlib`);function Fc(e){let t;return t=e.stdLibURL==null?e.indexURL+`python_stdlib.zip`:e.stdLibURL,[Pc(t),Ac(e.env.HOME),jc(e.env),wc,...Mc(e.fsInit)]}U(Fc,`getFileSystemInitializationFuncs`);function Ic(e){if(typeof WasmOffsetConverter<`u`)return;let{binary:t,response:n}=_c(e+`pyodide.asm.wasm`),r=Oc();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)}}(),{}}}U(Ic,`getInstantiateWasmFunc`);var Lc=`314.0.0`;function Rc(e){return e===void 0||e.endsWith(`/`)?e:e+`/`}U(Rc,`withTrailingSlash`);var zc=Lc;async function Bc(e={}){if(await lc(),e.lockFileContents&&e.lockFileURL)throw Error(`Can't pass both lockFileContents and lockFileURL`);let t=e.indexURL||await Sc();if(t=Rc(fc(t)),e.packageBaseUrl=Rc(e.packageBaseUrl),e.cdnUrl=Rc(e.packageBaseUrl??`https://cdn.jsdelivr.net/pyodide/v314.0.0/full/`),!e.lockFileContents){let n=e.lockFileURL??t+`pyodide-lock.json`;e.lockFileContents=xc(n),e.packageBaseUrl??=Cc(n)}e.indexURL=t,e.packageCacheDir&&=Rc(fc(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}U(Bc,`initializeConfiguration`);function Vc(e){let t=kc(e),n=t.API;return n.lockFilePromise=Promise.resolve(e.lockFileContents),t}U(Vc,`createEmscriptenSettings`);async function Hc(e){return e.createPyodideModule?e.createPyodideModule:(await yc(`${e.indexURL}pyodide.asm.mjs`)).default}U(Hc,`loadWasmScript`);async function Uc(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}U(Uc,`prepareSnapshot`);async function Wc(e,t){let n=await e(t);if(t.exitCode!==void 0)throw new n.ExitStatus(t.exitCode);return n}U(Wc,`instantiatePyodideModule`);function Gc(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: '${zc}' <==> '${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}")`)}}U(Gc,`configureAPI`);function Kc(e,t,n){let r=e.API,i;return t&&(i=r.restoreSnapshot(t)),r.finalizeBootstrap(i,n._snapshotDeserializer)}U(Kc,`bootstrapPyodide`);async function qc(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}U(qc,`finalizeSetup`);async function Jc(e={}){let t=await Bc(e),n=Vc(t),r=await Hc(t),i=await Uc(t,n),a=await Wc(r,n);return Gc(a,t),await qc(Kc(a,i,t),t)}U(Jc,`loadPyodide`);function Yc(){return`marimo-base`}const Z=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=Z;const Xc=/(^|\n)\s*(?:import\s+[^\n#]*\bduckdb\b|from\s+duckdb\b|[^\n#]*\bduckdb\s*\.)/;function Zc(e,t){return e.includes(`mo.sql`)||Xc.test(e)||t?.has(`duckdb`)===!0}function Qc(e){return e.trim().split(/[[<>=!~;@\s]/)[0]}var $c=class{pyodide=null;packageLoadQueue=Promise.resolve();sessionGeneration=0;activeSessionStops=new Set;get requirePyodide(){return g(this.pyodide,`Pyodide not loaded`),this.pyodide}async bootstrap(e){return await this.loadPyodideAndPackages(e)}async loadPyodideAndPackages(e){if(!Jc)throw Error(`loadPyodide is not defined`);let t=Z.startSpan(`loadPyodide`);try{let n=e.pyodideIndexUrl??`https://cdn.jsdelivr.net/pyodide/${e.pyodideVersion}/full/`,r=await Jc({packages:[`micropip`,`msgspec`,Yc(),`Markdown`,`pymdown-extensions`,`narwhals`,`packaging`],_makeSnapshot:!1,lockFileURL:e.pyodideLockfileUrl??`https://wasm.marimo.app/pyodide-lock.json?v=${e.version}&pyodide=${e.pyodideVersion}`,indexURL:n,packageBaseUrl:n,convertNullToNone:!0});if(e.pypiIndexUrl){let t=r.pyimport(`micropip`);try{t.set_index_urls(e.pypiIndexUrl)}finally{t.destroy()}}return this.pyodide=r,t.end(`ok`),r}catch(e){throw _.error(`Failed to load Pyodide`,e),e}}async mountFilesystem(e){let t=Z.startSpan(`mountFilesystem`);return H.createHomeDir(this.requirePyodide),H.mountFS(this.requirePyodide),await H.populateFilesToMemory(this.requirePyodide),t.end(`ok`),H.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=Z.startSpan(`startSession.runPython`),c=r||H.NOTEBOOK_FILENAME,l=this.requirePyodide.runPython(`
|
|
58
58
|
print("[py] Starting marimo...")
|
|
59
59
|
import asyncio
|
|
60
60
|
import gc
|
package/dist/index.html
CHANGED
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
<marimo-server-token data-token="{{ server_token }}" hidden></marimo-server-token>
|
|
67
67
|
<!-- /TODO -->
|
|
68
68
|
<title>{{ title }}</title>
|
|
69
|
-
<script type="module" crossorigin src="./assets/index-
|
|
69
|
+
<script type="module" crossorigin src="./assets/index-BK10QsEp.js"></script>
|
|
70
70
|
<link rel="modulepreload" crossorigin href="./assets/rolldown-runtime-B0Z9INg1.js">
|
|
71
71
|
<link rel="modulepreload" crossorigin href="./assets/react-DVplv7_D.js">
|
|
72
72
|
<link rel="modulepreload" crossorigin href="./assets/compiler-runtime-BrajqUja.js">
|
|
@@ -164,7 +164,7 @@
|
|
|
164
164
|
<link rel="modulepreload" crossorigin href="./assets/useInstallPackage-wcDq9hYT.js">
|
|
165
165
|
<link rel="modulepreload" crossorigin href="./assets/share-BZW3tzEX.js">
|
|
166
166
|
<link rel="modulepreload" crossorigin href="./assets/events-CbeVJ6OD.js">
|
|
167
|
-
<link rel="modulepreload" crossorigin href="./assets/state-
|
|
167
|
+
<link rel="modulepreload" crossorigin href="./assets/state-Djmjs8Ik.js">
|
|
168
168
|
<link rel="modulepreload" crossorigin href="./assets/ErrorBoundary-DxSzjvbx.js">
|
|
169
169
|
<link rel="modulepreload" crossorigin href="./assets/chevron-right-eAtVhbNZ.js">
|
|
170
170
|
<link rel="modulepreload" crossorigin href="./assets/dropdown-menu-DS6umAnH.js">
|
package/package.json
CHANGED
package/src/hooks/useDebounce.ts
CHANGED
|
@@ -77,8 +77,7 @@ export function useDebounceControlledState<T>(opts: {
|
|
|
77
77
|
};
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
-
|
|
81
|
-
export function useDebouncedCallback<T extends (...args: any[]) => unknown>(
|
|
80
|
+
export function useDebouncedCallback<T extends (...args: never[]) => unknown>(
|
|
82
81
|
callback: T,
|
|
83
82
|
delay: number,
|
|
84
83
|
) {
|
|
@@ -62,8 +62,7 @@ export function useEventListener(
|
|
|
62
62
|
return;
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
|
|
66
|
-
const eventListener = (event: any) => savedListener.current(event);
|
|
65
|
+
const eventListener = (event: Event) => savedListener.current(event);
|
|
67
66
|
target.addEventListener(type, eventListener, options);
|
|
68
67
|
|
|
69
68
|
return () => {
|
package/src/utils/tracer.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
2
|
|
|
3
|
-
/* oxlint-disable typescript/no-explicit-any */
|
|
4
3
|
/* oxlint-disable no-console -- for debugging */
|
|
5
4
|
|
|
6
5
|
import { Logger } from "./Logger";
|
|
@@ -61,12 +60,17 @@ export class Tracer {
|
|
|
61
60
|
}
|
|
62
61
|
}
|
|
63
62
|
|
|
64
|
-
public wrapAsync<T extends (...args:
|
|
63
|
+
public wrapAsync<T extends (...args: never[]) => Promise<unknown>>(
|
|
65
64
|
fn: T,
|
|
66
65
|
name?: string,
|
|
66
|
+
attributes?: Record<string, unknown>,
|
|
67
|
+
): T;
|
|
68
|
+
public wrapAsync<Args extends unknown[], Result>(
|
|
69
|
+
fn: (...args: Args) => Promise<Result>,
|
|
70
|
+
name?: string,
|
|
67
71
|
attributes: Record<string, unknown> = {},
|
|
68
|
-
):
|
|
69
|
-
return
|
|
72
|
+
): (...args: Args) => Promise<Result> {
|
|
73
|
+
return async (...args) => {
|
|
70
74
|
const span = this.startSpan(name || fn.name, attributes);
|
|
71
75
|
try {
|
|
72
76
|
const result = await fn(...args);
|
|
@@ -76,7 +80,7 @@ export class Tracer {
|
|
|
76
80
|
this.endSpan(span, "error");
|
|
77
81
|
throw error;
|
|
78
82
|
}
|
|
79
|
-
}
|
|
83
|
+
};
|
|
80
84
|
}
|
|
81
85
|
|
|
82
86
|
public logSpans(): void {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./save-worker-pCkSHhuz.js";var t=e(((e,t)=>{t.exports={}}));export default t();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./worker-bSCjCvwz.js";var t=e(((e,t)=>{t.exports={}}));export default t();
|