@session-services/web-elements 0.1.17 → 0.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/README.md +4 -2
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/session-services-elements.cjs.js +1 -1
  4. package/dist/cjs/session-services-formatted-text.cjs.entry.js +1759 -0
  5. package/dist/cjs/session-services-ticketing.cjs.entry.js +2071 -834
  6. package/dist/collection/collection-manifest.json +1 -0
  7. package/dist/collection/components/session-services-formatted-text/session-services-formatted-text.css +135 -0
  8. package/dist/collection/components/session-services-formatted-text/session-services-formatted-text.js +162 -0
  9. package/dist/collection/components/session-services-ticketing/session-services-ticketing.css +175 -3
  10. package/dist/collection/components/session-services-ticketing/session-services-ticketing.js +50 -9
  11. package/dist/collection/index.js +1 -11
  12. package/dist/components/session-services-formatted-text.d.ts +11 -0
  13. package/dist/components/session-services-formatted-text.js +1786 -0
  14. package/dist/components/session-services-ticketing.js +2073 -835
  15. package/dist/esm/loader.js +1 -1
  16. package/dist/esm/session-services-elements.js +1 -1
  17. package/dist/esm/session-services-formatted-text.entry.js +1757 -0
  18. package/dist/esm/session-services-ticketing.entry.js +2071 -834
  19. package/dist/session-services-elements/p-62a8e2cc.entry.js +1 -0
  20. package/dist/session-services-elements/p-a2404c46.entry.js +1 -0
  21. package/dist/session-services-elements/session-services-elements.esm.js +1 -1
  22. package/dist/types/components/session-services-formatted-text/session-services-formatted-text.d.ts +19 -0
  23. package/dist/types/components/session-services-ticketing/session-services-ticketing.d.ts +6 -0
  24. package/dist/types/components.d.ts +29 -0
  25. package/dist/types/index.d.ts +1 -0
  26. package/package.json +10 -7
  27. package/dist/session-services-elements/p-448028d4.entry.js +0 -1
@@ -1 +0,0 @@
1
- import{r as e,c as t,h as n,H as i}from"./p-CeXOR4aK.js";function s(e,t,n){function i(n,i){if(n._zod||Object.defineProperty(n,"_zod",{value:{def:i,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,i);const s=o.prototype,r=Object.keys(s);for(let e=0;e<r.length;e++){const t=r[e];t in n||(n[t]=s[t].bind(n))}}const s=n?.Parent??Object;class r extends s{}function o(e){var t;const s=n?.Parent?new r:this;i(s,e),(t=s._zod).deferred??(t.deferred=[]);for(const e of s._zod.deferred)e();return s}return Object.defineProperty(r,"name",{value:e}),Object.defineProperty(o,"init",{value:i}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>!!(n?.Parent&&t instanceof n.Parent)||t?._zod?.traits?.has(e)}),Object.defineProperty(o,"name",{value:e}),o}class r extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class o extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}}const a={};function c(){return a}function d(e,t){return"bigint"==typeof t?t.toString():t}function p(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function l(e){return null==e}function u(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}const m=Symbol("evaluating");function f(e,t,n){let i;Object.defineProperty(e,t,{get(){if(i!==m)return void 0===i&&(i=m,i=n()),i},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function h(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function g(...e){const t={};for(const n of e){const e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function v(e){return JSON.stringify(e)}const y="captureStackTrace"in Error?Error.captureStackTrace:()=>{};function b(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}const w=p((()=>{if("undefined"!=typeof navigator&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}}));function I(e){if(!1===b(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!==b(n)&&!1!==Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")}function k(e){return I(e)?{...e}:Array.isArray(e)?[...e]:e}const x=new Set(["string","number","symbol"]);function A(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function E(e,t,n){const i=new e._zod.constr(t??e._zod.def);return t&&!n?.parent||(i._zod.parent=e),i}function D(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}const T={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 S(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 _(e,t){return t.map((t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t}))}function P(e){return"string"==typeof e?e:e?.message}function R(e,t,n){const i={...e,path:e.path??[]};if(!e.message){const s=P(e.inst?._zod.def?.error?.(e))??P(t?.error?.(e))??P(n.customError?.(e))??P(n.localeError?.(e))??"Invalid input";i.message=s}return delete i.inst,delete i.continue,t?.reportInput||delete i.input,i}function C(e){return Array.isArray(e)?"array":"string"==typeof e?"string":"unknown"}function U(...e){const[t,n,i]=e;return"string"==typeof t?{message:t,code:"custom",input:n,inst:i}:{...t}}const N=(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,d,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},O=s("$ZodError",N),q=s("$ZodError",N,{Parent:Error}),M=e=>(t,n,i,s)=>{const o=i?Object.assign(i,{async:!1}):{async:!1},a=t._zod.run({value:n,issues:[]},o);if(a instanceof Promise)throw new r;if(a.issues.length){const t=new(s?.Err??e)(a.issues.map((e=>R(e,o,c()))));throw y(t,s?.callee),t}return a.value},j=e=>async(t,n,i,s)=>{const r=i?Object.assign(i,{async:!0}):{async:!0};let o=t._zod.run({value:n,issues:[]},r);if(o instanceof Promise&&(o=await o),o.issues.length){const t=new(s?.Err??e)(o.issues.map((e=>R(e,r,c()))));throw y(t,s?.callee),t}return o.value},L=e=>(t,n,i)=>{const s=i?{...i,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},s);if(o instanceof Promise)throw new r;return o.issues.length?{success:!1,error:new(e??O)(o.issues.map((e=>R(e,s,c()))))}:{success:!0,data:o.value}},z=L(q),$=e=>async(t,n,i)=>{const s=i?Object.assign(i,{async:!0}):{async:!0};let r=t._zod.run({value:n,issues:[]},s);return r instanceof Promise&&(r=await r),r.issues.length?{success:!1,error:new e(r.issues.map((e=>R(e,s,c()))))}:{success:!0,data:r.value}},G=$(q),Y=e=>(t,n,i)=>{const s=i?Object.assign(i,{direction:"backward"}):{direction:"backward"};return M(e)(t,n,s)},F=e=>(t,n,i)=>M(e)(t,n,i),Z=e=>async(t,n,i)=>{const s=i?Object.assign(i,{direction:"backward"}):{direction:"backward"};return j(e)(t,n,s)},V=e=>async(t,n,i)=>j(e)(t,n,i),W=e=>(t,n,i)=>{const s=i?Object.assign(i,{direction:"backward"}):{direction:"backward"};return L(e)(t,n,s)},B=e=>(t,n,i)=>L(e)(t,n,i),H=e=>async(t,n,i)=>{const s=i?Object.assign(i,{direction:"backward"}):{direction:"backward"};return $(e)(t,n,s)},K=e=>async(t,n,i)=>$(e)(t,n,i),J=/^[cC][^\s-]{8,}$/,X=/^[0-9a-z]+$/,Q=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,ee=/^[0-9a-vA-V]{20}$/,te=/^[A-Za-z0-9]{27}$/,ne=/^[a-zA-Z0-9_-]{21}$/,ie=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,se=/^([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})$/,re=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)$/,oe=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,ae=/^(?:(?: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])$/,ce=/^(([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}|:))$/,de=/^((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])$/,pe=/^(([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])$/,le=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,ue=/^[A-Za-z0-9_-]*$/,me=/^\+(?:[0-9]){6,14}[0-9]$/,fe="(?:(?:\\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])))",he=new RegExp(`^${fe}$`);function ge(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+)?)?`}const ve=/^-?\d+$/,ye=/^-?\d+(?:\.\d+)?/,be=/^(?:true|false)$/i,we=/^null$/i,Ie=/^[^A-Z]*$/,ke=/^[^a-z]*$/,xe=s("$ZodCheck",((e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])})),Ae={number:"number",bigint:"bigint",object:"date"},Ee=s("$ZodCheckLessThan",((e,t)=>{xe.init(e,t);const n=Ae[typeof t.value];e._zod.onattach.push((e=>{const n=e._zod.bag;t.value<((t.inclusive?n.maximum:n.exclusiveMaximum)??Number.POSITIVE_INFINITY)&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)})),e._zod.check=i=>{(t.inclusive?i.value<=t.value:i.value<t.value)||i.issues.push({origin:n,code:"too_big",maximum:t.value,input:i.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}})),De=s("$ZodCheckGreaterThan",((e,t)=>{xe.init(e,t);const n=Ae[typeof t.value];e._zod.onattach.push((e=>{const n=e._zod.bag;t.value>((t.inclusive?n.minimum:n.exclusiveMinimum)??Number.NEGATIVE_INFINITY)&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)})),e._zod.check=i=>{(t.inclusive?i.value>=t.value:i.value>t.value)||i.issues.push({origin:n,code:"too_small",minimum:t.value,input:i.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}})),Te=s("$ZodCheckMultipleOf",((e,t)=>{xe.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.toString().split(".")[1]||"").length,i=t.toString();let s=(i.split(".")[1]||"").length;if(0===s&&/\d?e-\d?/.test(i)){const e=i.match(/\d?e-(\d?)/);e?.[1]&&(s=Number.parseInt(e[1]))}const r=n>s?n:s;return Number.parseInt(e.toFixed(r).replace(".",""))%Number.parseInt(t.toFixed(r).replace(".",""))/10**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})}})),Se=s("$ZodCheckNumberFormat",((e,t)=>{xe.init(e,t),t.format=t.format||"float64";const n=t.format?.includes("int"),i=n?"int":"number",[s,r]=T[t.format];e._zod.onattach.push((e=>{const i=e._zod.bag;i.format=t.format,i.minimum=s,i.maximum=r,n&&(i.pattern=ve)})),e._zod.check=o=>{const a=o.value;if(n){if(!Number.isInteger(a))return void o.issues.push({expected:i,format:t.format,code:"invalid_type",continue:!1,input:a,inst:e});if(!Number.isSafeInteger(a))return void o.issues.push(a>0?{input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:i,continue:!t.abort}:{input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:i,continue:!t.abort})}a<s&&o.issues.push({origin:"number",input:a,code:"too_small",minimum:s,inclusive:!0,inst:e,continue:!t.abort}),a>r&&o.issues.push({origin:"number",input:a,code:"too_big",maximum:r,inst:e})}})),_e=s("$ZodCheckMaxLength",((e,t)=>{var n;xe.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!l(t)&&void 0!==t.length}),e._zod.onattach.push((e=>{t.maximum<(e._zod.bag.maximum??Number.POSITIVE_INFINITY)&&(e._zod.bag.maximum=t.maximum)})),e._zod.check=n=>{const i=n.value;if(i.length<=t.maximum)return;const s=C(i);n.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:i,inst:e,continue:!t.abort})}})),Pe=s("$ZodCheckMinLength",((e,t)=>{var n;xe.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!l(t)&&void 0!==t.length}),e._zod.onattach.push((e=>{t.minimum>(e._zod.bag.minimum??Number.NEGATIVE_INFINITY)&&(e._zod.bag.minimum=t.minimum)})),e._zod.check=n=>{const i=n.value;if(i.length>=t.minimum)return;const s=C(i);n.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:i,inst:e,continue:!t.abort})}})),Re=s("$ZodCheckLengthEquals",((e,t)=>{var n;xe.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!l(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 i=n.value,s=i.length;if(s===t.length)return;const r=C(i);n.issues.push({origin:r,...s>t.length?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}})),Ce=s("$ZodCheckStringFormat",((e,t)=>{var n,i;xe.init(e,t),e._zod.onattach.push((e=>{const n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??(n.patterns=new Set),n.patterns.add(t.pattern))})),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,t.pattern.test(n.value)||n.issues.push({origin:"string",code:"invalid_format",format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(i=e._zod).check??(i.check=()=>{})})),Ue=s("$ZodCheckRegex",((e,t)=>{Ce.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})}})),Ne=s("$ZodCheckLowerCase",((e,t)=>{t.pattern??(t.pattern=Ie),Ce.init(e,t)})),Oe=s("$ZodCheckUpperCase",((e,t)=>{t.pattern??(t.pattern=ke),Ce.init(e,t)})),qe=s("$ZodCheckIncludes",((e,t)=>{xe.init(e,t);const n=A(t.includes),i=new RegExp("number"==typeof t.position?`^.{${t.position}}${n}`:n);t.pattern=i,e._zod.onattach.push((e=>{const t=e._zod.bag;t.patterns??(t.patterns=new Set),t.patterns.add(i)})),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})}})),Me=s("$ZodCheckStartsWith",((e,t)=>{xe.init(e,t);const n=new RegExp(`^${A(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push((e=>{const t=e._zod.bag;t.patterns??(t.patterns=new Set),t.patterns.add(n)})),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}})),je=s("$ZodCheckEndsWith",((e,t)=>{xe.init(e,t);const n=new RegExp(`.*${A(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push((e=>{const t=e._zod.bag;t.patterns??(t.patterns=new Set),t.patterns.add(n)})),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}})),Le=s("$ZodCheckOverwrite",((e,t)=>{xe.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}));class ze{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))),i=t.map((e=>e.slice(n))).map((e=>" ".repeat(2*this.indent)+e));for(const e of i)this.content.push(e)}compile(){const e=Function,t=this?.args;return new e(...t,[...(this?.content??[""]).map((e=>` ${e}`))].join("\n"))}}const $e={major:4,minor:1,patch:13},Ge=s("$ZodType",((e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=$e;const i=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&i.unshift(e);for(const t of i)for(const n of t._zod.onattach)n(e);if(0===i.length)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push((()=>{e._zod.run=e._zod.parse}));else{const t=(e,t,n)=>{let i,s=S(e);for(const o of t){if(o._zod.def.when){if(!o._zod.def.when(e))continue}else if(s)continue;const t=e.issues.length,a=o._zod.check(e);if(a instanceof Promise&&!1===n?.async)throw new r;if(i||a instanceof Promise)i=(i??Promise.resolve()).then((async()=>{await a,e.issues.length!==t&&(s||(s=S(e,t)))}));else{if(e.issues.length===t)continue;s||(s=S(e,t))}}return i?i.then((()=>e)):e},n=(n,s,o)=>{if(S(n))return n.aborted=!0,n;const a=t(s,i,o);if(a instanceof Promise){if(!1===o.async)throw new r;return a.then((t=>e._zod.parse(t,o)))}return e._zod.parse(a,o)};e._zod.run=(s,o)=>{if(o.skipChecks)return e._zod.parse(s,o);if("backward"===o.direction){const t=e._zod.parse({value:s.value,issues:[]},{...o,skipChecks:!0});return t instanceof Promise?t.then((e=>n(e,s,o))):n(t,s,o)}const a=e._zod.parse(s,o);if(a instanceof Promise){if(!1===o.async)throw new r;return a.then((e=>t(e,i,o)))}return t(a,i,o)}}e["~standard"]={validate:t=>{try{const n=z(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch(n){return G(e,t).then((e=>e.success?{value:e.data}:{issues:e.error?.issues}))}},vendor:"zod",version:1}})),Ye=s("$ZodString",((e,t)=>{var n;Ge.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=>{if(t.coerce)try{n.value=String(n.value)}catch(e){}return"string"==typeof n.value||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}})),Fe=s("$ZodStringFormat",((e,t)=>{Ce.init(e,t),Ye.init(e,t)})),Ze=s("$ZodGUID",((e,t)=>{t.pattern??(t.pattern=se),Fe.init(e,t)})),Ve=s("$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=re(e))}else t.pattern??(t.pattern=re());Fe.init(e,t)})),We=s("$ZodEmail",((e,t)=>{t.pattern??(t.pattern=oe),Fe.init(e,t)})),Be=s("$ZodURL",((e,t)=>{Fe.init(e,t),e._zod.check=n=>{try{const i=n.value.trim(),s=new URL(i);return t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(s.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(s.protocol.endsWith(":")?s.protocol.slice(0,-1):s.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(n.value=t.normalize?s.href:i)}catch(i){n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}})),He=s("$ZodEmoji",((e,t)=>{t.pattern??(t.pattern=new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),Fe.init(e,t)})),Ke=s("$ZodNanoID",((e,t)=>{t.pattern??(t.pattern=ne),Fe.init(e,t)})),Je=s("$ZodCUID",((e,t)=>{t.pattern??(t.pattern=J),Fe.init(e,t)})),Xe=s("$ZodCUID2",((e,t)=>{t.pattern??(t.pattern=X),Fe.init(e,t)})),Qe=s("$ZodULID",((e,t)=>{t.pattern??(t.pattern=Q),Fe.init(e,t)})),et=s("$ZodXID",((e,t)=>{t.pattern??(t.pattern=ee),Fe.init(e,t)})),tt=s("$ZodKSUID",((e,t)=>{t.pattern??(t.pattern=te),Fe.init(e,t)})),nt=s("$ZodISODateTime",((e,t)=>{t.pattern??(t.pattern=function(e){const t=ge({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const i=`${t}(?:${n.join("|")})`;return new RegExp(`^${fe}T(?:${i})$`)}(t)),Fe.init(e,t)})),it=s("$ZodISODate",((e,t)=>{t.pattern??(t.pattern=he),Fe.init(e,t)})),st=s("$ZodISOTime",((e,t)=>{t.pattern??(t.pattern=new RegExp(`^${ge(t)}$`)),Fe.init(e,t)})),rt=s("$ZodISODuration",((e,t)=>{t.pattern??(t.pattern=ie),Fe.init(e,t)})),ot=s("$ZodIPv4",((e,t)=>{t.pattern??(t.pattern=ae),Fe.init(e,t),e._zod.bag.format="ipv4"})),at=s("$ZodIPv6",((e,t)=>{t.pattern??(t.pattern=ce),Fe.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})}}})),ct=s("$ZodCIDRv4",((e,t)=>{t.pattern??(t.pattern=de),Fe.init(e,t)})),dt=s("$ZodCIDRv6",((e,t)=>{t.pattern??(t.pattern=pe),Fe.init(e,t),e._zod.check=n=>{const i=n.value.split("/");try{if(2!==i.length)throw new Error;const[e,t]=i;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 pt(e){if(""===e)return!0;if(e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}const lt=s("$ZodBase64",((e,t)=>{t.pattern??(t.pattern=le),Fe.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{pt(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}})),ut=s("$ZodBase64URL",((e,t)=>{t.pattern??(t.pattern=ue),Fe.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{(function(e){if(!ue.test(e))return!1;const t=e.replace(/[-_]/g,(e=>"-"===e?"+":"/"));return pt(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})}})),mt=s("$ZodE164",((e,t)=>{t.pattern??(t.pattern=me),Fe.init(e,t)})),ft=s("$ZodJWT",((e,t)=>{Fe.init(e,t),e._zod.check=n=>{(function(e,t=null){try{const n=e.split(".");if(3!==n.length)return!1;const[i]=n;if(!i)return!1;const s=JSON.parse(atob(i));return!("typ"in s&&"JWT"!==s?.typ||!s.alg||t&&(!("alg"in s)||s.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})}})),ht=s("$ZodNumber",((e,t)=>{Ge.init(e,t),e._zod.pattern=e._zod.bag.pattern??ye,e._zod.parse=n=>{if(t.coerce)try{n.value=Number(n.value)}catch(e){}const i=n.value;if("number"==typeof i&&!Number.isNaN(i)&&Number.isFinite(i))return n;const s="number"==typeof i?Number.isNaN(i)?"NaN":Number.isFinite(i)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:i,inst:e,...s?{received:s}:{}}),n}})),gt=s("$ZodNumberFormat",((e,t)=>{Se.init(e,t),ht.init(e,t)})),vt=s("$ZodBoolean",((e,t)=>{Ge.init(e,t),e._zod.pattern=be,e._zod.parse=n=>{if(t.coerce)try{n.value=Boolean(n.value)}catch(e){}const i=n.value;return"boolean"==typeof i||n.issues.push({expected:"boolean",code:"invalid_type",input:i,inst:e}),n}})),yt=s("$ZodNull",((e,t)=>{Ge.init(e,t),e._zod.pattern=we,e._zod.values=new Set([null]),e._zod.parse=t=>{const n=t.value;return null===n||t.issues.push({expected:"null",code:"invalid_type",input:n,inst:e}),t}})),bt=s("$ZodAny",((e,t)=>{Ge.init(e,t),e._zod.parse=e=>e})),wt=s("$ZodUnknown",((e,t)=>{Ge.init(e,t),e._zod.parse=e=>e})),It=s("$ZodNever",((e,t)=>{Ge.init(e,t),e._zod.parse=t=>(t.issues.push({expected:"never",code:"invalid_type",input:t.value,inst:e}),t)})),kt=s("$ZodVoid",((e,t)=>{Ge.init(e,t),e._zod.parse=t=>{const n=t.value;return void 0===n||t.issues.push({expected:"void",code:"invalid_type",input:n,inst:e}),t}}));function xt(e,t,n){e.issues.length&&t.issues.push(..._(n,e.issues)),t.value[n]=e.value}const At=s("$ZodArray",((e,t)=>{Ge.init(e,t),e._zod.parse=(n,i)=>{const s=n.value;if(!Array.isArray(s))return n.issues.push({expected:"array",code:"invalid_type",input:s,inst:e}),n;n.value=Array(s.length);const r=[];for(let e=0;e<s.length;e++){const o=t.element._zod.run({value:s[e],issues:[]},i);o instanceof Promise?r.push(o.then((t=>xt(t,n,e)))):xt(o,n,e)}return r.length?Promise.all(r).then((()=>n)):n}}));function Et(e,t,n,i){e.issues.length&&t.issues.push(..._(n,e.issues)),void 0===e.value?n in i&&(t.value[n]=void 0):t.value[n]=e.value}function Dt(e){const t=Object.keys(e.shape);for(const n of t)if(!e.shape?.[n]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${n}": expected a Zod schema`);const n=(i=e.shape,Object.keys(i).filter((e=>"optional"===i[e]._zod.optin&&"optional"===i[e]._zod.optout)));var i;return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function Tt(e,t,n,i,s,r){const o=[],a=s.keySet,c=s.catchall._zod,d=c.def.type;for(const s in t){if(a.has(s))continue;if("never"===d){o.push(s);continue}const r=c.run({value:t[s],issues:[]},i);r instanceof Promise?e.push(r.then((e=>Et(e,n,s,t)))):Et(r,n,s,t)}return o.length&&n.issues.push({code:"unrecognized_keys",keys:o,input:t,inst:r}),e.length?Promise.all(e).then((()=>n)):n}const St=s("$ZodObject",((e,t)=>{Ge.init(e,t);const n=Object.getOwnPropertyDescriptor(t,"shape");if(!n?.get){const e=t.shape;Object.defineProperty(t,"shape",{get:()=>{const n={...e};return Object.defineProperty(t,"shape",{value:n}),n}})}const i=p((()=>Dt(t)));f(e._zod,"propValues",(()=>{const e=t.shape,n={};for(const t in e){const i=e[t]._zod;if(i.values){n[t]??(n[t]=new Set);for(const e of i.values)n[t].add(e)}}return n}));const s=b,r=t.catchall;let o;e._zod.parse=(t,n)=>{o??(o=i.value);const a=t.value;if(!s(a))return t.issues.push({expected:"object",code:"invalid_type",input:a,inst:e}),t;t.value={};const c=[],d=o.shape;for(const e of o.keys){const i=d[e]._zod.run({value:a[e],issues:[]},n);i instanceof Promise?c.push(i.then((n=>Et(n,t,e,a)))):Et(i,t,e,a)}return r?Tt(c,a,t,n,i.value,e):c.length?Promise.all(c).then((()=>t)):t}})),_t=s("$ZodObjectJIT",((e,t)=>{St.init(e,t);const n=e._zod.parse,i=p((()=>Dt(t)));let s;const r=b,o=!a.jitless,c=o&&w.value,d=t.catchall;let l;e._zod.parse=(a,p)=>{l??(l=i.value);const u=a.value;return r(u)?o&&c&&!1===p?.async&&!0!==p.jitless?(s||(s=(e=>{const t=new ze(["shape","payload","ctx"]),n=i.value,s=e=>{const t=v(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write("const input = payload.value;");const r=Object.create(null);let o=0;for(const e of n.keys)r[e]="key_"+o++;t.write("const newResult = {};");for(const e of n.keys){const n=r[e],i=v(e);t.write(`const ${n} = ${s(e)};`),t.write(`\n if (${n}.issues.length) {\n payload.issues = payload.issues.concat(${n}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${i}, ...iss.path] : [${i}]\n })));\n }\n \n \n if (${n}.value === undefined) {\n if (${i} in input) {\n newResult[${i}] = undefined;\n }\n } else {\n newResult[${i}] = ${n}.value;\n }\n \n `)}t.write("payload.value = newResult;"),t.write("return payload;");const a=t.compile();return(t,n)=>a(e,t,n)})(t.shape)),a=s(a,p),d?Tt([],u,a,p,l,e):a):n(a,p):(a.issues.push({expected:"object",code:"invalid_type",input:u,inst:e}),a)}}));function Pt(e,t,n,i){for(const n of e)if(0===n.issues.length)return t.value=n.value,t;const s=e.filter((e=>!S(e)));return 1===s.length?(t.value=s[0].value,s[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map((e=>e.issues.map((e=>R(e,i,c())))))}),t)}const Rt=s("$ZodUnion",((e,t)=>{Ge.init(e,t),f(e._zod,"optin",(()=>t.options.some((e=>"optional"===e._zod.optin))?"optional":void 0)),f(e._zod,"optout",(()=>t.options.some((e=>"optional"===e._zod.optout))?"optional":void 0)),f(e._zod,"values",(()=>{if(t.options.every((e=>e._zod.values)))return new Set(t.options.flatMap((e=>Array.from(e._zod.values))))})),f(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=>u(e.source))).join("|")})$`)}}));const n=1===t.options.length,i=t.options[0]._zod.run;e._zod.parse=(s,r)=>{if(n)return i(s,r);let o=!1;const a=[];for(const e of t.options){const t=e._zod.run({value:s.value,issues:[]},r);if(t instanceof Promise)a.push(t),o=!0;else{if(0===t.issues.length)return t;a.push(t)}}return o?Promise.all(a).then((t=>Pt(t,s,e,r))):Pt(a,s,e,r)}})),Ct=s("$ZodDiscriminatedUnion",((e,t)=>{Rt.init(e,t);const n=e._zod.parse;f(e._zod,"propValues",(()=>{const e={};for(const n of t.options){const i=n._zod.propValues;if(!i||0===Object.keys(i).length)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(n)}"`);for(const[t,n]of Object.entries(i)){e[t]||(e[t]=new Set);for(const i of n)e[t].add(i)}}return e}));const i=p((()=>{const e=t.options,n=new Map;for(const i of e){const e=i._zod.propValues?.[t.discriminator];if(!e||0===e.size)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(const t of e){if(n.has(t))throw new Error(`Duplicate discriminator value "${String(t)}"`);n.set(t,i)}}return n}));e._zod.parse=(s,r)=>{const o=s.value;if(!b(o))return s.issues.push({code:"invalid_type",expected:"object",input:o,inst:e}),s;const a=i.value.get(o?.[t.discriminator]);return a?a._zod.run(s,r):t.unionFallback?n(s,r):(s.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:o,path:[t.discriminator],inst:e}),s)}})),Ut=s("$ZodIntersection",((e,t)=>{Ge.init(e,t),e._zod.parse=(e,n)=>{const i=e.value,s=t.left._zod.run({value:i,issues:[]},n),r=t.right._zod.run({value:i,issues:[]},n);return s instanceof Promise||r instanceof Promise?Promise.all([s,r]).then((([t,n])=>Ot(e,t,n))):Ot(e,s,r)}}));function Nt(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(I(e)&&I(t)){const n=Object.keys(t),i=Object.keys(e).filter((e=>-1!==n.indexOf(e))),s={...e,...t};for(const n of i){const i=Nt(e[n],t[n]);if(!i.valid)return{valid:!1,mergeErrorPath:[n,...i.mergeErrorPath]};s[n]=i.data}return{valid:!0,data:s}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let i=0;i<e.length;i++){const s=Nt(e[i],t[i]);if(!s.valid)return{valid:!1,mergeErrorPath:[i,...s.mergeErrorPath]};n.push(s.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Ot(e,t,n){if(t.issues.length&&e.issues.push(...t.issues),n.issues.length&&e.issues.push(...n.issues),S(e))return e;const i=Nt(t.value,n.value);if(!i.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(i.mergeErrorPath)}`);return e.value=i.data,e}const qt=s("$ZodRecord",((e,t)=>{Ge.init(e,t),e._zod.parse=(n,i)=>{const s=n.value;if(!I(s))return n.issues.push({expected:"record",code:"invalid_type",input:s,inst:e}),n;const r=[],o=t.keyType._zod.values;if(o){n.value={};const a=new Set;for(const e of o)if("string"==typeof e||"number"==typeof e||"symbol"==typeof e){a.add("number"==typeof e?e.toString():e);const o=t.valueType._zod.run({value:s[e],issues:[]},i);o instanceof Promise?r.push(o.then((t=>{t.issues.length&&n.issues.push(..._(e,t.issues)),n.value[e]=t.value}))):(o.issues.length&&n.issues.push(..._(e,o.issues)),n.value[e]=o.value)}let c;for(const e in s)a.has(e)||(c=c??[],c.push(e));c&&c.length>0&&n.issues.push({code:"unrecognized_keys",input:s,inst:e,keys:c})}else{n.value={};for(const o of Reflect.ownKeys(s)){if("__proto__"===o)continue;const a=t.keyType._zod.run({value:o,issues:[]},i);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=>R(e,i,c()))),input:o,path:[o],inst:e}),n.value[a.value]=a.value;continue}const d=t.valueType._zod.run({value:s[o],issues:[]},i);d instanceof Promise?r.push(d.then((e=>{e.issues.length&&n.issues.push(..._(o,e.issues)),n.value[a.value]=e.value}))):(d.issues.length&&n.issues.push(..._(o,d.issues)),n.value[a.value]=d.value)}}return r.length?Promise.all(r).then((()=>n)):n}})),Mt=s("$ZodEnum",((e,t)=>{Ge.init(e,t);const n=function(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))}(t.entries),i=new Set(n);e._zod.values=i,e._zod.pattern=new RegExp(`^(${n.filter((e=>x.has(typeof e))).map((e=>"string"==typeof e?A(e):e.toString())).join("|")})$`),e._zod.parse=t=>{const s=t.value;return i.has(s)||t.issues.push({code:"invalid_value",values:n,input:s,inst:e}),t}})),jt=s("$ZodLiteral",((e,t)=>{if(Ge.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?A(e):e?A(e.toString()):String(e))).join("|")})$`),e._zod.parse=i=>{const s=i.value;return n.has(s)||i.issues.push({code:"invalid_value",values:t.values,input:s,inst:e}),i}})),Lt=s("$ZodTransform",((e,t)=>{Ge.init(e,t),e._zod.parse=(n,i)=>{if("backward"===i.direction)throw new o(e.constructor.name);const s=t.transform(n.value,n);if(i.async)return(s instanceof Promise?s:Promise.resolve(s)).then((e=>(n.value=e,n)));if(s instanceof Promise)throw new r;return n.value=s,n}}));function zt(e,t){return e.issues.length&&void 0===t?{issues:[],value:void 0}:e}const $t=s("$ZodOptional",((e,t)=>{Ge.init(e,t),e._zod.optin="optional",e._zod.optout="optional",f(e._zod,"values",(()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0)),f(e._zod,"pattern",(()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${u(e.source)})?$`):void 0})),e._zod.parse=(e,n)=>{if("optional"===t.innerType._zod.optin){const i=t.innerType._zod.run(e,n);return i instanceof Promise?i.then((t=>zt(t,e.value))):zt(i,e.value)}return void 0===e.value?e:t.innerType._zod.run(e,n)}})),Gt=s("$ZodNullable",((e,t)=>{Ge.init(e,t),f(e._zod,"optin",(()=>t.innerType._zod.optin)),f(e._zod,"optout",(()=>t.innerType._zod.optout)),f(e._zod,"pattern",(()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${u(e.source)}|null)$`):void 0})),f(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)})),Yt=s("$ZodDefault",((e,t)=>{Ge.init(e,t),e._zod.optin="optional",f(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 i=t.innerType._zod.run(e,n);return i instanceof Promise?i.then((e=>Ft(e,t))):Ft(i,t)}}));function Ft(e,t){return void 0===e.value&&(e.value=t.defaultValue),e}const Zt=s("$ZodPrefault",((e,t)=>{Ge.init(e,t),e._zod.optin="optional",f(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))})),Vt=s("$ZodNonOptional",((e,t)=>{Ge.init(e,t),f(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,i)=>{const s=t.innerType._zod.run(n,i);return s instanceof Promise?s.then((t=>Wt(t,e))):Wt(s,e)}}));function Wt(e,t){return e.issues.length||void 0!==e.value||e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const Bt=s("$ZodCatch",((e,t)=>{Ge.init(e,t),f(e._zod,"optin",(()=>t.innerType._zod.optin)),f(e._zod,"optout",(()=>t.innerType._zod.optout)),f(e._zod,"values",(()=>t.innerType._zod.values)),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);const i=t.innerType._zod.run(e,n);return i instanceof Promise?i.then((i=>(e.value=i.value,i.issues.length&&(e.value=t.catchValue({...e,error:{issues:i.issues.map((e=>R(e,n,c())))},input:e.value}),e.issues=[]),e))):(e.value=i.value,i.issues.length&&(e.value=t.catchValue({...e,error:{issues:i.issues.map((e=>R(e,n,c())))},input:e.value}),e.issues=[]),e)}})),Ht=s("$ZodPipe",((e,t)=>{Ge.init(e,t),f(e._zod,"values",(()=>t.in._zod.values)),f(e._zod,"optin",(()=>t.in._zod.optin)),f(e._zod,"optout",(()=>t.out._zod.optout)),f(e._zod,"propValues",(()=>t.in._zod.propValues)),e._zod.parse=(e,n)=>{if("backward"===n.direction){const i=t.out._zod.run(e,n);return i instanceof Promise?i.then((e=>Kt(e,t.in,n))):Kt(i,t.in,n)}const i=t.in._zod.run(e,n);return i instanceof Promise?i.then((e=>Kt(e,t.out,n))):Kt(i,t.out,n)}}));function Kt(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}const Jt=s("$ZodReadonly",((e,t)=>{Ge.init(e,t),f(e._zod,"propValues",(()=>t.innerType._zod.propValues)),f(e._zod,"values",(()=>t.innerType._zod.values)),f(e._zod,"optin",(()=>t.innerType?._zod?.optin)),f(e._zod,"optout",(()=>t.innerType?._zod?.optout)),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);const i=t.innerType._zod.run(e,n);return i instanceof Promise?i.then(Xt):Xt(i)}}));function Xt(e){return e.value=Object.freeze(e.value),e}const Qt=s("$ZodLazy",((e,t)=>{Ge.init(e,t),f(e._zod,"innerType",(()=>t.getter())),f(e._zod,"pattern",(()=>e._zod.innerType?._zod?.pattern)),f(e._zod,"propValues",(()=>e._zod.innerType?._zod?.propValues)),f(e._zod,"optin",(()=>e._zod.innerType?._zod?.optin??void 0)),f(e._zod,"optout",(()=>e._zod.innerType?._zod?.optout??void 0)),e._zod.parse=(t,n)=>e._zod.innerType._zod.run(t,n)})),en=s("$ZodCustom",((e,t)=>{xe.init(e,t),Ge.init(e,t),e._zod.parse=e=>e,e._zod.check=n=>{const i=n.value,s=t.fn(i);if(s instanceof Promise)return s.then((t=>tn(t,n,i,e)));tn(s,n,i,e)}}));function tn(e,t,n,i){if(!e){const e={code:"custom",input:n,inst:i,path:[...i._zod.def.path??[]],continue:!i._zod.def.abort};i._zod.def.params&&(e.params=i._zod.def.params),t.issues.push(U(e))}}var nn;(nn=globalThis).__zod_globalRegistry??(nn.__zod_globalRegistry=new class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){const n=t[0];if(this._map.set(e,n),n&&"object"==typeof n&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,e)}return this}clear(){return this._map=new WeakMap,this._idmap=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 i={...n,...this._map.get(e)};return Object.keys(i).length?i:void 0}return this._map.get(e)}has(e){return this._map.has(e)}});const sn=globalThis.__zod_globalRegistry;function rn(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...D(t)})}function on(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...D(t)})}function an(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...D(t)})}function cn(e,t){return new Ee({check:"less_than",...D(t),value:e,inclusive:!1})}function dn(e,t){return new Ee({check:"less_than",...D(t),value:e,inclusive:!0})}function pn(e,t){return new De({check:"greater_than",...D(t),value:e,inclusive:!1})}function ln(e,t){return new De({check:"greater_than",...D(t),value:e,inclusive:!0})}function un(e,t){return new Te({check:"multiple_of",...D(t),value:e})}function mn(e,t){return new _e({check:"max_length",...D(t),maximum:e})}function fn(e,t){return new Pe({check:"min_length",...D(t),minimum:e})}function hn(e,t){return new Re({check:"length_equals",...D(t),length:e})}function gn(e){return new Le({check:"overwrite",tx:e})}const vn=s("ZodISODateTime",((e,t)=>{nt.init(e,t),Ln.init(e,t)}));function yn(e){return function(e,t){return new vn({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...D(t)})}(0,e)}const bn=s("ZodISODate",((e,t)=>{it.init(e,t),Ln.init(e,t)}));const wn=s("ZodISOTime",((e,t)=>{st.init(e,t),Ln.init(e,t)}));const In=s("ZodISODuration",((e,t)=>{rt.init(e,t),Ln.init(e,t)}));const kn=s("ZodError",((e,t)=>{O.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:t=>function(e,t=e=>e.message){const n={_errors:[]},i=e=>{for(const s of e.issues)if("invalid_union"===s.code&&s.errors.length)s.errors.map((e=>i({issues:e})));else if("invalid_key"===s.code)i({issues:s.issues});else if("invalid_element"===s.code)i({issues:s.issues});else if(0===s.path.length)n._errors.push(t(s));else{let e=n,i=0;for(;i<s.path.length;){const n=s.path[i];i===s.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(s))):e[n]=e[n]||{_errors:[]},e=e[n],i++}}};return i(e),n}(e,t)},flatten:{value:t=>function(e,t=e=>e.message){const n={},i=[];for(const s of e.issues)s.path.length>0?(n[s.path[0]]=n[s.path[0]]||[],n[s.path[0]].push(t(s))):i.push(t(s));return{formErrors:i,fieldErrors:n}}(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,d,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,d,2)}},isEmpty:{get:()=>0===e.issues.length}})}),{Parent:Error}),xn=M(kn),An=j(kn),En=L(kn),Dn=$(kn),Tn=Y(kn),Sn=F(kn),_n=Z(kn),Pn=V(kn),Rn=W(kn),Cn=B(kn),Un=H(kn),Nn=K(kn),On=s("ZodType",((e,t)=>(Ge.init(e,t),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone(g(t,{checks:[...t.checks??[],...n.map((e=>"function"==typeof e?{_zod:{check:e,def:{check:"custom"},onattach:[]}}:e))]})),e.clone=(t,n)=>E(e,t,n),e.brand=()=>e,e.register=(t,n)=>(t.add(e,n),e),e.parse=(t,n)=>xn(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>En(e,t,n),e.parseAsync=async(t,n)=>An(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>Dn(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>Tn(e,t,n),e.decode=(t,n)=>Sn(e,t,n),e.encodeAsync=async(t,n)=>_n(e,t,n),e.decodeAsync=async(t,n)=>Pn(e,t,n),e.safeEncode=(t,n)=>Rn(e,t,n),e.safeDecode=(t,n)=>Cn(e,t,n),e.safeEncodeAsync=async(t,n)=>Un(e,t,n),e.safeDecodeAsync=async(t,n)=>Nn(e,t,n),e.refine=(t,n)=>e.check(function(e,t={}){return function(e,t,n){return new Ji({type:"custom",check:"custom",fn:t,...D(n)})}(0,e,t)}(t,n)),e.superRefine=t=>e.check(function(e){const t=function(e){const t=new xe({check:"custom",...D(void 0)});return t._zod.check=e,t}((n=>(n.addIssue=e=>{if("string"==typeof e)n.issues.push(U(e,n.value,t._zod.def));else{const i=e;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=n.value),i.inst??(i.inst=t),i.continue??(i.continue=!t._zod.def.abort),n.issues.push(U(i))}},e(n.value,n))));return t}(t)),e.overwrite=t=>e.check(gn(t)),e.optional=()=>zi(e),e.nullable=()=>Gi(e),e.nullish=()=>zi(Gi(e)),e.nonoptional=t=>function(e,t){return new Zi({type:"nonoptional",innerType:e,...D(t)})}(e,t),e.array=()=>xi(e),e.or=t=>Ti([e,t]),e.and=t=>new Pi({type:"intersection",left:e,right:t}),e.transform=t=>Bi(e,ji(t)),e.default=t=>{return n=t,new Yi({type:"default",innerType:e,get defaultValue(){return"function"==typeof n?n():k(n)}});var n},e.prefault=t=>{return n=t,new Fi({type:"prefault",innerType:e,get defaultValue(){return"function"==typeof n?n():k(n)}});var n},e.catch=t=>{return new Vi({type:"catch",innerType:e,catchValue:"function"==typeof(n=t)?n:()=>n});var n},e.pipe=t=>Bi(e,t),e.readonly=()=>new Hi({type:"readonly",innerType:e}),e.describe=t=>{const n=e.clone();return sn.add(n,{description:t}),n},Object.defineProperty(e,"description",{get:()=>sn.get(e)?.description,configurable:!0}),e.meta=(...t)=>{if(0===t.length)return sn.get(e);const n=e.clone();return sn.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e))),qn=s("_ZodString",((e,t)=>{Ye.init(e,t),On.init(e,t);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...t)=>e.check(function(e,t){return new Ue({check:"string_format",format:"regex",...D(t),pattern:e})}(...t)),e.includes=(...t)=>e.check(function(e,t){return new qe({check:"string_format",format:"includes",...D(t),includes:e})}(...t)),e.startsWith=(...t)=>e.check(function(e,t){return new Me({check:"string_format",format:"starts_with",...D(t),prefix:e})}(...t)),e.endsWith=(...t)=>e.check(function(e,t){return new je({check:"string_format",format:"ends_with",...D(t),suffix:e})}(...t)),e.min=(...t)=>e.check(fn(...t)),e.max=(...t)=>e.check(mn(...t)),e.length=(...t)=>e.check(hn(...t)),e.nonempty=(...t)=>e.check(fn(1,...t)),e.lowercase=t=>e.check(function(e){return new Ne({check:"string_format",format:"lowercase",...D(e)})}(t)),e.uppercase=t=>e.check(function(e){return new Oe({check:"string_format",format:"uppercase",...D(e)})}(t)),e.trim=()=>e.check(gn((e=>e.trim()))),e.normalize=(...t)=>e.check(function(e){return gn((t=>t.normalize(e)))}(...t)),e.toLowerCase=()=>e.check(gn((e=>e.toLowerCase()))),e.toUpperCase=()=>e.check(gn((e=>e.toUpperCase()))),e.slugify=()=>e.check(gn((e=>function(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}(e))))})),Mn=s("ZodString",((e,t)=>{Ye.init(e,t),qn.init(e,t),e.email=t=>e.check(rn(zn,t)),e.url=t=>e.check(an(Fn,t)),e.jwt=t=>e.check(function(e,t){return new oi({type:"string",format:"jwt",check:"string_format",abort:!1,...D(t)})}(0,t)),e.emoji=t=>e.check(function(e,t){return new Vn({type:"string",format:"emoji",check:"string_format",abort:!1,...D(t)})}(0,t)),e.guid=t=>e.check(on(Gn,t)),e.uuid=t=>e.check(function(e,t){return new Yn({type:"string",format:"uuid",check:"string_format",abort:!1,...D(t)})}(0,t)),e.uuidv4=t=>e.check(function(e,t){return new Yn({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...D(t)})}(0,t)),e.uuidv6=t=>e.check(function(e,t){return new Yn({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...D(t)})}(0,t)),e.uuidv7=t=>e.check(function(e,t){return new Yn({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...D(t)})}(0,t)),e.nanoid=t=>e.check(function(e,t){return new Wn({type:"string",format:"nanoid",check:"string_format",abort:!1,...D(t)})}(0,t)),e.guid=t=>e.check(on(Gn,t)),e.cuid=t=>e.check(function(e,t){return new Bn({type:"string",format:"cuid",check:"string_format",abort:!1,...D(t)})}(0,t)),e.cuid2=t=>e.check(function(e,t){return new Hn({type:"string",format:"cuid2",check:"string_format",abort:!1,...D(t)})}(0,t)),e.ulid=t=>e.check(function(e,t){return new Kn({type:"string",format:"ulid",check:"string_format",abort:!1,...D(t)})}(0,t)),e.base64=t=>e.check(function(e,t){return new ii({type:"string",format:"base64",check:"string_format",abort:!1,...D(t)})}(0,t)),e.base64url=t=>e.check(function(e,t){return new si({type:"string",format:"base64url",check:"string_format",abort:!1,...D(t)})}(0,t)),e.xid=t=>e.check(function(e,t){return new Jn({type:"string",format:"xid",check:"string_format",abort:!1,...D(t)})}(0,t)),e.ksuid=t=>e.check(function(e,t){return new Xn({type:"string",format:"ksuid",check:"string_format",abort:!1,...D(t)})}(0,t)),e.ipv4=t=>e.check(function(e,t){return new Qn({type:"string",format:"ipv4",check:"string_format",abort:!1,...D(t)})}(0,t)),e.ipv6=t=>e.check(function(e,t){return new ei({type:"string",format:"ipv6",check:"string_format",abort:!1,...D(t)})}(0,t)),e.cidrv4=t=>e.check(function(e,t){return new ti({type:"string",format:"cidrv4",check:"string_format",abort:!1,...D(t)})}(0,t)),e.cidrv6=t=>e.check(function(e,t){return new ni({type:"string",format:"cidrv6",check:"string_format",abort:!1,...D(t)})}(0,t)),e.e164=t=>e.check(function(e,t){return new ri({type:"string",format:"e164",check:"string_format",abort:!1,...D(t)})}(0,t)),e.datetime=t=>e.check(yn(t)),e.date=t=>e.check(function(e){return function(e,t){return new bn({type:"string",format:"date",check:"string_format",...D(t)})}(0,e)}(t)),e.time=t=>e.check(function(e){return function(e,t){return new wn({type:"string",format:"time",check:"string_format",precision:null,...D(t)})}(0,e)}(t)),e.duration=t=>e.check(function(e){return function(e,t){return new In({type:"string",format:"duration",check:"string_format",...D(t)})}(0,e)}(t))}));function jn(e){return function(e,t){return new Mn({type:"string",...D(t)})}(0,e)}const Ln=s("ZodStringFormat",((e,t)=>{Fe.init(e,t),qn.init(e,t)})),zn=s("ZodEmail",((e,t)=>{We.init(e,t),Ln.init(e,t)}));function $n(e){return rn(zn,e)}const Gn=s("ZodGUID",((e,t)=>{Ze.init(e,t),Ln.init(e,t)})),Yn=s("ZodUUID",((e,t)=>{Ve.init(e,t),Ln.init(e,t)})),Fn=s("ZodURL",((e,t)=>{Be.init(e,t),Ln.init(e,t)}));function Zn(e){return an(Fn,e)}const Vn=s("ZodEmoji",((e,t)=>{He.init(e,t),Ln.init(e,t)})),Wn=s("ZodNanoID",((e,t)=>{Ke.init(e,t),Ln.init(e,t)})),Bn=s("ZodCUID",((e,t)=>{Je.init(e,t),Ln.init(e,t)})),Hn=s("ZodCUID2",((e,t)=>{Xe.init(e,t),Ln.init(e,t)})),Kn=s("ZodULID",((e,t)=>{Qe.init(e,t),Ln.init(e,t)})),Jn=s("ZodXID",((e,t)=>{et.init(e,t),Ln.init(e,t)})),Xn=s("ZodKSUID",((e,t)=>{tt.init(e,t),Ln.init(e,t)})),Qn=s("ZodIPv4",((e,t)=>{ot.init(e,t),Ln.init(e,t)})),ei=s("ZodIPv6",((e,t)=>{at.init(e,t),Ln.init(e,t)})),ti=s("ZodCIDRv4",((e,t)=>{ct.init(e,t),Ln.init(e,t)})),ni=s("ZodCIDRv6",((e,t)=>{dt.init(e,t),Ln.init(e,t)})),ii=s("ZodBase64",((e,t)=>{lt.init(e,t),Ln.init(e,t)})),si=s("ZodBase64URL",((e,t)=>{ut.init(e,t),Ln.init(e,t)})),ri=s("ZodE164",((e,t)=>{mt.init(e,t),Ln.init(e,t)})),oi=s("ZodJWT",((e,t)=>{ft.init(e,t),Ln.init(e,t)})),ai=s("ZodNumber",((e,t)=>{ht.init(e,t),On.init(e,t),e.gt=(t,n)=>e.check(pn(t,n)),e.gte=(t,n)=>e.check(ln(t,n)),e.min=(t,n)=>e.check(ln(t,n)),e.lt=(t,n)=>e.check(cn(t,n)),e.lte=(t,n)=>e.check(dn(t,n)),e.max=(t,n)=>e.check(dn(t,n)),e.int=t=>e.check(pi(t)),e.safe=t=>e.check(pi(t)),e.positive=t=>e.check(pn(0,t)),e.nonnegative=t=>e.check(ln(0,t)),e.negative=t=>e.check(cn(0,t)),e.nonpositive=t=>e.check(dn(0,t)),e.multipleOf=(t,n)=>e.check(un(t,n)),e.step=(t,n)=>e.check(un(t,n)),e.finite=()=>e;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 ci(e){return function(e,t){return new ai({type:"number",checks:[],...D(t)})}(0,e)}const di=s("ZodNumberFormat",((e,t)=>{gt.init(e,t),ai.init(e,t)}));function pi(e){return function(e,t){return new di({type:"number",check:"number_format",abort:!1,format:"safeint",...D(t)})}(0,e)}const li=s("ZodBoolean",((e,t)=>{vt.init(e,t),On.init(e,t)}));function ui(e){return function(e,t){return new li({type:"boolean",...D(t)})}(0,e)}const mi=s("ZodNull",((e,t)=>{yt.init(e,t),On.init(e,t)})),fi=s("ZodAny",((e,t)=>{bt.init(e,t),On.init(e,t)}));function hi(){return new fi({type:"any"})}const gi=s("ZodUnknown",((e,t)=>{wt.init(e,t),On.init(e,t)}));function vi(){return new gi({type:"unknown"})}const yi=s("ZodNever",((e,t)=>{It.init(e,t),On.init(e,t)}));function bi(e){return function(e,t){return new yi({type:"never",...D(t)})}(0,e)}const wi=s("ZodVoid",((e,t)=>{kt.init(e,t),On.init(e,t)}));function Ii(e){return function(e,t){return new wi({type:"void",...D(t)})}(0,e)}const ki=s("ZodArray",((e,t)=>{At.init(e,t),On.init(e,t),e.element=t.element,e.min=(t,n)=>e.check(fn(t,n)),e.nonempty=t=>e.check(fn(1,t)),e.max=(t,n)=>e.check(mn(t,n)),e.length=(t,n)=>e.check(hn(t,n)),e.unwrap=()=>e.element}));function xi(e,t){return function(e,t,n){return new ki({type:"array",element:t,...D(n)})}(0,e,t)}const Ai=s("ZodObject",((e,t)=>{_t.init(e,t),On.init(e,t),f(e,"shape",(()=>t.shape)),e.keyof=()=>Ni(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:vi()}),e.loose=()=>e.clone({...e._zod.def,catchall:vi()}),e.strict=()=>e.clone({...e._zod.def,catchall:bi()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>function(e,t){if(!I(t))throw new Error("Invalid input to extend: expected a plain object");const n=e._zod.def.checks;if(n&&n.length>0)throw new Error("Object schemas containing refinements cannot be extended. Use `.safeExtend()` instead.");const i=g(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return h(this,"shape",n),n},checks:[]});return E(e,i)}(e,t),e.safeExtend=t=>function(e,t){if(!I(t))throw new Error("Invalid input to safeExtend: expected a plain object");const n={...e._zod.def,get shape(){const n={...e._zod.def.shape,...t};return h(this,"shape",n),n},checks:e._zod.def.checks};return E(e,n)}(e,t),e.merge=t=>function(e,t){const n=g(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t._zod.def.shape};return h(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:[]});return E(e,n)}(e,t),e.pick=t=>function(e,t){const n=e._zod.def;return E(e,g(e._zod.def,{get shape(){const e={};for(const i in t){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&(e[i]=n.shape[i])}return h(this,"shape",e),e},checks:[]}))}(e,t),e.omit=t=>function(e,t){const n=e._zod.def,i=g(e._zod.def,{get shape(){const i={...e._zod.def.shape};for(const e in t){if(!(e in n.shape))throw new Error(`Unrecognized key: "${e}"`);t[e]&&delete i[e]}return h(this,"shape",i),i},checks:[]});return E(e,i)}(e,t),e.partial=(...t)=>function(e,t,n){const i=g(t._zod.def,{get shape(){const i=t._zod.def.shape,s={...i};if(n)for(const t in n){if(!(t in i))throw new Error(`Unrecognized key: "${t}"`);n[t]&&(s[t]=e?new e({type:"optional",innerType:i[t]}):i[t])}else for(const t in i)s[t]=e?new e({type:"optional",innerType:i[t]}):i[t];return h(this,"shape",s),s},checks:[]});return E(t,i)}(Li,e,t[0]),e.required=(...t)=>function(e,t,n){const i=g(t._zod.def,{get shape(){const i=t._zod.def.shape,s={...i};if(n)for(const t in n){if(!(t in s))throw new Error(`Unrecognized key: "${t}"`);n[t]&&(s[t]=new e({type:"nonoptional",innerType:i[t]}))}else for(const t in i)s[t]=new e({type:"nonoptional",innerType:i[t]});return h(this,"shape",s),s},checks:[]});return E(t,i)}(Zi,e,t[0])}));function Ei(e,t){const n={type:"object",shape:e??{},...D(t)};return new Ai(n)}const Di=s("ZodUnion",((e,t)=>{Rt.init(e,t),On.init(e,t),e.options=t.options}));function Ti(e,t){return new Di({type:"union",options:e,...D(t)})}const Si=s("ZodDiscriminatedUnion",((e,t)=>{Di.init(e,t),Ct.init(e,t)}));function _i(e,t,n){return new Si({type:"union",options:t,discriminator:e,...D(n)})}const Pi=s("ZodIntersection",((e,t)=>{Ut.init(e,t),On.init(e,t)})),Ri=s("ZodRecord",((e,t)=>{qt.init(e,t),On.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType}));function Ci(e,t,n){return new Ri({type:"record",keyType:e,valueType:t,...D(n)})}const Ui=s("ZodEnum",((e,t)=>{Mt.init(e,t),On.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(e,i)=>{const s={};for(const i of e){if(!n.has(i))throw new Error(`Key ${i} not found in enum`);s[i]=t.entries[i]}return new Ui({...t,checks:[],...D(i),entries:s})},e.exclude=(e,i)=>{const s={...t.entries};for(const t of e){if(!n.has(t))throw new Error(`Key ${t} not found in enum`);delete s[t]}return new Ui({...t,checks:[],...D(i),entries:s})}}));function Ni(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map((e=>[e,e]))):e;return new Ui({type:"enum",entries:n,...D(t)})}const Oi=s("ZodLiteral",((e,t)=>{jt.init(e,t),On.init(e,t),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 qi(e,t){return new Oi({type:"literal",values:Array.isArray(e)?e:[e],...D(t)})}const Mi=s("ZodTransform",((e,t)=>{Lt.init(e,t),On.init(e,t),e._zod.parse=(n,i)=>{if("backward"===i.direction)throw new o(e.constructor.name);n.addIssue=i=>{if("string"==typeof i)n.issues.push(U(i,n.value,t));else{const t=i;t.fatal&&(t.continue=!1),t.code??(t.code="custom"),t.input??(t.input=n.value),t.inst??(t.inst=e),n.issues.push(U(t))}};const s=t.transform(n.value,n);return s instanceof Promise?s.then((e=>(n.value=e,n))):(n.value=s,n)}}));function ji(e){return new Mi({type:"transform",transform:e})}const Li=s("ZodOptional",((e,t)=>{$t.init(e,t),On.init(e,t),e.unwrap=()=>e._zod.def.innerType}));function zi(e){return new Li({type:"optional",innerType:e})}const $i=s("ZodNullable",((e,t)=>{Gt.init(e,t),On.init(e,t),e.unwrap=()=>e._zod.def.innerType}));function Gi(e){return new $i({type:"nullable",innerType:e})}const Yi=s("ZodDefault",((e,t)=>{Yt.init(e,t),On.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap})),Fi=s("ZodPrefault",((e,t)=>{Zt.init(e,t),On.init(e,t),e.unwrap=()=>e._zod.def.innerType})),Zi=s("ZodNonOptional",((e,t)=>{Vt.init(e,t),On.init(e,t),e.unwrap=()=>e._zod.def.innerType})),Vi=s("ZodCatch",((e,t)=>{Bt.init(e,t),On.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap})),Wi=s("ZodPipe",((e,t)=>{Ht.init(e,t),On.init(e,t),e.in=t.in,e.out=t.out}));function Bi(e,t){return new Wi({type:"pipe",in:e,out:t})}const Hi=s("ZodReadonly",((e,t)=>{Jt.init(e,t),On.init(e,t),e.unwrap=()=>e._zod.def.innerType})),Ki=s("ZodLazy",((e,t)=>{Qt.init(e,t),On.init(e,t),e.unwrap=()=>e._zod.def.getter()})),Ji=s("ZodCustom",((e,t)=>{en.init(e,t),On.init(e,t)}));function Xi(e){return function(e,t){return new ai({type:"number",coerce:!0,checks:[],...D(t)})}(0,e)}function Qi(e){return function(e,t){return new li({type:"boolean",coerce:!0,...D(t)})}(0,e)}function es(e){return Array.isArray(e)?e:null==e?[]:[e]}const ts="orpc";class ns extends Error{constructor(...e){super(...e),this.name="AbortError"}}function is(e){let t;return()=>{if(t)return t.result;const n=e();return t={result:n},n}}function ss(){return globalThis["__@orpc/shared@1.12.2/otel/config__"]}function rs(e,t={},n){const i=ss()?.tracer;return i?.startSpan(e,t,n)}function os(e,t,n={}){if(!e)return;const i=function(e){if(e instanceof Error){const t={message:e.message,name:e.name,stack:e.stack};return!("code"in e)||"string"!=typeof e.code&&"number"!=typeof e.code||(t.code=e.code),t}return{message:String(e)}}(t);e.recordException(i),n.signal?.aborted&&n.signal.reason===t||e.setStatus({code:2,message:i.message})}async function as({name:e,context:t,...n},i){const s=ss()?.tracer;if(!s)return i();const r=async e=>{try{return await i(e)}catch(t){throw os(e,t,n),t}finally{e.end()}};return t?s.startActiveSpan(e,n,t,r):s.startActiveSpan(e,n,r)}async function cs(e,t){const n=ss();if(!e||!n)return t();const i=n.trace.setSpan(n.context.active(),e);return n.context.with(i,t)}function ds(e){return!(!e||"object"!=typeof e)&&"next"in e&&"function"==typeof e.next&&Symbol.asyncIterator in e&&"function"==typeof e[Symbol.asyncIterator]}const ps=Symbol.for("asyncDispose"),ls=Symbol.asyncDispose??ps;class us{#e=!1;#t=!1;#n;#i;constructor(e,t){this.#n=t,this.#i=function(e){let t=Promise.resolve();return(...n)=>t=t.catch((()=>{})).then((()=>e(...n)))}((async()=>{if(this.#e)return{done:!0,value:void 0};try{const t=await e();return t.done&&(this.#e=!0),t}catch(e){throw this.#e=!0,e}finally{this.#e&&!this.#t&&(this.#t=!0,await this.#n("next"))}}))}next(){return this.#i()}async return(e){return this.#e=!0,this.#t||(this.#t=!0,await this.#n("return")),{done:!0,value:e}}async throw(e){throw this.#e=!0,this.#t||(this.#t=!0,await this.#n("throw")),e}async[ls](){this.#e=!0,this.#t||(this.#t=!0,await this.#n("dispose"))}[Symbol.asyncIterator](){return this}}function ms({name:e,...t},n){let i;return new us((async()=>{i??=rs(e);try{const e=await cs(i,(()=>n.next()));return i?.addEvent(e.done?"completed":"yielded"),e}catch(e){throw os(i,e,t),e}}),(async e=>{try{"next"!==e&&await cs(i,(()=>n.return?.()))}catch(e){throw os(i,e,t),e}finally{i?.end()}}))}function fs(e,t,n){const i=(t,s)=>{const r=e[s];return r?r({...t,next:(e=t)=>i(e,s+1)}):n(t)};return i(t,0)}function hs(e){if(e)return JSON.parse(e)}function gs(e){return JSON.stringify(e)}function vs(e){if(!e||"object"!=typeof e)return!1;const t=Object.getPrototypeOf(e);return t===Object.prototype||!t||!t.constructor}function ys(e){return!!e&&("object"==typeof e||"function"==typeof e)}function bs(e,t){let n=e;for(const e of t){if(!ys(n))return;n=n[e]}return n}const ws=(()=>{const e=function(){};return e.prototype=Object.create(null),Object.freeze(e.prototype),e})();function Is(e,...t){return"function"==typeof e?e(...t):e}function ks(e){return new Proxy(e,{get(e,t,n){const i=Reflect.get(e,t,n);return"then"!==t||"function"!=typeof i?i:new Proxy(i,{apply(t,n,i){if(2!==i.length||i.some((e=>{return!("function"==typeof(t=e)&&xs.test(t.toString()));var t})))return Reflect.apply(t,n,i);let s=!0;i[0].call(n,ks(new Proxy(e,{get:(e,t,n)=>{if(!s||"then"!==t)return Reflect.get(e,t,n);s=!1}})))}})}})}const xs=/^\s*function\s*\(\)\s*\{\s*\[native code\]\s*\}\s*$/,As={BAD_REQUEST:{status:400,message:"Bad Request"},UNAUTHORIZED:{status:401,message:"Unauthorized"},FORBIDDEN:{status:403,message:"Forbidden"},NOT_FOUND:{status:404,message:"Not Found"},METHOD_NOT_SUPPORTED:{status:405,message:"Method Not Supported"},NOT_ACCEPTABLE:{status:406,message:"Not Acceptable"},TIMEOUT:{status:408,message:"Request Timeout"},CONFLICT:{status:409,message:"Conflict"},PRECONDITION_FAILED:{status:412,message:"Precondition Failed"},PAYLOAD_TOO_LARGE:{status:413,message:"Payload Too Large"},UNSUPPORTED_MEDIA_TYPE:{status:415,message:"Unsupported Media Type"},UNPROCESSABLE_CONTENT:{status:422,message:"Unprocessable Content"},TOO_MANY_REQUESTS:{status:429,message:"Too Many Requests"},CLIENT_CLOSED_REQUEST:{status:499,message:"Client Closed Request"},INTERNAL_SERVER_ERROR:{status:500,message:"Internal Server Error"},NOT_IMPLEMENTED:{status:501,message:"Not Implemented"},BAD_GATEWAY:{status:502,message:"Bad Gateway"},SERVICE_UNAVAILABLE:{status:503,message:"Service Unavailable"},GATEWAY_TIMEOUT:{status:504,message:"Gateway Timeout"}},Es=Symbol.for("__@orpc/client@1.12.2/error/ORPC_ERROR_CONSTRUCTORS__");globalThis[Es]??=new WeakSet;const Ds=globalThis[Es];class Ts extends Error{defined;code;status;data;constructor(e,...t){const n=function(e){return e[0]??{}}(t);if(void 0!==n.status&&!Ss(n.status))throw new Error("[ORPCError] Invalid error status code.");const i=function(e,t){return t||As[e]?.message||e}(e,n.message);super(i,n),this.code=e,this.status=function(e,t){return t??As[e]?.status??500}(e,n.status),this.defined=n.defined??!1,this.data=n.data}toJSON(){return{defined:this.defined,code:this.code,status:this.status,message:this.message,data:this.data}}static[Symbol.hasInstance](e){if(Ds.has(this)){const t=function(e){return ys(e)?Object.getPrototypeOf(e)?.constructor:null}(e);if(t&&Ds.has(t))return!0}return super[Symbol.hasInstance](e)}}function Ss(e){return e<200||e>=400}function _s(e){if(!vs(e))return!1;const t=["defined","code","status","message","data"];return!Object.keys(e).some((e=>!t.includes(e)))&&"defined"in e&&"boolean"==typeof e.defined&&"code"in e&&"string"==typeof e.code&&"status"in e&&"number"==typeof e.status&&Ss(e.status)&&"message"in e&&"string"==typeof e.message}function Ps(e,t={}){return new Ts(e.code,{...t,...e})}Ds.add(Ts);class Rs extends TypeError{}class Cs extends TypeError{}class Us extends Error{data;constructor(e){super(e?.message??"An error event was received",e),this.data=e?.data}}function Ns(e){const t=e.replace(/\n+$/,"").split(/\n/),n={data:void 0,event:void 0,id:void 0,retry:void 0,comments:[]};for(const e of t){const t=e.indexOf(":"),i=-1===t?e:e.slice(0,t),s=-1===t?"":e.slice(t+1).replace(/^\s/,"");if(0===t)n.comments.push(s);else if("data"===i)n.data??="",n.data+=`${s}\n`;else if("event"===i)n.event=s;else if("id"===i)n.id=s;else if("retry"===i){const e=Number.parseInt(s);Number.isInteger(e)&&e>=0&&e.toString()===s&&(n.retry=e)}}return n.data=n.data?.replace(/\n$/,""),n}class Os{constructor(e={}){this.options=e}incomplete="";feed(e){this.incomplete+=e;const t=this.incomplete.lastIndexOf("\n\n");if(-1===t)return;const n=this.incomplete.slice(0,t).split(/\n\n/);this.incomplete=this.incomplete.slice(t+2);for(const e of n){const t=Ns(`${e}\n\n`);this.options.onEvent&&this.options.onEvent(t)}this.incomplete=""}end(){if(this.incomplete)throw new Cs("Event Iterator ended before complete")}}class qs extends TransformStream{constructor(){let e;super({start(t){e=new Os({onEvent:e=>{t.enqueue(e)}})},transform(t){e.feed(t)},flush(){e.end()}})}}function Ms(e){if(e.includes("\n"))throw new Rs("Event's id must not contain a newline character")}function js(e){if(!Number.isInteger(e)||e<0)throw new Rs("Event's retry must be a integer and >= 0")}function Ls(e){if(e.includes("\n"))throw new Rs("Event's comment must not contain a newline character")}function zs(e){let t="";return t+=function(e){let t="";for(const n of e??[])Ls(n),t+=`: ${n}\n`;return t}(e.comments),void 0!==e.event&&(function(e){if(e.includes("\n"))throw new Rs("Event's event must not contain a newline character")}(e.event),t+=`event: ${e.event}\n`),void 0!==e.retry&&(js(e.retry),t+=`retry: ${e.retry}\n`),void 0!==e.id&&(Ms(e.id),t+=`id: ${e.id}\n`),t+=function(e){const t=e?.split(/\n/)??[];let n="";for(const e of t)n+=`data: ${e}\n`;return n}(e.data),t+="\n",t}const $s=Symbol("ORPC_EVENT_SOURCE_META");function Gs(e,t){if(void 0===t.id&&void 0===t.retry&&!t.comments?.length)return e;if(void 0!==t.id&&Ms(t.id),void 0!==t.retry&&js(t.retry),void 0!==t.comments)for(const e of t.comments)Ls(e);return new Proxy(e,{get:(e,n,i)=>n===$s?t:Reflect.get(e,n,i)})}function Ys(e){return ys(e)?Reflect.get(e,$s):void 0}function Fs(e,t){const n={...e};for(const e in t)Array.isArray(t[e])?n[e]=[...es(n[e]),...t[e]]:void 0!==t[e]&&(n[e]=Array.isArray(n[e])?[...n[e],t[e]]:void 0!==n[e]?[n[e],t[e]]:t[e]);return n}function Zs(e,t){const n=async e=>{let n=await t.error(e);if(n!==e){const t=Ys(e);t&&ys(n)&&(n=Gs(n,t))}return n};return new us((async()=>{const{done:i,value:s}=await(async()=>{try{return await e.next()}catch(e){throw await n(e)}})();let r=await t.value(s,i);if(r!==s){const e=Ys(s);e&&ys(r)&&(r=Gs(r,e))}return{done:i,value:r}}),(async()=>{try{await(e.return?.())}catch(e){throw await n(e)}}))}function Vs(e,t={}){const n=t.path??[],i=new Proxy((async(...[t,i={}])=>await e.call(n,t,function(e){return{...e,context:e.context??{}}}(i))),{get:(t,i)=>"string"!=typeof i?Reflect.get(t,i):Vs(e,{path:[...n,i]})});return ks(i)}function Ws(e,t){return{...e,...t}}class Bs{"~orpc";constructor(e){if(e.route?.successStatus&&Ss(e.route.successStatus))throw new Error("[ContractProcedure] Invalid successStatus.");if(Object.values(e.errorMap).some((e=>e&&e.status&&!Ss(e.status))))throw new Error("[ContractProcedure] Invalid error status code.");this["~orpc"]=e}}function Hs(e){return e instanceof Bs||("object"==typeof e||"function"==typeof e)&&null!==e&&"~orpc"in e&&"object"==typeof e["~orpc"]&&null!==e["~orpc"]&&"errorMap"in e["~orpc"]&&"route"in e["~orpc"]&&"meta"in e["~orpc"]}function Ks(e,t){let n=e;return t.prefix&&(n=function(e,t){return e.path?{...e,path:`${t}${e.path}`}:e}(n,t.prefix)),t.tags?.length&&(n=function(e,t){return{...e,tags:[...t,...e.tags??[]]}}(n,t.tags)),n}function Js(e,t){if(Hs(e))return new Bs({...e["~orpc"],errorMap:Ws(t.errorMap,e["~orpc"].errorMap),route:Ks(e["~orpc"].route,t)});const n={};for(const i in e)n[i]=Js(e[i],t);return n}class Xs extends Bs{constructor(e){super(e),this["~orpc"].prefix=e.prefix,this["~orpc"].tags=e.tags}$meta(e){return new Xs({...this["~orpc"],meta:e})}$route(e){return new Xs({...this["~orpc"],route:e})}errors(e){return new Xs({...this["~orpc"],errorMap:Ws(this["~orpc"].errorMap,e)})}meta(e){return new Xs({...this["~orpc"],meta:(t=this["~orpc"].meta,n=e,{...t,...n})});var t,n}route(e){return new Xs({...this["~orpc"],route:(t=this["~orpc"].route,n=e,{...t,...n})});var t,n}input(e){return new Xs({...this["~orpc"],inputSchema:e})}output(e){return new Xs({...this["~orpc"],outputSchema:e})}prefix(e){return new Xs({...this["~orpc"],prefix:(t=this["~orpc"].prefix,n=e,t?`${t}${n}`:n)});var t,n}tag(...e){return new Xs({...this["~orpc"],tags:(t=this["~orpc"].tags,n=e,t?[...t,...n]:n)});var t,n}router(e){return Js(e,this["~orpc"])}}const Qs=new Xs({errorMap:{},route:{},meta:{}}),er={defaultMethod:"POST",defaultSuccessStatus:200,defaultSuccessDescription:"OK",defaultInputStructure:"compact",defaultOutputStructure:"compact"};function tr(e,t){return void 0===t?er[e]:t}const nr=Symbol.for("constructDateFrom");function ir(e,t){return"function"==typeof e?e(t):e&&"object"==typeof e&&nr in e?e[nr](t):e instanceof Date?new e.constructor(t):new Date(t)}function sr(e,t){const n=ir(i=e,i);var i;return isNaN(t)?ir(e,NaN):t?(n.setDate(n.getDate()+t),n):n}const rr={},or={};function ar(e,t){try{const n=(rr[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return n in or?or[n]:dr(n,n.split(":"))}catch{if(e in or)return or[e];const t=e?.match(cr);return t?dr(e,t.slice(1)):NaN}}const cr=/([+-]\d\d):?(\d\d)?/;function dr(e,t){const n=+(t[0]||0),i=+(t[1]||0),s=+(t[2]||0)/60;return or[e]=60*n+i>0?60*n+i+s:60*n-i-s}var pr=class e extends Date{constructor(...e){super(),e.length>1&&"string"==typeof e[e.length-1]&&(this.timeZone=e.pop()),this.internal=new Date,isNaN(ar(this.timeZone,this))?this.setTime(NaN):e.length?"number"==typeof e[0]&&(1===e.length||2===e.length&&"number"!=typeof e[1])?this.setTime(e[0]):"string"==typeof e[0]?this.setTime(+new Date(e[0])):e[0]instanceof Date?this.setTime(+e[0]):(this.setTime(+new Date(...e)),mr(this),ur(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new e(...n,t):new e(Date.now(),t)}withTimeZone(t){return new e(+this,t)}getTimezoneOffset(){const e=-ar(this.timeZone,this);return e>0?Math.floor(e):Math.ceil(e)}setTime(e){return Date.prototype.setTime.apply(this,arguments),ur(this),+this}[Symbol.for("constructDateFrom")](t){return new e(+new Date(t),this.timeZone)}};const lr=/^(get|set)(?!UTC)/;function ur(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(60*-ar(e.timeZone,e)))}function mr(e){const t=ar(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),i=new Date(+e);i.setUTCHours(i.getUTCHours()-1);const s=-new Date(+e).getTimezoneOffset(),r=s- -new Date(+i).getTimezoneOffset(),o=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();r&&o&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+r);const a=s-n;a&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+a);const c=new Date(+e);c.setUTCSeconds(0);const d=s>0?c.getSeconds():(c.getSeconds()-60)%60,p=Math.round(-60*ar(e.timeZone,e))%60;(p||d)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+p),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+p+d));const l=ar(e.timeZone,e),u=l>0?Math.floor(l):Math.ceil(l),m=-new Date(+e).getTimezoneOffset()-u-a;if(u!==n&&m){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+m);const t=ar(e.timeZone,e),n=u-(t>0?Math.floor(t):Math.ceil(t));n&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+n),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+n))}}function fr(e){return("string"==typeof e?new Date(e):e).toISOString().replace(/\.\d{3}Z$/,"")}let hr;Object.getOwnPropertyNames(Date.prototype).forEach((e=>{if(!lr.test(e))return;const t=e.replace(lr,"$1UTC");pr.prototype[t]&&(e.startsWith("get")?pr.prototype[e]=function(){return this.internal[t]()}:(pr.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),function(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),mr(e)}(this),+this},pr.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),ur(this),+this}))})),function(e){const t=e.Tenant={id:"tnt_01jqpj2t2kfvmstt6f6tzkbaf2",oldId:"none",name:"Session Services",slug:"session-services",email:"hello@session.services",adminTeamId:"tem_01jqpjksnsen9vprw95et60t3m",defaultCurrency:"AUD",baseUrl:{dev:"http://localhost:3000",production:"https://app.session.services"},logo:{icon:{src:"https://assets.session.services/icon-bg.png",width:29,height:29},email:{src:"https://assets.session.services/icon-bg.png",width:165,height:76},website:{src:"https://assets.session.services/icon-bg.png",width:165,height:76},qr:{src:"https://assets.session.services/tenants/session-services/qr.svg"}},favicon:"https://assets.session.services/tenants/session-services/favicon.svg"};e.Region={country:{id:"rgn_01jqpj2t2kfvmstt6f6tzkbaf2",name:"Australia",slug:"australia",kind:"COUNTRY",order:1},state:{id:"rgn_01jqpj2t2kfvmstt6f6tzkbaf3",name:"New South Wales",slug:"nsw",kind:"STATE",parentId:"rgn_01jqpj2t2kfvmstt6f6tzkbaf2",order:2},city:{id:"rgn_01jqpj2t2kfvmstt6f6tzkbaf4",name:"Sydney",slug:"sydney",kind:"CITY",parentId:"rgn_01jqpj2t2kfvmstt6f6tzkbaf3",latitude:-33.8688,longitude:151.2093,radius:25,order:3}};const n=e.User={id:"usr_01jps5cgsd4tzjghtnt45qnhn0",email:"test@session.services",firstName:"Jay",lastName:"McMullen",imageUrl:void 0,createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),tenantId:t.id,deleted:!1};e.EmailVerification={id:"emlvrf_01jps5cgsd4tzjghtnt45qnhn0",userId:"usr_01jps5cgsd4tzjghtnt45qnhn0",tenantId:t.id,email:"test@session.services",code:"123456",expiresAt:new Date(Date.now()+18e5).toISOString(),createdAt:(new Date).toISOString()},e.PasswordReset={id:"pwrst_01jps5cgsd4tzjghtnt45qnhn0",token:"c76e3a5d7105345b58e383e6d90fe7728b75f938b727f0b9ecc5b977e8c3b5d0",userId:"usr_01jps5cgsd4tzjghtnt45qnhn0",tenantId:t.id,email:"test@session.services",code:"123456",expiresAt:new Date(Date.now()+9e5).toISOString(),emailVerified:!1,twoFactorVerified:!1,createdAt:(new Date).toISOString()};const i=e.Team={id:"tem_01jqpjksnsen9vprw95et60t2m",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),name:"Session Services",slug:"session-services",description:"This is only a test...",type:"PROMOTER",tenantId:"tnt_01jqpj2t2kfvmstt6f6tzkbaf2",deleted:!1},s=e.Promoter={id:"pmt_01jqpjksnsen9vprw95et60t2m",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),teamId:i.id,name:"Session Services",slug:"session-services",description:"This is only a test...",payoutFrequency:"AFTER_EVENT",image:{src:"https://assets.session.services/icon-bg.png",alt:"Session Services Logo",width:800,height:800},approval:"APPROVED",geohash:"r3gx1",location:{id:"loc_01jqpjksnsen9vprw95et60t4m",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),name:"Sydney",address:"Sydney NSW 2000, Australia",city:"Sydney",state:"New South Wales",postcode:"2000",country:"Australia",latitude:-33.8944593,longitude:151.2252255,timeZone:"Australia/Sydney"},tracking:{fbId:"485739562847563",gtmId:"GTM-K8WPM5N",tikTokId:"BQCKPH3RC77U8GPMLJ5G"},tenantId:"tnt_01jqpj2t2kfvmstt6f6tzkbaf2",deleted:!1};e.Venue={id:"ven_01jqpjksnsen9vprw95et60t2m",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),teamId:i.id,locationId:"loc_01jqpjksnsen9vprw95et60t3m",approval:"APPROVED",name:"Sydney Opera House",slug:"sydney-opera-house",description:"Iconic performing arts venue in Sydney, Australia",type:"THEATER",logo:{src:"https://assets.session.services/venues/sydney-opera-house.png",alt:"Sydney Opera House",width:800,height:800},images:[{src:"https://assets.session.services/venues/sydney-opera-house-1.jpg",alt:"Sydney Opera House exterior",width:1920,height:1080}],contact:{email:"info@sydneyoperahouse.com",phone:"+61 2 9250 7111",website:"https://www.sydneyoperahouse.com",instagram:"https://instagram.com/sydneyoperahouse",facebook:"https://facebook.com/sydneyoperahouse",twitter:"https://twitter.com/sydneyoperahouse"},location:{id:"loc_01jqpjksnsen9vprw95et60t3m",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),name:"Sydney Opera House",address:"Bennelong Point, Sydney NSW 2000",city:"Sydney",state:"New South Wales",postcode:"2000",country:"Australia",latitude:-33.8567844,longitude:151.2152967,timeZone:"Australia/Sydney",image:{src:"https://assets.session.services/locations/sydney-opera-house.jpg",alt:"Sydney Opera House",width:1200,height:800}},geohash:"r3gx2f9",capacity:5738,tenantId:t.id,deleted:!1};const r=e.PromoterMember={id:"mbr_01jps5cgsec5ge0b1bxa6gzkkk",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),teamId:i.id,userId:n.id,user:{id:n.id,email:n.email,firstName:n.firstName,lastName:n.lastName,imageUrl:n.imageUrl},permissions:["FULL"],isOwner:!0,tenantId:t.id};e.TeamMember={id:"mbr_01jqpjksnsen9vprw95et60t2m",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),teamId:i.id,userId:n.id,user:{id:n.id,email:n.email,firstName:n.firstName,lastName:n.lastName,imageUrl:n.imageUrl},permissions:["FULL"],isOwner:!0,tenantId:t.id},e.TeamInvite={id:"inv_01jqpjksnsen9vprw95et60t4m",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),expiresAt:Math.floor(sr(new Date,7).getTime()/1e3),teamId:i.id,token:"a76e3c5d7109345b58e383e6d90f7728b75f9a38b727f0b9edd5b977e8c3b5d0",email:"team-invite@session.services",invitedBy:n.id,permissions:["EVENT","ORDER"],tenantId:t.id},e.CurrentSession={user:n,initials:"JM",isTenantAdmin:!0,promoters:[{...s,member:r}]},e.Session={id:"sess_01jps5cgsd4tzjghtnt45qnhn0",userId:n.id,tenantId:t.id,expiresAt:sr(new Date,30).toISOString(),twoFactorVerified:!1,createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString()},e.BackupCode={id:"bkc_01jps5cgsd4tzjghtnt45qnhn0",userId:n.id,tenantId:t.id,code:"ABC123DEF456",used:!1,createdAt:(new Date).toISOString()},e.UserSession={id:"uss_01jps5cgsd4tzjghtnt45qnhn0",userId:n.id,tenantId:t.id,ipAddress:"192.168.1.100",userAgent:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36",location:"Sydney, Australia",isCurrent:!0,expiresAt:sr(new Date,30).toISOString(),createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString()},e.PasskeyCredential={id:"pkc_01jps5cgsd4tzjghtnt45qnhn0",userId:n.id,tenantId:t.id,name:"iPhone Touch ID",credentialId:"cred_01jps5cgsd4tzjghtnt45qnhn0",credentialPublicKey:"pQECAyYgASFYIM...",credentialBackupEligible:!0,credentialBackupState:!1,credentialDeviceType:"singleDevice",counter:1,createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString()},e.SecurityKeyCredential={id:"skc_01jps5cgsd4tzjghtnt45qnhn0",userId:n.id,tenantId:t.id,name:"YubiKey 5 NFC",credentialId:"cred_01jps5cgsd4tzjghtnt45qnhn0",credentialPublicKey:"pQECAyYgASFYIM...",credentialBackupEligible:!1,credentialBackupState:!1,credentialDeviceType:"crossPlatform",counter:5,createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString()},e.TOTPCredential={id:"tpc_01jps5cgsd4tzjghtnt45qnhn0",userId:n.id,tenantId:t.id,secret:"JBSWY3DPEHPK3PXP",verified:!0,createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString()};const o=e.Location={id:"loc_01hk153x00eh99pagyydz03sbz",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),googlePlaceId:"ChIJ6zWCPUyxEmsRmc6BPrNaP4s",name:"Watson's EQ",address:"The, Entertainment Quarter, 1 Bent St, Moore Park NSW 2021, Australia",city:"Moore Park",state:"New South Wales",postcode:"2021",country:"Australia",latitude:-33.8944593,longitude:151.2252255,timeZone:"Australia/Sydney",types:["establishment","point_of_interest","restaurant","bar"],image:{src:"https://assets.session.services/locations/watsons-eq.jpg",alt:"Watson's EQ",width:1200,height:800}},a=e.Event={id:"evt_01jps5cgsenjrazw6wswmyspa3",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),name:"Test Event",slug:"test-event",description:"This is only a test...",approval:"APPROVED",status:"UPCOMING",visibility:"PUBLIC",currency:"AUD",entryStartsAt:fr(sr(new Date,1)),entryEndsAt:fr(sr(new Date,2)),publishAt:fr(new Date),images:{mobile:{src:"https://assets.session.services/event-mobile.jpg",alt:"Mobile Event Image",width:1080,height:1350},desktop:{src:"https://assets.session.services/event-desktop.jpg",alt:"Desktop Event Image",width:1920,height:1080}},geohash:"r3gx1",location:o,teamId:i.id,promoterId:s.id,tenantId:t.id,deleted:!1},c=e.Section={id:"sct_01jps5cgse0g3qj16kpq8t221r",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),teamId:i.id,promoterId:s.id,eventId:a.id,eventSlug:a.slug,name:"General Admission",capacity:1e3,limit:-1,available:700,sold:200,reserved:100,order:0,location:o,tenantId:t.id,deleted:!1,orderPadded:"0000000000"},d=e.Admission={id:"adm_01jps5cgsee0xvapbk92e8eb4g",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),sectionId:c.id,teamId:i.id,promoterId:s.id,eventId:a.id,eventSlug:a.slug,name:"Final Release",capacity:1e5,limit:-1,available:7e4,sold:2e4,reserved:1e4,order:0,entryStartsAt:fr(sr(new Date,1)),entryEndsAt:fr(sr(new Date,2)),saleStartsAt:fr(new Date),saleEndsAt:fr(sr(new Date,2)),price:{base:1e3,booking:200,currency:"AUD"},tenantId:t.id,deleted:!1,orderPadded:"0000000000"};e.DetailedEvent={...a,admissions:[d],sections:[c]};const p=e.Beneficiary={id:"ben_01jps5cgse5n6mg1ymkew9tsfh",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),name:"My Bank Account",currency:"AUD",gatewayId:"7489cb17-24c5-4acf-a0cf-d93ed38081fe",gateway:"AIRWALLEX",teamId:i.id,promoterIds:[s.id],venueIds:[],tenantId:t.id};e.AirwallexBeneficiary={transfer_methods:["LOCAL"],beneficiary:{additional_info:{personal_email:"test@session.services"},address:{city:"Sydney",country_code:"AU",postcode:"2000",state:"AU-NSW",street_address:"123 George Street"},bank_details:{account_currency:"AUD",account_name:"John Doe",account_number:"999994",account_routing_type1:"bsb",account_routing_value1:"062004",bank_country_code:"AU",local_clearing_system:"BANK_TRANSFER"},entity_type:"PERSONAL",company_name:"Doe Enterprises Pty Ltd",first_name:"John",last_name:"Doe"}};const l=e.Coupon={id:"cpn_01jps5cgsfzs1ksqaet5hba8ac",couponId:"cpn_01jps5cgsfzs1ksqaet5hba8ac",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),name:"Half Price",active:!0,kind:"PERCENT",filter:"TEAM",currency:"AUD",discount:50,uses:0,limit:-1,saleStartsAt:"2025-02-10T03:00:00",saleEndsAt:void 0,deletedAt:void 0,teamId:i.id,tenantId:t.id,deleted:!1},u=e.CouponCode={id:"cod_01jps5cgsfzftw7hxcvr2wftk2",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),active:!0,name:"TEST50",uses:0,tenantId:t.id,couponId:l.id,teamId:i.id,deleted:!1},m=e.AmountCoupon={id:"cpn_01jps5cgsfndn8jcsfvh72x811",couponId:"cpn_01jps5cgsfndn8jcsfvh72x811",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),name:"Half Price",active:!0,kind:"PERCENT",filter:"EVENTS",currency:"AUD",eventIds:[a.id],discount:50,uses:0,limit:-1,saleStartsAt:"2025-02-10T03:00:00",saleEndsAt:void 0,deletedAt:void 0,teamId:i.id,tenantId:t.id};e.AmountCouponCode={id:"cod_01jps5cgsfq06xvvhg0hn2rdzd",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),active:!0,name:"TEST5DOLLAR",uses:0,tenantId:t.id,couponId:m.id,teamId:i.id};const f=e.Customer={id:"cus_01jps5cgsf4pn2a32eamppnap1",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),firstName:"Test",lastName:"User",email:"test@session.services",phone:"+61411111111",tenantId:t.id},h=e.PayoutTransfer={id:"xfr_01jq8s6c38f97w9yfrfcdhf47v",createdAt:(new Date).toISOString(),kind:"TICKETS",amount:1e3,currency:"AUD",fee:0,feeCurrency:"AUD",reference:"XYZ",gateway:"AIRWALLEX",gatewayId:"fe33fb0f-d9d8-47cd-8eef-6a19bd6223eb",beneficiary:p.name,beneficiaryId:p.id},g=e.PayoutDeduction={id:"pad_01jq90naksfzf8gt2xnn71h21h",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),amount:100,currency:"AUD",description:"Minimum bar spend not met",reference:"XYZ",gateway:"AIRWALLEX",gatewayId:"1221bbbc-cc97-4119-a597-69019e9d8a93",beneficiary:p.name,beneficiaryId:p.id},v=e.Payout={id:"pyt_01jps5cgsfv2wre6hd0rc4w4t8",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),paidAt:(new Date).toISOString(),status:"PAID",method:"AIRWALLEX",structure:"DEFAULT",approval:"PENDING",frequency:"AFTER_EVENT",transfers:[h],deductions:[g],event:{id:a.id,name:a.name,slug:a.slug,location:a.location.name},price:{net:1e3,total:1e3,gross:1e3,base:1e3,booking:0,refunded:0,discount:0,gateway:0,dispute:0,shipping:0,deductions:0,currency:"AUD"},eventId:a.id,teamId:i.id,promoterId:s.id,promoterSlug:s.slug,tenantId:t.id},y=e.OrderItem={id:"itm_01jps5cgsfwyxj0516571eaf17",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),orderId:"ord_01jps5cgsfgve5b5g2666kyryh",kind:"ADMISSION",quantity:2,admissionId:d.id,sectionId:c.id,price:{net:d.price.base+d.price.booking,total:d.price.base+d.price.booking,gross:d.price.base+d.price.booking,base:d.price.base,booking:d.price.booking,refunded:0,discount:0,currency:d.price.currency}};e.OrderFee={id:"fee_01jps5cgsgamykd6kh2t738qkh",createdAt:(new Date).toISOString(),reason:"Gateway Fee",amount:-30,currency:"AUD",requestId:"att_sgpdz4v2ph1axmdmdx8_m8w6qv"};const b=e.Order={id:"ord_01jps5cgsfgve5b5g2666kyryh",token:"c76e3a5d7105345b58e383e6d90fe7728b75f938b727f0b9ecc5b977e8c3b5d0",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),status:"PENDING",price:{net:500,total:1400,gross:2200,base:1e3,booking:400,discount:-1e3,refunded:-700,gateway:0,dispute:0,shipping:0,currency:"AUD"},code:{id:u.id,name:u.name},event:{id:a.id,name:a.name,slug:a.slug},fees:[],items:[y],customer:hr.Customer,customerId:hr.Customer.id,teamId:hr.Team.id,promoterId:hr.Promoter.id,promoterSlug:hr.Promoter.slug,eventId:hr.Event.id,eventSlug:hr.Event.slug,payment:{method:"AIRWALLEX",source:"CARD"},payoutIds:[v.id],tenantId:hr.Tenant.id,checkoutUrl:`${t.baseUrl.dev}/checkout/ord_01jps5cgsfgve5b5g2666kyryh`},w=e.TicketScan={id:"scn_01jq4rjmtzyzgtsavn9f34mxan",scannedAt:(new Date).toISOString(),scannedBy:{id:n.id,firstName:n.firstName,lastName:n.lastName,email:n.email},scannedById:n.id,deviceId:"dev_01jq4rjvrgar43zwvyakbje22m",kind:"CHECK_IN"};e.Ticket={id:"tkt_01jps5cgsg0s32w2pr73vbccde",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),status:"REDEEMED",scans:[w],token:"7b81e13025f78f9935d5933eec3ab25e3c2bb811c99f2470182dd6ba4394ff82",attendee:{email:f.email,firstName:f.firstName,lastName:f.lastName},event:{id:a.id,name:a.name,slug:a.slug,location:a.location,entryStartsAt:a.entryStartsAt,entryEndsAt:a.entryEndsAt,images:a.images},admission:{id:d.id,name:d.name,price:d.price,entryStartsAt:d.entryStartsAt,entryEndsAt:d.entryEndsAt},eventId:a.id,admissionId:d.id,customerId:f.id,orderId:b.id,orderItemId:y.id,teamId:i.id,promoterId:s.id,promoterSlug:s.slug,tenantId:t.id}}(hr||(hr={}));const gr=Ni(["PENDING","APPROVED","REJECTED"]).meta({description:"Approval status. PENDING: awaiting review, APPROVED: approved for operation, REJECTED: rejected and cannot operate"}),vr=Ni(["AUD","CNY","USD","HKD","EUR","GBP","CAD","SGD","CHF","NZD","JPY","THB","SEK","NOK","DKK","HUF","CZK","PLN","RON","KRW","MXN","ILS","ZAR","AED"]).meta({examples:["AUD"],description:"Three-letter ISO 4217 currency code for transactions and payouts"});function yr(e,t){return jn().regex(new RegExp(`^${e}_[0-9a-z]{26}$`),`Must be a valid ${t} ID`).describe(`Unique ${t} identifier`)}const br=yr("tem","team"),wr=yr("evt","event"),Ir=yr("ven","venue"),kr=yr("loc","location"),xr=yr("usr","user"),Ar=yr("ord","order");yr("tkt","ticket");const Er=yr("pmt","promoter");yr("cpn","coupon"),yr("cod","coupon code");const Dr=yr("cus","customer"),Tr=yr("adm","admission"),Sr=yr("sct","section");yr("ben","beneficiary");const _r=yr("pyt","payout"),Pr=yr("mbr","team member"),Rr=yr("inv","team invite"),Cr=yr("ecl","event collaborator"),Ur=yr("psc","permission scope"),Nr=Ei({src:Zn().meta({examples:["https://assets.session.services/my-image.jpg"]}),alt:jn().meta({examples:["My Image"]}),width:ci().meta({examples:[1080]}),height:ci().meta({examples:[1080]})}),Or=Ti([jn(),ci(),ui(),function(e,t){return new mi({type:"null",...D(t)})}(0,undefined)]);const qr=new Ki({type:"lazy",getter:()=>Ti([Or,xi(qr),Ci(jn(),qr)])}),Mr=Ci(jn().min(1).max(40).meta({description:"Metadata key. Must be 1-40 characters"}),jn().max(500).meta({description:"Metadata value. Must not exceed 500 characters"})).refine((e=>Object.keys(e).length<=50),{message:"Metadata cannot exceed 50 keys"}).optional().meta({description:"Flexible key-value metadata storage for custom configuration. Similar to Stripe's metadata API. Maximum 50 keys, key names up to 40 characters, values up to 500 characters."}),jr=jn().regex(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$/,"Must be a naive datetime without timezone (YYYY-MM-DDTHH:mm:ss)").meta({description:"Wall clock time without timezone (displays same everywhere)",examples:["2025-03-15T19:30:00"]}),Lr=Ni(["EVENT","ORDER","FINANCE","SCANNING","MARKETING","BILLING","PROMOTER","TEAM","VENUE","EDITOR","FULL"]),zr=xi(Lr).min(1).meta({description:"Array of permission nodes. Must contain at least one permission. Empty arrays are not allowed for base permissions.",examples:[["EVENT","ORDER"],["FULL"],["SCANNING"]]}),$r=Ei({id:Tr.readonly().meta({description:"A unique identifier for this admission",examples:[hr.Admission.id]}),name:jn().meta({description:"The display name of the admission type shown to customers",examples:[hr.Admission.name]}),capacity:ci().min(-1).prefault(-1).meta({examples:[hr.Admission.capacity],description:"Maximum number of tickets that can be sold for this admission type. A value of -1 indicates unlimited"}),limit:ci().min(-1).prefault(-1).refine((e=>0!==e),{message:"Limit cannot be 0. Use -1 for unlimited or a positive number for a specific limit"}).meta({examples:[hr.Admission.limit??-1],description:"Maximum number of tickets of this admission type that can be purchased in a single order. A value of -1 indicates unlimited"}),available:ci().min(-1).readonly().meta({examples:[hr.Admission.available],description:"Current number of tickets available for purchase, calculated as capacity minus sold minus reserved. A value of -1 indicates unlimited"}),sold:ci().min(0).readonly().meta({examples:[hr.Admission.sold],description:"Total number of tickets of this admission type that have been purchased"}),reserved:ci().min(0).readonly().meta({examples:[hr.Admission.reserved],description:"Number of tickets held for customers during checkout and not available to others"}),order:ci().min(0).meta({examples:[hr.Admission.order],description:"Determines the position in which this admission type appears when listed. Lower values appear first"}),createdAt:yn().readonly().meta({examples:[hr.Admission.createdAt],description:"Timestamp in ISO 8601 format when this admission type was created"}),updatedAt:yn().readonly().meta({examples:[hr.Admission.updatedAt],description:"Timestamp in ISO 8601 format when this admission type was last updated"}),entryStartsAt:jr.meta({examples:[hr.Admission.entryStartsAt],description:"Wall clock time from which tickets of this type are valid for entry (no timezone)"}),entryEndsAt:jr.meta({examples:[hr.Admission.entryEndsAt],description:"Wall clock time until which tickets of this type are valid for entry (no timezone)"}),saleStartsAt:jr.meta({examples:[hr.Admission.saleStartsAt],description:"Wall clock time when ticket sales for this admission type begin (no timezone)"}),saleEndsAt:jr.meta({examples:[hr.Admission.saleEndsAt],description:"Wall clock time when ticket sales for this admission type end (no timezone)"}),price:Ei({base:pi().min(0).meta({examples:[hr.Admission.price.base],description:"Base cost of a ticket for this admission type before fees, in cents"}),booking:pi().min(0).meta({examples:[hr.Admission.price.booking],description:"Additional booking fee applied to the ticket price, in cents"}),currency:jn().regex(/^[A-Z]{3}$/).meta({examples:[hr.Admission.price.currency],description:"Three-letter ISO 4217 currency code for the ticket price"})}).meta({examples:[hr.Admission.price],description:"Pricing details for this admission type, including base cost and fees in cents, and currency"}),sectionId:Sr.nullable().optional().meta({examples:[hr.Admission.sectionId],description:"Identifier of the section this admission type belongs to, if any"}),teamId:br.meta({description:"Team that owns this admission. Denormalized for efficient queries."}),promoterId:Er.meta({examples:[hr.Admission.promoterId],description:"Identifier of the promoter responsible for this admission type"}),eventId:wr.meta({examples:[hr.Admission.eventId],description:"Identifier of the event to which this admission type is linked"}),eventSlug:jn().meta({examples:[hr.Admission.eventSlug],description:"URL-friendly slug for the event associated with this admission type"})}).meta({description:"Admission represents a specific type or category of ticket available for an event",examples:[hr.Admission]}),Gr=$r.omit({id:!0,createdAt:!0,updatedAt:!0,available:!0,sold:!0,reserved:!0}).meta({description:"Schema for creating a new admission type for an event"}),Yr=$r.pick({id:!0}).extend({eventId:$r.shape.eventId.meta({examples:[hr.Admission.eventId],description:"Identifier of the event to which this admission type belongs"})}).meta({description:"Schema for deleting an admission type from an event. This performs a soft delete by setting the deletedAt timestamp"}),Fr=$r.pick({id:!0}).extend({eventId:wr.meta({examples:[hr.Admission.eventId],description:"Identifier of the event to which this admission type belongs"})}).meta({description:"Schema for retrieving a specific admission type"}),Zr=Ei({eventId:jn().meta({examples:[hr.Admission.eventId],description:"Identifier of the event to list admission types for"}),sectionId:jn().optional().meta({examples:[hr.Admission.sectionId],description:"Filter admission types by section identifier. If provided, only admissions for this section are returned"}),query:jn().optional().meta({examples:["Early Bird"],description:"Optional search query to filter admissions by name. When provided, search-backed pagination is used."}),limit:Xi().min(1).max(100).prefault(20).meta({examples:[20],description:"Maximum number of admission types to return per request. Must be between 1 and 100"}).optional(),cursor:jn().optional().meta({examples:["eyJpZCI6ImFkbV8wMWpwczVjZ3NlZTB4dmFwYms5MmU4ZWI0ZyJ9"],description:"Pagination cursor for retrieving the next set of results. Obtained from previous response"})}).meta({description:"Schema for listing admission types with pagination and filtering options"});function Vr(e,t){return Ei({[t]:xi(e).meta({description:`Array of ${t} for the current result set`}),before:jn().nullish().meta({examples:["eyJ2ZXJzaW9uIjoxLCJpbnRlbnQiOnsic291cmNlIjoiZGVtbyJ9LCJwb3MiOnsicHJpbWFyeUtleSI6InBybV8wMXM4NTNqIn19"],description:"Cursor for navigating backward in the result set. Omitted when there are no prior results."}),after:jn().nullish().meta({examples:["eyJ2ZXJzaW9uIjoxLCJpbnRlbnQiOnsic291cmNlIjoiZGVtbyJ9LCJwb3MiOnsicHJpbWFyeUtleSI6InBybV8wMXM4NTNkIn19"],description:"Cursor for navigating forward in the result set. Omitted when there are no subsequent results."}),limit:Xi().min(1).meta({examples:[20],description:"Maximum number of items to return in each result set"})})}const Wr=Vr($r,"admissions"),Br=$r.pick({eventId:!0}).extend({message:jn().meta({examples:["7.5% of the ticket price or $2 AUD, whichever is higher"],description:"Detailed explanation of the booking fee calculation applied to this admission type"}),price:Ei({base:pi().min(0).meta({examples:[hr.Admission.price.base],description:"Base cost of a ticket for this admission type before fees, in cents"}),booking:pi().min(0).meta({examples:[hr.Admission.price.booking],description:"Calculated booking fee applied to the ticket price, in cents"}),currency:jn().regex(/^[A-Z]{3}$/).meta({examples:[hr.Admission.price.currency],description:"Three-letter ISO 4217 currency code for the quoted price"})}).meta({examples:[hr.Admission.price],description:"Pricing quote for this admission type, showing base cost and calculated booking fee in cents"})}).meta({description:"Response schema for admission pricing quotes, including booking fee calculations and explanatory messages"}),Hr=$r.pick({eventId:!0}).extend({base:pi().min(0).meta({examples:[hr.Admission.price.base],description:"Base cost of a ticket for this admission type before fees, in cents"}),currency:jn().regex(/^[A-Z]{3}$/).meta({examples:[hr.Admission.price.currency],description:"Three-letter ISO 4217 currency code for the ticket price"})}).meta({description:"Request schema for generating a pricing quote for an admission type, including booking fee calculations"}),Kr=Ei({quote:Br}),Jr=Ei({admission:$r}),Xr=$r.omit({promoterId:!0,createdAt:!0,updatedAt:!0,eventSlug:!0,sold:!0,reserved:!0}).partial().extend({id:$r.shape.id,eventId:$r.shape.eventId,sectionId:Sr.nullable().optional().meta({description:"Section ID. Pass null to unassign from section; omit to leave unchanged."})}).meta({description:"Schema for updating an existing admission type."}),Qr=Ei({value:ci().describe("Current period value"),previous:ci().describe("Comparison period value"),change:ci().describe("Percentage change from previous period"),changeType:Ni(["increase","decrease","unchanged"]).describe("Direction of change")}),eo=Ei({eventId:jn().describe("Event identifier"),startDate:jn().optional().describe("Start date (YYYY-MM-DD). If omitted, returns all-time data."),endDate:jn().optional().describe("End date (YYYY-MM-DD). If omitted, returns all-time data.")}),to=Ei({meta:Ei({eventId:jn().describe("Event identifier"),eventName:jn().describe("Event name"),currency:jn().describe("Currency code (e.g., USD, EUR)"),dateRange:Ei({start:jn().describe("Period start date"),end:jn().describe("Period end date")}).optional().describe("Present only when startDate/endDate are provided"),comparisonRange:Ei({start:jn().describe("Comparison period start date"),end:jn().describe("Comparison period end date")}).optional().describe("Present only when startDate/endDate are provided")}),metrics:Ei({revenue:Qr.describe("Total revenue in cents"),ticketsSold:Qr.describe("Number of tickets sold"),orderCount:Qr.describe("Number of orders placed"),averageOrderValue:Qr.describe("Average order value in cents"),conversionRate:Qr.describe("Conversion rate as percentage"),pageViews:Qr.describe("Total page/product views"),uniqueVisitors:Qr.describe("Unique visitors (estimated)"),checkoutStarted:Qr.describe("Number of checkout started events (external link clicks for external events)")})}),no=Ei({eventId:jn().describe("Event identifier"),startDate:jn().describe("Start date"),endDate:jn().describe("End date"),granularity:Ni(["HOUR","DAY","WEEK","MONTH"]).optional().default("DAY").describe("Time granularity for aggregation"),breakdown:Ni(["TOTAL"]).optional().default("TOTAL").describe("Breakdown type (always TOTAL for performance)")}),io=Ei({meta:Ei({eventId:jn(),eventName:jn().describe("Event name"),currency:jn().describe("Currency code"),dateRange:Ei({start:jn(),end:jn()}),granularity:Ni(["HOUR","DAY","WEEK","MONTH"])}),series:xi(Ei({date:jn().describe("Date or timestamp"),tickets:ci().describe("Tickets sold in period"),revenue:ci().describe("Revenue in period (cents)"),admissions:xi(Ei({id:jn(),name:jn(),quantity:ci()})),sections:xi(Ei({id:jn(),name:jn(),quantity:ci()}))}))}),so=Ei({eventId:jn().describe("Event identifier"),startDate:jn().describe("Start date (YYYY-MM-DD)"),endDate:jn().describe("End date (YYYY-MM-DD)")}),ro=Ei({meta:Ei({eventId:jn(),eventName:jn().describe("Event name"),currency:jn().describe("Currency code"),dateRange:Ei({start:jn(),end:jn()})}),totals:Ei({entered:ci().describe("Total entered funnel (product viewed)"),completed:ci().describe("Total completed (orders)"),overallConversionRate:ci().describe("Overall conversion rate (%)"),totalDropped:ci().describe("Total dropped off")}),stages:xi(Ei({id:jn().describe("Funnel stage identifier"),name:jn().describe("Human-readable stage name"),count:ci().describe("Number of events at this stage"),conversionRate:ci().describe("Conversion rate from first stage (%)"),dropoffRate:ci().describe("Dropoff rate from previous stage (%)")}))});Ei({meta:Ei({eventId:jn(),dimension:jn().describe("Dimension type"),dateRange:Ei({start:jn(),end:jn()}),limit:ci().optional()}),data:xi(Ei({name:jn().describe("Dimension value (e.g., campaign name)"),views:ci().describe("Page/product views"),conversions:ci().describe("Completed orders"),revenue:ci().describe("Total revenue in cents"),conversionRate:ci().describe("Conversion rate (%)"),share:ci().describe("Percentage share of total").optional()})),totals:Ei({views:ci(),conversions:ci(),revenue:ci()}).optional()});const oo=Ei({startDate:jn().datetime(),endDate:jn().datetime()}),ao=Ni(["HOUR","DAY","WEEK","MONTH"]);Ei({eventId:jn(),granularity:ao.optional()}).merge(oo),Ei({granularity:ao,data:xi(Ei({date:jn(),revenue:ci(),ticketsSold:ci()}))});const co=Ei({eventId:jn(),limit:ci().min(1).max(100).optional().default(10)}).merge(oo),po=Ei({meta:Ei({eventId:jn().describe("Event identifier"),eventName:jn().describe("Event name"),currency:jn().describe("Currency code (e.g., USD, EUR)"),dateRange:Ei({start:jn().describe("Period start date"),end:jn().describe("Period end date")}),limit:ci().describe("Maximum number of results returned")}),totals:Ei({uses:ci().describe("Total coupon uses across all coupons"),revenue:ci().describe("Total revenue from coupon-discounted orders (cents)")}),coupons:xi(Ei({id:jn().describe("Coupon code identifier"),code:jn().describe("Coupon code"),uses:ci().describe("Number of times this coupon was used"),revenue:ci().describe("Revenue from this coupon (cents)"),discount:jn().describe("Discount amount or percentage"),share:ci().describe("Share of total coupon uses (%)")})).describe("Coupons sorted by uses descending")}),lo=Ei({eventId:jn(),limit:ci().min(1).max(100).optional().default(10)}).merge(oo),uo=Ei({data:xi(Ei({campaign:jn(),views:ci(),conversions:ci(),conversionRate:ci(),sharePercent:ci()})),totalConversions:ci()}),mo=Ei({eventId:jn(),limit:ci().min(1).max(100).optional().default(10)}).merge(oo),fo=Ei({meta:Ei({eventId:jn().describe("Event identifier"),eventName:jn().describe("Event name"),currency:jn().describe("Currency code (e.g., USD, EUR)"),dateRange:Ei({start:jn().describe("Period start date"),end:jn().describe("Period end date")}),limit:ci().describe("Maximum number of results returned")}),totals:Ei({views:ci().describe("Total views across all mediums"),conversions:ci().describe("Total conversions across all mediums")}),mediums:xi(Ei({id:jn().describe("Medium identifier (e.g., 'social', 'email')"),name:jn().describe("Medium name"),views:ci().describe("Views from this medium"),conversions:ci().describe("Conversions from this medium"),conversionRate:ci().describe("Conversion rate (%)"),share:ci().describe("Share of total conversions (%)")})).describe("Mediums sorted by conversions descending")}),ho=Ei({eventId:jn()}).merge(oo),go=Ei({meta:Ei({eventId:jn().describe("Event identifier"),eventName:jn().describe("Event name"),currency:jn().describe("Currency code (e.g., USD, EUR)"),dateRange:Ei({start:jn().describe("Period start date"),end:jn().describe("Period end date")})}),totals:Ei({revenue:ci().describe("Total revenue across all devices (cents)"),orders:ci().describe("Total orders across all devices")}),devices:xi(Ei({id:Ni(["MOBILE","DESKTOP","TABLET"]).describe("Device type"),name:jn().describe("Human-readable device name"),revenue:ci().describe("Revenue from this device (cents)"),orders:ci().describe("Orders from this device"),conversionRate:ci().describe("Conversion rate (%)"),share:ci().describe("Share of total revenue (%)")})).describe("Devices sorted by revenue descending")}),vo=Ei({eventId:jn(),limit:ci().min(1).max(100).optional().default(10)}).merge(oo),yo=Ei({meta:Ei({eventId:jn().describe("Event identifier"),eventName:jn().describe("Event name"),currency:jn().describe("Currency code (e.g., USD, EUR)"),dateRange:Ei({start:jn().describe("Period start date"),end:jn().describe("Period end date")}),limit:ci().describe("Maximum number of results returned")}),totals:Ei({tickets:ci().describe("Total tickets across all locations"),revenue:ci().describe("Total revenue across all locations (cents)")}),locations:xi(Ei({id:jn().describe("Location/region code (e.g., 'US-CA', 'GB')"),name:jn().describe("Human-readable location name"),views:ci().describe("Page views from this location"),tickets:ci().describe("Tickets from this location"),revenue:ci().describe("Revenue from this location (cents)"),share:ci().describe("Share of total views (%)")})).describe("Locations sorted by views descending")}),bo=Ei({eventId:jn(),limit:ci().min(1).max(100).optional().default(10)}).merge(oo),wo=Ei({meta:Ei({eventId:jn().describe("Event identifier"),eventName:jn().describe("Event name"),currency:jn().describe("Currency code (e.g., USD, EUR)"),dateRange:Ei({start:jn().describe("Period start date"),end:jn().describe("Period end date")}),limit:ci().describe("Maximum number of results returned")}),totals:Ei({sessions:ci().describe("Total sessions across all sources"),conversions:ci().describe("Total conversions across all sources"),revenue:ci().describe("Total revenue across all sources (cents)")}),sources:xi(Ei({id:jn().describe("Traffic source identifier"),name:jn().describe("Traffic source name"),referrer:jn().describe("Referrer URL or domain"),sessions:ci().describe("Sessions from this source"),conversions:ci().describe("Conversions from this source"),conversionRate:ci().describe("Conversion rate (%)"),revenue:ci().describe("Revenue from this source (cents)"),share:ci().describe("Share of total conversions (%)")})).describe("Traffic sources sorted by conversions descending")}),Io=Ei({eventId:jn(),includeAdmission:ui().optional().default(!0),includeSection:ui().optional().default(!0),granularity:Ni(["HOUR","MINUTE"]).optional()}),ko=Ei({totalTickets:ci(),checkedIn:ci(),notCheckedIn:ci(),checkinRate:ci()}),xo=ko.extend({admissionId:jn(),admissionName:jn()}),Ao=ko.extend({sectionId:jn(),sectionName:jn()}),Eo=Ti([ko.extend({byAdmission:xi(xo),bySection:xi(Ao)}),Ei({granularity:Ni(["HOUR","MINUTE"]),totalTickets:ci(),data:xi(Ei({timestamp:jn(),checkedIn:ci(),rate:ci(),checkinsThisPeriod:ci()})),byAdmission:xi(Ei({admissionId:jn(),admissionName:jn(),data:xi(Ei({timestamp:jn(),checkedIn:ci(),rate:ci()}))})).optional(),bySection:xi(Ei({sectionId:jn(),sectionName:jn(),data:xi(Ei({timestamp:jn(),checkedIn:ci(),rate:ci()}))})).optional()})]),Do=Ei({promoterId:jn().describe("Promoter identifier"),startDate:jn().describe("Start date (YYYY-MM-DD)"),endDate:jn().describe("End date (YYYY-MM-DD)"),currency:jn().optional().describe("Currency code for revenue metrics")}),To=Ei({meta:Ei({promoterId:jn().describe("Promoter identifier"),promoterName:jn().describe("Promoter name"),teamId:jn().describe("Team identifier"),teamName:jn().describe("Team name"),currency:jn().describe("Primary currency code"),currencies:xi(jn()).describe("All currencies with transactions"),dateRange:Ei({start:jn().describe("Period start date"),end:jn().describe("Period end date")}),comparisonRange:Ei({start:jn().describe("Comparison period start date"),end:jn().describe("Comparison period end date")})}),metrics:Ei({revenue:Ei({value:ci().describe("Current period value"),previous:ci().describe("Comparison period value"),change:ci().describe("Percentage change from previous period"),changeType:Ni(["increase","decrease","unchanged"]).describe("Direction of change")}).describe("Total revenue in cents"),ticketsSold:Ei({value:ci(),previous:ci(),change:ci(),changeType:Ni(["increase","decrease","unchanged"])}).describe("Number of tickets sold"),averageOrderValue:Ei({value:ci(),previous:ci(),change:ci(),changeType:Ni(["increase","decrease","unchanged"])}).describe("Average order value in cents"),conversionRate:Ei({value:ci(),previous:ci(),change:ci(),changeType:Ni(["increase","decrease","unchanged"])}).describe("Overall conversion rate (%)"),activeEvents:Ei({value:ci(),previous:ci(),change:ci(),changeType:Ni(["increase","decrease","unchanged"])}).describe("Number of active events in period"),uniqueCustomers:Ei({value:ci(),previous:ci(),change:ci(),changeType:Ni(["increase","decrease","unchanged"])}).describe("Unique customers (estimated)"),orderCount:Ei({value:ci(),previous:ci(),change:ci(),changeType:Ni(["increase","decrease","unchanged"])}).describe("Number of orders placed"),pageViews:Ei({value:ci(),previous:ci(),change:ci(),changeType:Ni(["increase","decrease","unchanged"])}).describe("Total page views from tracking")})}),So=Ei({promoterId:jn().describe("Promoter identifier"),startDate:jn().describe("Start date"),endDate:jn().describe("End date"),granularity:Ni(["HOUR","DAY","WEEK","MONTH"]).optional().default("DAY").describe("Time granularity"),currency:jn().optional().describe("Currency filter")}),_o=Ei({meta:Ei({promoterId:jn(),dateRange:Ei({start:jn(),end:jn()}),granularity:Ni(["HOUR","DAY","WEEK","MONTH"])}),currencies:xi(Ei({currency:jn().describe("Currency code (e.g., USD, EUR)"),series:xi(Ei({date:jn().describe("Date (YYYY-MM-DD)"),revenue:ci().describe("Revenue in cents"),tickets:ci().describe("Tickets sold")})),totals:Ei({revenue:ci().describe("Total revenue for period in cents"),tickets:ci().describe("Total tickets for period")})})).describe("Time-series data grouped by currency")}),Po=Ei({promoterId:jn().describe("Promoter identifier"),startDate:jn().describe("Start date (ISO format)"),endDate:jn().describe("End date (ISO format)"),limit:ci().optional().default(5).describe("Maximum number of events to return")}),Ro=Ei({events:xi(Ei({eventId:jn().describe("Event identifier"),eventName:jn().describe("Event name"),ticketCount:ci().describe("Number of tickets sold"),sharePercent:ci().describe("Percentage of total tickets")})),totalTickets:ci().describe("Total tickets across all events")}),Co=Ei({value:ci().describe("Current period value"),previous:ci().describe("Comparison period value"),change:ci().describe("Percentage change from previous period"),changeType:Ni(["increase","decrease","unchanged"]).describe("Direction of change")}),Uo=Ei({teamId:jn().describe("Team identifier"),startDate:jn().describe("Start date (YYYY-MM-DD)"),endDate:jn().describe("End date (YYYY-MM-DD)"),currency:jn().optional().describe("Currency code for revenue metrics")}),No=Ei({meta:Ei({teamId:jn().describe("Team identifier"),teamName:jn().describe("Team name"),currency:jn().describe("Primary currency code"),currencies:xi(jn()).describe("All currencies with transactions"),dateRange:Ei({start:jn().describe("Period start date"),end:jn().describe("Period end date")}),comparisonRange:Ei({start:jn().describe("Comparison period start date"),end:jn().describe("Comparison period end date")})}),metrics:Ei({revenue:Co.describe("Total revenue in cents"),ticketsSold:Co.describe("Number of tickets sold"),averageOrderValue:Co.describe("Average order value in cents"),conversionRate:Co.describe("Overall conversion rate (%)"),activeEvents:Co.describe("Number of active events in period"),uniqueCustomers:Co.describe("Unique customers (estimated)"),orderCount:Co.describe("Number of orders placed"),pageViews:Co.describe("Total page views from tracking")})}),Oo=Ei({teamId:jn().describe("Team identifier"),startDate:jn().describe("Start date"),endDate:jn().describe("End date"),granularity:Ni(["HOUR","DAY","WEEK","MONTH"]).optional().default("DAY").describe("Time granularity"),currency:jn().optional().describe("Currency filter")}),qo=Ei({meta:Ei({teamId:jn(),dateRange:Ei({start:jn(),end:jn()}),granularity:Ni(["HOUR","DAY","WEEK","MONTH"])}),currencies:xi(Ei({currency:jn().describe("Currency code (e.g., USD, EUR)"),series:xi(Ei({date:jn().describe("Date (YYYY-MM-DD)"),revenue:ci().describe("Revenue in cents"),tickets:ci().describe("Tickets sold"),orders:ci().describe("Orders placed")})),totals:Ei({revenue:ci().describe("Total revenue for period in cents"),tickets:ci().describe("Total tickets for period"),orders:ci().describe("Total orders for period")})})).describe("Time-series data grouped by currency")});Ei({teamId:jn().describe("Team identifier"),startDate:jn().describe("Start date"),endDate:jn().describe("End date"),limit:ci().optional().default(10).describe("Number of events to return"),sortBy:Ni(["revenue","tickets","conversion"]).optional().default("revenue").describe("Sort metric")}),Ei({meta:Ei({teamId:jn(),dateRange:Ei({start:jn(),end:jn()}),limit:ci(),sortBy:jn()}),data:xi(Ei({eventId:jn().describe("Event identifier"),eventName:jn().describe("Event name"),eventDate:jn().describe("Event date").optional(),status:jn().describe("Event status"),revenue:ci().describe("Total revenue in cents"),tickets:ci().describe("Tickets sold"),views:ci().describe("Page views"),conversionRate:ci().describe("Conversion rate (%)"),contribution:ci().describe("% of promoter's total revenue")})),totals:Ei({events:ci().describe("Total events in period"),revenue:ci().describe("Combined revenue"),tickets:ci().describe("Combined tickets")})});const Mo=Ei({teamId:jn().describe("Team identifier"),startDate:jn().describe("Start date (ISO format)"),endDate:jn().describe("End date (ISO format)"),limit:ci().optional().default(5).describe("Maximum number of events to return")}),jo=Ei({events:xi(Ei({eventId:jn().describe("Event identifier"),eventName:jn().describe("Event name"),ticketCount:ci().describe("Number of tickets sold"),sharePercent:ci().describe("Percentage of total tickets")})),totalTickets:ci().describe("Total tickets across all events")}),Lo=Ei({teamId:jn().describe("Team identifier"),startDate:jn().describe("Start date (YYYY-MM-DD)"),endDate:jn().describe("End date (YYYY-MM-DD)")}),zo=Ei({stages:xi(Ei({stageId:jn().describe("Funnel stage identifier"),stageLabel:jn().describe("Human-readable stage name"),count:ci().describe("Number of events at this stage"),conversionRate:ci().describe("Conversion rate from first stage (%)"),dropoffPercent:ci().describe("Dropoff rate from previous stage (%)")}))}),$o=Ei({teamId:jn().describe("Team identifier"),startDate:jn().describe("Start date (ISO format)"),endDate:jn().describe("End date (ISO format)"),groupBy:Ni(["HOUR","DAY_OF_WEEK","DAY","WEEK","MONTH"]).optional().default("HOUR").describe("Time breakdown for aggregation"),timeZone:jn().optional().default("UTC").describe("IANA timezone for hour/day aggregation (e.g., 'America/New_York')")}),Go=Ei({groupBy:Ni(["HOUR","DAY_OF_WEEK","DAY","WEEK","MONTH"]).describe("The grouping used for aggregation"),buckets:xi(Ei({key:Ti([ci(),jn()]).describe("Bucket key (hour 0-23, day 0-6, or date string)"),label:jn().describe("Human-readable label"),orderCount:ci().describe("Number of orders"),sharePercent:ci().describe("Percentage of total orders")})),totalOrders:ci().describe("Total orders across all buckets")}),Yo=Ei({teamId:jn().describe("Team identifier"),startDate:jn().describe("Start date (ISO format)"),endDate:jn().describe("End date (ISO format)"),limit:ci().optional().default(10).describe("Maximum number of admissions to return")}),Fo=Ei({admissions:xi(Ei({admissionId:jn().describe("Admission identifier"),admissionName:jn().describe("Admission name"),ticketCount:ci().describe("Number of tickets sold"),sharePercent:ci().describe("Percentage of total tickets")})),totalTickets:ci().describe("Total tickets across all admissions")}),Zo=Ei({teamId:jn().describe("Team identifier"),startDate:jn().describe("Start date (YYYY-MM-DD)"),endDate:jn().describe("End date (YYYY-MM-DD)"),type:Ni(["campaign","medium","source"]).describe("Dimension type to analyze"),limit:ci().optional().default(20).describe("Maximum number of results to return")}),Vo=Ei({dimensionType:Ni(["campaign","medium","source"]).describe("The dimension type analyzed"),data:xi(Ei({dimensionValue:jn().describe("The dimension value (e.g., campaign name)"),dimensionLabel:jn().describe("Human-readable label"),views:ci().describe("Total page views"),conversions:ci().describe("Total conversions (orders)"),revenue:ci().describe("Total revenue in cents"),conversionRate:ci().describe("Conversion rate (%)"),sharePercent:ci().describe("Share of total conversions (%)"),uniqueVisitors:ci().describe("Unique visitors (estimated)")})),totalConversions:ci().describe("Total conversions across all dimensions")}),Wo=Ei({teamId:jn().describe("Team identifier"),startDate:jn().describe("Start date (YYYY-MM-DD)"),endDate:jn().describe("End date (YYYY-MM-DD)"),granularity:Ni(["DAY","WEEK","MONTH"]).optional().default("DAY").describe("Time granularity for aggregation")}),Bo=Ei({granularity:Ni(["DAY","WEEK","MONTH"]).describe("The granularity used"),series:xi(Ei({date:jn().describe("Date key (YYYY-MM-DD, YYYY-Www, or YYYY-MM)"),label:jn().describe("Human-readable label"),productViewed:ci().describe("Page views"),productAdded:ci().describe("Add to cart events"),checkoutStarted:ci().describe("Checkout started events"),orderCompleted:ci().describe("Completed orders")})),totals:Ei({productViewed:ci().describe("Total page views"),productAdded:ci().describe("Total add to cart"),checkoutStarted:ci().describe("Total checkouts started"),orderCompleted:ci().describe("Total orders completed"),uniqueVisitors:ci().describe("Unique visitors (estimated via HyperLogLog, ~0.8% error)")})}),Ho=Ni(["Products Searched","Product List Viewed","Product List Filtered","Promotion Viewed","Promotion Clicked","Product Clicked","Product Viewed","Product Added","Product Removed","Cart Viewed","Checkout Started","Checkout Step Viewed","Checkout Step Completed","Payment Info Entered","Order Completed","Order Updated","Order Refunded","Order Cancelled","Coupon Entered","Coupon Applied","Coupon Denied","Coupon Removed","Product Added to Wishlist","Product Removed from Wishlist","Wishlist Product Added to Cart","Product Shared","Cart Shared","Product Reviewed"]),Ko=Ei({product_id:jn().optional().describe("admission_id in ticketing context"),sku:jn().optional().describe("admission_id or admission_name"),category:jn().optional().describe('event_name or "Admission"'),name:jn().optional().describe("admission_name"),brand:jn().optional().describe("promoter_name"),variant:jn().optional().describe("section_name"),price:ci().optional().describe("admission price (base + booking fee)"),quantity:ci().optional().describe("number of tickets"),coupon:jn().optional().describe("coupon code applied"),position:ci().optional().describe("position in list"),url:jn().optional().describe("URL to event/admission page"),image_url:jn().optional().describe("event image"),admission_id:jn().optional().describe("Explicit admission ID"),section_id:jn().optional().describe("Section ID if applicable"),event_id:jn().optional().describe("Event ID for this admission"),promoter_id:jn().optional().describe("Promoter ID"),price_base:ci().nullish().describe("Base price before fees"),price_booking_fee:ci().nullish().describe("Booking fee"),capacity:ci().optional().describe("Total capacity for this admission"),available:ci().optional().describe("Remaining tickets available"),sold:ci().optional().describe("Tickets already sold")}),Jo=Ei({type:jn(),value:jn()}),Xo=Ei({type:jn(),value:jn()}),Qo=Ei({query:Ti([jn(),Ci(jn(),vi())]).optional(),list_id:jn().optional(),category:jn().optional(),filters:xi(Jo).optional(),sorts:xi(Xo).optional(),promotion_id:jn().optional(),creative:jn().optional(),name:jn().optional(),position:Ti([jn(),ci()]).optional(),product_id:jn().optional(),sku:jn().optional(),brand:jn().optional(),variant:jn().optional(),price:ci().optional(),quantity:ci().optional(),coupon:jn().optional(),currency:jn().optional(),value:ci().optional(),url:jn().optional(),image_url:jn().optional(),cart_id:jn().optional(),checkout_id:jn().optional(),step:ci().optional(),shipping_method:jn().optional(),payment_method:jn().optional(),order_id:jn().optional(),affiliation:jn().optional(),subtotal:ci().optional(),total:ci().optional(),revenue:ci().optional(),shipping:ci().optional(),tax:ci().optional(),discount:ci().optional(),coupon_id:jn().optional(),coupon_name:jn().optional(),reason:jn().optional(),wishlist_id:jn().optional(),wishlist_name:jn().optional(),share_via:jn().optional(),share_message:jn().optional(),recipient:jn().optional(),review_id:jn().optional(),review_body:jn().optional(),rating:jn().optional(),products:xi(Ko).optional(),event_id:jn().optional().describe("ID of the ticketed event (evt_xxx)"),event_name:jn().optional().describe("Name of the ticketed event"),event_slug:jn().optional().describe("URL slug of event"),event_starts_at:jr.optional().describe("When the event starts (naive datetime, no timezone)"),event_ends_at:jr.optional().describe("When the event ends (naive datetime, no timezone)"),event_status:Ni(["UPCOMING","LIVE","ENDED","CANCELLED"]).optional(),event_visibility:Ni(["PUBLIC","PRIVATE"]).optional(),event_location:jn().optional().describe("Venue name"),event_city:jn().optional().describe("Venue city"),event_country:jn().optional().describe("Venue country"),promoter_id:jn().optional().describe("ID of the promoter (pmt_xxx)"),promoter_name:jn().optional().describe("Name of the promoter"),promoter_slug:jn().optional().describe("URL slug of promoter"),admission_id:jn().optional().describe("ID of admission type (adm_xxx)"),admission_name:jn().optional().describe('Name of admission (e.g., "General Admission")'),admission_capacity:ci().optional().describe("Total capacity for this admission"),admission_available:ci().optional().describe("Tickets still available"),admission_sold:ci().optional().describe("Tickets already sold"),section_id:jn().optional().describe("ID of section (sct_xxx)"),section_name:jn().optional().describe('Name of section (e.g., "VIP", "General")'),section_capacity:ci().optional().describe("Total capacity for this section"),section_available:ci().optional().describe("Spots still available in section"),ticket_id:jn().optional().describe("Individual ticket ID (tkt_xxx)"),ticket_status:Ni(["VALID","REDEEMED","CANCELLED"]).optional(),tickets_quantity:ci().optional().describe("Number of tickets in transaction"),customer_id:jn().optional().describe("Customer ID (cus_xxx)"),customer_email:jn().optional().describe("Customer email"),customer_first_name:jn().optional(),customer_last_name:jn().optional(),price_base:ci().nullish().describe("Base price before fees"),price_booking_fee:ci().nullish().describe("Booking fee amount"),price_discount_amount:ci().nullish().describe("Discount amount applied"),sale_starts_at:jr.optional().describe("When tickets go on sale (naive datetime, no timezone)"),sale_ends_at:jr.optional().describe("When ticket sales end (naive datetime, no timezone)"),entry_starts_at:jr.optional().describe("When entry to event begins (naive datetime, no timezone)"),entry_ends_at:jr.optional().describe("When entry to event ends (naive datetime, no timezone)"),funnel_step:jn().optional().describe('Current funnel step (e.g., "browse", "cart", "checkout")'),time_to_purchase:ci().optional().describe("Seconds from first view to purchase"),session_duration:ci().optional().describe("Total session duration in seconds"),referrer_type:Ni(["DIRECT","SOCIAL","EMAIL","SEARCH","REFERRAL","AD"]).optional(),campaign_id:jn().optional().describe("Marketing campaign ID"),affiliate_id:jn().optional().describe("Affiliate partner ID"),promo_code_used:jn().optional().describe("Promotional code applied"),platform:Ni(["WEB","MOBILE_WEB","IOS","ANDROID"]).optional(),app_version:jn().optional(),device_type:Ni(["MOBILE","TABLET","DESKTOP"]).optional()}),ea=Ei({session_id:jn(),user_id:jn().optional(),anonymous_id:jn(),utm_source:jn().optional(),utm_medium:jn().optional(),utm_campaign:jn().optional(),utm_term:jn().optional(),utm_content:jn().optional(),page:Ei({url:jn(),path:jn(),title:jn()}),referrer:jn().optional(),user_agent:jn().optional(),ip:jn().optional(),geo:Ei({country:jn().optional().describe('Country code (e.g., "AU")'),countryName:jn().optional().describe('Country name (e.g., "Australia")'),region:jn().optional().describe("State/province code"),regionName:jn().optional().describe('State/province name (e.g., "New South Wales")'),city:jn().optional().describe("City name"),latitude:jn().optional().describe("Latitude"),longitude:jn().optional().describe("Longitude")}).optional(),fbc:jn().optional().describe("Facebook click ID"),fbp:jn().optional().describe("Facebook browser ID"),ttclid:jn().optional().describe("TikTok click ID")}),ta=Ei({id:jn(),eventId:jn().describe("Event being tracked (evt_123)"),teamId:jn().describe("Team ID (team_123)"),promoterId:jn().describe("Promoter ID (pmt_123)"),eventType:Ho,timestamp:jn(),date:jn().describe("YYYY-MM-DD"),hour:ci().int().min(0).max(23),properties:Qo,context:ea,productId:jn().optional(),createdAt:jn(),updatedAt:jn()}),na=ta.omit({id:!0,timestamp:!0,date:!0,hour:!0,createdAt:!0,updatedAt:!0}).meta({description:"Schema for tracking an analytics event. Excludes system-generated fields"});Ei({eventId:jn().meta({description:"Event ID to get tracking events for"}),startDate:jn().optional().meta({description:"Start date (YYYY-MM-DD) for filtering events"}),endDate:jn().optional().meta({description:"End date (YYYY-MM-DD) for filtering events"}),limit:Xi().int().positive().optional().meta({description:"Maximum number of events to return"})}).meta({description:"Schema for retrieving tracking events for an event"});const ia=Ni(["AIRWALLEX","STRIPE"]),sa=Ei({id:jn().readonly().meta({examples:[hr.Beneficiary.id],description:"A unique identifier for this beneficiary."}),createdAt:yn().readonly().meta({examples:[hr.Beneficiary.createdAt],description:"Timestamp in ISO 8601 format when this beneficiary was created."}),updatedAt:yn().readonly().meta({examples:[hr.Beneficiary.updatedAt],description:"Timestamp in ISO 8601 format when this beneficiary was last updated."}),name:jn().meta({examples:[hr.Beneficiary.name],description:"The account name for this beneficiary."}),currency:jn().regex(/^[A-Z]{3}$/).meta({examples:["AUD"],description:"Three-letter ISO 4217 currency code for payouts."}),gateway:ia.meta({examples:["STRIPE"],description:"The payment gateway used for processing payouts."}),gatewayId:jn().meta({examples:[hr.Beneficiary.gatewayId],description:"The identifier assigned by the payment gateway to this account."}),teamId:jn().meta({description:"Team that owns this beneficiary account."}),promoterIds:xi(jn()).meta({examples:[[]],description:"List of promoter IDs this beneficiary is assigned to. Empty array means team-level only (available to all promoters)."}),venueIds:xi(jn()).meta({examples:[[]],description:"List of venue IDs this beneficiary is assigned to. Empty array means team-level only (available to all venues)."})}).meta({description:"beneficiary"}),ra=Ei({city:jn().optional(),country_code:jn(),postcode:jn().optional(),state:jn().optional(),street_address:jn().optional()}),oa=Ei({account_currency:jn(),account_name:jn(),account_number:jn().optional(),account_routing_type1:jn().optional(),account_routing_value1:jn().optional(),account_routing_type2:jn().optional(),account_routing_value2:jn().optional(),bank_account_category:jn().optional(),bank_branch:jn().optional(),bank_country_code:jn(),bank_name:jn().optional(),bank_street_address:jn().optional(),binding_mobile_number:jn().optional(),fingerprint:jn().optional(),iban:jn().optional(),local_clearing_system:jn().optional(),swift_code:jn().optional(),transaction_reference:jn().optional()}),aa=Ei({id:jn().optional(),transfer_methods:xi(Ni(["SWIFT","LOCAL"])),beneficiary:Ei({company_name:jn().optional(),date_of_birth:jn().optional(),entity_type:jn(),first_name:jn().optional(),last_name:jn().optional(),address:ra,bank_details:oa,additional_info:Ei({personal_email:$n().optional()}).optional()})}),ca=sa.omit({id:!0,createdAt:!0,updatedAt:!0,currency:!0}).extend({currency:vr.meta({examples:[hr.Beneficiary.currency],description:"Three-letter ISO 4217 currency code for payouts to this beneficiary account"}),airwallex:aa.optional().meta({examples:[hr.AirwallexBeneficiary],description:"Airwallex-specific beneficiary details including bank account information and address (required when gateway is AIRWALLEX)"}),promoterIds:xi(jn()).optional().default([]).meta({examples:[[]],description:"List of promoter IDs to assign this beneficiary to. Empty array or omitted means team-level only."}),venueIds:xi(jn()).optional().default([]).meta({examples:[[]],description:"List of venue IDs to assign this beneficiary to. Empty array or omitted means team-level only."})}).meta({description:"Schema for creating a new beneficiary account for receiving payouts"}),da=sa.pick({id:!0}).meta({description:"Schema for retrieving a single beneficiary by its unique identifier"}),pa=da.meta({description:"Schema for deleting a beneficiary account - requires the beneficiary ID"}),la=Ei({teamId:jn().optional().meta({examples:[hr.Team.id],description:"Optional identifier of the team whose beneficiaries to list. When provided, only beneficiaries for that team are returned."}),gateway:Ni(["AIRWALLEX","STRIPE"]).optional().meta({examples:[hr.Beneficiary.gateway],description:"Filter beneficiaries by payment gateway provider (optional)"}),currency:vr.optional().meta({examples:[hr.Beneficiary.currency],description:"Filter beneficiaries by currency code (optional)"}),query:jn().optional().meta({examples:["beneficiary"],description:"Optional search query to filter beneficiaries by name or gateway identifier. When provided, search-backed pagination is used."}),limit:Xi().min(1).max(100).prefault(20).meta({examples:[20],description:"Maximum number of beneficiaries to return per request (1-100, default: 20)"}).optional(),cursor:jn().optional().meta({examples:["eyJpZCI6ImJlbl8wMWpwczVjZ3NlNW42bWcxeW1rZXc5dHNmaCJ9"],description:"Pagination cursor returned by a previous request. Omit on the first request."})}).meta({description:"Query parameters for listing beneficiaries with pagination and optional filters"}),ua=Vr(sa,"beneficiaries"),ma=Ei({beneficiary:sa}),fa=Ni(["AMOUNT","PERCENT"]),ha=Ni(["TEAM","PROMOTER","EVENTS","SECTIONS","ADMISSIONS"]),ga=Ei({id:jn().readonly().meta({examples:[hr.Coupon.id],description:"A unique identifier for this coupon."}),couponId:jn().optional().readonly().meta({examples:[hr.Coupon.couponId],description:"Duplicate of id field for GSI queries."}),createdAt:yn().readonly().meta({examples:[hr.Coupon.createdAt],description:"Timestamp in ISO 8601 format when this coupon was created."}),updatedAt:yn().readonly().meta({examples:[hr.Coupon.updatedAt],description:"Timestamp in ISO 8601 format when this coupon was last updated."}),name:jn().meta({examples:[hr.Coupon.name],description:"Internal label for the coupon, visible to event organisers."}),active:ui().optional().meta({examples:[hr.Coupon.active],description:"Whether this coupon is currently active."}),kind:fa.meta({examples:["PERCENT"],description:"Type of discount this coupon gives: a fixed amount or a percentage."}),filter:ha.meta({examples:["EVENTS"],description:"Scope of the coupon. TEAM applies to all events in the team. PROMOTER applies to all events by specified promoters. EVENTS/SECTIONS/ADMISSIONS apply to specific items."}),currency:jn().regex(/^[A-Z]{3}$/).optional().meta({examples:[hr.Coupon.currency],description:"Three-letter ISO 4217 currency code. Required for AMOUNT coupons. Optional for PERCENT coupons - when omitted, applies to all currencies."}),discount:ci().min(0).meta({examples:[hr.Coupon.discount],description:"The discount value. If kind is 'amount', this is a currency amount. If kind is 'percent', this is a percentage."}),limit:ci().meta({examples:[hr.Coupon.limit],description:"Maximum number of times the coupon can be redeemed across all customers."}),uses:ci().optional().meta({examples:[hr.Coupon.uses],description:"Number of times this coupon has been redeemed so far."}),promoters:xi(Ei({id:jn().meta({description:"Identifier of a promoter this coupon applies to."}),name:jn().meta({description:"Name of a promoter this coupon applies to."}),slug:jn().meta({description:"URL slug of a promoter this coupon applies to."})})).optional().meta({description:"List of promoters this coupon applies to when filter is PROMOTER."}),events:xi(Ei({id:jn().meta({description:"Identifier of an event this coupon applies to."}),name:jn().meta({description:"Name of an event this coupon applies to."}),slug:jn().meta({description:"URL slug of an event this coupon applies to."})})).optional().meta({description:"List of events this coupon applies to when filter is EVENTS."}),sections:xi(Ei({id:jn().meta({description:"Identifier of a section this coupon applies to."}),name:jn().meta({description:"Name of a section this coupon applies to."}),eventId:jn().meta({description:"Identifier of the event this section belongs to."})})).optional().meta({description:"List of sections this coupon applies to when filter is 'sections'."}),admissions:xi(Ei({id:jn().meta({description:"Identifier of an admission this coupon applies to."}),name:jn().meta({description:"Name of an admission this coupon applies to."}),eventId:jn().meta({description:"Identifier of the event this admission belongs to."})})).optional().meta({description:"List of admissions this coupon applies to when filter is 'admissions'."}),saleStartsAt:jr.meta({examples:[hr.Coupon.saleStartsAt],description:"Wall clock time when this coupon becomes valid (no timezone, ISO 8601 format: YYYY-MM-DDTHH:mm:ss)"}),saleEndsAt:jr.optional().meta({examples:[hr.Coupon.saleEndsAt],description:"Wall clock time when this coupon expires (no timezone, ISO 8601 format: YYYY-MM-DDTHH:mm:ss)"}),teamId:jn().meta({description:"Team that created this coupon."})}).meta({description:"coupon"}),va=Ei({id:jn().readonly().meta({examples:[hr.CouponCode.id],description:"A unique identifier for this coupon code."}),createdAt:yn().readonly().meta({examples:[hr.CouponCode.createdAt],description:"Timestamp in ISO 8601 format when this coupon code was created."}),updatedAt:yn().readonly().meta({examples:[hr.CouponCode.updatedAt],description:"Timestamp in ISO 8601 format when this coupon code was last updated."}),name:jn().meta({examples:[hr.CouponCode.name],description:"The code string that customers enter to redeem the coupon."}),active:ui().meta({examples:[hr.CouponCode.active],description:"Whether this coupon code is currently enabled for use."}),couponId:jn().meta({examples:[hr.Coupon.id],description:"Identifier of the coupon to which this code belongs."}),teamId:jn().meta({description:"Team that created this coupon code."}),uses:ci().int().nonnegative().default(0).readonly().meta({examples:[0],description:"Number of times this specific coupon code has been used in successful orders."})}).meta({description:"coupon-code"}),ya=va.pick({id:!0});Ei({couponId:jn().meta({examples:[hr.Coupon.id]})}),Ei({name:jn(),couponId:jn().optional().meta({examples:[hr.Coupon.id]})});const ba=va.omit({id:!0,createdAt:!0,updatedAt:!0,uses:!0}),wa=va.omit({createdAt:!0,updatedAt:!0,couponId:!0,teamId:!0,uses:!0}).partial().extend({id:va.shape.id}),Ia=ya,ka=Ei({couponId:jn().optional().meta({examples:[hr.Coupon.id],description:"Optional filter to retrieve coupon codes for a specific coupon"}),teamId:jn().optional().meta({examples:["tem_01jqpjksnsen9vprw95et60t2m"],description:"Optional filter to retrieve coupon codes created by a specific team"}),active:Qi().optional().meta({examples:[!0],description:"Optional filter to retrieve only active or inactive coupon codes"}),query:jn().optional().meta({examples:["SUMMER"],description:"Optional search query to filter coupon codes by name. When provided, search-backed pagination is used."}),limit:Xi().min(1).max(100).prefault(20).meta({examples:[20],description:"Maximum number of coupon codes to return per request (1-100, defaults to 20)"}).optional(),cursor:jn().optional().meta({examples:["eyJpZCI6ImNwY18wMWpwczVjZ3NmenR3N2h4Y3ZyMndmdGsyIn0"],description:"Pagination cursor returned by a previous request. Omit on the first request."})}).meta({description:"Schema for listing coupon codes with optional filtering, search, and pagination"}),xa=Vr(va,"codes"),Aa=Ei({couponCode:va}),Ea=ga.omit({id:!0,createdAt:!0,updatedAt:!0}).meta({description:"Schema for creating a new coupon without system-generated fields"}),Da=ga.pick({id:!0}).meta({description:"Schema for retrieving a single coupon by ID"}),Ta=Da.meta({description:"Schema for deleting a coupon by ID with optional soft-delete filtering"}),Sa=Ei({teamId:jn().meta({examples:[hr.Team.id],description:"Unique identifier of the team whose coupons to retrieve"}),active:Qi().optional().meta({examples:[!0],description:"Optional filter to retrieve only active or inactive coupons"}),query:jn().optional().meta({examples:["Half Price"],description:"Optional search query to filter coupons by name or description. When provided, search-backed pagination is used."}),limit:Xi().min(1).max(100).prefault(20).meta({examples:[20],description:"Maximum number of coupons to return per request (1-100, defaults to 20)"}).optional(),cursor:jn().optional().meta({examples:["eyJpZCI6ImNwbl8wMWpwczVjZ3NmenMxa3NxYWV0NWhiYThhYyJ9"],description:"Pagination cursor returned by a previous request. Omit on the first request."})}).meta({description:"Schema for listing coupons belonging to a specific team with optional filtering and pagination"}),_a=Vr(ga,"coupons"),Pa=Ei({coupon:ga}),Ra=ga.omit({createdAt:!0,updatedAt:!0,teamId:!0}).partial().extend({id:ga.shape.id.meta({examples:[hr.Coupon.id],description:"Unique identifier of the coupon to update"}),saleEndsAt:jr.nullable().optional().meta({examples:[hr.Coupon.saleEndsAt],description:"Expiry time. Pass null to remove end date; omit to leave unchanged."}),currency:jn().regex(/^[A-Z]{3}$/).nullable().optional().meta({examples:["AUD","USD","GBP"],description:"Three-letter ISO 4217 currency code. Pass null to clear; omit to leave unchanged."})}).meta({description:"Schema for updating an existing coupon."}),Ca=Ei({id:kr.readonly().meta({examples:[hr.Location.id],description:"Location identifier"}),googlePlaceId:jn().optional().meta({examples:["ChIJP3Sa8ziYEmsRUKgyFmh9AQM"],description:"Google Place ID for this location"}),createdAt:yn().meta({examples:[hr.Location.createdAt],description:"Timestamp in ISO 8601 format when the location was created"}),updatedAt:yn().meta({examples:[hr.Location.updatedAt],description:"Timestamp in ISO 8601 format when the location was last updated"}),name:jn().meta({examples:[hr.Location.name],description:"Location name"}),address:jn().meta({examples:[hr.Location.address],description:"Formatted address"}),city:jn().optional().meta({examples:[hr.Location.city],description:"City name"}),state:jn().optional().meta({examples:[hr.Location.state],description:"State or region"}),postcode:jn().optional().meta({examples:[hr.Location.postcode],description:"Postal code"}),country:jn().meta({examples:[hr.Location.country],description:"Country name"}),latitude:ci().min(-90).max(90).meta({examples:[hr.Location.latitude],description:"Latitude coordinate"}),longitude:ci().min(-180).max(180).meta({examples:[hr.Location.longitude],description:"Longitude coordinate"}),timeZone:jn().min(1).regex(/^[A-Za-z0-9_+-]+(\/[A-Za-z0-9_+-]+)*$/,{message:"Must be a valid IANA timezone identifier format"}).meta({examples:[hr.Location.timeZone],description:"IANA timezone identifier (e.g., 'America/New_York', 'Europe/London', 'Australia/Sydney', 'UTC'). Must be validated against the IANA timezone database where used."}),types:xi(jn()).optional().meta({examples:[["establishment","point_of_interest","stadium"]],description:"Google Place types indicating the category and nature of this location"}),description:jn().optional().meta({examples:["Historic outdoor amphitheater known for summer concerts"],description:"AI-generated description of the place, when available"}),image:Nr.optional().meta({description:"Primary location photo"}),venueId:Ir.optional().meta({description:"Venue identifier if this location is a managed venue on the platform"})}).meta({description:"Location with full details including coordinates and timezone"}),Ua=Ei({id:jn().readonly().meta({examples:[hr.Section.id],description:"Unique identifier for the section"}),createdAt:yn().readonly().meta({examples:[hr.Section.createdAt],description:"Timestamp when the section was created in ISO 8601 format"}),updatedAt:yn().readonly().meta({examples:[hr.Section.updatedAt],description:"Timestamp when the section was last updated in ISO 8601 format"}),name:jn().meta({examples:[hr.Section.name],description:"Display name of the section (e.g., 'VIP Area', 'General Admission')"}),capacity:ci().min(-1).prefault(-1).meta({examples:[hr.Section.capacity],description:"Maximum number of attendees for this section. Use -1 for unlimited capacity"}),limit:ci().min(-1).prefault(-1).refine((e=>0!==e),{message:"Limit cannot be 0. Use -1 for unlimited or a positive number for a specific limit"}).meta({examples:[hr.Section.limit??-1],description:"Maximum number of tickets for this section that can be purchased in a single order. A value of -1 indicates unlimited"}),available:ci().min(-1).readonly().meta({examples:[hr.Section.available],description:"Number of tickets currently available for purchase in this section. Use -1 when capacity is unlimited"}),sold:ci().min(0).readonly().meta({examples:[hr.Section.sold],description:"Number of tickets sold for this section"}),reserved:ci().readonly().meta({examples:[hr.Section.reserved],description:"Number of tickets currently reserved (in pending orders) for this section"}),order:ci().min(0).meta({examples:[hr.Section.order],description:"Display order of the section. Lower numbers appear first in listings"}),location:Ca.meta({description:"Physical location details for the section"}),teamId:jn().meta({description:"Team that owns this section. Denormalized for efficient queries."}),promoterId:jn().meta({examples:[hr.Section.promoterId],description:"Unique identifier of the promoter who owns this section"}),eventId:jn().meta({examples:[hr.Section.eventId],description:"Unique identifier of the event this section belongs to"}),eventSlug:jn().meta({examples:[hr.Section.eventSlug],description:"URL-friendly identifier of the event this section belongs to"})}).meta({description:"A section represents a distinct area or tier within an event venue with its own capacity and pricing"}),Na=Ca.omit({venueId:!0}).extend({venue:Ei({id:Ir.meta({description:"Venue identifier"}),name:jn().meta({description:"Venue name"}),slug:jn().meta({description:"URL-friendly venue slug"}),teamId:jn().meta({description:"Team that owns this venue"}),approval:gr.meta({description:"Venue approval status"}),image:Nr.optional().meta({description:"Venue image"}),description:jn().optional().meta({description:"Venue description"})}).optional().meta({description:"Denormalized venue details if this location is a managed venue. Only included when venue is approved."})}),Oa=Ni(["UPCOMING","ENDED"]),qa=Ni(["PUBLIC","PRIVATE","SCHEDULED","PASSWORD","CANCELLED"]),Ma=Ei({id:wr.readonly().meta({examples:[hr.Event.id],description:"A unique identifier for this event"}),createdAt:yn().readonly().meta({examples:[hr.Event.createdAt],description:"Timestamp in ISO 8601 format when this event was created"}),updatedAt:yn().readonly().meta({examples:[hr.Event.updatedAt],description:"Timestamp in ISO 8601 format when this event was last updated"}),name:jn().meta({examples:[hr.Event.name],description:"The title of the event shown to attendees"}),slug:jn().meta({examples:[hr.Event.slug],description:"URL-friendly identifier for the event"}),description:jn().meta({examples:[hr.Event.description],description:"Detailed description of the event"}),approval:gr.meta({examples:["APPROVED"],description:"Approval status of the event"}),status:Oa.meta({examples:["UPCOMING","ENDED"],description:"Current stage of the event lifecycle"}),visibility:qa.meta({examples:["PUBLIC"],description:"Who can see the event"}),currency:jn().regex(/^[A-Z]{3}$/).meta({examples:["AUD"],description:"Three-letter ISO 4217 currency code used for ticket prices"}),url:Zn().optional().meta({examples:["https://example.com"],description:"External URL for the event website or ticket page"}),entryStartsAt:jr.meta({examples:[hr.Event.entryStartsAt],description:"Wall clock time when event entry begins (no timezone, displays same everywhere)"}),entryEndsAt:jr.meta({examples:[hr.Event.entryEndsAt],description:"Wall clock time when event entry ends (no timezone, displays same everywhere)"}),publishAt:jr.meta({examples:[hr.Event.publishAt],description:"Wall clock time when the event becomes publicly visible (no timezone)"}),images:Ei({mobile:Nr.meta({description:"Mobile-optimized image for the event"}),desktop:Nr.meta({description:"Desktop-optimized image for the event"})}),geohash:jn().meta({examples:[hr.Event.geohash],description:"Geohash representing the event location"}),location:Na.meta({description:"Structured location details for the event"}),teamId:br.meta({description:"Team that owns this event. Denormalized for efficient queries."}),promoterId:Er.meta({examples:[hr.Promoter.id],description:"Promoter organizing the event. Must belong to the team."}),metadata:Mr}).meta({description:"event"}),ja=Ei({event:Ma.extend({sections:xi(Ua),admissions:xi($r)})}),La=Ma.omit({id:!0,teamId:!0,createdAt:!0,updatedAt:!0,status:!0,approval:!0,geohash:!0,location:!0}).extend({slug:jn().min(3).max(100).optional().meta({examples:[hr.Event.slug],description:"URL-friendly slug for the event. If not provided, will be automatically generated from the name. Must be unique and between 3 and 100 characters"}),password:jn().optional().meta({description:"Password for protected access to the event"}),locationId:kr.optional().meta({examples:["loc_01jqpjksnsen9vprw95et60t2m"],description:"ID of an existing location. Either locationId or googlePlaceId must be provided."}),googlePlaceId:jn().optional().meta({examples:["ChIJN1t_tDeuEmsRUsoyG83frY4"],description:"Google Place ID to create a new location from. Either locationId or googlePlaceId must be provided."})}).refine((e=>e.locationId||e.googlePlaceId),{message:"Either locationId or googlePlaceId must be provided"}),za=Ei({key:jn().min(1).meta({description:"Event key - either a unique ID (evt_xxx format) or URL-friendly slug",examples:[hr.Event.id,hr.Event.slug]})}),$a=Ei({key:jn().min(1).meta({description:"Event key - either a unique ID (evt_xxx format) or URL-friendly slug",examples:[hr.Event.id,hr.Event.slug]}),password:jn().optional().meta({description:"Password for accessing password-protected events"})}),Ga=Ei({sold:ci().min(0).meta({description:"Number of tickets sold"}),reserved:ci().min(0).meta({description:"Number of tickets reserved"}),available:ci().min(-1).meta({description:"Number of tickets available (-1 for unlimited)"}),capacity:ci().min(-1).meta({description:"Total capacity (-1 for unlimited)"})}),Ya=Ei({status:Ni(["UPCOMING","ENDED"]).optional().meta({examples:["UPCOMING"],description:"Filter events by their current lifecycle status"}),approval:gr.optional().meta({examples:["APPROVED"],description:"Filter events by their approval status"}),visibility:Ni(["PUBLIC","PRIVATE","SCHEDULED","PASSWORD"]).optional().meta({examples:["PUBLIC"],description:"Filter events by their visibility setting"}),promoterId:jn().optional().meta({examples:[hr.Promoter.id],description:"Filter events to only those belonging to a specific promoter. If not provided, returns events from all promoters the user has access to"}),teamId:jn().optional().meta({description:"Filter events to only those belonging to a specific team. If not provided, returns events from all teams the user has access to"}),venueId:jn().optional().meta({description:"Filter events to only those at a specific venue. If not provided, returns events at all venues"}),limit:Xi().min(1).max(100).prefault(20).meta({examples:[20],description:"Maximum number of events to return in each result set. Must be between 1 and 100, defaults to 20"}),cursor:jn().optional().meta({examples:["evt_01jps5cgsenjrazw6wswmyspa3"],description:"Cursor token for pagination. Provide the cursor from the previous response to continue fetching results"}),query:function(){return new Mn({type:"string",coerce:!0,...D(undefined)})}(0,void 0).optional().meta({examples:["Test Event"],description:"Search term to filter events by name, description, or location. Triggers full‑text search when provided"}),latitude:Xi().min(-90).max(90).optional().meta({examples:[hr.Event.location.latitude],description:"Latitude coordinate for geographic search. Provide with longitude (and optional radius)"}),longitude:Xi().min(-180).max(180).optional().meta({examples:[hr.Event.location.longitude],description:"Longitude coordinate for geographic search. Provide with latitude (and optional radius)"}),radius:Xi().optional().meta({examples:[20],description:"Search radius in kilometers from the provided coordinates. Defaults to 20km"}),from:jn().date().optional().meta({examples:["2024-01-01"],description:"Filter events that start on or after this date (YYYY-MM-DD format). Events with entryStartsAt >= from"}),to:jn().date().optional().meta({examples:["2024-12-31"],description:"Filter events that start on or before this date (YYYY-MM-DD format). Events with entryStartsAt <= to"})}).meta({description:"List events with filtering, full‑text search, geo queries, date range filtering, and cursor-based pagination"}),Fa=Vr(Ma.extend({inventory:Ga.optional()}),"events"),Za=Ei({event:Ma}),Va=Ma.omit({createdAt:!0,updatedAt:!0,promoterId:!0,geohash:!0,status:!0,location:!0}).partial().extend({key:jn().meta({examples:[hr.Event.id,hr.Event.slug],description:"Event key - either a unique ID (evt_xxx format) or URL-friendly slug"}),password:jn().nullable().optional().meta({description:"Password for protected access. Pass null to clear; omit to leave unchanged."}),url:Zn().nullable().optional().meta({examples:["https://example.com/events/summer-festival-2025"],description:"External event URL. Pass null to clear; omit to leave unchanged."}),locationId:kr.optional().meta({examples:["loc_01jqpjksnsen9vprw95et60t2m"],description:"ID of an existing location to update to. Either locationId or googlePlaceId can be provided."}),googlePlaceId:jn().optional().meta({examples:["ChIJN1t_tDeuEmsRUsoyG83frY4"],description:"Google Place ID to update location from. Either locationId or googlePlaceId can be provided."})}).meta({description:"Schema for updating an existing event."}),Wa=Ei({id:Cr.readonly().meta({description:"Unique identifier for the event collaborator"}),createdAt:yn().readonly().meta({description:"Timestamp in ISO 8601 format when the collaborator was added"}),updatedAt:yn().readonly().meta({description:"Timestamp in ISO 8601 format when the collaborator was last updated"}),eventId:wr.meta({description:"Event this collaboration applies to"}),promoterId:Er.meta({description:"Promoter collaborating on the event"}),acceptedBy:xr.meta({description:"User ID who accepted the invitation to collaborate"}),promoter:Ei({id:Er.meta({description:"Unique identifier of the promoter"}),name:jn().meta({description:"Name of the promoter"}),teamId:br.meta({description:"Team ID of the promoter"})}).optional().meta({description:"Populated promoter details. Only included when explicitly requested."}),permissions:zr.meta({description:"Permissions granted to this collaborator. User must have permission in BOTH this grant AND their team membership (intersection).",examples:[["EVENT","ORDER"],["FULL"],["SCANNING"]]}),tenantId:jn().readonly().meta({description:"Tenant ID for multi-tenant isolation"})}).meta({description:"Active event collaborator. Created when a promoter accepts an invitation or is directly added to an event. Hard deleted when removed."}),Ba=Wa.pick({id:!0,eventId:!0}).meta({description:"Schema for accepting an event promoter collaboration invitation. User accepting must be a member of the invited promoter's team."}),Ha=Ei({id:Cr.readonly().meta({description:"Unique identifier for the event collaboration invitation"}),createdAt:yn().readonly().meta({description:"Timestamp in ISO 8601 format when the invitation was created"}),updatedAt:yn().readonly().meta({description:"Timestamp in ISO 8601 format when the invitation was last updated"}),eventId:wr.meta({description:"Event this invitation applies to"}),promoterId:Er.meta({description:"Promoter being invited to collaborate on the event."}),invitedByPromoterId:Er.meta({description:"Promoter who sent this invitation (event owner or collaborator with permission)."}),permissions:zr.meta({description:"Permissions the promoter will receive upon accepting the invitation.",examples:[["EVENT","ORDER"],["FULL"],["SCANNING"]]}),token:jn().readonly().meta({description:"Secure token for invite acceptance. Required to accept the invitation."}),invitedBy:xr.meta({description:"User ID who sent the invitation"}),expiresAt:ci().int().positive().meta({description:"Unix timestamp (seconds) for DynamoDB TTL. Invitation will be automatically deleted after 7 days."}),tenantId:jn().readonly().meta({description:"Tenant ID for multi-tenant isolation"})}).meta({description:"Pending event collaborator invitation. Automatically deleted after 7 days via DynamoDB TTL. When accepted, creates an EventCollaborator record and deletes the invitation."}),Ka=Ha.omit({id:!0,tenantId:!0,createdAt:!0,updatedAt:!0,token:!0,expiresAt:!0,invitedByPromoterId:!0}).meta({description:"Schema for inviting a promoter to collaborate on an event. Creates a pending invitation that the promoter can accept."}),Ja=Ei({eventId:wr.meta({description:"Event ID that the collaboration belongs to"}),id:Cr.meta({description:"Event team access grant ID to retrieve"})}),Xa=Ei({eventId:jn().meta({description:"Event ID to list collaborators for"}),accessPromoterId:jn().optional().meta({description:"DEPRECATED: Use 'promoterId' instead. Filter by collaborating promoter ID (what events can this promoter access). Maintained for backward compatibility."}),ownerPromoterId:jn().optional().meta({description:"DEPRECATED: No longer used. Maintained for backward compatibility only."}),limit:Xi().min(1).max(100).prefault(20).meta({description:"Maximum number of event promoter access grants to return (1-100, defaults to 20)"}),cursor:jn().optional().meta({description:"Pagination cursor from previous response. Used to fetch next page of results"})}).meta({description:"Query parameters for listing active event collaborations with pagination and filtering. Only returns accepted collaborations (not pending invitations). Use invite endpoints for pending invitations."}),Qa=Vr(Wa,"grants"),ec=Ei({description:jn(),terms:xi(Ei({value:jn(),offset:ci()})),matchedSubstrings:xi(Ei({offset:ci(),length:ci()})),structuredFormatting:Ei({mainText:jn(),mainTextMatchedSubstrings:xi(Ei({offset:ci(),length:ci()})).optional(),secondaryText:jn().optional(),secondaryTextMatchedSubstrings:xi(Ei({offset:ci(),length:ci()})).optional()}).optional(),placeId:jn().optional(),types:xi(jn()).optional()}),tc=Ei({predictions:xi(ec)}),nc=hi(),ic=Ei({query:jn().meta({description:"Search text to autocomplete"}),country:jn().optional().meta({description:"Optional country code for restricting results"})}),sc=Ei({placeId:jn().meta({examples:["ChIJP3Sa8ziYEmsRUKgyFmh9AQM"],description:"Unique identifier for a place from Google Places API. Used to retrieve detailed information including timezone data. This ID is obtained from the autocomplete endpoint and is required to fetch comprehensive place details."})}),rc=Ei({file:hi().describe("Image file to upload (max 10MB)"),folder:Ni(["avatars","events","teams","promoters","venues"]).describe("Folder to upload to"),width:Xi().int().positive().optional().describe("Target width in pixels"),height:Xi().int().positive().optional().describe("Target height in pixels")}),oc=Nr,ac=Ei({key:jn().min(1).meta({description:"Location key - either a location ID (loc_xxx format) or provider-specific identifier (e.g., Google Place ID)",examples:[hr.Location.id,"ChIJP3Sa8ziYEmsRUKgyFmh9AQM"]})}),cc=Ei({query:jn().min(1).meta({examples:["sydney opera"],description:"Search query for location search"}),latitude:Xi().min(-90).max(90).optional().meta({examples:[hr.Location.latitude],description:"User's latitude for proximity-based results (optional for better relevance)"}),longitude:Xi().min(-180).max(180).optional().meta({examples:[hr.Location.longitude],description:"User's longitude for proximity-based results (optional for better relevance)"})}).meta({description:"Parameters for searching locations"}),dc=Ei({googlePlaceId:jn().meta({examples:["ChIJP3Sa8ziYEmsRUKgyFmh9AQM"],description:"Google Place ID for this location"}),name:jn().meta({examples:[hr.Location.name],description:"Primary name of the location"}),description:jn().meta({examples:[hr.Location.address],description:"Full formatted address"}),venue:Ei({id:Ir.meta({examples:[hr.Venue.id],description:"Venue ID if this location is a managed venue"}),name:jn().meta({examples:[hr.Venue.name],description:"Venue name"}),teamId:jn().meta({description:"Team that manages this venue"}),image:Nr.optional().meta({description:"Primary venue image"})}).optional().meta({description:"Present if this location is a managed venue on the platform"})}).meta({description:"Single location search result with optional venue overlay"}),pc=Ei({predictions:xi(dc).meta({description:"Array of location predictions"})}).meta({description:"Response containing location search results"}),lc=Ei({id:jn().meta({examples:[hr.CouponCode.id],description:"Unique identifier of the coupon code used in the order"}),name:jn().meta({examples:[hr.CouponCode.name],description:"The coupon code string that was entered by the customer"}),couponId:jn().meta({examples:[hr.CouponCode.couponId],description:"Unique identifier of the parent coupon configuration"})}),uc=Ei({id:jn().meta({examples:[hr.Customer.id],description:"Unique identifier of the customer who placed the order"}),firstName:jn().meta({examples:[hr.Customer.firstName],description:"First name of the customer"}),lastName:jn().meta({examples:[hr.Customer.lastName],description:"Last name of the customer"}),email:$n().meta({examples:[hr.Customer.email],description:"Email address of the customer"}),phone:jn().meta({examples:[hr.Customer.phone],description:"Phone number of the customer"}).optional()}),mc=Ei({id:jn().meta({examples:[hr.Event.id],description:"Unique identifier of the event associated with the order"}),name:jn().meta({examples:[hr.Event.name],description:"Display name of the event"}),slug:jn().meta({examples:[hr.Event.slug],description:"URL-friendly slug of the event"}),location:jn().meta({examples:[hr.Event.location.name],description:"Name of the venue or location where the event takes place"}).optional()}),fc=Ei({id:jn().meta({examples:[hr.OrderFee.id],description:"Unique identifier for this order fee"}),createdAt:yn().readonly().meta({examples:[hr.OrderFee.createdAt],description:"Timestamp in ISO 8601 format when this fee was created"}),reason:jn().meta({examples:[hr.OrderFee.reason],description:"Description explaining why this fee was applied to the order"}),amount:ci().finite("Amount must be a valid number").meta({examples:[hr.OrderFee.amount],description:"Fee amount in cents (positive value indicates charge to customer, negative value indicates credit or discount)"}),currency:jn().regex(/^[A-Z]{3}$/,"Currency must be a valid 3-letter ISO-4217 code").meta({examples:[hr.OrderFee.currency],description:"Currency code in ISO 4217 format"}),requestId:jn().meta({examples:[hr.OrderFee.requestId],description:"External payment processor request identifier for tracking this fee"})});let hc;!function(e){const{Tenant:t,Team:n,TeamMember:i,TeamInvite:s,Venue:r,User:o,Session:a,EmailVerification:c,PasswordReset:d,Promoter:p,PromoterMember:l,CurrentSession:u,Event:m,DetailedEvent:f,Location:h,Section:g,Admission:v,Beneficiary:y,AirwallexBeneficiary:b,Coupon:w,CouponCode:I,AmountCoupon:k,AmountCouponCode:x,Customer:A,Payout:E,Order:D,OrderItem:T,OrderFee:S,Ticket:_}=hr;e.Tenant=t,e.Team=n,e.TeamMember=i,e.TeamInvite=s,e.Venue=r,e.User=o,e.Session=a,e.EmailVerification=c,e.PasswordReset=d,e.Promoter=p,e.PromoterMember=l,e.CurrentSession=u,e.Event=m,e.DetailedEvent=f,e.Location=h,e.Section=g,e.Admission=v,e.Beneficiary=y,e.AirwallexBeneficiary=b,e.Coupon=w,e.CouponCode=I,e.AmountCoupon=k,e.AmountCouponCode=x,e.Customer=A,e.Payout=E,e.Order=D,e.OrderItem=T,e.OrderFee=S,e.Ticket=_,e.JayUser={...o,id:"usr_01k5hbpkfje048zccqmqfhjpep",email:"j@1f.io",firstName:"Jay",lastName:"McMullen"};const P=e.TestUser={id:"usr_01k5wcss3gf24advd4av43s96m",email:"test@e2e.session.services",firstName:"Test",lastName:"User",createdAt:"2025-09-23T22:58:37.808Z",updatedAt:"2025-09-23T22:58:37.808Z",tenantId:"tnt_01jqpj2t2kfvmstt6f6tzkbaf2"};e.TestPromoterMember={id:"mbr_01k6s0t3f3f6cak0066dy5n1dm",createdAt:"2025-10-05T01:47:04.035Z",updatedAt:"2025-10-05T01:47:04.035Z",teamId:n.id,userId:P.id,user:P,permissions:["FULL"],isOwner:!1,tenantId:t.id},e.SystemUser={...o,id:"usr_01jps5cgsgn1ee4txxn0fz81f2",email:"system@session.services",firstName:"Session",lastName:"Services"},e.DeletedAdmission={...v,id:"adm_01jps5cgsg63gr2s1g2d87cqfy",deletedAt:(new Date).toISOString(),deleted:!0},e.SoloAdmission={...v,id:"adm_01jpsf2h7r4z8kmd9x1q3w4vty",name:"Solo Admission",sectionId:void 0},e.DeletedCoupon={...w,id:"cpn_01jps5cgsgzxf6xvmx3dnt9h1p",couponId:"cpn_01jps5cgsgzxf6xvmx3dnt9h1p",deletedAt:(new Date).toISOString(),deleted:!0},e.DeletedCouponCode={...I,id:"cod_01jps5cgsg7ep2gvwzghp1ppv6",deletedAt:(new Date).toISOString(),deleted:!0},e.DeletedSection={...g,id:"sct_01jps5cgsgy7681swwcvf01wxh",deletedAt:(new Date).toISOString(),deleted:!0},e.DeletedEvent={...m,id:"evt_01jps5cgsg8pyd64pc89tcbg9j",slug:"deleted-event",name:"Deleted Event",deletedAt:(new Date).toISOString(),deleted:!0},e.PastEvent={...m,id:"evt_01jqqt1ztw4676fdrr27z7de1c",status:"ENDED",createdAt:new Date(2020,1,1).toISOString(),updatedAt:new Date(2020,1,1).toISOString(),publishAt:fr(new Date(2020,1,1)),entryStartsAt:fr(new Date(2020,1,1)),entryEndsAt:fr(new Date(2020,1,2)),slug:"past-event",name:"Past Event"},e.CancelledEvent={...m,id:"evt_01jt0tfntmfk1sgn72q8c02v7a",status:"CANCELLED",createdAt:new Date(2020,1,1).toISOString(),updatedAt:new Date(2020,1,1).toISOString(),publishAt:fr(new Date(2020,1,1)),entryStartsAt:fr(new Date(2020,1,1)),entryEndsAt:fr(new Date(2020,1,2)),slug:"cancelled-event",name:"Cancelled Event"},e.DeletedPromoter={...p,id:"pmt_01jps5cgsg4xem309j6sxj01aw",slug:"deleted-promoter",name:"Deleted Promoter",deletedAt:(new Date).toISOString(),deleted:!0},e.DeletedPromoterMember={...l,userId:hc.User.id,user:hc.User,id:"mbr_01jpwzceh3zvab64kwq633q4cc"},e.ExpiredOrder={...D,id:"ord_01jq0xwysx1hzs3wqt2fns4578",token:"c76e3a5d7105345b58e383e6d90fe7728b75f938b727f0b9ecc5b977e8c3b5d0",status:"PENDING",createdAt:new Date(2020,1,1).toISOString(),updatedAt:new Date(2020,1,1).toISOString()},e.AbandonedOrder={...D,id:"ord_01jq0xdzwsfjpd329r8gv3txr2",token:"c76e3a5d7105345b58e383e6d90fe7728b75f938b727f0b9ecc5b977e8c3b5d0",status:"ABANDONED",createdAt:new Date(2020,1,1).toISOString(),updatedAt:new Date(2020,1,1).toISOString()},e.ProcessingOrder={...D,id:"ord_01jq289n4kcz2tnre24x3v2get",token:"c76e3a5d7105345b58e383e6d90fe7728b75f938b727f0b9ecc5b977e8c3b5d0",status:"PROCESSING",customer:hr.Customer,customerId:hr.Customer.id},e.FreeAdmission={...v,id:"adm_01jpykjbrdgy8jxmz57hmampww",price:{base:0,booking:0,currency:"AUD"}},e.SoldOutAdmission={...v,id:"adm_01jps5cgse6m3567vzvk69hkrm",name:"First Release",capacity:100,available:0,sold:100,reserved:0},e.UnlimitedAdmission={...v,id:"adm_01jsr09narf6d83vyk3hs8q9cf",name:"First Release",capacity:-1,available:-1,sold:100,reserved:0},e.UnlimitedSection={id:"sct_01jsr09narf6d83vytx3cng55e",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),teamId:n.id,promoterId:p.id,eventId:m.id,eventSlug:m.slug,name:"Sold Out Section",capacity:-1,limit:-1,available:-1,sold:200,reserved:0,order:0,location:h,tenantId:t.id};const R=e.SoldOutSection={id:"sct_01jq1rcqbkzqbbakgwy8ptpmvq",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),teamId:n.id,promoterId:p.id,eventId:m.id,eventSlug:m.slug,name:"Sold Out Section",capacity:200,limit:-1,sold:200,available:0,reserved:0,order:0,location:h,tenantId:t.id};e.SoldOutSectionAdmission={...v,sectionId:R.id,id:"adm_01jq1rcjah79628zsafg3k8wyz",name:"First Release",capacity:100,available:100,sold:0,reserved:0,order:0};const C=e.MaxReservedSection={id:"sct_01jq1rcqbkzrkea9ng8e4kngvq",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),teamId:n.id,promoterId:p.id,eventId:m.id,eventSlug:m.slug,name:"Max Reserved Section",capacity:200,limit:-1,sold:0,available:0,reserved:200,location:h,tenantId:t.id,order:0};e.MaxReservedAdmission={...v,id:"adm_01jq1rcqbk5s86df68xvz66fh4",name:"First Release",capacity:100,available:0,sold:0,reserved:100},e.MaxReservedSectionAdmission={...v,sectionId:C.id,id:"adm_01jq1rcqbkhkxq67e9rs8rpngt",name:"First Release",capacity:100,available:100,sold:0,reserved:0},e.SessionsBeneficiary={...y,id:"ben_01jps5cgse5n6mg1ymkew9tsss",promoterId:"pmt_01jqpjksnsen9vprw95et60t2m"},e.AnotherBeneficiary={...y,id:"ben_01jpsbxdthxadywamz2yj4zt75",currency:"USD",name:"Another Bank Account"},e.AnotherSection={...g,id:"sct_01jps5cgsg3spk97pwwp4352z9"},e.AnotherEvent={...m,id:"evt_01jps5cgsgkegpptzf3dsmkbpy",slug:"another-event",name:"Another Event",visibility:"PUBLIC"},e.AnotherCouponCode={...I,name:"ANOTHER",id:"cod_01jps5cgsghcvnjsf5nax5d7z7"},e.PrivateEvent={...m,id:"evt_01jps5cgsgavb91qw967y3d64f",slug:"private-event",name:"Private Event",visibility:"PRIVATE"},e.PendingEvent={...m,id:"evt_01jps5cgsh7mpevnq8pngdqs8q",slug:"pending-event",name:"Pending Event",approval:"PENDING"};const U=e.WrongUser={id:"usr_01jps5cgshwa2sts0fj53pksk0",email:"wrong@session.services",firstName:"Wrong",lastName:"User",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),tenantId:t.id},N=e.WrongTeam={id:"tem_01jps5cgshfgkvmjhfkev542en",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),name:"Wrong Team",slug:"wrong-team",description:"This is the wrong team...",type:"PROMOTER",tenantId:"tnt_01jqpj2t2kfvmstt6f6tzkbaf2"},O=e.WrongPromoter={id:"pmt_01jps5cgshfgkvmjhfkev542en",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),name:"Wrong Promoter",slug:"wrong-promoter",description:"This is the wrong promoter...",payoutFrequency:"AFTER_EVENT",image:{src:"https://assets.session.services/icon-bg.png",alt:"Session Services Logo",width:800,height:800},approval:"APPROVED",type:"PROMOTER",teamId:N.id,geohash:"r3gx1",location:{id:"loc_01jps5cgshfgkvmjhfkev542ep",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),name:"Sydney",address:"Sydney NSW 2000, Australia",city:"Sydney",state:"New South Wales",postcode:"2000",country:"Australia",latitude:-33.8688,longitude:151.2093,timeZone:"Australia/Sydney"},tracking:{fbId:"485739562847563",gtmId:"GTM-K8WPM5N",tikTokId:"BQCKPH3RC77U8GPMLJ5G"},tenantId:"tnt_01jqpj2t2kfvmstt6f6tzkbaf2"};e.WrongPromoterMember={id:"mbr_01jps5cgsec5ge0b1bxa6gzkkk",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),promoterId:O.id,userId:U.id,user:{id:U.id,email:U.email,firstName:U.firstName,lastName:U.lastName},permissions:["FULL"],tenantId:t.id};const q=e.WrongEvent={id:"evt_01jps5cgshm2v14zzykna678fd",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),name:"Wrong Event",slug:"wrong-event",description:"This is the wrong event...",approval:"APPROVED",status:"UPCOMING",visibility:"PUBLIC",currency:"AUD",entryStartsAt:fr(sr(new Date,1)),entryEndsAt:fr(sr(new Date,2)),publishAt:fr(new Date),images:{mobile:{src:"https://assets.session.services/event-mobile.jpg",alt:"Mobile Event Image",width:1080,height:1350},desktop:{src:"https://assets.session.services/event-desktop.jpg",alt:"Desktop Event Image",width:1920,height:1080}},geohash:"r3gx1",location:{id:"loc_01jps5cgshm2v14zzykna678fe",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),name:"Watson's EQ",address:"The, Entertainment Quarter, 1 Bent St, Moore Park NSW 2021, Australia",city:"Moore Park",state:"New South Wales",postcode:"2021",country:"Australia",latitude:-33.8944593,longitude:151.2252255,timeZone:"Australia/Sydney",image:{src:"https://assets.session.services/locations/watsons-eq.jpg",alt:"Watson's EQ",width:1200,height:800}},teamId:N.id,promoterId:O.id,tenantId:t.id},M=e.WrongSection={id:"sct_01jps5cgsh6asm2d0ghfqq6br2",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),teamId:N.id,promoterId:O.id,eventId:q.id,eventSlug:q.slug,name:"Wrong Admission",capacity:200,limit:-1,available:200,reserved:0,order:0,sold:0,location:h,tenantId:t.id},j=e.WrongAdmission={id:"adm_01jps5cgshfggkvmjhfkevy5en",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),sectionId:M.id,teamId:N.id,promoterId:O.id,eventId:q.id,eventSlug:q.slug,name:"Wrong Release",capacity:100,limit:-1,available:100,entryStartsAt:fr(sr(new Date,1)),entryEndsAt:fr(sr(new Date,2)),saleStartsAt:fr(new Date),saleEndsAt:fr(sr(new Date,2)),price:{base:1e3,booking:200,currency:"AUD"},tenantId:t.id};e.ExpiredAdmission={...v,id:"adm_01jq6cazzbswynyvg8d0hpx1n5",entryStartsAt:fr(new Date(2020,0,1)),entryEndsAt:fr(sr(new Date(2020,0,1),2))};const L=e.WrongBeneficiary={id:"ben_01jps5cgshfgnzwvcyck0y4sdg",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),name:"My Bank Account",currency:"AUD",gatewayId:"ben_12345abcde67890",gateway:"AIRWALLEX",assignment:"PROMOTER",teamId:N.id,promoterId:O.id,tenantId:t.id},z=e.WrongCoupon={id:"cpn_01jps5cgsh4fy01mvwvzn7xbc9",couponId:"cpn_01jps5cgsh4fy01mvwvzn7xbc9",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),name:"Wrong Price",active:!0,kind:"PERCENT",filter:"TEAM",currency:"AUD",discount:50,uses:0,limit:-1,saleStartsAt:fr(new Date(2025,1,10,3,0,0)),saleEndsAt:void 0,deletedAt:void 0,teamId:N.id,tenantId:t.id},$=e.WrongCouponCode={id:"cod_01jps5cgsh2hevcp6av50kbgyf",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),active:!0,name:"WRONG",tenantId:t.id,couponId:z.id,teamId:N.id},G=e.WrongPayout={id:"pyt_01jps5cgshynssderz1k0fd7z3",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),paidAt:(new Date).toISOString(),structure:"default",items:{tickets:{beneficiaryId:L.id,feeAmount:0,feeCurrency:"AUD",transferAmount:1e3,transferCurrency:"AUD"},sessions:{beneficiaryId:L.id,feeAmount:0,feeCurrency:"AUD",transferAmount:650,transferCurrency:"AUD"}},eventId:q.id,teamId:N.id,promoterId:O.id},Y=e.WrongOrder={id:"ord_01jps5cgshxhcpy2djnr8e04s3",token:"51126f93491f3bda92235ade2d87baec7935610e52b64d4252a3c721dfc6016a",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),status:"PENDING",payment:{method:"FREE"},price:{total:0,base:0,booking:0,discount:0,processor:0,currency:"AUD"},code:{id:$.id,name:$.name},customer:A,teamId:N.id,promoterId:O.id,eventId:q.id,paymentId:"",payoutIds:[G.id]},F=e.WrongOrderItem={id:"itm_01jps5cgsh14bjvyywkvt6f37e",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),orderId:Y.id,kind:"ADMISSION",quantity:2,admissionId:j.id,price:{base:j.price.base,booking:j.price.booking,discount:0,currency:j.price.currency}};e.WrongOrderFee={id:"fee_01jps5cgshgebpv67sppjfrgb8",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),orderId:Y.id,reason:"Gateway Fee",amount:-30,currency:"AUD",requestId:"att_sgpdz4v2ph1axmdmdx8_m8w6qv"},e.WrongTicket={id:"tkt_01jps5cgsh51kzg7534pzap7gk",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),status:"REDEEMED",scans:[],token:"a1b2c3d4e5f6789012345678901234567890123456789012345678901234abcd",attendee:{email:A.email,firstName:A.firstName,lastName:A.lastName},event:{id:q.id,name:q.name,slug:q.slug,location:q.location,entryStartsAt:q.entryStartsAt,entryEndsAt:q.entryEndsAt,images:q.images},admission:{id:j.id,name:j.name,price:j.price,entryStartsAt:j.entryStartsAt,entryEndsAt:j.entryEndsAt},eventId:q.id,customerId:A.id,orderId:Y.id,orderItemId:F.id,admissionId:F.admissionId,teamId:N.id,promoterId:O.id,promoterSlug:O.slug,tenantId:t.id},e.AnotherTicket={..._,id:"tkt_01jq6v4gmad9m28kzw8g8910jw"},e.ExpiredTicket={id:"tkt_01jps5cgsh51kzg7534pzap7gk",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),status:"REDEEMED",scans:[],token:"e1f2a3b4c5d6789012345678901234567890123456789012345678901234efab",attendee:{email:A.email,firstName:A.firstName,lastName:A.lastName},event:{id:q.id,name:q.name,slug:q.slug,location:q.location,entryStartsAt:q.entryStartsAt,entryEndsAt:q.entryEndsAt,images:q.images},admission:{id:j.id,name:j.name,price:j.price,entryStartsAt:j.entryStartsAt,entryEndsAt:j.entryEndsAt},eventId:q.id,customerId:A.id,orderId:Y.id,orderItemId:F.id,admissionId:F.admissionId,promoterId:O.id,promoterSlug:O.slug,tenantId:t.id},e.UpcomingPayout={...E,id:"pyt_01jq9cvaxvatez34jmwn11rzt8",status:"UPCOMING",transfers:[],deductions:[]};const Z=e.MixmagTenant={id:"tnt_01hk153x00en6tvgwwwhn8xj1p",oldId:"p8npi2s3t24arpunzp2e7dzaq",name:"Mixmag ANZ",slug:"mixmag-anz",email:"hello@mixmag.net.au",adminTeamId:"tem_01hr9kk2pgez2s8jzb3gs5nwsf",legacyTenantsToTeams:{clhvrnqph0000m9rq039hkw7s:"tem_01k5sashm1xmaganzteam0001","6kh3sj8ih5tvg927rz5elm90o":"tem_01k6blankm1xmaganzteam002",vc8vrjrv5arhabnk8ainx0ycb:"tem_01k7prowlm1xmaganzteam003",clkwbixsi0000m9coi7i5b65z:"tem_01k8crousm1xmaganzteam004"},defaultCurrency:"AUD",baseUrl:{dev:"http://mixmag-au.local:3000",production:"https://mixmag-anz.app.session.services"},logo:{icon:{src:"https://assets.session.services/icon-bg.png",width:29,height:29},email:{src:"https://assets.session.services/icon-bg.png",width:165,height:76},website:{src:"https://assets.session.services/icon-bg.png",width:165,height:76},qr:{src:"https://assets.session.services/tenants/mixmag-anz/qr.svg"}},favicon:"https://assets.session.services/tenants/mixmag-anz/favicon.svg"},V=e.MixmagUser={id:"usr_01jps5cgsmh2d4ez6xz2t23fsf",email:"mixmag@session.services",firstName:"Mixmag",lastName:"User",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),tenantId:Z.id},W=e.MixmagTeam={id:"tem_01hr9kk2pgez2s8jzb3gs5nwsf",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),name:"Mixmag Team",slug:"mixmag-team",description:"This is Mixmag team...",type:"PROMOTER",tenantId:"tnt_01jqpj2t2kfvmstt6f6tzkbaf2"},B=e.MixmagPromoter={id:"pmt_01hr9kk2pgez2s8jzb3gs5nwsf",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),payoutFrequency:"AFTER_EVENT",name:"Mixmag Promoter",slug:"mixmag-promoter",description:"This is Mixmag...",image:{src:"https://assets.session.services/icon-bg.png",alt:"Session Services Logo",width:800,height:800},approval:"APPROVED",type:"PROMOTER",geohash:"r3gx1",location:{id:"loc_01hr9kk2pgez2s8jzb3gs5nwsg",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),name:"Mixmag",address:"169 Oxford St, Darlinghurst NSW 2010, Australia",city:"Darlinghurst",state:"New South Wales",postcode:"2010",country:"Australia",latitude:-33.8774,longitude:151.2196,timeZone:"Australia/Sydney"},tracking:{fbId:"485739562847563",gtmId:"GTM-K8WPM5N",tikTokId:"BQCKPH3RC77U8GPMLJ5G"},teamId:W.id,tenantId:"tnt_01jqpj2t2kfvmstt6f6tzkbaf2"},H=e.MixmagSashPromoter={id:"pmt_01jps5cgsm15cfwrtat68b2vq5",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),payoutFrequency:"WEEKLY",name:"SASH Mixmag Promoter",slug:"sash-mixmag-promoter",description:"This is SASH on Mixmag...",image:{src:"https://assets.session.services/icon-bg.png",alt:"Session Services Logo",width:800,height:800},approval:"APPROVED",type:"PROMOTER",geohash:"r3gx1",location:{id:"loc_01jps5cgsm15cfwrtat68b2vq6",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),name:"Mixmag",address:"169 Oxford St, Darlinghurst NSW 2010, Australia",city:"Darlinghurst",state:"New South Wales",postcode:"2010",country:"Australia",latitude:-33.8774,longitude:151.2196,timeZone:"Australia/Sydney"},tracking:{fbId:"485739562847563",gtmId:"GTM-K8WPM5N",tikTokId:"BQCKPH3RC77U8GPMLJ5G"},tenantId:Z.id};e.MixmagPromoterMember={id:"mbr_01jps5cgsmk2femegmakpgrjdq",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),promoterId:B.id,promoterSlug:B.slug,userId:V.id,user:{id:V.id,email:V.email,firstName:V.firstName,lastName:V.lastName},permissions:["FULL"],tenantId:Z.id};const K=e.MixmagEvent={id:"evt_01jps5cgsmwksmhse1gr2jrq7x",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),name:"Mixmag Event",slug:"wrong-event",description:"This is the wrong event...",approval:"APPROVED",status:"UPCOMING",visibility:"PUBLIC",currency:"AUD",entryStartsAt:fr(sr(new Date,1)),entryEndsAt:fr(sr(new Date,2)),publishAt:fr(new Date),images:{mobile:{src:"https://assets.session.services/event-mobile.jpg",alt:"Mobile Event Image",width:1080,height:1350},desktop:{src:"https://assets.session.services/event-desktop.jpg",alt:"Desktop Event Image",width:1920,height:1080}},geohash:"r3gx1",location:{id:"loc_01jps5cgsmkp1bdr7hgfmmhr4e",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),name:"Mixmag",address:"169 Oxford St, Darlinghurst NSW 2010, Australia",city:"Darlinghurst",state:"New South Wales",postcode:"2010",country:"Australia",latitude:-33.8774,longitude:151.2196,timeZone:"Australia/Sydney"},teamId:W.id,promoterId:B.id,tenantId:Z.id},J=e.MixmagSashEvent={id:"evt_01kb1ve66keh4rntf96rq5wpk2",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),name:"Mixmag SASH Event",slug:"mixmag-sash-event",description:"This is a sash on mixmag event...",approval:"APPROVED",status:"UPCOMING",visibility:"PUBLIC",currency:"AUD",entryStartsAt:fr(sr(new Date,1)),entryEndsAt:fr(sr(new Date,2)),publishAt:fr(new Date),images:{mobile:{src:"https://assets.session.services/event-mobile.jpg",alt:"Mobile Event Image",width:1080,height:1350},desktop:{src:"https://assets.session.services/event-desktop.jpg",alt:"Desktop Event Image",width:1920,height:1080}},geohash:"r3gx1",location:{id:"loc_01jps5cgsm7qxvh6watsons0eq",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),name:"Watson's EQ",address:"The, Entertainment Quarter, 1 Bent St, Moore Park NSW 2021, Australia",city:"Moore Park",state:"New South Wales",postcode:"2010",country:"Australia",latitude:-33.8944593,longitude:151.2252255,timeZone:"Australia/Sydney"},teamId:W.id,promoterId:B.id,tenantId:Z.id},X=e.MixmagSection={id:"sct_01jps5cgsmhrfxjn18y9bfdqc2",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),teamId:W.id,promoterId:B.id,eventId:K.id,eventSlug:K.slug,name:"Mixmag Admission",capacity:200,limit:-1,available:200,reserved:0,order:0,sold:0,location:h,tenantId:Z.id},Q=e.MixmagAdmission={id:"adm_01jps5cgsmbepdasrtxvh9xa0k",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),sectionId:X.id,teamId:W.id,promoterId:B.id,eventId:K.id,eventSlug:K.slug,name:"Mixmag Release",capacity:100,limit:-1,available:100,entryStartsAt:fr(sr(new Date,1)),entryEndsAt:fr(sr(new Date,2)),saleStartsAt:fr(new Date),saleEndsAt:fr(sr(new Date,2)),price:{base:1e3,booking:200,currency:"AUD"},tenantId:Z.id};e.MixmagSashAdmission={id:"adm_01jps5cgsm5c3scpdyf25bhntd",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),promoterId:H.id,eventId:J.id,eventSlug:J.slug,name:"Final Release",capacity:100,limit:-1,available:100,entryStartsAt:fr(sr(new Date,1)),entryEndsAt:fr(sr(new Date,2)),saleStartsAt:fr(new Date),saleEndsAt:fr(sr(new Date,2)),price:{base:1e3,booking:200,currency:"AUD"},tenantId:Z.id};const ee=e.MixmagBeneficiary={id:"ben_01jps5cgsmgxsdv4nxjk51s5by",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),name:"My Bank Account",currency:"AUD",gatewayId:"ben_12345abcde67890",gateway:"AIRWALLEX",assignment:"PROMOTER",teamId:W.id,promoterId:B.id,tenantId:Z.id},te=e.MixmagCoupon={id:"cpn_01kb1vvpa0ecrbpyh2j5mvzdp9",couponId:"cpn_01kb1vvpa0ecrbpyh2j5mvzdp9",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),name:"Mixmag Price",active:!0,kind:"PERCENT",filter:"TEAM",currency:"AUD",discount:50,uses:0,limit:-1,saleStartsAt:fr(new Date(2025,1,10,3,0,0)),saleEndsAt:void 0,deletedAt:void 0,teamId:W.id,tenantId:Z.id},ne=e.MixmagCouponCode={id:"cod_01jps5cgsmc53405wk7t2v8ka7",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),active:!0,name:"MIXMAG",tenantId:Z.id,couponId:te.id,teamId:W.id},ie=e.MixmagPayout={id:"pyt_01jps5cgsmx1x39hnrmvvtcets",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),paidAt:(new Date).toISOString(),structure:"default",items:{tickets:{beneficiaryId:ee.id,feeAmount:0,feeCurrency:"AUD",transferAmount:1e3,transferCurrency:"AUD"},sessions:{beneficiaryId:ee.id,feeAmount:0,feeCurrency:"AUD",transferAmount:650,transferCurrency:"AUD"}},eventId:K.id,promoterId:B.id},se=e.MixmagOrder={id:"ord_01jps5cgsmtxt8e0985tstqe5h",token:"16a761b251a2368027c6c08453eca1a97f7e7fcbf714b789c8aa96033d199b90",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),status:"PENDING",payment:{method:"FREE"},price:{total:0,base:0,booking:0,discount:0,processor:0,currency:"AUD"},code:{id:ne.id,name:ne.name},customer:A,promoterId:B.id,eventId:K.id,paymentId:"",payoutIds:[ie.id]},re=e.MixmagOrderItem={id:"itm_01jps5cgsmqrkg0btn7khdyjyg",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),orderId:se.id,kind:"ADMISSION",quantity:2,admissionId:Q.id,price:{base:Q.price.base,booking:Q.price.booking,discount:0,currency:Q.price.currency}};e.MixmagOrderFee={id:"fee_01jps5cgsm4jgpnfqxahmwm7he",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),orderId:se.id,reason:"Gateway Fee",amount:30,currency:"AUD",requestId:"att_sgpdz4v2ph1axmdmdx8_m8w6qv"},e.MixmagTicket={id:"tkt_01jps5cgsmycbvfrqw5h3zt9bp",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),status:"REDEEMED",scans:[],token:"m1i2x3m4a5g6789012345678901234567890123456789012345678901234mixm",attendee:{email:A.email,firstName:A.firstName,lastName:A.lastName},event:{id:K.id,name:K.name,slug:K.slug,location:K.location,entryStartsAt:K.entryStartsAt,entryEndsAt:K.entryEndsAt,images:K.images},admission:{id:Q.id,name:Q.name,price:Q.price,entryStartsAt:Q.entryStartsAt,entryEndsAt:Q.entryEndsAt},eventId:K.id,customerId:A.id,orderId:se.id,orderItemId:re.id,admissionId:Q.id,promoterId:B.id,promoterSlug:B.slug,tenantId:Z.id},e.InactiveCoupon={...w,id:"cpn_01kb1ve66keh4rntfm5z89yskj",couponId:"cpn_01kb1ve66keh4rntfm5z89yskj",name:"Inactive Coupon",active:!1};const oe=e.MelbourneLocation={id:"loc_01hk153x00ebfrn7y8v7z8emew",createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString(),googlePlaceId:"ChIJc4QL47ZC1moRFW-PYdhx-O0",name:"Federation Square",address:"Federation Square, Melbourne VIC 3000, Australia",city:"Melbourne",state:"Victoria",postcode:"3000",country:"Australia",latitude:-37.8179789,longitude:144.9690576,timeZone:"Australia/Melbourne"};e.MelbourneVenue={...r,id:"ven_01kb1ve66heh4rntebeywafbwj",name:"Melbourne Convention Centre",slug:"melbourne-convention-centre",description:"Premier convention and exhibition venue in Melbourne",locationId:oe.id,location:oe,geohash:"r1r0f"};const ae=e.MelbournePromoter={...p,id:"pmt_01kb1ve66keh4rntehghtb8j43",name:"Melbourne Promoter",slug:"melbourne-promoter",description:"A promoter based in Melbourne",geohash:"r1r0f",location:oe};e.MelbourneEvent={...m,id:"evt_01kb1ve66keh4rnteypq587crh",name:"Melbourne Event",slug:"melbourne-event",description:"An event in Melbourne for geo testing",promoterId:ae.id,geohash:"r1r0f",location:oe},e.PendingVenue={...r,id:"ven_01kb1ve66keh4rntf3crpmdyaw",name:"Pending Venue",slug:"pending-venue",description:"A venue pending approval",approval:"PENDING"},e.Locations={sydneyOperaHouse:{id:"loc_01hk153x00fpxv6cjp99qawkcs",googlePlaceId:"ChIJ3S-JXmauEmsRUcIaWtf4MzE",name:"Sydney Opera House",address:"Bennelong Point, Sydney NSW 2000, Australia",city:"Sydney",state:"New South Wales",postcode:"2000",country:"Australia",latitude:-33.8567844,longitude:151.2152967,timeZone:"Australia/Sydney",types:["establishment","point_of_interest","tourist_attraction"],image:{src:"https://assets.session.services/locations/loc_01hk153x00fpxv6cjp99qawkcs.jpg",alt:"Sydney Opera House",width:1200,height:800}},carouselBarBallroom:{id:"loc_01hk153x00efq9ygdkc9eb3rjt",googlePlaceId:"ChIJc8-zlGSvEmsR0rbZWpCP6z0",name:"Carousel Bar & Ballroom",address:"169 Oxford St, Darlinghurst NSW 2010, Australia",city:"Darlinghurst",state:"New South Wales",postcode:"2010",country:"Australia",latitude:-33.8803603,longitude:151.2161228,timeZone:"Australia/Sydney",types:["establishment","night_club","point_of_interest"],image:{src:"https://assets.session.services/locations/loc_01hk153x00efq9ygdkc9eb3rjt.jpg",alt:"Carousel Bar & Ballroom",width:1200,height:800}},homeTheVenue:{id:"loc_01hk153x00eqbb7qm3b7fjxh7j",googlePlaceId:"ChIJLaRY2DuuEmsRkgiW8LMz2Hs",name:"Home The Venue",address:"101/1-5 Wheat Rd, Sydney NSW 2000, Australia",city:"Sydney",state:"New South Wales",postcode:"2000",country:"Australia",latitude:-33.8725457,longitude:151.201907,timeZone:"Australia/Sydney",types:["establishment","food","night_club","point_of_interest","restaurant"],image:{src:"https://assets.session.services/locations/loc_01hk153x00eqbb7qm3b7fjxh7j.jpg",alt:"Home The Venue",width:1200,height:800}},greenwoodHotel:{id:"loc_01hk153x00eerbxb70s9fwbmc9",googlePlaceId:"ChIJPZiEA_OuEmsRWKYZIBL58QU",name:"Greenwood Hotel",address:"The Greenwood Plaza Rooftop, 36 Blue St, North Sydney NSW 2060, Australia",city:"North Sydney",state:"New South Wales",postcode:"2060",country:"Australia",latitude:-33.8401485,longitude:151.2074803,timeZone:"Australia/Sydney",types:["bar","establishment","food","point_of_interest","restaurant"],image:{src:"https://assets.session.services/locations/loc_01hk153x00eerbxb70s9fwbmc9.jpg",alt:"Greenwood Hotel",width:1200,height:800}},sydneyRacquetClub:{id:"loc_01hk153x00f26trt0z9kmm5pm4",googlePlaceId:"ChIJB3Dai2SvEmsR904tdDsfGWs",name:"Sydney Racquet Club",address:"17 Park Rd N, Moore Park NSW 2021, Australia",city:"Moore Park",state:"New South Wales",postcode:"2021",country:"Australia",latitude:-33.89344310000001,longitude:151.2260224,timeZone:"Australia/Sydney",types:["establishment","point_of_interest"],image:{src:"https://assets.session.services/locations/loc_01hk153x00f26trt0z9kmm5pm4.jpg",alt:"Sydney Racquet Club",width:1200,height:800}},centralStation:{id:"loc_01hk153x00fypv7sxqvby33hsg",googlePlaceId:"ChIJpcfaaCGuEmsRcTRNZkqb51U",name:"Central Station",address:"Eddy Ave, Haymarket NSW 2000, Australia",city:"Haymarket",state:"New South Wales",postcode:"2000",country:"Australia",latitude:-33.8826465,longitude:151.2064744,timeZone:"Australia/Sydney",types:["establishment","point_of_interest","subway_station","train_station","transit_station"],image:{src:"https://assets.session.services/locations/loc_01hk153x00fypv7sxqvby33hsg.jpg",alt:"Central Station",width:1200,height:800}},federationSquare:{id:"loc_01hk153x00ebfrn7y8v7z8emew",googlePlaceId:"ChIJc4QL47ZC1moRFW-PYdhx-O0",name:"Federation Square",address:"Federation Square, Melbourne VIC 3000, Australia",city:"Melbourne",state:"Victoria",postcode:"3000",country:"Australia",latitude:-37.8179789,longitude:144.9690576,timeZone:"Australia/Melbourne",types:["town_square"],image:{src:"https://assets.session.services/locations/loc_01hk153x00ebfrn7y8v7z8emew.jpg",alt:"Federation Square",width:1200,height:800}},bondiBeach:{id:"loc_01hk153x00er59hr0dvf9t4mpy",googlePlaceId:"ChIJWTi8xgGyEmsRgK0yFmh9AQU",name:"Bondi Beach",address:"Bondi Beach NSW 2026, Australia",city:"Bondi Beach",state:"New South Wales",postcode:"2026",country:"Australia",latitude:-33.8891201,longitude:151.2703991,timeZone:"Australia/Sydney",types:["locality","political"],image:{src:"https://assets.session.services/locations/loc_01hk153x00er59hr0dvf9t4mpy.jpg",alt:"Bondi Beach",width:1200,height:800}},sydney:{id:"loc_01hk153x00fyrr4gttg9psr5cv",googlePlaceId:"ChIJP3Sa8ziYEmsRUKgyFmh9AQM",name:"Sydney",address:"Sydney NSW, Australia",city:"Sydney",state:"New South Wales",postcode:void 0,country:"Australia",latitude:-33.8727409,longitude:151.2057136,timeZone:"Australia/Sydney",types:["colloquial_area","locality","political"],image:{src:"https://assets.session.services/locations/loc_01hk153x00fyrr4gttg9psr5cv.jpg",alt:"Sydney",width:1200,height:800}}}}(hc||(hc={}));const gc=Ei({net:pi().min(0).meta({examples:[hr.OrderItem.price.net],description:"Total amount to pay to promoter in cents.\nCalculated as: total - booking - refunded"}),total:pi().min(0).meta({examples:[hr.OrderItem.price.total],description:"Total amount the customer should pay in cents.\nCalculated as: gross - discount"}),gross:pi().min(0).meta({examples:[hr.OrderItem.price.gross],description:"Total amount before refunds and discounts in cents.\nCalculated as: base + booking"}),base:pi().min(0).meta({examples:[hr.OrderItem.price.base],description:"Total ticket price in cents"}),booking:pi().min(0).meta({examples:[hr.OrderItem.price.booking],description:"Total booking fees in cents (non-refundable)"}),refunded:pi().max(0).meta({examples:[hr.OrderItem.price.refunded],description:"Total amount refunded in cents"}),discount:pi().max(0).meta({examples:[hr.OrderItem.price.discount],description:"Total amount discounted in cents"}),currency:jn().regex(/^[A-Z]{3}$/).meta({examples:[hr.OrderItem.price.currency],description:"Currency code in ISO 4217 format."})}),vc=Ni(["ADMISSION","ADDON"]),yc=Ei({id:jn().meta({examples:[hr.OrderItem.id],description:"Unique identifier for this order item"}),kind:vc.meta({examples:[hr.OrderItem.kind],description:"Type of item: ADMISSION for tickets, ADDON for additional products or services"}),quantity:pi().min(1).meta({examples:[hr.OrderItem.quantity],description:"Number of items purchased (minimum 1)"}),admissionId:jn().optional().meta({examples:[hr.OrderItem.admissionId],description:"Unique identifier of the admission ticket type, required for ADMISSION items"}),sectionId:jn().optional().meta({examples:[hr.OrderItem.sectionId],description:"Unique identifier of the venue section for this admission"}),admission:$r.optional().meta({examples:[hc.Admission],description:"Complete admission details captured at time of purchase. This is a snapshot that preserves the exact ticket type information as it was when the order was placed"}),section:Ua.optional().meta({examples:[hc.Section],description:"Complete section details captured at time of purchase. This is a snapshot that preserves the exact venue area or category information as it was when the order was placed"}),price:gc.meta({description:"Pricing breakdown for this order item including all fees and discounts"})}),bc=Ni(["FREE","AIRWALLEX","STRIPE"]),wc=Ni(["AMERICAN_EXPRESS","CHINA_UNION_PAY","DINERS_CLUB_INTERNATIONAL","DISCOVER","JCB","MAESTRO","MASTERCARD","UNION_PAY","VISA"]),Ic=Ni(["ACH_DIRECT_DEBIT","ACSS_DEBIT","AFFIRM","AFTERPAY","ALFAMART","ALIPAY","ALIPAYCN","ALIPAYHK","ALMA","AMAZON_PAY","APPLEPAY","ATOME","BACS_DIRECT_DEBIT","BANCONTACT","BANK_TRANSFER","BECS_DIRECT_DEBIT","BILLIE","BITPAY","BLIK","BOLETO","BOOST","CARD","CARD_PRESENT","CASHAPP","CRYPTO","CUSTOM","CUSTOMER_BALANCE","DANA","DOKU_EWALLET","DRAGONPAY","DUIT_NOW","EFT_DIRECT_DEBIT","EPS","ESUN","FAMILY_MART","FPX","FPS","GCASH","GIROPAY","GOOGLEPAY","GO_PAY","GRABPAY","HI_LIFE","IDEAL","INDOMARET","INTERAC_PRESENT","JENIUS_PAY","KAKAOPAY","KLARNA","KONBINI","KOREAN_LOCAL_CARD","LINK","LINKAJA","MAXIMA","MB_WAY","MOBILEPAY","MULTIBANCO","MYBANK","NARVESEN","NAVER_PAY","NZ_BANK_ACCOUNT","ONLINE_BANKING","OVO","OXXO","P24","PAYBYBANKAPP","PAYCO","PAYEASY","PAYPAL","PAYPAY","PAYSAFECASH","PAYSAFECARD","PAYSERA","PAY_NOW","PERLAS_TERMINALS","PIX","PROMPTPAY","RABBIT_LINE_PAY","REVOLUT_PAY","SAMSUNG_PAY","SATISPAY","SEPA_DIRECT_DEBIT","SEVEN_ELEVEN","SHOPEE_PAY","SKRILL","SOFORT","SWISH","TNG","TOSS_PAY","TRUEMONEY","TRUSTLY","TWINT","VERKKOPANKKI","WECHATPAY","ZIP"]),kc=Ei({method:bc.meta({examples:["FREE"],description:"Payment gateway used to process this order: FREE for no-cost orders, AIRWALLEX or STRIPE for paid orders"}),source:Ic.optional().meta({examples:["APPLEPAY","GOOGLEPAY","CARD"],description:"Payment method used by the customer such as ApplePay, GooglePay, or card-based payments"}),brand:wc.optional().meta({examples:["VISA","MASTERCARD","AMERICAN_EXPRESS"],description:"Card brand when source is CARD (Visa, Mastercard, American Express, etc.)"}),last4:jn().optional().meta({examples:["4242"],description:"Last 4 digits of the card number when source is CARD"}),stripeId:jn().optional().meta({examples:["pi_1234567890abcdef"],description:"Stripe payment intent identifier when using Stripe gateway"}),airwallexId:jn().optional().meta({examples:["int_hkdmr7v9rg1j8donpkmv96"],description:"Airwallex payment intent identifier when using Airwallex gateway"})}),xc=Ei({net:pi().meta({examples:[hr.Order.price.net],description:"Total amount to pay to promoter in cents.\nCalculated as: total + booking + refunded + dispute"}),total:pi().meta({examples:[hr.Order.price.total],description:"Total amount the customer should pay in cents.\nCalculated as: gross + discount"}),gross:pi().min(0).meta({examples:[hr.Order.price.gross],description:"Total amount before refunds and discounts in cents.\nCalculated as: base + booking + shipping"}),base:pi().min(0).meta({examples:[hr.Order.price.base],description:"Total ticket price in cents"}),booking:pi().min(0).meta({examples:[hr.Order.price.booking],description:"Total booking fees in cents (non-refundable)"}),shipping:pi().min(0).meta({examples:[hr.Order.price.shipping],description:"Total shipping amount in cents"}),refunded:pi().max(0).meta({examples:[-hr.Order.price.refunded],description:"Total amount refunded in cents (negative value)"}),discount:pi().max(0).meta({examples:[-hr.Order.price.discount],description:"Total amount discounted in cents (negative value)"}),gateway:pi().max(0).meta({examples:[-hr.Order.price.gateway],description:"Total absorbed payment gateway fees in cents (negative value)"}),dispute:pi().max(0).meta({examples:[-hr.Order.price.dispute],description:"Total non-absorbed payment gateway fees in cents (negative value)"}),currency:jn().regex(/^[A-Z]{3}$/).meta({examples:[hr.Order.price.currency],description:"Currency code in ISO 4217 format"})}),Ac=Ni(["ORDER_STATUS_UPDATED","ORDER_EXPIRED","ORDER_COMPLETED","PAYMENT_INITIATED","PAYMENT_PROCESSING","PAYMENT_FAILED","PAYMENT_SUCCEEDED","REFUND_INITIATED","REFUND_PROCESSING","REFUND_SUCCEEDED","REFUND_FAILED","CHARGEBACK_INITIATED","CHARGEBACK_EVIDENCE_SUBMITTED","CHARGEBACK_WON","CHARGEBACK_LOST","CHARGEBACK_FUNDS_WITHDRAWN","TICKETS_GENERATED","TICKET_ADDED","TICKETS_SCANNED","TICKET_EDITED","TICKET_STATUS_CHANGED","EMAIL_SENT","EMAIL_DELIVERED","EMAIL_OPENED","EMAIL_BOUNCED","EMAIL_COMPLAINED","EMAIL_FAILED","NOTE"]),Ec=Ei({id:jn().meta({examples:[hr.Order.id],description:"Unique identifier of the order this timeline entry belongs to"}),createdAt:yn().readonly().meta({examples:[hr.Order.createdAt],description:"Timestamp in ISO 8601 format when this timeline entry was created"}),status:jn().optional().meta({examples:["SUCCESSFUL"],description:"Order status associated with this timeline entry, when applicable."}),kind:Ac.meta({examples:["ORDER_CREATED"],description:"Type of timeline event (ORDER_CREATED, PAYMENT_SUCCEEDED, REFUND_INITIATED, etc.)"}),editable:ui().meta({examples:[!1],description:"Whether this timeline entry can be edited by users"}),pinned:ui().meta({examples:[!1],description:"Whether this timeline entry is pinned to the top of the timeline"}),description:jn().meta({examples:["Order was created successfully"],description:"Human-readable description of what happened in this timeline event"}),author:jn().meta({examples:["System"],description:"Name of the user or system that created this timeline entry"}),userId:jn().optional().meta({examples:[hr.User.id],description:"Identifier of the user who created this timeline entry, when available."}),externalId:jn().optional().meta({examples:["ses:01234567-89ab-cdef-0123-456789abcdef:Delivery"],description:"External idempotency key for deduplication (e.g., SES messageId + eventType)"})}),Dc=Ni(["PENDING","PROCESSING","SUCCESSFUL","REFUNDED","DISPUTED","ABANDONED"]),Tc=Ei({id:Ar.readonly().meta({examples:[hr.Order.id],description:"A unique identifier for this order."}),token:jn().readonly().meta({examples:[hr.Order.token],description:"A secure token used to reference this order when not authenticated."}),createdAt:yn().readonly().meta({examples:[hr.Order.createdAt],description:"Timestamp in ISO 8601 format when this order was created."}),updatedAt:yn().readonly().meta({examples:[hr.Order.updatedAt],description:"Timestamp in ISO 8601 format when this order was last updated."}),status:Dc.meta({examples:["PENDING"],description:"The current payment status of the order."}),payment:kc.optional().meta({description:"Details of the payment method and transaction for this order."}),items:xi(yc).meta({description:"List of items included in this order."}),fees:xi(fc).meta({description:"List of fees applied to this order."}),price:xc.meta({description:"Summary of the order total, including items and fees."}),couponCode:lc.optional().meta({description:"Details of the coupon code applied to this order for discount calculation"}),customer:uc.optional().meta({description:"Details of the customer who placed this order, if available."}),timeline:xi(Ec).optional().meta({description:"Chronological audit trail entries associated with this order."}),customerId:Dr.optional().meta({examples:[hr.Customer.id],description:"Identifier of the customer who placed this order."}),createdBy:uc.optional().meta({description:"Details of the admin user who created this order on behalf of the customer."}),createdById:xr.optional().meta({examples:[hr.User.id],description:"Identifier of the admin user who created this order on behalf of the customer."}),teamId:br.meta({description:"Team that owns this order. Denormalized for efficient queries."}),promoterId:Er.meta({examples:[hr.Promoter.id],description:"Identifier of the promoter managing this order."}),event:mc.meta({description:"Details of the event associated with this order."}),payoutIds:xi(_r.meta({examples:[hr.Promoter.id],description:"Identifier for each payout transaction generated by this order."})).meta({description:"List of payout identifiers created when this order was settled."}),eventId:wr.meta({examples:[hr.Event.id],description:"Identifier of the event for which this order was placed."}),eventSlug:jn().meta({examples:[hr.Event.slug],description:"URL-friendly slug of the event."}),checkoutUrl:jn().readonly().meta({examples:["https://example.com/checkout/ord_1234567890"],description:"The URL where the customer can complete the checkout for this order."}),returnUrl:jn().optional().meta({examples:["https://example.com/event/success"],description:"The URL to redirect to after successful payment completion."})}).meta({description:"order"}),Sc=Ei({id:jn().meta({examples:[hr.Order.id],description:"Unique identifier of the order to add a note to"}),note:jn().min(1).max(1e3).meta({examples:["Customer requested special seating arrangements"],description:"Note text content (1-1000 characters)"})}),_c=Ei({teamId:jn().optional().meta({description:"Filter orders by team unique identifier"}),promoterId:jn().optional().meta({examples:["pmt_01jqpjksnsen9vprw95et60t2m"],description:"Filter orders by promoter unique identifier"}),eventId:jn().optional().meta({examples:["evt_01jps5cgsenjrazw6wswmyspa3"],description:"Filter orders by event unique identifier"}),customerId:jn().optional().meta({examples:["cus_01jps5cgsf4pn2a32eamppnap1"],description:"Filter orders by customer unique identifier"}),status:Ni(["PENDING","PROCESSING","SUCCESSFUL","REFUNDED","DISPUTED","ABANDONED"]).optional().meta({examples:["SUCCESSFUL"],description:"Filter orders by payment status"}),query:jn().optional().meta({examples:["John Doe"],description:"Optional search query to filter orders by customer details. When provided, search-backed pagination is used."}),from:jn().date().optional().meta({examples:["2025-01-01"],description:"Filter orders created on or after this date (YYYY-MM-DD format). Inclusive of the entire day."}),to:jn().date().optional().meta({examples:["2025-12-31"],description:"Filter orders created on or before this date (YYYY-MM-DD format). Inclusive of the entire day."}),limit:Xi().min(1).max(100).prefault(20).meta({examples:[20],description:"Maximum number of orders to return (1-100, default: 20)"}).optional(),cursor:jn().optional().meta({examples:["eyJpZCI6Im9yZF8wMWpwczVjZ3NmZ3ZlNWI1ZzI2NjZreXJ5aCJ9"],description:"Pagination cursor for continuing to fetch subsequent results"})}),Pc=_c.extend({from:jn().date().meta({examples:["2025-01-01"],description:"Start date in YYYY-MM-DD format for counting orders within a date range. Inclusive of the entire day."}),to:jn().date().meta({examples:["2025-12-31"],description:"End date in YYYY-MM-DD format for counting orders within a date range. Inclusive of the entire day."})}),Rc=Ei({count:ci()}),Cc=yc.omit({id:!0,price:!0,kind:!0}).extend({id:jn().optional().meta({examples:["itm_01jps5cgsfwyxj0516571eaf17"],description:"Unique identifier for this order item. When omitted, the server assigns an id during processing"})}),Uc=Ei({eventId:jn().meta({examples:["evt_01jps5cgsenjrazw6wswmyspa3"],description:"Unique identifier of the event for which to create the order"}),items:xi(Cc).meta({description:"List of items to include in the new order"}),couponCode:jn().optional().meta({examples:["TEST50"],description:"Optional coupon code to apply discount to the order"}),returnUrl:jn().optional().meta({examples:["https://example.com/event/success"],description:"Optional URL to redirect to after successful payment"})}),Nc=Ei({id:jn().meta({examples:[hr.Order.id],description:"Unique identifier of the order"}),noteId:jn().meta({examples:["tl_1234567890_abc123"],description:"Unique identifier of the timeline note to delete"})});Ei({id:jn().meta({examples:[hr.Order.id],description:"Unique identifier of the order to edit"}),token:jn().meta({examples:[hr.Order.token],description:"Order token for customer access during checkout. Required for editing order items."}),items:xi(Cc).min(1).meta({description:"Updated list of items for the order (replaces existing items). Prices will be recalculated and payment intent updated."})});const Oc=Ei({id:jn().meta({examples:[hr.Order.id],description:"Unique identifier of the order to retrieve"}),token:jn().meta({examples:[hr.Order.token],description:"Optional secure token for accessing order without authentication"}).optional()}),qc=Ua.omit({id:!0,createdAt:!0,updatedAt:!0,order:!0,available:!0,sold:!0,reserved:!0,promoterId:!0,eventSlug:!0,location:!0}).extend({order:ci().optional().meta({examples:[hr.Section.order],description:"Display order of the section. Lower numbers appear first in listings. Defaults to 0 if not specified"}),locationId:kr.optional().meta({examples:["loc_01jqpjksnsen9vprw95et60t2m"],description:"ID of an existing location. Either locationId or googlePlaceId must be provided."}),googlePlaceId:jn().optional().meta({examples:["ChIJN1t_tDeuEmsRUsoyG83frY4"],description:"Google Place ID to create a new location from. Either locationId or googlePlaceId must be provided."})}).refine((e=>e.locationId||e.googlePlaceId),{message:"Either locationId or googlePlaceId must be provided"}).meta({description:"Schema for creating a new section within an event venue. Excludes system-generated fields and fields derived from the event"}),Mc=Ua.pick({id:!0}).extend({eventId:jn().meta({examples:[hr.Section.eventId],description:"Unique identifier of the event to verify section belongs to"})}).meta({description:"Schema for soft-deleting a section by setting its deletedAt timestamp"}),jc=Ua.pick({id:!0}).extend({eventId:jn().meta({examples:[hr.Section.eventId],description:"Unique identifier of the event to verify section belongs to"})}).meta({description:"Schema for retrieving a specific section by ID"}),Lc=Ei({eventId:Ua.shape.eventId,query:jn().optional().meta({examples:["VIP"],description:"Optional search query. When provided, automatically uses search-backed pagination for full-text search capabilities"}),limit:Xi().min(1).max(100).prefault(20).meta({examples:[20],description:"Maximum number of sections to return in each result set. Must be between 1 and 100, defaults to 20"}),cursor:jn().optional().meta({examples:["eyJpbnRlbnQiOnsicmVzb3VyY2UiOiJzZWN0aW9uLmxpc3QifSwicG9zaXRpb24iOnsiZW5naW5lIjoiZHluYW1vIiwgImN1cnNvciI6InNlY18wMWpwczVjZ3NlMGczcWo1NnZkODZ6N3FqIiwgImhpc3RvcnkiOltdfX0="],description:"Opaque pagination cursor from a previous response. Provide to continue fetching subsequent results"})}).meta({description:"Schema for listing sections with cursor-based pagination. Automatically uses search-backed pagination when query parameter is provided"}),zc=Vr(Ua,"sections"),$c=Ei({section:Ua}),Gc=Ua.omit({promoterId:!0,createdAt:!0,updatedAt:!0,eventSlug:!0,available:!0,sold:!0,reserved:!0,location:!0}).partial().extend({id:jn().meta({examples:[hr.Section.id],description:"Unique identifier of the section to update"}),eventId:jn().meta({examples:[hr.Section.eventId],description:"Unique identifier of the event to verify section belongs to"}),locationId:kr.optional().meta({examples:["loc_01jqpjksnsen9vprw95et60t2m"],description:"ID of an existing location to update to. Either locationId or googlePlaceId can be provided."}),googlePlaceId:jn().optional().meta({examples:["ChIJN1t_tDeuEmsRUsoyG83frY4"],description:"Google Place ID to update location from. Either locationId or googlePlaceId can be provided."})}).meta({description:"Schema for updating an existing section."}),Yc=yc.extend({admission:$r.optional().meta({description:"Complete admission details for this order item when available"}),section:Ua.optional().meta({description:"Complete section details for this order item when applicable"})}),Fc=Vr(Tc,"orders"),Zc=Ei({items:xi(Yc).meta({description:"List of order items with complete pricing and admission details"}),price:xc.meta({description:"Total pricing breakdown for the entire order quote"}),couponCode:va.optional().meta({description:"Applied coupon code details if a discount was used in this quote"})}),Vc=Ei({eventId:jn().meta({examples:["evt_01jps5cgsenjrazw6wswmyspa3"],description:"Unique identifier of the event for which to generate a price quote"}),items:xi(Cc).meta({description:"List of items to include in the price quote calculation"}),couponCode:jn().optional().meta({examples:["TEST50"],description:"Optional coupon code to apply discount to the quote"})}),Wc=Ei({quote:Zc}),Bc=Ei({id:jn().meta({examples:[hr.Order.id],description:"Order ID to resend tickets for"}),email:jn().email().optional().meta({examples:["customer@example.com"],description:"Email address to send tickets to. If not provided, uses order.customer.email"})}),Hc=Ei({order:Tc}),Kc=Ei({key:jn().meta({description:"Interval start (date-string)"}),currency:jn().meta({description:"Currency code in ISO 4217 format."}),sum:xc.omit({currency:!0}).meta({description:"Summed price fields for this currency in this date bin (currency repeated)."}),count:pi().meta({description:"Number of records in this bin (for this currency)."})}),Jc=Ei({currency:jn().meta({description:"Currency code in ISO 4217 format."}),count:pi().meta({description:"Total number of records for this currency."}),sum:xc.omit({currency:!0}).meta({description:"Aggregated price totals for all orders in this currency"}),breakdown:xi(Kc).meta({description:"Histogram of sums/counts per interval."})}),Xc=Ei({count:pi().meta({description:"Total number of records in this period."}),currencies:xi(Jc).meta({description:"Stats broken down by currency."})}),Qc=Ei({current:Xc.meta({description:"Stats for the current date-range."}),previous:Xc.meta({description:"Stats for the previous date-range, same length as current."})}),ed=Uc.omit({eventId:!0}).partial().extend({id:jn().meta({examples:[hr.Order.id],description:"Unique identifier of the order to update"}),token:jn().meta({examples:[hr.Order.token],description:"Order token for customer access during checkout. Required for all order updates."}),items:xi(Cc).min(1).optional().meta({description:"Updated list of items for the order. Requires token. Prices will be recalculated and payment intent updated."}),customer:Ei({firstName:jn().meta({examples:[hr.Customer.firstName],description:"Updated first name of the customer"}),lastName:jn().meta({examples:[hr.Customer.lastName],description:"Updated last name of the customer"}),email:$n().meta({examples:[hr.Customer.email],description:"Updated email address of the customer"}),phone:jn().meta({examples:[hr.Customer.phone],description:"Updated phone number of the customer"}).optional()}).optional().meta({description:"Updated customer information for the order"})}),td=Ei({id:jn().meta({examples:[hr.Order.id],description:"Unique identifier of the order"}),noteId:jn().meta({examples:["tl_1234567890_abc123"],description:"Unique identifier of the timeline note to update"}),note:jn().min(1).max(1e3).meta({examples:["Updated: Customer confirmed special seating arrangements"],description:"Updated note text content (1-1000 characters)"})}),nd=Ei({success:ui().meta({description:"Whether the payout approval was successful"}),message:jn().optional().meta({description:"Optional message about the approval result"}),payoutId:jn().meta({description:"ID of the payout that was approved"})}),id=Ei({payoutId:jn().meta({examples:[hr.Payout.id],description:"Unique identifier of the payout for which to retrieve the detailed breakdown of orders and financial calculations."})}),sd=Ei({id:jn().readonly().meta({examples:[hr.PayoutDeduction.id],description:"Unique identifier for this deduction record."}),createdAt:yn().readonly().meta({examples:[hr.PayoutDeduction.createdAt],description:"Timestamp in ISO 8601 format when this deduction was created."}),updatedAt:yn().readonly().meta({examples:[hr.PayoutDeduction.updatedAt],description:"Timestamp in ISO 8601 format when this deduction was last updated."}),amount:pi().min(0).meta({examples:[hr.PayoutDeduction.amount],description:"Deduction amount in cents. Positive values represent money being deducted from the payout."}),currency:jn().regex(/^[A-Z]{3}$/).meta({examples:[hr.PayoutDeduction.currency],description:"Currency code in ISO 4217 format for the deduction amount."}),description:jn().meta({examples:[hr.PayoutDeduction.description],description:"Human-readable description explaining the reason for this deduction (e.g., 'Minimum bar spend not met', 'Venue damage charge')."}),gateway:jn().meta({examples:[hr.PayoutDeduction.gateway],description:"Payment gateway identifier where this deduction was processed."}),gatewayId:jn().meta({examples:[hr.PayoutDeduction.gatewayId],description:"Unique identifier assigned by the payment gateway for this deduction transaction."}),beneficiary:jn().meta({examples:[hr.PayoutDeduction.beneficiary],description:"Human-readable name of the beneficiary account from which this deduction was taken."}),beneficiaryId:jn().meta({examples:[hr.PayoutDeduction.beneficiaryId],description:"Unique identifier of the beneficiary account from which this deduction was taken."}),transferId:jn().optional().meta({description:"Optional reference to a transfer record when this deduction results in money being moved to a future payout."}),transferPayoutId:jn().optional().meta({description:"Optional reference to a future payout where the deducted amount will be applied."})}),rd=Ei({id:jn().meta({examples:[hr.Event.id],description:"Unique identifier for the event associated with this payout."}),name:jn().meta({examples:[hr.Event.name],description:"Human-readable name of the event."}),slug:jn().meta({examples:[hr.Event.slug],description:"URL-friendly slug identifier for the event."}),location:jn().optional().meta({examples:[hr.Event.location.name],description:"Optional human-readable location name where the event takes place."})}),od=Ei({net:pi().meta({examples:[hr.Payout.price.net],description:"Total amount to pay to promoter.\nCalculated as: total + booking + refunded + dispute + deductions"}),total:pi().meta({examples:[hr.Payout.price.total],description:"Total amount the collected in ticket revenue.\nCalculated as: gross + discount"}),gross:pi().min(0).meta({examples:[hr.Payout.price.gross],description:"Total amount before refunds, disputes, deductions and discounts.\nCalculated as: base + booking + shipping"}),base:pi().min(0).meta({examples:[hr.Payout.price.base],description:"Total value of tickets."}),booking:pi().min(0).meta({examples:[hr.Payout.price.booking],description:"Total value of booking fees (non-refundable)."}),shipping:pi().min(0).meta({examples:[hr.Payout.price.shipping],description:"Total value of shipping."}),refunded:pi().max(0).meta({examples:[-hr.Payout.price.refunded],description:"Total value of refunds (negative value)."}),discount:pi().max(0).meta({examples:[-hr.Payout.price.discount],description:"Total value of discounts (negative value)."}),gateway:pi().max(0).meta({examples:[-hr.Payout.price.gateway],description:"Total value of absorbed payment gateway fees (negative value)."}),dispute:pi().max(0).meta({examples:[-hr.Payout.price.dispute],description:"Total value of non-absorbed payment gateway fees (negative value)."}),deductions:pi().max(0).meta({examples:[-hr.Payout.price.deductions],description:"Total value of deductions for when money is owed (negative value)."}),currency:jn().regex(/^[A-Z]{3}$/).meta({examples:[hr.Payout.price.currency],description:"Currency code in ISO 4217 format."})}),ad=Ei({id:jn().meta({examples:[hr.PayoutTransfer.id],description:"Unique identifier for this transfer record."}),createdAt:yn().meta({examples:[hr.PayoutTransfer.createdAt],description:"Timestamp in ISO 8601 format when this transfer was created."}),kind:Ni(["TICKETS","TENANT","VENUE","PROMOTER","SESSIONS","UNKNOWN"]).meta({examples:["TICKETS"],description:"Type of transfer. TICKETS: revenue from ticket sales, TENANT: platform fees, VENUE: venue split, PROMOTER: promoter split, SESSIONS: platform commission, UNKNOWN: unclassified transfer."}),amount:pi().min(0).meta({examples:[hr.PayoutTransfer.amount],description:"Transfer amount in cents. Positive values represent money being transferred to the beneficiary."}),currency:jn().regex(/^[A-Z]{3}$/).meta({examples:[hr.PayoutTransfer.currency],description:"Currency code in ISO 4217 format for the transfer amount."}),fee:pi().min(0).meta({examples:[hr.PayoutTransfer.fee],description:"Gateway processing fee for this transfer in cents. This fee is deducted from the transfer amount."}),feeCurrency:jn().regex(/^[A-Z]{3}$/).meta({examples:[hr.PayoutTransfer.feeCurrency],description:"Currency code in ISO 4217 format for the gateway fee."}),reference:jn().meta({examples:[hr.PayoutTransfer.reference],description:"External reference identifier for tracking this transfer with the payment gateway."}),gateway:Ni(["AIRWALLEX","STRIPE"]).meta({examples:["AIRWALLEX"],description:"Payment gateway used to process this transfer."}),gatewayId:jn().meta({examples:[hr.PayoutTransfer.gatewayId],description:"Unique identifier assigned by the payment gateway for this transfer."}),beneficiary:jn().meta({examples:[hr.PayoutTransfer.beneficiary],description:"Human-readable name of the beneficiary receiving this transfer."}),beneficiaryId:jn().meta({examples:[hr.PayoutTransfer.beneficiaryId],description:"Unique identifier of the beneficiary account receiving this transfer."}),deductionId:jn().optional().meta({description:"Optional reference to a deduction record when this transfer represents money being held back from a previous negative payout."}),deductionPayoutId:jn().optional().meta({description:"Optional reference to the payout that originated this transfer when it represents an outstanding balance being carried forward."})}),cd=Ni(["UPCOMING","PENDING","PROCESSING","PAID","CANCELLED"]),dd=Ni(["AIRWALLEX","STRIPE","MANUAL"]),pd=Ni(["DAILY","WEEKLY","AFTER_EVENT"]),ld=Ei({id:jn().readonly().meta({examples:[hr.Payout.id],description:"A unique identifier for this payout."}),createdAt:yn().readonly().meta({examples:[hr.Payout.createdAt],description:"Timestamp in ISO 8601 format when this payout was created."}),updatedAt:yn().readonly().meta({examples:[hr.Payout.updatedAt],description:"Timestamp in ISO 8601 format when this payout was last updated."}),paidAt:yn().optional().meta({examples:[hr.Payout.paidAt],description:"Timestamp in ISO 8601 format when this payout was completed."}),status:cd.meta({examples:["PAID"],description:"Current payment status of this payout."}),method:dd.meta({examples:["MANUAL"],description:"The payout channel used for disbursing funds."}),approval:gr.meta({examples:["APPROVED"],description:"Approval status for this payout."}),frequency:pd.default("AFTER_EVENT").meta({examples:["AFTER_EVENT"],description:"Schedule on which this payout is generated."}),structure:jn().meta({examples:[hr.Payout.structure],description:"Data structure defining how funds are allocated in this payout."}),transfers:xi(ad).meta({description:"List of individual transfer records included in this payout."}),deductions:xi(sd).meta({description:"List of deductions applied before calculating the payout total."}),price:od.meta({description:"Summary of amounts for transfers and deductions in this payout."}),event:rd.meta({description:"Information about the event associated with this payout."}),eventId:jn().meta({examples:[hr.Payout.eventId],description:"Identifier of the event for which this payout was generated."}),teamId:jn().meta({description:"Team receiving this payout. BREAKING CHANGE: Replaced promoterId/promoterSlug."})}).meta({description:"payout"}),ud=Ei({id:jn().meta({examples:[hr.Payout.id],description:"Unique identifier of the payout to approve for processing."})});Ei({id:jn().meta({examples:[hr.Payout.id],description:"Unique identifier of the payout to reject."}),reason:jn().optional().meta({examples:["Insufficient funds in account"],description:"Optional reason for rejecting the payout. This will be recorded for audit purposes."})}),Ei({id:jn().meta({examples:[hr.Payout.id],description:"Unique identifier of the payout to process and initiate transfers."})}),Ei({id:jn().meta({examples:[hr.Payout.id],description:"Unique identifier of the payout to retry transfer processing for."})});const md=Ei({name:jn(),gateway:Ni(["AIRWALLEX","STRIPE","FREE"]),message:jn(),venues:xi(jn()).optional(),tenants:xi(jn()).optional(),teams:xi(jn()).optional(),min:ci().optional(),max:ci().optional(),percent:ci().optional(),split:Ei({tenant:ci(),promoter:ci(),venue:ci(),sessions:ci()})}),fd=Ei({tenant:ci().meta({examples:[5e4],description:"Amount allocated to the tenant (platform) in cents. This represents the platform's share of the revenue."}),venue:ci().meta({examples:[25e3],description:"Amount allocated to the venue in cents. This represents the venue's share of the revenue from events held at their location."}),promoter:ci().meta({examples:[2e4],description:"Amount allocated to the promoter in cents. This represents the promoter's share of the revenue after fees and other deductions."}),sessions:ci().meta({examples:[3e3],description:"Amount allocated to Sessions platform commission in cents. This represents the platform's service fees."}),tickets:ci().meta({examples:[2e3],description:"Amount allocated to ticketing fees in cents. This represents fees charged for ticket processing and management."})});Ei({payout:ld.meta({description:"Complete payout record containing all financial details and metadata for calculating beneficiary allocations."}),feeStructure:md.meta({description:"Fee structure configuration that defines how revenue is split between different parties (promoter, venue, platform, etc.)."}),split:fd.meta({description:"Calculated split amounts showing how the payout total is divided among the different beneficiaries in cents."})});const hd=Ei({orders:ci().meta({examples:[150],description:"Total number of orders included in this payout breakdown."}),price:xc.meta({description:"Aggregated price information for all orders included in this payout, showing total revenue, fees, and deductions."}),split:fd.meta({description:"How the total payout amount is split between different beneficiaries (tenant, venue, promoter, etc.) in cents."}),structure:jn().meta({examples:["DEFAULT"],description:"Fee structure identifier that was used to calculate the payout split and allocations."})}),gd=Ei({total:hd.meta({description:"Summary totals for all orders included in this payout breakdown, including aggregated financial calculations."}),orders:xi(Ei({order:Tc.meta({description:"Complete order information including customer details, items, and payment status."}),price:xc.meta({description:"Settled price information for this specific order, showing final amounts after refunds and adjustments."}),split:fd.meta({description:"How this individual order's revenue is split between different beneficiaries in cents."}),structure:jn().meta({examples:["DEFAULT"],description:"Fee structure identifier used to calculate the split for this order."})})).meta({description:"Detailed breakdown of individual orders included in this payout, showing how each order contributes to the total."})});ld.pick({id:!0,eventId:!0}).extend({id:jn().meta({examples:[hr.Payout.id],description:"Unique identifier of the payout for which to retrieve the detailed breakdown."}),eventId:jn().meta({examples:[hr.Event.id],description:"Unique identifier of the event associated with the payout breakdown."})});const vd=Ei({teamId:jn().optional().meta({description:"Filter payouts by specific team unique identifier. BREAKING CHANGE: Replaced promoterId filter."}),eventId:jn().optional().meta({examples:[hr.Event.id],description:"Filter payouts by specific event unique identifier. When provided, only returns payouts for this event."}),status:Ni(["UPCOMING","PENDING","PROCESSING","PAID","CANCELLED"]).optional().meta({examples:["PAID"],description:"Filter payouts by payment status. UPCOMING: scheduled but not yet processed, PENDING: awaiting processing, PROCESSING: currently being processed, PAID: successfully completed, CANCELLED: cancelled before completion."}),approval:gr.optional().meta({examples:["APPROVED"],description:"Filter payouts by approval status. PENDING: awaiting approval, APPROVED: approved for processing, REJECTED: rejected and will not be processed."}),query:jn().optional().meta({examples:["PAID venue:sydney"],description:"Optional search query to filter payouts by text fields. When provided, search-backed pagination is used."}),limit:Xi().min(1).max(100).prefault(20).meta({examples:[20],description:"Maximum number of payouts to return per request. Must be between 1 and 100. Defaults to 20."}).optional(),cursor:jn().optional().meta({examples:["eyJpZCI6InBheV8wMWpwczVjZ3NmdjJ3cmU2aGQwcmM0dzR0OCJ9"],description:"Pagination cursor for continuing to fetch subsequent results. Use the cursor from the previous response to continue."})}).meta({description:"Schema for listing payouts with optional filtering, search, and cursor-based pagination"});vd.extend({from:jn().date().meta({examples:["2025-01-01"],description:"Start date for the counting period in YYYY-MM-DD format. Only payouts created on or after this date will be included in the count. Inclusive of the entire day."}),to:jn().date().meta({examples:["2025-01-31"],description:"End date for the counting period in YYYY-MM-DD format. Only payouts created before or on this date will be included in the count. Inclusive of the entire day."})}),ld.pick({eventId:!0,teamId:!0,method:!0,frequency:!0}).partial({method:!0,frequency:!0}).meta({description:"Schema for creating a new payout record"}).extend({eventId:jn().meta({examples:[hr.Event.id],description:"Unique identifier of the event for which the payout is being created"}),teamId:jn().meta({examples:["tem_01jqpjksnsen9vprw95et60t2m"],description:"Unique identifier of the team who will receive the payout"}),method:Ni(["AIRWALLEX","STRIPE","MANUAL"]).optional().meta({examples:["AIRWALLEX"],description:"Optional payment method for the payout. Defaults to promoter's preferred method if not specified"}),frequency:Ni(["DAILY","WEEKLY","AFTER_EVENT"]).optional().meta({examples:["AFTER_EVENT"],description:"Optional payout frequency. Defaults to 'AFTER_EVENT' if not specified"})});const yd=ld.pick({id:!0}).extend({id:jn().meta({examples:[hr.Payout.id],description:"Unique identifier of the payout to retrieve."})}),bd=Vr(ld,"payouts"),wd=Ei({payout:ld,breakdown:gd}),Id=Ci(jn(),Ci(jn(),Ei({net:ci(),total:ci(),gross:ci(),base:ci(),booking:ci(),shipping:ci(),refunded:ci(),discount:ci(),gateway:ci(),dispute:ci(),deductions:ci()}))).meta({description:"Payout statistics grouped by period (current/previous) and currency",examples:[{current:{USD:{net:1e5,total:12e4,gross:115e3,base:11e4,booking:5e3,shipping:0,refunded:0,discount:5e3,gateway:3e3,dispute:0,deductions:2e3}},previous:{USD:{net:8e4,total:95e3,gross:9e4,base:85e3,booking:5e3,shipping:0,refunded:0,discount:5e3,gateway:2500,dispute:0,deductions:1500}}}]}),kd=Ei({teamId:jn().optional().meta({description:"Filter stats by team ID"}),promoterId:jn().optional().meta({description:"DEPRECATED: Use teamId instead. Filter stats by promoter ID (mapped to team internally)"}),startDate:jn().optional().meta({description:"Start date for stats period (YYYY-MM-DD)"}),endDate:jn().optional().meta({description:"End date for stats period (YYYY-MM-DD)"})});ld.pick({id:!0}).merge(ld.pick({status:!0,approval:!0,paidAt:!0}).partial()).extend({id:jn().meta({examples:[hr.Payout.id],description:"Unique identifier of the payout to update."}),status:Ni(["UPCOMING","PENDING","PROCESSING","PAID","CANCELLED"]).optional().meta({examples:["PAID"],description:"Optional new payment status for the payout. UPCOMING: scheduled but not processed, PENDING: awaiting processing, PROCESSING: currently being processed, PAID: successfully completed, CANCELLED: cancelled."}),approval:gr.optional().meta({examples:["APPROVED"],description:"Optional new approval status for the payout. PENDING: awaiting approval, APPROVED: approved for processing, REJECTED: rejected."}),paidAt:yn().optional().meta({examples:[hr.Payout.paidAt],description:"Optional timestamp in ISO 8601 format when the payout was completed. Set when status changes to PAID."})});const xd=Ni(["PROMOTER","VENUE"]).meta({description:"Type of permission scope. PROMOTER: applies to all events by a specific promoter. VENUE: applies to all events at a specific venue."}),Ad=Ei({id:jn().readonly().meta({description:"Unique identifier for the permission scope"}),createdAt:yn().readonly().meta({description:"Timestamp in ISO 8601 format when the scope was created"}),updatedAt:yn().readonly().meta({description:"Timestamp in ISO 8601 format when the scope was last updated"}),teamMemberId:jn().meta({description:"Team member this scope applies to"}),teamId:jn().meta({description:"Team the member belongs to"}),userId:jn().meta({description:"ID of the user this permission scope applies to"}),permissions:xi(Lr).meta({description:"Scoped permissions. Can be empty array to remove all access. Replaces lower-tier permissions based on kind (VENUE overrides PROMOTER overrides BASE)."}),tenantId:jn().readonly().meta({description:"Tenant identifier"})}),Ed=_i("kind",[Ad.extend({kind:qi("PROMOTER").meta({description:"Scope type: PROMOTER-specific permissions"}),promoterId:jn().meta({description:"Promoter this scope applies to. Replaces base permissions for all events by this promoter."})}).meta({description:"PROMOTER-specific permission scope. Applies to all events by the specified promoter."}),Ad.extend({kind:qi("VENUE").meta({description:"Scope type: VENUE-specific permissions"}),venueId:jn().meta({description:"Venue this scope applies to. Replaces base/promoter permissions for all events at this venue."})}).meta({description:"VENUE-specific permission scope. Applies to all events at the specified venue."})]).meta({description:"Permission scope for a team member. Can be PROMOTER-specific (applies to all events by that promoter) or VENUE-specific (applies to all events at that venue). Replaces lower-tier permissions using REPLACE semantics."}),Dd=Ei({teamMemberId:jn().meta({description:"Team member this scope applies to"}),teamId:jn().meta({description:"Team the member belongs to"}),userId:jn().meta({description:"ID of the user this permission scope applies to"}),permissions:xi(Lr).meta({description:"Scoped permissions. Can be empty array to remove all access. Replaces lower-tier permissions based on kind (VENUE overrides PROMOTER overrides BASE)."})}),Td=_i("kind",[Dd.extend({kind:qi("PROMOTER").meta({description:"Scope type: PROMOTER-specific permissions"}),promoterId:jn().meta({description:"Promoter this scope applies to. Replaces base permissions for all events by this promoter."})}).meta({description:"Create a PROMOTER-specific permission scope. Applies to all events by the specified promoter."}),Dd.extend({kind:qi("VENUE").meta({description:"Scope type: VENUE-specific permissions"}),venueId:jn().meta({description:"Venue this scope applies to. Replaces base/promoter permissions for all events at this venue."})}).meta({description:"Create a VENUE-specific permission scope. Applies to all events at the specified venue."})]).meta({description:"Schema for creating a new permission scope. Must specify kind (PROMOTER or VENUE) and corresponding ID."}),Sd=Ei({id:Ur.meta({description:"Unique identifier for the permission scope"})}).meta({description:"Schema for retrieving a single permission scope by ID"}),_d=Ei({teamMemberId:jn().optional().meta({description:"Filter by team member ID"}),userId:jn().optional().meta({description:"Filter by user ID"}),kind:xd.optional().meta({description:"Filter by scope kind (PROMOTER or VENUE)"}),promoterId:jn().optional().meta({description:"Filter by promoter ID (only for kind=PROMOTER scopes)"}),venueId:jn().optional().meta({description:"Filter by venue ID (only for kind=VENUE scopes)"}),limit:Xi().min(1).max(100).default(20).meta({description:"Maximum number of permission scopes to return (1-100, defaults to 20)"}),cursor:jn().optional().meta({description:"Pagination cursor from previous response. Used to fetch next page of results"})}).meta({description:"Query parameters for listing permission scopes with pagination and filtering"}),Pd=Vr(Ed,"items").meta({description:"Paginated response containing permission scopes with cursor for next page"}),Rd=Ei({permissions:xi(Lr).meta({description:"Scoped permissions. Can be empty array to remove all access. Replaces lower-tier permissions based on kind (VENUE overrides PROMOTER overrides BASE)."})}).meta({description:"Schema for updating an existing permission scope. Only permissions array can be modified."}),Cd=Ni(["DAILY","WEEKLY","AFTER_EVENT"]),Ud=Ni(["AIRWALLEX","STRIPE"]),Nd=Ei({id:Er.readonly().meta({examples:[hr.Promoter.id],description:"Unique identifier for the promoter organization"}),createdAt:yn().readonly().meta({examples:[hr.Promoter.createdAt],description:"Timestamp in ISO 8601 format when the promoter was created"}),updatedAt:yn().readonly().meta({examples:[hr.Promoter.updatedAt],description:"Timestamp in ISO 8601 format when the promoter was last updated"}),name:jn().min(3).max(30).meta({examples:[hr.Promoter.name],description:"Display name of the promoter organization. Must be between 3 and 30 characters"}),slug:jn().min(3).max(30).meta({examples:[hr.Promoter.slug],description:"URL-friendly slug for the promoter organization. Must be unique and between 3 and 30 characters"}),teamId:br.meta({examples:["tem_01jqpjksnsen9vprw95et60t2m"],description:"ID of the team that owns this promoter. Establishes team-based organization and permissions."}),description:jn().meta({examples:[hr.Promoter.description],description:"Detailed description of the promoter organization and their events"}),approval:gr.meta({examples:[hr.Promoter.approval],description:"Approval status of the promoter. PENDING: awaiting review, APPROVED: can create events, REJECTED: cannot operate"}),payoutFrequency:Cd.prefault("AFTER_EVENT").meta({examples:[hr.Promoter.payoutFrequency],description:"How frequently payouts are processed. DAILY: every day, WEEKLY: once per week, AFTER_EVENT: after each event concludes"}),image:Nr.optional().meta({description:"Optional promotional image for the promoter organization with dimensions and alt text"}),location:Na.meta({description:"Primary location details for the promoter including address, coordinates, and timezone"}),geohash:jn().meta({examples:[hr.Promoter.geohash],description:"Geohash encoding of the promoter's location for efficient spatial queries"}),tracking:Ei({fbId:jn().optional().meta({examples:[hr.Promoter.tracking.fbId],description:"Facebook pixel ID for tracking conversions and analytics"}),gtmId:jn().optional().meta({examples:[hr.Promoter.tracking.gtmId],description:"Google Tag Manager container ID for web analytics"}),tikTokId:jn().optional().meta({examples:[hr.Promoter.tracking.tikTokId],description:"TikTok pixel ID for advertising and conversion tracking"})}).optional().meta({description:"Optional tracking configuration for analytics and advertising platforms"}),gateway:Ud.meta({examples:["AIRWALLEX"],description:"Payment gateway provider used for processing transactions. AIRWALLEX or STRIPE"}).optional(),gatewayId:jn().meta({examples:["ben_12345abcde67890"],description:"External identifier in the payment gateway system"}).optional(),metadata:Mr}).meta({description:"Promoter organization with location, approval status, and payment configuration"}),Od=Ei({key:jn().min(1).meta({description:"Promoter key - either a unique ID (pmt_xxx format) or URL-friendly slug",examples:[hr.Promoter.id,hr.Promoter.slug]})}).meta({description:"Request schema for retrieving a promoter by either its unique ID or slug"});Nd.pick({slug:!0});const qd=Nd.omit({id:!0,createdAt:!0,updatedAt:!0,geohash:!0,approval:!0,payoutFrequency:!0,location:!0}).extend({teamId:jn().meta({examples:["tem_01jqpjksnsen9vprw95et60t2m"],description:"ID of the team that will own this promoter. User must be a member of this team."}),slug:jn().min(3).max(30).optional().meta({examples:[hr.Promoter.slug],description:"URL-friendly slug for the promoter organization. If not provided, will be automatically generated from the name. Must be unique and between 3 and 30 characters"}),locationId:kr.optional().meta({examples:["loc_01jqpjksnsen9vprw95et60t2m"],description:"ID of an existing location. Either locationId or googlePlaceId must be provided."}),googlePlaceId:jn().optional().meta({examples:["ChIJN1t_tDeuEmsRUsoyG83frY4"],description:"Google Place ID to create a new location from. Either locationId or googlePlaceId must be provided."})}).refine((e=>e.locationId||e.googlePlaceId),{message:"Either locationId or googlePlaceId must be provided"}).meta({description:"Schema for creating a new promoter organization. The system automatically generates the ID, tenant association, geohash, and timestamps"}),Md=Ei({key:jn().min(1).meta({description:"Promoter key - either a unique ID (pmt_xxx format) or URL-friendly slug",examples:[hr.Promoter.id,hr.Promoter.slug]})}).meta({description:"Schema for removing (soft deleting) a promoter organization by key (ID or slug)"});Nd.pick({id:!0}).meta({description:"Schema for retrieving a specific promoter by ID"});const jd=Ei({teamId:jn().optional().meta({description:"Filter promoters to only those belonging to a specific team"}),approval:gr.optional().meta({examples:[hr.Promoter.approval],description:"Filter promoters by approval status. PENDING: awaiting review, APPROVED: can create events, REJECTED: cannot operate"}),query:jn().optional().meta({examples:["Session Services"],description:"Optional search query. When provided, results are fetched from search with unified cursor pagination."}),latitude:Xi().min(-90).max(90).optional().meta({examples:[hr.Promoter.location.latitude],description:"Latitude used with longitude and radius to filter promoters by proximity when searching."}),longitude:Xi().min(-180).max(180).optional().meta({examples:[hr.Promoter.location.longitude],description:"Longitude used with latitude and radius to filter promoters by proximity when searching."}),radius:Xi().optional().meta({examples:[50],description:"Search radius in kilometers applied when latitude and longitude are provided."}),mine:Qi().optional().meta({examples:[!0],description:"When true, limits results to promoters from teams the current user belongs to. When combined with teamId, returns only that team's promoters (bypassing tenant-wide admin scope)."}),limit:(Ld=e=>{if(null!=e){if("string"==typeof e){const t=e.trim();if(0===t.length)return;const n=Number(t);return Number.isNaN(n)?e:n}return e}},zd=ci().min(1).max(100).prefault(20),Bi(ji(Ld),zd)).meta({examples:[20],description:"Maximum number of promoters to return (1-100, defaults to 20)"}).optional(),cursor:jn().optional().meta({examples:["eyJpZCI6InByb18wMWpxcGprc25zZW45dnBydzk1ZXQ2MHQybSJ9"],description:"Opaque cursor for pagination. Use the cursor from the previous response to continue fetching results."})}).meta({description:"Schema for listing promoters with optional filtering by team, full-text search, and cursor pagination"});var Ld,zd;const $d=Vr(Nd,"promoters"),Gd=Ei({promoter:Nd}),Yd=Nd.omit({createdAt:!0,updatedAt:!0,id:!0,location:!0}).partial().extend({key:jn().min(1).meta({description:"Promoter key - either a unique ID (pmt_xxx format) or URL-friendly slug",examples:[hr.Promoter.id,hr.Promoter.slug]}),locationId:kr.optional().meta({examples:["loc_01jqpjksnsen9vprw95et60t2m"],description:"ID of an existing location to update to. Either locationId or googlePlaceId can be provided."}),googlePlaceId:jn().optional().meta({examples:["ChIJN1t_tDeuEmsRUsoyG83frY4"],description:"Google Place ID to update location from. Either locationId or googlePlaceId can be provided."}),image:Nr.nullable().optional().meta({description:"Promoter image. Pass null to clear; omit to leave unchanged.",examples:[hr.Promoter.image,null]}),tracking:Ei({fbId:jn().optional(),gtmId:jn().optional(),tikTokId:jn().optional()}).nullable().optional().meta({description:"Analytics tracking config. Pass null to clear all tracking; omit to leave unchanged."}),gateway:Ud.nullable().optional().meta({description:"Payment gateway. Pass null to clear; omit to leave unchanged."}),gatewayId:jn().nullable().optional().meta({description:"Payment gateway ID. Pass null to clear; omit to leave unchanged."})}).meta({description:"Schema for updating an existing promoter."}),Fd=Ei({key:jn().meta({description:"Team identifier (ID or slug)"}),inviteId:jn().meta({description:"Team invite ID to accept"}),token:jn().meta({description:"Secure token used to accept the team invite. This token must match the one sent in the invitation email."})}),Zd=Ei({id:br.readonly().meta({description:"Unique identifier for the team organization"}),createdAt:yn().readonly().meta({description:"Timestamp in ISO 8601 format when the team was created"}),updatedAt:yn().readonly().meta({description:"Timestamp in ISO 8601 format when the team was last updated"}),name:jn().min(3).max(30).meta({description:"Display name of the team organization. Must be between 3 and 30 characters"}),slug:jn().min(3).max(30).meta({description:"URL-friendly slug for the team organization. Must be unique within tenant and between 3 and 30 characters"}),supportEmail:jn().email().optional().meta({description:"Support email address for customer inquiries. Used as reply-to address in order confirmation emails"}),image:Nr.optional().meta({description:"Team image with dimensions and alt text for branding across the platform"}),metadata:Mr,approval:gr.meta({description:"Approval status of the team. PENDING: awaiting review, APPROVED: can create promoters/venues/events, REJECTED: cannot operate"}),deletedAt:yn().optional().readonly().meta({description:"Timestamp in ISO 8601 format when the team was soft deleted. Only present for deleted teams."}),tenantId:jn().readonly().meta({description:"Tenant ID for multi-tenant isolation"}),isAdmin:ui().optional().meta({description:"Whether this team is the admin team for the tenant"})}).meta({description:"Team organization that owns promoters and venues. Multiple brands can exist under one team."});Zd.extend({promoter:Nd.meta({description:"The primary promoter brand associated with this team"})}).meta({description:"Team organization with its primary promoter brand included for convenience"});const Vd=Zd.extend({member:Ei({permissions:zr.meta({description:"Permissions the current user has for this team. Controls access to team resources.",examples:[["EVENT","ORDER"],["FULL"],["SCANNING"]]}),isOwner:ui().meta({description:"Whether the current user is the owner of this team. Owners have full control."})}).optional().meta({description:"Current user's membership details for this team. Present when user is a member."})}).meta({description:"Team organization with the current user's membership details"}),Wd=Ei({key:jn().min(1).meta({description:"Team key - either a unique ID (tem_xxx format) or URL-friendly slug",examples:[hr.Team.id,hr.Team.slug]})}).meta({description:"Request schema for retrieving a team by either its unique ID or slug"}),Bd=Zd.omit({id:!0,tenantId:!0,createdAt:!0,updatedAt:!0,deletedAt:!0}).extend({slug:jn().min(3).max(30).optional().meta({description:"URL-friendly slug for the team organization. If not provided, will be automatically generated from the name. Must be unique within tenant and between 3 and 30 characters"}),approval:Zd.shape.approval.optional().meta({description:"Approval status of the team. Defaults to PENDING if not specified."})}).meta({description:"Schema for creating a new team organization. The system automatically generates the ID, tenant association, and timestamps"});Ei({id:br.meta({description:"Team ID to delete"})}),Ei({id:br.meta({description:"Team ID to retrieve"})});const Hd=Ei({id:Pr.readonly().meta({description:"Unique identifier for the team member"}),createdAt:yn().readonly().meta({description:"Timestamp in ISO 8601 format when the member was created"}),updatedAt:yn().readonly().meta({description:"Timestamp in ISO 8601 format when the member was last updated"}),teamId:br.meta({description:"Team this member belongs to"}),userId:xr.meta({description:"User ID of the team member"}),user:Ei({id:xr.meta({description:"Unique identifier of the user"}),email:$n().meta({description:"Email address of the user"}),firstName:jn().meta({description:"First name of the user"}),lastName:jn().meta({description:"Last name of the user"}),imageUrl:jn().optional().meta({description:"Profile image URL of the user"})}).meta({description:"Denormalized user details for quick access without additional queries."}),permissions:xi(Lr).optional().meta({description:"Base permissions across the team. Can be overridden per promoter or venue. Undefined means no base permissions (permissions come from PermissionScope only).",examples:[["EVENT","ORDER"],["FULL"],["SCANNING"]]}),isOwner:ui().meta({description:"Whether this member is the owner of the team. Only one owner per team is allowed. Owner has full control and cannot be deleted."}),tenantId:jn().readonly().meta({description:"Tenant ID for multi-tenant isolation"})}).meta({description:"Active team member with base permissions. Permissions can be overridden per promoter or venue. Created when a user accepts an invitation or is directly added to a team."}),Kd=Ei({id:Rr.readonly().meta({description:"Unique identifier for the team invitation"}),createdAt:yn().readonly().meta({description:"Timestamp in ISO 8601 format when the invitation was created"}),updatedAt:yn().readonly().meta({description:"Timestamp in ISO 8601 format when the invitation was last updated"}),teamId:br.meta({description:"Team this invitation is for"}),email:$n().meta({description:"Email address of the invited user. Used for sending invitation."}),permissions:zr.meta({description:"Permissions the user will receive upon accepting the invitation. Can be overridden per promoter or venue.",examples:[["EVENT","ORDER"],["FULL"],["SCANNING"]]}),token:jn().readonly().meta({description:"Secure token for invite acceptance. Required to accept the invitation."}),expiresAt:ci().int().positive().meta({description:"Unix timestamp (seconds) for DynamoDB TTL. Invitation will be automatically deleted after 7 days."}),invitedBy:xr.meta({description:"User ID who sent the invitation"}),tenantId:jn().readonly().meta({description:"Tenant ID for multi-tenant isolation"})}).meta({description:"Pending team invitation. Automatically deleted after 7 days via DynamoDB TTL. When accepted, creates a TeamMember record and deletes the invitation."}),Jd=Ei({key:jn().meta({description:"Team identifier (ID or slug)"}),inviteId:jn().meta({description:"Team invite ID to cancel"})}),Xd=Ei({key:jn().meta({description:"Team identifier (ID or slug)"}),email:$n().meta({description:"Email address of the user to invite"}),permissions:zr.meta({description:"Permissions to grant to the invited user",examples:[["EVENT","ORDER"],["FULL"],["SCANNING"]]})}),Qd=Ei({key:jn().meta({description:"Team identifier (ID or slug)"}),inviteId:Rr.meta({description:"Team invite ID to retrieve"})}),ep=Ei({key:jn().meta({description:"Team identifier (ID or slug)"}),query:jn().optional().meta({description:"Search query to filter invitations by email. Case-insensitive partial match"}),limit:ci().int().min(1).max(100).default(20).optional().meta({description:"Maximum number of invitations to return per page"}),cursor:jn().optional().meta({description:"Pagination cursor for fetching the next page"})}),tp=Vr(Kd,"invites");var np={list:Qs.route({method:"GET",path:"/teams/{key}/invites",summary:"List pending team invitations with cursor-based pagination",description:"Returns pending team invitations for a specific team. Team key can be ID or slug. These are email-based invitations that have not yet been accepted.",tags:["Team Invites"]}).input(ep.strict()).output(tp),get:Qs.route({method:"GET",path:"/teams/{key}/invites/{inviteId}",summary:"Get pending invitation by ID",description:"Retrieve a pending team invitation by its ID. Team key can be ID or slug.",tags:["Team Invites"]}).input(Qd.strict()).output(Kd),create:Qs.route({method:"POST",path:"/teams/{key}/invites",summary:"Create a team invitation",description:"Invite a user to join a team by email. Team key can be ID or slug. Creates a pending invitation with a secure token that expires in 7 days. The invited user will receive an email with an acceptance link.",tags:["Team Invites"]}).input(Xd.strict()).output(Kd),accept:Qs.route({method:"PATCH",path:"/teams/{key}/invites/{inviteId}",summary:"Accept a team invitation",description:"Accept a pending team invitation using the secure token. Team key can be ID or slug. This deletes the invitation and creates an active TeamMember record. Returns the newly created team member.",tags:["Team Invites"]}).input(Fd.strict()).output(Hd),resend:Qs.route({method:"POST",path:"/teams/{key}/invites/{inviteId}/resend",summary:"Resend invitation email",description:"Resend the invitation email with a new token and extended expiry. Team key can be ID or slug. Useful when the original invitation has expired or was not received.",tags:["Team Invites"]}).input(Qd.strict()).output(Kd),cancel:Qs.route({method:"DELETE",path:"/teams/{key}/invites/{inviteId}",summary:"Cancel a pending invitation",description:"Cancel a pending team invitation before it is accepted. Team key can be ID or slug. Deletes the invitation record.",tags:["Team Invites"]}).input(Jd.strict()).output(Kd)};const ip=Ei({userId:xr.optional().meta({description:"Filter teams by user membership. If omitted, returns all teams (tenant admin only). If provided, returns teams where the specified user is a member"}),approval:gr.optional().meta({description:"Filter teams by approval status. PENDING: awaiting review, APPROVED: can operate, REJECTED: cannot operate"}),query:jn().optional().meta({description:"Optional search query for filtering teams by name or slug"}),limit:Xi().min(1).max(100).prefault(20).meta({description:"Maximum number of teams to return (1-100, defaults to 20)"}),cursor:jn().optional().meta({description:"Pagination cursor from previous response. Used to fetch next page of results"})}).meta({description:"Query parameters for listing teams with pagination and filtering"}),sp=Vr(Vd,"teams"),rp=Zd.omit({tenantId:!0,createdAt:!0,updatedAt:!0,id:!0}).partial().extend({key:jn().min(1).meta({description:"Team key - either a unique ID (tem_xxx format) or URL-friendly slug",examples:[hr.Team.id,hr.Team.slug]}),supportEmail:jn().email().nullable().optional().meta({description:"Support email for customer inquiries. Pass null to clear, omit to leave unchanged."}),image:Nr.nullable().optional().meta({description:"Team image. Pass null to clear, omit to leave unchanged."})}).meta({description:"Schema for updating an existing team organization. Pass null to clear optional fields."}),op=Hd.omit({id:!0,tenantId:!0,createdAt:!0,updatedAt:!0,user:!0,teamId:!0}).extend({key:jn().meta({description:"Team identifier (ID or slug)"})}).meta({description:"Schema for adding an existing user to a team. Requires userId of an existing user account."}),ap=Ei({key:jn().meta({description:"Team identifier (ID or slug)"}),userId:jn().meta({description:"User ID of the team member to retrieve"})}),cp=Ei({key:jn().meta({description:"Team identifier (ID or slug)"}),query:jn().optional().meta({description:"Search query to filter members by name or email. Case-insensitive partial match"}),limit:Xi().min(1).max(100).prefault(20).meta({description:"Maximum number of team members to return (1-100, defaults to 20)"}),cursor:jn().optional().meta({description:"Pagination cursor from previous response. Used to fetch next page of results"})}).meta({description:"Query parameters for listing active team members with pagination and search"}),dp=Vr(Hd,"members"),pp=Ei({key:jn().meta({description:"Team identifier (ID or slug)"}),newOwnerId:jn().meta({description:"Team member ID of the new owner. This member must already exist with ACTIVE status."})}).meta({description:"Schema for transferring team ownership from the current owner to another active team member."}),lp=Ei({previousOwner:Hd.meta({description:"The previous owner (now a regular member with FULL permissions)"}),newOwner:Hd.meta({description:"The new owner (now has isOwner: true)"})}).meta({description:"Response payload for team ownership transfer operation"}),up=Ei({id:jn().meta({description:"Team member ID to update"}),permissions:zr.optional().meta({description:"Update base permissions. Must contain at least one permission. Cannot be empty array."}),isOwner:ui().optional().meta({description:"Whether this team member is an owner of the team"})}).meta({description:"Schema for updating team member base permissions and ownership status. Cannot update teamId or userId."});var mp={get:Qs.route({method:"GET",path:"/teams/{key}/members/{userId}",summary:"Get team member by user ID",description:"Retrieve a team member using the team key (ID or slug) and user ID",tags:["Team Members"]}).input(ap.strict()).output(Hd),list:Qs.route({method:"GET",path:"/teams/{key}/members",summary:"List team members with cursor-based pagination",description:"Returns active team members for a specific team with cursor pagination. Team key can be ID or slug. For pending invitations, use the team invites endpoint instead.",tags:["Team Members"]}).input(cp.strict()).output(dp),create:Qs.route({method:"POST",path:"/teams/{key}/members",summary:"Add an existing user to a team",description:"Directly add an existing user to a team. Team key can be ID or slug. Must have at least one permission. To invite a new user by email, use the team invites endpoint instead.",tags:["Team Members"]}).input(op.strict()).output(Hd),update:Qs.route({method:"PATCH",path:"/teams/{key}/members/{userId}",summary:"Update a team member's permissions",description:"Update an existing active team member. Team key can be ID or slug. Can modify permissions. Cannot modify isOwner (use transfer endpoint instead).",tags:["Team Members"]}).input(up.extend({key:jn(),userId:jn()}).strict()).output(Hd),remove:Qs.route({method:"DELETE",path:"/teams/{key}/members/{userId}",summary:"Remove a team member",description:"Remove an active member from a team. Team key can be ID or slug. Cannot remove the team owner (transfer ownership first). To cancel pending invitations, use the team invites endpoint.",tags:["Team Members"]}).input(ap.strict()).output(Hd),transfer:Qs.route({method:"POST",path:"/teams/{key}/transfer",summary:"Transfer team ownership",description:"Transfer team ownership from the current owner to another active member. Team key can be ID or slug. Only the current owner can perform this action. Previous owner retains FULL permissions but loses isOwner status.",tags:["Team Members"]}).input(pp.strict()).output(lp)};const fp=[{id:"tnt_01jqpj2t2kfvmstt6f6tzkbaf2",oldId:"none",name:"Session Services",slug:"session-services",email:"hello@session.services",adminTeamId:"tem_01jqpjksnsen9vprw95et60t3m",defaultCurrency:"AUD",baseUrl:{dev:"http://localhost:3000",production:"https://beta.session.services",sandbox:"https://beta.sandbox.session.services"},logo:{icon:{src:"https://assets.session.services/tenants/session-services/icon.png",width:500,height:500},email:{src:"https://assets.session.services/tenants/session-services/logo-light.png",darkSrc:"https://assets.session.services/tenants/session-services/logo-dark.png",width:200,height:92},website:{src:"https://assets.session.services/tenants/session-services/logo.svg",width:400,height:184},qr:{src:"https://assets.session.services/tenants/session-services/qr.svg"}},favicon:"https://assets.session.services/tenants/session-services/favicon.svg",features:{"promoter-signups":!0,"region-filtering":!0},wallet:{apple:{logoUrl:"https://assets.session.services/tenant/session-services/wallet/logo.png",logo2xUrl:"https://assets.session.services/tenant/session-services/wallet/logo@2x.png",iconUrl:"https://assets.session.services/tenant/session-services/wallet/icon.png",icon2xUrl:"https://assets.session.services/tenant/session-services/wallet/icon@2x.png"}}},{id:"tnt_01hk153x00en6tvgwwwhn8xj1p",oldId:"p8npi2s3t24arpunzp2e7dzaq",name:"Mixmag Australia/New Zealand",slug:"mixmag-anz",email:"hello@session.services",adminTeamId:"tem_01hr9kk2pgez2s8jzb3gs5nwsf",legacyTenantsToTeams:{clhvrnqph0000m9rq039hkw7s:"tem_01kach7nntfvmbtfttvvqfgwbz","6kh3sj8ih5tvg927rz5elm90o":"tem_01kach7nnvfvmbtfv6ytq65hek",vc8vrjrv5arhabnk8ainx0ycb:"tem_01kach7nnvfvmbtfvb3cv5fhpe",clkwbixsi0000m9coi7i5b65z:"tem_01kach7nnvfvmbtfvgtgkb47kc"},defaultCurrency:"AUD",baseUrl:{dev:"http://mixmag-anz.localhost:3000",production:"https://beta.mixmag.au",sandbox:"https://beta.sandbox.mixmag.au"},logo:{icon:{src:"https://assets.session.services/tenants/mixmag-anz/icon.png",width:500,height:500},email:{src:"https://assets.session.services/tenants/mixmag-anz/logo-light.png",darkSrc:"https://assets.session.services/tenants/mixmag-anz/logo-dark.png",width:200,height:48},website:{src:"https://assets.session.services/tenants/mixmag-anz/logo.svg",width:400,height:96},qr:{src:"https://assets.session.services/tenants/mixmag-anz/mixmag-qr.svg"}},favicon:"https://assets.session.services/tenants/mixmag-anz/favicon.svg",features:{"promoter-signups":!0,"region-filtering":!0},wallet:{apple:{logoUrl:"https://assets.session.services/tenant/mixmag-anz/wallet/logo.png",logo2xUrl:"https://assets.session.services/tenant/mixmag-anz/wallet/logo@2x.png",iconUrl:"https://assets.session.services/tenant/mixmag-anz/wallet/icon.png",icon2xUrl:"https://assets.session.services/tenant/mixmag-anz/wallet/icon@2x.png"}},apps:{ios:"https://apps.apple.com/app/sessions-ticket-scanner/id6740039073",android:"https://play.google.com/store/apps/details?id=services.session.scanner"}},{id:"tnt_01hk153x00ee4sgh15mp929k20",oldId:"pivep2xeyvznoqat0h8fswhjc",name:"Mixmag Asia",slug:"mixmag-asia",email:"tickets@mixmag.asia",adminTeamId:"tem_01hp417148fjbbabfka01qxyk4",defaultCurrency:"HKD",baseUrl:{dev:"http://mixmag-asia.local:3000",production:"https://mixmag-asia.app.session.services"},logo:{icon:{src:"https://assets.session.services/tenants/mixmag-asia/icon.png",width:500,height:500},email:{src:"https://assets.session.services/icon-bg.png",darkSrc:"https://assets.session.services/icon-bg.png",width:165,height:76},website:{src:"https://assets.session.services/icon-bg.png",width:165,height:76},qr:{src:"https://assets.session.services/tenants/mixmag-asia/qr.svg"}},favicon:"https://assets.dev.session.services/tenants/mixmag-asia/favicon.svg",features:{"promoter-signups":!0,"region-filtering":!0},wallet:{apple:{logoUrl:"https://assets.dev.session.services/wallet-assets/tenants/mixmag-anz/logo.png",logo2xUrl:"https://assets.dev.session.services/wallet-assets/tenants/mixmag-anz/logo@2x.png",iconUrl:"https://assets.dev.session.services/wallet-assets/tenants/mixmag-anz/icon.png",icon2xUrl:"https://assets.dev.session.services/wallet-assets/tenants/mixmag-anz/icon@2x.png"}}},{id:"tnt_01k4ycprfhfvgaq1evbtretmdg",name:"Racquet Club",slug:"racquet-club",email:"sydney@racquetclub.com.au",adminTeamId:"tem_01k4ws58yrfvhsygmypqj5m93w",defaultCurrency:"AUD",baseUrl:{dev:"http://racquet-club.local:3000",production:"https://racquet-club.session.services"},logo:{icon:{src:"https://assets.session.services/tenants/racquet-club/icon.png",width:500,height:500},email:{src:"https://racquetclub.com.au/wp-content/uploads/2024/05/racquetclub-logo.png",darkSrc:"https://racquetclub.com.au/wp-content/uploads/2024/05/racquetclub-logo.png",width:443,height:185},website:{src:"https://racquetclub.com.au/wp-content/uploads/2024/05/racquetclub-logo.png",width:443,height:185},qr:{src:"https://assets.session.services/tenants/racquet-club/qr.svg"}},favicon:"https://assets.dev.session.services/tenants/racquet-club/favicon.svg",features:{"promoter-signups":!1,"region-filtering":!0}}],hp=new Map,gp=new Map,vp=new Map,yp=new Map;function bp(e){return e.replace(/^https?:\/\//,"").replace(/\/.*$/,"")}function wp(e){return e.replace(/:\d+$/,"")}for(const e of fp){if(hp.set(e.id,e),gp.set(e.slug,e),e.oldId&&yp.set(e.oldId,e),e.baseUrl.dev){const t=bp(e.baseUrl.dev);vp.set(t,e),vp.set(wp(t),e)}if(e.baseUrl.sandbox){const t=bp(e.baseUrl.sandbox);vp.set(t,e),vp.set(wp(t),e)}if(e.baseUrl.production){const t=bp(e.baseUrl.production);vp.set(t,e),vp.set(wp(t),e)}}const Ip=new Map;for(const[e,t]of Object.entries({"promoter-signups":{key:"promoter-signups",description:"Allow public promoter account registration. When disabled, promoters can only join via invitation",defaultValue:!1},"event-approval":{key:"event-approval",description:"Allow event approval. When disabled, events are automatically approved",defaultValue:!0},"region-filtering":{key:"region-filtering",description:"Enable region-based event filtering and location-aware features",defaultValue:!1}}))Ip.set(e,t);const kp=Ei({key:jn().meta({description:"Unique feature identifier key, typically kebab-case",examples:["new-checkout","beta-features","mobile-app"]}),description:jn().meta({description:"Human-readable description of what this feature flag controls",examples:["Enable the new checkout flow with improved UX","Enable beta features for testing"]}),defaultValue:ui().meta({description:"Default boolean state when feature flag is not overridden",examples:[!0,!1]})}).meta({description:"Feature flag schema for validating individual feature flag definitions",examples:[{key:"new-checkout",description:"Enable the new checkout flow with improved UX",defaultValue:!1}]});Ci(jn(),kp).meta({description:"Complete feature flags configuration as a key-value record mapping feature flag identifiers to their definitions",examples:[{"new-checkout":{key:"new-checkout",description:"Enable new checkout flow",defaultValue:!1},"beta-features":{key:"beta-features",description:"Enable beta features for testing",defaultValue:!0}}]});const xp=Ni(["COUNTRY","STATE","CITY","VENUE"]),Ap=Ei({id:jn().meta({description:"Unique region identifier",examples:["australia","nsw","sydney"]}),name:jn().meta({description:"Display name of the region",examples:["Australia","New South Wales","Sydney"]}),slug:jn().meta({description:"URL-safe slug for the region",examples:["australia","nsw","sydney"]}),kind:xp.meta({description:"Geographic classification kind",examples:["COUNTRY","STATE","CITY","VENUE"]}),parentId:jn().optional().meta({description:"Optional parent region ID for hierarchical relationships",examples:["australia","nsw"]}),latitude:ci().min(-90).max(90).optional().meta({description:"Optional latitude coordinate for the region center",examples:[-33.8688,-33.7751]}),longitude:ci().min(-180).max(180).optional().meta({description:"Optional longitude coordinate for the region center",examples:[151.2093,151.107]}),radius:ci().optional().default(20).meta({description:"Search radius in kilometers, defaults to 20 if not specified",examples:[20,25,50]}),enabled:ui().meta({description:"Whether the region is currently enabled/active",examples:[!0,!1]}),order:ci().meta({description:"Numeric order for sorting regions in displays",examples:[1,2,3]})}).meta({description:"Region schema for validating geographic regions with hierarchical support",examples:[{id:"sydney",name:"Sydney",slug:"sydney",kind:"CITY",parentId:"nsw",latitude:-33.8688,longitude:151.2093,radius:25,enabled:!0,order:1}]});Ei({id:jn().meta({description:"Unique tenant identifier",examples:["tnt_01jqpj2t2kfvmstt6f6tzkbaf2"]}),oldId:jn().optional().meta({description:"Legacy tenant identifier for migration purposes",examples:["none"]}),name:jn().meta({description:"Display name of the tenant organization",examples:["Session Services"]}),slug:jn().meta({description:"URL-safe slug for the tenant",examples:["session-services"]}),email:jn().email().meta({description:"Administrative contact email address",examples:["hello@session.services"]}),adminTeamId:jn().meta({description:"Identifier of the admin team whose members have cross-team permissions",examples:["tem_01jqpjksnsen9vprw95et60t2m"]}),legacyTenantsToTeams:Ci(jn(),jn()).optional().meta({description:"Mapping of legacy tenant oldId values to their corresponding team IDs (for tenants that were converted to teams)",examples:[{clhvrnqph0000m9rq039hkw7s:"tem_01k5sashm1xmaganzteam0001","6kh3sj8ih5tvg927rz5elm90o":"tem_01k6blankm1xmaganzteam002"}]}),defaultCurrency:jn().meta({description:"Default currency code for the tenant (e.g., 'USD', 'EUR')",examples:["AUD"]}),baseUrl:Ei({dev:jn().optional().meta({description:"Development environment URL",examples:["http://localhost:3000"]}),sandbox:jn().optional().meta({description:"Sandbox environment URL",examples:["https://app.sandbox.session.services"]}),production:jn().optional().meta({description:"Production environment URL",examples:["https://app.session.services"]})}).meta({description:"Environment-specific base URLs"}),logo:Ei({icon:Ei({src:jn().meta({description:"URL to the icon image",examples:["https://assets.session.services/tenants/session-services/icon.png"]}),width:ci().meta({description:"Width of the icon in pixels",examples:[500]}),height:ci().meta({description:"Height of the icon in pixels",examples:[500]})}).meta({description:"Icon configuration for the tenant"}),email:Ei({src:jn().meta({description:"URL to the email logo image",examples:["https://assets.session.services/logos/email.png"]}),darkSrc:jn().optional().meta({description:"URL to the dark mode email logo image",examples:["https://assets.session.services/logos/email-dark.png"]}),width:ci().meta({description:"Width of the email logo in pixels",examples:[150]}),height:ci().meta({description:"Height of the email logo in pixels",examples:[75]})}).meta({description:"Logo settings for email templates"}),website:Ei({src:jn().meta({description:"URL to the website logo image",examples:["https://assets.session.services/logos/website.png"]}),width:ci().meta({description:"Width of the website logo in pixels",examples:[200]}),height:ci().meta({description:"Height of the website logo in pixels",examples:[100]})}).meta({description:"Logo settings for website display"}),qr:Ei({src:jn().meta({description:"URL to the QR code logo image (optimized for small sizes)",examples:["https://assets.session.services/tenants/mixmag-anz/mixmag-qr.svg"]})}).meta({description:"Logo settings for QR code center image"})}).meta({description:"Logo configuration for different contexts"}),favicon:jn().meta({description:"URL to the favicon image",examples:["https://assets.session.services/tenants/session-services/favicon.svg"]}),features:Ci(jn(),ui()).meta({description:"Optional feature flag overrides mapping feature keys to boolean values",examples:[{"new-checkout":!0,"beta-features":!1}]}).optional(),wallet:Ei({apple:Ei({logoUrl:jn().url().optional().meta({description:"URL to processed logo image (1x, 80x25px)",examples:["https://assets.session.services/wallet-assets/tenants/tnt_01jqpj2t2kfvmstt6f6tzkbaf2/logo.png"]}),logo2xUrl:jn().url().optional().meta({description:"URL to processed logo image (2x, 160x50px)",examples:["https://assets.session.services/wallet-assets/tenants/tnt_01jqpj2t2kfvmstt6f6tzkbaf2/logo@2x.png"]}),iconUrl:jn().url().optional().meta({description:"URL to processed icon image (1x, 29x29px)",examples:["https://assets.session.services/wallet-assets/tenants/tnt_01jqpj2t2kfvmstt6f6tzkbaf2/icon.png"]}),icon2xUrl:jn().url().optional().meta({description:"URL to processed icon image (2x, 58x58px)",examples:["https://assets.session.services/wallet-assets/tenants/tnt_01jqpj2t2kfvmstt6f6tzkbaf2/icon@2x.png"]})}).optional().meta({description:"Pre-processed assets for Apple Wallet passes (logo and icon, both 1x and 2x)"})}).optional().meta({description:"Wallet configuration for mobile wallet passes"}),apps:Ei({ios:jn().url().optional().meta({description:"iOS App Store URL for the tenant's mobile app",examples:["https://apps.apple.com/app/sessions/id123456789"]}),android:jn().url().optional().meta({description:"Google Play Store URL for the tenant's mobile app",examples:["https://play.google.com/store/apps/details?id=com.sessions.app"]})}).optional().meta({description:"Mobile app store URLs for promoting app downloads to event organizers"})}).meta({description:"Tenant configuration schema for validating complete tenant settings including identity, branding, URLs, and feature flags",examples:[{id:"tnt_01jqpj2t2kfvmstt6f6tzkbaf2",oldId:"none",name:"Session Services",slug:"session-services",email:"hello@session.services",adminTeamId:"tem_01jqpjksnsen9vprw95et60t2m",defaultCurrency:"AUD",baseUrl:{dev:"http://localhost:3000",production:"https://app.session.services"},logo:{icon:{src:"https://assets.session.services/tenants/session-services/icon.png",width:500,height:500},email:{src:"https://assets.session.services/logos/email.png",width:150,height:75},website:{src:"https://assets.session.services/logos/website.png",width:200,height:100},qr:{src:"https://assets.session.services/tenants/session-services/qr.svg"}},favicon:"https://assets.session.services/tenants/session-services/favicon.svg",features:{"new-checkout":!0,"beta-features":!1}}]});const Ep=new Map([["tnt_01jqpj2t2kfvmstt6f6tzkbaf2",[{id:"rgn_01k2sv1ddzesmrym079hzw06h8",name:"Australia",slug:"australia",enabled:!0,order:1,kind:"COUNTRY"},{id:"rgn_01k2sv1ddzesmrym0enmyhdtxs",name:"New South Wales",slug:"nsw",enabled:!0,order:1,parentId:"rgn_01k2sv1ddzesmrym079hzw06h8",kind:"STATE"},{id:"rgn_01k2sv1ddzesmrym0hvj4ms6wh",name:"Sydney",slug:"sydney",enabled:!0,order:1,parentId:"rgn_01k2sv1ddzesmrym0enmyhdtxs",latitude:-33.8688,longitude:151.2093,kind:"CITY"},{id:"rgn_01k2sv1ddzesmrym0vezgd1xjm",name:"Victoria",slug:"victoria",enabled:!0,order:2,parentId:"rgn_01k2sv1ddzesmrym079hzw06h8",kind:"STATE"},{id:"rgn_01k2sv1ddzesmrym11c64mmpxm",name:"Melbourne",slug:"melbourne",enabled:!0,order:2,parentId:"rgn_01k2sv1ddzesmrym0vezgd1xjm",latitude:-37.8136,longitude:144.9631,kind:"CITY"},{id:"rgn_01k2sv1ddzesmrym1e3pbk81es",name:"Queensland",slug:"queensland",enabled:!0,order:3,parentId:"rgn_01k2sv1ddzesmrym079hzw06h8",kind:"STATE"},{id:"rgn_01k2sv1ddzesmrym1mxb6te1px",name:"Brisbane",slug:"brisbane",enabled:!0,order:3,parentId:"rgn_01k2sv1ddzesmrym1e3pbk81es",latitude:-27.4698,longitude:153.0251,kind:"CITY"}]],["tnt_01hk153x00en6tvgwwwhn8xj1p",[{id:"rgn_01k2sv1ddzesmrym079hzw06h8",name:"Australia",slug:"australia",enabled:!0,order:1,kind:"COUNTRY"},{id:"rgn_01k2sv1ddzesmrym0enmyhdtxs",name:"New South Wales",slug:"nsw",enabled:!0,order:1,parentId:"rgn_01k2sv1ddzesmrym079hzw06h8",kind:"STATE"},{id:"rgn_01k2sv1ddzesmrym0hvj4ms6wh",name:"Sydney",slug:"sydney",enabled:!0,order:1,parentId:"rgn_01k2sv1ddzesmrym0enmyhdtxs",latitude:-33.8688,longitude:151.2093,kind:"CITY"},{id:"rgn_01k2sv1ddzesmrym0vezgd1xjm",name:"Victoria",slug:"victoria",enabled:!0,order:2,parentId:"rgn_01k2sv1ddzesmrym079hzw06h8",kind:"STATE"},{id:"rgn_01k2sv1ddzesmrym11c64mmpxm",name:"Melbourne",slug:"melbourne",enabled:!0,order:2,parentId:"rgn_01k2sv1ddzesmrym0vezgd1xjm",latitude:-37.8136,longitude:144.9631,kind:"CITY"},{id:"rgn_01k2sv1ddzesmrym1e3pbk81es",name:"Queensland",slug:"queensland",enabled:!0,order:3,parentId:"rgn_01k2sv1ddzesmrym079hzw06h8",kind:"STATE"},{id:"rgn_01k2sv1ddzesmrym1mxb6te1px",name:"Brisbane",slug:"brisbane",enabled:!0,order:3,parentId:"rgn_01k2sv1ddzesmrym1e3pbk81es",latitude:-27.4698,longitude:153.0251,kind:"CITY"},{id:"rgn_01k2sv1ddzesmrym1stdjswc9t",name:"New Zealand",slug:"new-zealand",enabled:!0,order:2,kind:"COUNTRY"},{id:"rgn_01k2sv1ddzesmrym211cw0cgv2",name:"Auckland",slug:"auckland",enabled:!0,order:4,parentId:"rgn_01k2sv1ddzesmrym1stdjswc9t",latitude:-36.8485,longitude:174.7633,kind:"CITY"}]],["tnt_01hk153x00ee4sgh15mp929k20",[{id:"rgn_01k2sv1de0esmrym2bmed8hdwr",name:"Hong Kong",slug:"hong-kong",enabled:!0,order:1,latitude:22.3193,longitude:114.1694,kind:"CITY"},{id:"rgn_01k2sv1de0esmrym2jyqmx3zqq",name:"Singapore",slug:"singapore",enabled:!0,order:2,latitude:1.3521,longitude:103.8198,kind:"CITY"},{id:"rgn_01k2sv1de0esmrym2tv10tsqmd",name:"Bangkok",slug:"bangkok",enabled:!0,order:3,latitude:13.7563,longitude:100.5018,kind:"CITY"},{id:"rgn_01k2sv1de0esmrym32fj7p92nx",name:"Tokyo",slug:"tokyo",enabled:!0,order:4,latitude:35.6762,longitude:139.6503,kind:"CITY"},{id:"rgn_01k2sv1de0esmrym38dsy67mfn",name:"Jakarta",slug:"jakarta",enabled:!0,order:5,latitude:-6.2088,longitude:106.8456,kind:"CITY"}]],["tnt_01k4ycprfhfvgaq1evbtretmdg",[{id:"rgn_01k4wrdsw0e4as5ezmtaqe3em1",name:"Moore Park",slug:"moore-park",enabled:!0,order:1,parentId:"rgn_01k2sv1ddzesmrym0hvj4ms6wh",address:"17 Park Road N",postalCode:"2021",email:"sydney@racquetclub.com.au",latitude:-33.8893,longitude:151.2228,radius:1,kind:"VENUE"},{id:"rgn_01k4wrdsw0e4as5ezy5vtfmxak",name:"Bondi Junction",slug:"bondi-junction",enabled:!0,order:2,parentId:"rgn_01k2sv1ddzesmrym0hvj4ms6wh",address:"500 Oxford St",postalCode:"2022",email:"bondi@racquetclub.com.au",latitude:-33.8916,longitude:151.2505,radius:1,kind:"VENUE"},{id:"rgn_01k4wrdsw0e4as5f03mtj7135x",name:"Canberra (Fyshwick)",slug:"canberra-fyshwick",enabled:!0,order:1,parentId:"rgn_01k4wrdsvze4as5ezd1wbva68b",address:"18 Nyrang St, Fyshwick",postalCode:"2609",email:"canberra@racquetclub.com.au",latitude:-35.3289,longitude:149.174,radius:1,kind:"VENUE"}]]]),Dp=new Map,Tp=new Map;for(const[e,t]of Array.from(Ep.entries())){const n=new Map,i=new Map;for(const e of t)e.enabled&&(n.set(e.slug,e),i.set(e.id,e));Dp.set(e,n),Tp.set(e,i)}const Sp=Ei({tenant:Ei({id:jn(),name:jn(),slug:jn(),adminTeamId:jn(),legacyTenantsToTeams:Ci(jn(),jn()).optional(),features:Ci(jn(),ui()).optional(),defaultCurrency:jn(),logo:Ei({email:Ei({src:jn(),width:ci(),height:ci()}),website:Ei({src:jn(),width:ci(),height:ci()})}),baseUrl:Ei({dev:jn().optional(),production:jn().optional()})}),regions:xi(Ap)}),_p=Ei({regions:xi(Ap)}),Pp=Ei({id:jn().meta({examples:[hr.Admission.id],description:"Admission ID reference"}),name:jn().meta({examples:["VIP Access","General Admission","Early Bird"],description:"Admission type name at time of purchase"}),price:Ei({base:ci().meta({description:"Base price in smallest currency unit (cents)"}),booking:ci().meta({description:"Booking fee in smallest currency unit (cents)"}),currency:jn().meta({examples:["USD","EUR","GBP"],description:"ISO 4217 currency code"})}).meta({description:"Price snapshot at time of purchase"}),entryStartsAt:jr.meta({description:"Wall clock time when ticket holder can enter (no timezone, displays same everywhere)"}),entryEndsAt:jr.meta({description:"Wall clock time when entry period ends (no timezone, displays same everywhere)"})}).meta({description:"Admission details for this ticket"}),Rp=Ei({firstName:jn().meta({examples:[hr.Customer.firstName],description:"First name of the ticket attendee"}),lastName:jn().meta({examples:[hr.Customer.lastName],description:"Last name of the ticket attendee"}),email:$n().meta({examples:[hr.Customer.email],description:"Email address of the ticket attendee"}),phone:jn().meta({examples:[hr.Customer.phone],description:"Phone number of the ticket attendee (optional)"}).optional()}).meta({description:"Attendee information for a ticket - can be edited by tenant admins. Defaults to the order customer details when ticket is created."}),Cp=Ei({id:jn().meta({examples:[hr.Event.id],description:"Event ID reference"}),name:jn().meta({examples:[hr.Event.name],description:"The title of the event shown to attendees"}),slug:jn().meta({examples:[hr.Event.slug],description:"URL-friendly identifier for the event"}),location:Ca.meta({description:"Structured location details for the event"}),entryStartsAt:jr.meta({examples:[hr.Event.entryStartsAt],description:"Wall clock time when event entry begins (no timezone, displays same everywhere)"}),entryEndsAt:jr.meta({examples:[hr.Event.entryEndsAt],description:"Wall clock time when event entry ends (no timezone, displays same everywhere)"}),images:Ei({mobile:Nr.meta({description:"Mobile-optimized image for the event"}),desktop:Nr.meta({description:"Desktop-optimized image for the event"})})}).meta({description:"Event details for this ticket"}),Up=Ei({id:jn().meta({examples:[hr.User.id],description:"Unique identifier of the user who performed the ticket scan"}),firstName:jn().meta({examples:[hr.User.firstName],description:"First name of the user who performed the scan"}),lastName:jn().meta({examples:[hr.User.lastName],description:"Last name of the user who performed the scan"}),email:$n().meta({examples:[hr.User.email],description:"Email address of the user who performed the scan"})}).meta({description:"Information about the user who scanned a ticket"}),Np=Ni(["CHECK_IN","CHECK_OUT"]),Op=Ei({id:jn().meta({examples:[hr.TicketScan.id],description:"Unique identifier of the ticket scan record"}),scannedAt:yn().readonly().meta({examples:[hr.TicketScan.scannedAt],description:"Timestamp when the ticket was scanned in ISO 8601 format"}),scannedById:jn().meta({examples:[hr.TicketScan.scannedById],description:"Unique identifier of the user who performed the scan"}),scannedBy:Up.meta({description:"Detailed information about the user who performed the scan"}),deviceId:jn().meta({examples:[hr.TicketScan.deviceId],description:"Unique identifier of the device used for scanning"}),kind:Np.meta({examples:["CHECK_IN"],description:"Type of scan operation: CHECK_IN for entry, CHECK_OUT for exit"})}).meta({description:"Record of a ticket scan operation including when, who, and what type of scan"}),qp=Ei({id:jn().meta({examples:[hr.Section.id],description:"Section ID reference"}),name:jn().meta({examples:["Floor Section A","Balcony Left","VIP Lounge"],description:"Section name at time of purchase"}),location:Ei({name:jn().meta({description:"Venue or location name"}),address:jn().optional().meta({description:"Street address"}),city:jn().optional().meta({description:"City name"}),state:jn().optional().meta({description:"State or province"}),postcode:jn().optional().meta({description:"Postal/ZIP code"}),country:jn().optional().meta({description:"ISO country code"}),latitude:ci().optional().meta({description:"Geographic latitude coordinate"}),longitude:ci().optional().meta({description:"Geographic longitude coordinate"}),timeZone:jn().optional().meta({examples:["America/New_York","Europe/London"],description:"IANA timezone identifier"})}).meta({description:"Physical location details"})}).meta({description:"Section details for this ticket"}),Mp=Ni(["ACTIVE","REDEEMED","REFUNDED","CANCELLED"]),jp=Ei({id:jn().readonly().meta({examples:[hr.Ticket.id],description:"Unique identifier for the ticket"}),token:jn().readonly().meta({examples:[hr.Ticket.token],description:"Secure token for ticket verification and validation operations"}),createdAt:yn().readonly().meta({examples:[hr.Ticket.createdAt],description:"Timestamp when the ticket was created in ISO 8601 format"}),updatedAt:yn().readonly().meta({examples:[hr.Ticket.updatedAt],description:"Timestamp when the ticket was last updated in ISO 8601 format"}),scans:xi(Op).meta({description:"Array of all scan records for this ticket (check-ins and check-outs)"}),status:Mp.meta({examples:["ACTIVE"],description:"Current status of the ticket: ACTIVE (can be used), REDEEMED (already used), REFUNDED (money returned), CANCELLED (invalidated)"}),attendee:Rp.meta({description:"Attendee information for this ticket - editable by tenant admins"}),customerId:jn().meta({examples:[hr.Ticket.customerId],description:"Unique identifier of the customer who purchased this ticket (read-only)"}),eventId:jn().meta({examples:[hr.Ticket.eventId],description:"Unique identifier of the event this ticket grants access to"}),event:Cp.meta({description:"Event details for this ticket"}),admissionId:jn().meta({examples:[hr.Ticket.admissionId],description:"Unique identifier of the admission type/tier this ticket represents"}),admission:Pp.meta({description:"Admission details for this ticket"}),section:qp.optional().meta({description:"Section details for this ticket (if assigned to a section)"}),orderId:jn().meta({examples:[hr.Ticket.orderId],description:"Unique identifier of the order this ticket was purchased in"}),orderItemId:jn().meta({examples:[hr.Ticket.orderItemId],description:"Unique identifier of the specific order item this ticket represents (optional for legacy tickets)"}).optional(),teamId:jn().meta({examples:[hr.Ticket.teamId],description:"Team that owns this ticket. Denormalized for efficient queries."}),promoterId:jn().meta({examples:[hr.Ticket.promoterId],description:"Unique identifier of the promoter/organizer who created this event"})}).meta({description:"A ticket represents a customer's admission to an event. It tracks the purchase, scanning history, and current status."}),Lp=jp.pick({status:!0,admissionId:!0,orderItemId:!0}).extend({orderId:jn().meta({examples:[hr.Order.id],description:"The order this ticket belongs to"}),customerId:jn().meta({examples:[hr.Customer.id],description:"The customer who purchased this ticket"}),attendee:Rp.optional().meta({description:"Optional attendee information - defaults to order customer details if not provided"})}).meta({description:"Schema for creating a new ticket - caller provides minimal input; derived fields are populated by the service"}),zp=jp.pick({id:!0}).extend({token:jn().optional().meta({examples:[hr.Ticket.token],description:"Security token for ticket validation (optional)"})}).meta({description:"Schema for retrieving a specific ticket by ID with optional validation parameters"}),$p=Ei({promoterId:jn().optional().meta({examples:[hr.Promoter.id],description:"Filter tickets by promoter/organizer unique identifier (optional)"}),eventId:jn().optional().meta({examples:[hr.Event.id],description:"Filter tickets by event unique identifier (optional)"}),customerId:jn().optional().meta({examples:[hr.Customer.id],description:"Filter tickets by customer unique identifier (optional)"}),orderId:jn().optional().meta({examples:[hr.Order.id],description:"Filter tickets by order unique identifier (optional)"}),status:Ni(["ACTIVE","REDEEMED","REFUNDED","CANCELLED"]).optional().meta({examples:["ACTIVE"],description:"Filter tickets by status: ACTIVE (can be used), REDEEMED (already used), REFUNDED (money returned), CANCELLED (invalidated)"}),orderToken:jn().optional().meta({examples:[hr.Order.token],description:"Order token used to access tickets for a specific order without permissions"}),query:jn().optional().meta({examples:["John Doe"],description:"Optional search query to filter tickets by customer details. When provided, search-backed pagination is used."}),limit:Xi().min(1).max(100).prefault(20).meta({examples:[20],description:"Maximum number of tickets to return per request (1-100, default: 20)"}).optional(),cursor:jn().optional().meta({examples:["eyJpZCI6InRrdF8wMWpwczVjZ3NnMHMzMncycHI3M3ZiY2NkZSJ9"],description:"Pagination cursor for continuing to fetch subsequent results (optional)"})}).meta({description:"Schema for listing tickets with optional filtering, search, and cursor-based pagination"}),Gp=Vr(jp,"tickets"),Yp=Ei({ticket:jp}),Fp=Ei({id:jn().meta({examples:[hr.Ticket.id],description:"Unique identifier for the ticket being scanned"}),token:jn().meta({examples:[hr.Ticket.token],description:"Security token for ticket validation"}),kind:Ni(["CHECK_IN","CHECK_OUT"]).meta({examples:["CHECK_IN"],description:"Type of scan operation - CHECK_IN for entry, CHECK_OUT for exit"}),deviceId:jn().optional().meta({examples:[hr.TicketScan.deviceId],description:"Unique identifier of the scanning device (optional)"})}).meta({description:"Schema for creating a ticket scan record - validates ticket and records check-in/check-out activity"}),Zp=Ni(["ACTIVE","CANCELLED"]).describe("Status updates allowed via PATCH: ACTIVE (reactivate), CANCELLED (void). REDEEMED is set via scan endpoint, REFUNDED via refund flow."),Vp=Ei({id:jn().meta({examples:[hr.Ticket.id],description:"Unique identifier of the ticket to update"}),status:Zp.optional().meta({description:"Update ticket status: CANCELLED to void, ACTIVE to reactivate"}),attendee:Rp.partial().nullable().optional().meta({description:"Attendee info. Pass object to set/update, null to clear, or omit to leave unchanged."}),admissionId:jn().optional().meta({examples:[hr.Admission.id],description:"Change ticket type/admission (admission and section objects will be fetched from event and stored)"})}).meta({description:"Schema for updating a ticket."}),Wp={id:hr.User.id,createdAt:hr.User.createdAt,updatedAt:hr.User.updatedAt,email:hr.User.email,firstName:hr.User.firstName,lastName:hr.User.lastName,imageUrl:"https://assets.session.services/examples/avatar.jpg",tenantId:hr.User.tenantId},Bp=Ei({id:jn().readonly().meta({description:"Unique identifier for the user",examples:[hr.User.id]}),createdAt:yn().readonly().meta({description:"ISO 8601 timestamp when the user account was created",examples:[hr.User.createdAt]}),updatedAt:yn().readonly().meta({description:"ISO 8601 timestamp when the user account was last updated",examples:[hr.User.updatedAt]}),email:$n().meta({description:"User's email address, used for authentication and communication",examples:[hr.User.email]}),firstName:jn().min(1).meta({description:"User's first name",examples:[hr.User.firstName]}),lastName:jn().min(1).meta({description:"User's last name",examples:[hr.User.lastName]}),imageUrl:Zn().optional().meta({description:"Optional URL to the user's profile image or avatar",examples:["https://assets.session.services/examples/avatar.jpg"]}),metadata:Ci(jn(),qr).optional().meta({description:"Arbitrary key-value metadata for storing user preferences and settings",examples:[{"widgets:team_abc123":{visibleWidgets:["revenue"]}}]})}).meta({ref:"User",description:"User entity containing profile and audit information scoped to a specific tenant",examples:[Wp]}),Hp=Hd.meta({ref:"MeTeamMember",description:"Team membership for the current user with denormalized user details."}),Kp=Ei({user:Bp.nullable().meta({description:"Current authenticated user profile, null if not authenticated"}),isAdmin:ui().meta({description:"Whether the current user has admin privileges for the tenant"}),members:xi(Hp).meta({description:"All team memberships for the current user within this tenant."})}).meta({ref:"MeResponse",description:"Response payload for GET /users/me providing the current user, tenant admin status, and team memberships.",examples:[{user:{id:"usr_01k5hbpkfje048zccqmqfhjpep",createdAt:"2025-09-19T16:07:46.418Z",updatedAt:"2025-09-19T16:07:46.418Z",email:"j@1f.io",firstName:"Jay",lastName:"McMullen",imageUrl:"https://assets.session.services/examples/avatar.jpg"},isAdmin:!0,members:[{id:"mbr_01jps5cgsec5ge0b1bxa6gzkkk",createdAt:"2025-09-25T03:25:46.080Z",updatedAt:"2025-09-25T03:25:46.080Z",teamId:"tem_01jqpjksnsen9vprw95et60t2m",userId:"usr_01k5hbpkfje048zccqmqfhjpep",user:{id:"usr_01k5hbpkfje048zccqmqfhjpep",email:"j@1f.io",firstName:"Jay",lastName:"McMullen",imageUrl:"https://assets.session.services/examples/avatar.jpg"},permissions:["FULL"],isOwner:!0,tenantId:"tnt_01abc123"}]}]}),Jp=Ei({id:jn().readonly().meta({description:"Unique identifier for the venue"}),createdAt:yn().readonly().meta({description:"Timestamp in ISO 8601 format when the venue was created"}),updatedAt:yn().readonly().meta({description:"Timestamp in ISO 8601 format when the venue was last updated"}),teamId:jn().meta({description:"Team that manages this venue"}),locationId:kr.meta({examples:["loc_01h2xk3j9k8m2n5p7q9r1s3t4v"],description:"Location identifier for this venue"}),googlePlaceId:jn().optional().meta({examples:["ChIJP3Sa8ziYEmsRUKgyFmh9AQM"],description:"Google Place ID when this venue is linked to a Google Places location"}),approval:gr.meta({examples:["APPROVED"],description:"Approval status of the venue"}),name:jn().min(3).max(100).meta({description:"Display name of the venue. Must be between 3 and 100 characters"}),slug:jn().min(3).meta({description:"URL-friendly slug for the venue. Must be unique within tenant"}),description:jn().max(500).optional().meta({description:"Short description of the venue for listings and discovery"}),image:Nr.optional().meta({description:"Venue image"}),contact:Ei({email:$n().optional().meta({description:"Public contact email for venue inquiries"}),phone:jn().optional().meta({description:"Public contact phone number"}),website:Zn().optional().meta({description:"Venue website URL"}),instagram:jn().optional().meta({description:"Instagram profile URL"}),facebook:jn().optional().meta({description:"Facebook page URL"}),twitter:jn().optional().meta({description:"Twitter/X profile URL"}),tiktok:jn().optional().meta({description:"TikTok profile URL"}),youtube:jn().optional().meta({description:"YouTube channel URL"})}).optional().meta({description:"Public contact information and social media links"}),location:Ca.omit({venueId:!0}).meta({description:"Physical location details including address, coordinates, and timezone"}),geohash:jn().meta({description:"Geohash encoding of the venue's location for efficient spatial queries"}),capacity:ci().int().min(1).optional().meta({description:"Maximum capacity of the venue (number of attendees)"}),metadata:Mr,deletedAt:yn().readonly().optional().meta({description:"Timestamp in ISO 8601 format when the venue was soft-deleted. Null if not deleted"}),tenantId:jn().readonly().meta({description:"Tenant ID for multi-tenant isolation"})}).meta({description:"Managed venue with custom branding and details. Teams can claim venues which then appear in location search results."}),Xp=Jp.omit({id:!0,tenantId:!0,createdAt:!0,updatedAt:!0,geohash:!0,deletedAt:!0,location:!0,googlePlaceId:!0,approval:!0}).extend({slug:jn().min(3).optional().meta({description:"URL-friendly slug for the venue. If not provided, will be automatically generated from the name. Must be unique within tenant"})}).meta({description:"Schema for creating a new venue. The system automatically derives location details and Google Place ID from the locationId"}),Qp=Ei({key:jn().min(1).meta({description:"Venue key - either a unique ID (ven_xxx format) or URL-friendly slug",examples:[hr.Venue.id,hr.Venue.slug]})}),el=Ei({key:jn().meta({examples:[hr.Venue.id,hr.Venue.slug],description:"Venue key - either a unique ID (ven_xxx format) or URL-friendly slug"})}),tl=Ei({teamId:jn().optional().meta({description:"Filter venues by owner team ID"}),query:jn().optional().meta({description:"Optional search query for filtering venues by name or slug"}),latitude:Xi().min(-90).max(90).optional().meta({description:"Latitude for location-based search. Must be used with longitude"}),longitude:Xi().min(-180).max(180).optional().meta({description:"Longitude for location-based search. Must be used with latitude"}),radius:Xi().min(1).max(2e4).optional().meta({description:"Search radius in kilometers (1-20000). Requires latitude and longitude"}),limit:Xi().min(1).max(100).prefault(20).meta({description:"Maximum number of venues to return (1-100, defaults to 20)"}),cursor:jn().optional().meta({description:"Pagination cursor from previous response. Used to fetch next page of results"})}).meta({description:"Query parameters for listing venues with pagination, filtering, and location-based search"}),nl=Vr(Jp,"venues").meta({description:"Paginated response containing venues with cursor for next page"}),il=Jp.omit({id:!0,tenantId:!0,teamId:!0,createdAt:!0,updatedAt:!0,deletedAt:!0,geohash:!0}).partial().extend({key:jn().meta({examples:[hr.Venue.id,hr.Venue.slug],description:"Venue key - either a unique ID (ven_xxx format) or URL-friendly slug"}),description:jn().max(500).nullable().optional().meta({description:"Short description of the venue. Pass null to clear, omit to leave unchanged."}),image:Nr.nullable().optional().meta({description:"Venue image. Pass null to clear, omit to leave unchanged."}),capacity:ci().int().min(1).nullable().optional().meta({description:"Maximum capacity. Pass null to clear, omit to leave unchanged."}),contact:Ei({email:$n().optional(),phone:jn().optional(),website:Zn().optional(),instagram:jn().optional(),facebook:jn().optional(),twitter:jn().optional(),tiktok:jn().optional(),youtube:jn().optional()}).nullable().optional().meta({description:"Contact information. Pass null to clear all contact fields, omit to leave unchanged."}),googlePlaceId:jn().nullable().optional().meta({description:"Google Place ID. Pass null to unlink from Google Places, omit to leave unchanged."})}).meta({description:"Schema for updating an existing venue. Cannot change teamId (owner). Pass null to clear optional fields."}),sl=Qs.route({method:"GET",path:"/events/{eventId}/admissions/{id}",summary:"Get admission by ID",tags:["Admissions"]}).input(Fr.strict()).output(Jr),rl=Qs.route({method:"POST",path:"/events/{eventId}/admissions",summary:"Create a new admission",tags:["Admissions"]}).input(Gr.strict()).output(Jr),ol=Qs.route({method:"PUT",path:"/events/{eventId}/admissions/{id}",summary:"Update an admission",tags:["Admissions"]}).input(Xr.strict()).output(Jr);var al={get:sl,list:Qs.route({method:"GET",path:"/events/{eventId}/admissions",summary:"List admissions",description:"Returns admissions with cursor-based pagination. Automatically uses search-backed pagination when query parameter is provided for full-text search capabilities.",tags:["Admissions"]}).input(Zr.strict()).output(Wr),create:rl,update:ol,remove:Qs.route({method:"DELETE",path:"/events/{eventId}/admissions/{id}",summary:"Delete an admission",tags:["Admissions"]}).input(Yr.strict()).output(Jr),quote:Qs.route({method:"POST",path:"/events/{eventId}/admissions/quote",summary:"Create an admission quote",tags:["Admissions"]}).input(Hr.strict()).output(Kr)},cl={track:Qs.route({method:"POST",path:"/analytics/track",summary:"Track event",tags:["Analytics"]}).input(na).output(ta),page:Qs.route({method:"POST",path:"/analytics/page",summary:"Page event",tags:["Analytics"]}).input(na).output(ta),identify:Qs.route({method:"POST",path:"/analytics/identify",summary:"Identify event",tags:["Analytics"]}).input(na).output(ta),alias:Qs.route({method:"POST",path:"/analytics/alias",summary:"Alias event",tags:["Analytics"]}).input(na).output(ta),group:Qs.route({method:"POST",path:"/analytics/group",summary:"Group event",tags:["Analytics"]}).input(na).output(ta),screen:Qs.route({method:"POST",path:"/analytics/screen",summary:"Screen event",tags:["Analytics"]}).input(na).output(ta)};const dl=Qs.route({method:"GET",path:"/beneficiaries/{id}",summary:"Get beneficiary by ID",tags:["Beneficiaries"]}).input(da.strict()).output(ma),pl=Qs.route({method:"POST",path:"/beneficiaries",summary:"Create a new beneficiary",tags:["Beneficiaries"]}).input(ca.strict()).output(ma);var ll={get:dl,list:Qs.route({method:"GET",path:"/beneficiaries",summary:"List beneficiaries with cursor-based pagination",description:"Returns beneficiary data with cursor-based pagination and optional full-text search via the `query` parameter.",tags:["Beneficiaries"]}).input(la.strict()).output(ua),create:pl,remove:Qs.route({method:"DELETE",path:"/beneficiaries/{id}",summary:"Delete a beneficiary",tags:["Beneficiaries"]}).input(pa.strict()).output(ma)};const ul=Qs.route({method:"GET",path:"/coupon-codes/{id}",summary:"Get coupon code by ID",tags:["Coupon Codes"]}).input(ya.strict()).output(Aa),ml=Qs.route({method:"POST",path:"/coupon-codes",summary:"Create a new coupon code",tags:["Coupon Codes"]}).input(ba.strict()).output(Aa),fl=Qs.route({method:"PUT",path:"/coupon-codes/{id}",summary:"Update a coupon code",tags:["Coupon Codes"]}).input(wa.strict()).output(Aa);var hl={get:ul,list:Qs.route({method:"GET",path:"/coupon-codes",summary:"List coupon codes with cursor-based pagination",description:"Returns coupon code data with cursor-based pagination and optional full-text search via the `query` parameter.",tags:["Coupon Codes"]}).input(ka.strict()).output(xa),create:ml,update:fl,remove:Qs.route({method:"DELETE",path:"/coupon-codes/{id}",summary:"Delete a coupon code",tags:["Coupon Codes"]}).input(Ia.strict()).output(Aa)};const gl=Qs.route({method:"GET",path:"/coupons/{id}",summary:"Get coupon by ID",tags:["Coupons"]}).input(Da.strict()).output(Pa),vl=Qs.route({method:"POST",path:"/coupons",summary:"Create a new coupon",tags:["Coupons"]}).input(Ea.strict()).output(Pa),yl=Qs.route({method:"PUT",path:"/coupons/{id}",summary:"Update a coupon",tags:["Coupons"]}).input(Ra.strict()).output(Pa);var bl={get:gl,list:Qs.route({method:"GET",path:"/coupons",summary:"List coupons with cursor-based pagination",description:"Returns coupon data with cursor-based pagination and optional full-text search via the `query` parameter.",tags:["Coupons"]}).input(Sa.strict()).output(_a),create:vl,update:yl,remove:Qs.route({method:"DELETE",path:"/coupons/{id}",summary:"Delete a coupon",tags:["Coupons"]}).input(Ta.strict()).output(Pa),code:hl};const wl=lo.extend({limit:Xi().min(1).max(100).optional().default(10)}),Il=co.extend({limit:Xi().min(1).max(100).optional().default(10)}),kl=mo.extend({limit:Xi().min(1).max(100).optional().default(10)}),xl=vo.extend({limit:Xi().min(1).max(100).optional().default(10)}),Al=bo.extend({limit:Xi().min(1).max(100).optional().default(10)});var El={summary:Qs.route({method:"GET",path:"/events/{eventId}/performance/summary",summary:"Get event performance summary",description:"Top-level KPI metrics with period comparison based on tracking events",tags:["Event Performance"]}).input(eo).output(to),tickets:Qs.route({method:"GET",path:"/events/{eventId}/performance/tickets",summary:"Get ticket sales performance",description:"Time series of ticket sales based on tracking events (aggregated counts only)",tags:["Event Performance"]}).input(no).output(io),funnel:Qs.route({method:"GET",path:"/events/{eventId}/performance/funnel",summary:"Get sales funnel performance",description:"Conversion funnel showing drop-off at each stage from tracking events",tags:["Event Performance"]}).input(so).output(ro),campaigns:Qs.route({method:"GET",path:"/events/{eventId}/performance/campaigns",summary:"Get campaign performance",description:"Marketing campaign metrics from tracking events (UTM campaign parameter)",tags:["Event Performance"]}).input(wl).output(uo),coupons:Qs.route({method:"GET",path:"/events/{eventId}/performance/coupons",summary:"Get coupon performance",description:"Coupon usage and revenue from actual order data",tags:["Event Performance"]}).input(Il).output(po),mediums:Qs.route({method:"GET",path:"/events/{eventId}/performance/mediums",summary:"Get traffic medium performance",description:"Performance by traffic medium (social, email, cpc) from tracking events",tags:["Event Performance"]}).input(kl).output(fo),devices:Qs.route({method:"GET",path:"/events/{eventId}/performance/devices",summary:"Get device performance",description:"Performance breakdown by device type from tracking events",tags:["Event Performance"]}).input(ho).output(go),locations:Qs.route({method:"GET",path:"/events/{eventId}/performance/locations",summary:"Get geographic performance",description:"Performance by geographic location from tracking events",tags:["Event Performance"]}).input(xl).output(yo),traffic:Qs.route({method:"GET",path:"/events/{eventId}/performance/traffic",summary:"Get traffic source performance",description:"Top referral sources and channels from tracking events",tags:["Event Performance"]}).input(Al).output(wo),attendance:Qs.route({method:"GET",path:"/events/{eventId}/performance/attendance",summary:"Get event attendance statistics",description:"Check-in statistics and attendance breakdown by admission and section",tags:["Event Performance"]}).input(Io).output(Eo)};const Dl=Qs.route({method:"GET",path:"/events/{key}",summary:"Get event by ID or slug",description:"Retrieve an event using either its unique ID or URL-friendly slug",tags:["Events"]}).input($a).output(ja),Tl=Qs.route({method:"POST",path:"/events",summary:"Create a new event",tags:["Events"]}).input(La.strict()).output(Za),Sl=Qs.route({method:"PUT",path:"/events/{key}",summary:"Update an event",description:"Update an event using either its unique ID or URL-friendly slug",tags:["Events"]}).input(Va.strict()).output(Za);var _l={get:Dl,list:Qs.route({method:"GET",path:"/events",summary:"List events",description:"List events with filters for status, approval, visibility, and promoter. Supports full‑text search (query), geo search (latitude/longitude/radius), and cursor-based pagination.",tags:["Events"]}).input(Ya).output(Fa),create:Tl,update:Sl,remove:Qs.route({method:"DELETE",path:"/events/{key}",summary:"Delete an event",description:"Delete an event using either its unique ID or URL-friendly slug",tags:["Events"]}).input(za.strict()).output(Za),performance:El},Pl={get:Qs.route({method:"GET",path:"/events/{eventId}/collaborators/{id}",summary:"Get event collaborator by ID",description:"Retrieve an active event collaboration by its unique ID. Returns the collaborator record with promoter and permission details.",tags:["Event Collaborators"]}).input(Ja.strict()).output(Wa),list:Qs.route({method:"GET",path:"/events/{eventId}/collaborators",summary:"List active event collaborators with cursor-based pagination",description:"Returns active event collaborations for a specific event with cursor pagination. Only shows accepted collaborators. For pending invitations, use the invite endpoints.",tags:["Event Collaborators"]}).input(Xa.strict()).output(Qa),create:Qs.route({method:"POST",path:"/events/{eventId}/collaborators",summary:"Invite a promoter to collaborate on an event",description:"Send a collaboration invitation to a promoter (can be from a different team). Enables cross-team promoter-to-promoter collaboration. Creates a pending invitation with a secure token that expires in 7 days. The invited promoter must accept to create an active collaboration.",tags:["Event Collaborators"]}).input(Ka.strict()).output(Ha),accept:Qs.route({method:"POST",path:"/events/{eventId}/collaborators/{id}/accept",summary:"Accept an event collaboration invitation",description:"Accept a pending event collaboration invitation. User must be a member of the invited promoter's team. Deletes the invitation and creates an active collaboration record.",tags:["Event Collaborators"]}).input(Ba.strict()).output(Wa),remove:Qs.route({method:"DELETE",path:"/events/{eventId}/collaborators/{id}",summary:"Remove active event collaboration",description:"Remove an active collaboration (hard delete). Can be done by event team members or the collaborating team members. This completely removes access.",tags:["Event Collaborators"]}).input(Ja.strict()).output(Ii())},Rl={placeAutocomplete:Qs.route({method:"GET",path:"/internal/places/autocomplete",summary:"Get place autocomplete suggestions",tags:["Internal"]}).input(ic.strict()).output(tc),placeDetails:Qs.route({method:"GET",path:"/internal/places/{placeId}",summary:"Get place details including timezone",tags:["Internal"]}).input(sc.strict()).output(nc),uploadImage:Qs.route({method:"POST",path:"/internal/upload/image",summary:"Upload and compress image",description:"Upload an image file (PNG, JPEG, or SVG), optionally resize it, and compress it for web. SVG files are uploaded as-is without compression. Returns the uploaded image URL and metadata.",tags:["Internal"]}).input(rc.strict()).output(oc)},Cl={list:Qs.route({method:"GET",path:"/locations",summary:"Search for locations",description:"Search for locations by query. Returns predictions with venue badges for locations that are managed venues on the platform. The query parameter is required.",tags:["Locations"]}).input(cc.strict()).output(pc),get:Qs.route({method:"GET",path:"/locations/{key}",summary:"Get location details",description:"Fetch full location details including coordinates, timezone, and photo. Accepts location ID or provider identifier (e.g., Google Place ID). Uses cache-first strategy.",tags:["Locations"]}).input(ac.strict()).output(Na)},Ul={create:Qs.route({method:"POST",path:"/orders/{id}/notes",summary:"Add note to order timeline (promoter only)",description:"Add a user note to the order timeline. Note will be marked as editable by the author.",tags:["Orders"]}).input(Sc.strict()).output(Hc),update:Qs.route({method:"PATCH",path:"/orders/{id}/notes/{noteId}",summary:"Update timeline note (author only)",description:"Update a timeline note. Only the author can edit their own notes. System-generated entries cannot be edited.",tags:["Orders"]}).input(td.strict()).output(Hc),remove:Qs.route({method:"DELETE",path:"/orders/{id}/notes/{noteId}",summary:"Delete timeline note (author only)",description:"Delete a timeline note. Only the author can delete their own notes. System-generated entries cannot be deleted.",tags:["Orders"]}).input(Nc.strict()).output(Ii())};const Nl=Qs.route({method:"GET",path:"/orders/{id}",summary:"Get order by ID",tags:["Orders"]}).input(Oc.strict()).output(Hc),Ol=Qs.route({method:"GET",path:"/orders",summary:"List orders with cursor-based pagination",description:"Returns order data with cursor-based pagination and optional full-text search via the `query` parameter.",tags:["Orders"]}).input(_c.strict()).output(Fc),ql=Qs.route({method:"POST",path:"/orders/quote",summary:"Create order quote",tags:["Orders"]}).input(Vc.strict()).output(Wc);var Ml={get:Nl,list:Ol,create:Qs.route({method:"POST",path:"/orders",summary:"Create a new order",tags:["Orders"]}).input(Uc.strict()).output(Hc),update:Qs.route({method:"PUT",path:"/orders/{id}",summary:"Update an order",tags:["Orders"]}).input(ed.strict()).output(Hc),quote:ql,count:Qs.route({method:"GET",path:"/orders/count",summary:"Count orders",tags:["Orders"]}).input(Pc.strict()).output(Rc),stats:Qs.route({method:"GET",path:"/orders/stats",summary:"Get order statistics",tags:["Orders"]}).input(Pc.strict()).output(Qc),resend:Qs.route({method:"POST",path:"/orders/{id}/resend",summary:"Resend tickets to customer",description:"Resend order tickets to the customer's email. Optionally provide a different email address.",tags:["Orders"]}).input(Bc.strict()).output(Hc),note:Ul},jl={get:Qs.route({method:"GET",path:"/payouts/{id}",summary:"Get payout by ID with breakdown",tags:["Payouts"]}).input(yd.strict()).output(wd),list:Qs.route({method:"GET",path:"/payouts",summary:"List payouts with cursor-based pagination",description:"Returns payout data with cursor-based pagination and optional full-text search via the `query` parameter.",tags:["Payouts"]}).input(vd.strict()).output(bd),stats:Qs.route({method:"POST",path:"/payouts/stats",summary:"Get payout statistics",tags:["Payouts"]}).input(kd.strict()).output(Id),breakdown:Qs.route({method:"GET",path:"/payouts/{payoutId}/breakdown",summary:"Get payout breakdown",tags:["Payouts"]}).input(id.strict()).output(gd),approve:Qs.route({method:"POST",path:"/payouts/{id}/approve",summary:"Approve a payout for processing",tags:["Payouts"]}).input(ud.strict()).output(nd)},Ll={get:Qs.route({method:"GET",path:"/teams/{teamId}/members/{memberId}/permission-scopes/{id}",summary:"Get permission scope by ID",description:"Retrieve a permission scope using its unique ID",tags:["Permission Scopes"]}).input(Ei({teamId:jn(),memberId:jn()}).merge(Sd).strict()).output(Ed),list:Qs.route({method:"GET",path:"/teams/{teamId}/members/{memberId}/permission-scopes",summary:"List permission scopes with cursor-based pagination",description:"Returns permission scopes for a specific team member with cursor pagination. Can filter by kind (PROMOTER or VENUE).",tags:["Permission Scopes"]}).input(Ei({teamId:jn(),memberId:jn()}).merge(_d).strict()).output(Pd),create:Qs.route({method:"POST",path:"/teams/{teamId}/members/{memberId}/permission-scopes",summary:"Create a new permission scope",description:"Create a permission scope for a team member. Can be PROMOTER-specific (applies to all events by that promoter) or VENUE-specific (applies to all events at that venue). Replaces lower-tier permissions.",tags:["Permission Scopes"]}).input(Ei({teamId:jn(),memberId:jn()}).and(Td)).output(Ed),update:Qs.route({method:"PATCH",path:"/teams/{teamId}/members/{memberId}/permission-scopes/{id}",summary:"Update a permission scope",description:"Update an existing permission scope. Only the permissions array can be modified.",tags:["Permission Scopes"]}).input(Ei({id:jn(),teamId:jn(),memberId:jn()}).merge(Rd).strict()).output(Ed),remove:Qs.route({method:"DELETE",path:"/teams/{teamId}/members/{memberId}/permission-scopes/{id}",summary:"Delete a permission scope",description:"Remove a permission scope. Team member will revert to lower-tier permissions for the affected resource.",tags:["Permission Scopes"]}).input(Ei({teamId:jn(),memberId:jn()}).merge(Sd).strict()).output(Ed)},zl={summary:Qs.route({method:"GET",path:"/promoters/{promoterId}/performance/summary",summary:"Get promoter performance summary",description:"Overview KPIs for a single promoter based on tracking data (excludes entity-based data like payouts)",tags:["Promoter Performance"]}).input(Do).output(To),revenue:Qs.route({method:"GET",path:"/promoters/{promoterId}/performance/revenue",summary:"Get promoter revenue over time",description:"Time-series data for revenue and tickets sold for a single promoter",tags:["Promoter Performance"]}).input(So).output(_o),events:Qs.route({method:"GET",path:"/promoters/{promoterId}/performance/events",summary:"Get promoter top events by tickets",description:"Top events by ticket count for a single promoter",tags:["Promoter Performance"]}).input(Po).output(Ro)};const $l=Qs.route({method:"GET",path:"/promoters/{key}",summary:"Get promoter by ID or slug",description:"Retrieve a promoter using either its unique ID or URL-friendly slug",tags:["Promoters"]}).input(Od.strict()).output(Gd),Gl=Qs.route({method:"POST",path:"/promoters",summary:"Create a new promoter",description:"Create a new promoter brand within a team",tags:["Promoters"]}).input(qd.strict()).output(Gd),Yl=Qs.route({method:"PUT",path:"/promoters/{key}",summary:"Update a promoter",description:"Update a promoter using either its unique ID or URL-friendly slug",tags:["Promoters"]}).input(Yd.strict()).output(Gd);var Fl={get:$l,list:Qs.route({method:"GET",path:"/promoters",summary:"List promoters with cursor-based pagination",description:"Returns promoters with cursor pagination. Filter by teamId to see promoters for a specific team.",tags:["Promoters"]}).input(jd.strict()).output($d),create:Gl,update:Yl,remove:Qs.route({method:"DELETE",path:"/promoters/{key}",summary:"Delete a promoter",description:"Delete a promoter using either its unique ID or URL-friendly slug",tags:["Promoters"]}).input(Md.strict()).output(Gd),performance:zl};const Zl=Qs.route({method:"GET",path:"/events/{eventId}/sections/{id}",summary:"Get section by ID",tags:["Sections"]}).input(jc.strict()).output($c),Vl=Qs.route({method:"POST",path:"/events/{eventId}/sections",summary:"Create a new section",tags:["Sections"]}).input(qc.strict()).output($c),Wl=Qs.route({method:"PUT",path:"/events/{eventId}/sections/{id}",summary:"Update a section",tags:["Sections"]}).input(Gc.strict()).output($c);var Bl={get:Zl,list:Qs.route({method:"GET",path:"/events/{eventId}/sections",summary:"List sections",description:"Returns sections with cursor-based pagination. Automatically uses search-backed pagination when query parameter is provided for full-text search capabilities.",tags:["Sections"]}).input(Lc.strict()).output(zc),create:Vl,update:Wl,remove:Qs.route({method:"DELETE",path:"/events/{eventId}/sections/{id}",summary:"Delete a section",tags:["Sections"]}).input(Mc.strict()).output($c)},Hl={summary:Qs.route({method:"GET",path:"/teams/{teamId}/performance/summary",summary:"Get team performance summary",description:"Overview KPIs aggregated across all promoters in the team, based on tracking data (excludes entity-based data like payouts)",tags:["Team Performance"]}).input(Uo).output(No),revenue:Qs.route({method:"GET",path:"/teams/{teamId}/performance/revenue",summary:"Get team revenue over time",description:"Time-series data for revenue and tickets sold aggregated across all promoters in the team",tags:["Team Performance"]}).input(Oo).output(qo),funnel:Qs.route({method:"GET",path:"/teams/{teamId}/performance/funnel",summary:"Get team conversion funnel",description:"Conversion funnel showing drop-off rates from product view to purchase, aggregated across all events in the team",tags:["Team Performance"]}).input(Lo).output(zo),traffic:Qs.route({method:"GET",path:"/teams/{teamId}/performance/traffic",summary:"Get team traffic sources",description:"Traffic source breakdown by campaign, medium, or source, aggregated across all events in the team",tags:["Team Performance"]}).input(Zo).output(Vo),events:Qs.route({method:"GET",path:"/teams/{teamId}/performance/events",summary:"Get team top events by tickets",description:"Top events by ticket count, aggregated across all events in the team",tags:["Team Performance"]}).input(Mo).output(jo),admissions:Qs.route({method:"GET",path:"/teams/{teamId}/performance/admissions",summary:"Get team top admissions by tickets",description:"Top admission types by ticket count, aggregated across all events in the team",tags:["Team Performance"]}).input(Yo).output(Fo),orders:Qs.route({method:"GET",path:"/teams/{teamId}/performance/orders",summary:"Get team orders distribution",description:"Order counts grouped by time breakdown (hour, day of week, day, week, month)",tags:["Team Performance"]}).input($o).output(Go),tracking:Qs.route({method:"GET",path:"/teams/{teamId}/performance/tracking",summary:"Get team tracking time series",description:"Time-series tracking data (page views, add to cart, checkout, orders) aggregated at team or tenant level",tags:["Team Performance"]}).input(Wo).output(Bo)},Kl={get:Qs.route({method:"GET",path:"/teams/{key}",summary:"Get team by ID or slug",description:"Retrieve a team with membership details. User must be a member of the team.",tags:["Teams"]}).input(Wd.strict()).output(Zd),list:Qs.route({method:"GET",path:"/teams",summary:"List teams with cursor-based pagination",description:"Returns teams the current user has access to with cursor pagination",tags:["Teams"]}).input(ip.strict()).output(sp),create:Qs.route({method:"POST",path:"/teams",summary:"Create a new team",description:"Create a new team organization",tags:["Teams"]}).input(Bd.strict()).output(Zd),update:Qs.route({method:"PATCH",path:"/teams/{key}",summary:"Update a team",description:"Update an existing team by ID or slug",tags:["Teams"]}).input(rp.strict()).output(Zd),remove:Qs.route({method:"DELETE",path:"/teams/{key}",summary:"Delete a team",description:"Soft delete a team (sets deletedAt timestamp) by ID or slug",tags:["Teams"]}).input(Wd.strict()).output(Zd),performance:Hl},Jl={config:Qs.route({method:"GET",path:"/tenant/config",summary:"Get tenant configuration",tags:["Tenant"],description:"Returns tenant configuration including features and regions. Requires x-tenant-id header."}).output(Sp),regions:Qs.route({method:"GET",path:"/tenant/regions",summary:"Get tenant regions",tags:["Tenant"],description:"Returns available regions for the tenant. Requires x-tenant-id header."}).output(_p)};const Xl=Qs.route({method:"GET",path:"/tickets/{id}",summary:"Get ticket by ID",tags:["Tickets"]}).input(zp.strict()).output(Yp),Ql=Qs.route({method:"POST",path:"/tickets",summary:"Create a new ticket",tags:["Tickets"]}).input(Lp.strict()).output(Yp),eu=Qs.route({method:"PUT",path:"/tickets/{id}",summary:"Update a ticket",tags:["Tickets"]}).input(Vp.strict()).output(Yp);var tu={get:Xl,list:Qs.route({method:"GET",path:"/tickets",summary:"List tickets with cursor-based pagination",description:"Returns ticket data with cursor-based pagination and optional full-text search via the `query` parameter.",tags:["Tickets"]}).input($p.strict()).output(Gp),create:Ql,update:eu,scan:Qs.route({method:"POST",path:"/tickets/{id}/scan",summary:"Scan a ticket",tags:["Tickets"]}).input(Fp.strict()).output(Yp)};const nu=Qs.route({method:"GET",path:"/users/me",summary:"Get the current user and their team memberships",tags:["Users"]}).output(Kp),iu=Ei({firstName:jn().min(1).optional(),lastName:jn().min(1).optional(),imageUrl:Zn().optional(),metadata:Ci(jn(),qr).optional()}).meta({ref:"UpdateUserInput",description:"Input for updating the current user's profile"});var su={me:nu,update:Qs.route({method:"PATCH",path:"/users/me",summary:"Update the current user's profile",tags:["Users"]}).input(iu).output(Bp)};const ru={beneficiary:ll,section:Bl,event:_l,eventCollaborator:Pl,admission:al,order:Ml,ticket:tu,internal:Rl,location:Cl,coupon:bl,payout:jl,permissionScope:Ll,promoter:Fl,team:Kl,teamInvite:np,teamMember:mp,tenant:Jl,venue:{get:Qs.route({method:"GET",path:"/venues/{key}",summary:"Get venue by ID or slug",description:"Retrieve a venue using its unique ID or slug",tags:["Venues"]}).input(el.strict()).output(Jp),list:Qs.route({method:"GET",path:"/venues",summary:"List venues with cursor-based pagination",description:"Returns venues with cursor pagination. Supports filtering by team, location-based search, and text query",tags:["Venues"]}).input(tl.strict()).output(nl),create:Qs.route({method:"POST",path:"/venues",summary:"Create a new venue",description:"Create a new venue. Venue will be owned by the specified team but can be used by all teams for their events",tags:["Venues"]}).input(Xp.strict()).output(Jp),update:Qs.route({method:"PATCH",path:"/venues/{key}",summary:"Update a venue",description:"Update an existing venue. Cannot change venue ownership (teamId)",tags:["Venues"]}).input(il.strict()).output(Jp),remove:Qs.route({method:"DELETE",path:"/venues/{key}",summary:"Delete a venue",description:"Soft delete a venue (sets deletedAt timestamp)",tags:["Venues"]}).input(Qp.strict()).output(Jp),linkLocation:Qs.route({method:"POST",path:"/venues/{key}/locations",summary:"Link location to venue",description:"Link a location to this venue. Allows the venue to be discovered when users search for this location. A venue can have multiple linked locations (e.g., different addresses, branded names). Requires VENUE permission on the owning team.",tags:["Venues"]}).input(el.extend({locationKey:jn().meta({description:"Location ID (loc_xxx) or Google Place ID to link to this venue",examples:["loc_01jps5cgsm7qxvh6watsons0eq","ChIJP3Sa8ziYEmsRUKgyFmh9AQM"]})}).strict()).output(Jp),unlinkLocation:Qs.route({method:"DELETE",path:"/venues/{key}/locations/{locationKey}",summary:"Unlink location from venue",description:"Remove a location link from this venue. The location will no longer show this venue's branding. Requires VENUE permission on the owning team.",tags:["Venues"]}).input(el.extend({locationKey:jn().meta({description:"Location ID (loc_xxx) or Google Place ID to unlink from this venue",examples:["loc_01jps5cgsm7qxvh6watsons0eq","ChIJP3Sa8ziYEmsRUKgyFmh9AQM"]})}).strict()).output(Jp)},analytics:cl,user:su};function ou(e,t={}){return as({name:"parse_standard_body",signal:t.signal},(async()=>{const n=e.headers.get("content-disposition");if("string"==typeof n){const t=function(e){const t=e.match(/filename\*=(UTF-8'')?([^;]*)/i);if(t&&"string"==typeof t[2])return function(e){try{return decodeURIComponent(e)}catch{return e}}(t[2]);const n=e.match(/filename="((?:\\"|[^"])*)"/i);return n&&"string"==typeof n[1]?n[1].replace(/\\"/g,'"'):void 0}(n)??"blob",i=await e.blob();return new File([i],t,{type:i.type})}const i=e.headers.get("content-type");if(!i||i.startsWith("application/json"))return hs(await e.text());if(i.startsWith("multipart/form-data"))return await e.formData();if(i.startsWith("application/x-www-form-urlencoded")){const t=await e.text();return new URLSearchParams(t)}if(i.startsWith("text/event-stream"))return function(e,t={}){const n=e?.pipeThrough(new TextDecoderStream).pipeThrough(new qs),i=n?.getReader();let s,r=!1;return new us((async()=>{s??=rs("consume_event_iterator_stream");try{for(;;){if(void 0===i)return{done:!0,value:void 0};const{done:e,value:t}=await cs(s,(()=>i.read()));if(e){if(r)throw new ns("Stream was cancelled");return{done:!0,value:void 0}}switch(t.event){case"message":{let e=hs(t.data);return ys(e)&&(e=Gs(e,t)),s?.addEvent("message"),{done:!1,value:e}}case"error":{let e=new Us({data:hs(t.data)});throw e=Gs(e,t),s?.addEvent("error"),e}case"done":{let e=hs(t.data);return ys(e)&&(e=Gs(e,t)),s?.addEvent("done"),{done:!0,value:e}}default:s?.addEvent("maybe_keepalive")}}}catch(e){throw e instanceof Us||os(s,e,t),e}}),(async e=>{try{"next"!==e&&(r=!0,s?.addEvent("cancelled")),await cs(s,(()=>i?.cancel()))}catch(e){throw os(s,e,t),e}finally{s?.end()}}))}(e.body,t);if(i.startsWith("text/plain"))return await e.text();const s=await e.blob();return new File([s],"blob",{type:s.type})}))}function au(e,t={}){return e.forEach(((e,n)=>{Array.isArray(t[n])?t[n].push(e):t[n]=void 0!==t[n]?[t[n],e]:e})),t}function cu(e,t={}){const n=function(e,t=new Headers){for(const[n,i]of Object.entries(e))if(Array.isArray(i))for(const e of i)t.append(n,e);else void 0!==i&&t.append(n,i);return t}(e.headers),i=function(e,t,n={}){const i=t.get("content-disposition");var s;if(t.delete("content-type"),t.delete("content-disposition"),void 0!==e)return e instanceof Blob?(t.set("content-type",e.type),t.set("content-length",e.size.toString()),t.set("content-disposition",i??`inline; filename="${(s=e instanceof File?e.name:"blob").replace(/"/g,'\\"')}"; filename*=utf-8''${encodeURIComponent(s).replace(/['()*]/g,(e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`)).replace(/%(7C|60|5E)/g,((e,t)=>String.fromCharCode(Number.parseInt(t,16))))}`),e):e instanceof FormData||e instanceof URLSearchParams?e:ds(e)?(t.set("content-type","text/event-stream"),function(e,t={}){const n=t.eventIteratorKeepAliveEnabled??!0,i=t.eventIteratorKeepAliveInterval??5e3,s=t.eventIteratorKeepAliveComment??"",r=t.eventIteratorInitialCommentEnabled??!0,o=t.eventIteratorInitialComment??"";let a,c,d=!1;const p=new ReadableStream({start(e){c=rs("stream_event_iterator"),r&&e.enqueue(zs({comments:[o]}))},async pull(t){try{n&&(a=setInterval((()=>{t.enqueue(zs({comments:[s]})),c?.addEvent("keepalive")}),i));const r=await cs(c,(()=>e.next()));if(clearInterval(a),d)return;const o=Ys(r.value);if(!r.done||void 0!==r.value||void 0!==o){const e=r.done?"done":"message";t.enqueue(zs({...o,event:e,data:gs(r.value)})),c?.addEvent(e)}r.done&&(t.close(),c?.end())}catch(e){if(clearInterval(a),d)return;e instanceof Us?(t.enqueue(zs({...Ys(e),event:"error",data:gs(e.data)})),c?.addEvent("error"),t.close()):(os(c,e),t.error(e)),c?.end()}},async cancel(){try{d=!0,clearInterval(a),c?.addEvent("cancelled"),await cs(c,(()=>e.return?.()))}catch(e){throw os(c,e),e}finally{c?.end()}}}).pipeThrough(new TextEncoderStream);return p}(e,n)):(t.set("content-type","application/json"),gs(e))}(e.body,n,t);return new Request(e.url,{signal:e.signal,method:e.method,headers:n,body:i})}Ei({id:Pr.meta({description:"Team member ID to delete"})});class du{plugins;constructor(e=[]){this.plugins=[...e].sort(((e,t)=>(e.order??0)-(t.order??0)))}init(e){for(const t of this.plugins)t.init?.(e)}}class pu{constructor(e,t,n={}){this.codec=e,this.sender=t,new du(n.plugins).init(n),this.interceptors=es(n.interceptors),this.clientInterceptors=es(n.clientInterceptors)}interceptors;clientInterceptors;call(e,t,n){return as({name:`${ts}.${e.join("/")}`,signal:n.signal},(i=>(i?.setAttribute("rpc.system",ts),i?.setAttribute("rpc.method",e.join(".")),ds(t)&&(t=ms({name:"consume_event_iterator_input",signal:n.signal},t)),fs(this.interceptors,{...n,path:e,input:t},(async({path:e,input:t,...n})=>{const s=ss();let r;const o=s?.trace.getActiveSpan()??i;o&&s&&(r=s?.trace.setSpan(s.context.active(),o));const a=await as({name:"encode_request",context:r},(()=>this.codec.encode(e,t,n))),c=await fs(this.clientInterceptors,{...n,input:t,path:e,request:a},(({input:e,path:t,request:n,...i})=>as({name:"send_request",signal:i.signal,context:r},(()=>this.sender.call(n,i,t,e))))),d=await as({name:"decode_response",context:r},(()=>this.codec.decode(c,n,e,t)));return ds(d)?ms({name:"consume_event_iterator_output",signal:n.signal},d):d})))))}}function lu(e){return`/${e.map(encodeURIComponent).join("/")}`}class uu extends du{initRuntimeAdapter(e){for(const t of this.plugins)t.initRuntimeAdapter?.(e)}}class mu{fetch;toFetchRequestOptions;adapterInterceptors;constructor(e){new uu(e.plugins).initRuntimeAdapter(e),this.fetch=e.fetch??globalThis.fetch.bind(globalThis),this.toFetchRequestOptions=e,this.adapterInterceptors=es(e.adapterInterceptors)}async call(e,t,n,i){const s=cu(e,this.toFetchRequestOptions),r=function(e,t={}){return{body:is((()=>ou(e,t))),status:e.status,get headers(){const t=au(e.headers);return Object.defineProperty(this,"headers",{value:t,writable:!0}),t},set headers(e){Object.defineProperty(this,"headers",{value:e,writable:!0})}}}(await fs(this.adapterInterceptors,{...t,request:s,path:n,input:i,init:{redirect:"manual"}},(({request:e,path:t,input:n,init:i,...s})=>this.fetch(e,i,s,t,n))),{signal:s.signal});return r}}class fu{maxArrayIndex;constructor(e={}){this.maxArrayIndex=e.maxBracketNotationArrayIndex??9999}serialize(e,t=[],n=[]){if(Array.isArray(e))e.forEach(((e,i)=>{this.serialize(e,[...t,i],n)}));else if(vs(e))for(const i in e)this.serialize(e[i],[...t,i],n);else n.push([this.stringifyPath(t),e]);return n}deserialize(e){if(0===e.length)return{};const t=new WeakSet,n={value:[]};for(const[i,s]of e){const e=this.parsePath(i);let r=n,o="value";e.forEach(((n,i)=>{Array.isArray(r[o])||vs(r[o])||(r[o]=[]),i!==e.length-1?Array.isArray(r[o])&&!hu(n,this.maxArrayIndex)&&(t.has(r[o])?(t.delete(r[o]),r[o]=vu(r[o])):r[o]=gu(r[o])):Array.isArray(r[o])&&(""===n?r[o].length&&!t.has(r[o])&&(r[o]=gu(r[o])):t.has(r[o])?(t.delete(r[o]),r[o]=vu(r[o])):hu(n,this.maxArrayIndex)||(r[o]=gu(r[o]))),r=r[o],o=n})),Array.isArray(r)&&""===o?(t.add(r),r.push(s)):o in r?Array.isArray(r[o])?r[o].push(s):r[o]=[r[o],s]:r[o]=s}return n.value}stringifyPath(e){return e.map((e=>e.toString().replace(/[\\[\]]/g,(e=>{switch(e){case"\\":return"\\\\";case"[":return"\\[";case"]":return"\\]";default:return e}})))).reduce(((e,t,n)=>0===n?t:`${e}[${t}]`),"")}parsePath(e){const t=[];let n=!1,i="",s=0;for(let r=0;r<e.length;r++){const o=e[r],a=e[r+1];!n||"]"!==o||void 0!==a&&"["!==a||s%2!=0?0===t.length&&"["===o&&s%2==0?(n=!0,t.push(i),i=""):"\\"===o?s++:(i+="\\".repeat(s/2)+o,s=0):(void 0===a&&(n=!1),t.push(i),i="",r++)}return n||0===t.length?[e]:t}}function hu(e,t){return/^0$|^[1-9]\d*$/.test(e)&&Number(e)<=t}function gu(e){const t=new ws;return e.forEach(((e,n)=>{t[n]=e})),t}function vu(e){const t=new ws;return t[""]=1===e.length?e[0]:e,t}class yu{customSerializers;constructor(e={}){this.customSerializers=e.customJsonSerializers??[]}serialize(e,t={value:!1}){for(const n of this.customSerializers)if(n.condition(e))return this.serialize(n.serialize(e),t);if(e instanceof Blob)return t.value=!0,[e,t.value];if(e instanceof Set)return this.serialize(Array.from(e),t);if(e instanceof Map)return this.serialize(Array.from(e.entries()),t);if(Array.isArray(e))return[e.map((e=>void 0===e?null:this.serialize(e,t)[0])),t.value];if(vs(e)){const n={};for(const i in e)"toJSON"===i&&"function"==typeof e[i]||(n[i]=this.serialize(e[i],t)[0]);return[n,t.value]}return"bigint"==typeof e||e instanceof RegExp||e instanceof URL?[e.toString(),t.value]:e instanceof Date?[Number.isNaN(e.getTime())?null:e.toISOString(),t.value]:Number.isNaN(e)?[null,t.value]:[e,t.value]}}function bu(e){return`/${e.replace(/\/{2,}/g,"/").replace(/^\/|\/$/g,"")}`}function wu(e){return e?bu(e).match(/\/\{[^}]+\}/g)?.map((e=>({raw:e,name:e.match(/\{\+?([^}]+)\}/)[1]}))):void 0}class Iu{constructor(e,t,n){this.contract=e,this.serializer=t,this.baseUrl=n.url,this.headers=n.headers??{},this.customErrorResponseBodyDecoder=n.customErrorResponseBodyDecoder}baseUrl;headers;customErrorResponseBodyDecoder;async encode(e,t,n){let i=function(e){return"function"==typeof e.forEach?au(e):e}(await Is(this.headers,n,e,t));void 0!==n.lastEventId&&(i=Fs(i,{"last-event-id":n.lastEventId}));const s=await Is(this.baseUrl,n,e,t),r=bs(this.contract,e);if(!Hs(r))throw new Error(`[StandardOpenapiLinkCodec] expect a contract procedure at ${e.join(".")}`);return"compact"===tr("defaultInputStructure",r["~orpc"].route.inputStructure)?this.#s(r,e,t,n,s,i):this.#r(r,e,t,n,s,i)}#s(e,t,n,i,s,r){let o=bu(e["~orpc"].route.path??lu(t)),a=n;const c=wu(o);if(c?.length){if(!vs(n))throw new TypeError(`[StandardOpenapiLinkCodec] Invalid input shape for "compact" structure when has dynamic params at ${t.join(".")}.`);const e={...n};for(const t of c)o=o.replace(t.raw,`/${encodeURIComponent(`${this.serializer.serialize(n[t.name])}`)}`),delete e[t.name];a=Object.keys(e).length?e:void 0}const d=tr("defaultMethod",e["~orpc"].route.method),p=new URL(s);if(p.pathname=`${p.pathname.replace(/\/$/,"")}${o}`,"GET"===d){const e=this.serializer.serialize(a,{outputFormat:"URLSearchParams"});for(const[t,n]of e)p.searchParams.append(t,n);return{url:p,method:d,headers:r,body:void 0,signal:i.signal}}return{url:p,method:d,headers:r,body:this.serializer.serialize(a),signal:i.signal}}#r(e,t,n,i,s,r){let o=bu(e["~orpc"].route.path??lu(t));const a=wu(o);if(!vs(n)&&void 0!==n)throw new TypeError(`[StandardOpenapiLinkCodec] Invalid input shape for "detailed" structure at ${t.join(".")}.`);if(a?.length){if(!vs(n?.params))throw new TypeError(`[StandardOpenapiLinkCodec] Invalid input.params shape for "detailed" structure when has dynamic params at ${t.join(".")}.`);for(const e of a)o=o.replace(e.raw,`/${encodeURIComponent(`${this.serializer.serialize(n.params[e.name])}`)}`)}let c=r;if(void 0!==n?.headers){if(!vs(n.headers))throw new TypeError(`[StandardOpenapiLinkCodec] Invalid input.headers shape for "detailed" structure at ${t.join(".")}.`);c=Fs(n.headers,r)}const d=tr("defaultMethod",e["~orpc"].route.method),p=new URL(s);if(p.pathname=`${p.pathname.replace(/\/$/,"")}${o}`,void 0!==n?.query){const e=this.serializer.serialize(n.query,{outputFormat:"URLSearchParams"});for(const[t,n]of e)p.searchParams.append(t,n)}return"GET"===d?{url:p,method:d,headers:c,body:void 0,signal:i.signal}:{url:p,method:d,headers:c,body:this.serializer.serialize(n?.body),signal:i.signal}}async decode(e,t,n){const i=!Ss(e.status),s=await(async()=>{let t=!1;try{const n=await e.body();return t=!0,this.serializer.deserialize(n)}catch(e){if(!t)throw new Error("Cannot parse response body, please check the response body and content-type.",{cause:e});throw new Error("Invalid OpenAPI response format.",{cause:e})}})();if(!i){const t=this.customErrorResponseBodyDecoder?.(s,e);if(null!=t)throw t;if(_s(s))throw Ps(s);throw new Ts((r=e.status,Object.entries(As).find((([,e])=>e.status===r))?.[0]??"MALFORMED_ORPC_ERROR_RESPONSE"),{status:e.status,data:{...e,body:s}})}var r;const o=bs(this.contract,n);if(!Hs(o))throw new Error(`[StandardOpenapiLinkCodec] expect a contract procedure at ${n.join(".")}`);return"compact"===tr("defaultOutputStructure",o["~orpc"].route.outputStructure)?s:{status:e.status,headers:e.headers,body:s}}}class ku{constructor(e,t){this.jsonSerializer=e,this.bracketNotation=t}serialize(e,t={}){return ds(e)&&!t.outputFormat?Zs(e,{value:async e=>this.#o(e,{outputFormat:"plain"}),error:async e=>{return new Us({data:this.#o((t=e,t instanceof Ts?t:new Ts("INTERNAL_SERVER_ERROR",{message:"Internal server error",cause:t})).toJSON(),{outputFormat:"plain"}),cause:e});var t}}):this.#o(e,t)}#o(e,t){const[n,i]=this.jsonSerializer.serialize(e);if("plain"===t.outputFormat)return n;if("URLSearchParams"===t.outputFormat){const e=new URLSearchParams;for(const[t,i]of this.bracketNotation.serialize(n))"string"!=typeof i&&"number"!=typeof i&&"boolean"!=typeof i||e.append(t,i.toString());return e}if(n instanceof Blob||void 0===n||!i)return n;const s=new FormData;for(const[e,t]of this.bracketNotation.serialize(n))"string"==typeof t||"number"==typeof t||"boolean"==typeof t?s.append(e,t.toString()):t instanceof Blob&&s.append(e,t);return s}deserialize(e){return e instanceof URLSearchParams||e instanceof FormData?this.bracketNotation.deserialize(Array.from(e.entries())):ds(e)?Zs(e,{value:async e=>e,error:async e=>e instanceof Us&&_s(e.data)?Ps(e.data,{cause:e}):e}):e}}class xu extends pu{constructor(e,t,n){const i=new yu(n),s=new fu({maxBracketNotationArrayIndex:4294967294}),r=new ku(i,s);super(new Iu(e,r,n),t,n)}}class Au extends xu{constructor(e,t){super(e,new mu(t),t)}}const Eu={sandbox:"https://api.sandbox.session.services",prod:"https://api.session.services"};function Du(e){if(e.__esModule)return e;var t=e.default;if("function"==typeof t){var n=function e(){return this instanceof e?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach((function(t){var i=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,i.get?i:{enumerable:!0,get:function(){return e[t]}})})),n}var Tu=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;function Su(e){return"string"==typeof e&&Tu.test(e)}function _u(e){if(!Su(e))throw TypeError("Invalid UUID");var t,n=new Uint8Array(16);return n[0]=(t=parseInt(e.slice(0,8),16))>>>24,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=255&t,n[4]=(t=parseInt(e.slice(9,13),16))>>>8,n[5]=255&t,n[6]=(t=parseInt(e.slice(14,18),16))>>>8,n[7]=255&t,n[8]=(t=parseInt(e.slice(19,23),16))>>>8,n[9]=255&t,n[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,n[11]=t/4294967296&255,n[12]=t>>>24&255,n[13]=t>>>16&255,n[14]=t>>>8&255,n[15]=255&t,n}for(var Pu,Ru=[],Cu=0;Cu<256;++Cu)Ru.push((Cu+256).toString(16).slice(1));function Uu(e,t=0){return(Ru[e[t+0]]+Ru[e[t+1]]+Ru[e[t+2]]+Ru[e[t+3]]+"-"+Ru[e[t+4]]+Ru[e[t+5]]+"-"+Ru[e[t+6]]+Ru[e[t+7]]+"-"+Ru[e[t+8]]+Ru[e[t+9]]+"-"+Ru[e[t+10]]+Ru[e[t+11]]+Ru[e[t+12]]+Ru[e[t+13]]+Ru[e[t+14]]+Ru[e[t+15]]).toLowerCase()}var Nu,Ou,qu=new Uint8Array(16);function Mu(){if(!Pu&&!(Pu="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Pu(qu)}var ju=0,Lu=0;function zu(e,t,n){var i=t&&n||0,s=t||new Array(16),r=(e=e||{}).node,o=e.clockseq;if(e._v6||(r||(r=Nu),null==o&&(o=Ou)),null==r||null==o){var a=e.random||(e.rng||Mu)();null==r&&(r=[a[0],a[1],a[2],a[3],a[4],a[5]],Nu||e._v6||(r[0]|=1,Nu=r)),null==o&&(o=16383&(a[6]<<8|a[7]),void 0!==Ou||e._v6||(Ou=o))}var c=void 0!==e.msecs?e.msecs:Date.now(),d=void 0!==e.nsecs?e.nsecs:Lu+1,p=c-ju+(d-Lu)/1e4;if(p<0&&void 0===e.clockseq&&(o=o+1&16383),(p<0||c>ju)&&void 0===e.nsecs&&(d=0),d>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");ju=c,Lu=d,Ou=o;var l=(1e4*(268435455&(c+=122192928e5))+d)%4294967296;s[i++]=l>>>24&255,s[i++]=l>>>16&255,s[i++]=l>>>8&255,s[i++]=255&l;var u=c/4294967296*1e4&268435455;s[i++]=u>>>8&255,s[i++]=255&u,s[i++]=u>>>24&15|16,s[i++]=u>>>16&255,s[i++]=o>>>8|128,s[i++]=255&o;for(var m=0;m<6;++m)s[i+m]=r[m];return t||Uu(s)}function $u(e){var t,n=(t="string"==typeof e?_u(e):e,Uint8Array.of((15&t[6])<<4|t[7]>>4&15,(15&t[7])<<4|(240&t[4])>>4,(15&t[4])<<4|(240&t[5])>>4,(15&t[5])<<4|(240&t[0])>>4,(15&t[0])<<4|(240&t[1])>>4,(15&t[1])<<4|(240&t[2])>>4,96|15&t[2],t[3],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]));return"string"==typeof e?Uu(n):n}function Gu(e,t,n){function i(e,i,s,r){var o;if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));for(var t=[],n=0;n<e.length;++n)t.push(e.charCodeAt(n));return t}(e)),"string"==typeof i&&(i=_u(i)),16!==(null===(o=i)||void 0===o?void 0:o.length))throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var a=new Uint8Array(16+e.length);if(a.set(i),a.set(e,i.length),(a=n(a))[6]=15&a[6]|t,a[8]=63&a[8]|128,s){r=r||0;for(var c=0;c<16;++c)s[r+c]=a[c];return s}return Uu(a)}try{i.name=e}catch(e){}return i.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",i.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",i}function Yu(e){return 14+(e+64>>>9<<4)+1}function Fu(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function Zu(e,t,n,i,s,r){return Fu((o=Fu(Fu(t,e),Fu(i,r)))<<(a=s)|o>>>32-a,n);var o,a}function Vu(e,t,n,i,s,r,o){return Zu(t&n|~t&i,e,t,s,r,o)}function Wu(e,t,n,i,s,r,o){return Zu(t&i|n&~i,e,t,s,r,o)}function Bu(e,t,n,i,s,r,o){return Zu(t^n^i,e,t,s,r,o)}function Hu(e,t,n,i,s,r,o){return Zu(n^(t|~i),e,t,s,r,o)}var Ku=Gu("v3",48,(function(e){if("string"==typeof e){var t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(var n=0;n<t.length;++n)e[n]=t.charCodeAt(n)}return function(e){for(var t=[],n=32*e.length,i="0123456789abcdef",s=0;s<n;s+=8){var r=e[s>>5]>>>s%32&255,o=parseInt(i.charAt(r>>>4&15)+i.charAt(15&r),16);t.push(o)}return t}(function(e,t){e[t>>5]|=128<<t%32,e[Yu(t)-1]=t;for(var n=1732584193,i=-271733879,s=-1732584194,r=271733878,o=0;o<e.length;o+=16){var a=n,c=i,d=s,p=r;n=Vu(n,i,s,r,e[o],7,-680876936),r=Vu(r,n,i,s,e[o+1],12,-389564586),s=Vu(s,r,n,i,e[o+2],17,606105819),i=Vu(i,s,r,n,e[o+3],22,-1044525330),n=Vu(n,i,s,r,e[o+4],7,-176418897),r=Vu(r,n,i,s,e[o+5],12,1200080426),s=Vu(s,r,n,i,e[o+6],17,-1473231341),i=Vu(i,s,r,n,e[o+7],22,-45705983),n=Vu(n,i,s,r,e[o+8],7,1770035416),r=Vu(r,n,i,s,e[o+9],12,-1958414417),s=Vu(s,r,n,i,e[o+10],17,-42063),i=Vu(i,s,r,n,e[o+11],22,-1990404162),n=Vu(n,i,s,r,e[o+12],7,1804603682),r=Vu(r,n,i,s,e[o+13],12,-40341101),s=Vu(s,r,n,i,e[o+14],17,-1502002290),n=Wu(n,i=Vu(i,s,r,n,e[o+15],22,1236535329),s,r,e[o+1],5,-165796510),r=Wu(r,n,i,s,e[o+6],9,-1069501632),s=Wu(s,r,n,i,e[o+11],14,643717713),i=Wu(i,s,r,n,e[o],20,-373897302),n=Wu(n,i,s,r,e[o+5],5,-701558691),r=Wu(r,n,i,s,e[o+10],9,38016083),s=Wu(s,r,n,i,e[o+15],14,-660478335),i=Wu(i,s,r,n,e[o+4],20,-405537848),n=Wu(n,i,s,r,e[o+9],5,568446438),r=Wu(r,n,i,s,e[o+14],9,-1019803690),s=Wu(s,r,n,i,e[o+3],14,-187363961),i=Wu(i,s,r,n,e[o+8],20,1163531501),n=Wu(n,i,s,r,e[o+13],5,-1444681467),r=Wu(r,n,i,s,e[o+2],9,-51403784),s=Wu(s,r,n,i,e[o+7],14,1735328473),n=Bu(n,i=Wu(i,s,r,n,e[o+12],20,-1926607734),s,r,e[o+5],4,-378558),r=Bu(r,n,i,s,e[o+8],11,-2022574463),s=Bu(s,r,n,i,e[o+11],16,1839030562),i=Bu(i,s,r,n,e[o+14],23,-35309556),n=Bu(n,i,s,r,e[o+1],4,-1530992060),r=Bu(r,n,i,s,e[o+4],11,1272893353),s=Bu(s,r,n,i,e[o+7],16,-155497632),i=Bu(i,s,r,n,e[o+10],23,-1094730640),n=Bu(n,i,s,r,e[o+13],4,681279174),r=Bu(r,n,i,s,e[o],11,-358537222),s=Bu(s,r,n,i,e[o+3],16,-722521979),i=Bu(i,s,r,n,e[o+6],23,76029189),n=Bu(n,i,s,r,e[o+9],4,-640364487),r=Bu(r,n,i,s,e[o+12],11,-421815835),s=Bu(s,r,n,i,e[o+15],16,530742520),n=Hu(n,i=Bu(i,s,r,n,e[o+2],23,-995338651),s,r,e[o],6,-198630844),r=Hu(r,n,i,s,e[o+7],10,1126891415),s=Hu(s,r,n,i,e[o+14],15,-1416354905),i=Hu(i,s,r,n,e[o+5],21,-57434055),n=Hu(n,i,s,r,e[o+12],6,1700485571),r=Hu(r,n,i,s,e[o+3],10,-1894986606),s=Hu(s,r,n,i,e[o+10],15,-1051523),i=Hu(i,s,r,n,e[o+1],21,-2054922799),n=Hu(n,i,s,r,e[o+8],6,1873313359),r=Hu(r,n,i,s,e[o+15],10,-30611744),s=Hu(s,r,n,i,e[o+6],15,-1560198380),i=Hu(i,s,r,n,e[o+13],21,1309151649),n=Hu(n,i,s,r,e[o+4],6,-145523070),r=Hu(r,n,i,s,e[o+11],10,-1120210379),s=Hu(s,r,n,i,e[o+2],15,718787259),i=Hu(i,s,r,n,e[o+9],21,-343485551),n=Fu(n,a),i=Fu(i,c),s=Fu(s,d),r=Fu(r,p)}return[n,i,s,r]}(function(e){if(0===e.length)return[];for(var t=8*e.length,n=new Uint32Array(Yu(t)),i=0;i<t;i+=8)n[i>>5]|=(255&e[i/8])<<i%32;return n}(e),8*e.length))})),Ju={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function Xu(e,t,n,i){switch(e){case 0:return t&n^~t&i;case 1:case 3:return t^n^i;case 2:return t&n^t&i^n&i}}function Qu(e,t){return e<<t|e>>>32-t}var em=Gu("v5",80,(function(e){var t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){var i=unescape(encodeURIComponent(e));e=[];for(var s=0;s<i.length;++s)e.push(i.charCodeAt(s))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);for(var r=Math.ceil((e.length/4+2)/16),o=new Array(r),a=0;a<r;++a){for(var c=new Uint32Array(16),d=0;d<16;++d)c[d]=e[64*a+4*d]<<24|e[64*a+4*d+1]<<16|e[64*a+4*d+2]<<8|e[64*a+4*d+3];o[a]=c}o[r-1][14]=8*(e.length-1)/Math.pow(2,32),o[r-1][14]=Math.floor(o[r-1][14]),o[r-1][15]=8*(e.length-1)&4294967295;for(var p=0;p<r;++p){for(var l=new Uint32Array(80),u=0;u<16;++u)l[u]=o[p][u];for(var m=16;m<80;++m)l[m]=Qu(l[m-3]^l[m-8]^l[m-14]^l[m-16],1);for(var f=n[0],h=n[1],g=n[2],v=n[3],y=n[4],b=0;b<80;++b){var w=Math.floor(b/20),I=Qu(f,5)+Xu(w,h,g,v)+y+t[w]+l[b]>>>0;y=v,v=g,g=Qu(h,30)>>>0,h=f,f=I}n[0]=n[0]+f>>>0,n[1]=n[1]+h>>>0,n[2]=n[2]+g>>>0,n[3]=n[3]+v>>>0,n[4]=n[4]+y>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,255&n[0],n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,255&n[1],n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,255&n[2],n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,255&n[3],n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,255&n[4]]}));function tm(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function nm(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?tm(Object(n),!0).forEach((function(t){im(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tm(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function im(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t);if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var sm,rm,om=null,am=null,cm=0,dm=Object.freeze({__proto__:null,MAX:"ffffffff-ffff-ffff-ffff-ffffffffffff",NIL:"00000000-0000-0000-0000-000000000000",parse:_u,stringify:function(e,t=0){var n=Uu(e,t);if(!Su(n))throw TypeError("Stringified UUID is invalid");return n},v1:zu,v1ToV6:$u,v3:Ku,v4:function(e,t,n){if(Ju.randomUUID&&!t&&!e)return Ju.randomUUID();var i=(e=e||{}).random||(e.rng||Mu)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t){n=n||0;for(var s=0;s<16;++s)t[n+s]=i[s];return t}return Uu(i)},v5:em,v6:function(e={},t,n=0){var i=zu(nm(nm({},e),{},{_v6:!0}),new Uint8Array(16));if(i=$u(i),t){for(var s=0;s<16;s++)t[n+s]=i[s];return t}return Uu(i)},v6ToV1:function(e){var t,n=(t="string"==typeof e?_u(e):e,Uint8Array.of((15&t[3])<<4|t[4]>>4&15,(15&t[4])<<4|(240&t[5])>>4,(15&t[5])<<4|15&t[6],t[7],(15&t[1])<<4|(240&t[2])>>4,(15&t[2])<<4|(240&t[3])>>4,16|(240&t[0])>>4,(15&t[0])<<4|(240&t[1])>>4,t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]));return"string"==typeof e?Uu(n):n},v7:function(e,t,n){e=e||{};var i=t&&n||0,s=t||new Uint8Array(16),r=e.random||(e.rng||Mu)(),o=void 0!==e.msecs?e.msecs:Date.now(),a=void 0!==e.seq?e.seq:null,c=am,d=om;return o>cm&&void 0===e.msecs&&(cm=o,null!==a&&(c=null,d=null)),null!==a&&(a>2147483647&&(a=2147483647),c=a>>>19&4095,d=524287&a),null!==c&&null!==d||(c=(c=127&r[6])<<8|r[7],d=(d=(d=63&r[8])<<8|r[9])<<5|r[10]>>>3),o+1e4>cm&&null===a?++d>524287&&(d=0,++c>4095&&(c=0,cm++)):cm=o,am=c,om=d,s[i++]=cm/1099511627776&255,s[i++]=cm/4294967296&255,s[i++]=cm/16777216&255,s[i++]=cm/65536&255,s[i++]=cm/256&255,s[i++]=255&cm,s[i++]=c>>>4&15|112,s[i++]=255&c,s[i++]=d>>>13&63|128,s[i++]=d>>>5&255,s[i++]=d<<3&255|7&r[10],s[i++]=r[11],s[i++]=r[12],s[i++]=r[13],s[i++]=r[14],s[i++]=r[15],t||Uu(s)},validate:Su,version:function(e){if(!Su(e))throw TypeError("Invalid UUID");return parseInt(e.slice(14,15),16)}}),pm=Du(dm);function lm(){if(rm)return sm;rm=1;var e,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,r={};((e,n)=>{for(var i in n)t(e,i,{get:n[i],enumerable:!0})})(r,{TypeID:()=>S,fromString:()=>w,fromUUID:()=>T,fromUUIDBytes:()=>D,getSuffix:()=>x,getType:()=>k,parseTypeId:()=>I,toUUID:()=>E,toUUIDBytes:()=>A,typeid:()=>_,typeidUnboxed:()=>b}),e=r,sm=((e,r,o,a)=>{if(r&&"object"==typeof r||"function"==typeof r)for(let o of i(r))s.call(e,o)||undefined===o||t(e,o,{get:()=>r[o],enumerable:!(a=n(r,o))||a.enumerable});return e})(t({},"__esModule",{value:!0}),e);var o=pm;function a(e){let t;const n=new Uint8Array(16);return n[0]=(t=parseInt(e.slice(0,8),16))>>>24,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=255&t,n[4]=(t=parseInt(e.slice(9,13),16))>>>8,n[5]=255&t,n[6]=(t=parseInt(e.slice(14,18),16))>>>8,n[7]=255&t,n[8]=(t=parseInt(e.slice(19,23),16))>>>8,n[9]=255&t,n[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,n[11]=t/4294967296&255,n[12]=t>>>24&255,n[13]=t>>>16&255,n[14]=t>>>8&255,n[15]=255&t,n}var c="0123456789abcdefghjkmnpqrstvwxyz",d=new Uint8Array([255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,255,18,19,255,20,21,255,22,23,24,25,26,255,27,28,29,30,31,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]);function p(e){const t=new Array(26).fill("");if(16!==e.length)throw new Error(`Invalid length. Expected 16 bytes, got ${e.length}. Input: ${e}`);return t[0]=c[(224&e[0])>>5],t[1]=c[31&e[0]],t[2]=c[(248&e[1])>>3],t[3]=c[(7&e[1])<<2|(192&e[2])>>6],t[4]=c[(62&e[2])>>1],t[5]=c[(1&e[2])<<4|(240&e[3])>>4],t[6]=c[(15&e[3])<<1|(128&e[4])>>7],t[7]=c[(124&e[4])>>2],t[8]=c[(3&e[4])<<3|(224&e[5])>>5],t[9]=c[31&e[5]],t[10]=c[(248&e[6])>>3],t[11]=c[(7&e[6])<<2|(192&e[7])>>6],t[12]=c[(62&e[7])>>1],t[13]=c[(1&e[7])<<4|(240&e[8])>>4],t[14]=c[(15&e[8])<<1|(128&e[9])>>7],t[15]=c[(124&e[9])>>2],t[16]=c[(3&e[9])<<3|(224&e[10])>>5],t[17]=c[31&e[10]],t[18]=c[(248&e[11])>>3],t[19]=c[(7&e[11])<<2|(192&e[12])>>6],t[20]=c[(62&e[12])>>1],t[21]=c[(1&e[12])<<4|(240&e[13])>>4],t[22]=c[(15&e[13])<<1|(128&e[14])>>7],t[23]=c[(124&e[14])>>2],t[24]=c[(3&e[14])<<3|(224&e[15])>>5],t[25]=c[31&e[15]],t.join("")}function l(e){if(26!==e.length)throw new Error(`Invalid length. Expected 26 bytes, got ${e.length}. Input: ${e}`);const t=(new TextEncoder).encode(e);if(255===d[t[0]]||255===d[t[1]]||255===d[t[2]]||255===d[t[3]]||255===d[t[4]]||255===d[t[5]]||255===d[t[6]]||255===d[t[7]]||255===d[t[8]]||255===d[t[9]]||255===d[t[10]]||255===d[t[11]]||255===d[t[12]]||255===d[t[13]]||255===d[t[14]]||255===d[t[15]]||255===d[t[16]]||255===d[t[17]]||255===d[t[18]]||255===d[t[19]]||255===d[t[20]]||255===d[t[21]]||255===d[t[22]]||255===d[t[23]]||255===d[t[24]]||255===d[t[25]])throw new Error("Invalid base32 character");const n=new Uint8Array(16);return n[0]=d[t[0]]<<5|d[t[1]],n[1]=d[t[2]]<<3|d[t[3]]>>2,n[2]=(3&d[t[3]])<<6|d[t[4]]<<1|d[t[5]]>>4,n[3]=(15&d[t[5]])<<4|d[t[6]]>>1,n[4]=(1&d[t[6]])<<7|d[t[7]]<<2|d[t[8]]>>3,n[5]=(7&d[t[8]])<<5|d[t[9]],n[6]=d[t[10]]<<3|d[t[11]]>>2,n[7]=(3&d[t[11]])<<6|d[t[12]]<<1|d[t[13]]>>4,n[8]=(15&d[t[13]])<<4|d[t[14]]>>1,n[9]=(1&d[t[14]])<<7|d[t[15]]<<2|d[t[16]]>>3,n[10]=(7&d[t[16]])<<5|d[t[17]],n[11]=d[t[18]]<<3|d[t[19]]>>2,n[12]=(3&d[t[19]])<<6|d[t[20]]<<1|d[t[21]]>>4,n[13]=(15&d[t[21]])<<4|d[t[22]]>>1,n[14]=(1&d[t[22]])<<7|d[t[23]]<<2|d[t[24]]>>3,n[15]=(7&d[t[24]])<<5|d[t[25]],n}var u=pm,m=class extends Error{constructor(e){super(`Invalid prefix "${e}". Must be at most 63 ASCII letters [a-z_]`),this.name="InvalidPrefixError"}},f=class extends Error{constructor(e,t){super(`Invalid TypeId. Prefix mismatch. Expected ${e}, got ${t}`),this.name="PrefixMismatchError"}},h=class extends Error{constructor(e){super(`Invalid TypeId. Prefix cannot be empty when there's a separator: ${e}`),this.name="EmptyPrefixError"}},g=class extends Error{constructor(e){super(`Invalid length. Suffix should have 26 characters, got ${e}`),this.name="InvalidSuffixLengthError"}},v=class extends Error{constructor(e){super(`Invalid suffix. First character "${e}" must be in the range [0-7]`),this.name="InvalidSuffixCharacterError"}},y=class extends Error{constructor(e,t){super(`Cannot convert TypeID of type ${e} to type ${t}`),this.name="TypeIDConversionError"}};function b(e="",t=""){if(!function(e){if(e.length>63)return!1;let t,n,i;for(n=0,i=e.length;n<i;n+=1){t=e.charCodeAt(n);const s=t>96&&t<123;if((0===n||n===i-1)&&!s)return!1;if(!s&&95!==t)return!1}return!0}(e))throw new m(e);let n;if(t)n=t;else{const e=new Uint8Array(16);(0,u.v7)(void 0,e),n=p(e)}if(26!==n.length)throw new g(n.length);if(n[0]>"7")throw new v(n[0]);return l(n),""===e?n:`${e}_${n}`}function w(e,t){let n,i;const s=e.lastIndexOf("_");if(-1===s)n="",i=e;else if(n=e.substring(0,s),i=e.substring(s+1),!n)throw new h(e);if(!i)throw new g(0);if(t&&n!==t)throw new f(t,n);return b(n,i)}function I(e){return{prefix:k(e),suffix:x(e)}}function k(e){const t=e.lastIndexOf("_");return-1===t?"":e.substring(0,t)}function x(e){const t=e.lastIndexOf("_");return-1===t?e:e.substring(t+1)}function A(e){return l(x(e))}function E(e){return(0,u.stringify)(A(e))}function D(e,t){const n=p(t);return e?`${e}_${n}`:n}function T(e,t){const n=p(a(e));return t?`${t}_${n}`:n}var S=class{constructor(e,t=""){this.prefix=e,this.suffix=t;const n=b(e,t);this.prefix=k(n),this.suffix=x(n)}getType(){return this.prefix}getSuffix(){return this.suffix}asType(e){const t=this;if(t.prefix!==e)throw new y(t.prefix,e);return t}toUUIDBytes(){return l(this.suffix)}toUUID(){return(0,o.stringify)(this.toUUIDBytes())}toString(){return""===this.prefix?this.suffix:`${this.prefix}_${this.suffix}`}static fromString(e,t){const n=w(e,t);return new S(k(n),x(n))}static fromUUIDBytes(e,t){const n=p(t);return new S(e,n)}static fromUUID(e,t){const n=p(a(t));return new S(e,n)}};function _(e="",t=""){return new S(e,t)}return sm}var um=lm();function mm(){if("undefined"==typeof window)return;const e=new URLSearchParams(window.location.search),t=e.get("utm_source"),n=e.get("utm_medium"),i=e.get("utm_campaign"),s=e.get("utm_term"),r=e.get("utm_content");return t||n||i||s||r?{source:t||void 0,medium:n||void 0,name:i||void 0,term:s||void 0,content:r||void 0}:void 0}function fm(){const e="undefined"!=typeof window;return{page:{url:e?window.location.href:"",path:e?window.location.pathname:"",title:e?document.title:"",referrer:e&&document.referrer||void 0},userAgent:e?navigator.userAgent:"",campaign:mm()}}const hm={"Product Viewed":"ViewContent","Product Added":"AddToCart","Checkout Started":"InitiateCheckout","Payment Info Entered":"AddPaymentInfo","Order Completed":"Purchase"},gm=new Set,vm=new Map;function ym(e,t){const n=window;"undefined"!=typeof window&&n.fbq&&(t?n.fbq("init",e,{external_id:t}):n.fbq("init",e))}function bm(e,t){const n=window;"undefined"!=typeof window&&n.fbq&&n.fbq("track",e,t)}function wm(e,t,n){if(!function(){if("undefined"==typeof window)return!1;const e=window;if(e.fbq)return!0;const t=(...e)=>{t.callMethod?t.callMethod(...e):t.queue.push(e)};t.push=t,t.loaded=!0,t.version="2.0",t.queue=[],e.fbq=t,e._fbq||(e._fbq=t);const n=document.createElement("script");n.async=!0,n.src="https://connect.facebook.net/en_US/fbevents.js";const i=document.getElementsByTagName("script")[0];return i?.parentNode?.insertBefore(n,i),!0}())return!1;const i=vm.get(e);return t&&t!==i?(ym(e,t),vm.set(e,t),gm.add(e),n&&console.log(`[Facebook Pixel] Re-initialized pixel ${e} with userId ${t}`),!0):(gm.has(e)||(ym(e,t),gm.add(e),t&&vm.set(e,t),n&&console.log(`[Facebook Pixel] Initialized pixel ${e}`)),!0)}function Im(e=!1){const t=(t,n)=>{n.fbId&&wm(n.fbId,t.userId,e)&&(bm("PageView",{}),e&&console.log("[Facebook Pixel] Sent PageView"))};return{name:"Facebook Pixel",track:(t,n)=>{if(!n.fbId)return;if(!wm(n.fbId,t.userId,e))return;const i=t.name||"Unknown",s=hm[i]||i,r=function(e,t){const n={};switch(t.currency&&(n.currency=t.currency),t.event_id&&(n.event_id=t.event_id),e){case"ViewContent":t.product_id&&(n.content_ids=[t.product_id]),t.name&&(n.content_name=t.name),t.category&&(n.content_category=t.category),(t.value||t.price)&&(n.value=t.value||t.price),n.content_type="product";break;case"AddToCart":t.product_id&&(n.content_ids=[t.product_id]),t.name&&(n.content_name=t.name),(t.value||t.price)&&(n.value=t.value||t.price),n.content_type="product",t.product_id&&(n.contents=[{id:t.product_id,quantity:t.quantity||1,item_price:t.price}]);break;case"InitiateCheckout":t.products&&Array.isArray(t.products)&&(n.content_ids=t.products.map((e=>e.product_id)).filter(Boolean),n.num_items=t.products.length,n.contents=t.products.map((e=>({id:e.product_id,quantity:e.quantity||1,item_price:e.price})))),(t.value||t.total)&&(n.value=t.value||t.total),n.content_type="product",t.order_id&&(n.order_id=t.order_id);break;case"AddPaymentInfo":(t.value||t.total)&&(n.value=t.value||t.total),n.content_type="product",t.order_id&&(n.order_id=t.order_id);break;case"Purchase":t.products&&Array.isArray(t.products)&&(n.content_ids=t.products.map((e=>e.product_id)).filter(Boolean),n.num_items=t.products.length,n.contents=t.products.map((e=>({id:e.product_id,quantity:e.quantity||1,item_price:e.price})))),(t.value||t.total||t.revenue)&&(n.value=t.value||t.total||t.revenue),n.content_type="product",t.order_id&&(n.order_id=t.order_id);break;default:t.value&&(n.value=t.value),t.product_id&&(n.content_ids=[t.product_id])}return n}(s,t.properties);bm(s,r),e&&console.log(`[Facebook Pixel] Sent ${s}:`,r)},page:t,screen:t,identify:(t,n)=>{n.fbId&&t.userId&&(wm(n.fbId,t.userId,e),e&&console.log(`[Facebook Pixel] Identity synced: ${t.userId}`))}}}const km={"Product Viewed":"view_item","Product Added":"add_to_cart","Product Removed":"remove_from_cart","Checkout Started":"begin_checkout","Payment Info Entered":"add_payment_info","Order Completed":"purchase","Product List Viewed":"view_item_list","Cart Viewed":"view_cart"},xm=new Set;function Am(e){const t=window;"undefined"!=typeof window&&t.dataLayer&&t.dataLayer.push(e)}function Em(e,t){return!!xm.has(e)||!!function(e){if("undefined"==typeof window)return!1;const t=window;t.dataLayer=t.dataLayer||[];const n=`gtm-${e}`;if(document.getElementById(n))return!0;const i=document.createElement("script");i.id=n,i.async=!0,i.src=`https://www.googletagmanager.com/gtm.js?id=${e}`,t.dataLayer.push({"gtm.start":Date.now(),event:"gtm.js"});const s=document.getElementsByTagName("script")[0];return s?.parentNode?.insertBefore(i,s),!0}(e)&&(xm.add(e),t&&console.log(`[GTM] Loaded container ${e}`),!0)}function Dm(e=!1){return{name:"Google Tag Manager",track:(t,n)=>{if(!n.gtmId)return;if(!Em(n.gtmId,e))return;const i=t.name||"Unknown",s=km[i]||i;Am({ecommerce:null});const r=function(e,t){const n=function(e){const t=[];if(e.product_id&&!e.products&&t.push({item_id:e.product_id,item_name:e.name,item_category:e.category,price:e.price,quantity:e.quantity||1}),e.products&&Array.isArray(e.products))for(const n of e.products)t.push({item_id:n.product_id||n.sku,item_name:n.name,item_category:n.category,price:n.price,quantity:n.quantity||1});return t}(t),i=t.value||t.total||t.revenue||t.price,s=t.currency,r={items:n};return s&&(r.currency=s),i&&(r.value=i),"purchase"===e&&t.order_id&&(r.transaction_id=t.order_id),{event:e,ecommerce:r}}(s,t.properties);t.userId&&(r.user_id=t.userId),Am(r),e&&console.log(`[GTM] Pushed ${s}:`,r)},page:(t,n)=>{if(!n.gtmId)return;if(!Em(n.gtmId,e))return;const i={event:"page_view",page_location:t.context.page.url,page_path:t.context.page.path,page_title:t.context.page.title};t.context.page.referrer&&(i.page_referrer=t.context.page.referrer),t.userId&&(i.user_id=t.userId),Am(i),e&&console.log("[GTM] Pushed page_view:",i)},screen:(t,n)=>{if(!n.gtmId)return;if(!Em(n.gtmId,e))return;const i={event:"screen_view",screen_name:t.name||"Unknown"};t.userId&&(i.user_id=t.userId),Am(i),e&&console.log("[GTM] Pushed screen_view:",i)},identify:(t,n)=>{n.gtmId&&t.userId&&Em(n.gtmId,e)&&(Am({user_id:t.userId}),e&&console.log(`[GTM] Identity synced: ${t.userId}`))}}}function Tm(e){return{session_id:e.sessionId,anonymous_id:e.anonymousId,user_id:e.userId,page:{url:e.context.page.url,path:e.context.page.path,title:e.context.page.title},referrer:e.context.page.referrer,user_agent:e.context.userAgent,utm_source:e.context.campaign?.source,utm_medium:e.context.campaign?.medium,utm_campaign:e.context.campaign?.name,utm_term:e.context.campaign?.term,utm_content:e.context.campaign?.content}}const Sm={"Product Viewed":"ViewContent","Product Added":"AddToCart","Checkout Started":"InitiateCheckout","Payment Info Entered":"AddPaymentInfo","Order Completed":"Purchase"},_m=new Set;function Pm(e,t){return!!function(){if("undefined"==typeof window)return!1;const e=window;if(e.ttq)return!0;e.TiktokAnalyticsObject="ttq";const t=(...e)=>{t._i=t._i||{},t._t=t._t||{},t._i[e[0]]=e};t.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],t.setAndDefer=(e,t)=>{e[t]=(...n)=>{e._t=e._t||{};const i=e._t;i[t]=i[t]||[],i[t]?.push(n)}};for(const e of t.methods)t.setAndDefer(t,e);t.instance=e=>{const n=t._i[e]||[];for(const e of t.methods)t.setAndDefer(n,e);return n},t._i={},t._t={},e.ttq=t;const n=document.createElement("script");n.async=!0,n.src="https://analytics.tiktok.com/i18n/pixel/events.js";const i=document.getElementsByTagName("script")[0];return i?.parentNode?.insertBefore(n,i),!0}()&&(_m.has(e)||(function(e){const t=window;"undefined"!=typeof window&&t.ttq&&t.ttq("init",e)}(e),_m.add(e),t&&console.log(`[TikTok Pixel] Initialized pixel ${e}`)),!0)}function Rm(e=!1){const t=(t,n)=>{n.tikTokId&&Pm(n.tikTokId,e)&&(function(e){const t=window;"undefined"!=typeof window&&t.ttq&&t.ttq.instance(e)("page")}(n.tikTokId),e&&console.log("[TikTok Pixel] Sent page view"))};return{name:"TikTok Pixel",track:(t,n)=>{if(!n.tikTokId)return;if(!Pm(n.tikTokId,e))return;const i=t.name||"Unknown",s=Sm[i]||i,r=function(e,t){const n={};switch(t.currency&&(n.currency=t.currency),t.event_id&&(n.event_id=t.event_id),e){case"ViewContent":t.product_id&&(n.content_id=t.product_id),t.name&&(n.content_name=t.name),t.category&&(n.content_category=t.category),(t.value||t.price)&&(n.value=t.value||t.price),n.content_type="product";break;case"AddToCart":t.product_id&&(n.content_id=t.product_id),t.name&&(n.content_name=t.name),(t.value||t.price)&&(n.value=t.value||t.price),n.content_type="product",t.quantity&&(n.quantity=t.quantity);break;case"InitiateCheckout":t.products&&Array.isArray(t.products)&&(n.contents=t.products.map((e=>({content_id:e.product_id,content_name:e.name,quantity:e.quantity||1,price:e.price})))),(t.value||t.total)&&(n.value=t.value||t.total);break;case"AddPaymentInfo":(t.value||t.total)&&(n.value=t.value||t.total);break;case"Purchase":t.products&&Array.isArray(t.products)&&(n.contents=t.products.map((e=>({content_id:e.product_id,content_name:e.name,quantity:e.quantity||1,price:e.price})))),(t.value||t.total||t.revenue)&&(n.value=t.value||t.total||t.revenue),t.order_id&&(n.order_id=t.order_id);break;default:t.value&&(n.value=t.value)}return n}(s,t.properties);!function(e,t,n){const i=window;"undefined"!=typeof window&&i.ttq&&i.ttq.instance(e)("track",t,n)}(n.tikTokId,s,r),e&&console.log(`[TikTok Pixel] Sent ${s}:`,r)},page:t,screen:t,identify:(t,n)=>{n.tikTokId&&t.userId&&Pm(n.tikTokId,e)&&(function(e,t){const n=window;"undefined"!=typeof window&&n.ttq&&n.ttq.instance(e)("identify",{external_id:t})}(n.tikTokId,t.userId),e&&console.log(`[TikTok Pixel] Identity synced: ${t.userId}`))}}}function Cm(e,t=!1){const n=new Map,i=new Map,s=function(e,t=!1){const n=async(n,i,s)=>{const{eventId:r,teamId:o,promoterId:a,rest:c}=function(e){const{event_id:t,team_id:n,promoter_id:i,...s}=e;return{eventId:t,teamId:n,promoterId:i,rest:s}}(i.properties);if(!r||!o||!a)return void(t&&console.warn(`[Sessions API] Missing required fields, skipping ${n}:`,{eventId:r,teamId:o,promoterId:a}));const d={eventId:r,teamId:o,promoterId:a,eventType:i.name||s,properties:c,context:Tm(i)};t&&console.log(`[Sessions API] Sending ${n}:`,d),await e.analytics[n](d)};return{name:"Sessions API",track:e=>{n("track",e,"Unknown Event").catch((e=>{t&&console.error("[Sessions API] track error:",e)}))},page:e=>{n("page",e,"Page Viewed").catch((e=>{t&&console.error("[Sessions API] page error:",e)}))},screen:e=>{n("screen",e,"Screen Viewed").catch((e=>{t&&console.error("[Sessions API] screen error:",e)}))},identify:e=>{t&&console.log("[Sessions API] Identify received (logged only):",{userId:e.userId,traits:e.traits})}}}(e,t),r=[Im(t),Dm(t),Rm(t)],o=(e,t,n)=>{switch(t.type){case"track":e.track(t,n);break;case"page":e.page(t,n);break;case"screen":e.screen(t,n);break;case"identify":e.identify(t,n)}};return{sendEvent:async(a,c)=>{const d=await(async s=>{const r=n.get(s);if(r)return r;let o=i.get(s);if(o)return o;o=(async n=>{try{const i=(await e.promoter.get({key:n})).promoter?.tracking,s={fbId:i?.fbId||void 0,gtmId:i?.gtmId||void 0,tikTokId:i?.tikTokId||void 0};return t&&console.log(`[DestinationManager] Fetched config for promoter ${n}:`,s),s}catch(e){return t&&console.warn(`[DestinationManager] Failed to fetch promoter ${n} config:`,e),{}}})(s),i.set(s,o);try{const e=await o;return n.set(s,e),e}finally{i.delete(s)}})(c);if(o(s,a,d),d.fbId||d.gtmId||d.tikTokId)for(const e of r)try{o(e,a,d)}catch(n){t&&console.error(`[DestinationManager] ${e.name} error:`,n)}},clearCache:()=>{n.clear(),i.clear()}}}const Um="ses_sid",Nm="ses_aid";function Om(){return um.typeid("ssn").toString()}function qm(){return um.typeid("anon").toString()}function Mm(e,t,n={}){if("undefined"==typeof document)return;const i=n.secure??"https:"===location.protocol;let s=`${e}=${encodeURIComponent(t)}; path=/`;void 0!==n.maxAge&&(s+=`; max-age=${n.maxAge}`),n.sameSite&&(s+=`; samesite=${n.sameSite}`),i&&(s+="; Secure"),document.cookie=s}function jm(e,t){if("undefined"!=typeof localStorage)try{localStorage.setItem(e,t)}catch{}}const Lm={AUD:{locale:"en-AU"},NZD:{locale:"en-NZ"},GBP:{locale:"en-GB"},USD:{locale:"en-US"},EUR:{locale:"de-DE"},CAD:{locale:"en-CA"},CHF:{locale:"de-CH"},JPY:{locale:"ja-JP"},CNY:{locale:"zh-CN"},HKD:{locale:"zh-HK"},SGD:{locale:"en-SG"},KRW:{locale:"ko-KR"},INR:{locale:"en-IN"},MXN:{locale:"es-MX"},BRL:{locale:"pt-BR"},ZAR:{locale:"en-ZA"},SEK:{locale:"sv-SE"},NOK:{locale:"nb-NO"},DKK:{locale:"da-DK"},PLN:{locale:"pl-PL"},CZK:{locale:"cs-CZ"},HUF:{locale:"hu-HU"},RON:{locale:"ro-RO"},THB:{locale:"th-TH"},ILS:{locale:"he-IL"}};function zm(e){const t=e.debug??!1,n=Cm(e.client,t);let i,s=function(){let e=function(e){if("undefined"==typeof document)return null;const t=document.cookie.split(";");for(const n of t){const[t,...i]=n.trim().split("="),s=i.join("=");if(t===e&&s)return decodeURIComponent(s)}return null}(Um);return e||(e=Om(),Mm(Um,e,{sameSite:"lax"})),e}(),r=function(){let e=function(e){if("undefined"==typeof localStorage)return null;try{return localStorage.getItem(e)}catch{return null}}(Nm);return e||(e=qm(),jm(Nm,e)),e}();t&&console.log("[Analytics] Initialized:",{sessionId:s,anonymousId:r});const o=(e,t,n)=>({type:e,name:t,properties:n,context:fm(),timestamp:Date.now(),sessionId:s,anonymousId:r,userId:i}),a=(e,i)=>{n.sendEvent(e,i).catch((e=>{t&&console.error("[Analytics] Failed to send event:",e)}))},c=(e,n)=>{const i=e.promoter_id;return!i&&t&&console.warn(`[Analytics] ${n}() called without promoter_id, skipping`),i};return{track:(e,t={})=>{const n=c(t,"track");n&&a(o("track",e,t),n)},page:(e,t={})=>{const n=c(t,"page");n&&a(o("page",e||"Page Viewed",t),n)},screen:(e,t={})=>{const n=c(t,"screen");n&&a(o("screen",e||"Screen Viewed",t),n)},identify:(e,n={})=>{i=e;const o=n.promoter_id;o&&a({type:"identify",properties:{},context:fm(),timestamp:Date.now(),sessionId:s,anonymousId:r,userId:e,traits:n},o),t&&console.log("[Analytics] User identified:",e)},alias:(e,n)=>{t&&console.log("[Analytics] Alias called:",{userId:e,previousId:n})},group:(e,n={})=>{const o=n.promoter_id;o&&a({type:"group",properties:{},context:fm(),timestamp:Date.now(),sessionId:s,anonymousId:r,userId:i,groupId:e,traits:n},o),t&&console.log("[Analytics] Group called:",{groupId:e,traits:n})},reset:()=>{const e=function(){const e=Om(),t=qm();return Mm(Um,e,{sameSite:"lax"}),jm(Nm,t),{sessionId:e,anonymousId:t}}();s=e.sessionId,r=e.anonymousId,i=void 0,n.clearCache(),t&&console.log("[Analytics] Session reset:",{sessionId:s,anonymousId:r})}}}const $m=()=>n("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},n("path",{d:"M8 2v4"}),n("path",{d:"M16 2v4"}),n("rect",{width:"18",height:"18",x:"3",y:"4",rx:"2"}),n("path",{d:"M3 10h18"})),Gm=()=>n("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},n("path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"}),n("circle",{cx:"12",cy:"10",r:"3"})),Ym=class{constructor(n){e(this,n),this.checkoutInit=t(this,"checkoutInit"),this.cartUpdate=t(this,"cartUpdate"),this.errorOccurred=t(this,"errorOccurred")}tenantId;eventId;apiUrl="https://api.session.services";locale="en-US";returnUrl;theme="system";enableAnalytics=!0;debugAnalytics=!1;event=null;selectedItems=new Map;quote=null;loading=!0;error=null;quoteLoading=!1;quoteError=null;checkoutLoading=!1;currentTheme="light";checkoutInit;cartUpdate;errorOccurred;client;analytics;mediaQueryList;requestId=0;async componentWillLoad(){await this.initializeComponent()}async propsChanged(){await this.initializeComponent()}themeChanged(){this.setupTheme()}disconnectedCallback(){this.mediaQueryList&&this.mediaQueryList.removeEventListener("change",this.handleSystemThemeChange)}async initializeComponent(){if(this.error=null,this.event=null,this.selectedItems.clear(),this.quote=null,!this.tenantId||!this.eventId)return this.error="Missing required configuration: tenantId and eventId",void(this.loading=!1);this.client=function(e){const t=(n=e.environment)in Eu?Eu[n]:n;var n;return Vs(new Au(ru,{url:t,headers:{"x-tenant-id":e.tenantId??"tnt_01jqpj2t2kfvmstt6f6tzkbaf2",...e.headers??{}}}))}({environment:this.apiUrl,tenantId:this.tenantId}),this.setupTheme(),await this.loadEventData()}setupTheme(){this.mediaQueryList&&this.mediaQueryList.removeEventListener("change",this.handleSystemThemeChange),"system"===this.theme?(this.mediaQueryList=window.matchMedia("(prefers-color-scheme: dark)"),this.currentTheme=this.mediaQueryList.matches?"dark":"light",this.mediaQueryList.addEventListener("change",this.handleSystemThemeChange)):this.currentTheme=this.theme}handleSystemThemeChange=e=>{"system"===this.theme&&(this.currentTheme=e.matches?"dark":"light")};trackEvent(e,t={}){this.analytics&&this.enableAnalytics&&this.analytics.track(e,{event_id:this.eventId,team_id:this.event?.teamId,promoter_id:this.event?.promoterId,event_name:this.event?.name,event_slug:this.event?.slug,currency:this.event?.currency,...t})}getLowestPrice(){return this.event?.admissions.length?Math.min(...this.event.admissions.map((e=>(e.price?.base||0)+(e.price?.booking||0)))):0}async loadEventData(){try{this.loading=!0,this.error=null;const e=await this.client.event.get({key:this.eventId});this.event=e.event,this.enableAnalytics&&!this.analytics&&this.event?.promoterId&&(this.analytics=zm({client:this.client,debug:this.debugAnalytics}),this.analytics.page("Ticketing Widget",{event_id:this.eventId,team_id:this.event.teamId,promoter_id:this.event.promoterId,event_name:this.event.name,event_slug:this.event.slug})),this.event&&(this.trackEvent("Product Viewed",{product_id:this.eventId,sku:this.eventId,name:this.event.name,category:"Event",value:this.getLowestPrice()/100,price:this.getLowestPrice()/100,event_date:this.event.entryStartsAt,venue_name:this.event.location?.venue?.name||this.event.location?.name,venue_city:this.event.location?.city}),this.trackEvent("Product List Viewed",{list_id:this.eventId,category:"Admissions",products:this.event.admissions.map(((e,t)=>({product_id:e.id,sku:e.id,name:e.name,category:this.event?.name,price:((e.price?.base||0)+(e.price?.booking||0))/100,quantity:1,position:t+1,admission_id:e.id,section_id:e.sectionId,price_base:e.price?.base,price_booking_fee:e.price?.booking,available:e.available,capacity:e.capacity})))}))}catch(e){this.error=e instanceof Error?e.message:"Failed to load event data",this.errorOccurred.emit({error:this.error})}finally{this.loading=!1}}async updateQuantity(e,t,n){const i=`${e}::${t||"none"}`,s=this.selectedItems.get(i)||0,r=Math.max(0,s+n);0===r?this.selectedItems.delete(i):this.selectedItems.set(i,r),this.selectedItems=new Map(this.selectedItems);const o=this.event?.admissions.find((t=>t.id===e)),a=t?this.event?.sections.find((e=>e.id===t)):null;n>0&&o?this.trackEvent("Product Added",{product_id:e,sku:e,name:o.name,category:this.event?.name,variant:a?.name,price:((o.price?.base||0)+(o.price?.booking||0))/100,quantity:Math.abs(n),admission_id:e,section_id:t||void 0,section_name:a?.name,price_base:o.price?.base,price_booking_fee:o.price?.booking}):n<0&&o&&this.trackEvent("Product Removed",{product_id:e,sku:e,name:o.name,category:this.event?.name,variant:a?.name,price:((o.price?.base||0)+(o.price?.booking||0))/100,quantity:Math.abs(n),admission_id:e,section_id:t||void 0,section_name:a?.name}),await this.updateQuote()}async updateQuote(){if(0===this.selectedItems.size)return this.quote=null,void(this.quoteError=null);this.requestId++;const e=this.requestId;try{this.quoteLoading=!0,this.quoteError=null;const t=[];this.selectedItems.forEach(((e,n)=>{const[i,s]=n.split("::");t.push({quantity:e,admissionId:i,sectionId:"none"!==s?s:void 0})}));const n=await this.client.order.quote({eventId:this.eventId,items:t});e===this.requestId&&(this.quote=n.quote,this.cartUpdate.emit(this.quote),this.trackEvent("Cart Viewed",{products:this.quote.items.map((e=>{const t=this.event?.admissions.find((t=>t.id===e.admissionId)),n=e.sectionId?this.event?.sections.find((t=>t.id===e.sectionId)):null;return{product_id:e.admissionId,sku:e.admissionId,name:t?.name,category:this.event?.name,variant:n?.name,price:((e.price?.base||0)+(e.price?.booking||0))/100,quantity:e.quantity,admission_id:e.admissionId,section_id:e.sectionId,price_base:e.price?.base,price_booking_fee:e.price?.booking}})),value:(this.quote.price?.total||0)/100,currency:this.event?.currency}))}catch(t){e===this.requestId&&(this.quoteError="Failed to update cart. Please try again.",this.errorOccurred.emit({error:this.quoteError}))}finally{e===this.requestId&&(this.quoteLoading=!1)}}async initiateCheckout(){if(this.quote)try{this.checkoutLoading=!0,this.quoteError=null,this.trackEvent("Checkout Started",{value:(this.quote.price?.total||0)/100,revenue:(this.quote.price?.total||0)/100,currency:this.event?.currency,products:this.quote.items.map((e=>{const t=this.event?.admissions.find((t=>t.id===e.admissionId)),n=e.sectionId?this.event?.sections.find((t=>t.id===e.sectionId)):null;return{product_id:e.admissionId,sku:e.admissionId,name:t?.name,category:this.event?.name,variant:n?.name,price:((e.price?.base||0)+(e.price?.booking||0))/100,quantity:e.quantity,admission_id:e.admissionId,section_id:e.sectionId,section_name:n?.name,price_base:e.price?.base,price_booking_fee:e.price?.booking}}))});const e=await this.client.order.create({eventId:this.eventId,items:this.quote.items.map((e=>({quantity:e.quantity,admissionId:e.admissionId,sectionId:e.sectionId}))),returnUrl:this.returnUrl});if(this.checkoutInit.emit({orderId:e.order.id,checkoutUrl:e.order.checkoutUrl}),e.order.checkoutUrl)return void(window.location.href=e.order.checkoutUrl);this.checkoutLoading=!1}catch(e){this.quoteError="Failed to initiate checkout. Please try again.",this.errorOccurred.emit({error:this.quoteError}),this.checkoutLoading=!1}}formatDateTimeRange(e,t){const n={weekday:"short",day:"numeric",month:"short",hour:"2-digit",minute:"2-digit"};return`${new Date(e).toLocaleString(this.locale,n)} - ${new Date(t).toLocaleString(this.locale,n)}`}formatPriceValue(e){const t=this.event?.currency;if(!t)return new Intl.NumberFormat(this.locale,{style:"decimal",minimumFractionDigits:2,maximumFractionDigits:2}).format(e/100);try{return function(e,t){return new Intl.NumberFormat(Lm[t]?.locale??"en-US",{style:"currency",currency:t}).format(e/100)}(e,t)}catch(n){return console.error("formatPrice failed, using fallback",{error:n,currency:t,priceInCents:e,locale:this.locale}),new Intl.NumberFormat(this.locale,{style:"currency",currency:t}).format(e/100)}}handleQuantityDecrease=async(e,t)=>{await this.updateQuantity(e,t,-1)};handleQuantityIncrease=async(e,t)=>{await this.updateQuantity(e,t,1)};renderQuantityControls(e,t){const i=this.selectedItems.get(`${e.id}::${t||"none"}`)||0,s=-1===e.available||-1===e.capacity;return n("div",{class:"quantity-controls"},n("button",{type:"button",class:"quantity-btn decrease",onClick:()=>this.handleQuantityDecrease(e.id,t),disabled:0===i,"aria-label":"Decrease quantity"},"−"),n("span",{class:"quantity-value"},i),n("button",{type:"button",class:"quantity-btn increase",onClick:()=>this.handleQuantityIncrease(e.id,t),disabled:!s&&i>=e.available,"aria-label":"Increase quantity"},"+"))}renderEventTimeAndLocation(){return this.event?.entryStartsAt&&this.event?.entryEndsAt?n(n.Fragment,null,n("div",{class:"admission-time"},$m(),this.formatDateTimeRange(this.event.entryStartsAt,this.event.entryEndsAt)),this.event.location&&n("div",{class:"admission-venue"},Gm(),this.event.location.name)):null}renderPriceAndControls(e,t,i){const s=e.price?.base||0,r=e.price?.booking||0;return n("div",{class:"admission-price-info"},n("div",{class:"admission-price-wrapper"},n("span",{class:"admission-price"},this.formatPriceValue(s)),n("span",{class:"admission-fee"},r>0?"+ Booking fee":"No booking fee")),i?n("div",{class:"sold-out-controls"},n("span",{class:"sold-out-text"},"Sold Out")):this.renderQuantityControls(e,t))}renderAdmission(e,t,i=!1){const s=`${e.id}::${t?.id||"none"}`,r=e.price?.base||0,o=0===e.available||i,a=t?.id||null,c=!t,d=t?`${e.name} in ${t.name} - ${o?"Sold Out":this.formatPriceValue(r)}`:`${e.name} - ${o?"Sold Out":this.formatPriceValue(r)}`;return n("section",{class:`admission-card ${o?"sold-out":""} ${c?"solo-admission":""}`,key:s,tabindex:o?-1:0,"aria-label":d},n("div",{class:"admission-content"},n("div",{class:"admission-details"},n("h3",{class:"admission-title"},e.name),c&&n(n.Fragment,null,this.renderEventTimeAndLocation(),this.renderPriceAndControls(e,a,o)),t&&this.renderPriceAndControls(e,a,o))))}renderSectionHeader(e,t){return n("div",{class:"section-header"},n("h2",{class:"section-name"},e.name,t&&n("span",{class:"sold-out-badge"},"Sold Out")),this.event?.entryStartsAt&&this.event?.entryEndsAt&&n("div",{class:"section-time"},$m(),this.formatDateTimeRange(this.event.entryStartsAt,this.event.entryEndsAt)),this.event?.location&&n("div",{class:"section-venue"},Gm(),this.event.location.name))}renderSectionWithAdmissions(e){const t=this.event?.admissions.filter((t=>t.sectionId===e.id))||[];if(0===t.length)return null;const i=0===e.available;return n("div",{class:"ticket-section "+(i?"section-sold-out":""),key:e.id},this.renderSectionHeader(e,i),n("div",{class:"admissions-list"},t.sort(((e,t)=>e.order-t.order)).map((t=>this.renderAdmission(t,e,i)))))}renderLoadingState(){return n(i,{"data-theme":this.currentTheme},n("div",{class:"loading-state"},"Loading event details..."))}renderErrorState(){return n(i,{"data-theme":this.currentTheme},n("div",{class:"session-services-ticketing-container"},n("div",{class:"error-banner"},n("strong",null,"Unable to load event"),n("p",null,this.error),n("button",{type:"button",class:"retry-button",onClick:()=>this.loadEventData()},"Try Again"))))}renderNotFoundState(){return n(i,{"data-theme":this.currentTheme},n("div",{class:"session-services-ticketing-container"},n("div",{class:"error-banner"},n("strong",null,"Event not found"),n("p",null,"The requested event could not be found."))))}renderOrderSummaryItems(){return this.quote?.items?.length?n(n.Fragment,null,this.quote.items.map((e=>{const t=this.event?.admissions.find((t=>t.id===e.admissionId)),i=e.sectionId?this.event?.sections.find((t=>t.id===e.sectionId)):null,s=e.price?.base||0;return i?n("div",{class:"order-item-with-section",key:`${e.admissionId}::${e.sectionId||"none"}`},n("div",{class:"item-section-line"},n("div",{class:"item-section-name"},e.quantity," x ",i.name),n("div",{class:"item-price"},this.formatPriceValue(s))),n("div",{class:"item-admission-name"},t?.name)):n("div",{class:"order-item",key:`${e.admissionId}::${e.sectionId||"none"}`},n("div",{class:"item-description"},e.quantity," x ",t?.name),n("div",{class:"item-price"},this.formatPriceValue(s)))}))):n("div",{class:"empty-cart-message"},n("span",{class:"empty-cart-text"},"No tickets selected"),n("span",{class:"empty-cart-price"},this.formatPriceValue(0)))}isCheckoutDisabled(){return this.quoteLoading||this.checkoutLoading||!this.quote||!this.quote.items?.length}getCheckoutButtonText(){return this.checkoutLoading?"Processing...":this.quoteLoading?"Updating...":"Checkout"}renderOrderSummary(){return n("div",{class:"order-summary"},n("h2",{class:"summary-title"},"Order summary"),this.quoteError&&n("div",{class:"error-message"},this.quoteError),n("div",{class:"order-items"},this.renderOrderSummaryItems()),n("div",{class:"order-fees"},n("div",{class:"fee-row"},n("span",null,"Booking fee"),n("span",null,this.formatPriceValue(this.quote?.price?.booking||0)))),n("div",{class:"order-total"},n("span",null,"Total price"),n("span",null,this.quote?0===(this.quote.price?.total||0)?"Free":this.formatPriceValue(this.quote.price?.total||0):"N/A")),n("button",{type:"button",class:"checkout-btn",onClick:()=>this.initiateCheckout(),disabled:this.isCheckoutDisabled()},this.getCheckoutButtonText()))}renderTicketSections(){const e=this.event?.admissions.filter((e=>!e.sectionId))||[];return n("div",{class:"tickets-wrapper"},e.length>0&&n("div",{class:"unsectioned-admissions"},e.sort(((e,t)=>e.order-t.order)).map((e=>n("div",{class:"ticket-section"},n("div",{class:"admissions-list"},this.renderAdmission(e)))))),this.event?.sections.sort(((e,t)=>e.order-t.order)).map((e=>this.renderSectionWithAdmissions(e))))}render(){return this.loading?this.renderLoadingState():this.error&&!this.event?this.renderErrorState():this.event?n(i,{"data-theme":this.currentTheme},n("div",{class:"session-services-ticketing-container"},this.renderTicketSections(),this.renderOrderSummary())):this.renderNotFoundState()}static get watchers(){return{tenantId:["propsChanged"],eventId:["propsChanged"],apiUrl:["propsChanged"],theme:["themeChanged"]}}};Ym.style=':host{--background:transparent;--foreground:oklch(0.145 0 0);--card:oklch(1 0 0);--card-foreground:oklch(0.145 0 0);--popover:oklch(1 0 0);--popover-foreground:oklch(0.145 0 0);--primary:oklch(0.205 0 0);--primary-foreground:oklch(0.985 0 0);--secondary:oklch(0.97 0 0);--secondary-foreground:oklch(0.205 0 0);--muted:oklch(0.97 0 0);--muted-foreground:oklch(0.556 0 0);--accent:oklch(0.97 0 0);--accent-foreground:oklch(0.205 0 0);--destructive:oklch(0.577 0.245 27.325);--destructive-foreground:oklch(1 0 0);--border:oklch(0.922 0 0);--input:oklch(0.922 0 0);--ring:oklch(0.708 0 0);--success:oklch(0.66 0.154 149.48);--warning:oklch(0.72 0.153 66.34);--radius:0.625rem;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",\n Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--shadow-sm:0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 1px 2px -1px hsl(0 0% 0% / 0.1);--shadow-base:0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 1px 2px -1px hsl(0 0% 0% / 0.1);--shadow-md:0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 2px 4px -1px hsl(0 0% 0% / 0.1);--shadow-lg:0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 4px 6px -1px hsl(0 0% 0% / 0.1);--shadow-xl:0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 8px 10px -1px hsl(0 0% 0% / 0.1);--transition-fast:150ms cubic-bezier(0.4, 0, 0.2, 1);--transition-base:200ms cubic-bezier(0.4, 0, 0.2, 1);--transition-slow:300ms cubic-bezier(0.4, 0, 0.2, 1);--internal-background:var(--background, transparent);--internal-foreground:var(--foreground, oklch(0.145 0 0));--internal-card:var(--card, oklch(1 0 0));--internal-card-foreground:var(--card-foreground, oklch(0.145 0 0));--internal-popover:var(--popover, oklch(1 0 0));--internal-popover-foreground:var(--popover-foreground, oklch(0.145 0 0));--internal-primary:var(--primary, oklch(0.205 0 0));--internal-primary-foreground:var(--primary-foreground, oklch(0.985 0 0));--internal-secondary:var(--secondary, oklch(0.97 0 0));--internal-secondary-foreground:var(--secondary-foreground, oklch(0.205 0 0));--internal-muted:var(--muted, oklch(0.97 0 0));--internal-muted-foreground:var(--muted-foreground, oklch(0.556 0 0));--internal-accent:var(--accent, oklch(0.97 0 0));--internal-accent-foreground:var(--accent-foreground, oklch(0.205 0 0));--internal-destructive:var(--destructive, oklch(0.577 0.245 27.325));--internal-destructive-foreground:var(--destructive-foreground, oklch(1 0 0));--internal-border:var(--border, oklch(0.922 0 0));--internal-input:var(--input, oklch(0.922 0 0));--internal-ring:var(--ring, oklch(0.708 0 0));--internal-success:var(--success, oklch(0.66 0.154 149.48));--internal-warning:var(--warning, oklch(0.72 0.153 66.34));--internal-radius:var(--radius, 0.625rem);--internal-spacing-xs:var(--spacing-xs, 0.25rem);--internal-spacing-sm:var(--spacing-sm, 0.5rem);--internal-spacing-md:var(--spacing-md, 1rem);--internal-spacing-lg:var(--spacing-lg, 1.5rem);--internal-spacing-xl:var(--spacing-xl, 2rem);--internal-font-family:var(--font-family, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif);--internal-font-size-xs:var(--font-size-xs, 0.75rem);--internal-font-size-sm:var(--font-size-sm, 0.875rem);--internal-font-size-base:var(--font-size-base, 1rem);--internal-font-size-lg:var(--font-size-lg, 1.125rem);--internal-font-size-xl:var(--font-size-xl, 1.25rem);--internal-font-size-2xl:var(--font-size-2xl, 1.5rem);--internal-font-weight-normal:var(--font-weight-normal, 400);--internal-font-weight-medium:var(--font-weight-medium, 500);--internal-font-weight-semibold:var(--font-weight-semibold, 600);--internal-font-weight-bold:var(--font-weight-bold, 700);--internal-shadow-sm:var(--shadow-sm, 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 1px 2px -1px hsl(0 0% 0% / 0.1));--internal-shadow-base:var(--shadow-base, 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 1px 2px -1px hsl(0 0% 0% / 0.1));--internal-shadow-md:var(--shadow-md, 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 2px 4px -1px hsl(0 0% 0% / 0.1));--internal-shadow-lg:var(--shadow-lg, 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 4px 6px -1px hsl(0 0% 0% / 0.1));--internal-shadow-xl:var(--shadow-xl, 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 8px 10px -1px hsl(0 0% 0% / 0.1));--internal-transition-fast:var(--transition-fast, 150ms cubic-bezier(0.4, 0, 0.2, 1));--internal-transition-base:var(--transition-base, 200ms cubic-bezier(0.4, 0, 0.2, 1));--internal-transition-slow:var(--transition-slow, 300ms cubic-bezier(0.4, 0, 0.2, 1));display:block;font-family:var(--internal-font-family);color:var(--internal-foreground);background:var(--internal-background)}*{box-sizing:border-box;margin:0;padding:0}*:focus{outline:none}*:focus-visible{outline:2px solid var(--internal-ring);outline-offset:2px;border-radius:calc(var(--internal-radius) - 4px)}.session-services-ticketing-container{width:100%;max-width:100%;margin:0}:host([data-theme="dark"]){--background:transparent;--foreground:oklch(0.96 0 0);--card:oklch(0.17 0 0);--card-foreground:oklch(0.96 0 0);--popover:oklch(0.17 0 0);--popover-foreground:oklch(0.96 0 0);--primary:oklch(0.78 0 0);--primary-foreground:oklch(0.14 0 0);--secondary:oklch(0.22 0 0);--secondary-foreground:oklch(0.96 0 0);--muted:oklch(0.22 0 0);--muted-foreground:oklch(0.78 0 0);--accent:oklch(0.22 0 0);--accent-foreground:oklch(0.96 0 0);--destructive:oklch(0.577 0.245 27.325);--destructive-foreground:oklch(1 0 0);--border:oklch(0.29 0 0);--input:oklch(0.29 0 0);--ring:oklch(0.60 0 0)}.tickets-wrapper{padding:0;width:100%}.unsectioned-admissions{width:100%}.unsectioned-admissions .ticket-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin:0 0 var(--spacing-lg) 0;overflow:hidden;width:100%;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base)}.unsectioned-admissions .ticket-section:hover{box-shadow:var(--shadow-sm)}.unsectioned-admissions .admission-card{border-radius:var(--radius);border:none}.unsectioned-admissions .admission-card:first-child{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.unsectioned-admissions .admission-card:last-child{border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius)}.ticket-section{background:var(--internal-card);border:1px solid var(--internal-border);border-radius:var(--internal-radius);margin:0 0 var(--internal-spacing-lg) 0;overflow:hidden;width:100%;box-shadow:var(--internal-shadow-sm);transition:all var(--internal-transition-base)}.ticket-section:focus-within{box-shadow:var(--internal-shadow-md)}.ticket-section:hover:not(.section-sold-out){box-shadow:var(--internal-shadow-md)}.ticket-section.section-sold-out{opacity:1;background:var(--card);box-shadow:none;position:relative;border-color:var(--border);overflow:hidden}.ticket-section.section-sold-out .section-header{background:transparent;padding-bottom:var(--spacing-md)}.ticket-section.section-sold-out .section-name,.ticket-section.section-sold-out .section-time,.ticket-section.section-sold-out .section-venue{opacity:0.8}.ticket-section.section-sold-out .admissions-list{opacity:0.6;pointer-events:none;filter:grayscale(0.3)}.ticket-section.section-sold-out .admission-card{background:var(--card)}.ticket-section.section-sold-out .quantity-controls,.ticket-section.section-sold-out .sold-out-controls{opacity:0.7}.section-header{padding:var(--internal-spacing-md) var(--internal-spacing-lg);border-bottom:1px solid var(--internal-border);background:var(--internal-card)}.section-name{color:var(--internal-foreground);font-size:var(--internal-font-size-lg);font-weight:var(--internal-font-weight-semibold);letter-spacing:-0.025em;margin:0 0 var(--internal-spacing-xs) 0;display:flex;align-items:center;gap:var(--internal-spacing-sm)}.section-time{color:var(--internal-muted-foreground);font-size:var(--internal-font-size-sm);margin-bottom:var(--internal-spacing-xs);display:flex;align-items:center;gap:var(--internal-spacing-xs)}.section-time svg{width:calc(var(--spacing-sm) + var(--spacing-xs));height:calc(var(--spacing-sm) + var(--spacing-xs));flex-shrink:0;opacity:0.8}.section-venue{color:var(--muted-foreground);font-size:var(--font-size-sm);display:flex;align-items:center;gap:var(--spacing-xs)}.section-venue svg{width:calc(var(--spacing-sm) + var(--spacing-xs));height:calc(var(--spacing-sm) + var(--spacing-xs));flex-shrink:0;opacity:0.8}.admissions-list{padding:0}.admission-card{border-bottom:1px solid var(--internal-border);padding:var(--internal-spacing-md) var(--internal-spacing-lg);position:relative;transition:background-color var(--internal-transition-base);cursor:default}.admission-card:focus-visible{outline:2px solid var(--internal-ring);outline-offset:-2px;z-index:1}.admission-card:hover:not(.sold-out){background:oklch(from var(--internal-card) calc(l - 0.02) c h)}.admission-card.sold-out{opacity:1;background:var(--card);position:relative}.admission-card.sold-out .admission-price,.admission-card.sold-out .admission-fee{opacity:0.5}.admission-card:last-child{border-bottom:none}.admission-content{display:flex;justify-content:space-between;align-items:center}.admission-details{flex:1}.admission-title{color:var(--internal-foreground);font-size:var(--internal-font-size-lg);font-weight:var(--internal-font-weight-semibold);margin-bottom:var(--internal-spacing-sm);display:flex;align-items:center;gap:var(--internal-spacing-sm)}.admission-time{color:var(--muted-foreground);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-xs)}.admission-time svg{width:calc(var(--spacing-sm) + var(--spacing-xs));height:calc(var(--spacing-sm) + var(--spacing-xs));flex-shrink:0;opacity:0.8}.admission-venue{color:var(--muted-foreground);font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm);display:flex;align-items:center;gap:var(--spacing-xs)}.admission-venue svg{width:calc(var(--spacing-sm) + var(--spacing-xs));height:calc(var(--spacing-sm) + var(--spacing-xs));flex-shrink:0;opacity:0.8}.solo-admission .admission-content{flex-direction:column;align-items:stretch}.solo-admission .admission-details{width:100%}.solo-admission .admission-price-info{margin-top:var(--spacing-md);display:flex;justify-content:space-between;align-items:flex-start;width:100%}.solo-admission .quantity-controls{margin-left:auto;flex-shrink:0}.sold-out-badge{display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;color:var(--muted-foreground);border:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:0.05em;margin-left:auto;opacity:0.7}.admission-price-info{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);width:100%}.admission-price-wrapper{display:flex;flex-direction:column}.admission-price{color:var(--internal-primary);font-size:var(--internal-font-size-xl);font-weight:var(--internal-font-weight-bold);letter-spacing:-0.025em;line-height:1.1}.admission-fee{color:var(--muted-foreground);font-size:var(--font-size-xs);background:transparent;padding:0;border-radius:0;font-weight:var(--font-weight-normal);display:block;margin-top:0.125rem;line-height:1.12;}.admission-savings{color:var(--success);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.admission-availability{color:var(--warning);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:oklch(from var(--warning) l c h / 0.1);padding:calc(var(--spacing-xs) / 2) calc(var(--spacing-xs) * 2);border-radius:calc(var(--radius) - 4px);display:inline-block;margin-top:var(--spacing-xs)}.quantity-controls{display:inline-flex;align-items:center;gap:0;background:var(--internal-secondary);border:1px solid var(--internal-border);border-radius:calc(var(--internal-radius) - 2px);overflow:hidden;box-shadow:none;transition:all var(--internal-transition-fast)}.quantity-btn{width:calc(var(--internal-spacing-lg) * 1.5);height:calc(var(--internal-spacing-lg) * 1.5);border:none;background:transparent;color:var(--internal-muted-foreground);font-size:var(--internal-font-size-base);font-weight:var(--internal-font-weight-medium);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--internal-transition-fast);position:relative}.quantity-btn:focus-visible{outline:2px solid var(--internal-ring);outline-offset:-2px;z-index:1}.quantity-btn:hover:not(:disabled){background:var(--internal-accent);color:var(--internal-accent-foreground)}.quantity-btn:active:not(:disabled){transform:scale(0.95)}.quantity-btn:disabled{opacity:0.6;cursor:not-allowed;background:var(--internal-secondary);color:var(--internal-muted-foreground);border-color:var(--internal-border);box-shadow:none}.quantity-btn.decrease{border-right:1px solid var(--internal-border)}.quantity-btn.increase{border-left:1px solid var(--internal-border)}.quantity-value{min-width:2.5rem;text-align:center;font-size:var(--internal-font-size-sm);font-weight:var(--internal-font-weight-semibold);color:var(--internal-foreground);padding:0 var(--internal-spacing-xs)}.sold-out-controls{display:inline-flex;align-items:center;justify-content:center;min-width:calc(var(--spacing-lg) * 1.5 * 2 + 2.5rem);height:calc(var(--spacing-lg) * 1.5);padding:0 var(--spacing-md);background:var(--muted);color:var(--muted-foreground);border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:0.025em;text-transform:uppercase}.sold-out-text{color:var(--muted-foreground);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:0.025em;text-transform:uppercase}.order-summary{background:var(--internal-card);border:1px solid var(--internal-border);border-radius:var(--internal-radius);padding:var(--internal-spacing-lg);margin:var(--internal-spacing-lg) 0 0 0;box-shadow:var(--internal-shadow-lg);width:100%}.summary-title{font-size:var(--internal-font-size-lg);font-weight:var(--internal-font-weight-semibold);margin-bottom:var(--internal-spacing-md);color:var(--internal-foreground);letter-spacing:-0.025em}.order-item{display:flex;justify-content:space-between;margin-bottom:var(--internal-spacing-sm);font-size:var(--internal-font-size-base);color:var(--internal-foreground)}.order-item-with-section{margin-bottom:var(--internal-spacing-sm)}.item-section-line{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--internal-font-size-base);color:var(--internal-foreground)}.item-section-name{flex:1;font-weight:var(--font-weight-medium)}.item-admission-name{font-size:var(--internal-font-size-sm);color:var(--internal-muted-foreground);margin-top:var(--internal-spacing-xs);padding-left:var(--internal-spacing-md);font-weight:var(--internal-font-weight-normal)}.item-description{flex:1;font-weight:var(--internal-font-weight-medium)}.item-price{font-weight:var(--internal-font-weight-bold);white-space:nowrap}.empty-cart-message{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--internal-spacing-sm);color:var(--internal-muted-foreground);font-size:var(--internal-font-size-base);font-style:normal}.empty-cart-text{flex:1}.empty-cart-price{font-weight:var(--font-weight-medium)}.order-fees{padding:var(--internal-spacing-sm) 0;border-top:1px solid var(--internal-border);border-bottom:1px solid var(--internal-border);margin-bottom:var(--internal-spacing-sm)}.fee-row{display:flex;justify-content:space-between;font-size:var(--internal-font-size-base);color:var(--internal-foreground);font-weight:var(--internal-font-weight-medium)}.order-total{display:flex;justify-content:space-between;font-size:var(--internal-font-size-base);font-weight:var(--internal-font-weight-bold);color:var(--internal-foreground);margin-bottom:var(--internal-spacing-md)}.checkout-btn{width:100%;padding:calc(var(--spacing-sm) + var(--spacing-xs)) var(--spacing-lg);background:var(--primary);color:var(--primary-foreground);border:none;border-radius:calc(var(--radius) - 2px);font-size:var(--internal-font-size-base);font-weight:var(--internal-font-weight-bold);cursor:pointer;transition:all var(--internal-transition-fast);box-shadow:var(--internal-shadow-sm);position:relative;overflow:hidden}.checkout-btn:focus-visible{outline:2px solid var(--internal-ring);outline-offset:2px}.checkout-btn:hover:not(:disabled){background:oklch(from var(--primary) calc(l - 0.08) c h);box-shadow:var(--shadow-md);transform:translateY(-1px)}.checkout-btn:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.checkout-btn:disabled{opacity:0.6;cursor:not-allowed;background:var(--internal-secondary);color:var(--internal-muted-foreground);box-shadow:none;border:1px solid var(--internal-border)}.loading-state,.error-state{display:flex;justify-content:center;align-items:center;padding:var(--spacing-xl);text-align:center;min-height:200px}.error-state{color:var(--primary)}.error-banner{background:oklch(\n from var(--destructive) calc(l + 0.4) calc(c * 0.2) h / 0.05\n );border:1px solid oklch(from var(--destructive) l c h / 0.2);border-radius:var(--radius);padding:var(--spacing-lg);margin:var(--spacing-lg);text-align:center}.error-banner strong{display:block;color:var(--destructive);font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm)}.error-banner p{color:var(--muted-foreground);margin-bottom:var(--spacing-md)}.retry-button{background:var(--primary);color:var(--primary-foreground);border:none;padding:calc(var(--spacing-sm) + var(--spacing-xs)) var(--spacing-lg);border-radius:calc(var(--radius) - 2px);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.retry-button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.retry-button:hover{background:oklch(from var(--primary) calc(l - 0.08) c h);box-shadow:var(--shadow-md);transform:translateY(-1px)}.retry-button:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.error-message{background:oklch(\n from var(--destructive) calc(l + 0.4) calc(c * 0.2) h / 0.05\n );border:1px solid oklch(from var(--destructive) l c h / 0.2);color:var(--destructive);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);margin-bottom:var(--spacing-md);font-size:var(--font-size-sm)}@media (min-width: 768px){.ticket-section{border-radius:var(--radius);margin:0 0 var(--spacing-md) 0}.order-summary{border-radius:var(--radius);margin:var(--spacing-md) 0}}';export{Ym as session_services_ticketing}