@shoppexio/storefront 0.3.9 → 0.3.10
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/__tests__/storefront-contact.test.d.ts +2 -0
- package/dist/__tests__/storefront-contact.test.d.ts.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/shoppex.esm.js +2 -2
- package/dist/shoppex.esm.js.map +1 -1
- package/dist/shoppex.umd.js +1 -1
- package/dist/shoppex.umd.js.map +1 -1
- package/dist/types/api.d.ts +2 -0
- package/dist/types/api.d.ts.map +1 -1
- package/dist/utils/storefront-contact.d.ts +32 -0
- package/dist/utils/storefront-contact.d.ts.map +1 -0
- package/package.json +2 -2
package/dist/shoppex.esm.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var e=class e extends Error{constructor(t,n,r){super(t),this.name="ShoppexError",this.code=n,this.statusCode=r,Object.setPrototypeOf(this,e.prototype)}},t=class t extends e{constructor(){super("SDK not initialized. Call shoppex.init() first.","NOT_INITIALIZED"),this.name="NotInitializedError",Object.setPrototypeOf(this,t.prototype)}},n=class t extends e{constructor(e,n){super(e,"NETWORK_ERROR",n),this.name="NetworkError",Object.setPrototypeOf(this,t.prototype)}},r=class t extends e{constructor(e,n){super(e,"VALIDATION_ERROR"),this.name="ValidationError",this.invalidFields=n,Object.setPrototypeOf(this,t.prototype)}},o=class t extends e{constructor(e){super(e,"BASKET_ERROR"),this.name="CartError",Object.setPrototypeOf(this,t.prototype)}},i=/\{[^{}]+\}/g;function a(e){let{baseUrl:t="",Request:n=globalThis.Request,fetch:r=globalThis.fetch,querySerializer:o,bodySerializer:i,pathSerializer:a,headers:s,requestInitExt:c,...u}={...e};c="object"==typeof process&&Number.parseInt(process?.versions?.node?.substring(0,2))>=18&&process.versions.undici?c:void 0,t=m(t);const h=[];async function g(e,g){const{baseUrl:y,fetch:_=r,Request:v=n,headers:b,params:w={},parseAs:S="json",querySerializer:k,bodySerializer:z=i??p,pathSerializer:O,body:x,middleware:$=[],...E}=g||{};let T=t;y&&(T=m(y)??t);let I="function"==typeof o?o:l(o);k&&(I="function"==typeof k?k:l({..."object"==typeof o?o:{},...k}));const A=O||a||d,N=void 0===x?void 0:z(x,f(s,b,w.header)),C=f(void 0===N||N instanceof FormData?{}:{"Content-Type":"application/json"},s,b,w.header),P=[...h,...$],R={redirect:"follow",...u,...E,body:N,headers:C};let U,j,Z,D=new v(function(e,t){let n=`${t.baseUrl}${e}`;t.params?.path&&(n=t.pathSerializer(n,t.params.path));let r=t.querySerializer(t.params.query??{});r.startsWith("?")&&(r=r.substring(1));r&&(n+=`?${r}`);return n}(e,{baseUrl:T,params:w,querySerializer:I,pathSerializer:A}),R);for(const t in E)t in D||(D[t]=E[t]);if(P.length){U=Math.random().toString(36).slice(2,11),j=Object.freeze({baseUrl:T,fetch:_,parseAs:S,querySerializer:I,bodySerializer:z,pathSerializer:A});for(const t of P)if(t&&"object"==typeof t&&"function"==typeof t.onRequest){const n=await t.onRequest({request:D,schemaPath:e,params:w,options:j,id:U});if(n){if(!(n instanceof v)){if(n instanceof Response){Z=n;break}throw new Error("onRequest: must return new Request() or Response() when modifying the request")}D=n}}}if(!Z){try{Z=await _(D,c)}catch(M){let t=M;if(P.length)for(let n=P.length-1;n>=0;n--){const r=P[n];if(r&&"object"==typeof r&&"function"==typeof r.onError){const n=await r.onError({request:D,error:t,schemaPath:e,params:w,options:j,id:U});if(n){if(n instanceof Response){t=void 0,Z=n;break}if(n instanceof Error){t=n;continue}throw new Error("onError: must return new Response() or instance of Error")}}}if(t)throw t}if(P.length)for(let t=P.length-1;t>=0;t--){const n=P[t];if(n&&"object"==typeof n&&"function"==typeof n.onResponse){const t=await n.onResponse({request:D,response:Z,schemaPath:e,params:w,options:j,id:U});if(t){if(!(t instanceof Response))throw new Error("onResponse: must return new Response() when modifying the response");Z=t}}}}const L=Z.headers.get("Content-Length");if(204===Z.status||"HEAD"===D.method||"0"===L&&!Z.headers.get("Transfer-Encoding")?.includes("chunked"))return Z.ok?{data:void 0,response:Z}:{error:void 0,response:Z};if(Z.ok){const e=async()=>{if("stream"===S)return Z.body;if("json"===S&&!L){const e=await Z.text();return e?JSON.parse(e):void 0}return await Z[S]()};return{data:await e(),response:Z}}let q=await Z.text();try{q=JSON.parse(q)}catch{}return{error:q,response:Z}}return{request:(e,t,n)=>g(t,{...n,method:e.toUpperCase()}),GET:(e,t)=>g(e,{...t,method:"GET"}),PUT:(e,t)=>g(e,{...t,method:"PUT"}),POST:(e,t)=>g(e,{...t,method:"POST"}),DELETE:(e,t)=>g(e,{...t,method:"DELETE"}),OPTIONS:(e,t)=>g(e,{...t,method:"OPTIONS"}),HEAD:(e,t)=>g(e,{...t,method:"HEAD"}),PATCH:(e,t)=>g(e,{...t,method:"PATCH"}),TRACE:(e,t)=>g(e,{...t,method:"TRACE"}),use(...e){for(const t of e)if(t){if("object"!=typeof t||!("onRequest"in t||"onResponse"in t||"onError"in t))throw new Error("Middleware must be an object with one of `onRequest()`, `onResponse() or `onError()`");h.push(t)}},eject(...e){for(const t of e){const e=h.indexOf(t);-1!==e&&h.splice(e,1)}}}}function s(e,t,n){if(null==t)return"";if("object"==typeof t)throw new Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${e}=${!0===n?.allowReserved?t:encodeURIComponent(t)}`}function c(e,t,n){if(!t||"object"!=typeof t)return"";const r=[],o={simple:",",label:".",matrix:";"}[n.style]||"&";if("deepObject"!==n.style&&!1===n.explode){for(const e in t)r.push(e,!0===n.allowReserved?t[e]:encodeURIComponent(t[e]));const o=r.join(",");switch(n.style){case"form":return`${e}=${o}`;case"label":return`.${o}`;case"matrix":return`;${e}=${o}`;default:return o}}for(const a in t){const o="deepObject"===n.style?`${e}[${a}]`:a;r.push(s(o,t[a],n))}const i=r.join(o);return"label"===n.style||"matrix"===n.style?`${o}${i}`:i}function u(e,t,n){if(!Array.isArray(t))return"";if(!1===n.explode){const r={form:",",spaceDelimited:"%20",pipeDelimited:"|"}[n.style]||",",o=(!0===n.allowReserved?t:t.map(e=>encodeURIComponent(e))).join(r);switch(n.style){case"simple":return o;case"label":return`.${o}`;case"matrix":return`;${e}=${o}`;default:return`${e}=${o}`}}const r={simple:",",label:".",matrix:";"}[n.style]||"&",o=[];for(const i of t)"simple"===n.style||"label"===n.style?o.push(!0===n.allowReserved?i:encodeURIComponent(i)):o.push(s(e,i,n));return"label"===n.style||"matrix"===n.style?`${r}${o.join(r)}`:o.join(r)}function l(e){return function(t){const n=[];if(t&&"object"==typeof t)for(const r in t){const o=t[r];if(null!=o)if(Array.isArray(o)){if(0===o.length)continue;n.push(u(r,o,{style:"form",explode:!0,...e?.array,allowReserved:e?.allowReserved||!1}))}else"object"!=typeof o?n.push(s(r,o,e)):n.push(c(r,o,{style:"deepObject",explode:!0,...e?.object,allowReserved:e?.allowReserved||!1}))}return n.join("&")}}function d(e,t){let n=e;for(const r of e.match(i)??[]){let e=r.substring(1,r.length-1),o=!1,i="simple";if(e.endsWith("*")&&(o=!0,e=e.substring(0,e.length-1)),e.startsWith(".")?(i="label",e=e.substring(1)):e.startsWith(";")&&(i="matrix",e=e.substring(1)),!t||void 0===t[e]||null===t[e])continue;const a=t[e];Array.isArray(a)?n=n.replace(r,u(e,a,{style:i,explode:o})):n="object"!=typeof a?"matrix"!==i?n.replace(r,"label"===i?`.${encodeURIComponent(a)}`:encodeURIComponent(a)):n.replace(r,`;${s(e,a)}`):n.replace(r,c(e,a,{style:i,explode:o}))}return n}function p(e,t){return e instanceof FormData?e:t&&"application/x-www-form-urlencoded"===(t.get instanceof Function?t.get("Content-Type")??t.get("content-type"):t["Content-Type"]??t["content-type"])?new URLSearchParams(e).toString():JSON.stringify(e)}function f(...e){const t=new Headers;for(const n of e){if(!n||"object"!=typeof n)continue;const e=n instanceof Headers?n.entries():Object.entries(n);for(const[n,r]of e)if(null===r)t.delete(n);else if(Array.isArray(r))for(const e of r)t.append(n,e);else void 0!==r&&t.set(n,r)}return t}function m(e){return e.endsWith("/")?e.substring(0,e.length-1):e}var h,g={header:{title:"Header",aliases:["Header Menu"]},footer:{title:"Footer",aliases:["Footer Links","Legal Links"]}};function y(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,"_zod",{value:{def:r,constr:a,traits:/* @__PURE__ */new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);const o=a.prototype,i=Object.keys(o);for(let e=0;e<i.length;e++){const t=i[e];t in n||(n[t]=o[t].bind(n))}}const o=n?.Parent??Object;class i extends o{}function a(e){var t;const o=n?.Parent?new i:this;r(o,e),(t=o._zod).deferred??(t.deferred=[]);for(const n of o._zod.deferred)n();return o}return Object.defineProperty(i,"name",{value:e}),Object.defineProperty(a,"init",{value:r}),Object.defineProperty(a,Symbol.hasInstance,{value:t=>!!(n?.Parent&&t instanceof n.Parent)||t?._zod?.traits?.has(e)}),Object.defineProperty(a,"name",{value:e}),a}var _=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},v=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}};(h=globalThis).__zod_globalConfig??(h.__zod_globalConfig={});var b=globalThis.__zod_globalConfig;function w(e){return e&&Object.assign(b,e),b}function S(e){const t=Object.values(e).filter(e=>"number"==typeof e);return Object.entries(e).filter(([e,n])=>-1===t.indexOf(+e)).map(([e,t])=>t)}function k(e,t){return"bigint"==typeof t?t.toString():t}function z(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function O(e){return null==e}function x(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}var $=/* @__PURE__ */Symbol("evaluating");function E(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==$)return void 0===r&&(r=$,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function T(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function I(...e){const t={};for(const n of e)Object.assign(t,Object.getOwnPropertyDescriptors(n));return Object.defineProperties({},t)}function A(e){return JSON.stringify(e)}var N="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function C(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}var P=/* @__PURE__ */z(()=>{if(b.jitless)return!1;if("undefined"!=typeof navigator&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function R(e){if(!1===C(e))return!1;const t=e.constructor;if(void 0===t)return!0;if("function"!=typeof t)return!0;const n=t.prototype;return!1!==C(n)&&!1!==Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")}function U(e){return R(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var j=/* @__PURE__ */new Set(["string","number","symbol"]);function Z(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function D(e,t,n){const r=new e._zod.constr(t??e._zod.def);return t&&!n?.parent||(r._zod.parent=e),r}function L(e){const t=e;if(!t)return{};if("string"==typeof t)return{error:()=>t};if(void 0!==t?.message){if(void 0!==t?.error)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,"string"==typeof t.error?{...t,error:()=>t.error}:t}var q={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function M(e,t=0){if(!0===e.aborted)return!0;for(let n=t;n<e.issues.length;n++)if(!0!==e.issues[n]?.continue)return!0;return!1}function F(e,t=0){if(!0===e.aborted)return!0;for(let n=t;n<e.issues.length;n++)if(!1===e.issues[n]?.continue)return!0;return!1}function B(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function J(e){return"string"==typeof e?e:e?.message}function Y(e,t,n){const r=e.message?e.message:J(e.inst?._zod.def?.error?.(e))??J(t?.error?.(e))??J(n.customError?.(e))??J(n.localeError?.(e))??"Invalid input",{inst:o,continue:i,input:a,...s}=e;return s.path??(s.path=[]),s.message=r,t?.reportInput&&(s.input=a),s}function W(e){return Array.isArray(e)?"array":"string"==typeof e?"string":"unknown"}function G(...e){const[t,n,r]=e;return"string"==typeof t?{message:t,code:"custom",input:n,inst:r}:{...t}}var V=(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,k,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},K=y("$ZodError",V),H=y("$ZodError",V,{Parent:Error});var X=e=>(t,n,r,o)=>{const i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new _;if(a.issues.length){const t=new(o?.Err??e)(a.issues.map(e=>Y(e,i,w())));throw N(t,o?.callee),t}return a.value},Q=e=>async(t,n,r,o)=>{const i=r?{...r,async:!0}:{async:!0};let a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise&&(a=await a),a.issues.length){const t=new(o?.Err??e)(a.issues.map(e=>Y(e,i,w())));throw N(t,o?.callee),t}return a.value},ee=e=>(t,n,r)=>{const o=r?{...r,async:!1}:{async:!1},i=t._zod.run({value:n,issues:[]},o);if(i instanceof Promise)throw new _;return i.issues.length?{success:!1,error:new(e??K)(i.issues.map(e=>Y(e,o,w())))}:{success:!0,data:i.value}},te=/* @__PURE__ */ee(H),ne=e=>async(t,n,r)=>{const o=r?{...r,async:!0}:{async:!0};let i=t._zod.run({value:n,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(e=>Y(e,o,w())))}:{success:!0,data:i.value}},re=/* @__PURE__ */ne(H),oe=e=>(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return X(e)(t,n,o)},ie=e=>(t,n,r)=>X(e)(t,n,r),ae=e=>async(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return Q(e)(t,n,o)},se=e=>async(t,n,r)=>Q(e)(t,n,r),ce=e=>(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return ee(e)(t,n,o)},ue=e=>(t,n,r)=>ee(e)(t,n,r),le=e=>async(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return ne(e)(t,n,o)},de=e=>async(t,n,r)=>ne(e)(t,n,r),pe=/^[cC][0-9a-z]{6,}$/,fe=/^[0-9a-z]+$/,me=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,he=/^[0-9a-vA-V]{20}$/,ge=/^[A-Za-z0-9]{27}$/,ye=/^[a-zA-Z0-9_-]{21}$/,_e=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,ve=/^([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})$/,be=e=>e?new 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)$/,we=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var Se=/^(?:(?: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])$/,ke=/^(([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}|:))$/,ze=/^((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])$/,Oe=/^(([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])$/,xe=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,$e=/^[A-Za-z0-9_-]*$/,Ee=/^https?$/,Te=/^\+[1-9]\d{6,14}$/,Ie="(?:(?:\\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])))",Ae=/* @__PURE__ */new RegExp(`^${Ie}$`);function Ne(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return"number"==typeof e.precision?-1===e.precision?`${t}`:0===e.precision?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}var Ce=/^-?\d+$/,Pe=/^-?\d+(?:\.\d+)?$/,Re=/^(?:true|false)$/i,Ue=/^[^A-Z]*$/,je=/^[^a-z]*$/,Ze=/* @__PURE__ */y("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),De={number:"number",bigint:"bigint",object:"date"},Le=/* @__PURE__ */y("$ZodCheckLessThan",(e,t)=>{Ze.init(e,t);const n=De[typeof t.value];e._zod.onattach.push(e=>{const n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??Number.POSITIVE_INFINITY;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:"object"==typeof t.value?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),qe=/* @__PURE__ */y("$ZodCheckGreaterThan",(e,t)=>{Ze.init(e,t);const n=De[typeof t.value];e._zod.onattach.push(e=>{const n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??Number.NEGATIVE_INFINITY;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:"object"==typeof t.value?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Me=/* @__PURE__ */y("$ZodCheckMultipleOf",(e,t)=>{Ze.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 new Error("Cannot mix number and bigint in multiple_of check.");("bigint"==typeof n.value?n.value%t.value!==BigInt(0):0!==function(e,t){const n=e/t,r=Math.round(n),o=Number.EPSILON*Math.max(Math.abs(n),1);return Math.abs(n-r)<o?0:n-r}(n.value,t.value))&&n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Fe=/* @__PURE__ */y("$ZodCheckNumberFormat",(e,t)=>{Ze.init(e,t),t.format=t.format||"float64";const n=t.format?.includes("int"),r=n?"int":"number",[o,i]=q[t.format];e._zod.onattach.push(e=>{const r=e._zod.bag;r.format=t.format,r.minimum=o,r.maximum=i,n&&(r.pattern=Ce)}),e._zod.check=a=>{const s=a.value;if(n){if(!Number.isInteger(s))return void a.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:s,inst:e});if(!Number.isSafeInteger(s))return void(s>0?a.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort}):a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort}))}s<o&&a.issues.push({origin:"number",input:s,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),s>i&&a.issues.push({origin:"number",input:s,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),Be=/* @__PURE__ */y("$ZodCheckMaxLength",(e,t)=>{var n;Ze.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!O(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{const r=n.value;if(r.length<=t.maximum)return;const o=W(r);n.issues.push({origin:o,code:"too_big",maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Je=/* @__PURE__ */y("$ZodCheckMinLength",(e,t)=>{var n;Ze.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!O(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{const r=n.value;if(r.length>=t.minimum)return;const o=W(r);n.issues.push({origin:o,code:"too_small",minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Ye=/* @__PURE__ */y("$ZodCheckLengthEquals",(e,t)=>{var n;Ze.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!O(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{const r=n.value,o=r.length;if(o===t.length)return;const i=W(r),a=o>t.length;n.issues.push({origin:i,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),We=/* @__PURE__ */y("$ZodCheckStringFormat",(e,t)=>{var n,r;Ze.init(e,t),e._zod.onattach.push(e=>{const n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??(n.patterns=/* @__PURE__ */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=()=>{})}),Ge=/* @__PURE__ */y("$ZodCheckRegex",(e,t)=>{We.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})}}),Ve=/* @__PURE__ */y("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Ue),We.init(e,t)}),Ke=/* @__PURE__ */y("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=je),We.init(e,t)}),He=/* @__PURE__ */y("$ZodCheckIncludes",(e,t)=>{Ze.init(e,t);const n=Z(t.includes),r=new RegExp("number"==typeof t.position?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=/* @__PURE__ */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})}}),Xe=/* @__PURE__ */y("$ZodCheckStartsWith",(e,t)=>{Ze.init(e,t);const n=new RegExp(`^${Z(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=/* @__PURE__ */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})}}),Qe=/* @__PURE__ */y("$ZodCheckEndsWith",(e,t)=>{Ze.init(e,t);const n=new RegExp(`.*${Z(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=/* @__PURE__ */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})}}),et=/* @__PURE__ */y("$ZodCheckOverwrite",(e,t)=>{Ze.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),tt=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if("function"==typeof e)return e(this,{execution:"sync"}),void e(this,{execution:"async"});const t=e.split("\n").filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>" ".repeat(2*this.indent)+e);for(const o of r)this.content.push(o)}compile(){const e=Function,t=this?.args;return new e(...t,[...(this?.content??[""]).map(e=>` ${e}`)].join("\n"))}},nt={major:4,minor:4,patch:3},rt=/* @__PURE__ */y("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=nt;const r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(const o of r)for(const t of o._zod.onattach)t(e);if(0===r.length)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const t=(e,t,n)=>{let r,o=M(e);for(const i of t){if(i._zod.def.when){if(F(e))continue;if(!i._zod.def.when(e))continue}else if(o)continue;const t=e.issues.length,a=i._zod.check(e);if(a instanceof Promise&&!1===n?.async)throw new _;if(r||a instanceof Promise)r=(r??Promise.resolve()).then(async()=>{await a,e.issues.length!==t&&(o||(o=M(e,t)))});else{if(e.issues.length===t)continue;o||(o=M(e,t))}}return r?r.then(()=>e):e},n=(n,o,i)=>{if(M(n))return n.aborted=!0,n;const a=t(o,r,i);if(a instanceof Promise){if(!1===i.async)throw new _;return a.then(t=>e._zod.parse(t,i))}return e._zod.parse(a,i)};e._zod.run=(o,i)=>{if(i.skipChecks)return e._zod.parse(o,i);if("backward"===i.direction){const t=e._zod.parse({value:o.value,issues:[]},{...i,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,o,i)):n(t,o,i)}const a=e._zod.parse(o,i);if(a instanceof Promise){if(!1===i.async)throw new _;return a.then(e=>t(e,r,i))}return t(a,r,i)}}E(e,"~standard",()=>({validate:t=>{try{const n=te(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch(n){return re(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:"zod",version:1}))}),ot=/* @__PURE__ */y("$ZodString",(e,t)=>{var n;rt.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??(n=e._zod.bag,new RegExp(`^${n?`[\\s\\S]{${n?.minimum??0},${n?.maximum??""}}`:"[\\s\\S]*"}$`)),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch(r){}return"string"==typeof n.value||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),it=/* @__PURE__ */y("$ZodStringFormat",(e,t)=>{We.init(e,t),ot.init(e,t)}),at=/* @__PURE__ */y("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=ve),it.init(e,t)}),st=/* @__PURE__ */y("$ZodUUID",(e,t)=>{if(t.version){const e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(void 0===e)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=be(e))}else t.pattern??(t.pattern=be());it.init(e,t)}),ct=/* @__PURE__ */y("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=we),it.init(e,t)}),ut=/* @__PURE__ */y("$ZodURL",(e,t)=>{it.init(e,t),e._zod.check=n=>{try{const r=n.value.trim();if(!t.normalize&&t.protocol?.source===Ee.source&&!/^https?:\/\//i.test(r))return void n.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:n.value,inst:e,continue:!t.abort});const o=new URL(r);return t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(o.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(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),void(t.normalize?n.value=o.href:n.value=r)}catch(r){n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),lt=/* @__PURE__ */y("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),it.init(e,t)}),dt=/* @__PURE__ */y("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=ye),it.init(e,t)}),pt=/* @__PURE__ */y("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=pe),it.init(e,t)}),ft=/* @__PURE__ */y("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=fe),it.init(e,t)}),mt=/* @__PURE__ */y("$ZodULID",(e,t)=>{t.pattern??(t.pattern=me),it.init(e,t)}),ht=/* @__PURE__ */y("$ZodXID",(e,t)=>{t.pattern??(t.pattern=he),it.init(e,t)}),gt=/* @__PURE__ */y("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=ge),it.init(e,t)}),yt=/* @__PURE__ */y("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=function(e){const t=Ne({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const r=`${t}(?:${n.join("|")})`;return new RegExp(`^${Ie}T(?:${r})$`)}(t)),it.init(e,t)}),_t=/* @__PURE__ */y("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Ae),it.init(e,t)}),vt=/* @__PURE__ */y("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=new RegExp(`^${Ne(t)}$`)),it.init(e,t)}),bt=/* @__PURE__ */y("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=_e),it.init(e,t)}),wt=/* @__PURE__ */y("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Se),it.init(e,t),e._zod.bag.format="ipv4"}),St=/* @__PURE__ */y("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=ke),it.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})}}}),kt=/* @__PURE__ */y("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=ze),it.init(e,t)}),zt=/* @__PURE__ */y("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Oe),it.init(e,t),e._zod.check=n=>{const r=n.value.split("/");try{if(2!==r.length)throw new Error;const[e,t]=r;if(!t)throw new Error;const n=Number(t);if(`${n}`!==t)throw new Error;if(n<0||n>128)throw new Error;new URL(`http://[${e}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function Ot(e){if(""===e)return!0;if(/\s/.test(e))return!1;if(e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var xt=/* @__PURE__ */y("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=xe),it.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{Ot(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});var $t=/* @__PURE__ */y("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=$e),it.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{(function(e){if(!$e.test(e))return!1;const t=e.replace(/[-_]/g,e=>"-"===e?"+":"/");return Ot(t.padEnd(4*Math.ceil(t.length/4),"="))})(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),Et=/* @__PURE__ */y("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Te),it.init(e,t)});var Tt=/* @__PURE__ */y("$ZodJWT",(e,t)=>{it.init(e,t),e._zod.check=n=>{(function(e,t=null){try{const n=e.split(".");if(3!==n.length)return!1;const[r]=n;if(!r)return!1;const o=JSON.parse(atob(r));return!("typ"in o&&"JWT"!==o?.typ||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}})(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),It=/* @__PURE__ */y("$ZodNumber",(e,t)=>{rt.init(e,t),e._zod.pattern=e._zod.bag.pattern??Pe,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch(a){}const o=n.value;if("number"==typeof o&&!Number.isNaN(o)&&Number.isFinite(o))return n;const i="number"==typeof o?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...i?{received:i}:{}}),n}}),At=/* @__PURE__ */y("$ZodNumberFormat",(e,t)=>{Fe.init(e,t),It.init(e,t)}),Nt=/* @__PURE__ */y("$ZodBoolean",(e,t)=>{rt.init(e,t),e._zod.pattern=Re,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Boolean(n.value)}catch(i){}const o=n.value;return"boolean"==typeof o||n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}}),Ct=/* @__PURE__ */y("$ZodUnknown",(e,t)=>{rt.init(e,t),e._zod.parse=e=>e}),Pt=/* @__PURE__ */y("$ZodNever",(e,t)=>{rt.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:"never",code:"invalid_type",input:t.value,inst:e}),t)});function Rt(e,t,n){e.issues.length&&t.issues.push(...B(n,e.issues)),t.value[n]=e.value}var Ut=/* @__PURE__ */y("$ZodArray",(e,t)=>{rt.init(e,t),e._zod.parse=(n,r)=>{const o=n.value;if(!Array.isArray(o))return n.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),n;n.value=Array(o.length);const i=[];for(let e=0;e<o.length;e++){const a=o[e],s=t.element._zod.run({value:a,issues:[]},r);s instanceof Promise?i.push(s.then(t=>Rt(t,n,e))):Rt(s,n,e)}return i.length?Promise.all(i).then(()=>n):n}});function jt(e,t,n,r,o,i){const a=n in r;if(e.issues.length){if(o&&i&&!a)return;t.issues.push(...B(n,e.issues))}a||o?void 0===e.value?a&&(t.value[n]=void 0):t.value[n]=e.value:e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[n]})}function Zt(e){const t=Object.keys(e.shape);for(const o of t)if(!e.shape?.[o]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${o}": expected a Zod schema`);const n=(r=e.shape,Object.keys(r).filter(e=>"optional"===r[e]._zod.optin&&"optional"===r[e]._zod.optout));var r;return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function Dt(e,t,n,r,o,i){const a=[],s=o.keySet,c=o.catchall._zod,u=c.def.type,l="optional"===c.optin,d="optional"===c.optout;for(const p in t){if("__proto__"===p)continue;if(s.has(p))continue;if("never"===u){a.push(p);continue}const o=c.run({value:t[p],issues:[]},r);o instanceof Promise?e.push(o.then(e=>jt(e,n,p,t,l,d))):jt(o,n,p,t,l,d)}return a.length&&n.issues.push({code:"unrecognized_keys",keys:a,input:t,inst:i}),e.length?Promise.all(e).then(()=>n):n}var Lt=/* @__PURE__ */y("$ZodObject",(e,t)=>{if(rt.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){const e=t.shape;Object.defineProperty(t,"shape",{get:()=>{const n={...e};return Object.defineProperty(t,"shape",{value:n}),n}})}const n=z(()=>Zt(t));E(e._zod,"propValues",()=>{const e=t.shape,n={};for(const t in e){const r=e[t]._zod;if(r.values){n[t]??(n[t]=/* @__PURE__ */new Set);for(const e of r.values)n[t].add(e)}}return n});const r=C,o=t.catchall;let i;e._zod.parse=(t,a)=>{i??(i=n.value);const s=t.value;if(!r(s))return t.issues.push({expected:"object",code:"invalid_type",input:s,inst:e}),t;t.value={};const c=[],u=i.shape;for(const e of i.keys){const n=u[e],r="optional"===n._zod.optin,o="optional"===n._zod.optout,i=n._zod.run({value:s[e],issues:[]},a);i instanceof Promise?c.push(i.then(n=>jt(n,t,e,s,r,o))):jt(i,t,e,s,r,o)}return o?Dt(c,s,t,a,n.value,e):c.length?Promise.all(c).then(()=>t):t}}),qt=/* @__PURE__ */y("$ZodObjectJIT",(e,t)=>{Lt.init(e,t);const n=e._zod.parse,r=z(()=>Zt(t));let o;const i=C,a=!b.jitless,s=a&&P.value,c=t.catchall;let u;e._zod.parse=(l,d)=>{u??(u=r.value);const p=l.value;return i(p)?a&&s&&!1===d?.async&&!0!==d.jitless?(o||(o=(e=>{const t=new tt(["shape","payload","ctx"]),n=r.value,o=e=>{const t=A(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write("const input = payload.value;");const i=Object.create(null);let a=0;for(const r of n.keys)i[r]="key_"+a++;t.write("const newResult = {};");for(const r of n.keys){const n=i[r],a=A(r),s=e[r],c="optional"===s?._zod?.optin,u="optional"===s?._zod?.optout;t.write(`const ${n} = ${o(r)};`),c&&u?t.write(`\n if (${n}.issues.length) {\n if (${a} in input) {\n payload.issues = payload.issues.concat(${n}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${a}, ...iss.path] : [${a}]\n })));\n }\n }\n \n if (${n}.value === undefined) {\n if (${a} in input) {\n newResult[${a}] = undefined;\n }\n } else {\n newResult[${a}] = ${n}.value;\n }\n \n `):c?t.write(`\n if (${n}.issues.length) {\n payload.issues = payload.issues.concat(${n}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${a}, ...iss.path] : [${a}]\n })));\n }\n \n if (${n}.value === undefined) {\n if (${a} in input) {\n newResult[${a}] = undefined;\n }\n } else {\n newResult[${a}] = ${n}.value;\n }\n \n `):t.write(`\n const ${n}_present = ${a} in input;\n if (${n}.issues.length) {\n payload.issues = payload.issues.concat(${n}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${a}, ...iss.path] : [${a}]\n })));\n }\n if (!${n}_present && !${n}.issues.length) {\n payload.issues.push({\n code: "invalid_type",\n expected: "nonoptional",\n input: undefined,\n path: [${a}]\n });\n }\n\n if (${n}_present) {\n if (${n}.value === undefined) {\n newResult[${a}] = undefined;\n } else {\n newResult[${a}] = ${n}.value;\n }\n }\n\n `)}t.write("payload.value = newResult;"),t.write("return payload;");const s=t.compile();return(t,n)=>s(e,t,n)})(t.shape)),l=o(l,d),c?Dt([],p,l,d,u,e):l):n(l,d):(l.issues.push({expected:"object",code:"invalid_type",input:p,inst:e}),l)}});function Mt(e,t,n,r){for(const i of e)if(0===i.issues.length)return t.value=i.value,t;const o=e.filter(e=>!M(e));return 1===o.length?(t.value=o[0].value,o[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>Y(e,r,w())))}),t)}var Ft=/* @__PURE__ */y("$ZodUnion",(e,t)=>{rt.init(e,t),E(e._zod,"optin",()=>t.options.some(e=>"optional"===e._zod.optin)?"optional":void 0),E(e._zod,"optout",()=>t.options.some(e=>"optional"===e._zod.optout)?"optional":void 0),E(e._zod,"values",()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),E(e._zod,"pattern",()=>{if(t.options.every(e=>e._zod.pattern)){const e=t.options.map(e=>e._zod.pattern);return new RegExp(`^(${e.map(e=>x(e.source)).join("|")})$`)}});const n=1===t.options.length?t.options[0]._zod.run:null;e._zod.parse=(r,o)=>{if(n)return n(r,o);let i=!1;const a=[];for(const e of t.options){const t=e._zod.run({value:r.value,issues:[]},o);if(t instanceof Promise)a.push(t),i=!0;else{if(0===t.issues.length)return t;a.push(t)}}return i?Promise.all(a).then(t=>Mt(t,r,e,o)):Mt(a,r,e,o)}}),Bt=/* @__PURE__ */y("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,Ft.init(e,t);const n=e._zod.parse;E(e._zod,"propValues",()=>{const e={};for(const n of t.options){const r=n._zod.propValues;if(!r||0===Object.keys(r).length)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(n)}"`);for(const[t,n]of Object.entries(r)){e[t]||(e[t]=/* @__PURE__ */new Set);for(const r of n)e[t].add(r)}}return e});const r=z(()=>{const e=t.options,n=/* @__PURE__ */new Map;for(const r of e){const e=r._zod.propValues?.[t.discriminator];if(!e||0===e.size)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(r)}"`);for(const t of e){if(n.has(t))throw new Error(`Duplicate discriminator value "${String(t)}"`);n.set(t,r)}}return n});e._zod.parse=(o,i)=>{const a=o.value;if(!C(a))return o.issues.push({code:"invalid_type",expected:"object",input:a,inst:e}),o;const s=r.value.get(a?.[t.discriminator]);return s?s._zod.run(o,i):t.unionFallback||"backward"===i.direction?n(o,i):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,options:Array.from(r.value.keys()),input:a,path:[t.discriminator],inst:e}),o)}}),Jt=/* @__PURE__ */y("$ZodIntersection",(e,t)=>{rt.init(e,t),e._zod.parse=(e,n)=>{const r=e.value,o=t.left._zod.run({value:r,issues:[]},n),i=t.right._zod.run({value:r,issues:[]},n);return o instanceof Promise||i instanceof Promise?Promise.all([o,i]).then(([t,n])=>Wt(e,t,n)):Wt(e,o,i)}});function Yt(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(R(e)&&R(t)){const n=Object.keys(t),r=Object.keys(e).filter(e=>-1!==n.indexOf(e)),o={...e,...t};for(const i of r){const n=Yt(e[i],t[i]);if(!n.valid)return{valid:!1,mergeErrorPath:[i,...n.mergeErrorPath]};o[i]=n.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let r=0;r<e.length;r++){const o=Yt(e[r],t[r]);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Wt(e,t,n){const r=/* @__PURE__ */new Map;let o;for(const s of t.issues)if("unrecognized_keys"===s.code){o??(o=s);for(const e of s.keys)r.has(e)||r.set(e,{}),r.get(e).l=!0}else e.issues.push(s);for(const s of n.issues)if("unrecognized_keys"===s.code)for(const e of s.keys)r.has(e)||r.set(e,{}),r.get(e).r=!0;else e.issues.push(s);const i=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(i.length&&o&&e.issues.push({...o,keys:i}),M(e))return e;const a=Yt(t.value,n.value);if(!a.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(a.mergeErrorPath)}`);return e.value=a.data,e}var Gt=/* @__PURE__ */y("$ZodRecord",(e,t)=>{rt.init(e,t),e._zod.parse=(n,r)=>{const o=n.value;if(!R(o))return n.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),n;const i=[],a=t.keyType._zod.values;if(a){n.value={};const s=/* @__PURE__ */new Set;for(const u of a)if("string"==typeof u||"number"==typeof u||"symbol"==typeof u){s.add("number"==typeof u?u.toString():u);const a=t.keyType._zod.run({value:u,issues:[]},r);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){n.issues.push({code:"invalid_key",origin:"record",issues:a.issues.map(e=>Y(e,r,w())),input:u,path:[u],inst:e});continue}const c=a.value,l=t.valueType._zod.run({value:o[u],issues:[]},r);l instanceof Promise?i.push(l.then(e=>{e.issues.length&&n.issues.push(...B(u,e.issues)),n.value[c]=e.value})):(l.issues.length&&n.issues.push(...B(u,l.issues)),n.value[c]=l.value)}let c;for(const e in o)s.has(e)||(c=c??[],c.push(e));c&&c.length>0&&n.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:c})}else{n.value={};for(const a of Reflect.ownKeys(o)){if("__proto__"===a)continue;if(!Object.prototype.propertyIsEnumerable.call(o,a))continue;let s=t.keyType._zod.run({value:a,issues:[]},r);if(s instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if("string"==typeof a&&Pe.test(a)&&s.issues.length){const e=t.keyType._zod.run({value:Number(a),issues:[]},r);if(e instanceof Promise)throw new Error("Async schemas not supported in object keys currently");0===e.issues.length&&(s=e)}if(s.issues.length){"loose"===t.mode?n.value[a]=o[a]:n.issues.push({code:"invalid_key",origin:"record",issues:s.issues.map(e=>Y(e,r,w())),input:a,path:[a],inst:e});continue}const c=t.valueType._zod.run({value:o[a],issues:[]},r);c instanceof Promise?i.push(c.then(e=>{e.issues.length&&n.issues.push(...B(a,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...B(a,c.issues)),n.value[s.value]=c.value)}}return i.length?Promise.all(i).then(()=>n):n}}),Vt=/* @__PURE__ */y("$ZodEnum",(e,t)=>{rt.init(e,t);const n=S(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.filter(e=>j.has(typeof e)).map(e=>"string"==typeof e?Z(e):e.toString()).join("|")})$`),e._zod.parse=(t,o)=>{const i=t.value;return r.has(i)||t.issues.push({code:"invalid_value",values:n,input:i,inst:e}),t}}),Kt=/* @__PURE__ */y("$ZodLiteral",(e,t)=>{if(rt.init(e,t),0===t.values.length)throw new Error("Cannot create literal schema with no valid values");const n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map(e=>"string"==typeof e?Z(e):e?Z(e.toString()):String(e)).join("|")})$`),e._zod.parse=(r,o)=>{const i=r.value;return n.has(i)||r.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),r}}),Ht=/* @__PURE__ */y("$ZodTransform",(e,t)=>{rt.init(e,t),e._zod.optin="optional",e._zod.parse=(n,r)=>{if("backward"===r.direction)throw new v(e.constructor.name);const o=t.transform(n.value,n);if(r.async)return(o instanceof Promise?o:Promise.resolve(o)).then(e=>(n.value=e,n.fallback=!0,n));if(o instanceof Promise)throw new _;return n.value=o,n.fallback=!0,n}});function Xt(e,t){return void 0===t&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}var Qt=/* @__PURE__ */y("$ZodOptional",(e,t)=>{rt.init(e,t),e._zod.optin="optional",e._zod.optout="optional",E(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),E(e._zod,"pattern",()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${x(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if("optional"===t.innerType._zod.optin){const r=e.value,o=t.innerType._zod.run(e,n);return o instanceof Promise?o.then(e=>Xt(e,r)):Xt(o,r)}return void 0===e.value?e:t.innerType._zod.run(e,n)}}),en=/* @__PURE__ */y("$ZodExactOptional",(e,t)=>{Qt.init(e,t),E(e._zod,"values",()=>t.innerType._zod.values),E(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),tn=/* @__PURE__ */y("$ZodNullable",(e,t)=>{rt.init(e,t),E(e._zod,"optin",()=>t.innerType._zod.optin),E(e._zod,"optout",()=>t.innerType._zod.optout),E(e._zod,"pattern",()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${x(e.source)}|null)$`):void 0}),E(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>null===e.value?e:t.innerType._zod.run(e,n)}),nn=/* @__PURE__ */y("$ZodDefault",(e,t)=>{rt.init(e,t),e._zod.optin="optional",E(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);if(void 0===e.value)return e.value=t.defaultValue,e;const r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>rn(e,t)):rn(r,t)}});function rn(e,t){return void 0===e.value&&(e.value=t.defaultValue),e}var on=/* @__PURE__ */y("$ZodPrefault",(e,t)=>{rt.init(e,t),e._zod.optin="optional",E(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>("backward"===n.direction||void 0===e.value&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),an=/* @__PURE__ */y("$ZodNonOptional",(e,t)=>{rt.init(e,t),E(e._zod,"values",()=>{const e=t.innerType._zod.values;return e?new Set([...e].filter(e=>void 0!==e)):void 0}),e._zod.parse=(n,r)=>{const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(t=>sn(t,e)):sn(o,e)}});function sn(e,t){return e.issues.length||void 0!==e.value||e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}var cn=/* @__PURE__ */y("$ZodCatch",(e,t)=>{rt.init(e,t),e._zod.optin="optional",E(e._zod,"optout",()=>t.innerType._zod.optout),E(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);const 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=>Y(e,n,w()))},input:e.value}),e.issues=[],e.fallback=!0),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>Y(e,n,w()))},input:e.value}),e.issues=[],e.fallback=!0),e)}}),un=/* @__PURE__ */y("$ZodPipe",(e,t)=>{rt.init(e,t),E(e._zod,"values",()=>t.in._zod.values),E(e._zod,"optin",()=>t.in._zod.optin),E(e._zod,"optout",()=>t.out._zod.optout),E(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if("backward"===n.direction){const r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>ln(e,t.in,n)):ln(r,t.in,n)}const r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>ln(e,t.out,n)):ln(r,t.out,n)}});function ln(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},n)}var dn=/* @__PURE__ */y("$ZodReadonly",(e,t)=>{rt.init(e,t),E(e._zod,"propValues",()=>t.innerType._zod.propValues),E(e._zod,"values",()=>t.innerType._zod.values),E(e._zod,"optin",()=>t.innerType?._zod?.optin),E(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);const r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(pn):pn(r)}});function pn(e){return e.value=Object.freeze(e.value),e}var fn,mn=/* @__PURE__ */y("$ZodCustom",(e,t)=>{Ze.init(e,t),rt.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{const r=n.value,o=t.fn(r);if(o instanceof Promise)return o.then(t=>hn(t,n,r,e));hn(o,n,r,e)}});function hn(e,t,n,r){if(!e){const 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(G(e))}}var gn=class{constructor(){this._map=/* @__PURE__ */new WeakMap,this._idmap=/* @__PURE__ */new Map}add(e,...t){const n=t[0];return this._map.set(e,n),n&&"object"==typeof n&&"id"in n&&this._idmap.set(n.id,e),this}clear(){return this._map=/* @__PURE__ */new WeakMap,this._idmap=/* @__PURE__ */new Map,this}remove(e){const t=this._map.get(e);return t&&"object"==typeof t&&"id"in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){const t=e._zod.parent;if(t){const n={...this.get(t)??{}};delete n.id;const 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)}};(fn=globalThis).__zod_globalRegistry??(fn.__zod_globalRegistry=new gn);var yn=globalThis.__zod_globalRegistry;function _n(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...L(t)})}function vn(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...L(t)})}function bn(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...L(t)})}function wn(e,t){return new Le({check:"less_than",...L(t),value:e,inclusive:!1})}function Sn(e,t){return new Le({check:"less_than",...L(t),value:e,inclusive:!0})}function kn(e,t){return new qe({check:"greater_than",...L(t),value:e,inclusive:!1})}function zn(e,t){return new qe({check:"greater_than",...L(t),value:e,inclusive:!0})}function On(e,t){return new Me({check:"multiple_of",...L(t),value:e})}function xn(e,t){return new Be({check:"max_length",...L(t),maximum:e})}function $n(e,t){return new Je({check:"min_length",...L(t),minimum:e})}function En(e,t){return new Ye({check:"length_equals",...L(t),length:e})}function Tn(e){return new et({check:"overwrite",tx:e})}function In(e,t){const n=new Ze({check:"custom",...L(t)});return n._zod.check=e,n}function An(e){let t=e?.target??"draft-2020-12";return"draft-4"===t&&(t="draft-04"),"draft-7"===t&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??yn,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:/* @__PURE__ */new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function Nn(e,t,n={path:[],schemaPath:[]}){var r;const o=e._zod.def,i=t.seen.get(e);if(i)return i.count++,n.schemaPath.includes(e)&&(i.cycle=n.path),i.schema;const a={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,a);const s=e._zod.toJSONSchema?.();if(s)a.schema=s;else{const r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,a.schema,r);else{const n=a.schema,i=t.processors[o.type];if(!i)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);i(e,t,n,r)}const i=e._zod.parent;i&&(a.ref||(a.ref=i),Nn(i,t,r),t.seen.get(i).isParent=!0)}const c=t.metadataRegistry.get(e);return c&&Object.assign(a.schema,c),"input"===t.io&&Rn(e)&&(delete a.schema.examples,delete a.schema.default),"input"===t.io&&"_prefault"in a.schema&&((r=a.schema).default??(r.default=a.schema._prefault)),delete a.schema._prefault,t.seen.get(e).schema}function Cn(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=/* @__PURE__ */new Map;for(const i of e.seen.entries()){const t=e.metadataRegistry.get(i[0])?.id;if(t){const e=r.get(t);if(e&&e!==i[0])throw new Error(`Duplicate schema id "${t}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(t,i[0])}}const o=t=>{if(t[1].schema.$ref)return;const r=t[1],{ref:o,defId:i}=(t=>{const r="draft-2020-12"===e.target?"$defs":"definitions";if(e.external){const n=e.external.registry.get(t[0])?.id,o=e.external.uri??(e=>e);if(n)return{ref:o(n)};const i=t[1].defId??t[1].schema.id??"schema"+e.counter++;return t[1].defId=i,{defId:i,ref:`${o("__shared")}#/${r}/${i}`}}if(t[1]===n)return{ref:"#"};const o=`#/${r}/`,i=t[1].schema.id??"__schema"+e.counter++;return{defId:i,ref:o+i}})(t);r.def={...r.schema},i&&(r.defId=i);const a=r.schema;for(const e in a)delete a[e];a.$ref=o};if("throw"===e.cycles)for(const i of e.seen.entries()){const e=i[1];if(e.cycle)throw new Error(`Cycle detected: #/${e.cycle?.join("/")}/<root>\n\nSet the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const i of e.seen.entries()){const n=i[1];if(t!==i[0]){if(e.external){const n=e.external.registry.get(i[0])?.id;if(t!==i[0]&&n){o(i);continue}}(e.metadataRegistry.get(i[0])?.id||n.cycle||n.count>1&&"ref"===e.reused)&&o(i)}else o(i)}}function Pn(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=t=>{const n=e.seen.get(t);if(null===n.ref)return;const o=n.def??n.schema,i={...o},a=n.ref;if(n.ref=null,a){r(a);const n=e.seen.get(a),s=n.schema;if(!s.$ref||"draft-07"!==e.target&&"draft-04"!==e.target&&"openapi-3.0"!==e.target?Object.assign(o,s):(o.allOf=o.allOf??[],o.allOf.push(s)),Object.assign(o,i),t._zod.parent===a)for(const e in o)"$ref"!==e&&"allOf"!==e&&(e in i||delete o[e]);if(s.$ref&&n.def)for(const e in o)"$ref"!==e&&"allOf"!==e&&e in n.def&&JSON.stringify(o[e])===JSON.stringify(n.def[e])&&delete o[e]}const s=t._zod.parent;if(s&&s!==a){r(s);const t=e.seen.get(s);if(t?.schema.$ref&&(o.$ref=t.schema.$ref,t.def))for(const e in o)"$ref"!==e&&"allOf"!==e&&e in t.def&&JSON.stringify(o[e])===JSON.stringify(t.def[e])&&delete o[e]}e.override({zodSchema:t,jsonSchema:o,path:n.path??[]})};for(const c of[...e.seen.entries()].reverse())r(c[0]);const o={};if("draft-2020-12"===e.target?o.$schema="https://json-schema.org/draft/2020-12/schema":"draft-07"===e.target?o.$schema="http://json-schema.org/draft-07/schema#":"draft-04"===e.target?o.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const n=e.external.registry.get(t)?.id;if(!n)throw new Error("Schema is missing an `id` property");o.$id=e.external.uri(n)}Object.assign(o,n.def??n.schema);const i=e.metadataRegistry.get(t)?.id;void 0!==i&&o.id===i&&delete o.id;const a=e.external?.defs??{};for(const c of e.seen.entries()){const e=c[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,a[e.defId]=e.def)}e.external||Object.keys(a).length>0&&("draft-2020-12"===e.target?o.$defs=a:o.definitions=a);try{const n=JSON.parse(JSON.stringify(o));return Object.defineProperty(n,"~standard",{value:{...t["~standard"],jsonSchema:{input:Un(t,"input",e.processors),output:Un(t,"output",e.processors)}},enumerable:!1,writable:!1}),n}catch(s){throw new Error("Error converting schema to JSON.")}}function Rn(e,t){const n=t??{seen:/* @__PURE__ */new Set};if(n.seen.has(e))return!1;n.seen.add(e);const r=e._zod.def;if("transform"===r.type)return!0;if("array"===r.type)return Rn(r.element,n);if("set"===r.type)return Rn(r.valueType,n);if("lazy"===r.type)return Rn(r.getter(),n);if("promise"===r.type||"optional"===r.type||"nonoptional"===r.type||"nullable"===r.type||"readonly"===r.type||"default"===r.type||"prefault"===r.type)return Rn(r.innerType,n);if("intersection"===r.type)return Rn(r.left,n)||Rn(r.right,n);if("record"===r.type||"map"===r.type)return Rn(r.keyType,n)||Rn(r.valueType,n);if("pipe"===r.type)return!!e._zod.traits.has("$ZodCodec")||(Rn(r.in,n)||Rn(r.out,n));if("object"===r.type){for(const e in r.shape)if(Rn(r.shape[e],n))return!0;return!1}if("union"===r.type){for(const e of r.options)if(Rn(e,n))return!0;return!1}if("tuple"===r.type){for(const e of r.items)if(Rn(e,n))return!0;return!(!r.rest||!Rn(r.rest,n))}return!1}var Un=(e,t,n={})=>r=>{const{libraryOptions:o,target:i}=r??{},a=An({...o??{},target:i,io:t,processors:n});return Nn(e,a),Cn(a,e),Pn(a,e)},jn={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Zn=(e,t,n,r)=>{const o=e._zod.def;Nn(o.innerType,t,r);t.seen.get(e).ref=o.innerType},Dn=/* @__PURE__ */y("ZodISODateTime",(e,t)=>{yt.init(e,t),fr.init(e,t)});function Ln(e){return function(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...L(t)})}(Dn,e)}var qn=/* @__PURE__ */y("ZodISODate",(e,t)=>{_t.init(e,t),fr.init(e,t)});function Mn(e){return function(e,t){return new e({type:"string",format:"date",check:"string_format",...L(t)})}(qn,e)}var Fn=/* @__PURE__ */y("ZodISOTime",(e,t)=>{vt.init(e,t),fr.init(e,t)});function Bn(e){return function(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...L(t)})}(Fn,e)}var Jn=/* @__PURE__ */y("ZodISODuration",(e,t)=>{bt.init(e,t),fr.init(e,t)});function Yn(e){return function(e,t){return new e({type:"string",format:"duration",check:"string_format",...L(t)})}(Jn,e)}var Wn=(e,t)=>{K.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:t=>function(e,t=e=>e.message){const n={_errors:[]},r=(e,o=[])=>{for(const i of e.issues)if("invalid_union"===i.code&&i.errors.length)i.errors.map(e=>r({issues:e},[...o,...i.path]));else if("invalid_key"===i.code)r({issues:i.issues},[...o,...i.path]);else if("invalid_element"===i.code)r({issues:i.issues},[...o,...i.path]);else{const e=[...o,...i.path];if(0===e.length)n._errors.push(t(i));else{let r=n,o=0;for(;o<e.length;){const n=e[o];o!==e.length-1?r[n]=r[n]||{_errors:[]}:(r[n]=r[n]||{_errors:[]},r[n]._errors.push(t(i))),r=r[n],o++}}}};return r(e),n}(e,t)},flatten:{value:t=>function(e,t=e=>e.message){const n={},r=[];for(const o of e.issues)o.path.length>0?(n[o.path[0]]=n[o.path[0]]||[],n[o.path[0]].push(t(o))):r.push(t(o));return{formErrors:r,fieldErrors:n}}(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,k,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,k,2)}},isEmpty:{get:()=>0===e.issues.length}})},Gn=/* @__PURE__ */y("ZodError",Wn,{Parent:Error}),Vn=/* @__PURE__ */X(Gn),Kn=/* @__PURE__ */Q(Gn),Hn=/* @__PURE__ */ee(Gn),Xn=/* @__PURE__ */ne(Gn),Qn=/* @__PURE__ */oe(Gn),er=/* @__PURE__ */ie(Gn),tr=/* @__PURE__ */ae(Gn),nr=/* @__PURE__ */se(Gn),rr=/* @__PURE__ */ce(Gn),or=/* @__PURE__ */ue(Gn),ir=/* @__PURE__ */le(Gn),ar=/* @__PURE__ */de(Gn),sr=/* @__PURE__ */new WeakMap;function cr(e,t,n){const r=Object.getPrototypeOf(e);let o=sr.get(r);if(o||(o=/* @__PURE__ */new Set,sr.set(r,o)),!o.has(t)){o.add(t);for(const e in n){const t=n[e];Object.defineProperty(r,e,{configurable:!0,enumerable:!1,get(){const n=t.bind(this);return Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:n}),n},set(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:t})}})}}}var ur=/* @__PURE__ */y("ZodType",(e,t)=>(rt.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Un(e,"input"),output:Un(e,"output")}}),e.toJSONSchema=((e,t={})=>n=>{const r=An({...n,processors:t});return Nn(e,r),Cn(r,e),Pn(r,e)})(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(t,n)=>Vn(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>Hn(e,t,n),e.parseAsync=async(t,n)=>Kn(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>Xn(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>Qn(e,t,n),e.decode=(t,n)=>er(e,t,n),e.encodeAsync=async(t,n)=>tr(e,t,n),e.decodeAsync=async(t,n)=>nr(e,t,n),e.safeEncode=(t,n)=>rr(e,t,n),e.safeDecode=(t,n)=>or(e,t,n),e.safeEncodeAsync=async(t,n)=>ir(e,t,n),e.safeDecodeAsync=async(t,n)=>ar(e,t,n),cr(e,"ZodType",{check(...e){const t=this.def;return this.clone(I(t,{checks:[...t.checks??[],...e.map(e=>"function"==typeof e?{_zod:{check:e,def:{check:"custom"},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return D(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(function(e,t={}){return function(e,t,n){return new e({type:"custom",check:"custom",fn:t,...L(n)})}(vo,e,t)}(e,t))},superRefine(e,t){return this.check(function(e,t){return function(e,t){const n=/* @__PURE__ */In(t=>(t.addIssue=e=>{if("string"==typeof e)t.issues.push(G(e,t.value,n._zod.def));else{const r=e;r.fatal&&(r.continue=!1),r.code??(r.code="custom"),r.input??(r.input=t.value),r.inst??(r.inst=n),r.continue??(r.continue=!n._zod.def.abort),t.issues.push(G(r))}},e(t.value,t)),t);return n}(e,t)}(e,t))},overwrite(e){return this.check(Tn(e))},optional(){return so(this)},exactOptional(){return new co({type:"optional",innerType:this})},nullable(){return lo(this)},nullish(){return so(lo(this))},nonoptional(e){return function(e,t){return new mo({type:"nonoptional",innerType:e,...L(t)})}(this,e)},array(){return Jr(this)},or(e){return Vr([this,e])},and(e){return new Xr({type:"intersection",left:this,right:e})},transform(e){return yo(this,new io({type:"transform",transform:e}))},default(e){return t=e,new po({type:"default",innerType:this,get defaultValue(){return"function"==typeof t?t():U(t)}});var t},prefault(e){return t=e,new fo({type:"prefault",innerType:this,get defaultValue(){return"function"==typeof t?t():U(t)}});var t},catch(e){return new ho({type:"catch",innerType:this,catchValue:"function"==typeof(t=e)?t:()=>t});var t},pipe(e){return yo(this,e)},readonly(){return new _o({type:"readonly",innerType:this})},describe(e){const t=this.clone();return yn.add(t,{description:e}),t},meta(...e){if(0===e.length)return yn.get(this);const t=this.clone();return yn.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e){return e(this)}}),Object.defineProperty(e,"description",{get:()=>yn.get(e)?.description,configurable:!0}),e)),lr=/* @__PURE__ */y("_ZodString",(e,t)=>{ot.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n)=>{const r=n;r.type="string";const{minimum:o,maximum:i,format:a,patterns:s,contentEncoding:c}=e._zod.bag;if("number"==typeof o&&(r.minLength=o),"number"==typeof i&&(r.maxLength=i),a&&(r.format=jn[a]??a,""===r.format&&delete r.format,"time"===a&&delete r.format),c&&(r.contentEncoding=c),s&&s.size>0){const e=[...s];1===e.length?r.pattern=e[0].source:e.length>1&&(r.allOf=[...e.map(e=>({..."draft-07"===t.target||"draft-04"===t.target||"openapi-3.0"===t.target?{type:"string"}:{},pattern:e.source}))])}})(e,t,n);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,cr(e,"_ZodString",{regex(...e){return this.check(function(e,t){return new Ge({check:"string_format",format:"regex",...L(t),pattern:e})}(...e))},includes(...e){return this.check(function(e,t){return new He({check:"string_format",format:"includes",...L(t),includes:e})}(...e))},startsWith(...e){return this.check(function(e,t){return new Xe({check:"string_format",format:"starts_with",...L(t),prefix:e})}(...e))},endsWith(...e){return this.check(function(e,t){return new Qe({check:"string_format",format:"ends_with",...L(t),suffix:e})}(...e))},min(...e){return this.check($n(...e))},max(...e){return this.check(xn(...e))},length(...e){return this.check(En(...e))},nonempty(...e){return this.check($n(1,...e))},lowercase(e){return this.check(function(e){return new Ve({check:"string_format",format:"lowercase",...L(e)})}(e))},uppercase(e){return this.check(function(e){return new Ke({check:"string_format",format:"uppercase",...L(e)})}(e))},trim(){return this.check(/* @__PURE__ */Tn(e=>e.trim()))},normalize(...e){return this.check(function(e){/* @__PURE__ */
|
|
2
|
-
return Tn(t=>t.normalize(e))}(...e))},toLowerCase(){return this.check(/* @__PURE__ */Tn(e=>e.toLowerCase()))},toUpperCase(){return this.check(/* @__PURE__ */Tn(e=>e.toUpperCase()))},slugify(){return this.check(/* @__PURE__ */Tn(e=>function(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}(e)))}})}),dr=/* @__PURE__ */y("ZodString",(e,t)=>{ot.init(e,t),lr.init(e,t),e.email=t=>e.check(_n(mr,t)),e.url=t=>e.check(bn(_r,t)),e.jwt=t=>e.check(function(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...L(t)})}(Cr,t)),e.emoji=t=>e.check(function(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...L(t)})}(vr,t)),e.guid=t=>e.check(vn(gr,t)),e.uuid=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...L(t)})}(yr,t)),e.uuidv4=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...L(t)})}(yr,t)),e.uuidv6=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...L(t)})}(yr,t)),e.uuidv7=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...L(t)})}(yr,t)),e.nanoid=t=>e.check(function(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...L(t)})}(br,t)),e.guid=t=>e.check(vn(gr,t)),e.cuid=t=>e.check(function(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...L(t)})}(wr,t)),e.cuid2=t=>e.check(function(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...L(t)})}(Sr,t)),e.ulid=t=>e.check(function(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...L(t)})}(kr,t)),e.base64=t=>e.check(function(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...L(t)})}(Ir,t)),e.base64url=t=>e.check(function(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...L(t)})}(Ar,t)),e.xid=t=>e.check(function(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...L(t)})}(zr,t)),e.ksuid=t=>e.check(function(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...L(t)})}(Or,t)),e.ipv4=t=>e.check(function(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...L(t)})}(xr,t)),e.ipv6=t=>e.check(function(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...L(t)})}($r,t)),e.cidrv4=t=>e.check(function(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...L(t)})}(Er,t)),e.cidrv6=t=>e.check(function(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...L(t)})}(Tr,t)),e.e164=t=>e.check(function(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...L(t)})}(Nr,t)),e.datetime=t=>e.check(Ln(t)),e.date=t=>e.check(Mn(t)),e.time=t=>e.check(Bn(t)),e.duration=t=>e.check(Yn(t))});function pr(e){return function(e,t){return new e({type:"string",...L(t)})}(dr,e)}var fr=/* @__PURE__ */y("ZodStringFormat",(e,t)=>{it.init(e,t),lr.init(e,t)}),mr=/* @__PURE__ */y("ZodEmail",(e,t)=>{ct.init(e,t),fr.init(e,t)});function hr(e){return _n(mr,e)}var gr=/* @__PURE__ */y("ZodGUID",(e,t)=>{at.init(e,t),fr.init(e,t)}),yr=/* @__PURE__ */y("ZodUUID",(e,t)=>{st.init(e,t),fr.init(e,t)}),_r=/* @__PURE__ */y("ZodURL",(e,t)=>{ut.init(e,t),fr.init(e,t)});var vr=/* @__PURE__ */y("ZodEmoji",(e,t)=>{lt.init(e,t),fr.init(e,t)}),br=/* @__PURE__ */y("ZodNanoID",(e,t)=>{dt.init(e,t),fr.init(e,t)}),wr=/* @__PURE__ */y("ZodCUID",(e,t)=>{pt.init(e,t),fr.init(e,t)}),Sr=/* @__PURE__ */y("ZodCUID2",(e,t)=>{ft.init(e,t),fr.init(e,t)}),kr=/* @__PURE__ */y("ZodULID",(e,t)=>{mt.init(e,t),fr.init(e,t)}),zr=/* @__PURE__ */y("ZodXID",(e,t)=>{ht.init(e,t),fr.init(e,t)}),Or=/* @__PURE__ */y("ZodKSUID",(e,t)=>{gt.init(e,t),fr.init(e,t)}),xr=/* @__PURE__ */y("ZodIPv4",(e,t)=>{wt.init(e,t),fr.init(e,t)}),$r=/* @__PURE__ */y("ZodIPv6",(e,t)=>{St.init(e,t),fr.init(e,t)}),Er=/* @__PURE__ */y("ZodCIDRv4",(e,t)=>{kt.init(e,t),fr.init(e,t)}),Tr=/* @__PURE__ */y("ZodCIDRv6",(e,t)=>{zt.init(e,t),fr.init(e,t)}),Ir=/* @__PURE__ */y("ZodBase64",(e,t)=>{xt.init(e,t),fr.init(e,t)}),Ar=/* @__PURE__ */y("ZodBase64URL",(e,t)=>{$t.init(e,t),fr.init(e,t)}),Nr=/* @__PURE__ */y("ZodE164",(e,t)=>{Et.init(e,t),fr.init(e,t)}),Cr=/* @__PURE__ */y("ZodJWT",(e,t)=>{Tt.init(e,t),fr.init(e,t)}),Pr=/* @__PURE__ */y("ZodNumber",(e,t)=>{It.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n)=>{const r=n,{minimum:o,maximum:i,format:a,multipleOf:s,exclusiveMaximum:c,exclusiveMinimum:u}=e._zod.bag;"string"==typeof a&&a.includes("int")?r.type="integer":r.type="number";const l="number"==typeof u&&u>=(o??Number.NEGATIVE_INFINITY),d="number"==typeof c&&c<=(i??Number.POSITIVE_INFINITY),p="draft-04"===t.target||"openapi-3.0"===t.target;l?p?(r.minimum=u,r.exclusiveMinimum=!0):r.exclusiveMinimum=u:"number"==typeof o&&(r.minimum=o),d?p?(r.maximum=c,r.exclusiveMaximum=!0):r.exclusiveMaximum=c:"number"==typeof i&&(r.maximum=i),"number"==typeof s&&(r.multipleOf=s)})(e,t,n),cr(e,"ZodNumber",{gt(e,t){return this.check(kn(e,t))},gte(e,t){return this.check(zn(e,t))},min(e,t){return this.check(zn(e,t))},lt(e,t){return this.check(wn(e,t))},lte(e,t){return this.check(Sn(e,t))},max(e,t){return this.check(Sn(e,t))},int(e){return this.check(jr(e))},safe(e){return this.check(jr(e))},positive(e){return this.check(kn(0,e))},nonnegative(e){return this.check(zn(0,e))},negative(e){return this.check(wn(0,e))},nonpositive(e){return this.check(Sn(0,e))},multipleOf(e,t){return this.check(On(e,t))},step(e,t){return this.check(On(e,t))},finite(){return this}});const n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function Rr(e){return function(e,t){return new e({type:"number",checks:[],...L(t)})}(Pr,e)}var Ur=/* @__PURE__ */y("ZodNumberFormat",(e,t)=>{At.init(e,t),Pr.init(e,t)});function jr(e){return function(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...L(t)})}(Ur,e)}var Zr=/* @__PURE__ */y("ZodBoolean",(e,t)=>{Nt.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t,n)=>{n.type="boolean"})(0,0,t)});function Dr(e){return function(e,t){return new e({type:"boolean",...L(t)})}(Zr,e)}var Lr=/* @__PURE__ */y("ZodUnknown",(e,t)=>{Ct.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(e,t,n)=>{}});function qr(){return new Lr({type:"unknown"})}var Mr=/* @__PURE__ */y("ZodNever",(e,t)=>{Pt.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t,n)=>{n.not={}})(0,0,t)});function Fr(e){return function(e,t){return new e({type:"never",...L(t)})}(Mr,e)}var Br=/* @__PURE__ */y("ZodArray",(e,t)=>{Ut.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=n,i=e._zod.def,{minimum:a,maximum:s}=e._zod.bag;"number"==typeof a&&(o.minItems=a),"number"==typeof s&&(o.maxItems=s),o.type="array",o.items=Nn(i.element,t,{...r,path:[...r.path,"items"]})})(e,t,n,r),e.element=t.element,cr(e,"ZodArray",{min(e,t){return this.check($n(e,t))},nonempty(e){return this.check($n(1,e))},max(e,t){return this.check(xn(e,t))},length(e,t){return this.check(En(e,t))},unwrap(){return this.element}})});function Jr(e,t){return function(e,t,n){return new e({type:"array",element:t,...L(n)})}(Br,e,t)}var Yr=/* @__PURE__ */y("ZodObject",(e,t)=>{qt.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=n,i=e._zod.def;o.type="object",o.properties={};const a=i.shape;for(const u in a)o.properties[u]=Nn(a[u],t,{...r,path:[...r.path,"properties",u]});const s=new Set(Object.keys(a)),c=new Set([...s].filter(e=>{const n=i.shape[e]._zod;return"input"===t.io?void 0===n.optin:void 0===n.optout}));c.size>0&&(o.required=Array.from(c)),"never"===i.catchall?._zod.def.type?o.additionalProperties=!1:i.catchall?i.catchall&&(o.additionalProperties=Nn(i.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):"output"===t.io&&(o.additionalProperties=!1)})(e,t,n,r),E(e,"shape",()=>t.shape),cr(e,"ZodObject",{keyof(){return no(Object.keys(this._zod.def.shape))},catchall(e){return this.clone({...this._zod.def,catchall:e})},passthrough(){return this.clone({...this._zod.def,catchall:qr()})},loose(){return this.clone({...this._zod.def,catchall:qr()})},strict(){return this.clone({...this._zod.def,catchall:Fr()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return function(e,t){if(!R(t))throw new Error("Invalid input to extend: expected a plain object");const n=e._zod.def.checks;if(n&&n.length>0){const n=e._zod.def.shape;for(const e in t)if(void 0!==Object.getOwnPropertyDescriptor(n,e))throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return D(e,I(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return T(this,"shape",n),n}}))}(this,e)},safeExtend(e){return function(e,t){if(!R(t))throw new Error("Invalid input to safeExtend: expected a plain object");return D(e,I(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return T(this,"shape",n),n}}))}(this,e)},merge(e){return function(e,t){if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");return D(e,I(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t._zod.def.shape};return T(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}(this,e)},pick(e){return function(e,t){const n=e._zod.def,r=n.checks;if(r&&r.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");return D(e,I(e._zod.def,{get shape(){const e={};for(const r in t){if(!(r in n.shape))throw new Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return T(this,"shape",e),e},checks:[]}))}(this,e)},omit(e){return function(e,t){const n=e._zod.def,r=n.checks;if(r&&r.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");return D(e,I(e._zod.def,{get shape(){const r={...e._zod.def.shape};for(const e in t){if(!(e in n.shape))throw new Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return T(this,"shape",r),r},checks:[]}))}(this,e)},partial(...e){return function(e,t,n){const r=t._zod.def.checks;if(r&&r.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");return D(t,I(t._zod.def,{get shape(){const r=t._zod.def.shape,o={...r};if(n)for(const t in n){if(!(t in r))throw new Error(`Unrecognized key: "${t}"`);n[t]&&(o[t]=e?new e({type:"optional",innerType:r[t]}):r[t])}else for(const t in r)o[t]=e?new e({type:"optional",innerType:r[t]}):r[t];return T(this,"shape",o),o},checks:[]}))}(ao,this,e[0])},required(...e){return t=mo,n=this,r=e[0],D(n,I(n._zod.def,{get shape(){const e=n._zod.def.shape,o={...e};if(r)for(const n in r){if(!(n in o))throw new Error(`Unrecognized key: "${n}"`);r[n]&&(o[n]=new t({type:"nonoptional",innerType:e[n]}))}else for(const n in e)o[n]=new t({type:"nonoptional",innerType:e[n]});return T(this,"shape",o),o}}));var t,n,r}})});function Wr(e,t){return new Yr({type:"object",shape:e??{},...L(t)})}var Gr=/* @__PURE__ */y("ZodUnion",(e,t)=>{Ft.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=e._zod.def,i=!1===o.inclusive,a=o.options.map((e,n)=>Nn(e,t,{...r,path:[...r.path,i?"oneOf":"anyOf",n]}));i?n.oneOf=a:n.anyOf=a})(e,t,n,r),e.options=t.options});function Vr(e,t){return new Gr({type:"union",options:e,...L(t)})}var Kr=/* @__PURE__ */y("ZodDiscriminatedUnion",(e,t)=>{Gr.init(e,t),Bt.init(e,t)});function Hr(e,t,n){return new Kr({type:"union",options:t,discriminator:e,...L(n)})}var Xr=/* @__PURE__ */y("ZodIntersection",(e,t)=>{Jt.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=e._zod.def,i=Nn(o.left,t,{...r,path:[...r.path,"allOf",0]}),a=Nn(o.right,t,{...r,path:[...r.path,"allOf",1]}),s=e=>"allOf"in e&&1===Object.keys(e).length;n.allOf=[...s(i)?i.allOf:[i],...s(a)?a.allOf:[a]]})(e,t,n,r)});var Qr=/* @__PURE__ */y("ZodRecord",(e,t)=>{Gt.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=n,i=e._zod.def;o.type="object";const a=i.keyType,s=a._zod.bag?.patterns;if("loose"===i.mode&&s&&s.size>0){const e=Nn(i.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});o.patternProperties={};for(const t of s)o.patternProperties[t.source]=e}else"draft-07"!==t.target&&"draft-2020-12"!==t.target||(o.propertyNames=Nn(i.keyType,t,{...r,path:[...r.path,"propertyNames"]})),o.additionalProperties=Nn(i.valueType,t,{...r,path:[...r.path,"additionalProperties"]});const c=a._zod.values;if(c){const e=[...c].filter(e=>"string"==typeof e||"number"==typeof e);e.length>0&&(o.required=e)}})(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function eo(e,t,n){return t&&t._zod?new Qr({type:"record",keyType:e,valueType:t,...L(n)}):new Qr({type:"record",keyType:pr(),valueType:e,...L(t)})}var to=/* @__PURE__ */y("ZodEnum",(e,t)=>{Vt.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n)=>{const r=S(e._zod.def.entries);r.every(e=>"number"==typeof e)&&(n.type="number"),r.every(e=>"string"==typeof e)&&(n.type="string"),n.enum=r})(e,0,n),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{const o={};for(const i of e){if(!n.has(i))throw new Error(`Key ${i} not found in enum`);o[i]=t.entries[i]}return new to({...t,checks:[],...L(r),entries:o})},e.exclude=(e,r)=>{const o={...t.entries};for(const t of e){if(!n.has(t))throw new Error(`Key ${t} not found in enum`);delete o[t]}return new to({...t,checks:[],...L(r),entries:o})}});function no(e,t){return new to({type:"enum",entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...L(t)})}var ro=/* @__PURE__ */y("ZodLiteral",(e,t)=>{Kt.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n)=>{const r=e._zod.def,o=[];for(const i of r.values)if(void 0===i){if("throw"===t.unrepresentable)throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if("bigint"==typeof i){if("throw"===t.unrepresentable)throw new Error("BigInt literals cannot be represented in JSON Schema");o.push(Number(i))}else o.push(i);if(0===o.length);else if(1===o.length){const e=o[0];n.type=null===e?"null":typeof e,"draft-04"===t.target||"openapi-3.0"===t.target?n.enum=[e]:n.const=e}else o.every(e=>"number"==typeof e)&&(n.type="number"),o.every(e=>"string"==typeof e)&&(n.type="string"),o.every(e=>"boolean"==typeof e)&&(n.type="boolean"),o.every(e=>null===e)&&(n.type="null"),n.enum=o})(e,t,n),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function oo(e,t){return new ro({type:"literal",values:Array.isArray(e)?e:[e],...L(t)})}var io=/* @__PURE__ */y("ZodTransform",(e,t)=>{Ht.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t)=>{if("throw"===t.unrepresentable)throw new Error("Transforms cannot be represented in JSON Schema")})(0,e),e._zod.parse=(n,r)=>{if("backward"===r.direction)throw new v(e.constructor.name);n.addIssue=r=>{if("string"==typeof r)n.issues.push(G(r,n.value,t));else{const t=r;t.fatal&&(t.continue=!1),t.code??(t.code="custom"),t.input??(t.input=n.value),t.inst??(t.inst=e),n.issues.push(G(t))}};const o=t.transform(n.value,n);return o instanceof Promise?o.then(e=>(n.value=e,n.fallback=!0,n)):(n.value=o,n.fallback=!0,n)}});var ao=/* @__PURE__ */y("ZodOptional",(e,t)=>{Qt.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Zn(e,t,0,r),e.unwrap=()=>e._zod.def.innerType});function so(e){return new ao({type:"optional",innerType:e})}var co=/* @__PURE__ */y("ZodExactOptional",(e,t)=>{en.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Zn(e,t,0,r),e.unwrap=()=>e._zod.def.innerType});var uo=/* @__PURE__ */y("ZodNullable",(e,t)=>{tn.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=e._zod.def,i=Nn(o.innerType,t,r),a=t.seen.get(e);"openapi-3.0"===t.target?(a.ref=o.innerType,n.nullable=!0):n.anyOf=[i,{type:"null"}]})(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function lo(e){return new uo({type:"nullable",innerType:e})}var po=/* @__PURE__ */y("ZodDefault",(e,t)=>{nn.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=e._zod.def;Nn(o.innerType,t,r),t.seen.get(e).ref=o.innerType,n.default=JSON.parse(JSON.stringify(o.defaultValue))})(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});var fo=/* @__PURE__ */y("ZodPrefault",(e,t)=>{on.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=e._zod.def;Nn(o.innerType,t,r),t.seen.get(e).ref=o.innerType,"input"===t.io&&(n._prefault=JSON.parse(JSON.stringify(o.defaultValue)))})(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});var mo=/* @__PURE__ */y("ZodNonOptional",(e,t)=>{an.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=e._zod.def;Nn(o.innerType,t,r),t.seen.get(e).ref=o.innerType})(e,t,0,r),e.unwrap=()=>e._zod.def.innerType});var ho=/* @__PURE__ */y("ZodCatch",(e,t)=>{cn.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=e._zod.def;let i;Nn(o.innerType,t,r),t.seen.get(e).ref=o.innerType;try{i=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=i})(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});var go=/* @__PURE__ */y("ZodPipe",(e,t)=>{un.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=e._zod.def,i=o.in._zod.traits.has("$ZodTransform"),a="input"===t.io?i?o.out:o.in:o.out;Nn(a,t,r),t.seen.get(e).ref=a})(e,t,0,r),e.in=t.in,e.out=t.out});function yo(e,t){return new go({type:"pipe",in:e,out:t})}var _o=/* @__PURE__ */y("ZodReadonly",(e,t)=>{dn.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=e._zod.def;Nn(o.innerType,t,r),t.seen.get(e).ref=o.innerType,n.readOnly=!0})(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});var vo=/* @__PURE__ */y("ZodCustom",(e,t)=>{mn.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t)=>{if("throw"===t.unrepresentable)throw new Error("Custom types cannot be represented in JSON Schema")})(0,e)});var bo,wo=no(["CONSENT","SOFT_OPT_IN","TRANSACTIONAL_ONLY","UNKNOWN"]),So=no(["MANUAL_UNSUB","ONE_CLICK_UNSUB","HARD_BOUNCE","COMPLAINT","ADMIN_BLOCK"]),ko=no(["BROADCAST","AUTOMATION"]),zo=no(["ABANDONED_CART","POST_PURCHASE","WELCOME","WIN_BACK","RE_ENGAGEMENT","TAG_ADDED"]),Oo=(Wr({email:hr(),name:pr().trim().min(1).nullable().optional(),customer_id:pr().uuid().nullable().optional(),tags:Jr(pr().trim().min(1)).default([]),consent_basis:wo.default("UNKNOWN"),source:pr().trim().min(1).default("dashboard")}),Wr({name:pr().trim().min(1),subject:pr().trim().min(1),preheader:pr().nullable().optional(),mjml_source:pr().trim().min(1),builder_project_json:eo(pr(),qr()).nullable().optional(),thumbnail_url:bn(_r,bo).nullable().optional()}),Wr({mjml_source:pr().trim().min(1),sample_variables:eo(pr(),qr()).optional()}),Wr({recipient_email:hr(),sample_variables:eo(pr(),qr()).optional()}),Wr({marketing_enabled:Dr().optional(),default_from_name:pr().trim().min(1).nullable().optional(),default_from_email:hr().nullable().optional(),default_reply_to_email:hr().nullable().optional(),physical_address:pr().trim().min(1).nullable().optional(),physical_address_line2:pr().trim().min(1).nullable().optional(),physical_city:pr().trim().min(1).nullable().optional(),physical_postal_code:pr().trim().min(1).nullable().optional(),physical_country:pr().trim().length(2).nullable().optional(),daily_limit:Rr().int().positive().optional(),monthly_soft_cap:Rr().int().positive().optional()}),Wr({type:ko.default("BROADCAST"),name:pr().trim().min(1),subject:pr().trim().min(1),template_id:pr().uuid(),list_id:pr().uuid().nullable().optional(),segment_id:pr().uuid().nullable().optional(),from_name:pr().trim().min(1),from_email:hr(),reply_to_email:hr().nullable().optional(),schedule_at:pr().datetime().nullable().optional(),target_emails:Jr(hr()).max(0,"Direct recipient entry is disabled. Use lists or segments built from Shoppex customers and paid order buyers.").default([]),idempotency_key:pr().trim().min(1).nullable().optional()}),Wr({name:pr().trim().min(1),subject:pr().trim().min(1),template_id:pr().uuid(),from_name:pr().trim().min(1),from_email:hr(),reply_to_email:hr().nullable().optional(),trigger:zo,delay_seconds:Rr().int().min(0).default(0),conditions:eo(pr(),qr()).default({})}),Wr({trigger:zo,email:hr(),customer_id:pr().uuid().nullable().optional(),name:pr().trim().min(1).nullable().optional(),consent_basis:wo.default("UNKNOWN"),variables:eo(pr(),qr()).default({}),idempotency_key:pr().trim().min(1).nullable().optional()}),Wr({email:hr(),reason:So.default("ADMIN_BLOCK"),notes:pr().nullable().optional()}),["BITCOIN","LITECOIN","ETHEREUM","BITCOIN_CASH","MONERO","RIPPLE","TRON","SOLANA","POLYGON","BINANCE_COIN","CRONOS","CONCORDIUM","NANO","DOGECOIN","DASH"]),xo=["NOWPAYMENTS","CRYPTOMUS","OXAPAY"],$o=["NOWPAYMENTS_WHITELABEL"],Eo={USDT:["USDT_TRC20","USDT_ERC20","USDT_BEP20","USDT_POLYGON","USDT_SOL"],USDC:["USDC_ERC20","USDC_TRC20","USDC_BEP20","USDC_POLYGON","USDC_SOL"],DAI:["DAI_ERC20"]},To=Object.keys(Eo),Io=[...Eo.USDT,...Eo.USDC,...Eo.DAI],Ao=[...Oo,...Io],No=["BITCOIN_LN"],Co=[...xo,...$o],Po=[...Ao,...No],Ro=Ao,Uo=new Set(Oo),jo=new Set(Io);new Set(Ao),new Set(No),new Set(xo),new Set($o),new Set(Co),new Set(Po),new Set(To),new Set(["STRIPE","PAYPAL","PAYPAL_FF","MOLLIE","SQUARE","SUMUP","SHOPIFY","SUBY","PANDABASE","STORRIK","VENPAYR","MONEYMOTION","WHOP","DODO","MAVERICK","CASHAPP","VENMO","CRYPTO","CUSTOMER_BALANCE","MANUAL"]);function Zo(e,t){if(new Set(t).size!==t.length)throw new Error(`${e} contains duplicate entries`)}Zo("COIN_GATEWAY_KEYS",Oo),Zo("TOKEN_GATEWAY_KEYS",Io),Zo("CRYPTO_GATEWAY_KEYS",Ao),Zo("LEGACY_CRYPTO_GATEWAY_KEYS",No),Zo("CRYPTO_PROVIDER_KEYS",xo),Zo("MANAGED_CRYPTO_PROVIDER_KEYS",$o),Zo("CRYPTO_PROVIDER_GATEWAY_KEYS",Co),Zo("DEFAULT_NOWPAYMENTS_CRYPTO_GATEWAY_KEYS",Ro),Zo("DEFAULT_CRYPTOMUS_CRYPTO_GATEWAY_KEYS",["BITCOIN","LITECOIN","ETHEREUM","TRON","SOLANA","POLYGON","BINANCE_COIN","BITCOIN_CASH","MONERO","RIPPLE","DOGECOIN","USDT_TRC20","USDT_ERC20","USDT_BEP20","USDT_POLYGON","USDT_SOL","USDC_ERC20","USDC_BEP20","USDC_POLYGON","DAI_ERC20"]),Zo("DEFAULT_OXAPAY_CRYPTO_GATEWAY_KEYS",["BITCOIN","LITECOIN","ETHEREUM","TRON","SOLANA","POLYGON","BINANCE_COIN","BITCOIN_CASH","MONERO","RIPPLE","DOGECOIN","USDT_TRC20","USDT_ERC20","USDT_BEP20","USDT_POLYGON","USDC_ERC20"]);for(const Es of Ao)if(!Uo.has(Es)&&!jo.has(Es))throw new Error(`CRYPTO_GATEWAY_KEYS contains an unclassified gateway: ${Es}`);var Do=Wr({set:Dr()}),Lo=Wr({status:no(["READY","NEEDS_ATTENTION"]).optional(),code:pr().optional(),message:pr().optional(),checked_at:pr().optional()}),qo=(Wr({provider:pr(),type:pr(),enabled:Dr(),connected:Dr(),credentials:eo(pr(),Do),public_config:eo(pr(),qr()),webhook:eo(pr(),qr()).optional(),health:Lo.optional()}),"#2563eb"),Mo=["comfortable","compact"],Fo=["top","side","background"],Bo=no(["checkout","payment_link","embed"]),Jo=no(["current","clean-light","clean-dark","v2","v3"]),Yo=no(Mo),Wo=no(["light","dark","system"]),Go=no(Fo),Vo=no(["ghost","outlined","filled"]),Ko=no(["sheet","fullscreen","center"]),Ho=(no(["checkout.shell","checkout.panel","checkout.header","brand.logo","product.card","product.image","product.title","product.description","product.price","product.quantity","product.addon","paymentLink.hero","summary.panel","summary.line","summary.total","form.field","form.label","form.help","coupon.input","input.base","input.error","button.primary","button.secondary","payment.methods","payment.method","payment.method.icon","payment.method.label","payment.method.meta","payment.method.fee","payment.method.indicator","payment.provider_widget","payment.loading","payment.error","payment.warning","legal.terms","status.success","status.processing","embed.launcher","embed.launcher.icon","embed.productCard","embed.productCard.image","embed.productCard.title","embed.productCard.price","embed.cart","embed.cart.row","embed.cart.summary","embed.modal","embed.modal.header","embed.modal.close","embed.skeleton","embed.loader","embed.branding"]),no(["product.title","product.price","summary.total","payment.method.label","payment.provider_widget","payment.loading","payment.error","payment.warning","legal.terms","status.success","status.processing","embed.modal.close","embed.branding"]),pr().regex(/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/,"Use a valid hex color")),Xo=pr().trim().min(1).max(200).refine(e=>!/[;{}]|@import|expression\s*\(/i.test(e),"Use a valid CSS color or gradient"),Qo=pr().trim().min(1).max(400).refine(e=>!/[;{}]|@import|expression\s*\(/i.test(e),"Use a valid CSS box-shadow value"),ei=no(["Inter","Geist","Manrope","Plus Jakarta Sans","DM Sans","Space Grotesk","Sora","IBM Plex Sans","JetBrains Mono","Arial","System UI"]),ti=pr().trim().min(1).max(60).regex(/^[A-Za-z0-9 +\-_]+$/,"Use a Google Fonts family name"),ni=pr().url(),ri=Wr({brand:Wr({logoUrl:ni.optional().nullable(),logoDarkUrl:ni.optional().nullable(),logoMaxHeight:Rr().int().min(16).max(80).optional(),faviconUrl:ni.optional().nullable()}).strict().optional(),color:Wr({brand:Ho.optional(),brandContrast:Ho.optional(),background:Ho.optional(),surface:Ho.optional(),surfaceRaised:Ho.optional(),text:Ho.optional(),textMuted:Ho.optional(),border:Ho.optional(),focus:Ho.optional(),success:Ho.optional(),warning:Ho.optional(),error:Ho.optional()}).strict().optional(),typography:Wr({fontFamily:ei.optional(),googleFontFamily:ti.optional(),baseSize:Rr().int().min(12).max(18).optional()}).strict().optional(),shape:Wr({buttonRadius:Rr().int().min(0).max(24).optional(),inputRadius:Rr().int().min(0).max(24).optional(),cardRadius:Rr().int().min(0).max(28).optional()}).strict().optional(),spacing:Wr({density:Yo.optional(),controlHeight:Rr().int().min(36).max(56).optional()}).strict().optional(),component:Wr({primaryButton:Wr({background:Ho.optional(),text:Ho.optional()}).strict().optional(),input:Wr({background:Ho.optional(),border:Ho.optional(),focusRing:Xo.optional()}).strict().optional(),summary:Wr({background:Ho.optional()}).strict().optional(),paymentMethod:Wr({background:Xo.optional(),cardBackground:Xo.optional(),border:Xo.optional(),selectedBackground:Xo.optional()}).strict().optional(),productCard:Wr({background:Xo.optional(),border:Xo.optional(),shadow:Qo.optional()}).strict().optional(),productImage:Wr({background:Xo.optional(),border:Xo.optional(),icon:Xo.optional()}).strict().optional(),brandAvatar:Wr({background:Xo.optional(),text:Ho.optional(),border:Xo.optional()}).strict().optional(),pill:Wr({background:Xo.optional(),border:Xo.optional(),text:Ho.optional()}).strict().optional(),errorBanner:Wr({background:Xo.optional(),border:Xo.optional(),text:Ho.optional()}).strict().optional(),warningBanner:Wr({background:Xo.optional(),border:Xo.optional(),text:Ho.optional()}).strict().optional(),radio:Wr({idleRing:Xo.optional(),checkedFill:Ho.optional(),checkedIcon:Ho.optional()}).strict().optional(),divider:Wr({color:Xo.optional()}).strict().optional()}).strict().optional(),paymentLink:Wr({heroImageUrl:ni.optional().nullable(),heroPosition:Go.optional()}).strict().optional(),embed:Wr({launcher:Wr({background:Xo.optional(),text:Ho.optional(),radius:Rr().int().min(0).max(28).optional(),paddingX:Rr().int().min(8).max(32).optional(),paddingY:Rr().int().min(6).max(24).optional(),shadow:Qo.optional()}).strict().optional(),productCard:Wr({background:Xo.optional(),border:Xo.optional(),imageRadius:Rr().int().min(0).max(24).optional(),padding:Rr().int().min(8).max(32).optional()}).strict().optional(),cart:Wr({background:Xo.optional(),rowBorder:Xo.optional(),itemSpacing:Rr().int().min(4).max(28).optional()}).strict().optional(),modal:Wr({background:Xo.optional(),radius:Rr().int().min(0).max(32).optional(),maxWidth:Rr().int().min(360).max(960).optional(),shadow:Qo.optional()}).strict().optional(),backdrop:Wr({color:Xo.optional(),blur:Rr().int().min(0).max(24).optional(),opacity:Rr().min(0).max(1).optional()}).strict().optional(),skeleton:Wr({background:Xo.optional(),shimmer:Xo.optional()}).strict().optional(),spinner:Wr({color:Xo.optional()}).strict().optional(),closeButton:Wr({style:Vo.optional()}).strict().optional(),mobile:Wr({layout:Ko.optional()}).strict().optional()}).strict().optional()}).strict(),oi=Wr({mode:Wo.default("system"),fontSource:no(["curated"]).default("curated")}).strict(),ii=no(["standalone","bundle","pointer"]),ai=Wr({name:pr().trim().min(1).max(80),fingerprint:pr().trim().min(1).max(128)}).strict(),si=Wr({type:oo("shoppex.style_theme"),surface:oo("checkout"),format_version:Vr([oo(1),oo(2)]),name:pr().trim().min(1).max(80),description:pr().trim().max(240).optional(),embed_design:Jo.default("current"),token_schema_version:oo(1),tokens:ri.default({}),custom_css:pr().max(2e4).default(""),settings:oi.default({mode:"system",fontSource:"curated"}),_meta:eo(pr(),qr()).optional()}).strict(),ci=(Wr({type:oo("shoppex.style_theme"),surface:Bo,format_version:Vr([oo(1),oo(2)]),name:pr().trim().min(1).max(80),description:pr().trim().max(240).optional(),embed_design:Jo.default("current"),token_schema_version:oo(1),tokens:ri.default({}),custom_css:pr().max(2e4).default(""),settings:oi.default({mode:"system",fontSource:"curated"}),share_mode:ii.default("standalone"),parent_hint:ai.optional(),bundled_parent:si.optional(),_meta:eo(pr(),qr()).optional()}).strict(),Wr({theme_id:pr().uuid().nullable(),surface:Bo,embed_design:Jo,token_schema_version:oo(1),revision:Rr().int().min(1),tokens:ri,custom_css:pr(),css_variables:eo(pr(),pr())}).strict(),Wr({theme_id:pr().uuid().nullable(),parent_theme_id:pr().uuid().nullable(),surface:oo("embed"),embed_design:Jo,token_schema_version:oo(1),revision:Rr().int().min(1),parent_revision:Rr().int().min(1).nullable(),tokens:ri,custom_css:pr(),css_variables:eo(pr(),pr())}).strict(),Wr({shop_id:pr().uuid(),product_id:pr().uuid().nullable(),product_group_id:pr().uuid().nullable(),payment_link_id:pr().uuid().nullable(),invoice_id:pr().nullable()}).strict(),Wr({embed_runtime:pr().min(16).max(128),embed_design:Jo,revision:Rr().int().min(1),parent_revision:Rr().int().min(1).nullable(),theme_id:pr().uuid().nullable(),css_variables:eo(pr(),pr()),custom_css:pr()}).strict(),Wr({embed_design:Jo.optional(),embed_style_revision:function(e){return function(e,t){return new e({type:"number",coerce:!0,checks:[],...L(t)})}(Pr,e)}().int().min(1).optional(),embed_runtime:pr().min(16).max(128).optional(),preview:Dr().optional()}).strict(),no(["announcement_bar","countdown_bar","promo_info_card","recent_purchase_popup","coupon_popup_modal"]),no(["layout.header.before","layout.header.after","layout.overlay","home.hero.after","home.grid.before","product.buybox.after","layout.footer.before","floating.bottom_right"])),ui=(no(["announcement_bar","countdown_bar","promo_info_card","recent_purchase_popup","coupon_popup_modal"]),pr().regex(/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/,"Use a valid hex color")),li=no(["static","marquee"]),di=no(["brand_blue","emerald","sunset","rose","charcoal","custom"]),pi=no(["hide","message"]),fi=no(["compact","comfortable"]),mi=no(["subtle","outline","solid"]),hi=no(["minimal","boxed"]),gi=no(["indigo","emerald","amber","rose","slate","custom"]),yi=no(["compact","feature","alert"]),_i=no(["compact","comfortable"]),vi=no(["subtle","outline","solid"]),bi=no(["sparkles","megaphone","gift","truck","shield","support","none"]),wi=no(["show","hide"]),Si=no(["midnight","ocean","ember","forest","custom"]),ki=no(["delay","exit_intent"]),zi=pr().trim().refine(e=>{if(e.startsWith("/"))return!0;try{const t=new URL(e);return"http:"===t.protocol||"https:"===t.protocol}catch{return!1}},'Use a valid absolute URL or a path starting with "/"'),Oi=pr().trim().refine(e=>{const t=new Date(e);return!Number.isNaN(t.getTime())},"Use a valid date and time"),xi=Wr({text:pr().trim().min(1,"Text is required").max(160,"Text must be 160 characters or fewer"),linkLabel:pr().trim().max(32,"Link label must be 32 characters or fewer").optional().nullable(),linkUrl:zi.optional().nullable(),dismissible:Dr().default(!1),displayMode:li.default("marquee"),themePreset:di.default("custom"),animationSpeedSeconds:Rr().int().min(8).max(40).default(30),backgroundColor:ui.default("#111827"),textColor:ui.default("#f9fafb")}),$i=Wr({text:pr().trim().min(1,"Text is required").max(120,"Text must be 120 characters or fewer"),endAt:Oi,linkLabel:pr().trim().max(32,"Link label must be 32 characters or fewer").optional().nullable(),linkUrl:zi.optional().nullable(),dismissible:Dr().default(!1),themePreset:di.default("brand_blue"),expiredBehavior:pi.default("hide"),expiredMessage:pr().trim().max(120,"Expired message must be 120 characters or fewer").optional().nullable(),density:fi.default("compact"),ctaStyle:mi.default("subtle"),timerStyle:hi.default("boxed"),backgroundColor:ui.default("#111827"),textColor:ui.default("#f9fafb")}),Ei=Wr({eyebrow:pr().trim().max(32,"Eyebrow must be 32 characters or fewer").optional().nullable(),title:pr().trim().min(1,"Title is required").max(80,"Title must be 80 characters or fewer"),body:pr().trim().min(1,"Body is required").max(240,"Body must be 240 characters or fewer"),linkLabel:pr().trim().max(32,"Link label must be 32 characters or fewer").optional().nullable(),linkUrl:zi.optional().nullable(),themePreset:gi.default("indigo"),layoutStyle:yi.default("feature"),density:_i.default("comfortable"),ctaStyle:vi.default("outline"),icon:bi.default("sparkles"),iconVisibility:wi.default("show"),backgroundColor:ui.default("#111827"),textColor:ui.default("#f9fafb"),accentColor:ui.default("#818cf8")}),Ti=Wr({title:pr().trim().min(1,"Title is required").max(80,"Title must be 80 characters or fewer").default("Recent purchases"),lookbackHours:Rr().int().min(1).max(168).default(24),cooldownSeconds:Rr().int().min(5).max(300).default(20),maxItems:Rr().int().min(1).max(20).default(8),anonymizeMode:no(["first_name_city","first_name_country","initial_country","anonymous"]).default("first_name_city"),includedProductIds:Jr(pr().min(1)).max(50).default([])}),Ii=Wr({eyebrow:pr().trim().max(32,"Eyebrow must be 32 characters or fewer").optional().nullable(),title:pr().trim().min(1,"Title is required").max(80,"Title must be 80 characters or fewer"),body:pr().trim().min(1,"Body is required").max(240,"Body must be 240 characters or fewer"),couponCode:pr().trim().min(2,"Coupon code is required").max(40,"Coupon code must be 40 characters or fewer"),primaryButtonLabel:pr().trim().min(1,"Primary button label is required").max(24,"Primary button label must be 24 characters or fewer").default("Copy code"),secondaryButtonLabel:pr().trim().min(1,"Secondary button label is required").max(24,"Secondary button label must be 24 characters or fewer").default("Maybe later"),disclaimer:pr().trim().max(100,"Disclaimer must be 100 characters or fewer").optional().nullable(),themePreset:Si.default("midnight"),trigger:ki.default("delay"),delaySeconds:Rr().int().min(0).max(60).default(6),showOncePerSession:Dr().default(!0),reminderHours:Rr().int().min(1).max(720).default(24),backgroundColor:ui.default("#111827"),textColor:ui.default("#f8fafc"),accentColor:ui.default("#7c9cff"),heroImageUrl:zi.optional().nullable(),discountDisplay:pr().trim().max(24,"Discount display must be 24 characters or fewer").optional().nullable(),expiresAt:Oi.optional().nullable()}),Ai=Wr({type:oo("announcement_bar"),slot:ci,enabled:Dr().default(!0),sortOrder:Rr().int().min(0).max(999).default(0),config:xi}),Ni=Wr({type:oo("recent_purchase_popup"),slot:ci,enabled:Dr().default(!0),sortOrder:Rr().int().min(0).max(999).default(0),config:Ti}),Ci=Wr({type:oo("countdown_bar"),slot:ci,enabled:Dr().default(!0),sortOrder:Rr().int().min(0).max(999).default(0),config:$i}),Pi=Wr({type:oo("promo_info_card"),slot:ci,enabled:Dr().default(!0),sortOrder:Rr().int().min(0).max(999).default(0),config:Ei}),Ri=Wr({type:oo("coupon_popup_modal"),slot:ci,enabled:Dr().default(!0),sortOrder:Rr().int().min(0).max(999).default(0),config:Ii});Hr("type",[Ai,Ci,Pi,Ni,Ri]),Hr("type",[Ai.extend({id:pr().min(1)}),Ci.extend({id:pr().min(1)}),Pi.extend({id:pr().min(1)}),Ni.extend({id:pr().min(1)}),Ri.extend({id:pr().min(1)})]);var Ui=null,ji=null;var Zi=null,Di=null;function Li(e,t){const n=t?.shopId?.trim();return Di=n||null,Ui=null,ji=null,Zi={storeSlug:e,locale:t?.locale,currency:t?.currency,apiBaseUrl:t?.apiBaseUrl??"https://api.shoppex.io",checkoutBaseUrl:t?.checkoutBaseUrl??"https://checkout.shoppex.io"}}function qi(){if(!Zi)throw new t;return Zi}function Mi(){return null!==Zi}function Fi(e){Di=e}function Bi(){return Di}function Ji(e){return function(e){if(Array.isArray(e))return e;if("string"==typeof e){try{const t=JSON.parse(e);if(Array.isArray(t))return t;if(t&&"object"==typeof t){const e=t.custom_fields??t.customFields;return Array.isArray(e)?e:[]}}catch{return[]}return[]}if(e&&"object"==typeof e){const t=e.custom_fields??e.customFields;return Array.isArray(t)?t:[]}return[]}(e).filter(e=>!!e&&"object"==typeof e&&!Array.isArray(e)).map(e=>{const t="string"==typeof e.type?e.type.trim().toLowerCase():"text",n=t.length>0?t:"text",r=[e.default_value,e.default,e.value].find(e=>"string"==typeof e&&e.trim().length>0);return{name:"string"==typeof e.name?e.name.trim():"",type:n,required:!0===e.required||"true"===e.required||1===e.required||"1"===e.required,defaultValue:"string"==typeof r?r:"",placeholder:"string"==typeof e.placeholder?e.placeholder:"",regex:"string"==typeof e.regex?e.regex:void 0}}).filter(e=>e.name.length>0&&"hidden"!==e.type)}function Yi(e){const t=e?.trim().toLowerCase()??"";return"true"===t||"1"===t||"yes"===t||"on"===t}function Wi(e,t){if("checkbox"===e.type)return e.required&&!Yi(t)?`${e.name} is required.`:null;const n=t.trim();if(e.required&&!n)return`${e.name} is required.`;if(e.regex&&n)try{if(!new RegExp(e.regex).test(n))return`${e.name} has an invalid format.`}catch{return null}return null}function Gi(e,t){const n={};return e.forEach(e=>{const r=t[e.name]??e.defaultValue??"";if("checkbox"===e.type)return void(Yi(r)&&(n[e.name]="true"));const o=r.trim();o.length>0&&(n[e.name]=o)}),n}function Vi(e){return"number"==typeof e&&Number.isFinite(e)?Math.trunc(e):null}function Ki(e){if(!e)return-1;if("string"==typeof e.type&&"SERIALS"===e.type.toUpperCase())return Vi(e.stock)??-1;const t=function(e){const t=Array.isArray(e.price_variants)?e.price_variants.map(e=>Vi(e.stock)):[];return t.length>0?t:Array.isArray(e.variants)?e.variants.map(e=>Vi(e.stock)):[]}(e);return t.length>0?t.some(e=>null===e||e<0)?-1:t.filter(e=>null!==e).reduce((e,t)=>e+Math.max(t,0),0):Vi(e.stock)??-1}function Hi(e){return 0===Ki(e)}function Xi(e){return!Hi(e)}function Qi(e){return 0===Vi(e?.stock)}function ea(e){return Vi(e?.stock)??-1}var ta=/* @__PURE__ */new Map,na=/* @__PURE__ */new Map,ra={hits:0,misses:0};function oa(e,t,n){const r=Date.now();ta.set(e,{data:t,ttl:n,updatedAt:r,expiresAt:r+n})}async function ia(e,t,n,r=()=>!0){const o=function(e){const t=ta.get(e);return t||null}(e);if(o&&!function(e){return Date.now()>e.expiresAt}(o))return ra.hits+=1,o.data;if(o&&n.staleWhileRevalidate){if(ra.hits+=1,!na.has(e)){const o=(async()=>{try{const o=await t();return r(o)&&oa(e,o,n.ttl),o}finally{na.delete(e)}})();na.set(e,o)}return o.data}if(na.has(e))return na.get(e);ra.misses+=1;const i=(async()=>{try{const o=await t();return r(o)&&oa(e,o,n.ttl),o}finally{na.delete(e)}})();return na.set(e,i),i}var aa=/:([A-Za-z0-9_]+)/g;function sa(e,t){return e.replace(aa,(e,n)=>{const r=t[n];if(null==r)throw new Error(`Missing endpoint param: ${n}`);const o=String(r).trim();if(!o)throw new Error(`Endpoint param "${n}" must not be empty`);return encodeURIComponent(o)})}function ca(e){return`shoppex_${e}`}function ua(e){try{const t=localStorage.getItem(ca(e));return t?JSON.parse(t):null}catch{return null}}function la(e,t){try{localStorage.setItem(ca(e),JSON.stringify(t))}catch{console.warn("[shoppex] Failed to save to localStorage")}}function da(e){try{localStorage.removeItem(ca(e))}catch{}}function pa(e){if("undefined"==typeof window)return null;const t=`presence_connection_${e}`,n=ua(t);if(n&&n.trim())return n;const r="undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`spx_${Math.random().toString(36).slice(2)}${Date.now().toString(36)}`;return la(t,r),r}async function fa(e){if(!Mi())return;if("undefined"==typeof window)return;if(function(e){const t=`client_error_${function(e){return[e.method,e.endpoint,e.statusCode??"none",e.message.trim().toLowerCase(),e.responseReceived?"response":"no-response"].join("|")}(e)}`,n=Date.now(),r=ua(t);return"number"==typeof r&&n-r<15e3||(la(t,n),!1)}(e))return;const t=qi(),n=Bi(),r=n?sa("/v1/storefront/shops/id/:id/ping",{id:n}):sa("/v1/storefront/shops/:storeSlug/ping",{storeSlug:t.storeSlug}),o=JSON.stringify({event_type:"client_error",referer:document.referrer||void 0,connection_id:pa(t.storeSlug)??void 0,client_error:{source:e.source??"sdk",phase:e.phase??"request",endpoint:e.endpoint,method:e.method,message:e.message,status_code:e.statusCode,attempt_count:e.attemptCount,response_received:e.responseReceived??!1,page_url:e.pageUrl??window.location.href,request_url:e.requestUrl,online:e.online??("undefined"!=typeof navigator?navigator.onLine:void 0),visibility_state:e.visibilityState??("undefined"!=typeof document?document.visibilityState:void 0)}}),i=`${t.apiBaseUrl}${r}`;try{if("undefined"!=typeof navigator&&"function"==typeof navigator.sendBeacon){const e=new Blob([o],{type:"application/json"});if(navigator.sendBeacon(i,e))return}await fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:o,keepalive:!0})}catch{}}var ma=1e4;async function ha(e){return new Promise(t=>setTimeout(t,e))}async function ga(e,t={}){const r=t.baseUrl?null:qi(),{method:o="GET",body:i,timeout:a=ma,retries:s,baseUrl:c,cache:u}=t,l=s??("GET"===o?2:0),d=`${c??r?.apiBaseUrl??""}${e}`,p={"Content-Type":"application/json",Accept:"application/json"};let f=null;const m=async()=>{for(let t=0;t<=l;t++)try{const e=new AbortController,t=setTimeout(()=>e.abort(),a),r=await fetch(d,{method:o,headers:p,body:i?JSON.stringify(i):void 0,signal:e.signal});clearTimeout(t);const s=await ya(r);if(!r.ok){const e=r.statusText?`HTTP ${r.status}: ${r.statusText}`:`HTTP ${r.status}`;throw new n((s.data&&"object"==typeof s.data&&"error"in s.data&&"string"==typeof s.data.error?s.data.error:null)??(s.data&&"object"==typeof s.data&&"message"in s.data&&"string"==typeof s.data.message?s.data.message:null)??s.rawText??e,r.status)}if(204===r.status&&null===s.data)return{success:!0};if(!s.data||"object"!=typeof s.data||!("status"in s.data))throw new n("Invalid API response",r.status);return _a(s.data)}catch(e){let r=e instanceof Error?e:new Error(String(e));e instanceof DOMException&&"AbortError"===e.name&&(r=new n("Request timeout",408));const o=r instanceof n?r.statusCode:void 0;if(f={message:r.message,statusCode:o,isTransport:void 0===o||408===o},t<l){await ha(500*Math.pow(2,t));continue}}return{success:!1,message:f?.message??"Unknown error"}},h="GET"===o&&u&&u.ttl>0?await ia(u.key??`GET:${d}`,m,{ttl:u.ttl,staleWhileRevalidate:u.staleWhileRevalidate},e=>e.success):await m(),g=f;return!h.success&&g?.isTransport&&await fa({endpoint:e,method:o,message:h.message??g.message,statusCode:g.statusCode,attemptCount:l+1,requestUrl:d,responseReceived:void 0!==g.statusCode&&408!==g.statusCode}),h}async function ya(e){const t=e;if("function"!=typeof t.text){if("function"==typeof t.json)try{return{data:await t.json(),rawText:null}}catch{return{data:null,rawText:null}}return{data:null,rawText:null}}try{const e=await t.text();if(!e)return{data:null,rawText:null};try{return{data:JSON.parse(e),rawText:null}}catch{const t=e.trim();return{data:null,rawText:t.length>0?t:null}}}catch{return{data:null,rawText:null}}}function _a(e){return e.status>=200&&e.status<300?{success:!0,data:e.data,...e.message?{message:e.message}:{}}:{success:!1,message:e.error??e.message??`Request failed with status ${e.status}`}}async function va(e,t){return ga(e,{...t,method:"GET"})}async function ba(e,t,n){return ga(e,{...n,method:"POST",body:t})}var wa=3e5;async function Sa(){const e=qi(),t=await va(sa("/v1/storefront/shops/name/:storeSlug",{storeSlug:e.storeSlug}),{cache:{key:`store:${e.storeSlug}`,ttl:wa,staleWhileRevalidate:!0}});return t.success&&t.data?(t.data.shop?.id&&Fi(t.data.shop.id),{success:!0,data:t.data.shop}):{success:!1,message:t.message}}var ka=12e4;function za(e){if(e.variants&&e.variants.length>0)return e;const t=e.price_variants;return Array.isArray(t)&&0!==t.length?{...e,variants:t.map(e=>function(e){return{id:e.id,title:e.title??e.label??"",price:"number"==typeof e.price?e.price:Number(e.price)||0,stock:"number"==typeof e.stock?e.stock:void 0,quantity_min:e.quantity_min,quantity_max:e.quantity_max,quantityMin:e.quantityMin,quantityMax:e.quantityMax,image_id:e.image_id,imageId:e.imageId,cloudflare_image_id:e.cloudflare_image_id,cloudflareImageId:e.cloudflareImageId,image_url:e.image_url,imageUrl:e.imageUrl}}(e))}:e}async function Oa(){const e=qi(),t=await va(sa("/v1/storefront/products/public/:storeSlug",{storeSlug:e.storeSlug}),{cache:{key:`products:${e.storeSlug}`,ttl:ka,staleWhileRevalidate:!0}});return t.success&&t.data?{success:!0,data:t.data.products.map(za)}:{success:!1,message:t.message,data:[]}}var xa={cart:"cart",cartBackup:"cart_backup",meta:"cart_meta",metaBackup:"cart_backup_meta",coupon:"cart_coupon",couponBackup:"cart_coupon_backup"};function $a(e){return`${xa[e]}_${qi().storeSlug}`}function Ea(e){return function(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24);return(t>>>0).toString(16)}(JSON.stringify(e))}function Ta(e){if(!Number.isFinite(e))throw new o("quantity must be a finite number");return Math.floor(e)}function Ia(e){const t=e?.trim().toUpperCase();return t||null}function Aa(e){if(!Array.isArray(e))return[];const t=[];for(const n of e){if(!n||"object"!=typeof n)continue;const e=n,r="string"==typeof e.product_id?e.product_id.trim():"",o="string"==typeof e.variant_id?e.variant_id.trim():"",i=Number(e.quantity);if(!r||!o||!Number.isFinite(i)||i<1)continue;const a={product_id:r,variant_id:o,quantity:Math.floor(i)};if("string"==typeof e.price_variant_id&&(a.price_variant_id=e.price_variant_id),e.price_data&&"object"==typeof e.price_data){const t=e.price_data;"number"==typeof t.unit_price&&Number.isFinite(t.unit_price)&&(a.price_data={unit_price:t.unit_price})}Array.isArray(e.addons)&&(a.addons=e.addons),e.custom_fields&&"object"==typeof e.custom_fields&&!Array.isArray(e.custom_fields)&&(a.custom_fields=e.custom_fields),t.push(a)}return t}function Na(){return ua($a("meta"))}function Ca(){const e=ua($a("coupon"));return"string"!=typeof e?null:Ia(e)}function Pa(e){const t=Ia(e);return t?(la($a("coupon"),t),t):(da($a("coupon")),null)}function Ra(){da($a("coupon"))}function Ua(e){la($a("cart"),e);const t=Date.now(),n=Na(),r={created_at:n?.created_at??t,last_modified:t,version:(n?.version??0)+1,checksum:Ea(e)};la($a("meta"),r),0===e.length&&Ra()}function ja(e,t){la($a("cart"),e);const n=Date.now(),r=t??Na(),o={created_at:r?.created_at??n,last_modified:n,version:r?.version??1,checksum:Ea(e)};la($a("meta"),o)}function Za(){return Aa(ua($a("cart")))}function Da(){da($a("cart")),da($a("meta")),Ra()}function La(){const e=Za();la($a("cartBackup"),e);const t=Ca();t?la($a("couponBackup"),t):da($a("couponBackup"));const n=Na();if(n)la($a("metaBackup"),n);else{const t=Date.now();la($a("metaBackup"),{created_at:t,last_modified:t,version:1,checksum:Ea(e)})}}function qa(){const e=Za(),t=Na(),n=Ea(e);return t?t.checksum===n:(ja(e,null),!0)}var Ma="shoppex:affiliate_code:v1";function Fa(){return Date.now()}function Ba(e){const t=e?.trim().toLowerCase();return t||null}function Ja(e,t=30){const n=Ba(e);return n?(function(e){if("undefined"!=typeof window)try{window.localStorage.setItem(Ma,JSON.stringify(e))}catch{}}({code:n,expiresAt:Fa()+(r=t,24*Math.max(1,r)*60*60*1e3)}),n):(Ya(),null);var r}function Ya(){if("undefined"!=typeof window)try{window.localStorage.removeItem(Ma)}catch{}}function Wa(){const e=function(){if("undefined"==typeof window)return null;try{const e=window.localStorage.getItem(Ma);if(!e)return null;const t=JSON.parse(e);return t&&"string"==typeof t.code&&"number"==typeof t.expiresAt?t:null}catch{return null}}();return e?e.expiresAt<=Fa()?(Ya(),null):Ba(e.code):null}async function Ga(e){const t=Ba(e);if(!t)return{success:!1,data:{valid:!1,affiliate_code:null,discount_active:!1,discount_percent:0},message:"Affiliate code is required"};const n=await ba("/v1/storefront/affiliates/resolve",{shop_slug:qi().storeSlug,code:t},{retries:0});if(!n.success)return n;if(!n.data?.valid||!n.data.affiliate_code){const e=!1===n.data?.program_enabled;return{success:!1,data:{valid:!1,...void 0!==n.data?.program_enabled?{program_enabled:n.data.program_enabled}:{},affiliate_code:null,discount_active:!1,discount_percent:0},message:n.message??(e?"Affiliate program is disabled for this shop.":"Invalid affiliate code.")}}return{success:!0,data:{valid:!0,...void 0!==n.data.program_enabled?{program_enabled:n.data.program_enabled}:{},affiliate_code:Ba(n.data.affiliate_code),discount_active:Boolean(n.data.discount_active),discount_percent:Number(n.data.discount_percent??0)},...n.message?{message:n.message}:{}}}function Va(e){const t=e?.trim();return t||null}function Ka(e){const t=e?.trim();return t||null}function Ha(e){const t=e?.trim()??"";if(!t)return"Checkout failed. Please try again.";if(Xa(t))return"Your cart is outdated. Please add the products again.";const n=t.match(/^HTTP\s+(\d{3})(?::\s*(.*))?$/i);if(n){const e=Number(n[1]),t=n[2]?.trim();return t&&t.length>0?`Checkout failed: ${t}`:e>=500?"Checkout is temporarily unavailable. Please try again.":400===e?"Checkout failed. Please check your details and try again.":401===e||403===e?"Checkout is currently unavailable for this request.":"Checkout failed. Please try again."}return/^internal server error$/i.test(t)?"Checkout is temporarily unavailable. Please try again.":t}function Xa(e){const t=e?.trim().toLowerCase()??"";return!!t&&(t.includes("product not found")||t.includes("product not available")||t.includes("products are no longer available")||t.includes("outdated product"))}function Qa(e,t,n){const r=t?.trim();if(!r)return null;try{const t=new URL(e),o=new URL(r);if(t.origin!==o.origin)return null;const i=t.pathname.replace(/\/+$/,""),a=`${o.pathname.replace(/\/+$/,"")}/invoice/`.replace(/\/{2,}/g,"/");if(!i.startsWith(a))return null;const s=i.slice(a.length);if(!s||s.includes("/"))return null;if(n){const e=n.trim();if(!e||decodeURIComponent(s)!==e)return null}return t.toString()}catch{return null}}function es(e,t){const n=Ka(t.email),r="string"==typeof t.locale?t.locale.trim():"";if(!n&&!r)return e;try{const t=new URL(e);if(r&&t.searchParams.set("locale",r),n){const e=new URLSearchParams(t.hash.startsWith("#")?t.hash.slice(1):t.hash);e.set("shoppex_prefill_email",n),t.hash=e.toString()}return t.toString()}catch{return e}}function ts(e,t){const n=e?.invoice,r=e?.invoiceId?.trim()||e?.invoice_id?.trim()||e?.uniqid?.trim()||n?.invoiceId?.trim()||n?.invoice_id?.trim()||n?.uniqid?.trim();let o=e?.checkoutUrl?.trim()||e?.checkout_url?.trim()||e?.url_branded?.trim()||e?.url?.trim()||n?.checkoutUrl?.trim()||n?.checkout_url?.trim()||n?.url_branded?.trim()||n?.url?.trim();return!o&&r&&n&&(o=function(e,t){const n=e?.trim();if(!n)return null;try{const e=new URL(n);return e.pathname=`${e.pathname.replace(/\/+$/,"")}/invoice/${encodeURIComponent(t)}`.replace(/\/{2,}/g,"/"),e.search="",e.hash="",e.toString()}catch{return null}}(t,r)??void 0),r&&o?{invoiceId:r,checkoutUrl:o,rewards:e?.rewards??n?.rewards??null}:null}function ns(e,t){return"string"==typeof e?{...t,coupon:e}:e??t??{}}function rs(e){const t=e.affiliateCode??e.referralCode;return"string"==typeof t&&t.trim().length>0?t.trim().toLowerCase():Wa()}function os(e){const t=e=>{const t=e?.trim();return t?"default"===t.toLowerCase()?null:t:null};return e.map(e=>({product_id:e.product_id,variant_id:t(e.variant_id),quantity:e.quantity,addons:e.addons?.map(e=>({id:e.id,quantity:e.quantity??1})),custom_fields:e.custom_fields,price_variant_id:e.price_variant_id||null}))}function is(e){if("number"==typeof e&&Number.isFinite(e))return e;if("string"==typeof e&&""!==e.trim()){const t=Number(e);return Number.isFinite(t)?t:null}return null}function as(...e){for(const t of e)if("string"==typeof t&&t.length>0)return t}function ss(e,t){const n=e,r=is(n.rating)??is(n.score)??0,o=as(n.comment,n.message),i=as(n.author,n.customer_name),a=n.created_at??n.createdAt,s="number"==typeof a||"string"==typeof a?String(a):"",c=as(n.id,n.uniqid)??`review:${s||t}`;return{...n,id:c,rating:r,...o?{comment:o}:{},...i?{author:i}:{},created_at:s}}async function cs(e){const t=qi(),n=new URLSearchParams;n.set("limit",String(100)),"string"==typeof e&&e.trim().length>0&&n.set("cursor",e);const r=`?${n.toString()}`,o=await va(`${sa("/v1/storefront/feedback/shop/:storeSlug",{storeSlug:t.storeSlug})}${r}`,{cache:{key:`reviews:${t.storeSlug}:${e??"start"}:100`,ttl:12e4,staleWhileRevalidate:!0}});return o.success&&o.data?{success:!0,data:o.data}:{success:!1,message:o.message}}function us(e){const t=e.trim();return t||null}var ls=3e5;var ds=3e5;async function ps(){const e=qi(),t=await va(sa("/v1/storefront/shops/name/:storeSlug/menus",{storeSlug:e.storeSlug}),{cache:{key:`menus:${e.storeSlug}`,ttl:ds,staleWhileRevalidate:!0}});return t.success&&t.data?{success:!0,data:t.data.menus}:{success:!1,message:t.message}}async function fs(e){const t=qi(),n=await va(sa("/v1/storefront/shops/name/:storeSlug/menus/:title",{storeSlug:t.storeSlug,title:e}),{cache:{key:`menu:${t.storeSlug}:${e}`,ttl:ds,staleWhileRevalidate:!0}});return n.success&&n.data?{success:!0,data:n.data.menu}:{success:!1,message:n.message}}async function ms(e){return fs(e)}async function hs(e){const t=qi(),n=await va(sa("/v1/storefront/shops/name/:storeSlug/menus/:title",{storeSlug:t.storeSlug,title:e}),{cache:{key:`menu-slot:${t.storeSlug}:${e}`,ttl:ds,staleWhileRevalidate:!0}});return n.success&&n.data?{success:!0,data:n.data.menu}:{success:!1,message:n.message}}function gs(e){return function(e){const t=g[e];return[t.title,...t.aliases]}(e)}async function ys(e,t){if(!Mi())return;if("undefined"==typeof document)return;const n=qi(),r=pa(n.storeSlug);try{const o=sa("/v1/storefront/shops/:storeSlug/ping",{storeSlug:n.storeSlug});await fetch(`${n.apiBaseUrl}${o}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({referer:document.referrer||void 0,cart_value:e??void 0,item_count:t??void 0,connection_id:r??void 0})})}catch{}}async function _s(){if(!Mi())return{success:!1,message:"SDK not initialized"};const e=qi(),t=Bi();return va(t?sa("/v1/storefront/shops/id/:id/online-users",{id:t}):sa("/v1/storefront/shops/:storeSlug/online-users",{storeSlug:e.storeSlug}),{cache:!1,retries:0,timeout:5e3})}async function vs(){if(!Mi())return{success:!1,message:"SDK not initialized"};if("undefined"==typeof document)return{success:!1,message:"Document is not available"};const e=qi(),t=Bi();return ba(t?sa("/v1/storefront/shops/id/:id/ping",{id:t}):sa("/v1/storefront/shops/:storeSlug/ping",{storeSlug:e.storeSlug}),{referer:document.referrer||void 0,connection_id:pa(e.storeSlug)??void 0},{retries:0,timeout:5e3})}function bs(e,t){const n=qi();return new Intl.NumberFormat(t??n.locale??"en-US",{style:"currency",currency:e??n.currency??"USD"})}function ws(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function Ss(e){return ws(e)&&ws(e.theme)?{...e,version:"number"==typeof e.version?e.version:0,revision:"number"==typeof e.revision?e.revision:0,theme:{...e.theme,content:ws(e.theme.content)?e.theme.content:{},layout:ws(e.theme.layout)?e.theme.layout:{},style_slots:ws(e.theme.style_slots)?e.theme.style_slots:{},...Array.isArray(e.theme.pages)?{pages:e.theme.pages}:{},...ws(e.theme.terms)?{terms:e.theme.terms}:{}}}:null}async function ks(e){const t=await va(sa("/v1/storefront/themes/builder/published/:shopSlug",{shopSlug:e}));return t.success&&t.data?ws(n=t.data)?{settings:ws(n.settings)?n.settings:{},builder_settings:Ss(n.builder_settings),content:ws(n.content)?n.content:{},style_slots:ws(n.style_slots)?n.style_slots:{}}:null:null;var n}async function zs(e){const t=await ks(e);return t?t.settings:null}function Os(e){const t={};for(const[n,r]of Object.entries(e.settings)){t[n]={};for(const[e,o]of Object.entries(r))t[n][e]=o.default}return t}function xs(e,t){const n={...e};for(const[r,o]of Object.entries(t))o&&(n[r]={...n[r],...o});return n}var $s={init:function(e,t){"string"==typeof e?Li(e,t):Li(e.storeId,e)},isInitialized:Mi,getConfig:qi,client:function(e){const t=qi().apiBaseUrl??"https://api.shoppex.io";if(Ui&&ji===t&&!e)return Ui;const n=function(e,t){return a({baseUrl:e,headers:t?{Authorization:`Bearer ${t}`}:void 0})}(t,e);return e||(Ui=n,ji=t),n},getStore:Sa,getStorefront:async function(e){const t=qi(),n=new URLSearchParams;Number.isFinite(e?.productsLimit)&&n.set("products_limit",String(Math.max(1,Math.floor(e?.productsLimit??0)))),"string"==typeof e?.productsCursor&&e.productsCursor.trim().length>0&&n.set("products_cursor",e.productsCursor);const r=n.size>0?`?${n.toString()}`:"",o=await va(`${sa("/v1/storefront/shops/name/:storeSlug",{storeSlug:t.storeSlug})}${r}`,{cache:{key:`storefront:${t.storeSlug}:${e?.productsLimit??"full"}:${e?.productsCursor??"start"}`,ttl:wa,staleWhileRevalidate:!0}});return o.success&&o.data?(o.data.shop?.id&&Fi(o.data.shop.id),{success:!0,data:{shop:o.data.shop,products:o.data.products??[],products_pagination:o.data.products_pagination??null,groups:o.data.groups??[],items:o.data.items??[],categories:o.data.categories??[],addons:o.data.addons??{items:[]}}}):{success:!1,message:o.message}},getStoreLogoUrl:async function(){const e=await Sa();return e.success&&e.data?.logo?e.data.logo:null},getStoreBannerUrl:async function(){const e=await Sa();return e.success&&e.data?.banner?e.data.banner:null},resolveStoreByDomain:async function(e,t){const n=e??("undefined"!=typeof window?window.location.hostname:"");if(!n)return{success:!1,message:"Domain is required to resolve store"};const r=n.replace(/^https?:\/\//,"").split("/")[0].trim(),o=t??(Mi()?qi().apiBaseUrl:"https://api.shoppex.io"),i=await va(sa("/v1/storefront/shops/domain/:domain",{domain:r}),{baseUrl:o,cache:{key:`store:domain:${r}`,ttl:wa,staleWhileRevalidate:!0}});return i.success&&i.data?.shop?(i.data.shop.id&&Fi(i.data.shop.id),{success:!0,data:i.data.shop}):{success:!1,message:i.message??"Failed to resolve store"}},getProducts:Oa,getStorefrontProductsPage:async function(e){const t=qi(),n=new URLSearchParams;"string"==typeof e?.cursor&&e.cursor.trim().length>0&&n.set("cursor",e.cursor),Number.isFinite(e?.limit)&&n.set("limit",String(Math.max(1,Math.floor(e?.limit??0)))),"string"==typeof e?.sort&&e.sort.trim().length>0&&n.set("sort",e.sort.trim()),"string"==typeof e?.category&&e.category.trim().length>0&&n.set("category",e.category.trim()),!0===e?.hideOutOfStock&&n.set("hide_out_of_stock","true");const r=n.size>0?`?${n.toString()}`:"",o=await va(`${sa("/v1/storefront/products/shop/:storeSlug",{storeSlug:t.storeSlug})}${r}`,{cache:{key:`products:page:${t.storeSlug}:${e?.limit??"default"}:${e?.cursor??"start"}:${e?.sort??"featured"}:${i=e?.category,void 0===i?"category:unset":null===i?"category:null":`category:${i}`}:${!0===e?.hideOutOfStock?"in-stock":"all-stock"}`,ttl:ka,staleWhileRevalidate:!0}});var i;return o.success&&o.data?{success:!0,data:{products:o.data.products.map(za),pagination:o.data.pagination??null}}:{success:!1,message:o.message}},getProduct:async function(e){let t=Bi();if(!t){const e=await Sa();t=e.success?e.data?.id??null:null}const n=t?`?slug_shop_id=${encodeURIComponent(t)}`:"",r=await va(`${sa("/v1/storefront/products/unique/:idOrSlug",{idOrSlug:e})}${n}`,{cache:{key:`product:${e}:${t??"no-shop"}`,ttl:ka,staleWhileRevalidate:!0}});return r.success&&r.data?.product?{success:!0,data:za(r.data.product)}:{success:!1,message:r.message}},getCategories:async function(){const e=await Oa();if(!e.success||!e.data)return{success:!1,message:e.message};const t=/* @__PURE__ */new Set;for(const n of e.data)if(n.categories)for(const e of n.categories)"string"==typeof e?t.add(e):e&&"object"==typeof e&&"uniqid"in e&&t.add(e.uniqid);return{success:!0,data:Array.from(t)}},getCart:Za,getCartItemCount:function(){return Za().reduce((e,t)=>e+t.quantity,0)},getCartCoupon:Ca,setCartCoupon:Pa,clearCartCoupon:Ra,addToCart:function(e,t,n=1,r){if(!e||!t)throw new o("product_id and variant_id are required");const i=Ta(n);if(i<1)throw new o("quantity must be at least 1");const a=Za(),s=a.findIndex(n=>n.product_id===e&&n.variant_id===t);s>=0?(a[s].quantity+=i,r?.addons&&(a[s].addons=r.addons),r?.custom_fields&&(a[s].custom_fields=r.custom_fields),r?.price_variant_id&&(a[s].price_variant_id=r.price_variant_id),r?.price_data&&(a[s].price_data=r.price_data)):a.push({product_id:e,variant_id:t,quantity:i,addons:r?.addons,custom_fields:r?.custom_fields,price_variant_id:r?.price_variant_id,price_data:r?.price_data}),Ua(a)},setCartItem:function(e,t,n=1,r){if(!e||!t)throw new o("product_id and variant_id are required");const i=Ta(n);if(i<1)throw new o("quantity must be at least 1");const a=Za(),s=a.findIndex(n=>n.product_id===e&&n.variant_id===t);s>=0?(a[s].quantity=i,void 0!==r?.addons&&(a[s].addons=r.addons),void 0!==r?.custom_fields&&(a[s].custom_fields=r.custom_fields),void 0!==r?.price_variant_id&&(a[s].price_variant_id=r.price_variant_id),void 0!==r?.price_data&&(a[s].price_data=r.price_data)):a.push({product_id:e,variant_id:t,quantity:i,addons:r?.addons,custom_fields:r?.custom_fields,price_variant_id:r?.price_variant_id,price_data:r?.price_data}),Ua(a)},updateCartItem:function(e,t,n){const r=Za(),i=r.findIndex(n=>n.product_id===e&&n.variant_id===t);if(i<0)throw new o("Item not found in cart");if(void 0!==n.quantity){const e=Ta(n.quantity);if(e<1)return r.splice(i,1),void Ua(r);r[i].quantity=e}void 0!==n.addons&&(r[i].addons=n.addons),void 0!==n.custom_fields&&(r[i].custom_fields=n.custom_fields),void 0!==n.price_variant_id&&(r[i].price_variant_id=n.price_variant_id),void 0!==n.price_data&&(r[i].price_data=n.price_data),Ua(r)},removeFromCart:function(e,t){Ua(Za().filter(n=>!(n.product_id===e&&n.variant_id===t)))},clearCart:Da,createCartBackup:La,restoreCartFromBackup:function(){const e=Aa(ua($a("cartBackup"))),t=ua($a("metaBackup")),n=ua($a("couponBackup"));return!!(e&&e.length>0)&&(ja(e,t),"string"==typeof n?Pa(n):Ra(),!0)},mergeBaskets:function(e){const t=Za();for(const n of e){const e="string"==typeof n.product_id?n.product_id.trim():"",r="string"==typeof n.variant_id?n.variant_id.trim():"";if(!e||!r)continue;let o;try{o=Ta(n.quantity)}catch{continue}if(o<1)continue;const i=t.findIndex(t=>t.product_id===e&&t.variant_id===r);i>=0?t[i].quantity=Math.max(t[i].quantity,o):t.push({...n,product_id:e,variant_id:r,quantity:o})}return Ua(t),t},moveBasketItem:function(e,t,n,r){const i=Za(),a=i.findIndex(n=>n.product_id===e&&n.variant_id===t);if(a<0)throw new o("Item not found in cart");const[s]=i.splice(a,1),c=i.findIndex(e=>e.product_id===n&&e.variant_id===r);c>=0?i[c].quantity+=s.quantity:i.push({...s,product_id:n,variant_id:r}),Ua(i)},getCartStats:function(){const e=Za(),t=qa(),n=Na(),r=ua($a("cartBackup"))??[],o=e.length>0&&e.every(e=>"number"==typeof e.price_data?.unit_price),i=e.reduce((e,t)=>e+(t.price_data?.unit_price??0)*t.quantity,0);return{item_count:e.length,total_quantity:e.reduce((e,t)=>e+t.quantity,0),last_modified:n?.last_modified??0,version:n?.version??0,has_backup:r.length>0,integrity_valid:t,total_price:i,total_price_is_estimate:e.length>0&&!o}},validateCartIntegrity:qa,quoteCart:async function(e){const t=function(e){const t=qi(),n=Ia(e)??Ca()??void 0;return{store_slug:t.storeSlug,items:Za(),coupon:n}}(e);return ba("/v1/storefront/cart/quote",{shop_slug:t.store_slug,cart:t.items,coupon:t.coupon})},checkout:async function(e,t){const n=ns(e,t),{autoRedirect:r=!0,email:o,coupon:i}=n,a=void 0===i?Ca():Va(i),s=Ka(o),c=rs(n),u=Za();if(0===u.length)return{success:!1,message:"Cart is empty"};La();const l=qi();let d=await ba("/v1/storefront/invoices/from-cart",{shop_slug:l.storeSlug,cart:os(u),email:s,coupon:a,affiliate_code:c},{retries:0});if(!d.success||!d.data)return Xa(d.message)&&Da(),{success:!1,message:Ha(d.message)};const p=ts(d.data,l.checkoutBaseUrl);if(!p)return{success:!1,message:"Failed to create invoice"};const{invoiceId:f}=p,m=Qa(p.checkoutUrl,l.checkoutBaseUrl,f);if(!m)return{success:!1,message:"Failed to create invoice"};const h=es(m,{email:s,locale:n.locale});return r&&"undefined"!=typeof window&&window?.location&&(window.location.href=h,Da()),{success:!0,redirectUrl:h,invoiceId:f,rewards:p.rewards}},buildCheckoutUrl:async function(e,t){const n=ns(e,t),{email:r,coupon:o}=n,i=void 0===o?Ca():Va(o),a=Ka(r),s=rs(n),c=Za();if(0===c.length)throw new Error("Cart is empty");const u=qi();let l=await ba("/v1/storefront/invoices/from-cart",{shop_slug:u.storeSlug,cart:os(c),email:a,coupon:i,affiliate_code:s},{retries:0});if(!l.success||!l.data)throw Xa(l.message)&&Da(),new Error(Ha(l.message));const d=ts(l.data,u.checkoutBaseUrl);if(!d)throw new Error("Failed to create invoice");const p=Qa(d.checkoutUrl,u.checkoutBaseUrl,d.invoiceId);if(!p)throw new Error("Failed to create invoice");return es(p,{email:a,locale:n.locale})},buildCheckoutUrlSync:function(){throw new Error("buildCheckoutUrlSync is deprecated. Use buildCheckoutUrl (async) instead.")},captureAffiliateFromUrl:async function(e="ref"){if("undefined"==typeof window)return null;let t=null;try{const n=new URL(window.location.href).searchParams.get(e);t=n?n.trim():null}catch{t=null}if(t=Ba(t),!t)return null;if(Ja(t),Mi())try{const e=await ba("/v1/storefront/affiliates/attribution",{shop_slug:qi().storeSlug,code:t},{retries:0});return e.success&&e.data?.accepted&&e.data?.affiliate_code?(Ja(e.data.affiliate_code),e.data.affiliate_code):(Ya(),null)}catch{return t}return t},validateAffiliateCode:Ga,applyAffiliateCode:async function(e){const t=await Ga(e);return t.success&&t.data?.affiliate_code&&Ja(t.data.affiliate_code),t},getAffiliateCode:Wa,setAffiliateCode:Ja,clearAffiliateCode:Ya,validateCoupon:async function(e,t){const n=e.trim();if(!n)return{success:!1,message:"Coupon code is required"};const r={code:n},o="string"==typeof t?t:t?.productId,i="string"==typeof t?void 0:t?.variantId;if(i&&!o)return{success:!1,message:"productId is required when variantId is provided"};if(o)r.product_id=o,i&&(r.variant_id=i);else{const e=Za();if(0===e.length)return{success:!1,message:"Cart is empty"};const t=await async function(){const e=Bi();if(e)return e;const t=await Sa();return t.success&&t.data?.id?t.data.id:null}();if(!t)return{success:!1,message:"Failed to resolve store"};r.cart=JSON.stringify({shop_id:t,products:e.map(e=>({uniqid:e.product_id,quantity:e.quantity,variant_id:e.variant_id,price_variant_id:e.price_variant_id,addons:e.addons?.map(e=>({id:e.id,quantity:e.quantity??1}))}))})}return await ba("/v1/storefront/coupons/check",r)},getShopReviews:async function(){const e=[],t=/* @__PURE__ */new Set;let n=null;for(;;){const r=await cs(n);if(!r.success||!r.data)return{success:!1,message:r.message,data:[]};e.push(...(r.data.feedback??[]).map((t,n)=>ss(t,e.length+n)));const o=r.data.pagination;if(!o?.has_more||!o.next_cursor)break;if(t.has(o.next_cursor))break;t.add(o.next_cursor),n=o.next_cursor}return{success:!0,data:e}},searchProducts:async function(e,t){if(!Mi())return{success:!1,message:"SDK not initialized"};const n=e.trim().toLowerCase();if(!n)return{success:!0,data:[]};const r=await Oa();if(!r.success||!r.data)return{success:!1,message:r.message??"Failed to fetch products"};let o=r.data.filter(e=>e.title.toLowerCase().includes(n)||(e.description?.toLowerCase().includes(n)??!1));return t?.hideOutOfStock&&(o=o.filter(e=>Xi(e))),{success:!0,data:o}},getInvoice:async function(e){const t=us(e);if(!t)return{success:!1,message:"Invoice ID is required"};const n=await va(sa("/v1/storefront/invoices/unique/:invoiceId",{invoiceId:t}));return n.success?n.data?.invoice?{success:!0,data:n.data.invoice}:{success:!1,message:"Invalid invoice response"}:{success:!1,message:n.message}},getInvoiceStatus:async function(e){const t=us(e);if(!t)return{success:!1,message:"Invoice ID is required"};const n=await va(sa("/v1/storefront/invoices/status/:invoiceId",{invoiceId:t}));return n.success?n.data?.invoice?.status?{success:!0,data:{status:n.data.invoice.status}}:{success:!1,message:"Invalid invoice status response"}:{success:!1,message:n.message}},getPages:async function(){const e=qi(),t=await va(sa("/v1/storefront/shops/name/:storeSlug/pages",{storeSlug:e.storeSlug}),{cache:{key:`pages:${e.storeSlug}`,ttl:ls,staleWhileRevalidate:!0}});return t.success&&t.data?{success:!0,data:t.data.pages}:{success:!1,message:t.message}},getPage:async function(e){const t=qi(),n=await va(sa("/v1/storefront/shops/name/:storeSlug/pages/:slug",{storeSlug:t.storeSlug,slug:e}),{cache:{key:`page:${t.storeSlug}:${e}`,ttl:ls,staleWhileRevalidate:!0}});return n.success&&n.data?{success:!0,data:n.data.page}:{success:!1,message:n.message}},getMenus:ps,getMenu:ms,getMenuBySlot:hs,getMenuByTitle:fs,getMenuSlotTitles:gs,trackPageView:ys,getStorefrontOnlineUsers:_s,touchStorefrontPresence:vs,createFormatter:bs,formatPrice:function(e,t,n){const r="string"==typeof e?parseFloat(e):e;return Number.isNaN(r)?bs(t,n).format(0):bs(t,n).format(r)},clearCache:function(){ta.clear(),na.clear()},invalidateCache:function(e){for(const t of ta.keys())(t===e||t.startsWith(e))&&ta.delete(t)},getCacheStats:function(){return{hits:ra.hits,misses:ra.misses,pendingRequests:na.size,entries:ta.size}},fetchPublishedBuilderSettings:ks,fetchPublishedThemeSettings:zs,resolveDefaults:Os,mergeSettings:xs};"undefined"!=typeof window&&(window.shoppex=$s);export{o as CartError,n as NetworkError,t as NotInitializedError,e as ShoppexError,r as ValidationError,Gi as buildStorefrontCustomFieldPayload,$s as default,$s as shoppex,ks as fetchPublishedBuilderSettings,zs as fetchPublishedThemeSettings,ms as getMenu,hs as getMenuBySlot,fs as getMenuByTitle,gs as getMenuSlotTitles,ps as getMenus,_s as getStorefrontOnlineUsers,Xi as isProductInStock,Hi as isProductOutOfStock,Yi as isStorefrontCheckboxCustomFieldValueChecked,Qi as isVariantOutOfStock,xs as mergeSettings,Ji as normalizeStorefrontCustomFields,Os as resolveDefaults,Ki as resolveDisplayStock,ea as resolveVariantStockValue,vs as touchStorefrontPresence,ys as trackPageView,Wi as validateStorefrontCustomFieldValue};
|
|
1
|
+
var e=class e extends Error{constructor(t,n,r){super(t),this.name="ShoppexError",this.code=n,this.statusCode=r,Object.setPrototypeOf(this,e.prototype)}},t=class t extends e{constructor(){super("SDK not initialized. Call shoppex.init() first.","NOT_INITIALIZED"),this.name="NotInitializedError",Object.setPrototypeOf(this,t.prototype)}},n=class t extends e{constructor(e,n){super(e,"NETWORK_ERROR",n),this.name="NetworkError",Object.setPrototypeOf(this,t.prototype)}},r=class t extends e{constructor(e,n){super(e,"VALIDATION_ERROR"),this.name="ValidationError",this.invalidFields=n,Object.setPrototypeOf(this,t.prototype)}},o=class t extends e{constructor(e){super(e,"BASKET_ERROR"),this.name="CartError",Object.setPrototypeOf(this,t.prototype)}},i=/\{[^{}]+\}/g;function a(e){let{baseUrl:t="",Request:n=globalThis.Request,fetch:r=globalThis.fetch,querySerializer:o,bodySerializer:i,pathSerializer:a,headers:s,requestInitExt:c,...u}={...e};c="object"==typeof process&&Number.parseInt(process?.versions?.node?.substring(0,2))>=18&&process.versions.undici?c:void 0,t=m(t);const h=[];async function g(e,g){const{baseUrl:y,fetch:_=r,Request:v=n,headers:b,params:w={},parseAs:S="json",querySerializer:k,bodySerializer:z=i??p,pathSerializer:O,body:x,middleware:$=[],...E}=g||{};let T=t;y&&(T=m(y)??t);let I="function"==typeof o?o:l(o);k&&(I="function"==typeof k?k:l({..."object"==typeof o?o:{},...k}));const N=O||a||d,A=void 0===x?void 0:z(x,f(s,b,w.header)),C=f(void 0===A||A instanceof FormData?{}:{"Content-Type":"application/json"},s,b,w.header),P=[...h,...$],R={redirect:"follow",...u,...E,body:A,headers:C};let U,j,Z,D=new v(function(e,t){let n=`${t.baseUrl}${e}`;t.params?.path&&(n=t.pathSerializer(n,t.params.path));let r=t.querySerializer(t.params.query??{});r.startsWith("?")&&(r=r.substring(1));r&&(n+=`?${r}`);return n}(e,{baseUrl:T,params:w,querySerializer:I,pathSerializer:N}),R);for(const t in E)t in D||(D[t]=E[t]);if(P.length){U=Math.random().toString(36).slice(2,11),j=Object.freeze({baseUrl:T,fetch:_,parseAs:S,querySerializer:I,bodySerializer:z,pathSerializer:N});for(const t of P)if(t&&"object"==typeof t&&"function"==typeof t.onRequest){const n=await t.onRequest({request:D,schemaPath:e,params:w,options:j,id:U});if(n){if(!(n instanceof v)){if(n instanceof Response){Z=n;break}throw new Error("onRequest: must return new Request() or Response() when modifying the request")}D=n}}}if(!Z){try{Z=await _(D,c)}catch(M){let t=M;if(P.length)for(let n=P.length-1;n>=0;n--){const r=P[n];if(r&&"object"==typeof r&&"function"==typeof r.onError){const n=await r.onError({request:D,error:t,schemaPath:e,params:w,options:j,id:U});if(n){if(n instanceof Response){t=void 0,Z=n;break}if(n instanceof Error){t=n;continue}throw new Error("onError: must return new Response() or instance of Error")}}}if(t)throw t}if(P.length)for(let t=P.length-1;t>=0;t--){const n=P[t];if(n&&"object"==typeof n&&"function"==typeof n.onResponse){const t=await n.onResponse({request:D,response:Z,schemaPath:e,params:w,options:j,id:U});if(t){if(!(t instanceof Response))throw new Error("onResponse: must return new Response() when modifying the response");Z=t}}}}const L=Z.headers.get("Content-Length");if(204===Z.status||"HEAD"===D.method||"0"===L&&!Z.headers.get("Transfer-Encoding")?.includes("chunked"))return Z.ok?{data:void 0,response:Z}:{error:void 0,response:Z};if(Z.ok){const e=async()=>{if("stream"===S)return Z.body;if("json"===S&&!L){const e=await Z.text();return e?JSON.parse(e):void 0}return await Z[S]()};return{data:await e(),response:Z}}let q=await Z.text();try{q=JSON.parse(q)}catch{}return{error:q,response:Z}}return{request:(e,t,n)=>g(t,{...n,method:e.toUpperCase()}),GET:(e,t)=>g(e,{...t,method:"GET"}),PUT:(e,t)=>g(e,{...t,method:"PUT"}),POST:(e,t)=>g(e,{...t,method:"POST"}),DELETE:(e,t)=>g(e,{...t,method:"DELETE"}),OPTIONS:(e,t)=>g(e,{...t,method:"OPTIONS"}),HEAD:(e,t)=>g(e,{...t,method:"HEAD"}),PATCH:(e,t)=>g(e,{...t,method:"PATCH"}),TRACE:(e,t)=>g(e,{...t,method:"TRACE"}),use(...e){for(const t of e)if(t){if("object"!=typeof t||!("onRequest"in t||"onResponse"in t||"onError"in t))throw new Error("Middleware must be an object with one of `onRequest()`, `onResponse() or `onError()`");h.push(t)}},eject(...e){for(const t of e){const e=h.indexOf(t);-1!==e&&h.splice(e,1)}}}}function s(e,t,n){if(null==t)return"";if("object"==typeof t)throw new Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${e}=${!0===n?.allowReserved?t:encodeURIComponent(t)}`}function c(e,t,n){if(!t||"object"!=typeof t)return"";const r=[],o={simple:",",label:".",matrix:";"}[n.style]||"&";if("deepObject"!==n.style&&!1===n.explode){for(const e in t)r.push(e,!0===n.allowReserved?t[e]:encodeURIComponent(t[e]));const o=r.join(",");switch(n.style){case"form":return`${e}=${o}`;case"label":return`.${o}`;case"matrix":return`;${e}=${o}`;default:return o}}for(const a in t){const o="deepObject"===n.style?`${e}[${a}]`:a;r.push(s(o,t[a],n))}const i=r.join(o);return"label"===n.style||"matrix"===n.style?`${o}${i}`:i}function u(e,t,n){if(!Array.isArray(t))return"";if(!1===n.explode){const r={form:",",spaceDelimited:"%20",pipeDelimited:"|"}[n.style]||",",o=(!0===n.allowReserved?t:t.map(e=>encodeURIComponent(e))).join(r);switch(n.style){case"simple":return o;case"label":return`.${o}`;case"matrix":return`;${e}=${o}`;default:return`${e}=${o}`}}const r={simple:",",label:".",matrix:";"}[n.style]||"&",o=[];for(const i of t)"simple"===n.style||"label"===n.style?o.push(!0===n.allowReserved?i:encodeURIComponent(i)):o.push(s(e,i,n));return"label"===n.style||"matrix"===n.style?`${r}${o.join(r)}`:o.join(r)}function l(e){return function(t){const n=[];if(t&&"object"==typeof t)for(const r in t){const o=t[r];if(null!=o)if(Array.isArray(o)){if(0===o.length)continue;n.push(u(r,o,{style:"form",explode:!0,...e?.array,allowReserved:e?.allowReserved||!1}))}else"object"!=typeof o?n.push(s(r,o,e)):n.push(c(r,o,{style:"deepObject",explode:!0,...e?.object,allowReserved:e?.allowReserved||!1}))}return n.join("&")}}function d(e,t){let n=e;for(const r of e.match(i)??[]){let e=r.substring(1,r.length-1),o=!1,i="simple";if(e.endsWith("*")&&(o=!0,e=e.substring(0,e.length-1)),e.startsWith(".")?(i="label",e=e.substring(1)):e.startsWith(";")&&(i="matrix",e=e.substring(1)),!t||void 0===t[e]||null===t[e])continue;const a=t[e];Array.isArray(a)?n=n.replace(r,u(e,a,{style:i,explode:o})):n="object"!=typeof a?"matrix"!==i?n.replace(r,"label"===i?`.${encodeURIComponent(a)}`:encodeURIComponent(a)):n.replace(r,`;${s(e,a)}`):n.replace(r,c(e,a,{style:i,explode:o}))}return n}function p(e,t){return e instanceof FormData?e:t&&"application/x-www-form-urlencoded"===(t.get instanceof Function?t.get("Content-Type")??t.get("content-type"):t["Content-Type"]??t["content-type"])?new URLSearchParams(e).toString():JSON.stringify(e)}function f(...e){const t=new Headers;for(const n of e){if(!n||"object"!=typeof n)continue;const e=n instanceof Headers?n.entries():Object.entries(n);for(const[n,r]of e)if(null===r)t.delete(n);else if(Array.isArray(r))for(const e of r)t.append(n,e);else void 0!==r&&t.set(n,r)}return t}function m(e){return e.endsWith("/")?e.substring(0,e.length-1):e}var h,g={header:{title:"Header",aliases:["Header Menu"]},footer:{title:"Footer",aliases:["Footer Links","Legal Links"]}};function y(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,"_zod",{value:{def:r,constr:a,traits:/* @__PURE__ */new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);const o=a.prototype,i=Object.keys(o);for(let e=0;e<i.length;e++){const t=i[e];t in n||(n[t]=o[t].bind(n))}}const o=n?.Parent??Object;class i extends o{}function a(e){var t;const o=n?.Parent?new i:this;r(o,e),(t=o._zod).deferred??(t.deferred=[]);for(const n of o._zod.deferred)n();return o}return Object.defineProperty(i,"name",{value:e}),Object.defineProperty(a,"init",{value:r}),Object.defineProperty(a,Symbol.hasInstance,{value:t=>!!(n?.Parent&&t instanceof n.Parent)||t?._zod?.traits?.has(e)}),Object.defineProperty(a,"name",{value:e}),a}var _=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},v=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}};(h=globalThis).__zod_globalConfig??(h.__zod_globalConfig={});var b=globalThis.__zod_globalConfig;function w(e){return e&&Object.assign(b,e),b}function S(e){const t=Object.values(e).filter(e=>"number"==typeof e);return Object.entries(e).filter(([e,n])=>-1===t.indexOf(+e)).map(([e,t])=>t)}function k(e,t){return"bigint"==typeof t?t.toString():t}function z(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function O(e){return null==e}function x(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}var $=/* @__PURE__ */Symbol("evaluating");function E(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==$)return void 0===r&&(r=$,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function T(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function I(...e){const t={};for(const n of e)Object.assign(t,Object.getOwnPropertyDescriptors(n));return Object.defineProperties({},t)}function N(e){return JSON.stringify(e)}var A="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function C(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}var P=/* @__PURE__ */z(()=>{if(b.jitless)return!1;if("undefined"!=typeof navigator&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function R(e){if(!1===C(e))return!1;const t=e.constructor;if(void 0===t)return!0;if("function"!=typeof t)return!0;const n=t.prototype;return!1!==C(n)&&!1!==Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")}function U(e){return R(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var j=/* @__PURE__ */new Set(["string","number","symbol"]);function Z(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function D(e,t,n){const r=new e._zod.constr(t??e._zod.def);return t&&!n?.parent||(r._zod.parent=e),r}function L(e){const t=e;if(!t)return{};if("string"==typeof t)return{error:()=>t};if(void 0!==t?.message){if(void 0!==t?.error)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,"string"==typeof t.error?{...t,error:()=>t.error}:t}var q={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function M(e,t=0){if(!0===e.aborted)return!0;for(let n=t;n<e.issues.length;n++)if(!0!==e.issues[n]?.continue)return!0;return!1}function F(e,t=0){if(!0===e.aborted)return!0;for(let n=t;n<e.issues.length;n++)if(!1===e.issues[n]?.continue)return!0;return!1}function B(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function J(e){return"string"==typeof e?e:e?.message}function Y(e,t,n){const r=e.message?e.message:J(e.inst?._zod.def?.error?.(e))??J(t?.error?.(e))??J(n.customError?.(e))??J(n.localeError?.(e))??"Invalid input",{inst:o,continue:i,input:a,...s}=e;return s.path??(s.path=[]),s.message=r,t?.reportInput&&(s.input=a),s}function W(e){return Array.isArray(e)?"array":"string"==typeof e?"string":"unknown"}function G(...e){const[t,n,r]=e;return"string"==typeof t?{message:t,code:"custom",input:n,inst:r}:{...t}}var V=(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,k,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},K=y("$ZodError",V),H=y("$ZodError",V,{Parent:Error});var X=e=>(t,n,r,o)=>{const i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new _;if(a.issues.length){const t=new(o?.Err??e)(a.issues.map(e=>Y(e,i,w())));throw A(t,o?.callee),t}return a.value},Q=e=>async(t,n,r,o)=>{const i=r?{...r,async:!0}:{async:!0};let a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise&&(a=await a),a.issues.length){const t=new(o?.Err??e)(a.issues.map(e=>Y(e,i,w())));throw A(t,o?.callee),t}return a.value},ee=e=>(t,n,r)=>{const o=r?{...r,async:!1}:{async:!1},i=t._zod.run({value:n,issues:[]},o);if(i instanceof Promise)throw new _;return i.issues.length?{success:!1,error:new(e??K)(i.issues.map(e=>Y(e,o,w())))}:{success:!0,data:i.value}},te=/* @__PURE__ */ee(H),ne=e=>async(t,n,r)=>{const o=r?{...r,async:!0}:{async:!0};let i=t._zod.run({value:n,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(e=>Y(e,o,w())))}:{success:!0,data:i.value}},re=/* @__PURE__ */ne(H),oe=e=>(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return X(e)(t,n,o)},ie=e=>(t,n,r)=>X(e)(t,n,r),ae=e=>async(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return Q(e)(t,n,o)},se=e=>async(t,n,r)=>Q(e)(t,n,r),ce=e=>(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return ee(e)(t,n,o)},ue=e=>(t,n,r)=>ee(e)(t,n,r),le=e=>async(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return ne(e)(t,n,o)},de=e=>async(t,n,r)=>ne(e)(t,n,r),pe=/^[cC][0-9a-z]{6,}$/,fe=/^[0-9a-z]+$/,me=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,he=/^[0-9a-vA-V]{20}$/,ge=/^[A-Za-z0-9]{27}$/,ye=/^[a-zA-Z0-9_-]{21}$/,_e=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,ve=/^([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})$/,be=e=>e?new 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)$/,we=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var Se=/^(?:(?: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])$/,ke=/^(([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}|:))$/,ze=/^((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])$/,Oe=/^(([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])$/,xe=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,$e=/^[A-Za-z0-9_-]*$/,Ee=/^https?$/,Te=/^\+[1-9]\d{6,14}$/,Ie="(?:(?:\\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])))",Ne=/* @__PURE__ */new RegExp(`^${Ie}$`);function Ae(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return"number"==typeof e.precision?-1===e.precision?`${t}`:0===e.precision?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}var Ce=/^-?\d+$/,Pe=/^-?\d+(?:\.\d+)?$/,Re=/^(?:true|false)$/i,Ue=/^[^A-Z]*$/,je=/^[^a-z]*$/,Ze=/* @__PURE__ */y("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),De={number:"number",bigint:"bigint",object:"date"},Le=/* @__PURE__ */y("$ZodCheckLessThan",(e,t)=>{Ze.init(e,t);const n=De[typeof t.value];e._zod.onattach.push(e=>{const n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??Number.POSITIVE_INFINITY;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:"object"==typeof t.value?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),qe=/* @__PURE__ */y("$ZodCheckGreaterThan",(e,t)=>{Ze.init(e,t);const n=De[typeof t.value];e._zod.onattach.push(e=>{const n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??Number.NEGATIVE_INFINITY;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:"object"==typeof t.value?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Me=/* @__PURE__ */y("$ZodCheckMultipleOf",(e,t)=>{Ze.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 new Error("Cannot mix number and bigint in multiple_of check.");("bigint"==typeof n.value?n.value%t.value!==BigInt(0):0!==function(e,t){const n=e/t,r=Math.round(n),o=Number.EPSILON*Math.max(Math.abs(n),1);return Math.abs(n-r)<o?0:n-r}(n.value,t.value))&&n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Fe=/* @__PURE__ */y("$ZodCheckNumberFormat",(e,t)=>{Ze.init(e,t),t.format=t.format||"float64";const n=t.format?.includes("int"),r=n?"int":"number",[o,i]=q[t.format];e._zod.onattach.push(e=>{const r=e._zod.bag;r.format=t.format,r.minimum=o,r.maximum=i,n&&(r.pattern=Ce)}),e._zod.check=a=>{const s=a.value;if(n){if(!Number.isInteger(s))return void a.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:s,inst:e});if(!Number.isSafeInteger(s))return void(s>0?a.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort}):a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort}))}s<o&&a.issues.push({origin:"number",input:s,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),s>i&&a.issues.push({origin:"number",input:s,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),Be=/* @__PURE__ */y("$ZodCheckMaxLength",(e,t)=>{var n;Ze.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!O(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{const r=n.value;if(r.length<=t.maximum)return;const o=W(r);n.issues.push({origin:o,code:"too_big",maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Je=/* @__PURE__ */y("$ZodCheckMinLength",(e,t)=>{var n;Ze.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!O(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{const r=n.value;if(r.length>=t.minimum)return;const o=W(r);n.issues.push({origin:o,code:"too_small",minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Ye=/* @__PURE__ */y("$ZodCheckLengthEquals",(e,t)=>{var n;Ze.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!O(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{const r=n.value,o=r.length;if(o===t.length)return;const i=W(r),a=o>t.length;n.issues.push({origin:i,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),We=/* @__PURE__ */y("$ZodCheckStringFormat",(e,t)=>{var n,r;Ze.init(e,t),e._zod.onattach.push(e=>{const n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??(n.patterns=/* @__PURE__ */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=()=>{})}),Ge=/* @__PURE__ */y("$ZodCheckRegex",(e,t)=>{We.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})}}),Ve=/* @__PURE__ */y("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Ue),We.init(e,t)}),Ke=/* @__PURE__ */y("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=je),We.init(e,t)}),He=/* @__PURE__ */y("$ZodCheckIncludes",(e,t)=>{Ze.init(e,t);const n=Z(t.includes),r=new RegExp("number"==typeof t.position?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=/* @__PURE__ */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})}}),Xe=/* @__PURE__ */y("$ZodCheckStartsWith",(e,t)=>{Ze.init(e,t);const n=new RegExp(`^${Z(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=/* @__PURE__ */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})}}),Qe=/* @__PURE__ */y("$ZodCheckEndsWith",(e,t)=>{Ze.init(e,t);const n=new RegExp(`.*${Z(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=/* @__PURE__ */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})}}),et=/* @__PURE__ */y("$ZodCheckOverwrite",(e,t)=>{Ze.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),tt=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if("function"==typeof e)return e(this,{execution:"sync"}),void e(this,{execution:"async"});const t=e.split("\n").filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>" ".repeat(2*this.indent)+e);for(const o of r)this.content.push(o)}compile(){const e=Function,t=this?.args;return new e(...t,[...(this?.content??[""]).map(e=>` ${e}`)].join("\n"))}},nt={major:4,minor:4,patch:3},rt=/* @__PURE__ */y("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=nt;const r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(const o of r)for(const t of o._zod.onattach)t(e);if(0===r.length)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const t=(e,t,n)=>{let r,o=M(e);for(const i of t){if(i._zod.def.when){if(F(e))continue;if(!i._zod.def.when(e))continue}else if(o)continue;const t=e.issues.length,a=i._zod.check(e);if(a instanceof Promise&&!1===n?.async)throw new _;if(r||a instanceof Promise)r=(r??Promise.resolve()).then(async()=>{await a,e.issues.length!==t&&(o||(o=M(e,t)))});else{if(e.issues.length===t)continue;o||(o=M(e,t))}}return r?r.then(()=>e):e},n=(n,o,i)=>{if(M(n))return n.aborted=!0,n;const a=t(o,r,i);if(a instanceof Promise){if(!1===i.async)throw new _;return a.then(t=>e._zod.parse(t,i))}return e._zod.parse(a,i)};e._zod.run=(o,i)=>{if(i.skipChecks)return e._zod.parse(o,i);if("backward"===i.direction){const t=e._zod.parse({value:o.value,issues:[]},{...i,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,o,i)):n(t,o,i)}const a=e._zod.parse(o,i);if(a instanceof Promise){if(!1===i.async)throw new _;return a.then(e=>t(e,r,i))}return t(a,r,i)}}E(e,"~standard",()=>({validate:t=>{try{const n=te(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch(n){return re(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:"zod",version:1}))}),ot=/* @__PURE__ */y("$ZodString",(e,t)=>{var n;rt.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??(n=e._zod.bag,new RegExp(`^${n?`[\\s\\S]{${n?.minimum??0},${n?.maximum??""}}`:"[\\s\\S]*"}$`)),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch(r){}return"string"==typeof n.value||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),it=/* @__PURE__ */y("$ZodStringFormat",(e,t)=>{We.init(e,t),ot.init(e,t)}),at=/* @__PURE__ */y("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=ve),it.init(e,t)}),st=/* @__PURE__ */y("$ZodUUID",(e,t)=>{if(t.version){const e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(void 0===e)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=be(e))}else t.pattern??(t.pattern=be());it.init(e,t)}),ct=/* @__PURE__ */y("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=we),it.init(e,t)}),ut=/* @__PURE__ */y("$ZodURL",(e,t)=>{it.init(e,t),e._zod.check=n=>{try{const r=n.value.trim();if(!t.normalize&&t.protocol?.source===Ee.source&&!/^https?:\/\//i.test(r))return void n.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:n.value,inst:e,continue:!t.abort});const o=new URL(r);return t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(o.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(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),void(t.normalize?n.value=o.href:n.value=r)}catch(r){n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),lt=/* @__PURE__ */y("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),it.init(e,t)}),dt=/* @__PURE__ */y("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=ye),it.init(e,t)}),pt=/* @__PURE__ */y("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=pe),it.init(e,t)}),ft=/* @__PURE__ */y("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=fe),it.init(e,t)}),mt=/* @__PURE__ */y("$ZodULID",(e,t)=>{t.pattern??(t.pattern=me),it.init(e,t)}),ht=/* @__PURE__ */y("$ZodXID",(e,t)=>{t.pattern??(t.pattern=he),it.init(e,t)}),gt=/* @__PURE__ */y("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=ge),it.init(e,t)}),yt=/* @__PURE__ */y("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=function(e){const t=Ae({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const r=`${t}(?:${n.join("|")})`;return new RegExp(`^${Ie}T(?:${r})$`)}(t)),it.init(e,t)}),_t=/* @__PURE__ */y("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Ne),it.init(e,t)}),vt=/* @__PURE__ */y("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=new RegExp(`^${Ae(t)}$`)),it.init(e,t)}),bt=/* @__PURE__ */y("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=_e),it.init(e,t)}),wt=/* @__PURE__ */y("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Se),it.init(e,t),e._zod.bag.format="ipv4"}),St=/* @__PURE__ */y("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=ke),it.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})}}}),kt=/* @__PURE__ */y("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=ze),it.init(e,t)}),zt=/* @__PURE__ */y("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Oe),it.init(e,t),e._zod.check=n=>{const r=n.value.split("/");try{if(2!==r.length)throw new Error;const[e,t]=r;if(!t)throw new Error;const n=Number(t);if(`${n}`!==t)throw new Error;if(n<0||n>128)throw new Error;new URL(`http://[${e}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function Ot(e){if(""===e)return!0;if(/\s/.test(e))return!1;if(e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var xt=/* @__PURE__ */y("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=xe),it.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{Ot(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});var $t=/* @__PURE__ */y("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=$e),it.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{(function(e){if(!$e.test(e))return!1;const t=e.replace(/[-_]/g,e=>"-"===e?"+":"/");return Ot(t.padEnd(4*Math.ceil(t.length/4),"="))})(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),Et=/* @__PURE__ */y("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Te),it.init(e,t)});var Tt=/* @__PURE__ */y("$ZodJWT",(e,t)=>{it.init(e,t),e._zod.check=n=>{(function(e,t=null){try{const n=e.split(".");if(3!==n.length)return!1;const[r]=n;if(!r)return!1;const o=JSON.parse(atob(r));return!("typ"in o&&"JWT"!==o?.typ||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}})(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),It=/* @__PURE__ */y("$ZodNumber",(e,t)=>{rt.init(e,t),e._zod.pattern=e._zod.bag.pattern??Pe,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch(a){}const o=n.value;if("number"==typeof o&&!Number.isNaN(o)&&Number.isFinite(o))return n;const i="number"==typeof o?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...i?{received:i}:{}}),n}}),Nt=/* @__PURE__ */y("$ZodNumberFormat",(e,t)=>{Fe.init(e,t),It.init(e,t)}),At=/* @__PURE__ */y("$ZodBoolean",(e,t)=>{rt.init(e,t),e._zod.pattern=Re,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Boolean(n.value)}catch(i){}const o=n.value;return"boolean"==typeof o||n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}}),Ct=/* @__PURE__ */y("$ZodUnknown",(e,t)=>{rt.init(e,t),e._zod.parse=e=>e}),Pt=/* @__PURE__ */y("$ZodNever",(e,t)=>{rt.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:"never",code:"invalid_type",input:t.value,inst:e}),t)});function Rt(e,t,n){e.issues.length&&t.issues.push(...B(n,e.issues)),t.value[n]=e.value}var Ut=/* @__PURE__ */y("$ZodArray",(e,t)=>{rt.init(e,t),e._zod.parse=(n,r)=>{const o=n.value;if(!Array.isArray(o))return n.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),n;n.value=Array(o.length);const i=[];for(let e=0;e<o.length;e++){const a=o[e],s=t.element._zod.run({value:a,issues:[]},r);s instanceof Promise?i.push(s.then(t=>Rt(t,n,e))):Rt(s,n,e)}return i.length?Promise.all(i).then(()=>n):n}});function jt(e,t,n,r,o,i){const a=n in r;if(e.issues.length){if(o&&i&&!a)return;t.issues.push(...B(n,e.issues))}a||o?void 0===e.value?a&&(t.value[n]=void 0):t.value[n]=e.value:e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[n]})}function Zt(e){const t=Object.keys(e.shape);for(const o of t)if(!e.shape?.[o]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${o}": expected a Zod schema`);const n=(r=e.shape,Object.keys(r).filter(e=>"optional"===r[e]._zod.optin&&"optional"===r[e]._zod.optout));var r;return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function Dt(e,t,n,r,o,i){const a=[],s=o.keySet,c=o.catchall._zod,u=c.def.type,l="optional"===c.optin,d="optional"===c.optout;for(const p in t){if("__proto__"===p)continue;if(s.has(p))continue;if("never"===u){a.push(p);continue}const o=c.run({value:t[p],issues:[]},r);o instanceof Promise?e.push(o.then(e=>jt(e,n,p,t,l,d))):jt(o,n,p,t,l,d)}return a.length&&n.issues.push({code:"unrecognized_keys",keys:a,input:t,inst:i}),e.length?Promise.all(e).then(()=>n):n}var Lt=/* @__PURE__ */y("$ZodObject",(e,t)=>{if(rt.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){const e=t.shape;Object.defineProperty(t,"shape",{get:()=>{const n={...e};return Object.defineProperty(t,"shape",{value:n}),n}})}const n=z(()=>Zt(t));E(e._zod,"propValues",()=>{const e=t.shape,n={};for(const t in e){const r=e[t]._zod;if(r.values){n[t]??(n[t]=/* @__PURE__ */new Set);for(const e of r.values)n[t].add(e)}}return n});const r=C,o=t.catchall;let i;e._zod.parse=(t,a)=>{i??(i=n.value);const s=t.value;if(!r(s))return t.issues.push({expected:"object",code:"invalid_type",input:s,inst:e}),t;t.value={};const c=[],u=i.shape;for(const e of i.keys){const n=u[e],r="optional"===n._zod.optin,o="optional"===n._zod.optout,i=n._zod.run({value:s[e],issues:[]},a);i instanceof Promise?c.push(i.then(n=>jt(n,t,e,s,r,o))):jt(i,t,e,s,r,o)}return o?Dt(c,s,t,a,n.value,e):c.length?Promise.all(c).then(()=>t):t}}),qt=/* @__PURE__ */y("$ZodObjectJIT",(e,t)=>{Lt.init(e,t);const n=e._zod.parse,r=z(()=>Zt(t));let o;const i=C,a=!b.jitless,s=a&&P.value,c=t.catchall;let u;e._zod.parse=(l,d)=>{u??(u=r.value);const p=l.value;return i(p)?a&&s&&!1===d?.async&&!0!==d.jitless?(o||(o=(e=>{const t=new tt(["shape","payload","ctx"]),n=r.value,o=e=>{const t=N(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write("const input = payload.value;");const i=Object.create(null);let a=0;for(const r of n.keys)i[r]="key_"+a++;t.write("const newResult = {};");for(const r of n.keys){const n=i[r],a=N(r),s=e[r],c="optional"===s?._zod?.optin,u="optional"===s?._zod?.optout;t.write(`const ${n} = ${o(r)};`),c&&u?t.write(`\n if (${n}.issues.length) {\n if (${a} in input) {\n payload.issues = payload.issues.concat(${n}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${a}, ...iss.path] : [${a}]\n })));\n }\n }\n \n if (${n}.value === undefined) {\n if (${a} in input) {\n newResult[${a}] = undefined;\n }\n } else {\n newResult[${a}] = ${n}.value;\n }\n \n `):c?t.write(`\n if (${n}.issues.length) {\n payload.issues = payload.issues.concat(${n}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${a}, ...iss.path] : [${a}]\n })));\n }\n \n if (${n}.value === undefined) {\n if (${a} in input) {\n newResult[${a}] = undefined;\n }\n } else {\n newResult[${a}] = ${n}.value;\n }\n \n `):t.write(`\n const ${n}_present = ${a} in input;\n if (${n}.issues.length) {\n payload.issues = payload.issues.concat(${n}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${a}, ...iss.path] : [${a}]\n })));\n }\n if (!${n}_present && !${n}.issues.length) {\n payload.issues.push({\n code: "invalid_type",\n expected: "nonoptional",\n input: undefined,\n path: [${a}]\n });\n }\n\n if (${n}_present) {\n if (${n}.value === undefined) {\n newResult[${a}] = undefined;\n } else {\n newResult[${a}] = ${n}.value;\n }\n }\n\n `)}t.write("payload.value = newResult;"),t.write("return payload;");const s=t.compile();return(t,n)=>s(e,t,n)})(t.shape)),l=o(l,d),c?Dt([],p,l,d,u,e):l):n(l,d):(l.issues.push({expected:"object",code:"invalid_type",input:p,inst:e}),l)}});function Mt(e,t,n,r){for(const i of e)if(0===i.issues.length)return t.value=i.value,t;const o=e.filter(e=>!M(e));return 1===o.length?(t.value=o[0].value,o[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>Y(e,r,w())))}),t)}var Ft=/* @__PURE__ */y("$ZodUnion",(e,t)=>{rt.init(e,t),E(e._zod,"optin",()=>t.options.some(e=>"optional"===e._zod.optin)?"optional":void 0),E(e._zod,"optout",()=>t.options.some(e=>"optional"===e._zod.optout)?"optional":void 0),E(e._zod,"values",()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),E(e._zod,"pattern",()=>{if(t.options.every(e=>e._zod.pattern)){const e=t.options.map(e=>e._zod.pattern);return new RegExp(`^(${e.map(e=>x(e.source)).join("|")})$`)}});const n=1===t.options.length?t.options[0]._zod.run:null;e._zod.parse=(r,o)=>{if(n)return n(r,o);let i=!1;const a=[];for(const e of t.options){const t=e._zod.run({value:r.value,issues:[]},o);if(t instanceof Promise)a.push(t),i=!0;else{if(0===t.issues.length)return t;a.push(t)}}return i?Promise.all(a).then(t=>Mt(t,r,e,o)):Mt(a,r,e,o)}}),Bt=/* @__PURE__ */y("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,Ft.init(e,t);const n=e._zod.parse;E(e._zod,"propValues",()=>{const e={};for(const n of t.options){const r=n._zod.propValues;if(!r||0===Object.keys(r).length)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(n)}"`);for(const[t,n]of Object.entries(r)){e[t]||(e[t]=/* @__PURE__ */new Set);for(const r of n)e[t].add(r)}}return e});const r=z(()=>{const e=t.options,n=/* @__PURE__ */new Map;for(const r of e){const e=r._zod.propValues?.[t.discriminator];if(!e||0===e.size)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(r)}"`);for(const t of e){if(n.has(t))throw new Error(`Duplicate discriminator value "${String(t)}"`);n.set(t,r)}}return n});e._zod.parse=(o,i)=>{const a=o.value;if(!C(a))return o.issues.push({code:"invalid_type",expected:"object",input:a,inst:e}),o;const s=r.value.get(a?.[t.discriminator]);return s?s._zod.run(o,i):t.unionFallback||"backward"===i.direction?n(o,i):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,options:Array.from(r.value.keys()),input:a,path:[t.discriminator],inst:e}),o)}}),Jt=/* @__PURE__ */y("$ZodIntersection",(e,t)=>{rt.init(e,t),e._zod.parse=(e,n)=>{const r=e.value,o=t.left._zod.run({value:r,issues:[]},n),i=t.right._zod.run({value:r,issues:[]},n);return o instanceof Promise||i instanceof Promise?Promise.all([o,i]).then(([t,n])=>Wt(e,t,n)):Wt(e,o,i)}});function Yt(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(R(e)&&R(t)){const n=Object.keys(t),r=Object.keys(e).filter(e=>-1!==n.indexOf(e)),o={...e,...t};for(const i of r){const n=Yt(e[i],t[i]);if(!n.valid)return{valid:!1,mergeErrorPath:[i,...n.mergeErrorPath]};o[i]=n.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let r=0;r<e.length;r++){const o=Yt(e[r],t[r]);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Wt(e,t,n){const r=/* @__PURE__ */new Map;let o;for(const s of t.issues)if("unrecognized_keys"===s.code){o??(o=s);for(const e of s.keys)r.has(e)||r.set(e,{}),r.get(e).l=!0}else e.issues.push(s);for(const s of n.issues)if("unrecognized_keys"===s.code)for(const e of s.keys)r.has(e)||r.set(e,{}),r.get(e).r=!0;else e.issues.push(s);const i=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(i.length&&o&&e.issues.push({...o,keys:i}),M(e))return e;const a=Yt(t.value,n.value);if(!a.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(a.mergeErrorPath)}`);return e.value=a.data,e}var Gt=/* @__PURE__ */y("$ZodRecord",(e,t)=>{rt.init(e,t),e._zod.parse=(n,r)=>{const o=n.value;if(!R(o))return n.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),n;const i=[],a=t.keyType._zod.values;if(a){n.value={};const s=/* @__PURE__ */new Set;for(const u of a)if("string"==typeof u||"number"==typeof u||"symbol"==typeof u){s.add("number"==typeof u?u.toString():u);const a=t.keyType._zod.run({value:u,issues:[]},r);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){n.issues.push({code:"invalid_key",origin:"record",issues:a.issues.map(e=>Y(e,r,w())),input:u,path:[u],inst:e});continue}const c=a.value,l=t.valueType._zod.run({value:o[u],issues:[]},r);l instanceof Promise?i.push(l.then(e=>{e.issues.length&&n.issues.push(...B(u,e.issues)),n.value[c]=e.value})):(l.issues.length&&n.issues.push(...B(u,l.issues)),n.value[c]=l.value)}let c;for(const e in o)s.has(e)||(c=c??[],c.push(e));c&&c.length>0&&n.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:c})}else{n.value={};for(const a of Reflect.ownKeys(o)){if("__proto__"===a)continue;if(!Object.prototype.propertyIsEnumerable.call(o,a))continue;let s=t.keyType._zod.run({value:a,issues:[]},r);if(s instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if("string"==typeof a&&Pe.test(a)&&s.issues.length){const e=t.keyType._zod.run({value:Number(a),issues:[]},r);if(e instanceof Promise)throw new Error("Async schemas not supported in object keys currently");0===e.issues.length&&(s=e)}if(s.issues.length){"loose"===t.mode?n.value[a]=o[a]:n.issues.push({code:"invalid_key",origin:"record",issues:s.issues.map(e=>Y(e,r,w())),input:a,path:[a],inst:e});continue}const c=t.valueType._zod.run({value:o[a],issues:[]},r);c instanceof Promise?i.push(c.then(e=>{e.issues.length&&n.issues.push(...B(a,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...B(a,c.issues)),n.value[s.value]=c.value)}}return i.length?Promise.all(i).then(()=>n):n}}),Vt=/* @__PURE__ */y("$ZodEnum",(e,t)=>{rt.init(e,t);const n=S(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.filter(e=>j.has(typeof e)).map(e=>"string"==typeof e?Z(e):e.toString()).join("|")})$`),e._zod.parse=(t,o)=>{const i=t.value;return r.has(i)||t.issues.push({code:"invalid_value",values:n,input:i,inst:e}),t}}),Kt=/* @__PURE__ */y("$ZodLiteral",(e,t)=>{if(rt.init(e,t),0===t.values.length)throw new Error("Cannot create literal schema with no valid values");const n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map(e=>"string"==typeof e?Z(e):e?Z(e.toString()):String(e)).join("|")})$`),e._zod.parse=(r,o)=>{const i=r.value;return n.has(i)||r.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),r}}),Ht=/* @__PURE__ */y("$ZodTransform",(e,t)=>{rt.init(e,t),e._zod.optin="optional",e._zod.parse=(n,r)=>{if("backward"===r.direction)throw new v(e.constructor.name);const o=t.transform(n.value,n);if(r.async)return(o instanceof Promise?o:Promise.resolve(o)).then(e=>(n.value=e,n.fallback=!0,n));if(o instanceof Promise)throw new _;return n.value=o,n.fallback=!0,n}});function Xt(e,t){return void 0===t&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}var Qt=/* @__PURE__ */y("$ZodOptional",(e,t)=>{rt.init(e,t),e._zod.optin="optional",e._zod.optout="optional",E(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),E(e._zod,"pattern",()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${x(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if("optional"===t.innerType._zod.optin){const r=e.value,o=t.innerType._zod.run(e,n);return o instanceof Promise?o.then(e=>Xt(e,r)):Xt(o,r)}return void 0===e.value?e:t.innerType._zod.run(e,n)}}),en=/* @__PURE__ */y("$ZodExactOptional",(e,t)=>{Qt.init(e,t),E(e._zod,"values",()=>t.innerType._zod.values),E(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),tn=/* @__PURE__ */y("$ZodNullable",(e,t)=>{rt.init(e,t),E(e._zod,"optin",()=>t.innerType._zod.optin),E(e._zod,"optout",()=>t.innerType._zod.optout),E(e._zod,"pattern",()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${x(e.source)}|null)$`):void 0}),E(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>null===e.value?e:t.innerType._zod.run(e,n)}),nn=/* @__PURE__ */y("$ZodDefault",(e,t)=>{rt.init(e,t),e._zod.optin="optional",E(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);if(void 0===e.value)return e.value=t.defaultValue,e;const r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>rn(e,t)):rn(r,t)}});function rn(e,t){return void 0===e.value&&(e.value=t.defaultValue),e}var on=/* @__PURE__ */y("$ZodPrefault",(e,t)=>{rt.init(e,t),e._zod.optin="optional",E(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>("backward"===n.direction||void 0===e.value&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),an=/* @__PURE__ */y("$ZodNonOptional",(e,t)=>{rt.init(e,t),E(e._zod,"values",()=>{const e=t.innerType._zod.values;return e?new Set([...e].filter(e=>void 0!==e)):void 0}),e._zod.parse=(n,r)=>{const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(t=>sn(t,e)):sn(o,e)}});function sn(e,t){return e.issues.length||void 0!==e.value||e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}var cn=/* @__PURE__ */y("$ZodCatch",(e,t)=>{rt.init(e,t),e._zod.optin="optional",E(e._zod,"optout",()=>t.innerType._zod.optout),E(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);const 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=>Y(e,n,w()))},input:e.value}),e.issues=[],e.fallback=!0),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>Y(e,n,w()))},input:e.value}),e.issues=[],e.fallback=!0),e)}}),un=/* @__PURE__ */y("$ZodPipe",(e,t)=>{rt.init(e,t),E(e._zod,"values",()=>t.in._zod.values),E(e._zod,"optin",()=>t.in._zod.optin),E(e._zod,"optout",()=>t.out._zod.optout),E(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if("backward"===n.direction){const r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>ln(e,t.in,n)):ln(r,t.in,n)}const r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>ln(e,t.out,n)):ln(r,t.out,n)}});function ln(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},n)}var dn=/* @__PURE__ */y("$ZodReadonly",(e,t)=>{rt.init(e,t),E(e._zod,"propValues",()=>t.innerType._zod.propValues),E(e._zod,"values",()=>t.innerType._zod.values),E(e._zod,"optin",()=>t.innerType?._zod?.optin),E(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);const r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(pn):pn(r)}});function pn(e){return e.value=Object.freeze(e.value),e}var fn,mn=/* @__PURE__ */y("$ZodCustom",(e,t)=>{Ze.init(e,t),rt.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{const r=n.value,o=t.fn(r);if(o instanceof Promise)return o.then(t=>hn(t,n,r,e));hn(o,n,r,e)}});function hn(e,t,n,r){if(!e){const 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(G(e))}}var gn=class{constructor(){this._map=/* @__PURE__ */new WeakMap,this._idmap=/* @__PURE__ */new Map}add(e,...t){const n=t[0];return this._map.set(e,n),n&&"object"==typeof n&&"id"in n&&this._idmap.set(n.id,e),this}clear(){return this._map=/* @__PURE__ */new WeakMap,this._idmap=/* @__PURE__ */new Map,this}remove(e){const t=this._map.get(e);return t&&"object"==typeof t&&"id"in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){const t=e._zod.parent;if(t){const n={...this.get(t)??{}};delete n.id;const 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)}};(fn=globalThis).__zod_globalRegistry??(fn.__zod_globalRegistry=new gn);var yn=globalThis.__zod_globalRegistry;function _n(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...L(t)})}function vn(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...L(t)})}function bn(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...L(t)})}function wn(e,t){return new Le({check:"less_than",...L(t),value:e,inclusive:!1})}function Sn(e,t){return new Le({check:"less_than",...L(t),value:e,inclusive:!0})}function kn(e,t){return new qe({check:"greater_than",...L(t),value:e,inclusive:!1})}function zn(e,t){return new qe({check:"greater_than",...L(t),value:e,inclusive:!0})}function On(e,t){return new Me({check:"multiple_of",...L(t),value:e})}function xn(e,t){return new Be({check:"max_length",...L(t),maximum:e})}function $n(e,t){return new Je({check:"min_length",...L(t),minimum:e})}function En(e,t){return new Ye({check:"length_equals",...L(t),length:e})}function Tn(e){return new et({check:"overwrite",tx:e})}function In(e,t){const n=new Ze({check:"custom",...L(t)});return n._zod.check=e,n}function Nn(e){let t=e?.target??"draft-2020-12";return"draft-4"===t&&(t="draft-04"),"draft-7"===t&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??yn,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:/* @__PURE__ */new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function An(e,t,n={path:[],schemaPath:[]}){var r;const o=e._zod.def,i=t.seen.get(e);if(i)return i.count++,n.schemaPath.includes(e)&&(i.cycle=n.path),i.schema;const a={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,a);const s=e._zod.toJSONSchema?.();if(s)a.schema=s;else{const r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,a.schema,r);else{const n=a.schema,i=t.processors[o.type];if(!i)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);i(e,t,n,r)}const i=e._zod.parent;i&&(a.ref||(a.ref=i),An(i,t,r),t.seen.get(i).isParent=!0)}const c=t.metadataRegistry.get(e);return c&&Object.assign(a.schema,c),"input"===t.io&&Rn(e)&&(delete a.schema.examples,delete a.schema.default),"input"===t.io&&"_prefault"in a.schema&&((r=a.schema).default??(r.default=a.schema._prefault)),delete a.schema._prefault,t.seen.get(e).schema}function Cn(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=/* @__PURE__ */new Map;for(const i of e.seen.entries()){const t=e.metadataRegistry.get(i[0])?.id;if(t){const e=r.get(t);if(e&&e!==i[0])throw new Error(`Duplicate schema id "${t}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(t,i[0])}}const o=t=>{if(t[1].schema.$ref)return;const r=t[1],{ref:o,defId:i}=(t=>{const r="draft-2020-12"===e.target?"$defs":"definitions";if(e.external){const n=e.external.registry.get(t[0])?.id,o=e.external.uri??(e=>e);if(n)return{ref:o(n)};const i=t[1].defId??t[1].schema.id??"schema"+e.counter++;return t[1].defId=i,{defId:i,ref:`${o("__shared")}#/${r}/${i}`}}if(t[1]===n)return{ref:"#"};const o=`#/${r}/`,i=t[1].schema.id??"__schema"+e.counter++;return{defId:i,ref:o+i}})(t);r.def={...r.schema},i&&(r.defId=i);const a=r.schema;for(const e in a)delete a[e];a.$ref=o};if("throw"===e.cycles)for(const i of e.seen.entries()){const e=i[1];if(e.cycle)throw new Error(`Cycle detected: #/${e.cycle?.join("/")}/<root>\n\nSet the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const i of e.seen.entries()){const n=i[1];if(t!==i[0]){if(e.external){const n=e.external.registry.get(i[0])?.id;if(t!==i[0]&&n){o(i);continue}}(e.metadataRegistry.get(i[0])?.id||n.cycle||n.count>1&&"ref"===e.reused)&&o(i)}else o(i)}}function Pn(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=t=>{const n=e.seen.get(t);if(null===n.ref)return;const o=n.def??n.schema,i={...o},a=n.ref;if(n.ref=null,a){r(a);const n=e.seen.get(a),s=n.schema;if(!s.$ref||"draft-07"!==e.target&&"draft-04"!==e.target&&"openapi-3.0"!==e.target?Object.assign(o,s):(o.allOf=o.allOf??[],o.allOf.push(s)),Object.assign(o,i),t._zod.parent===a)for(const e in o)"$ref"!==e&&"allOf"!==e&&(e in i||delete o[e]);if(s.$ref&&n.def)for(const e in o)"$ref"!==e&&"allOf"!==e&&e in n.def&&JSON.stringify(o[e])===JSON.stringify(n.def[e])&&delete o[e]}const s=t._zod.parent;if(s&&s!==a){r(s);const t=e.seen.get(s);if(t?.schema.$ref&&(o.$ref=t.schema.$ref,t.def))for(const e in o)"$ref"!==e&&"allOf"!==e&&e in t.def&&JSON.stringify(o[e])===JSON.stringify(t.def[e])&&delete o[e]}e.override({zodSchema:t,jsonSchema:o,path:n.path??[]})};for(const c of[...e.seen.entries()].reverse())r(c[0]);const o={};if("draft-2020-12"===e.target?o.$schema="https://json-schema.org/draft/2020-12/schema":"draft-07"===e.target?o.$schema="http://json-schema.org/draft-07/schema#":"draft-04"===e.target?o.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const n=e.external.registry.get(t)?.id;if(!n)throw new Error("Schema is missing an `id` property");o.$id=e.external.uri(n)}Object.assign(o,n.def??n.schema);const i=e.metadataRegistry.get(t)?.id;void 0!==i&&o.id===i&&delete o.id;const a=e.external?.defs??{};for(const c of e.seen.entries()){const e=c[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,a[e.defId]=e.def)}e.external||Object.keys(a).length>0&&("draft-2020-12"===e.target?o.$defs=a:o.definitions=a);try{const n=JSON.parse(JSON.stringify(o));return Object.defineProperty(n,"~standard",{value:{...t["~standard"],jsonSchema:{input:Un(t,"input",e.processors),output:Un(t,"output",e.processors)}},enumerable:!1,writable:!1}),n}catch(s){throw new Error("Error converting schema to JSON.")}}function Rn(e,t){const n=t??{seen:/* @__PURE__ */new Set};if(n.seen.has(e))return!1;n.seen.add(e);const r=e._zod.def;if("transform"===r.type)return!0;if("array"===r.type)return Rn(r.element,n);if("set"===r.type)return Rn(r.valueType,n);if("lazy"===r.type)return Rn(r.getter(),n);if("promise"===r.type||"optional"===r.type||"nonoptional"===r.type||"nullable"===r.type||"readonly"===r.type||"default"===r.type||"prefault"===r.type)return Rn(r.innerType,n);if("intersection"===r.type)return Rn(r.left,n)||Rn(r.right,n);if("record"===r.type||"map"===r.type)return Rn(r.keyType,n)||Rn(r.valueType,n);if("pipe"===r.type)return!!e._zod.traits.has("$ZodCodec")||(Rn(r.in,n)||Rn(r.out,n));if("object"===r.type){for(const e in r.shape)if(Rn(r.shape[e],n))return!0;return!1}if("union"===r.type){for(const e of r.options)if(Rn(e,n))return!0;return!1}if("tuple"===r.type){for(const e of r.items)if(Rn(e,n))return!0;return!(!r.rest||!Rn(r.rest,n))}return!1}var Un=(e,t,n={})=>r=>{const{libraryOptions:o,target:i}=r??{},a=Nn({...o??{},target:i,io:t,processors:n});return An(e,a),Cn(a,e),Pn(a,e)},jn={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Zn=(e,t,n,r)=>{const o=e._zod.def;An(o.innerType,t,r);t.seen.get(e).ref=o.innerType},Dn=/* @__PURE__ */y("ZodISODateTime",(e,t)=>{yt.init(e,t),fr.init(e,t)});function Ln(e){return function(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...L(t)})}(Dn,e)}var qn=/* @__PURE__ */y("ZodISODate",(e,t)=>{_t.init(e,t),fr.init(e,t)});function Mn(e){return function(e,t){return new e({type:"string",format:"date",check:"string_format",...L(t)})}(qn,e)}var Fn=/* @__PURE__ */y("ZodISOTime",(e,t)=>{vt.init(e,t),fr.init(e,t)});function Bn(e){return function(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...L(t)})}(Fn,e)}var Jn=/* @__PURE__ */y("ZodISODuration",(e,t)=>{bt.init(e,t),fr.init(e,t)});function Yn(e){return function(e,t){return new e({type:"string",format:"duration",check:"string_format",...L(t)})}(Jn,e)}var Wn=(e,t)=>{K.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:t=>function(e,t=e=>e.message){const n={_errors:[]},r=(e,o=[])=>{for(const i of e.issues)if("invalid_union"===i.code&&i.errors.length)i.errors.map(e=>r({issues:e},[...o,...i.path]));else if("invalid_key"===i.code)r({issues:i.issues},[...o,...i.path]);else if("invalid_element"===i.code)r({issues:i.issues},[...o,...i.path]);else{const e=[...o,...i.path];if(0===e.length)n._errors.push(t(i));else{let r=n,o=0;for(;o<e.length;){const n=e[o];o!==e.length-1?r[n]=r[n]||{_errors:[]}:(r[n]=r[n]||{_errors:[]},r[n]._errors.push(t(i))),r=r[n],o++}}}};return r(e),n}(e,t)},flatten:{value:t=>function(e,t=e=>e.message){const n={},r=[];for(const o of e.issues)o.path.length>0?(n[o.path[0]]=n[o.path[0]]||[],n[o.path[0]].push(t(o))):r.push(t(o));return{formErrors:r,fieldErrors:n}}(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,k,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,k,2)}},isEmpty:{get:()=>0===e.issues.length}})},Gn=/* @__PURE__ */y("ZodError",Wn,{Parent:Error}),Vn=/* @__PURE__ */X(Gn),Kn=/* @__PURE__ */Q(Gn),Hn=/* @__PURE__ */ee(Gn),Xn=/* @__PURE__ */ne(Gn),Qn=/* @__PURE__ */oe(Gn),er=/* @__PURE__ */ie(Gn),tr=/* @__PURE__ */ae(Gn),nr=/* @__PURE__ */se(Gn),rr=/* @__PURE__ */ce(Gn),or=/* @__PURE__ */ue(Gn),ir=/* @__PURE__ */le(Gn),ar=/* @__PURE__ */de(Gn),sr=/* @__PURE__ */new WeakMap;function cr(e,t,n){const r=Object.getPrototypeOf(e);let o=sr.get(r);if(o||(o=/* @__PURE__ */new Set,sr.set(r,o)),!o.has(t)){o.add(t);for(const e in n){const t=n[e];Object.defineProperty(r,e,{configurable:!0,enumerable:!1,get(){const n=t.bind(this);return Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:n}),n},set(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:t})}})}}}var ur=/* @__PURE__ */y("ZodType",(e,t)=>(rt.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Un(e,"input"),output:Un(e,"output")}}),e.toJSONSchema=((e,t={})=>n=>{const r=Nn({...n,processors:t});return An(e,r),Cn(r,e),Pn(r,e)})(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(t,n)=>Vn(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>Hn(e,t,n),e.parseAsync=async(t,n)=>Kn(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>Xn(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>Qn(e,t,n),e.decode=(t,n)=>er(e,t,n),e.encodeAsync=async(t,n)=>tr(e,t,n),e.decodeAsync=async(t,n)=>nr(e,t,n),e.safeEncode=(t,n)=>rr(e,t,n),e.safeDecode=(t,n)=>or(e,t,n),e.safeEncodeAsync=async(t,n)=>ir(e,t,n),e.safeDecodeAsync=async(t,n)=>ar(e,t,n),cr(e,"ZodType",{check(...e){const t=this.def;return this.clone(I(t,{checks:[...t.checks??[],...e.map(e=>"function"==typeof e?{_zod:{check:e,def:{check:"custom"},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return D(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(function(e,t={}){return function(e,t,n){return new e({type:"custom",check:"custom",fn:t,...L(n)})}(vo,e,t)}(e,t))},superRefine(e,t){return this.check(function(e,t){return function(e,t){const n=/* @__PURE__ */In(t=>(t.addIssue=e=>{if("string"==typeof e)t.issues.push(G(e,t.value,n._zod.def));else{const r=e;r.fatal&&(r.continue=!1),r.code??(r.code="custom"),r.input??(r.input=t.value),r.inst??(r.inst=n),r.continue??(r.continue=!n._zod.def.abort),t.issues.push(G(r))}},e(t.value,t)),t);return n}(e,t)}(e,t))},overwrite(e){return this.check(Tn(e))},optional(){return so(this)},exactOptional(){return new co({type:"optional",innerType:this})},nullable(){return lo(this)},nullish(){return so(lo(this))},nonoptional(e){return function(e,t){return new mo({type:"nonoptional",innerType:e,...L(t)})}(this,e)},array(){return Jr(this)},or(e){return Vr([this,e])},and(e){return new Xr({type:"intersection",left:this,right:e})},transform(e){return yo(this,new io({type:"transform",transform:e}))},default(e){return t=e,new po({type:"default",innerType:this,get defaultValue(){return"function"==typeof t?t():U(t)}});var t},prefault(e){return t=e,new fo({type:"prefault",innerType:this,get defaultValue(){return"function"==typeof t?t():U(t)}});var t},catch(e){return new ho({type:"catch",innerType:this,catchValue:"function"==typeof(t=e)?t:()=>t});var t},pipe(e){return yo(this,e)},readonly(){return new _o({type:"readonly",innerType:this})},describe(e){const t=this.clone();return yn.add(t,{description:e}),t},meta(...e){if(0===e.length)return yn.get(this);const t=this.clone();return yn.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e){return e(this)}}),Object.defineProperty(e,"description",{get:()=>yn.get(e)?.description,configurable:!0}),e)),lr=/* @__PURE__ */y("_ZodString",(e,t)=>{ot.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n)=>{const r=n;r.type="string";const{minimum:o,maximum:i,format:a,patterns:s,contentEncoding:c}=e._zod.bag;if("number"==typeof o&&(r.minLength=o),"number"==typeof i&&(r.maxLength=i),a&&(r.format=jn[a]??a,""===r.format&&delete r.format,"time"===a&&delete r.format),c&&(r.contentEncoding=c),s&&s.size>0){const e=[...s];1===e.length?r.pattern=e[0].source:e.length>1&&(r.allOf=[...e.map(e=>({..."draft-07"===t.target||"draft-04"===t.target||"openapi-3.0"===t.target?{type:"string"}:{},pattern:e.source}))])}})(e,t,n);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,cr(e,"_ZodString",{regex(...e){return this.check(function(e,t){return new Ge({check:"string_format",format:"regex",...L(t),pattern:e})}(...e))},includes(...e){return this.check(function(e,t){return new He({check:"string_format",format:"includes",...L(t),includes:e})}(...e))},startsWith(...e){return this.check(function(e,t){return new Xe({check:"string_format",format:"starts_with",...L(t),prefix:e})}(...e))},endsWith(...e){return this.check(function(e,t){return new Qe({check:"string_format",format:"ends_with",...L(t),suffix:e})}(...e))},min(...e){return this.check($n(...e))},max(...e){return this.check(xn(...e))},length(...e){return this.check(En(...e))},nonempty(...e){return this.check($n(1,...e))},lowercase(e){return this.check(function(e){return new Ve({check:"string_format",format:"lowercase",...L(e)})}(e))},uppercase(e){return this.check(function(e){return new Ke({check:"string_format",format:"uppercase",...L(e)})}(e))},trim(){return this.check(/* @__PURE__ */Tn(e=>e.trim()))},normalize(...e){return this.check(function(e){/* @__PURE__ */
|
|
2
|
+
return Tn(t=>t.normalize(e))}(...e))},toLowerCase(){return this.check(/* @__PURE__ */Tn(e=>e.toLowerCase()))},toUpperCase(){return this.check(/* @__PURE__ */Tn(e=>e.toUpperCase()))},slugify(){return this.check(/* @__PURE__ */Tn(e=>function(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}(e)))}})}),dr=/* @__PURE__ */y("ZodString",(e,t)=>{ot.init(e,t),lr.init(e,t),e.email=t=>e.check(_n(mr,t)),e.url=t=>e.check(bn(_r,t)),e.jwt=t=>e.check(function(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...L(t)})}(Cr,t)),e.emoji=t=>e.check(function(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...L(t)})}(vr,t)),e.guid=t=>e.check(vn(gr,t)),e.uuid=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...L(t)})}(yr,t)),e.uuidv4=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...L(t)})}(yr,t)),e.uuidv6=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...L(t)})}(yr,t)),e.uuidv7=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...L(t)})}(yr,t)),e.nanoid=t=>e.check(function(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...L(t)})}(br,t)),e.guid=t=>e.check(vn(gr,t)),e.cuid=t=>e.check(function(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...L(t)})}(wr,t)),e.cuid2=t=>e.check(function(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...L(t)})}(Sr,t)),e.ulid=t=>e.check(function(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...L(t)})}(kr,t)),e.base64=t=>e.check(function(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...L(t)})}(Ir,t)),e.base64url=t=>e.check(function(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...L(t)})}(Nr,t)),e.xid=t=>e.check(function(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...L(t)})}(zr,t)),e.ksuid=t=>e.check(function(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...L(t)})}(Or,t)),e.ipv4=t=>e.check(function(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...L(t)})}(xr,t)),e.ipv6=t=>e.check(function(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...L(t)})}($r,t)),e.cidrv4=t=>e.check(function(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...L(t)})}(Er,t)),e.cidrv6=t=>e.check(function(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...L(t)})}(Tr,t)),e.e164=t=>e.check(function(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...L(t)})}(Ar,t)),e.datetime=t=>e.check(Ln(t)),e.date=t=>e.check(Mn(t)),e.time=t=>e.check(Bn(t)),e.duration=t=>e.check(Yn(t))});function pr(e){return function(e,t){return new e({type:"string",...L(t)})}(dr,e)}var fr=/* @__PURE__ */y("ZodStringFormat",(e,t)=>{it.init(e,t),lr.init(e,t)}),mr=/* @__PURE__ */y("ZodEmail",(e,t)=>{ct.init(e,t),fr.init(e,t)});function hr(e){return _n(mr,e)}var gr=/* @__PURE__ */y("ZodGUID",(e,t)=>{at.init(e,t),fr.init(e,t)}),yr=/* @__PURE__ */y("ZodUUID",(e,t)=>{st.init(e,t),fr.init(e,t)}),_r=/* @__PURE__ */y("ZodURL",(e,t)=>{ut.init(e,t),fr.init(e,t)});var vr=/* @__PURE__ */y("ZodEmoji",(e,t)=>{lt.init(e,t),fr.init(e,t)}),br=/* @__PURE__ */y("ZodNanoID",(e,t)=>{dt.init(e,t),fr.init(e,t)}),wr=/* @__PURE__ */y("ZodCUID",(e,t)=>{pt.init(e,t),fr.init(e,t)}),Sr=/* @__PURE__ */y("ZodCUID2",(e,t)=>{ft.init(e,t),fr.init(e,t)}),kr=/* @__PURE__ */y("ZodULID",(e,t)=>{mt.init(e,t),fr.init(e,t)}),zr=/* @__PURE__ */y("ZodXID",(e,t)=>{ht.init(e,t),fr.init(e,t)}),Or=/* @__PURE__ */y("ZodKSUID",(e,t)=>{gt.init(e,t),fr.init(e,t)}),xr=/* @__PURE__ */y("ZodIPv4",(e,t)=>{wt.init(e,t),fr.init(e,t)}),$r=/* @__PURE__ */y("ZodIPv6",(e,t)=>{St.init(e,t),fr.init(e,t)}),Er=/* @__PURE__ */y("ZodCIDRv4",(e,t)=>{kt.init(e,t),fr.init(e,t)}),Tr=/* @__PURE__ */y("ZodCIDRv6",(e,t)=>{zt.init(e,t),fr.init(e,t)}),Ir=/* @__PURE__ */y("ZodBase64",(e,t)=>{xt.init(e,t),fr.init(e,t)}),Nr=/* @__PURE__ */y("ZodBase64URL",(e,t)=>{$t.init(e,t),fr.init(e,t)}),Ar=/* @__PURE__ */y("ZodE164",(e,t)=>{Et.init(e,t),fr.init(e,t)}),Cr=/* @__PURE__ */y("ZodJWT",(e,t)=>{Tt.init(e,t),fr.init(e,t)}),Pr=/* @__PURE__ */y("ZodNumber",(e,t)=>{It.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n)=>{const r=n,{minimum:o,maximum:i,format:a,multipleOf:s,exclusiveMaximum:c,exclusiveMinimum:u}=e._zod.bag;"string"==typeof a&&a.includes("int")?r.type="integer":r.type="number";const l="number"==typeof u&&u>=(o??Number.NEGATIVE_INFINITY),d="number"==typeof c&&c<=(i??Number.POSITIVE_INFINITY),p="draft-04"===t.target||"openapi-3.0"===t.target;l?p?(r.minimum=u,r.exclusiveMinimum=!0):r.exclusiveMinimum=u:"number"==typeof o&&(r.minimum=o),d?p?(r.maximum=c,r.exclusiveMaximum=!0):r.exclusiveMaximum=c:"number"==typeof i&&(r.maximum=i),"number"==typeof s&&(r.multipleOf=s)})(e,t,n),cr(e,"ZodNumber",{gt(e,t){return this.check(kn(e,t))},gte(e,t){return this.check(zn(e,t))},min(e,t){return this.check(zn(e,t))},lt(e,t){return this.check(wn(e,t))},lte(e,t){return this.check(Sn(e,t))},max(e,t){return this.check(Sn(e,t))},int(e){return this.check(jr(e))},safe(e){return this.check(jr(e))},positive(e){return this.check(kn(0,e))},nonnegative(e){return this.check(zn(0,e))},negative(e){return this.check(wn(0,e))},nonpositive(e){return this.check(Sn(0,e))},multipleOf(e,t){return this.check(On(e,t))},step(e,t){return this.check(On(e,t))},finite(){return this}});const n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function Rr(e){return function(e,t){return new e({type:"number",checks:[],...L(t)})}(Pr,e)}var Ur=/* @__PURE__ */y("ZodNumberFormat",(e,t)=>{Nt.init(e,t),Pr.init(e,t)});function jr(e){return function(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...L(t)})}(Ur,e)}var Zr=/* @__PURE__ */y("ZodBoolean",(e,t)=>{At.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t,n)=>{n.type="boolean"})(0,0,t)});function Dr(e){return function(e,t){return new e({type:"boolean",...L(t)})}(Zr,e)}var Lr=/* @__PURE__ */y("ZodUnknown",(e,t)=>{Ct.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(e,t,n)=>{}});function qr(){return new Lr({type:"unknown"})}var Mr=/* @__PURE__ */y("ZodNever",(e,t)=>{Pt.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t,n)=>{n.not={}})(0,0,t)});function Fr(e){return function(e,t){return new e({type:"never",...L(t)})}(Mr,e)}var Br=/* @__PURE__ */y("ZodArray",(e,t)=>{Ut.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=n,i=e._zod.def,{minimum:a,maximum:s}=e._zod.bag;"number"==typeof a&&(o.minItems=a),"number"==typeof s&&(o.maxItems=s),o.type="array",o.items=An(i.element,t,{...r,path:[...r.path,"items"]})})(e,t,n,r),e.element=t.element,cr(e,"ZodArray",{min(e,t){return this.check($n(e,t))},nonempty(e){return this.check($n(1,e))},max(e,t){return this.check(xn(e,t))},length(e,t){return this.check(En(e,t))},unwrap(){return this.element}})});function Jr(e,t){return function(e,t,n){return new e({type:"array",element:t,...L(n)})}(Br,e,t)}var Yr=/* @__PURE__ */y("ZodObject",(e,t)=>{qt.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=n,i=e._zod.def;o.type="object",o.properties={};const a=i.shape;for(const u in a)o.properties[u]=An(a[u],t,{...r,path:[...r.path,"properties",u]});const s=new Set(Object.keys(a)),c=new Set([...s].filter(e=>{const n=i.shape[e]._zod;return"input"===t.io?void 0===n.optin:void 0===n.optout}));c.size>0&&(o.required=Array.from(c)),"never"===i.catchall?._zod.def.type?o.additionalProperties=!1:i.catchall?i.catchall&&(o.additionalProperties=An(i.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):"output"===t.io&&(o.additionalProperties=!1)})(e,t,n,r),E(e,"shape",()=>t.shape),cr(e,"ZodObject",{keyof(){return no(Object.keys(this._zod.def.shape))},catchall(e){return this.clone({...this._zod.def,catchall:e})},passthrough(){return this.clone({...this._zod.def,catchall:qr()})},loose(){return this.clone({...this._zod.def,catchall:qr()})},strict(){return this.clone({...this._zod.def,catchall:Fr()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return function(e,t){if(!R(t))throw new Error("Invalid input to extend: expected a plain object");const n=e._zod.def.checks;if(n&&n.length>0){const n=e._zod.def.shape;for(const e in t)if(void 0!==Object.getOwnPropertyDescriptor(n,e))throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return D(e,I(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return T(this,"shape",n),n}}))}(this,e)},safeExtend(e){return function(e,t){if(!R(t))throw new Error("Invalid input to safeExtend: expected a plain object");return D(e,I(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return T(this,"shape",n),n}}))}(this,e)},merge(e){return function(e,t){if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");return D(e,I(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t._zod.def.shape};return T(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}(this,e)},pick(e){return function(e,t){const n=e._zod.def,r=n.checks;if(r&&r.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");return D(e,I(e._zod.def,{get shape(){const e={};for(const r in t){if(!(r in n.shape))throw new Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return T(this,"shape",e),e},checks:[]}))}(this,e)},omit(e){return function(e,t){const n=e._zod.def,r=n.checks;if(r&&r.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");return D(e,I(e._zod.def,{get shape(){const r={...e._zod.def.shape};for(const e in t){if(!(e in n.shape))throw new Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return T(this,"shape",r),r},checks:[]}))}(this,e)},partial(...e){return function(e,t,n){const r=t._zod.def.checks;if(r&&r.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");return D(t,I(t._zod.def,{get shape(){const r=t._zod.def.shape,o={...r};if(n)for(const t in n){if(!(t in r))throw new Error(`Unrecognized key: "${t}"`);n[t]&&(o[t]=e?new e({type:"optional",innerType:r[t]}):r[t])}else for(const t in r)o[t]=e?new e({type:"optional",innerType:r[t]}):r[t];return T(this,"shape",o),o},checks:[]}))}(ao,this,e[0])},required(...e){return t=mo,n=this,r=e[0],D(n,I(n._zod.def,{get shape(){const e=n._zod.def.shape,o={...e};if(r)for(const n in r){if(!(n in o))throw new Error(`Unrecognized key: "${n}"`);r[n]&&(o[n]=new t({type:"nonoptional",innerType:e[n]}))}else for(const n in e)o[n]=new t({type:"nonoptional",innerType:e[n]});return T(this,"shape",o),o}}));var t,n,r}})});function Wr(e,t){return new Yr({type:"object",shape:e??{},...L(t)})}var Gr=/* @__PURE__ */y("ZodUnion",(e,t)=>{Ft.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=e._zod.def,i=!1===o.inclusive,a=o.options.map((e,n)=>An(e,t,{...r,path:[...r.path,i?"oneOf":"anyOf",n]}));i?n.oneOf=a:n.anyOf=a})(e,t,n,r),e.options=t.options});function Vr(e,t){return new Gr({type:"union",options:e,...L(t)})}var Kr=/* @__PURE__ */y("ZodDiscriminatedUnion",(e,t)=>{Gr.init(e,t),Bt.init(e,t)});function Hr(e,t,n){return new Kr({type:"union",options:t,discriminator:e,...L(n)})}var Xr=/* @__PURE__ */y("ZodIntersection",(e,t)=>{Jt.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=e._zod.def,i=An(o.left,t,{...r,path:[...r.path,"allOf",0]}),a=An(o.right,t,{...r,path:[...r.path,"allOf",1]}),s=e=>"allOf"in e&&1===Object.keys(e).length;n.allOf=[...s(i)?i.allOf:[i],...s(a)?a.allOf:[a]]})(e,t,n,r)});var Qr=/* @__PURE__ */y("ZodRecord",(e,t)=>{Gt.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=n,i=e._zod.def;o.type="object";const a=i.keyType,s=a._zod.bag?.patterns;if("loose"===i.mode&&s&&s.size>0){const e=An(i.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});o.patternProperties={};for(const t of s)o.patternProperties[t.source]=e}else"draft-07"!==t.target&&"draft-2020-12"!==t.target||(o.propertyNames=An(i.keyType,t,{...r,path:[...r.path,"propertyNames"]})),o.additionalProperties=An(i.valueType,t,{...r,path:[...r.path,"additionalProperties"]});const c=a._zod.values;if(c){const e=[...c].filter(e=>"string"==typeof e||"number"==typeof e);e.length>0&&(o.required=e)}})(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function eo(e,t,n){return t&&t._zod?new Qr({type:"record",keyType:e,valueType:t,...L(n)}):new Qr({type:"record",keyType:pr(),valueType:e,...L(t)})}var to=/* @__PURE__ */y("ZodEnum",(e,t)=>{Vt.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n)=>{const r=S(e._zod.def.entries);r.every(e=>"number"==typeof e)&&(n.type="number"),r.every(e=>"string"==typeof e)&&(n.type="string"),n.enum=r})(e,0,n),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{const o={};for(const i of e){if(!n.has(i))throw new Error(`Key ${i} not found in enum`);o[i]=t.entries[i]}return new to({...t,checks:[],...L(r),entries:o})},e.exclude=(e,r)=>{const o={...t.entries};for(const t of e){if(!n.has(t))throw new Error(`Key ${t} not found in enum`);delete o[t]}return new to({...t,checks:[],...L(r),entries:o})}});function no(e,t){return new to({type:"enum",entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...L(t)})}var ro=/* @__PURE__ */y("ZodLiteral",(e,t)=>{Kt.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n)=>{const r=e._zod.def,o=[];for(const i of r.values)if(void 0===i){if("throw"===t.unrepresentable)throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if("bigint"==typeof i){if("throw"===t.unrepresentable)throw new Error("BigInt literals cannot be represented in JSON Schema");o.push(Number(i))}else o.push(i);if(0===o.length);else if(1===o.length){const e=o[0];n.type=null===e?"null":typeof e,"draft-04"===t.target||"openapi-3.0"===t.target?n.enum=[e]:n.const=e}else o.every(e=>"number"==typeof e)&&(n.type="number"),o.every(e=>"string"==typeof e)&&(n.type="string"),o.every(e=>"boolean"==typeof e)&&(n.type="boolean"),o.every(e=>null===e)&&(n.type="null"),n.enum=o})(e,t,n),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function oo(e,t){return new ro({type:"literal",values:Array.isArray(e)?e:[e],...L(t)})}var io=/* @__PURE__ */y("ZodTransform",(e,t)=>{Ht.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t)=>{if("throw"===t.unrepresentable)throw new Error("Transforms cannot be represented in JSON Schema")})(0,e),e._zod.parse=(n,r)=>{if("backward"===r.direction)throw new v(e.constructor.name);n.addIssue=r=>{if("string"==typeof r)n.issues.push(G(r,n.value,t));else{const t=r;t.fatal&&(t.continue=!1),t.code??(t.code="custom"),t.input??(t.input=n.value),t.inst??(t.inst=e),n.issues.push(G(t))}};const o=t.transform(n.value,n);return o instanceof Promise?o.then(e=>(n.value=e,n.fallback=!0,n)):(n.value=o,n.fallback=!0,n)}});var ao=/* @__PURE__ */y("ZodOptional",(e,t)=>{Qt.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Zn(e,t,0,r),e.unwrap=()=>e._zod.def.innerType});function so(e){return new ao({type:"optional",innerType:e})}var co=/* @__PURE__ */y("ZodExactOptional",(e,t)=>{en.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Zn(e,t,0,r),e.unwrap=()=>e._zod.def.innerType});var uo=/* @__PURE__ */y("ZodNullable",(e,t)=>{tn.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=e._zod.def,i=An(o.innerType,t,r),a=t.seen.get(e);"openapi-3.0"===t.target?(a.ref=o.innerType,n.nullable=!0):n.anyOf=[i,{type:"null"}]})(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function lo(e){return new uo({type:"nullable",innerType:e})}var po=/* @__PURE__ */y("ZodDefault",(e,t)=>{nn.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=e._zod.def;An(o.innerType,t,r),t.seen.get(e).ref=o.innerType,n.default=JSON.parse(JSON.stringify(o.defaultValue))})(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});var fo=/* @__PURE__ */y("ZodPrefault",(e,t)=>{on.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=e._zod.def;An(o.innerType,t,r),t.seen.get(e).ref=o.innerType,"input"===t.io&&(n._prefault=JSON.parse(JSON.stringify(o.defaultValue)))})(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});var mo=/* @__PURE__ */y("ZodNonOptional",(e,t)=>{an.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=e._zod.def;An(o.innerType,t,r),t.seen.get(e).ref=o.innerType})(e,t,0,r),e.unwrap=()=>e._zod.def.innerType});var ho=/* @__PURE__ */y("ZodCatch",(e,t)=>{cn.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=e._zod.def;let i;An(o.innerType,t,r),t.seen.get(e).ref=o.innerType;try{i=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=i})(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});var go=/* @__PURE__ */y("ZodPipe",(e,t)=>{un.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=e._zod.def,i=o.in._zod.traits.has("$ZodTransform"),a="input"===t.io?i?o.out:o.in:o.out;An(a,t,r),t.seen.get(e).ref=a})(e,t,0,r),e.in=t.in,e.out=t.out});function yo(e,t){return new go({type:"pipe",in:e,out:t})}var _o=/* @__PURE__ */y("ZodReadonly",(e,t)=>{dn.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{const o=e._zod.def;An(o.innerType,t,r),t.seen.get(e).ref=o.innerType,n.readOnly=!0})(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});var vo=/* @__PURE__ */y("ZodCustom",(e,t)=>{mn.init(e,t),ur.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t)=>{if("throw"===t.unrepresentable)throw new Error("Custom types cannot be represented in JSON Schema")})(0,e)});var bo,wo=no(["CONSENT","SOFT_OPT_IN","TRANSACTIONAL_ONLY","UNKNOWN"]),So=no(["MANUAL_UNSUB","ONE_CLICK_UNSUB","HARD_BOUNCE","COMPLAINT","ADMIN_BLOCK"]),ko=no(["BROADCAST","AUTOMATION"]),zo=no(["ABANDONED_CART","POST_PURCHASE","WELCOME","WIN_BACK","RE_ENGAGEMENT","TAG_ADDED"]),Oo=(Wr({email:hr(),name:pr().trim().min(1).nullable().optional(),customer_id:pr().uuid().nullable().optional(),tags:Jr(pr().trim().min(1)).default([]),consent_basis:wo.default("UNKNOWN"),source:pr().trim().min(1).default("dashboard")}),Wr({name:pr().trim().min(1),subject:pr().trim().min(1),preheader:pr().nullable().optional(),mjml_source:pr().trim().min(1),builder_project_json:eo(pr(),qr()).nullable().optional(),thumbnail_url:bn(_r,bo).nullable().optional()}),Wr({mjml_source:pr().trim().min(1),sample_variables:eo(pr(),qr()).optional()}),Wr({recipient_email:hr(),sample_variables:eo(pr(),qr()).optional()}),Wr({marketing_enabled:Dr().optional(),default_from_name:pr().trim().min(1).nullable().optional(),default_from_email:hr().nullable().optional(),default_reply_to_email:hr().nullable().optional(),physical_address:pr().trim().min(1).nullable().optional(),physical_address_line2:pr().trim().min(1).nullable().optional(),physical_city:pr().trim().min(1).nullable().optional(),physical_postal_code:pr().trim().min(1).nullable().optional(),physical_country:pr().trim().length(2).nullable().optional(),daily_limit:Rr().int().positive().optional(),monthly_soft_cap:Rr().int().positive().optional()}),Wr({type:ko.default("BROADCAST"),name:pr().trim().min(1),subject:pr().trim().min(1),template_id:pr().uuid(),list_id:pr().uuid().nullable().optional(),segment_id:pr().uuid().nullable().optional(),from_name:pr().trim().min(1),from_email:hr(),reply_to_email:hr().nullable().optional(),schedule_at:pr().datetime().nullable().optional(),target_emails:Jr(hr()).max(0,"Direct recipient entry is disabled. Use lists or segments built from Shoppex customers and paid order buyers.").default([]),idempotency_key:pr().trim().min(1).nullable().optional()}),Wr({name:pr().trim().min(1),subject:pr().trim().min(1),template_id:pr().uuid(),from_name:pr().trim().min(1),from_email:hr(),reply_to_email:hr().nullable().optional(),trigger:zo,delay_seconds:Rr().int().min(0).default(0),conditions:eo(pr(),qr()).default({})}),Wr({trigger:zo,email:hr(),customer_id:pr().uuid().nullable().optional(),name:pr().trim().min(1).nullable().optional(),consent_basis:wo.default("UNKNOWN"),variables:eo(pr(),qr()).default({}),idempotency_key:pr().trim().min(1).nullable().optional()}),Wr({email:hr(),reason:So.default("ADMIN_BLOCK"),notes:pr().nullable().optional()}),["BITCOIN","LITECOIN","ETHEREUM","BITCOIN_CASH","MONERO","RIPPLE","TRON","SOLANA","POLYGON","BINANCE_COIN","CRONOS","CONCORDIUM","NANO","DOGECOIN","DASH"]),xo=["NOWPAYMENTS","CRYPTOMUS","OXAPAY"],$o=["NOWPAYMENTS_WHITELABEL"],Eo={USDT:["USDT_TRC20","USDT_ERC20","USDT_BEP20","USDT_POLYGON","USDT_SOL"],USDC:["USDC_ERC20","USDC_TRC20","USDC_BEP20","USDC_POLYGON","USDC_SOL"],DAI:["DAI_ERC20"]},To=Object.keys(Eo),Io=[...Eo.USDT,...Eo.USDC,...Eo.DAI],No=[...Oo,...Io],Ao=["BITCOIN_LN"],Co=[...xo,...$o],Po=[...No,...Ao],Ro=No,Uo=new Set(Oo),jo=new Set(Io);new Set(No),new Set(Ao),new Set(xo),new Set($o),new Set(Co),new Set(Po),new Set(To),new Set(["STRIPE","PAYPAL","PAYPAL_FF","MOLLIE","SQUARE","SUMUP","SHOPIFY","SUBY","PANDABASE","STORRIK","VENPAYR","MONEYMOTION","WHOP","DODO","MAVERICK","CASHAPP","VENMO","CRYPTO","CUSTOMER_BALANCE","MANUAL"]);function Zo(e,t){if(new Set(t).size!==t.length)throw new Error(`${e} contains duplicate entries`)}Zo("COIN_GATEWAY_KEYS",Oo),Zo("TOKEN_GATEWAY_KEYS",Io),Zo("CRYPTO_GATEWAY_KEYS",No),Zo("LEGACY_CRYPTO_GATEWAY_KEYS",Ao),Zo("CRYPTO_PROVIDER_KEYS",xo),Zo("MANAGED_CRYPTO_PROVIDER_KEYS",$o),Zo("CRYPTO_PROVIDER_GATEWAY_KEYS",Co),Zo("DEFAULT_NOWPAYMENTS_CRYPTO_GATEWAY_KEYS",Ro),Zo("DEFAULT_CRYPTOMUS_CRYPTO_GATEWAY_KEYS",["BITCOIN","LITECOIN","ETHEREUM","TRON","SOLANA","POLYGON","BINANCE_COIN","BITCOIN_CASH","MONERO","RIPPLE","DOGECOIN","USDT_TRC20","USDT_ERC20","USDT_BEP20","USDT_POLYGON","USDT_SOL","USDC_ERC20","USDC_BEP20","USDC_POLYGON","DAI_ERC20"]),Zo("DEFAULT_OXAPAY_CRYPTO_GATEWAY_KEYS",["BITCOIN","LITECOIN","ETHEREUM","TRON","SOLANA","POLYGON","BINANCE_COIN","BITCOIN_CASH","MONERO","RIPPLE","DOGECOIN","USDT_TRC20","USDT_ERC20","USDT_BEP20","USDT_POLYGON","USDC_ERC20"]);for(const As of No)if(!Uo.has(As)&&!jo.has(As))throw new Error(`CRYPTO_GATEWAY_KEYS contains an unclassified gateway: ${As}`);var Do=Wr({set:Dr()}),Lo=Wr({status:no(["READY","NEEDS_ATTENTION"]).optional(),code:pr().optional(),message:pr().optional(),checked_at:pr().optional()}),qo=(Wr({provider:pr(),type:pr(),enabled:Dr(),connected:Dr(),credentials:eo(pr(),Do),public_config:eo(pr(),qr()),webhook:eo(pr(),qr()).optional(),health:Lo.optional()}),"#2563eb"),Mo=["comfortable","compact"],Fo=["top","side","background"],Bo=no(["checkout","payment_link","embed"]),Jo=no(["current","clean-light","clean-dark","v2","v3"]),Yo=no(Mo),Wo=no(["light","dark","system"]),Go=no(Fo),Vo=no(["ghost","outlined","filled"]),Ko=no(["sheet","fullscreen","center"]),Ho=(no(["checkout.shell","checkout.panel","checkout.header","brand.logo","product.card","product.image","product.title","product.description","product.price","product.quantity","product.addon","paymentLink.hero","summary.panel","summary.line","summary.total","form.field","form.label","form.help","coupon.input","input.base","input.error","button.primary","button.secondary","payment.methods","payment.method","payment.method.icon","payment.method.label","payment.method.meta","payment.method.fee","payment.method.indicator","payment.provider_widget","payment.loading","payment.error","payment.warning","legal.terms","status.success","status.processing","embed.launcher","embed.launcher.icon","embed.productCard","embed.productCard.image","embed.productCard.title","embed.productCard.price","embed.cart","embed.cart.row","embed.cart.summary","embed.modal","embed.modal.header","embed.modal.close","embed.skeleton","embed.loader","embed.branding"]),no(["product.title","product.price","summary.total","payment.method.label","payment.provider_widget","payment.loading","payment.error","payment.warning","legal.terms","status.success","status.processing","embed.modal.close","embed.branding"]),pr().regex(/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/,"Use a valid hex color")),Xo=pr().trim().min(1).max(200).refine(e=>!/[;{}]|@import|expression\s*\(/i.test(e),"Use a valid CSS color or gradient"),Qo=pr().trim().min(1).max(400).refine(e=>!/[;{}]|@import|expression\s*\(/i.test(e),"Use a valid CSS box-shadow value"),ei=no(["Inter","Geist","Manrope","Plus Jakarta Sans","DM Sans","Space Grotesk","Sora","IBM Plex Sans","JetBrains Mono","Arial","System UI"]),ti=pr().trim().min(1).max(60).regex(/^[A-Za-z0-9 +\-_]+$/,"Use a Google Fonts family name"),ni=pr().url(),ri=Wr({brand:Wr({logoUrl:ni.optional().nullable(),logoDarkUrl:ni.optional().nullable(),logoMaxHeight:Rr().int().min(16).max(80).optional(),faviconUrl:ni.optional().nullable()}).strict().optional(),color:Wr({brand:Ho.optional(),brandContrast:Ho.optional(),background:Ho.optional(),surface:Ho.optional(),surfaceRaised:Ho.optional(),text:Ho.optional(),textMuted:Ho.optional(),border:Ho.optional(),focus:Ho.optional(),success:Ho.optional(),warning:Ho.optional(),error:Ho.optional()}).strict().optional(),typography:Wr({fontFamily:ei.optional(),googleFontFamily:ti.optional(),baseSize:Rr().int().min(12).max(18).optional()}).strict().optional(),shape:Wr({buttonRadius:Rr().int().min(0).max(24).optional(),inputRadius:Rr().int().min(0).max(24).optional(),cardRadius:Rr().int().min(0).max(28).optional()}).strict().optional(),spacing:Wr({density:Yo.optional(),controlHeight:Rr().int().min(36).max(56).optional()}).strict().optional(),component:Wr({primaryButton:Wr({background:Ho.optional(),text:Ho.optional()}).strict().optional(),input:Wr({background:Ho.optional(),border:Ho.optional(),focusRing:Xo.optional()}).strict().optional(),summary:Wr({background:Ho.optional()}).strict().optional(),paymentMethod:Wr({background:Xo.optional(),cardBackground:Xo.optional(),border:Xo.optional(),selectedBackground:Xo.optional()}).strict().optional(),productCard:Wr({background:Xo.optional(),border:Xo.optional(),shadow:Qo.optional()}).strict().optional(),productImage:Wr({background:Xo.optional(),border:Xo.optional(),icon:Xo.optional()}).strict().optional(),brandAvatar:Wr({background:Xo.optional(),text:Ho.optional(),border:Xo.optional()}).strict().optional(),pill:Wr({background:Xo.optional(),border:Xo.optional(),text:Ho.optional()}).strict().optional(),errorBanner:Wr({background:Xo.optional(),border:Xo.optional(),text:Ho.optional()}).strict().optional(),warningBanner:Wr({background:Xo.optional(),border:Xo.optional(),text:Ho.optional()}).strict().optional(),radio:Wr({idleRing:Xo.optional(),checkedFill:Ho.optional(),checkedIcon:Ho.optional()}).strict().optional(),divider:Wr({color:Xo.optional()}).strict().optional()}).strict().optional(),paymentLink:Wr({heroImageUrl:ni.optional().nullable(),heroPosition:Go.optional()}).strict().optional(),embed:Wr({launcher:Wr({background:Xo.optional(),text:Ho.optional(),radius:Rr().int().min(0).max(28).optional(),paddingX:Rr().int().min(8).max(32).optional(),paddingY:Rr().int().min(6).max(24).optional(),shadow:Qo.optional()}).strict().optional(),productCard:Wr({background:Xo.optional(),border:Xo.optional(),imageRadius:Rr().int().min(0).max(24).optional(),padding:Rr().int().min(8).max(32).optional()}).strict().optional(),cart:Wr({background:Xo.optional(),rowBorder:Xo.optional(),itemSpacing:Rr().int().min(4).max(28).optional()}).strict().optional(),modal:Wr({background:Xo.optional(),radius:Rr().int().min(0).max(32).optional(),maxWidth:Rr().int().min(360).max(960).optional(),shadow:Qo.optional()}).strict().optional(),backdrop:Wr({color:Xo.optional(),blur:Rr().int().min(0).max(24).optional(),opacity:Rr().min(0).max(1).optional()}).strict().optional(),skeleton:Wr({background:Xo.optional(),shimmer:Xo.optional()}).strict().optional(),spinner:Wr({color:Xo.optional()}).strict().optional(),closeButton:Wr({style:Vo.optional()}).strict().optional(),mobile:Wr({layout:Ko.optional()}).strict().optional()}).strict().optional()}).strict(),oi=Wr({mode:Wo.default("system"),fontSource:no(["curated"]).default("curated")}).strict(),ii=no(["standalone","bundle","pointer"]),ai=Wr({name:pr().trim().min(1).max(80),fingerprint:pr().trim().min(1).max(128)}).strict(),si=Wr({type:oo("shoppex.style_theme"),surface:oo("checkout"),format_version:Vr([oo(1),oo(2)]),name:pr().trim().min(1).max(80),description:pr().trim().max(240).optional(),embed_design:Jo.default("current"),token_schema_version:oo(1),tokens:ri.default({}),custom_css:pr().max(2e4).default(""),settings:oi.default({mode:"system",fontSource:"curated"}),_meta:eo(pr(),qr()).optional()}).strict(),ci=(Wr({type:oo("shoppex.style_theme"),surface:Bo,format_version:Vr([oo(1),oo(2)]),name:pr().trim().min(1).max(80),description:pr().trim().max(240).optional(),embed_design:Jo.default("current"),token_schema_version:oo(1),tokens:ri.default({}),custom_css:pr().max(2e4).default(""),settings:oi.default({mode:"system",fontSource:"curated"}),share_mode:ii.default("standalone"),parent_hint:ai.optional(),bundled_parent:si.optional(),_meta:eo(pr(),qr()).optional()}).strict(),Wr({theme_id:pr().uuid().nullable(),surface:Bo,embed_design:Jo,token_schema_version:oo(1),revision:Rr().int().min(1),tokens:ri,custom_css:pr(),css_variables:eo(pr(),pr())}).strict(),Wr({theme_id:pr().uuid().nullable(),parent_theme_id:pr().uuid().nullable(),surface:oo("embed"),embed_design:Jo,token_schema_version:oo(1),revision:Rr().int().min(1),parent_revision:Rr().int().min(1).nullable(),tokens:ri,custom_css:pr(),css_variables:eo(pr(),pr())}).strict(),Wr({shop_id:pr().uuid(),product_id:pr().uuid().nullable(),product_group_id:pr().uuid().nullable(),payment_link_id:pr().uuid().nullable(),invoice_id:pr().nullable()}).strict(),Wr({embed_runtime:pr().min(16).max(128),embed_design:Jo,revision:Rr().int().min(1),parent_revision:Rr().int().min(1).nullable(),theme_id:pr().uuid().nullable(),css_variables:eo(pr(),pr()),custom_css:pr()}).strict(),Wr({embed_design:Jo.optional(),embed_style_revision:function(e){return function(e,t){return new e({type:"number",coerce:!0,checks:[],...L(t)})}(Pr,e)}().int().min(1).optional(),embed_runtime:pr().min(16).max(128).optional(),preview:Dr().optional()}).strict(),no(["announcement_bar","countdown_bar","promo_info_card","recent_purchase_popup","coupon_popup_modal"]),no(["layout.header.before","layout.header.after","layout.overlay","home.hero.after","home.grid.before","product.buybox.after","layout.footer.before","floating.bottom_right"])),ui=(no(["announcement_bar","countdown_bar","promo_info_card","recent_purchase_popup","coupon_popup_modal"]),pr().regex(/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/,"Use a valid hex color")),li=no(["static","marquee"]),di=no(["brand_blue","emerald","sunset","rose","charcoal","custom"]),pi=no(["hide","message"]),fi=no(["compact","comfortable"]),mi=no(["subtle","outline","solid"]),hi=no(["minimal","boxed"]),gi=no(["indigo","emerald","amber","rose","slate","custom"]),yi=no(["compact","feature","alert"]),_i=no(["compact","comfortable"]),vi=no(["subtle","outline","solid"]),bi=no(["sparkles","megaphone","gift","truck","shield","support","none"]),wi=no(["show","hide"]),Si=no(["midnight","ocean","ember","forest","custom"]),ki=no(["delay","exit_intent"]),zi=pr().trim().refine(e=>{if(e.startsWith("/"))return!0;try{const t=new URL(e);return"http:"===t.protocol||"https:"===t.protocol}catch{return!1}},'Use a valid absolute URL or a path starting with "/"'),Oi=pr().trim().refine(e=>{const t=new Date(e);return!Number.isNaN(t.getTime())},"Use a valid date and time"),xi=Wr({text:pr().trim().min(1,"Text is required").max(160,"Text must be 160 characters or fewer"),linkLabel:pr().trim().max(32,"Link label must be 32 characters or fewer").optional().nullable(),linkUrl:zi.optional().nullable(),dismissible:Dr().default(!1),displayMode:li.default("marquee"),themePreset:di.default("custom"),animationSpeedSeconds:Rr().int().min(8).max(40).default(30),backgroundColor:ui.default("#111827"),textColor:ui.default("#f9fafb")}),$i=Wr({text:pr().trim().min(1,"Text is required").max(120,"Text must be 120 characters or fewer"),endAt:Oi,linkLabel:pr().trim().max(32,"Link label must be 32 characters or fewer").optional().nullable(),linkUrl:zi.optional().nullable(),dismissible:Dr().default(!1),themePreset:di.default("brand_blue"),expiredBehavior:pi.default("hide"),expiredMessage:pr().trim().max(120,"Expired message must be 120 characters or fewer").optional().nullable(),density:fi.default("compact"),ctaStyle:mi.default("subtle"),timerStyle:hi.default("boxed"),backgroundColor:ui.default("#111827"),textColor:ui.default("#f9fafb")}),Ei=Wr({eyebrow:pr().trim().max(32,"Eyebrow must be 32 characters or fewer").optional().nullable(),title:pr().trim().min(1,"Title is required").max(80,"Title must be 80 characters or fewer"),body:pr().trim().min(1,"Body is required").max(240,"Body must be 240 characters or fewer"),linkLabel:pr().trim().max(32,"Link label must be 32 characters or fewer").optional().nullable(),linkUrl:zi.optional().nullable(),themePreset:gi.default("indigo"),layoutStyle:yi.default("feature"),density:_i.default("comfortable"),ctaStyle:vi.default("outline"),icon:bi.default("sparkles"),iconVisibility:wi.default("show"),backgroundColor:ui.default("#111827"),textColor:ui.default("#f9fafb"),accentColor:ui.default("#818cf8")}),Ti=Wr({title:pr().trim().min(1,"Title is required").max(80,"Title must be 80 characters or fewer").default("Recent purchases"),lookbackHours:Rr().int().min(1).max(168).default(24),cooldownSeconds:Rr().int().min(5).max(300).default(20),maxItems:Rr().int().min(1).max(20).default(8),anonymizeMode:no(["first_name_city","first_name_country","initial_country","anonymous"]).default("first_name_city"),includedProductIds:Jr(pr().min(1)).max(50).default([])}),Ii=Wr({eyebrow:pr().trim().max(32,"Eyebrow must be 32 characters or fewer").optional().nullable(),title:pr().trim().min(1,"Title is required").max(80,"Title must be 80 characters or fewer"),body:pr().trim().min(1,"Body is required").max(240,"Body must be 240 characters or fewer"),couponCode:pr().trim().min(2,"Coupon code is required").max(40,"Coupon code must be 40 characters or fewer"),primaryButtonLabel:pr().trim().min(1,"Primary button label is required").max(24,"Primary button label must be 24 characters or fewer").default("Copy code"),secondaryButtonLabel:pr().trim().min(1,"Secondary button label is required").max(24,"Secondary button label must be 24 characters or fewer").default("Maybe later"),disclaimer:pr().trim().max(100,"Disclaimer must be 100 characters or fewer").optional().nullable(),themePreset:Si.default("midnight"),trigger:ki.default("delay"),delaySeconds:Rr().int().min(0).max(60).default(6),showOncePerSession:Dr().default(!0),reminderHours:Rr().int().min(1).max(720).default(24),backgroundColor:ui.default("#111827"),textColor:ui.default("#f8fafc"),accentColor:ui.default("#7c9cff"),heroImageUrl:zi.optional().nullable(),discountDisplay:pr().trim().max(24,"Discount display must be 24 characters or fewer").optional().nullable(),expiresAt:Oi.optional().nullable()}),Ni=Wr({type:oo("announcement_bar"),slot:ci,enabled:Dr().default(!0),sortOrder:Rr().int().min(0).max(999).default(0),config:xi}),Ai=Wr({type:oo("recent_purchase_popup"),slot:ci,enabled:Dr().default(!0),sortOrder:Rr().int().min(0).max(999).default(0),config:Ti}),Ci=Wr({type:oo("countdown_bar"),slot:ci,enabled:Dr().default(!0),sortOrder:Rr().int().min(0).max(999).default(0),config:$i}),Pi=Wr({type:oo("promo_info_card"),slot:ci,enabled:Dr().default(!0),sortOrder:Rr().int().min(0).max(999).default(0),config:Ei}),Ri=Wr({type:oo("coupon_popup_modal"),slot:ci,enabled:Dr().default(!0),sortOrder:Rr().int().min(0).max(999).default(0),config:Ii});Hr("type",[Ni,Ci,Pi,Ai,Ri]),Hr("type",[Ni.extend({id:pr().min(1)}),Ci.extend({id:pr().min(1)}),Pi.extend({id:pr().min(1)}),Ai.extend({id:pr().min(1)}),Ri.extend({id:pr().min(1)})]);var Ui=null,ji=null;var Zi=null,Di=null;function Li(e,t){const n=t?.shopId?.trim();return Di=n||null,Ui=null,ji=null,Zi={storeSlug:e,locale:t?.locale,currency:t?.currency,apiBaseUrl:t?.apiBaseUrl??"https://api.shoppex.io",checkoutBaseUrl:t?.checkoutBaseUrl??"https://checkout.shoppex.io"}}function qi(){if(!Zi)throw new t;return Zi}function Mi(){return null!==Zi}function Fi(e){Di=e}function Bi(){return Di}function Ji(e){return function(e){if(Array.isArray(e))return e;if("string"==typeof e){try{const t=JSON.parse(e);if(Array.isArray(t))return t;if(t&&"object"==typeof t){const e=t.custom_fields??t.customFields;return Array.isArray(e)?e:[]}}catch{return[]}return[]}if(e&&"object"==typeof e){const t=e.custom_fields??e.customFields;return Array.isArray(t)?t:[]}return[]}(e).filter(e=>!!e&&"object"==typeof e&&!Array.isArray(e)).map(e=>{const t="string"==typeof e.type?e.type.trim().toLowerCase():"text",n=t.length>0?t:"text",r=[e.default_value,e.default,e.value].find(e=>"string"==typeof e&&e.trim().length>0);return{name:"string"==typeof e.name?e.name.trim():"",type:n,required:!0===e.required||"true"===e.required||1===e.required||"1"===e.required,defaultValue:"string"==typeof r?r:"",placeholder:"string"==typeof e.placeholder?e.placeholder:"",regex:"string"==typeof e.regex?e.regex:void 0}}).filter(e=>e.name.length>0&&"hidden"!==e.type)}function Yi(e){const t=e?.trim().toLowerCase()??"";return"true"===t||"1"===t||"yes"===t||"on"===t}function Wi(e,t){if("checkbox"===e.type)return e.required&&!Yi(t)?`${e.name} is required.`:null;const n=t.trim();if(e.required&&!n)return`${e.name} is required.`;if(e.regex&&n)try{if(!new RegExp(e.regex).test(n))return`${e.name} has an invalid format.`}catch{return null}return null}function Gi(e,t){const n={};return e.forEach(e=>{const r=t[e.name]??e.defaultValue??"";if("checkbox"===e.type)return void(Yi(r)&&(n[e.name]="true"));const o=r.trim();o.length>0&&(n[e.name]=o)}),n}function Vi(e){return"number"==typeof e&&Number.isFinite(e)?Math.trunc(e):null}function Ki(e){if(!e)return-1;if("string"==typeof e.type&&"SERIALS"===e.type.toUpperCase())return Vi(e.stock)??-1;const t=function(e){const t=Array.isArray(e.price_variants)?e.price_variants.map(e=>Vi(e.stock)):[];return t.length>0?t:Array.isArray(e.variants)?e.variants.map(e=>Vi(e.stock)):[]}(e);return t.length>0?t.some(e=>null===e||e<0)?-1:t.filter(e=>null!==e).reduce((e,t)=>e+Math.max(t,0),0):Vi(e.stock)??-1}function Hi(e){return 0===Ki(e)}function Xi(e){return!Hi(e)}function Qi(e){return 0===Vi(e?.stock)}function ea(e){return Vi(e?.stock)??-1}function ta(e){if(e?.apiBaseUrl?.trim())return e.apiBaseUrl.replace(/\/+$/,"");const t=e?.hostname??("undefined"!=typeof window?window.location.hostname:"");return t&&!function(e){if("localhost"===e||"127.0.0.1"===e||"::1"===e||e.endsWith(".localhost"))return!0;if(/^10\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(e))return!0;if(/^192\.168\.\d{1,3}\.\d{1,3}$/.test(e))return!0;const t=e.match(/^172\.(\d{1,2})\.\d{1,3}\.\d{1,3}$/);if(t){const e=Number(t[1]);return e>=16&&e<=31}return!1}(t)?"https://api.shoppex.io":"http://localhost:3001".replace(/\/+$/,"")}function na(e){const t=e.name?.trim()??"",n=`${t?`Name: ${t}\n\n`:""}${e.message.trim()}`,r=e.maxLength??2e3;return n.slice(0,r)}async function ra(e){const t=e.shopSlug.trim();if(!t)throw new Error("Store data is not ready yet. Please try again in a moment.");const n=e.email.trim().toLowerCase(),r=e.title?.trim()??"",o=r.length>=2?r.slice(0,30):"Contact Request",i=na({name:e.name,message:e.message}),a=e.invoiceId?.trim()||void 0,s=ta({apiBaseUrl:e.apiBaseUrl}),c=await fetch(`${s}/v1/storefront/shops/name/${encodeURIComponent(t)}/tickets`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({email:n,title:o,message:i,...a?{invoice_id:a}:{}})}),u=await c.json().catch(()=>null);if(!c.ok)throw new Error(u?.message||u?.error||"Failed to send your message.");const l=u?.data?.uniqid;if(!l)throw new Error("Ticket created, but the response was incomplete.");return{uniqid:l}}function oa(e){return{discord:e?.discord_link??e?.social?.discord??null,telegram:e?.telegram_link??e?.social?.telegram??null}}var ia=/* @__PURE__ */new Map,aa=/* @__PURE__ */new Map,sa={hits:0,misses:0};function ca(e,t,n){const r=Date.now();ia.set(e,{data:t,ttl:n,updatedAt:r,expiresAt:r+n})}async function ua(e,t,n,r=()=>!0){const o=function(e){const t=ia.get(e);return t||null}(e);if(o&&!function(e){return Date.now()>e.expiresAt}(o))return sa.hits+=1,o.data;if(o&&n.staleWhileRevalidate){if(sa.hits+=1,!aa.has(e)){const o=(async()=>{try{const o=await t();return r(o)&&ca(e,o,n.ttl),o}finally{aa.delete(e)}})();aa.set(e,o)}return o.data}if(aa.has(e))return aa.get(e);sa.misses+=1;const i=(async()=>{try{const o=await t();return r(o)&&ca(e,o,n.ttl),o}finally{aa.delete(e)}})();return aa.set(e,i),i}var la=/:([A-Za-z0-9_]+)/g;function da(e,t){return e.replace(la,(e,n)=>{const r=t[n];if(null==r)throw new Error(`Missing endpoint param: ${n}`);const o=String(r).trim();if(!o)throw new Error(`Endpoint param "${n}" must not be empty`);return encodeURIComponent(o)})}function pa(e){return`shoppex_${e}`}function fa(e){try{const t=localStorage.getItem(pa(e));return t?JSON.parse(t):null}catch{return null}}function ma(e,t){try{localStorage.setItem(pa(e),JSON.stringify(t))}catch{console.warn("[shoppex] Failed to save to localStorage")}}function ha(e){try{localStorage.removeItem(pa(e))}catch{}}function ga(e){if("undefined"==typeof window)return null;const t=`presence_connection_${e}`,n=fa(t);if(n&&n.trim())return n;const r="undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`spx_${Math.random().toString(36).slice(2)}${Date.now().toString(36)}`;return ma(t,r),r}async function ya(e){if(!Mi())return;if("undefined"==typeof window)return;if(function(e){const t=`client_error_${function(e){return[e.method,e.endpoint,e.statusCode??"none",e.message.trim().toLowerCase(),e.responseReceived?"response":"no-response"].join("|")}(e)}`,n=Date.now(),r=fa(t);return"number"==typeof r&&n-r<15e3||(ma(t,n),!1)}(e))return;const t=qi(),n=Bi(),r=n?da("/v1/storefront/shops/id/:id/ping",{id:n}):da("/v1/storefront/shops/:storeSlug/ping",{storeSlug:t.storeSlug}),o=JSON.stringify({event_type:"client_error",referer:document.referrer||void 0,connection_id:ga(t.storeSlug)??void 0,client_error:{source:e.source??"sdk",phase:e.phase??"request",endpoint:e.endpoint,method:e.method,message:e.message,status_code:e.statusCode,attempt_count:e.attemptCount,response_received:e.responseReceived??!1,page_url:e.pageUrl??window.location.href,request_url:e.requestUrl,online:e.online??("undefined"!=typeof navigator?navigator.onLine:void 0),visibility_state:e.visibilityState??("undefined"!=typeof document?document.visibilityState:void 0)}}),i=`${t.apiBaseUrl}${r}`;try{if("undefined"!=typeof navigator&&"function"==typeof navigator.sendBeacon){const e=new Blob([o],{type:"application/json"});if(navigator.sendBeacon(i,e))return}await fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:o,keepalive:!0})}catch{}}var _a=1e4;async function va(e){return new Promise(t=>setTimeout(t,e))}async function ba(e,t={}){const r=t.baseUrl?null:qi(),{method:o="GET",body:i,timeout:a=_a,retries:s,baseUrl:c,cache:u}=t,l=s??("GET"===o?2:0),d=`${c??r?.apiBaseUrl??""}${e}`,p={"Content-Type":"application/json",Accept:"application/json"};let f=null;const m=async()=>{for(let t=0;t<=l;t++)try{const e=new AbortController,t=setTimeout(()=>e.abort(),a),r=await fetch(d,{method:o,headers:p,body:i?JSON.stringify(i):void 0,signal:e.signal});clearTimeout(t);const s=await wa(r);if(!r.ok){const e=r.statusText?`HTTP ${r.status}: ${r.statusText}`:`HTTP ${r.status}`;throw new n((s.data&&"object"==typeof s.data&&"error"in s.data&&"string"==typeof s.data.error?s.data.error:null)??(s.data&&"object"==typeof s.data&&"message"in s.data&&"string"==typeof s.data.message?s.data.message:null)??s.rawText??e,r.status)}if(204===r.status&&null===s.data)return{success:!0};if(!s.data||"object"!=typeof s.data||!("status"in s.data))throw new n("Invalid API response",r.status);return Sa(s.data)}catch(e){let r=e instanceof Error?e:new Error(String(e));e instanceof DOMException&&"AbortError"===e.name&&(r=new n("Request timeout",408));const o=r instanceof n?r.statusCode:void 0;if(f={message:r.message,statusCode:o,isTransport:void 0===o||408===o},t<l){await va(500*Math.pow(2,t));continue}}return{success:!1,message:f?.message??"Unknown error"}},h="GET"===o&&u&&u.ttl>0?await ua(u.key??`GET:${d}`,m,{ttl:u.ttl,staleWhileRevalidate:u.staleWhileRevalidate},e=>e.success):await m(),g=f;return!h.success&&g?.isTransport&&await ya({endpoint:e,method:o,message:h.message??g.message,statusCode:g.statusCode,attemptCount:l+1,requestUrl:d,responseReceived:void 0!==g.statusCode&&408!==g.statusCode}),h}async function wa(e){const t=e;if("function"!=typeof t.text){if("function"==typeof t.json)try{return{data:await t.json(),rawText:null}}catch{return{data:null,rawText:null}}return{data:null,rawText:null}}try{const e=await t.text();if(!e)return{data:null,rawText:null};try{return{data:JSON.parse(e),rawText:null}}catch{const t=e.trim();return{data:null,rawText:t.length>0?t:null}}}catch{return{data:null,rawText:null}}}function Sa(e){return e.status>=200&&e.status<300?{success:!0,data:e.data,...e.message?{message:e.message}:{}}:{success:!1,message:e.error??e.message??`Request failed with status ${e.status}`}}async function ka(e,t){return ba(e,{...t,method:"GET"})}async function za(e,t,n){return ba(e,{...n,method:"POST",body:t})}var Oa=3e5;async function xa(){const e=qi(),t=await ka(da("/v1/storefront/shops/name/:storeSlug",{storeSlug:e.storeSlug}),{cache:{key:`store:${e.storeSlug}`,ttl:Oa,staleWhileRevalidate:!0}});return t.success&&t.data?(t.data.shop?.id&&Fi(t.data.shop.id),{success:!0,data:t.data.shop}):{success:!1,message:t.message}}var $a=12e4;function Ea(e){if(e.variants&&e.variants.length>0)return e;const t=e.price_variants;return Array.isArray(t)&&0!==t.length?{...e,variants:t.map(e=>function(e){return{id:e.id,title:e.title??e.label??"",price:"number"==typeof e.price?e.price:Number(e.price)||0,stock:"number"==typeof e.stock?e.stock:void 0,quantity_min:e.quantity_min,quantity_max:e.quantity_max,quantityMin:e.quantityMin,quantityMax:e.quantityMax,image_id:e.image_id,imageId:e.imageId,cloudflare_image_id:e.cloudflare_image_id,cloudflareImageId:e.cloudflareImageId,image_url:e.image_url,imageUrl:e.imageUrl}}(e))}:e}async function Ta(){const e=qi(),t=await ka(da("/v1/storefront/products/public/:storeSlug",{storeSlug:e.storeSlug}),{cache:{key:`products:${e.storeSlug}`,ttl:$a,staleWhileRevalidate:!0}});return t.success&&t.data?{success:!0,data:t.data.products.map(Ea)}:{success:!1,message:t.message,data:[]}}var Ia={cart:"cart",cartBackup:"cart_backup",meta:"cart_meta",metaBackup:"cart_backup_meta",coupon:"cart_coupon",couponBackup:"cart_coupon_backup"};function Na(e){return`${Ia[e]}_${qi().storeSlug}`}function Aa(e){return function(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24);return(t>>>0).toString(16)}(JSON.stringify(e))}function Ca(e){if(!Number.isFinite(e))throw new o("quantity must be a finite number");return Math.floor(e)}function Pa(e){const t=e?.trim().toUpperCase();return t||null}function Ra(e){if(!Array.isArray(e))return[];const t=[];for(const n of e){if(!n||"object"!=typeof n)continue;const e=n,r="string"==typeof e.product_id?e.product_id.trim():"",o="string"==typeof e.variant_id?e.variant_id.trim():"",i=Number(e.quantity);if(!r||!o||!Number.isFinite(i)||i<1)continue;const a={product_id:r,variant_id:o,quantity:Math.floor(i)};if("string"==typeof e.price_variant_id&&(a.price_variant_id=e.price_variant_id),e.price_data&&"object"==typeof e.price_data){const t=e.price_data;"number"==typeof t.unit_price&&Number.isFinite(t.unit_price)&&(a.price_data={unit_price:t.unit_price})}Array.isArray(e.addons)&&(a.addons=e.addons),e.custom_fields&&"object"==typeof e.custom_fields&&!Array.isArray(e.custom_fields)&&(a.custom_fields=e.custom_fields),t.push(a)}return t}function Ua(){return fa(Na("meta"))}function ja(){const e=fa(Na("coupon"));return"string"!=typeof e?null:Pa(e)}function Za(e){const t=Pa(e);return t?(ma(Na("coupon"),t),t):(ha(Na("coupon")),null)}function Da(){ha(Na("coupon"))}function La(e){ma(Na("cart"),e);const t=Date.now(),n=Ua(),r={created_at:n?.created_at??t,last_modified:t,version:(n?.version??0)+1,checksum:Aa(e)};ma(Na("meta"),r),0===e.length&&Da()}function qa(e,t){ma(Na("cart"),e);const n=Date.now(),r=t??Ua(),o={created_at:r?.created_at??n,last_modified:n,version:r?.version??1,checksum:Aa(e)};ma(Na("meta"),o)}function Ma(){return Ra(fa(Na("cart")))}function Fa(){ha(Na("cart")),ha(Na("meta")),Da()}function Ba(){const e=Ma();ma(Na("cartBackup"),e);const t=ja();t?ma(Na("couponBackup"),t):ha(Na("couponBackup"));const n=Ua();if(n)ma(Na("metaBackup"),n);else{const t=Date.now();ma(Na("metaBackup"),{created_at:t,last_modified:t,version:1,checksum:Aa(e)})}}function Ja(){const e=Ma(),t=Ua(),n=Aa(e);return t?t.checksum===n:(qa(e,null),!0)}var Ya="shoppex:affiliate_code:v1";function Wa(){return Date.now()}function Ga(e){const t=e?.trim().toLowerCase();return t||null}function Va(e,t=30){const n=Ga(e);return n?(function(e){if("undefined"!=typeof window)try{window.localStorage.setItem(Ya,JSON.stringify(e))}catch{}}({code:n,expiresAt:Wa()+(r=t,24*Math.max(1,r)*60*60*1e3)}),n):(Ka(),null);var r}function Ka(){if("undefined"!=typeof window)try{window.localStorage.removeItem(Ya)}catch{}}function Ha(){const e=function(){if("undefined"==typeof window)return null;try{const e=window.localStorage.getItem(Ya);if(!e)return null;const t=JSON.parse(e);return t&&"string"==typeof t.code&&"number"==typeof t.expiresAt?t:null}catch{return null}}();return e?e.expiresAt<=Wa()?(Ka(),null):Ga(e.code):null}async function Xa(e){const t=Ga(e);if(!t)return{success:!1,data:{valid:!1,affiliate_code:null,discount_active:!1,discount_percent:0},message:"Affiliate code is required"};const n=await za("/v1/storefront/affiliates/resolve",{shop_slug:qi().storeSlug,code:t},{retries:0});if(!n.success)return n;if(!n.data?.valid||!n.data.affiliate_code){const e=!1===n.data?.program_enabled;return{success:!1,data:{valid:!1,...void 0!==n.data?.program_enabled?{program_enabled:n.data.program_enabled}:{},affiliate_code:null,discount_active:!1,discount_percent:0},message:n.message??(e?"Affiliate program is disabled for this shop.":"Invalid affiliate code.")}}return{success:!0,data:{valid:!0,...void 0!==n.data.program_enabled?{program_enabled:n.data.program_enabled}:{},affiliate_code:Ga(n.data.affiliate_code),discount_active:Boolean(n.data.discount_active),discount_percent:Number(n.data.discount_percent??0)},...n.message?{message:n.message}:{}}}function Qa(e){const t=e?.trim();return t||null}function es(e){const t=e?.trim();return t||null}function ts(e){const t=e?.trim()??"";if(!t)return"Checkout failed. Please try again.";if(ns(t))return"Your cart is outdated. Please add the products again.";const n=t.match(/^HTTP\s+(\d{3})(?::\s*(.*))?$/i);if(n){const e=Number(n[1]),t=n[2]?.trim();return t&&t.length>0?`Checkout failed: ${t}`:e>=500?"Checkout is temporarily unavailable. Please try again.":400===e?"Checkout failed. Please check your details and try again.":401===e||403===e?"Checkout is currently unavailable for this request.":"Checkout failed. Please try again."}return/^internal server error$/i.test(t)?"Checkout is temporarily unavailable. Please try again.":t}function ns(e){const t=e?.trim().toLowerCase()??"";return!!t&&(t.includes("product not found")||t.includes("product not available")||t.includes("products are no longer available")||t.includes("outdated product"))}function rs(e,t,n){const r=t?.trim();if(!r)return null;try{const t=new URL(e),o=new URL(r);if(t.origin!==o.origin)return null;const i=t.pathname.replace(/\/+$/,""),a=`${o.pathname.replace(/\/+$/,"")}/invoice/`.replace(/\/{2,}/g,"/");if(!i.startsWith(a))return null;const s=i.slice(a.length);if(!s||s.includes("/"))return null;if(n){const e=n.trim();if(!e||decodeURIComponent(s)!==e)return null}return t.toString()}catch{return null}}function os(e,t){const n=es(t.email),r="string"==typeof t.locale?t.locale.trim():"";if(!n&&!r)return e;try{const t=new URL(e);if(r&&t.searchParams.set("locale",r),n){const e=new URLSearchParams(t.hash.startsWith("#")?t.hash.slice(1):t.hash);e.set("shoppex_prefill_email",n),t.hash=e.toString()}return t.toString()}catch{return e}}function is(e,t){const n=e?.invoice,r=e?.invoiceId?.trim()||e?.invoice_id?.trim()||e?.uniqid?.trim()||n?.invoiceId?.trim()||n?.invoice_id?.trim()||n?.uniqid?.trim();let o=e?.checkoutUrl?.trim()||e?.checkout_url?.trim()||e?.url_branded?.trim()||e?.url?.trim()||n?.checkoutUrl?.trim()||n?.checkout_url?.trim()||n?.url_branded?.trim()||n?.url?.trim();return!o&&r&&n&&(o=function(e,t){const n=e?.trim();if(!n)return null;try{const e=new URL(n);return e.pathname=`${e.pathname.replace(/\/+$/,"")}/invoice/${encodeURIComponent(t)}`.replace(/\/{2,}/g,"/"),e.search="",e.hash="",e.toString()}catch{return null}}(t,r)??void 0),r&&o?{invoiceId:r,checkoutUrl:o,rewards:e?.rewards??n?.rewards??null}:null}function as(e,t){return"string"==typeof e?{...t,coupon:e}:e??t??{}}function ss(e){const t=e.affiliateCode??e.referralCode;return"string"==typeof t&&t.trim().length>0?t.trim().toLowerCase():Ha()}function cs(e){const t=e=>{const t=e?.trim();return t?"default"===t.toLowerCase()?null:t:null};return e.map(e=>({product_id:e.product_id,variant_id:t(e.variant_id),quantity:e.quantity,addons:e.addons?.map(e=>({id:e.id,quantity:e.quantity??1})),custom_fields:e.custom_fields,price_variant_id:e.price_variant_id||null}))}function us(e){if("number"==typeof e&&Number.isFinite(e))return e;if("string"==typeof e&&""!==e.trim()){const t=Number(e);return Number.isFinite(t)?t:null}return null}function ls(...e){for(const t of e)if("string"==typeof t&&t.length>0)return t}function ds(e,t){const n=e,r=us(n.rating)??us(n.score)??0,o=ls(n.comment,n.message),i=ls(n.author,n.customer_name),a=n.created_at??n.createdAt,s="number"==typeof a||"string"==typeof a?String(a):"",c=ls(n.id,n.uniqid)??`review:${s||t}`;return{...n,id:c,rating:r,...o?{comment:o}:{},...i?{author:i}:{},created_at:s}}async function ps(e){const t=qi(),n=new URLSearchParams;n.set("limit",String(100)),"string"==typeof e&&e.trim().length>0&&n.set("cursor",e);const r=`?${n.toString()}`,o=await ka(`${da("/v1/storefront/feedback/shop/:storeSlug",{storeSlug:t.storeSlug})}${r}`,{cache:{key:`reviews:${t.storeSlug}:${e??"start"}:100`,ttl:12e4,staleWhileRevalidate:!0}});return o.success&&o.data?{success:!0,data:o.data}:{success:!1,message:o.message}}function fs(e){const t=e.trim();return t||null}var ms=3e5;var hs=3e5;async function gs(){const e=qi(),t=await ka(da("/v1/storefront/shops/name/:storeSlug/menus",{storeSlug:e.storeSlug}),{cache:{key:`menus:${e.storeSlug}`,ttl:hs,staleWhileRevalidate:!0}});return t.success&&t.data?{success:!0,data:t.data.menus}:{success:!1,message:t.message}}async function ys(e){const t=qi(),n=await ka(da("/v1/storefront/shops/name/:storeSlug/menus/:title",{storeSlug:t.storeSlug,title:e}),{cache:{key:`menu:${t.storeSlug}:${e}`,ttl:hs,staleWhileRevalidate:!0}});return n.success&&n.data?{success:!0,data:n.data.menu}:{success:!1,message:n.message}}async function _s(e){return ys(e)}async function vs(e){const t=qi(),n=await ka(da("/v1/storefront/shops/name/:storeSlug/menus/:title",{storeSlug:t.storeSlug,title:e}),{cache:{key:`menu-slot:${t.storeSlug}:${e}`,ttl:hs,staleWhileRevalidate:!0}});return n.success&&n.data?{success:!0,data:n.data.menu}:{success:!1,message:n.message}}function bs(e){return function(e){const t=g[e];return[t.title,...t.aliases]}(e)}async function ws(e,t){if(!Mi())return;if("undefined"==typeof document)return;const n=qi(),r=ga(n.storeSlug);try{const o=da("/v1/storefront/shops/:storeSlug/ping",{storeSlug:n.storeSlug});await fetch(`${n.apiBaseUrl}${o}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({referer:document.referrer||void 0,cart_value:e??void 0,item_count:t??void 0,connection_id:r??void 0})})}catch{}}async function Ss(){if(!Mi())return{success:!1,message:"SDK not initialized"};const e=qi(),t=Bi();return ka(t?da("/v1/storefront/shops/id/:id/online-users",{id:t}):da("/v1/storefront/shops/:storeSlug/online-users",{storeSlug:e.storeSlug}),{cache:!1,retries:0,timeout:5e3})}async function ks(){if(!Mi())return{success:!1,message:"SDK not initialized"};if("undefined"==typeof document)return{success:!1,message:"Document is not available"};const e=qi(),t=Bi();return za(t?da("/v1/storefront/shops/id/:id/ping",{id:t}):da("/v1/storefront/shops/:storeSlug/ping",{storeSlug:e.storeSlug}),{referer:document.referrer||void 0,connection_id:ga(e.storeSlug)??void 0},{retries:0,timeout:5e3})}function zs(e,t){const n=qi();return new Intl.NumberFormat(t??n.locale??"en-US",{style:"currency",currency:e??n.currency??"USD"})}function Os(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function xs(e){return Os(e)&&Os(e.theme)?{...e,version:"number"==typeof e.version?e.version:0,revision:"number"==typeof e.revision?e.revision:0,theme:{...e.theme,content:Os(e.theme.content)?e.theme.content:{},layout:Os(e.theme.layout)?e.theme.layout:{},style_slots:Os(e.theme.style_slots)?e.theme.style_slots:{},...Array.isArray(e.theme.pages)?{pages:e.theme.pages}:{},...Os(e.theme.terms)?{terms:e.theme.terms}:{}}}:null}async function $s(e){const t=await ka(da("/v1/storefront/themes/builder/published/:shopSlug",{shopSlug:e}));return t.success&&t.data?Os(n=t.data)?{settings:Os(n.settings)?n.settings:{},builder_settings:xs(n.builder_settings),content:Os(n.content)?n.content:{},style_slots:Os(n.style_slots)?n.style_slots:{}}:null:null;var n}async function Es(e){const t=await $s(e);return t?t.settings:null}function Ts(e){const t={};for(const[n,r]of Object.entries(e.settings)){t[n]={};for(const[e,o]of Object.entries(r))t[n][e]=o.default}return t}function Is(e,t){const n={...e};for(const[r,o]of Object.entries(t))o&&(n[r]={...n[r],...o});return n}var Ns={init:function(e,t){"string"==typeof e?Li(e,t):Li(e.storeId,e)},isInitialized:Mi,getConfig:qi,client:function(e){const t=qi().apiBaseUrl??"https://api.shoppex.io";if(Ui&&ji===t&&!e)return Ui;const n=function(e,t){return a({baseUrl:e,headers:t?{Authorization:`Bearer ${t}`}:void 0})}(t,e);return e||(Ui=n,ji=t),n},getStore:xa,getStorefront:async function(e){const t=qi(),n=new URLSearchParams;Number.isFinite(e?.productsLimit)&&n.set("products_limit",String(Math.max(1,Math.floor(e?.productsLimit??0)))),"string"==typeof e?.productsCursor&&e.productsCursor.trim().length>0&&n.set("products_cursor",e.productsCursor);const r=n.size>0?`?${n.toString()}`:"",o=await ka(`${da("/v1/storefront/shops/name/:storeSlug",{storeSlug:t.storeSlug})}${r}`,{cache:{key:`storefront:${t.storeSlug}:${e?.productsLimit??"full"}:${e?.productsCursor??"start"}`,ttl:Oa,staleWhileRevalidate:!0}});return o.success&&o.data?(o.data.shop?.id&&Fi(o.data.shop.id),{success:!0,data:{shop:o.data.shop,products:o.data.products??[],products_pagination:o.data.products_pagination??null,groups:o.data.groups??[],items:o.data.items??[],categories:o.data.categories??[],addons:o.data.addons??{items:[]}}}):{success:!1,message:o.message}},getStoreLogoUrl:async function(){const e=await xa();return e.success&&e.data?.logo?e.data.logo:null},getStoreBannerUrl:async function(){const e=await xa();return e.success&&e.data?.banner?e.data.banner:null},resolveStoreByDomain:async function(e,t){const n=e??("undefined"!=typeof window?window.location.hostname:"");if(!n)return{success:!1,message:"Domain is required to resolve store"};const r=n.replace(/^https?:\/\//,"").split("/")[0].trim(),o=t??(Mi()?qi().apiBaseUrl:"https://api.shoppex.io"),i=await ka(da("/v1/storefront/shops/domain/:domain",{domain:r}),{baseUrl:o,cache:{key:`store:domain:${r}`,ttl:Oa,staleWhileRevalidate:!0}});return i.success&&i.data?.shop?(i.data.shop.id&&Fi(i.data.shop.id),{success:!0,data:i.data.shop}):{success:!1,message:i.message??"Failed to resolve store"}},getProducts:Ta,getStorefrontProductsPage:async function(e){const t=qi(),n=new URLSearchParams;"string"==typeof e?.cursor&&e.cursor.trim().length>0&&n.set("cursor",e.cursor),Number.isFinite(e?.limit)&&n.set("limit",String(Math.max(1,Math.floor(e?.limit??0)))),"string"==typeof e?.sort&&e.sort.trim().length>0&&n.set("sort",e.sort.trim()),"string"==typeof e?.category&&e.category.trim().length>0&&n.set("category",e.category.trim()),!0===e?.hideOutOfStock&&n.set("hide_out_of_stock","true");const r=n.size>0?`?${n.toString()}`:"",o=await ka(`${da("/v1/storefront/products/shop/:storeSlug",{storeSlug:t.storeSlug})}${r}`,{cache:{key:`products:page:${t.storeSlug}:${e?.limit??"default"}:${e?.cursor??"start"}:${e?.sort??"featured"}:${i=e?.category,void 0===i?"category:unset":null===i?"category:null":`category:${i}`}:${!0===e?.hideOutOfStock?"in-stock":"all-stock"}`,ttl:$a,staleWhileRevalidate:!0}});var i;return o.success&&o.data?{success:!0,data:{products:o.data.products.map(Ea),pagination:o.data.pagination??null}}:{success:!1,message:o.message}},getProduct:async function(e){let t=Bi();if(!t){const e=await xa();t=e.success?e.data?.id??null:null}const n=t?`?slug_shop_id=${encodeURIComponent(t)}`:"",r=await ka(`${da("/v1/storefront/products/unique/:idOrSlug",{idOrSlug:e})}${n}`,{cache:{key:`product:${e}:${t??"no-shop"}`,ttl:$a,staleWhileRevalidate:!0}});return r.success&&r.data?.product?{success:!0,data:Ea(r.data.product)}:{success:!1,message:r.message}},getCategories:async function(){const e=await Ta();if(!e.success||!e.data)return{success:!1,message:e.message};const t=/* @__PURE__ */new Set;for(const n of e.data)if(n.categories)for(const e of n.categories)"string"==typeof e?t.add(e):e&&"object"==typeof e&&"uniqid"in e&&t.add(e.uniqid);return{success:!0,data:Array.from(t)}},getCart:Ma,getCartItemCount:function(){return Ma().reduce((e,t)=>e+t.quantity,0)},getCartCoupon:ja,setCartCoupon:Za,clearCartCoupon:Da,addToCart:function(e,t,n=1,r){if(!e||!t)throw new o("product_id and variant_id are required");const i=Ca(n);if(i<1)throw new o("quantity must be at least 1");const a=Ma(),s=a.findIndex(n=>n.product_id===e&&n.variant_id===t);s>=0?(a[s].quantity+=i,r?.addons&&(a[s].addons=r.addons),r?.custom_fields&&(a[s].custom_fields=r.custom_fields),r?.price_variant_id&&(a[s].price_variant_id=r.price_variant_id),r?.price_data&&(a[s].price_data=r.price_data)):a.push({product_id:e,variant_id:t,quantity:i,addons:r?.addons,custom_fields:r?.custom_fields,price_variant_id:r?.price_variant_id,price_data:r?.price_data}),La(a)},setCartItem:function(e,t,n=1,r){if(!e||!t)throw new o("product_id and variant_id are required");const i=Ca(n);if(i<1)throw new o("quantity must be at least 1");const a=Ma(),s=a.findIndex(n=>n.product_id===e&&n.variant_id===t);s>=0?(a[s].quantity=i,void 0!==r?.addons&&(a[s].addons=r.addons),void 0!==r?.custom_fields&&(a[s].custom_fields=r.custom_fields),void 0!==r?.price_variant_id&&(a[s].price_variant_id=r.price_variant_id),void 0!==r?.price_data&&(a[s].price_data=r.price_data)):a.push({product_id:e,variant_id:t,quantity:i,addons:r?.addons,custom_fields:r?.custom_fields,price_variant_id:r?.price_variant_id,price_data:r?.price_data}),La(a)},updateCartItem:function(e,t,n){const r=Ma(),i=r.findIndex(n=>n.product_id===e&&n.variant_id===t);if(i<0)throw new o("Item not found in cart");if(void 0!==n.quantity){const e=Ca(n.quantity);if(e<1)return r.splice(i,1),void La(r);r[i].quantity=e}void 0!==n.addons&&(r[i].addons=n.addons),void 0!==n.custom_fields&&(r[i].custom_fields=n.custom_fields),void 0!==n.price_variant_id&&(r[i].price_variant_id=n.price_variant_id),void 0!==n.price_data&&(r[i].price_data=n.price_data),La(r)},removeFromCart:function(e,t){La(Ma().filter(n=>!(n.product_id===e&&n.variant_id===t)))},clearCart:Fa,createCartBackup:Ba,restoreCartFromBackup:function(){const e=Ra(fa(Na("cartBackup"))),t=fa(Na("metaBackup")),n=fa(Na("couponBackup"));return!!(e&&e.length>0)&&(qa(e,t),"string"==typeof n?Za(n):Da(),!0)},mergeBaskets:function(e){const t=Ma();for(const n of e){const e="string"==typeof n.product_id?n.product_id.trim():"",r="string"==typeof n.variant_id?n.variant_id.trim():"";if(!e||!r)continue;let o;try{o=Ca(n.quantity)}catch{continue}if(o<1)continue;const i=t.findIndex(t=>t.product_id===e&&t.variant_id===r);i>=0?t[i].quantity=Math.max(t[i].quantity,o):t.push({...n,product_id:e,variant_id:r,quantity:o})}return La(t),t},moveBasketItem:function(e,t,n,r){const i=Ma(),a=i.findIndex(n=>n.product_id===e&&n.variant_id===t);if(a<0)throw new o("Item not found in cart");const[s]=i.splice(a,1),c=i.findIndex(e=>e.product_id===n&&e.variant_id===r);c>=0?i[c].quantity+=s.quantity:i.push({...s,product_id:n,variant_id:r}),La(i)},getCartStats:function(){const e=Ma(),t=Ja(),n=Ua(),r=fa(Na("cartBackup"))??[],o=e.length>0&&e.every(e=>"number"==typeof e.price_data?.unit_price),i=e.reduce((e,t)=>e+(t.price_data?.unit_price??0)*t.quantity,0);return{item_count:e.length,total_quantity:e.reduce((e,t)=>e+t.quantity,0),last_modified:n?.last_modified??0,version:n?.version??0,has_backup:r.length>0,integrity_valid:t,total_price:i,total_price_is_estimate:e.length>0&&!o}},validateCartIntegrity:Ja,quoteCart:async function(e){const t=function(e){const t=qi(),n=Pa(e)??ja()??void 0;return{store_slug:t.storeSlug,items:Ma(),coupon:n}}(e);return za("/v1/storefront/cart/quote",{shop_slug:t.store_slug,cart:t.items,coupon:t.coupon})},checkout:async function(e,t){const n=as(e,t),{autoRedirect:r=!0,email:o,coupon:i}=n,a=void 0===i?ja():Qa(i),s=es(o),c=ss(n),u=Ma();if(0===u.length)return{success:!1,message:"Cart is empty"};Ba();const l=qi();let d=await za("/v1/storefront/invoices/from-cart",{shop_slug:l.storeSlug,cart:cs(u),email:s,coupon:a,affiliate_code:c},{retries:0});if(!d.success||!d.data)return ns(d.message)&&Fa(),{success:!1,message:ts(d.message)};const p=is(d.data,l.checkoutBaseUrl);if(!p)return{success:!1,message:"Failed to create invoice"};const{invoiceId:f}=p,m=rs(p.checkoutUrl,l.checkoutBaseUrl,f);if(!m)return{success:!1,message:"Failed to create invoice"};const h=os(m,{email:s,locale:n.locale});return r&&"undefined"!=typeof window&&window?.location&&(window.location.href=h,Fa()),{success:!0,redirectUrl:h,invoiceId:f,rewards:p.rewards}},buildCheckoutUrl:async function(e,t){const n=as(e,t),{email:r,coupon:o}=n,i=void 0===o?ja():Qa(o),a=es(r),s=ss(n),c=Ma();if(0===c.length)throw new Error("Cart is empty");const u=qi();let l=await za("/v1/storefront/invoices/from-cart",{shop_slug:u.storeSlug,cart:cs(c),email:a,coupon:i,affiliate_code:s},{retries:0});if(!l.success||!l.data)throw ns(l.message)&&Fa(),new Error(ts(l.message));const d=is(l.data,u.checkoutBaseUrl);if(!d)throw new Error("Failed to create invoice");const p=rs(d.checkoutUrl,u.checkoutBaseUrl,d.invoiceId);if(!p)throw new Error("Failed to create invoice");return os(p,{email:a,locale:n.locale})},buildCheckoutUrlSync:function(){throw new Error("buildCheckoutUrlSync is deprecated. Use buildCheckoutUrl (async) instead.")},captureAffiliateFromUrl:async function(e="ref"){if("undefined"==typeof window)return null;let t=null;try{const n=new URL(window.location.href).searchParams.get(e);t=n?n.trim():null}catch{t=null}if(t=Ga(t),!t)return null;if(Va(t),Mi())try{const e=await za("/v1/storefront/affiliates/attribution",{shop_slug:qi().storeSlug,code:t},{retries:0});return e.success&&e.data?.accepted&&e.data?.affiliate_code?(Va(e.data.affiliate_code),e.data.affiliate_code):(Ka(),null)}catch{return t}return t},validateAffiliateCode:Xa,applyAffiliateCode:async function(e){const t=await Xa(e);return t.success&&t.data?.affiliate_code&&Va(t.data.affiliate_code),t},getAffiliateCode:Ha,setAffiliateCode:Va,clearAffiliateCode:Ka,validateCoupon:async function(e,t){const n=e.trim();if(!n)return{success:!1,message:"Coupon code is required"};const r={code:n},o="string"==typeof t?t:t?.productId,i="string"==typeof t?void 0:t?.variantId;if(i&&!o)return{success:!1,message:"productId is required when variantId is provided"};if(o)r.product_id=o,i&&(r.variant_id=i);else{const e=Ma();if(0===e.length)return{success:!1,message:"Cart is empty"};const t=await async function(){const e=Bi();if(e)return e;const t=await xa();return t.success&&t.data?.id?t.data.id:null}();if(!t)return{success:!1,message:"Failed to resolve store"};r.cart=JSON.stringify({shop_id:t,products:e.map(e=>({uniqid:e.product_id,quantity:e.quantity,variant_id:e.variant_id,price_variant_id:e.price_variant_id,addons:e.addons?.map(e=>({id:e.id,quantity:e.quantity??1}))}))})}return await za("/v1/storefront/coupons/check",r)},getShopReviews:async function(){const e=[],t=/* @__PURE__ */new Set;let n=null;for(;;){const r=await ps(n);if(!r.success||!r.data)return{success:!1,message:r.message,data:[]};e.push(...(r.data.feedback??[]).map((t,n)=>ds(t,e.length+n)));const o=r.data.pagination;if(!o?.has_more||!o.next_cursor)break;if(t.has(o.next_cursor))break;t.add(o.next_cursor),n=o.next_cursor}return{success:!0,data:e}},searchProducts:async function(e,t){if(!Mi())return{success:!1,message:"SDK not initialized"};const n=e.trim().toLowerCase();if(!n)return{success:!0,data:[]};const r=await Ta();if(!r.success||!r.data)return{success:!1,message:r.message??"Failed to fetch products"};let o=r.data.filter(e=>e.title.toLowerCase().includes(n)||(e.description?.toLowerCase().includes(n)??!1));return t?.hideOutOfStock&&(o=o.filter(e=>Xi(e))),{success:!0,data:o}},getInvoice:async function(e){const t=fs(e);if(!t)return{success:!1,message:"Invoice ID is required"};const n=await ka(da("/v1/storefront/invoices/unique/:invoiceId",{invoiceId:t}));return n.success?n.data?.invoice?{success:!0,data:n.data.invoice}:{success:!1,message:"Invalid invoice response"}:{success:!1,message:n.message}},getInvoiceStatus:async function(e){const t=fs(e);if(!t)return{success:!1,message:"Invoice ID is required"};const n=await ka(da("/v1/storefront/invoices/status/:invoiceId",{invoiceId:t}));return n.success?n.data?.invoice?.status?{success:!0,data:{status:n.data.invoice.status}}:{success:!1,message:"Invalid invoice status response"}:{success:!1,message:n.message}},getPages:async function(){const e=qi(),t=await ka(da("/v1/storefront/shops/name/:storeSlug/pages",{storeSlug:e.storeSlug}),{cache:{key:`pages:${e.storeSlug}`,ttl:ms,staleWhileRevalidate:!0}});return t.success&&t.data?{success:!0,data:t.data.pages}:{success:!1,message:t.message}},getPage:async function(e){const t=qi(),n=await ka(da("/v1/storefront/shops/name/:storeSlug/pages/:slug",{storeSlug:t.storeSlug,slug:e}),{cache:{key:`page:${t.storeSlug}:${e}`,ttl:ms,staleWhileRevalidate:!0}});return n.success&&n.data?{success:!0,data:n.data.page}:{success:!1,message:n.message}},getMenus:gs,getMenu:_s,getMenuBySlot:vs,getMenuByTitle:ys,getMenuSlotTitles:bs,trackPageView:ws,getStorefrontOnlineUsers:Ss,touchStorefrontPresence:ks,createFormatter:zs,formatPrice:function(e,t,n){const r="string"==typeof e?parseFloat(e):e;return Number.isNaN(r)?zs(t,n).format(0):zs(t,n).format(r)},clearCache:function(){ia.clear(),aa.clear()},invalidateCache:function(e){for(const t of ia.keys())(t===e||t.startsWith(e))&&ia.delete(t)},getCacheStats:function(){return{hits:sa.hits,misses:sa.misses,pendingRequests:aa.size,entries:ia.size}},fetchPublishedBuilderSettings:$s,fetchPublishedThemeSettings:Es,resolveDefaults:Ts,mergeSettings:Is};if("undefined"!=typeof window){const e=window;e.shoppex?.isInitialized?.()||(e.shoppex=Ns)}export{o as CartError,n as NetworkError,t as NotInitializedError,e as ShoppexError,r as ValidationError,na as buildStorefrontContactMessage,Gi as buildStorefrontCustomFieldPayload,Ns as default,Ns as shoppex,$s as fetchPublishedBuilderSettings,Es as fetchPublishedThemeSettings,_s as getMenu,vs as getMenuBySlot,ys as getMenuByTitle,bs as getMenuSlotTitles,gs as getMenus,Ss as getStorefrontOnlineUsers,Xi as isProductInStock,Hi as isProductOutOfStock,Yi as isStorefrontCheckboxCustomFieldValueChecked,Qi as isVariantOutOfStock,Is as mergeSettings,Ji as normalizeStorefrontCustomFields,Ts as resolveDefaults,Ki as resolveDisplayStock,ta as resolveStorefrontApiBaseUrl,oa as resolveStorefrontSocialLinks,ea as resolveVariantStockValue,ra as submitStorefrontContactTicket,ks as touchStorefrontPresence,ws as trackPageView,Wi as validateStorefrontCustomFieldValue};
|
|
3
3
|
//# sourceMappingURL=shoppex.esm.js.map
|