@video-lab/embed-helper 4.0.1 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -67,15 +67,20 @@ function createEmbedListener(options = {}) {
67
67
  return;
68
68
  }
69
69
  if (parsed.data.type !== "event") return;
70
+ const raw = parsed.data.payload;
71
+ const payload = raw.event === "error" ? {
72
+ ...raw,
73
+ payload: (0, _video_lab_protocol.makePlayerError)(raw.payload.code, raw.payload.message, raw.payload.cause)
74
+ } : raw;
70
75
  dispatch(parsed.data.producerSessionId !== void 0 && parsed.data.sequence !== void 0 ? {
71
- ...parsed.data.payload,
76
+ ...payload,
72
77
  delivery: {
73
78
  producerSessionId: parsed.data.producerSessionId,
74
79
  deliveryId: parsed.data.id,
75
80
  occurredAtMs: parsed.data.timestamp,
76
81
  sequence: parsed.data.sequence
77
82
  }
78
- } : parsed.data.payload);
83
+ } : payload);
79
84
  };
80
85
  target?.addEventListener("message", onMessage);
81
86
  const off = (event, handler) => {
@@ -1 +1 @@
1
- var SentinelEmbed=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t;(function(e){e.assertEqual=e=>{};function t(e){}e.assertIs=t;function n(e){throw Error()}e.assertNever=n,e.arrayToEnum=e=>{let t={};for(let n of e)t[n]=n;return t},e.getValidEnumValues=t=>{let n=e.objectKeys(t).filter(e=>typeof t[t[e]]!=`number`),r={};for(let e of n)r[e]=t[e];return e.objectValues(r)},e.objectValues=t=>e.objectKeys(t).map(function(e){return t[e]}),e.objectKeys=typeof Object.keys==`function`?e=>Object.keys(e):e=>{let t=[];for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(let n of e)if(t(n))return n},e.isInteger=typeof Number.isInteger==`function`?e=>Number.isInteger(e):e=>typeof e==`number`&&Number.isFinite(e)&&Math.floor(e)===e;function r(e,t=` | `){return e.map(e=>typeof e==`string`?`'${e}'`:e).join(t)}e.joinValues=r,e.jsonStringifyReplacer=(e,t)=>typeof t==`bigint`?t.toString():t})(t||={});var n;(function(e){e.mergeShapes=(e,t)=>({...e,...t})})(n||={});let r=t.arrayToEnum([`string`,`nan`,`number`,`integer`,`float`,`boolean`,`date`,`bigint`,`symbol`,`function`,`undefined`,`null`,`array`,`object`,`unknown`,`promise`,`void`,`never`,`map`,`set`]),i=e=>{switch(typeof e){case`undefined`:return r.undefined;case`string`:return r.string;case`number`:return Number.isNaN(e)?r.nan:r.number;case`boolean`:return r.boolean;case`function`:return r.function;case`bigint`:return r.bigint;case`symbol`:return r.symbol;case`object`:return Array.isArray(e)?r.array:e===null?r.null:e.then&&typeof e.then==`function`&&e.catch&&typeof e.catch==`function`?r.promise:typeof Map<`u`&&e instanceof Map?r.map:typeof Set<`u`&&e instanceof Set?r.set:typeof Date<`u`&&e instanceof Date?r.date:r.object;default:return r.unknown}},a=t.arrayToEnum([`invalid_type`,`invalid_literal`,`custom`,`invalid_union`,`invalid_union_discriminator`,`invalid_enum_value`,`unrecognized_keys`,`invalid_arguments`,`invalid_return_type`,`invalid_date`,`invalid_string`,`too_small`,`too_big`,`invalid_intersection_types`,`not_multiple_of`,`not_finite`]);var o=class e extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name=`ZodError`,this.issues=e}format(e){let t=e||function(e){return e.message},n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`)i.unionErrors.map(r);else if(i.code===`invalid_return_type`)r(i.returnTypeError);else if(i.code===`invalid_arguments`)r(i.argumentsError);else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(this),n}static assert(t){if(!(t instanceof e))throw Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,t.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=e=>e.message){let t={},n=[];for(let r of this.issues)if(r.path.length>0){let n=r.path[0];t[n]=t[n]||[],t[n].push(e(r))}else n.push(e(r));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}};o.create=e=>new o(e);let s=(e,n)=>{let i;switch(e.code){case a.invalid_type:i=e.received===r.undefined?`Required`:`Expected ${e.expected}, received ${e.received}`;break;case a.invalid_literal:i=`Invalid literal value, expected ${JSON.stringify(e.expected,t.jsonStringifyReplacer)}`;break;case a.unrecognized_keys:i=`Unrecognized key(s) in object: ${t.joinValues(e.keys,`, `)}`;break;case a.invalid_union:i=`Invalid input`;break;case a.invalid_union_discriminator:i=`Invalid discriminator value. Expected ${t.joinValues(e.options)}`;break;case a.invalid_enum_value:i=`Invalid enum value. Expected ${t.joinValues(e.options)}, received '${e.received}'`;break;case a.invalid_arguments:i=`Invalid function arguments`;break;case a.invalid_return_type:i=`Invalid function return type`;break;case a.invalid_date:i=`Invalid date`;break;case a.invalid_string:typeof e.validation==`object`?`includes`in e.validation?(i=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position==`number`&&(i=`${i} at one or more positions greater than or equal to ${e.validation.position}`)):`startsWith`in e.validation?i=`Invalid input: must start with "${e.validation.startsWith}"`:`endsWith`in e.validation?i=`Invalid input: must end with "${e.validation.endsWith}"`:t.assertNever(e.validation):i=e.validation===`regex`?`Invalid`:`Invalid ${e.validation}`;break;case a.too_small:i=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at least`:`more than`} ${e.minimum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at least`:`over`} ${e.minimum} character(s)`:e.type===`number`||e.type===`bigint`?`Number must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${e.minimum}`:e.type===`date`?`Date must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${new Date(Number(e.minimum))}`:`Invalid input`;break;case a.too_big:i=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at most`:`less than`} ${e.maximum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at most`:`under`} ${e.maximum} character(s)`:e.type===`number`?`Number must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`bigint`?`BigInt must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`date`?`Date must be ${e.exact?`exactly`:e.inclusive?`smaller than or equal to`:`smaller than`} ${new Date(Number(e.maximum))}`:`Invalid input`;break;case a.custom:i=`Invalid input`;break;case a.invalid_intersection_types:i=`Intersection results could not be merged`;break;case a.not_multiple_of:i=`Number must be a multiple of ${e.multipleOf}`;break;case a.not_finite:i=`Number must be finite`;break;default:i=n.defaultError,t.assertNever(e)}return{message:i}},c=s;function l(){return c}let u=e=>{let{data:t,path:n,errorMaps:r,issueData:i}=e,a=[...n,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let s=``,c=r.filter(e=>!!e).slice().reverse();for(let e of c)s=e(o,{data:t,defaultError:s}).message;return{...i,path:a,message:s}};function d(e,t){let n=l(),r=u({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===s?void 0:s].filter(e=>!!e)});e.common.issues.push(r)}var f=class e{constructor(){this.value=`valid`}dirty(){this.value===`valid`&&(this.value=`dirty`)}abort(){this.value!==`aborted`&&(this.value=`aborted`)}static mergeArray(e,t){let n=[];for(let r of t){if(r.status===`aborted`)return p;r.status===`dirty`&&e.dirty(),n.push(r.value)}return{status:e.value,value:n}}static async mergeObjectAsync(t,n){let r=[];for(let e of n){let t=await e.key,n=await e.value;r.push({key:t,value:n})}return e.mergeObjectSync(t,r)}static mergeObjectSync(e,t){let n={};for(let r of t){let{key:t,value:i}=r;if(t.status===`aborted`||i.status===`aborted`)return p;t.status===`dirty`&&e.dirty(),i.status===`dirty`&&e.dirty(),t.value!==`__proto__`&&(i.value!==void 0||r.alwaysSet)&&(n[t.value]=i.value)}return{status:e.value,value:n}}};let p=Object.freeze({status:`aborted`}),m=e=>({status:`dirty`,value:e}),h=e=>({status:`valid`,value:e}),g=e=>e.status===`aborted`,_=e=>e.status===`dirty`,v=e=>e.status===`valid`,y=e=>typeof Promise<`u`&&e instanceof Promise;var b;(function(e){e.errToObj=e=>typeof e==`string`?{message:e}:e||{},e.toString=e=>typeof e==`string`?e:e?.message})(b||={});var x=class{constructor(e,t,n,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}};let ee=(e,t)=>{if(v(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw Error(`Validation failed but no issues detected.`);return{success:!1,get error(){if(this._error)return this._error;let t=new o(e.common.issues);return this._error=t,this._error}}};function S(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(t,i)=>{let{message:a}=e;return t.code===`invalid_enum_value`?{message:a??i.defaultError}:i.data===void 0?{message:a??r??i.defaultError}:t.code===`invalid_type`?{message:a??n??i.defaultError}:{message:i.defaultError}},description:i}}var C=class{get description(){return this._def.description}_getType(e){return i(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:i(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new f,ctx:{common:e.parent.common,data:e.data,parsedType:i(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(y(t))throw Error(`Synchronous parse encountered promise.`);return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){let n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:i(e)},r=this._parseSync({data:e,path:n.path,parent:n});return ee(n,r)}"~validate"(e){let t={common:{issues:[],async:!!this[`~standard`].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:i(e)};if(!this[`~standard`].async)try{let n=this._parseSync({data:e,path:[],parent:t});return v(n)?{value:n.value}:{issues:t.common.issues}}catch(e){e?.message?.toLowerCase()?.includes(`encountered`)&&(this[`~standard`].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(e=>v(e)?{value:e.value}:{issues:t.common.issues})}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:i(e)},r=this._parse({data:e,path:n.path,parent:n}),a=await(y(r)?r:Promise.resolve(r));return ee(n,a)}refine(e,t){let n=e=>typeof t==`string`||t===void 0?{message:t}:typeof t==`function`?t(e):t;return this._refinement((t,r)=>{let i=e(t),o=()=>r.addIssue({code:a.custom,...n(t)});return typeof Promise<`u`&&i instanceof Promise?i.then(e=>e?!0:(o(),!1)):i?!0:(o(),!1)})}refinement(e,t){return this._refinement((n,r)=>e(n)?!0:(r.addIssue(typeof t==`function`?t(n,r):t),!1))}_refinement(e){return new I({schema:this,typeName:z.ZodEffects,effect:{type:`refinement`,refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this[`~standard`]={version:1,vendor:`zod`,validate:e=>this[`~validate`](e)}}optional(){return L.create(this,this._def)}nullable(){return R.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return k.create(this)}promise(){return F.create(this,this._def)}or(e){return M.create([this,e],this._def)}and(e){return Pe.create(this,e,this._def)}transform(e){return new I({...S(this._def),schema:this,typeName:z.ZodEffects,effect:{type:`transform`,transform:e}})}default(e){let t=typeof e==`function`?e:()=>e;return new We({...S(this._def),innerType:this,defaultValue:t,typeName:z.ZodDefault})}brand(){return new qe({typeName:z.ZodBranded,type:this,...S(this._def)})}catch(e){let t=typeof e==`function`?e:()=>e;return new Ge({...S(this._def),innerType:this,catchValue:t,typeName:z.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return Je.create(this,e)}readonly(){return Ye.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}};let te=/^c[^\s-]{8,}$/i,ne=/^[0-9a-z]+$/,re=/^[0-9A-HJKMNP-TV-Z]{26}$/i,ie=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,ae=/^[a-z0-9_-]{21}$/i,oe=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,se=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,ce=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,le,ue=/^(?:(?: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])$/,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])\/(3[0-2]|[12]?[0-9])$/,fe=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,pe=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,me=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,he=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,ge=`((\\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])))`,_e=RegExp(`^${ge}$`);function ve(e){let t=`[0-5]\\d`;e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision??(t=`${t}(\\.\\d+)?`);let n=e.precision?`+`:`?`;return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function ye(e){return RegExp(`^${ve(e)}$`)}function be(e){let t=`${ge}T${ve(e)}`,n=[];return n.push(e.local?`Z?`:`Z`),e.offset&&n.push(`([+-]\\d{2}:?\\d{2})`),t=`${t}(${n.join(`|`)})`,RegExp(`^${t}$`)}function xe(e,t){return!!((t===`v4`||!t)&&ue.test(e)||(t===`v6`||!t)&&fe.test(e))}function Se(e,t){if(!oe.test(e))return!1;try{let[n]=e.split(`.`);if(!n)return!1;let r=n.replace(/-/g,`+`).replace(/_/g,`/`).padEnd(n.length+(4-n.length%4)%4,`=`),i=JSON.parse(atob(r));return!(typeof i!=`object`||!i||`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&i.alg!==t)}catch{return!1}}function Ce(e,t){return!!((t===`v4`||!t)&&de.test(e)||(t===`v6`||!t)&&pe.test(e))}var w=class e extends C{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==r.string){let t=this._getOrReturnCtx(e);return d(t,{code:a.invalid_type,expected:r.string,received:t.parsedType}),p}let n=new f,i;for(let r of this._def.checks)if(r.kind===`min`)e.data.length<r.value&&(i=this._getOrReturnCtx(e,i),d(i,{code:a.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),n.dirty());else if(r.kind===`max`)e.data.length>r.value&&(i=this._getOrReturnCtx(e,i),d(i,{code:a.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),n.dirty());else if(r.kind===`length`){let t=e.data.length>r.value,o=e.data.length<r.value;(t||o)&&(i=this._getOrReturnCtx(e,i),t?d(i,{code:a.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}):o&&d(i,{code:a.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}),n.dirty())}else if(r.kind===`email`)ce.test(e.data)||(i=this._getOrReturnCtx(e,i),d(i,{validation:`email`,code:a.invalid_string,message:r.message}),n.dirty());else if(r.kind===`emoji`)le||=RegExp(`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,`u`),le.test(e.data)||(i=this._getOrReturnCtx(e,i),d(i,{validation:`emoji`,code:a.invalid_string,message:r.message}),n.dirty());else if(r.kind===`uuid`)ie.test(e.data)||(i=this._getOrReturnCtx(e,i),d(i,{validation:`uuid`,code:a.invalid_string,message:r.message}),n.dirty());else if(r.kind===`nanoid`)ae.test(e.data)||(i=this._getOrReturnCtx(e,i),d(i,{validation:`nanoid`,code:a.invalid_string,message:r.message}),n.dirty());else if(r.kind===`cuid`)te.test(e.data)||(i=this._getOrReturnCtx(e,i),d(i,{validation:`cuid`,code:a.invalid_string,message:r.message}),n.dirty());else if(r.kind===`cuid2`)ne.test(e.data)||(i=this._getOrReturnCtx(e,i),d(i,{validation:`cuid2`,code:a.invalid_string,message:r.message}),n.dirty());else if(r.kind===`ulid`)re.test(e.data)||(i=this._getOrReturnCtx(e,i),d(i,{validation:`ulid`,code:a.invalid_string,message:r.message}),n.dirty());else if(r.kind===`url`)try{new URL(e.data)}catch{i=this._getOrReturnCtx(e,i),d(i,{validation:`url`,code:a.invalid_string,message:r.message}),n.dirty()}else r.kind===`regex`?(r.regex.lastIndex=0,r.regex.test(e.data)||(i=this._getOrReturnCtx(e,i),d(i,{validation:`regex`,code:a.invalid_string,message:r.message}),n.dirty())):r.kind===`trim`?e.data=e.data.trim():r.kind===`includes`?e.data.includes(r.value,r.position)||(i=this._getOrReturnCtx(e,i),d(i,{code:a.invalid_string,validation:{includes:r.value,position:r.position},message:r.message}),n.dirty()):r.kind===`toLowerCase`?e.data=e.data.toLowerCase():r.kind===`toUpperCase`?e.data=e.data.toUpperCase():r.kind===`startsWith`?e.data.startsWith(r.value)||(i=this._getOrReturnCtx(e,i),d(i,{code:a.invalid_string,validation:{startsWith:r.value},message:r.message}),n.dirty()):r.kind===`endsWith`?e.data.endsWith(r.value)||(i=this._getOrReturnCtx(e,i),d(i,{code:a.invalid_string,validation:{endsWith:r.value},message:r.message}),n.dirty()):r.kind===`datetime`?be(r).test(e.data)||(i=this._getOrReturnCtx(e,i),d(i,{code:a.invalid_string,validation:`datetime`,message:r.message}),n.dirty()):r.kind===`date`?_e.test(e.data)||(i=this._getOrReturnCtx(e,i),d(i,{code:a.invalid_string,validation:`date`,message:r.message}),n.dirty()):r.kind===`time`?ye(r).test(e.data)||(i=this._getOrReturnCtx(e,i),d(i,{code:a.invalid_string,validation:`time`,message:r.message}),n.dirty()):r.kind===`duration`?se.test(e.data)||(i=this._getOrReturnCtx(e,i),d(i,{validation:`duration`,code:a.invalid_string,message:r.message}),n.dirty()):r.kind===`ip`?xe(e.data,r.version)||(i=this._getOrReturnCtx(e,i),d(i,{validation:`ip`,code:a.invalid_string,message:r.message}),n.dirty()):r.kind===`jwt`?Se(e.data,r.alg)||(i=this._getOrReturnCtx(e,i),d(i,{validation:`jwt`,code:a.invalid_string,message:r.message}),n.dirty()):r.kind===`cidr`?Ce(e.data,r.version)||(i=this._getOrReturnCtx(e,i),d(i,{validation:`cidr`,code:a.invalid_string,message:r.message}),n.dirty()):r.kind===`base64`?me.test(e.data)||(i=this._getOrReturnCtx(e,i),d(i,{validation:`base64`,code:a.invalid_string,message:r.message}),n.dirty()):r.kind===`base64url`?he.test(e.data)||(i=this._getOrReturnCtx(e,i),d(i,{validation:`base64url`,code:a.invalid_string,message:r.message}),n.dirty()):t.assertNever(r);return{status:n.value,value:e.data}}_regex(e,t,n){return this.refinement(t=>e.test(t),{validation:t,code:a.invalid_string,...b.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(e){return this._addCheck({kind:`email`,...b.errToObj(e)})}url(e){return this._addCheck({kind:`url`,...b.errToObj(e)})}emoji(e){return this._addCheck({kind:`emoji`,...b.errToObj(e)})}uuid(e){return this._addCheck({kind:`uuid`,...b.errToObj(e)})}nanoid(e){return this._addCheck({kind:`nanoid`,...b.errToObj(e)})}cuid(e){return this._addCheck({kind:`cuid`,...b.errToObj(e)})}cuid2(e){return this._addCheck({kind:`cuid2`,...b.errToObj(e)})}ulid(e){return this._addCheck({kind:`ulid`,...b.errToObj(e)})}base64(e){return this._addCheck({kind:`base64`,...b.errToObj(e)})}base64url(e){return this._addCheck({kind:`base64url`,...b.errToObj(e)})}jwt(e){return this._addCheck({kind:`jwt`,...b.errToObj(e)})}ip(e){return this._addCheck({kind:`ip`,...b.errToObj(e)})}cidr(e){return this._addCheck({kind:`cidr`,...b.errToObj(e)})}datetime(e){return typeof e==`string`?this._addCheck({kind:`datetime`,precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:`datetime`,precision:e?.precision===void 0?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...b.errToObj(e?.message)})}date(e){return this._addCheck({kind:`date`,message:e})}time(e){return typeof e==`string`?this._addCheck({kind:`time`,precision:null,message:e}):this._addCheck({kind:`time`,precision:e?.precision===void 0?null:e?.precision,...b.errToObj(e?.message)})}duration(e){return this._addCheck({kind:`duration`,...b.errToObj(e)})}regex(e,t){return this._addCheck({kind:`regex`,regex:e,...b.errToObj(t)})}includes(e,t){return this._addCheck({kind:`includes`,value:e,position:t?.position,...b.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:`startsWith`,value:e,...b.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:`endsWith`,value:e,...b.errToObj(t)})}min(e,t){return this._addCheck({kind:`min`,value:e,...b.errToObj(t)})}max(e,t){return this._addCheck({kind:`max`,value:e,...b.errToObj(t)})}length(e,t){return this._addCheck({kind:`length`,value:e,...b.errToObj(t)})}nonempty(e){return this.min(1,b.errToObj(e))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:`trim`}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toLowerCase`}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toUpperCase`}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind===`datetime`)}get isDate(){return!!this._def.checks.find(e=>e.kind===`date`)}get isTime(){return!!this._def.checks.find(e=>e.kind===`time`)}get isDuration(){return!!this._def.checks.find(e=>e.kind===`duration`)}get isEmail(){return!!this._def.checks.find(e=>e.kind===`email`)}get isURL(){return!!this._def.checks.find(e=>e.kind===`url`)}get isEmoji(){return!!this._def.checks.find(e=>e.kind===`emoji`)}get isUUID(){return!!this._def.checks.find(e=>e.kind===`uuid`)}get isNANOID(){return!!this._def.checks.find(e=>e.kind===`nanoid`)}get isCUID(){return!!this._def.checks.find(e=>e.kind===`cuid`)}get isCUID2(){return!!this._def.checks.find(e=>e.kind===`cuid2`)}get isULID(){return!!this._def.checks.find(e=>e.kind===`ulid`)}get isIP(){return!!this._def.checks.find(e=>e.kind===`ip`)}get isCIDR(){return!!this._def.checks.find(e=>e.kind===`cidr`)}get isBase64(){return!!this._def.checks.find(e=>e.kind===`base64`)}get isBase64url(){return!!this._def.checks.find(e=>e.kind===`base64url`)}get minLength(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};w.create=e=>new w({checks:[],typeName:z.ZodString,coerce:e?.coerce??!1,...S(e)});function we(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=(t.toString().split(`.`)[1]||``).length,i=n>r?n:r;return Number.parseInt(e.toFixed(i).replace(`.`,``))%Number.parseInt(t.toFixed(i).replace(`.`,``))/10**i}var Te=class e extends C{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==r.number){let t=this._getOrReturnCtx(e);return d(t,{code:a.invalid_type,expected:r.number,received:t.parsedType}),p}let n,i=new f;for(let r of this._def.checks)r.kind===`int`?t.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),d(n,{code:a.invalid_type,expected:`integer`,received:`float`,message:r.message}),i.dirty()):r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(n=this._getOrReturnCtx(e,n),d(n,{code:a.too_small,minimum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),i.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(n=this._getOrReturnCtx(e,n),d(n,{code:a.too_big,maximum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),i.dirty()):r.kind===`multipleOf`?we(e.data,r.value)!==0&&(n=this._getOrReturnCtx(e,n),d(n,{code:a.not_multiple_of,multipleOf:r.value,message:r.message}),i.dirty()):r.kind===`finite`?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),d(n,{code:a.not_finite,message:r.message}),i.dirty()):t.assertNever(r);return{status:i.value,value:e.data}}gte(e,t){return this.setLimit(`min`,e,!0,b.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,b.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,b.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,b.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:b.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(e){return this._addCheck({kind:`int`,message:b.toString(e)})}positive(e){return this._addCheck({kind:`min`,value:0,inclusive:!1,message:b.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:0,inclusive:!1,message:b.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:0,inclusive:!0,message:b.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:0,inclusive:!0,message:b.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:b.toString(t)})}finite(e){return this._addCheck({kind:`finite`,message:b.toString(e)})}safe(e){return this._addCheck({kind:`min`,inclusive:!0,value:-(2**53-1),message:b.toString(e)})._addCheck({kind:`max`,inclusive:!0,value:2**53-1,message:b.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind===`int`||e.kind===`multipleOf`&&t.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let n of this._def.checks)if(n.kind===`finite`||n.kind===`int`||n.kind===`multipleOf`)return!0;else n.kind===`min`?(t===null||n.value>t)&&(t=n.value):n.kind===`max`&&(e===null||n.value<e)&&(e=n.value);return Number.isFinite(t)&&Number.isFinite(e)}};Te.create=e=>new Te({checks:[],typeName:z.ZodNumber,coerce:e?.coerce||!1,...S(e)});var Ee=class e extends C{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==r.bigint)return this._getInvalidInput(e);let n,i=new f;for(let r of this._def.checks)r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(n=this._getOrReturnCtx(e,n),d(n,{code:a.too_small,type:`bigint`,minimum:r.value,inclusive:r.inclusive,message:r.message}),i.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(n=this._getOrReturnCtx(e,n),d(n,{code:a.too_big,type:`bigint`,maximum:r.value,inclusive:r.inclusive,message:r.message}),i.dirty()):r.kind===`multipleOf`?e.data%r.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),d(n,{code:a.not_multiple_of,multipleOf:r.value,message:r.message}),i.dirty()):t.assertNever(r);return{status:i.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return d(t,{code:a.invalid_type,expected:r.bigint,received:t.parsedType}),p}gte(e,t){return this.setLimit(`min`,e,!0,b.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,b.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,b.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,b.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:b.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!1,message:b.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!1,message:b.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!0,message:b.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!0,message:b.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:b.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};Ee.create=e=>new Ee({checks:[],typeName:z.ZodBigInt,coerce:e?.coerce??!1,...S(e)});var De=class extends C{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==r.boolean){let t=this._getOrReturnCtx(e);return d(t,{code:a.invalid_type,expected:r.boolean,received:t.parsedType}),p}return h(e.data)}};De.create=e=>new De({typeName:z.ZodBoolean,coerce:e?.coerce||!1,...S(e)});var Oe=class e extends C{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==r.date){let t=this._getOrReturnCtx(e);return d(t,{code:a.invalid_type,expected:r.date,received:t.parsedType}),p}if(Number.isNaN(e.data.getTime()))return d(this._getOrReturnCtx(e),{code:a.invalid_date}),p;let n=new f,i;for(let r of this._def.checks)r.kind===`min`?e.data.getTime()<r.value&&(i=this._getOrReturnCtx(e,i),d(i,{code:a.too_small,message:r.message,inclusive:!0,exact:!1,minimum:r.value,type:`date`}),n.dirty()):r.kind===`max`?e.data.getTime()>r.value&&(i=this._getOrReturnCtx(e,i),d(i,{code:a.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:`date`}),n.dirty()):t.assertNever(r);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(e,t){return this._addCheck({kind:`min`,value:e.getTime(),message:b.toString(t)})}max(e,t){return this._addCheck({kind:`max`,value:e.getTime(),message:b.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e==null?null:new Date(e)}get maxDate(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e==null?null:new Date(e)}};Oe.create=e=>new Oe({checks:[],coerce:e?.coerce||!1,typeName:z.ZodDate,...S(e)});var ke=class extends C{_parse(e){if(this._getType(e)!==r.symbol){let t=this._getOrReturnCtx(e);return d(t,{code:a.invalid_type,expected:r.symbol,received:t.parsedType}),p}return h(e.data)}};ke.create=e=>new ke({typeName:z.ZodSymbol,...S(e)});var T=class extends C{_parse(e){if(this._getType(e)!==r.undefined){let t=this._getOrReturnCtx(e);return d(t,{code:a.invalid_type,expected:r.undefined,received:t.parsedType}),p}return h(e.data)}};T.create=e=>new T({typeName:z.ZodUndefined,...S(e)});var E=class extends C{_parse(e){if(this._getType(e)!==r.null){let t=this._getOrReturnCtx(e);return d(t,{code:a.invalid_type,expected:r.null,received:t.parsedType}),p}return h(e.data)}};E.create=e=>new E({typeName:z.ZodNull,...S(e)});var Ae=class extends C{constructor(){super(...arguments),this._any=!0}_parse(e){return h(e.data)}};Ae.create=e=>new Ae({typeName:z.ZodAny,...S(e)});var D=class extends C{constructor(){super(...arguments),this._unknown=!0}_parse(e){return h(e.data)}};D.create=e=>new D({typeName:z.ZodUnknown,...S(e)});var O=class extends C{_parse(e){let t=this._getOrReturnCtx(e);return d(t,{code:a.invalid_type,expected:r.never,received:t.parsedType}),p}};O.create=e=>new O({typeName:z.ZodNever,...S(e)});var je=class extends C{_parse(e){if(this._getType(e)!==r.undefined){let t=this._getOrReturnCtx(e);return d(t,{code:a.invalid_type,expected:r.void,received:t.parsedType}),p}return h(e.data)}};je.create=e=>new je({typeName:z.ZodVoid,...S(e)});var k=class e extends C{_parse(e){let{ctx:t,status:n}=this._processInputParams(e),i=this._def;if(t.parsedType!==r.array)return d(t,{code:a.invalid_type,expected:r.array,received:t.parsedType}),p;if(i.exactLength!==null){let e=t.data.length>i.exactLength.value,r=t.data.length<i.exactLength.value;(e||r)&&(d(t,{code:e?a.too_big:a.too_small,minimum:r?i.exactLength.value:void 0,maximum:e?i.exactLength.value:void 0,type:`array`,inclusive:!0,exact:!0,message:i.exactLength.message}),n.dirty())}if(i.minLength!==null&&t.data.length<i.minLength.value&&(d(t,{code:a.too_small,minimum:i.minLength.value,type:`array`,inclusive:!0,exact:!1,message:i.minLength.message}),n.dirty()),i.maxLength!==null&&t.data.length>i.maxLength.value&&(d(t,{code:a.too_big,maximum:i.maxLength.value,type:`array`,inclusive:!0,exact:!1,message:i.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((e,n)=>i.type._parseAsync(new x(t,e,t.path,n)))).then(e=>f.mergeArray(n,e));let o=[...t.data].map((e,n)=>i.type._parseSync(new x(t,e,t.path,n)));return f.mergeArray(n,o)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:b.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:b.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:b.toString(n)}})}nonempty(e){return this.min(1,e)}};k.create=(e,t)=>new k({type:e,minLength:null,maxLength:null,exactLength:null,typeName:z.ZodArray,...S(t)});function A(e){if(e instanceof j){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=L.create(A(r))}return new j({...e._def,shape:()=>t})}else if(e instanceof k)return new k({...e._def,type:A(e.element)});else if(e instanceof L)return L.create(A(e.unwrap()));else if(e instanceof R)return R.create(A(e.unwrap()));else if(e instanceof P)return P.create(e.items.map(e=>A(e)));else return e}var j=class e extends C{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),n=t.objectKeys(e);return this._cached={shape:e,keys:n},this._cached}_parse(e){if(this._getType(e)!==r.object){let t=this._getOrReturnCtx(e);return d(t,{code:a.invalid_type,expected:r.object,received:t.parsedType}),p}let{status:t,ctx:n}=this._processInputParams(e),{shape:i,keys:o}=this._getCached(),s=[];if(!(this._def.catchall instanceof O&&this._def.unknownKeys===`strip`))for(let e in n.data)o.includes(e)||s.push(e);let c=[];for(let e of o){let t=i[e],r=n.data[e];c.push({key:{status:`valid`,value:e},value:t._parse(new x(n,r,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof O){let e=this._def.unknownKeys;if(e===`passthrough`)for(let e of s)c.push({key:{status:`valid`,value:e},value:{status:`valid`,value:n.data[e]}});else if(e===`strict`)s.length>0&&(d(n,{code:a.unrecognized_keys,keys:s}),t.dirty());else if(e!==`strip`)throw Error(`Internal ZodObject error: invalid unknownKeys value.`)}else{let e=this._def.catchall;for(let t of s){let r=n.data[t];c.push({key:{status:`valid`,value:t},value:e._parse(new x(n,r,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then(async()=>{let e=[];for(let t of c){let n=await t.key,r=await t.value;e.push({key:n,value:r,alwaysSet:t.alwaysSet})}return e}).then(e=>f.mergeObjectSync(t,e)):f.mergeObjectSync(t,c)}get shape(){return this._def.shape()}strict(t){return b.errToObj,new e({...this._def,unknownKeys:`strict`,...t===void 0?{}:{errorMap:(e,n)=>{let r=this._def.errorMap?.(e,n).message??n.defaultError;return e.code===`unrecognized_keys`?{message:b.errToObj(t).message??r}:{message:r}}}})}strip(){return new e({...this._def,unknownKeys:`strip`})}passthrough(){return new e({...this._def,unknownKeys:`passthrough`})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:z.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(t){return new e({...this._def,catchall:t})}pick(n){let r={};for(let e of t.objectKeys(n))n[e]&&this.shape[e]&&(r[e]=this.shape[e]);return new e({...this._def,shape:()=>r})}omit(n){let r={};for(let e of t.objectKeys(this.shape))n[e]||(r[e]=this.shape[e]);return new e({...this._def,shape:()=>r})}deepPartial(){return A(this)}partial(n){let r={};for(let e of t.objectKeys(this.shape)){let t=this.shape[e];n&&!n[e]?r[e]=t:r[e]=t.optional()}return new e({...this._def,shape:()=>r})}required(n){let r={};for(let e of t.objectKeys(this.shape))if(n&&!n[e])r[e]=this.shape[e];else{let t=this.shape[e];for(;t instanceof L;)t=t._def.innerType;r[e]=t}return new e({...this._def,shape:()=>r})}keyof(){return Ve(t.objectKeys(this.shape))}};j.create=(e,t)=>new j({shape:()=>e,unknownKeys:`strip`,catchall:O.create(),typeName:z.ZodObject,...S(t)}),j.strictCreate=(e,t)=>new j({shape:()=>e,unknownKeys:`strict`,catchall:O.create(),typeName:z.ZodObject,...S(t)}),j.lazycreate=(e,t)=>new j({shape:e,unknownKeys:`strip`,catchall:O.create(),typeName:z.ZodObject,...S(t)});var M=class extends C{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;function r(e){for(let t of e)if(t.result.status===`valid`)return t.result;for(let n of e)if(n.result.status===`dirty`)return t.common.issues.push(...n.ctx.common.issues),n.result;let n=e.map(e=>new o(e.ctx.common.issues));return d(t,{code:a.invalid_union,unionErrors:n}),p}if(t.common.async)return Promise.all(n.map(async e=>{let n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}})).then(r);{let e,r=[];for(let i of n){let n={...t,common:{...t.common,issues:[]},parent:null},a=i._parseSync({data:t.data,path:t.path,parent:n});if(a.status===`valid`)return a;a.status===`dirty`&&!e&&(e={result:a,ctx:n}),n.common.issues.length&&r.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;let i=r.map(e=>new o(e));return d(t,{code:a.invalid_union,unionErrors:i}),p}}get options(){return this._def.options}};M.create=(e,t)=>new M({options:e,typeName:z.ZodUnion,...S(t)});let N=e=>e instanceof ze?N(e.schema):e instanceof I?N(e.innerType()):e instanceof Be?[e.value]:e instanceof He?e.options:e instanceof Ue?t.objectValues(e.enum):e instanceof We?N(e._def.innerType):e instanceof T?[void 0]:e instanceof E?[null]:e instanceof L?[void 0,...N(e.unwrap())]:e instanceof R?[null,...N(e.unwrap())]:e instanceof qe||e instanceof Ye?N(e.unwrap()):e instanceof Ge?N(e._def.innerType):[];var Me=class e extends C{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==r.object)return d(t,{code:a.invalid_type,expected:r.object,received:t.parsedType}),p;let n=this.discriminator,i=t.data[n],o=this.optionsMap.get(i);return o?t.common.async?o._parseAsync({data:t.data,path:t.path,parent:t}):o._parseSync({data:t.data,path:t.path,parent:t}):(d(t,{code:a.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),p)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let i=new Map;for(let e of n){let n=N(e.shape[t]);if(!n.length)throw Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let r of n){if(i.has(r))throw Error(`Discriminator property ${String(t)} has duplicate value ${String(r)}`);i.set(r,e)}}return new e({typeName:z.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...S(r)})}};function Ne(e,n){let a=i(e),o=i(n);if(e===n)return{valid:!0,data:e};if(a===r.object&&o===r.object){let r=t.objectKeys(n),i=t.objectKeys(e).filter(e=>r.indexOf(e)!==-1),a={...e,...n};for(let t of i){let r=Ne(e[t],n[t]);if(!r.valid)return{valid:!1};a[t]=r.data}return{valid:!0,data:a}}else if(a===r.array&&o===r.array){if(e.length!==n.length)return{valid:!1};let t=[];for(let r=0;r<e.length;r++){let i=e[r],a=n[r],o=Ne(i,a);if(!o.valid)return{valid:!1};t.push(o.data)}return{valid:!0,data:t}}else if(a===r.date&&o===r.date&&+e==+n)return{valid:!0,data:e};else return{valid:!1}}var Pe=class extends C{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=(e,r)=>{if(g(e)||g(r))return p;let i=Ne(e.value,r.value);return i.valid?((_(e)||_(r))&&t.dirty(),{status:t.value,value:i.data}):(d(n,{code:a.invalid_intersection_types}),p)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([e,t])=>r(e,t)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};Pe.create=(e,t,n)=>new Pe({left:e,right:t,typeName:z.ZodIntersection,...S(n)});var P=class e extends C{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==r.array)return d(n,{code:a.invalid_type,expected:r.array,received:n.parsedType}),p;if(n.data.length<this._def.items.length)return d(n,{code:a.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),p;!this._def.rest&&n.data.length>this._def.items.length&&(d(n,{code:a.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),t.dirty());let i=[...n.data].map((e,t)=>{let r=this._def.items[t]||this._def.rest;return r?r._parse(new x(n,e,n.path,t)):null}).filter(e=>!!e);return n.common.async?Promise.all(i).then(e=>f.mergeArray(t,e)):f.mergeArray(t,i)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};P.create=(e,t)=>{if(!Array.isArray(e))throw Error(`You must pass an array of schemas to z.tuple([ ... ])`);return new P({items:e,typeName:z.ZodTuple,rest:null,...S(t)})};var Fe=class e extends C{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==r.object)return d(n,{code:a.invalid_type,expected:r.object,received:n.parsedType}),p;let i=[],o=this._def.keyType,s=this._def.valueType;for(let e in n.data)i.push({key:o._parse(new x(n,e,n.path,e)),value:s._parse(new x(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?f.mergeObjectAsync(t,i):f.mergeObjectSync(t,i)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof C?new e({keyType:t,valueType:n,typeName:z.ZodRecord,...S(r)}):new e({keyType:w.create(),valueType:t,typeName:z.ZodRecord,...S(n)})}},Ie=class extends C{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==r.map)return d(n,{code:a.invalid_type,expected:r.map,received:n.parsedType}),p;let i=this._def.keyType,o=this._def.valueType,s=[...n.data.entries()].map(([e,t],r)=>({key:i._parse(new x(n,e,n.path,[r,`key`])),value:o._parse(new x(n,t,n.path,[r,`value`]))}));if(n.common.async){let e=new Map;return Promise.resolve().then(async()=>{for(let n of s){let r=await n.key,i=await n.value;if(r.status===`aborted`||i.status===`aborted`)return p;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}})}else{let e=new Map;for(let n of s){let r=n.key,i=n.value;if(r.status===`aborted`||i.status===`aborted`)return p;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}}}};Ie.create=(e,t,n)=>new Ie({valueType:t,keyType:e,typeName:z.ZodMap,...S(n)});var Le=class e extends C{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==r.set)return d(n,{code:a.invalid_type,expected:r.set,received:n.parsedType}),p;let i=this._def;i.minSize!==null&&n.data.size<i.minSize.value&&(d(n,{code:a.too_small,minimum:i.minSize.value,type:`set`,inclusive:!0,exact:!1,message:i.minSize.message}),t.dirty()),i.maxSize!==null&&n.data.size>i.maxSize.value&&(d(n,{code:a.too_big,maximum:i.maxSize.value,type:`set`,inclusive:!0,exact:!1,message:i.maxSize.message}),t.dirty());let o=this._def.valueType;function s(e){let n=new Set;for(let r of e){if(r.status===`aborted`)return p;r.status===`dirty`&&t.dirty(),n.add(r.value)}return{status:t.value,value:n}}let c=[...n.data.values()].map((e,t)=>o._parse(new x(n,e,n.path,t)));return n.common.async?Promise.all(c).then(e=>s(e)):s(c)}min(t,n){return new e({...this._def,minSize:{value:t,message:b.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:b.toString(n)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};Le.create=(e,t)=>new Le({valueType:e,minSize:null,maxSize:null,typeName:z.ZodSet,...S(t)});var Re=class e extends C{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==r.function)return d(t,{code:a.invalid_type,expected:r.function,received:t.parsedType}),p;function n(e,n){return u({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,l(),s].filter(e=>!!e),issueData:{code:a.invalid_arguments,argumentsError:n}})}function i(e,n){return u({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,l(),s].filter(e=>!!e),issueData:{code:a.invalid_return_type,returnTypeError:n}})}let c={errorMap:t.common.contextualErrorMap},f=t.data;if(this._def.returns instanceof F){let e=this;return h(async function(...t){let r=new o([]),a=await e._def.args.parseAsync(t,c).catch(e=>{throw r.addIssue(n(t,e)),r}),s=await Reflect.apply(f,this,a);return await e._def.returns._def.type.parseAsync(s,c).catch(e=>{throw r.addIssue(i(s,e)),r})})}else{let e=this;return h(function(...t){let r=e._def.args.safeParse(t,c);if(!r.success)throw new o([n(t,r.error)]);let a=Reflect.apply(f,this,r.data),s=e._def.returns.safeParse(a,c);if(!s.success)throw new o([i(a,s.error)]);return s.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:P.create(t).rest(D.create())})}returns(t){return new e({...this._def,returns:t})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(t,n,r){return new e({args:t||P.create([]).rest(D.create()),returns:n||D.create(),typeName:z.ZodFunction,...S(r)})}},ze=class extends C{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};ze.create=(e,t)=>new ze({getter:e,typeName:z.ZodLazy,...S(t)});var Be=class extends C{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return d(t,{received:t.data,code:a.invalid_literal,expected:this._def.value}),p}return{status:`valid`,value:e.data}}get value(){return this._def.value}};Be.create=(e,t)=>new Be({value:e,typeName:z.ZodLiteral,...S(t)});function Ve(e,t){return new He({values:e,typeName:z.ZodEnum,...S(t)})}var He=class e extends C{_parse(e){if(typeof e.data!=`string`){let n=this._getOrReturnCtx(e),r=this._def.values;return d(n,{expected:t.joinValues(r),received:n.parsedType,code:a.invalid_type}),p}if(this._cache||=new Set(this._def.values),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),n=this._def.values;return d(t,{received:t.data,code:a.invalid_enum_value,options:n}),p}return h(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(e=>!t.includes(e)),{...this._def,...n})}};He.create=Ve;var Ue=class extends C{_parse(e){let n=t.getValidEnumValues(this._def.values),i=this._getOrReturnCtx(e);if(i.parsedType!==r.string&&i.parsedType!==r.number){let e=t.objectValues(n);return d(i,{expected:t.joinValues(e),received:i.parsedType,code:a.invalid_type}),p}if(this._cache||=new Set(t.getValidEnumValues(this._def.values)),!this._cache.has(e.data)){let e=t.objectValues(n);return d(i,{received:i.data,code:a.invalid_enum_value,options:e}),p}return h(e.data)}get enum(){return this._def.values}};Ue.create=(e,t)=>new Ue({values:e,typeName:z.ZodNativeEnum,...S(t)});var F=class extends C{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==r.promise&&t.common.async===!1?(d(t,{code:a.invalid_type,expected:r.promise,received:t.parsedType}),p):h((t.parsedType===r.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}};F.create=(e,t)=>new F({type:e,typeName:z.ZodPromise,...S(t)});var I=class extends C{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===z.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:n,ctx:r}=this._processInputParams(e),i=this._def.effect||null,a={addIssue:e=>{d(r,e),e.fatal?n.abort():n.dirty()},get path(){return r.path}};if(a.addIssue=a.addIssue.bind(a),i.type===`preprocess`){let e=i.transform(r.data,a);if(r.common.async)return Promise.resolve(e).then(async e=>{if(n.value===`aborted`)return p;let t=await this._def.schema._parseAsync({data:e,path:r.path,parent:r});return t.status===`aborted`?p:t.status===`dirty`||n.value===`dirty`?m(t.value):t});{if(n.value===`aborted`)return p;let t=this._def.schema._parseSync({data:e,path:r.path,parent:r});return t.status===`aborted`?p:t.status===`dirty`||n.value===`dirty`?m(t.value):t}}if(i.type===`refinement`){let e=e=>{let t=i.refinement(e,a);if(r.common.async)return Promise.resolve(t);if(t instanceof Promise)throw Error(`Async refinement encountered during synchronous parse operation. Use .parseAsync instead.`);return e};if(r.common.async===!1){let t=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return t.status===`aborted`?p:(t.status===`dirty`&&n.dirty(),e(t.value),{status:n.value,value:t.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(t=>t.status===`aborted`?p:(t.status===`dirty`&&n.dirty(),e(t.value).then(()=>({status:n.value,value:t.value}))))}if(i.type===`transform`)if(r.common.async===!1){let e=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!v(e))return p;let t=i.transform(e.value,a);if(t instanceof Promise)throw Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);return{status:n.value,value:t}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(e=>v(e)?Promise.resolve(i.transform(e.value,a)).then(e=>({status:n.value,value:e})):p);t.assertNever(i)}};I.create=(e,t,n)=>new I({schema:e,typeName:z.ZodEffects,effect:t,...S(n)}),I.createWithPreprocess=(e,t,n)=>new I({schema:t,effect:{type:`preprocess`,transform:e},typeName:z.ZodEffects,...S(n)});var L=class extends C{_parse(e){return this._getType(e)===r.undefined?h(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};L.create=(e,t)=>new L({innerType:e,typeName:z.ZodOptional,...S(t)});var R=class extends C{_parse(e){return this._getType(e)===r.null?h(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};R.create=(e,t)=>new R({innerType:e,typeName:z.ZodNullable,...S(t)});var We=class extends C{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===r.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};We.create=(e,t)=>new We({innerType:e,typeName:z.ZodDefault,defaultValue:typeof t.default==`function`?t.default:()=>t.default,...S(t)});var Ge=class extends C{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return y(r)?r.then(e=>({status:`valid`,value:e.status===`valid`?e.value:this._def.catchValue({get error(){return new o(n.common.issues)},input:n.data})})):{status:`valid`,value:r.status===`valid`?r.value:this._def.catchValue({get error(){return new o(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Ge.create=(e,t)=>new Ge({innerType:e,typeName:z.ZodCatch,catchValue:typeof t.catch==`function`?t.catch:()=>t.catch,...S(t)});var Ke=class extends C{_parse(e){if(this._getType(e)!==r.nan){let t=this._getOrReturnCtx(e);return d(t,{code:a.invalid_type,expected:r.nan,received:t.parsedType}),p}return{status:`valid`,value:e.data}}};Ke.create=e=>new Ke({typeName:z.ZodNaN,...S(e)});var qe=class extends C{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}},Je=class e extends C{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?p:e.status===`dirty`?(t.dirty(),m(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})();{let e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?p:e.status===`dirty`?(t.dirty(),{status:`dirty`,value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(t,n){return new e({in:t,out:n,typeName:z.ZodPipeline})}},Ye=class extends C{_parse(e){let t=this._def.innerType._parse(e),n=e=>(v(e)&&(e.value=Object.freeze(e.value)),e);return y(t)?t.then(e=>n(e)):n(t)}unwrap(){return this._def.innerType}};Ye.create=(e,t)=>new Ye({innerType:e,typeName:z.ZodReadonly,...S(t)}),j.lazycreate;var z;(function(e){e.ZodString=`ZodString`,e.ZodNumber=`ZodNumber`,e.ZodNaN=`ZodNaN`,e.ZodBigInt=`ZodBigInt`,e.ZodBoolean=`ZodBoolean`,e.ZodDate=`ZodDate`,e.ZodSymbol=`ZodSymbol`,e.ZodUndefined=`ZodUndefined`,e.ZodNull=`ZodNull`,e.ZodAny=`ZodAny`,e.ZodUnknown=`ZodUnknown`,e.ZodNever=`ZodNever`,e.ZodVoid=`ZodVoid`,e.ZodArray=`ZodArray`,e.ZodObject=`ZodObject`,e.ZodUnion=`ZodUnion`,e.ZodDiscriminatedUnion=`ZodDiscriminatedUnion`,e.ZodIntersection=`ZodIntersection`,e.ZodTuple=`ZodTuple`,e.ZodRecord=`ZodRecord`,e.ZodMap=`ZodMap`,e.ZodSet=`ZodSet`,e.ZodFunction=`ZodFunction`,e.ZodLazy=`ZodLazy`,e.ZodLiteral=`ZodLiteral`,e.ZodEnum=`ZodEnum`,e.ZodEffects=`ZodEffects`,e.ZodNativeEnum=`ZodNativeEnum`,e.ZodOptional=`ZodOptional`,e.ZodNullable=`ZodNullable`,e.ZodDefault=`ZodDefault`,e.ZodCatch=`ZodCatch`,e.ZodPromise=`ZodPromise`,e.ZodBranded=`ZodBranded`,e.ZodPipeline=`ZodPipeline`,e.ZodReadonly=`ZodReadonly`})(z||={});let B=w.create,V=Te.create;Ke.create,Ee.create;let H=De.create;Oe.create,ke.create;let Xe=T.create,Ze=E.create;Ae.create,D.create,O.create,je.create;let U=k.create,W=j.create;j.strictCreate;let G=M.create,K=Me.create;Pe.create,P.create;let Qe=Fe.create;Ie.create,Le.create,Re.create,ze.create;let q=Be.create,J=He.create;Ue.create,F.create,I.create,L.create,R.create,I.createWithPreprocess,Je.create;let $e=J([`mp4`,`hls`,`flv`,`auto`]),et=J([`mp4`,`hls`,`flv`]),tt=G([B(),W({url:B(),loading:J([`eager`,`lazy`]).default(`lazy`).optional(),fit:J([`cover`,`contain`,`fill`]).default(`cover`).optional()})]),nt=G([B(),W({url:B(),fit:J([`cover`,`contain`,`fill`]).optional()}).strict()]),rt=W({background:B().min(1).optional(),foreground:B().min(1).optional()}),it=K(`mode`,[W({mode:q(`url`),url:B(),locale:B(),label:B(),isDefault:H().optional()}),W({mode:q(`content`),content:B(),locale:B(),label:B(),isDefault:H().optional()})]),at=W({lowLatencyMode:H().optional()}),ot=W({title:B().optional(),description:B().optional(),duration:V().optional()}),st=W({url:B(),type:et}),ct={live:H().optional(),hls:at.optional(),subtitles:U(it).optional(),metadata:ot.optional()},lt=W({url:B(),type:$e.optional(),...ct}),ut=W({sources:U(st).min(1),...ct}),dt=G([B(),ut,lt]),ft=G([B(),W({locale:B(),fallbackLocales:U(B()).optional(),messages:Qe(B(),Qe(B(),B())).optional()})]),pt=W({id:B(),text:B(),type:J([`scroll`,`top`,`bottom`]).optional(),color:B().optional(),start:V().nonnegative().optional()}),mt=W({enabled:H(),mode:J([`preload`,`streaming`]).optional(),items:U(pt).optional(),display:W({area:J([`top`,`half`,`full`]).optional(),opacity:V().min(0).max(1).optional(),speed:V().min(.5).max(2).optional(),fontSize:V().min(12).max(48).optional(),maxLines:V().int().positive().optional()}).optional()}).superRefine((e,t)=>{e.items&&e.items.length>0&&e.mode!==`preload`&&t.addIssue({code:`custom`,path:[`items`],message:`danmaku.items 只在 mode: 'preload' 下有效。当前 mode 是 ${e.mode??`streaming`}(默认)—— 渲染引擎在直播模式下会忽略每条的 start,整包会一股脑全飘出来。要么设 mode: "preload",要么改用 pushDanmaku 逐条推。`}),e.display?.maxLines!==void 0&&e.display.area&&e.display.area!==`full`&&t.addIssue({code:`custom`,path:[`display`,`maxLines`],message:`danmaku.display.maxLines 与 area: '${e.display.area}' 不能同时用 —— 渲染引擎里两者互斥(给了轨道条数,区域比例就失效),同传只会有一个生效。要限制条数就去掉 area(或用 area: 'full'),要限制区域就去掉 maxLines。`})}),ht=J([`ambient-preview`]),gt=W({play:H().optional(),progress:H().optional(),time:H().optional(),volume:H().optional(),playbackRate:H().optional(),fullscreen:H().optional(),cssFullscreen:H().optional(),pip:H().optional()}).strict();W({source:dt,preset:ht.optional(),autoplay:H().optional(),muted:H().optional(),loop:H().optional(),playbackRate:V().min(.25).max(4).optional(),volume:V().min(0).max(1).optional(),playsinline:H().optional(),preload:J([`none`,`metadata`,`auto`]).optional(),startTime:V().min(0).optional(),controls:H().optional(),showErrorOverlay:H().optional(),showDefaultLoadingOverlay:H().optional(),showLoadingText:H().optional(),errorButtonColors:rt.optional(),controlVisibility:gt.optional(),interactive:H().optional(),poster:tt.optional(),pauseImage:nt.optional(),locale:ft.optional(),danmaku:mt.optional(),debug:H().optional()});let _t=W({producerSessionId:B().min(1),deliveryId:B().min(1),occurredAtMs:V().finite(),sequence:V().int().positive()}),vt=J([`manifest`,`media`,`network`,`auth`,`env`,`autoplay`]),yt=J([`E_MANIFEST_PARSE`,`E_MEDIA_DECODE`,`E_MEDIA_ABORTED`,`E_MEDIA_NOT_SUPPORTED`,`E_SUBTITLE_LOAD_FAILED`,`E_AUTOPLAY_BLOCKED`,`E_NETWORK`,`E_NETWORK_TIMEOUT`,`E_AUTH_EXPIRED`,`E_ENV_CSP_BLOCKED`,`E_METHOD_NOT_SUPPORTED`,`E_DANMAKU_SEND_FAILED`,`E_INTERNAL`,`E_UNKNOWN`,`E_PLAYER_DESTROYED`,`E_HANDSHAKE_TIMEOUT`,`E_HANDSHAKE_VERSION_MISMATCH`,`E_LOAD_FAILED`,`E_FRAME_CRASHED`]),bt=J([`W_BROWSER_INCOMPATIBLE`,`W_VERSION_MISMATCH`,`W_EVENT_REJECTED`]),xt=W({name:B(),message:B(),code:V().optional(),status:V().optional()}).catchall(G([B(),V(),H()])),St=W({code:yt,message:B(),retryable:H(),category:vt,cause:xt.optional()}),Ct=W({fvt:V()}),wt=W({durationMs:V(),droppedFrames:V(),totalFrames:V()}),Tt=[`switch_play_pause`,`switch_fullscreen`,`switch_cssfullscreen`,`switch_css_fullscreen`,`change_definition`,`change_rate`,`change_volume`,`change_muted`,`change_pip`,`seek`,`rotate`,`shot`,`download`,`switch_danmu`,`error_retry`],Et=W({action:J(Tt),source:B(),from:G([B(),V(),H()]).nullable(),to:G([B(),V(),H()]).nullable()});new Set(Tt);let Y={channel:q(`video-lab:page-fullscreen`),version:q(1),session:B().min(1)},Dt=K(`type`,[W({...Y,type:q(`hello`)}),W({...Y,type:q(`ready`),instance:B().min(1)}),W({...Y,type:q(`request`),instance:B().min(1),id:V().int().positive(),active:H()}),W({...Y,type:q(`state`),instance:B().min(1),revision:V().int().nonnegative(),active:H()}),W({...Y,type:q(`ack`),instance:B().min(1),revision:V().int().nonnegative()}),W({...Y,type:q(`disconnect`)})]);W({available:H(),active:H()});let Ot=W({active:H()}),kt=J([`native`,`hls.js`,`flv.js`]),At=J([`live`,`vod`]),jt=W({platform:J([`ios`,`android`,`desktop`,`unknown`]),browser:J([`webkit`,`gecko`,`chromium`,`embedded`,`unknown`]),mse:J([`standard`,`managed`,`unavailable`])}),Mt=W({sessionId:B(),candidateTypes:U(et).min(1),streamKind:At,runtime:jt}),Nt=K(`outcome`,[Mt.extend({outcome:q(`selected`),mediaType:et,kernel:kt,reason:J([`required_hls`,`live_preference`,`vod_preference`,`native_mp4_fallback`])}).strict(),Mt.extend({outcome:q(`unsupported`),mediaType:Ze(),kernel:Ze(),reason:q(`no_supported_candidate`),errorCode:q(`E_MEDIA_NOT_SUPPORTED`)}).strict()]),Pt=W({sessionId:B(),kernel:kt,mediaType:et.optional(),streamKind:At.optional(),runtime:jt.optional(),position:V(),qualityLevel:V().nullable(),srcOrigin:B(),srcPath:B()});J([`detected`,`backoff`,`attempting`,`validating`,`recovered`,`failed`,`cancelled`]);let Ft=J([`reconnect`,`media_recovery`,`visibility_reload`]),It=J([`error`,`manual`,`visibility`,`stall`,`startup_timeout`,`ended`]),X={sessionId:B().min(1),recoveryId:V().int().positive(),strategy:Ft,trigger:It,attempt:V().int().nonnegative(),maxAttempts:V().int().positive(),elapsedMs:V().finite().nonnegative(),reason:yt.optional()},Lt={...X,attempt:V().int().positive()},Rt=K(`phase`,[W({...X,phase:q(`detected`)}).strict(),W({...X,phase:q(`backoff`)}).strict(),W({...Lt,phase:q(`attempting`)}).strict(),W({...Lt,phase:q(`validating`)}).strict(),W({...Lt,phase:q(`recovered`),validatedBy:q(`playing_position_advance`)}).strict(),W({...X,phase:q(`failed`),outcome:J([`timeout`,`attempts_exhausted`])}).strict(),W({...X,phase:q(`cancelled`),outcome:J([`source_changed`,`destroyed`,`superseded`,`user_paused`,`natural_recovery`])}).strict()]).refine(e=>e.attempt<=e.maxAttempts,{message:`attempt exceeds episode budget`,path:[`attempt`]}),zt=K(`phase`,[W({phase:q(`started`),switchId:V().int().positive(),trigger:q(`auth_expired`),httpStatus:G([q(401),q(403)]).optional()}).strict(),W({phase:q(`succeeded`),switchId:V().int().positive(),strategy:J([`hot_load`,`rebuild`]),elapsedMs:V().nonnegative()}).strict(),W({phase:q(`failed`),switchId:V().int().positive(),reason:J([`resolver_null`,`resolver_rejected`,`load_rejected`,`replacement_error`]),elapsedMs:V().nonnegative(),errorCode:yt.optional()}).strict(),W({phase:q(`cancelled`),switchId:V().int().positive(),reason:J([`external_source`,`destroyed`,`unmounted`]),elapsedMs:V().nonnegative()}).strict()]),Bt=W({level:V(),label:B().optional(),height:V().optional(),bitrate:V().optional()}),Vt=W({id:V(),locale:B(),label:B()}),Ht=J([`ok`,`initializing`,`buffering`,`stalled`,`reconnecting`,`source_switching`,`autoplay_blocked`,`error`,`frame_disconnected`,`degraded`]),Z=e=>W({...e,delivery:_t.optional()}),Ut=K(`event`,[Z({event:q(`pagefullscreenchange`),payload:Ot}),Z({event:q(`sourceroute`),payload:Nt}),Z({event:q(`ready`),payload:W({duration:V(),quality:U(Bt),subtitles:U(Vt).optional()})}),Z({event:q(`play`),payload:W({})}),Z({event:q(`pause`),payload:W({})}),Z({event:q(`ended`),payload:W({})}),Z({event:q(`timeupdate`),payload:W({time:V(),duration:V()})}),Z({event:q(`volumechange`),payload:W({volume:V(),muted:H()})}),Z({event:q(`seeking`),payload:W({time:V()})}),Z({event:q(`seeked`),payload:W({time:V()})}),Z({event:q(`waiting`),payload:W({})}),Z({event:q(`playing`),payload:W({})}),Z({event:q(`qualitychange`),payload:W({level:V(),auto:H()})}),Z({event:q(`subtitlechange`),payload:W({id:V().nullable()})}),Z({event:q(`error`),payload:St}),Z({event:q(`autoplayblocked`),payload:W({})}),Z({event:q(`recovery`),payload:Rt}),Z({event:q(`sourceswitch`),payload:zt}),Z({event:q(`compatwarning`),payload:W({code:bt,message:B(),ua:B(),hostVersion:B().optional(),iframeVersion:B().optional(),rejectedEvent:B().optional()})}),Z({event:q(`stalled`),payload:W({phase:J([`start`,`end`]),position:V(),durationMs:V().optional(),kind:J([`playback`,`firstframe`,`seek`]).optional()})}),Z({event:q(`playablechange`),payload:W({playable:H(),reason:Ht,recoverable:H(),action:J([`retry`,`play`,`replace-source`,`recreate-frame`,`none`]).optional()})}),Z({event:q(`kernelhealth`),payload:W({degraded:H(),reason:J([`network`,`media`,`other`]),count:V(),durationMs:V(),detail:B()})}),Z({event:q(`audiohealth`),payload:W({degraded:H(),reason:q(`audio_data_gap`),durationMs:V()})}),Z({event:q(`bufferhealth`),payload:W({draining:H(),marginSec:V()})}),Z({event:q(`contextchange`),payload:Pt}),Z({event:q(`firstframe`),payload:Ct}),Z({event:q(`framefreeze`),payload:wt}),Z({event:q(`useraction`),payload:Et})]);function Wt(e,t){return{event:`compatwarning`,payload:{code:`W_EVENT_REJECTED`,message:`收到一条过不了契约校验的事件(${e??`(未知)`}),已丢弃。最常见的成因是 iframe 比宿主新 —— 先看两端契约版本差多少,再怀疑 iframe 有 bug。`,ua:t,...e===void 0?{}:{rejectedEvent:e}}}}let Gt=K(`method`,[W({method:q(`play`),params:W({}).optional()}),W({method:q(`pause`),params:W({}).optional()}),W({method:q(`seek`),params:W({time:V(),type:J([`exact`,`keyframe`]).optional()})}),W({method:q(`setVolume`),params:W({volume:V().min(0).max(1)})}),W({method:q(`setMuted`),params:W({muted:H()})}),W({method:q(`setPlaybackRate`),params:W({rate:V().min(.25).max(4)})}),W({method:q(`setQuality`),params:W({level:G([V(),q(`auto`)])})}),W({method:q(`setSubtitle`),params:W({id:G([V(),q(`off`)])})}),W({method:q(`setLocale`),params:W({locale:ft})}),W({method:q(`load`),params:W({source:dt})}),W({method:q(`retry`),params:W({}).strict().optional()}),W({method:q(`pushDanmaku`),params:W({item:pt})}),W({method:q(`setDanmakuEnabled`),params:W({enabled:H()})}),W({method:q(`clearDanmaku`),params:W({}).optional()}),W({method:q(`destroy`),params:W({}).optional()}),W({method:q(`enterFullscreen`),params:W({}).optional()}),W({method:q(`exitFullscreen`),params:W({}).optional()})]);J([`command`,`event`,`response`,`error`]);let Kt={version:B(),id:B(),timestamp:V()};function Q(e,t){return W({...Kt,type:q(e),payload:t})}let qt=G([Q(`command`,Gt),G([Q(`event`,Ut).extend({producerSessionId:Xe().optional(),sequence:Xe().optional()}),Q(`event`,Ut).extend({producerSessionId:B().min(1),sequence:V().int().positive()})]),Q(`response`,W({})),Q(`error`,St)]),Jt={E_NETWORK:`Network problem. Check your connection and try again.`,E_NETWORK_TIMEOUT:`The connection timed out. Check your network and try again.`,E_LOAD_FAILED:`Could not load the video. Check your connection and try again.`,E_HANDSHAKE_TIMEOUT:`The player took too long to start. Try again.`,E_AUTH_EXPIRED:`Your access to this video has expired. Reload the page to continue.`,E_MEDIA_DECODE:`The video could not be decoded. Try again.`,E_MEDIA_ABORTED:`Playback was interrupted. Try again.`,E_MEDIA_NOT_SUPPORTED:`This video format cannot be played here.`,E_MANIFEST_PARSE:`The video could not be read. Try again later.`,E_SUBTITLE_LOAD_FAILED:`Subtitles could not be loaded. Playback continues without them.`,E_AUTOPLAY_BLOCKED:`Tap play to start the video.`,E_ENV_CSP_BLOCKED:`This page blocked the player from loading.`,E_METHOD_NOT_SUPPORTED:`This action is not available here.`,E_DANMAKU_SEND_FAILED:`Your message could not be sent. Try again.`,E_PLAYER_DESTROYED:`The player is no longer available. Reload the page.`,E_FRAME_CRASHED:`The player stopped unexpectedly. Reload the page.`,E_HANDSHAKE_VERSION_MISMATCH:`The player version does not match. Reload the page.`,E_INTERNAL:`Something went wrong in the player. Reload the page.`,E_UNKNOWN:`Playback ran into a problem. Try again later.`},Yt={E_NETWORK:`网络连接异常,请检查网络后重试。`,E_NETWORK_TIMEOUT:`连接超时,请检查网络后重试。`,E_LOAD_FAILED:`视频加载失败,请检查网络后重试。`,E_HANDSHAKE_TIMEOUT:`播放器连接超时,请重试。`,E_AUTH_EXPIRED:`播放地址已失效,请获取新的播放地址。`,E_MEDIA_DECODE:`视频解码失败,请重试播放。`,E_MEDIA_ABORTED:`播放已中断,请重试。`,E_MEDIA_NOT_SUPPORTED:`当前设备无法播放此视频格式。`,E_MANIFEST_PARSE:`视频内容无法读取,请稍后再试或更换播放源。`,E_SUBTITLE_LOAD_FAILED:`字幕加载失败,视频仍可继续播放。`,E_AUTOPLAY_BLOCKED:`请点击播放以继续。`,E_ENV_CSP_BLOCKED:`当前页面阻止了播放器加载。`,E_METHOD_NOT_SUPPORTED:`当前无法执行此操作。`,E_DANMAKU_SEND_FAILED:`弹幕发送失败,请重试。`,E_PLAYER_DESTROYED:`播放器已关闭,请重新打开。`,E_FRAME_CRASHED:`播放器连接已断开,请重新打开播放器。`,E_HANDSHAKE_VERSION_MISMATCH:`播放器版本不匹配,请刷新页面。`,E_INTERNAL:`播放器发生异常,请刷新页面。`,E_UNKNOWN:`播放遇到问题,请稍后再试。`},Xt={loading:`Loading…`,"loading.initializing":`Starting player…`,"loading.buffering":`Buffering…`,"loading.stalled":`Restoring playback…`,"loading.reconnecting":`Reconnecting…`,"loading.source_switching":`Switching video source…`,"loading.frame_disconnected":`Connecting to player…`,play:`Play video`,retry:`Retry playback`,reconnect:`Reconnect`,refreshSource:`Get a new playback URL`,recreatePlayer:`Reconnect player`},Zt={loading:`加载中…`,"loading.initializing":`正在初始化播放器…`,"loading.buffering":`正在缓冲…`,"loading.stalled":`正在恢复播放…`,"loading.reconnecting":`正在重新连接…`,"loading.source_switching":`正在换源…`,"loading.frame_disconnected":`正在连接播放器…`,play:`播放视频`,retry:`重试播放`,reconnect:`重新连接`,refreshSource:`重新获取播放地址`,recreatePlayer:`重新连接播放器`},Qt={"controls.play":`Play`,"controls.pause":`Pause`,"controls.replay":`Replay`,"controls.fullscreen.enter":`Fullscreen`,"controls.fullscreen.exit":`Exit fullscreen`,"controls.pageFullscreen.enter":`CSS fullscreen`,"controls.pageFullscreen.exit":`Exit CSS fullscreen`,"controls.pip":`Picture in picture`,"controls.subtitle":`Captions`,"controls.subtitle.off":`Off`,"controls.live":`Live`,"controls.rotate":`Rotate`},$t={"controls.play":`播放`,"controls.pause":`暂停`,"controls.replay":`重播`,"controls.fullscreen.enter":`进入全屏`,"controls.fullscreen.exit":`退出全屏`,"controls.pageFullscreen.enter":`进入样式全屏`,"controls.pageFullscreen.exit":`退出样式全屏`,"controls.pip":`画中画`,"controls.subtitle":`字幕`,"controls.subtitle.off":`关闭`,"controls.live":`直播`,"controls.rotate":`旋转`},en=e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[`error.${e}`,t])),tn={...Zt,...en(Yt),...$t};({...Xt,...en(Jt),...Qt}),Object.keys(tn);function nn(e){return e||(typeof window<`u`?window:null)}function rn(e={}){let t=nn(e.target),n=e.iframe,r=e.origin==null?null:new Set(Array.isArray(e.origin)?e.origin:[e.origin]),i=new Set;function a(e){let t=e;if(typeof t!=`object`||!t||t.type!==`event`)return;let n=t.payload?.event,r=typeof n==`string`?n:`(未知)`;i.has(r)||(i.add(r),o(Wt(typeof n==`string`?n:void 0,typeof navigator>`u`?``:navigator.userAgent)))}function o(e){let{event:t,payload:n}=e;for(let t of c)try{t(e)}catch{}let r=s.get(t);if(r)for(let e of r)try{e(n)}catch(e){console.warn(`[SentinelEmbed] 事件处理器抛错:`,e)}}let s=new Map,c=new Set,l=e=>{let t=e;if(r&&!r.has(t.origin)||n&&t.source!==n.contentWindow)return;let i=qt.safeParse(t.data);if(!i.success){a(t.data);return}i.data.type===`event`&&o(i.data.producerSessionId!==void 0&&i.data.sequence!==void 0?{...i.data.payload,delivery:{producerSessionId:i.data.producerSessionId,deliveryId:i.data.id,occurredAtMs:i.data.timestamp,sequence:i.data.sequence}}:i.data.payload)};t?.addEventListener(`message`,l);let u=(e,t)=>{s.get(e)?.delete(t)};return{on:(e,t)=>{let n=s.get(e);return n||(n=new Set,s.set(e,n)),n.add(t),()=>u(e,t)},onAny:e=>(c.add(e),()=>c.delete(e)),off:u,destroy:()=>{t?.removeEventListener(`message`,l),s.clear(),c.clear()}}}let an=0;function on(){return globalThis.crypto?.randomUUID?.()||(an+=1,`page-fullscreen-${Date.now().toString(36)}-${an.toString(36)}`)}function sn(e){if(new URL(e.origin).origin!==e.origin||e.origin===`null`)throw Error(`网页全屏要求精确 origin`);let{iframe:t,origin:n,adapter:r}=e,i=t.ownerDocument.defaultView;if(!i)throw Error(`iframe 尚无宿主窗口`);let a=on(),o=``,s=0,c=!1,l=!1,u=Date.now(),d=0,f=Promise.resolve(),p;function m(e){let r=t.contentWindow;if(r){try{if(r.location.href===`about:blank`)return}catch(e){if(!(e instanceof DOMException)||e.name!==`SecurityError`)throw e}r.postMessage(e,n)}}function h(){o&&m({channel:`video-lab:page-fullscreen`,version:1,type:`state`,session:a,instance:o,revision:s,active:c})}function g(){m({channel:`video-lab:page-fullscreen`,version:1,type:`hello`,session:a}),p&&h()}function _(e){if(!p)return;let t=p;p=void 0,clearTimeout(t.timer),e?t.reject(e):t.resolve()}function v(){l||(l=!0,clearInterval(S),i?.removeEventListener(`message`,b),i?.removeEventListener(`keydown`,x),t.removeEventListener(`load`,ee),m({channel:`video-lab:page-fullscreen`,version:1,type:`disconnect`,session:a}),_(Error(`网页全屏连接已销毁`)),c=!1,r.dispose())}function y(t){let n=a,i=f.then(async()=>{if(l||!o||n!==a)throw Error(`iframe 尚未确认网页全屏支持`);let i=o,u,d=Promise.resolve().then(()=>r.setActive(t)).then(()=>{if(l||n!==a||o!==i)throw r.dispose(),Error(`网页全屏请求已失效`)});try{await Promise.race([d,new Promise((e,t)=>{u=setTimeout(()=>{v(),t(Error(`宿主布局超时`))},1e4)})]),c=t,s+=1,await new Promise((e,t)=>{p={revision:s,resolve:e,reject:t,timer:setTimeout(()=>{v()},1e4)},h()}),e.onChange?.({active:c})}catch(e){throw c=!1,r.dispose(),l||(s+=1,h()),e}finally{clearTimeout(u)}});return f=i.catch(()=>{}),i}function b(e){if(l||e.source!==t.contentWindow||e.origin!==n)return;let i=Dt.safeParse(e.data);if(!i.success||i.data.session!==a)return;let f=i.data;if(f.type===`ready`){if(o&&o!==f.instance)return;u=Date.now(),o!==f.instance&&(_(Error(`iframe 已重新加载`)),c&&r.dispose(),c=!1,o=f.instance,s=0,d=0,h())}else if(f.type===`ack`&&f.instance===o&&f.revision===p?.revision)_();else if(f.type===`request`&&f.instance===o){if(f.id<=d){h();return}d=f.id,y(f.active).catch(()=>{})}}function x(e){e.key===`Escape`&&c&&y(!1).catch(()=>{})}function ee(){a=on(),_(Error(`iframe 已重新加载`)),o=``,c=!1,r.dispose(),g()}i.addEventListener(`message`,b),i.addEventListener(`keydown`,x),t.addEventListener(`load`,ee);let S=setInterval(()=>{o&&Date.now()-u>5e3?v():g()},1e3);return g(),{setPageFullscreen:y,destroy:v}}let $=null;function cn(){return $||=rn(),$}function ln(e,t){return cn().on(e,t)}function un(e){return cn().onAny(e)}function dn(e,t){cn().off(e,t)}function fn(){$?.destroy(),$=null}return e.createEmbedListener=rn,e.createPageFullscreenController=sn,e.destroy=fn,e.off=dn,e.on=ln,e.onAny=un,e})({});
1
+ var SentinelEmbed=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t;(function(e){e.assertEqual=e=>{};function t(e){}e.assertIs=t;function n(e){throw Error()}e.assertNever=n,e.arrayToEnum=e=>{let t={};for(let n of e)t[n]=n;return t},e.getValidEnumValues=t=>{let n=e.objectKeys(t).filter(e=>typeof t[t[e]]!=`number`),r={};for(let e of n)r[e]=t[e];return e.objectValues(r)},e.objectValues=t=>e.objectKeys(t).map(function(e){return t[e]}),e.objectKeys=typeof Object.keys==`function`?e=>Object.keys(e):e=>{let t=[];for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(let n of e)if(t(n))return n},e.isInteger=typeof Number.isInteger==`function`?e=>Number.isInteger(e):e=>typeof e==`number`&&Number.isFinite(e)&&Math.floor(e)===e;function r(e,t=` | `){return e.map(e=>typeof e==`string`?`'${e}'`:e).join(t)}e.joinValues=r,e.jsonStringifyReplacer=(e,t)=>typeof t==`bigint`?t.toString():t})(t||={});var n;(function(e){e.mergeShapes=(e,t)=>({...e,...t})})(n||={});let r=t.arrayToEnum([`string`,`nan`,`number`,`integer`,`float`,`boolean`,`date`,`bigint`,`symbol`,`function`,`undefined`,`null`,`array`,`object`,`unknown`,`promise`,`void`,`never`,`map`,`set`]),i=e=>{switch(typeof e){case`undefined`:return r.undefined;case`string`:return r.string;case`number`:return Number.isNaN(e)?r.nan:r.number;case`boolean`:return r.boolean;case`function`:return r.function;case`bigint`:return r.bigint;case`symbol`:return r.symbol;case`object`:return Array.isArray(e)?r.array:e===null?r.null:e.then&&typeof e.then==`function`&&e.catch&&typeof e.catch==`function`?r.promise:typeof Map<`u`&&e instanceof Map?r.map:typeof Set<`u`&&e instanceof Set?r.set:typeof Date<`u`&&e instanceof Date?r.date:r.object;default:return r.unknown}},a=t.arrayToEnum([`invalid_type`,`invalid_literal`,`custom`,`invalid_union`,`invalid_union_discriminator`,`invalid_enum_value`,`unrecognized_keys`,`invalid_arguments`,`invalid_return_type`,`invalid_date`,`invalid_string`,`too_small`,`too_big`,`invalid_intersection_types`,`not_multiple_of`,`not_finite`]);var o=class e extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name=`ZodError`,this.issues=e}format(e){let t=e||function(e){return e.message},n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`)i.unionErrors.map(r);else if(i.code===`invalid_return_type`)r(i.returnTypeError);else if(i.code===`invalid_arguments`)r(i.argumentsError);else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(this),n}static assert(t){if(!(t instanceof e))throw Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,t.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=e=>e.message){let t={},n=[];for(let r of this.issues)if(r.path.length>0){let n=r.path[0];t[n]=t[n]||[],t[n].push(e(r))}else n.push(e(r));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}};o.create=e=>new o(e);let s=(e,n)=>{let i;switch(e.code){case a.invalid_type:i=e.received===r.undefined?`Required`:`Expected ${e.expected}, received ${e.received}`;break;case a.invalid_literal:i=`Invalid literal value, expected ${JSON.stringify(e.expected,t.jsonStringifyReplacer)}`;break;case a.unrecognized_keys:i=`Unrecognized key(s) in object: ${t.joinValues(e.keys,`, `)}`;break;case a.invalid_union:i=`Invalid input`;break;case a.invalid_union_discriminator:i=`Invalid discriminator value. Expected ${t.joinValues(e.options)}`;break;case a.invalid_enum_value:i=`Invalid enum value. Expected ${t.joinValues(e.options)}, received '${e.received}'`;break;case a.invalid_arguments:i=`Invalid function arguments`;break;case a.invalid_return_type:i=`Invalid function return type`;break;case a.invalid_date:i=`Invalid date`;break;case a.invalid_string:typeof e.validation==`object`?`includes`in e.validation?(i=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position==`number`&&(i=`${i} at one or more positions greater than or equal to ${e.validation.position}`)):`startsWith`in e.validation?i=`Invalid input: must start with "${e.validation.startsWith}"`:`endsWith`in e.validation?i=`Invalid input: must end with "${e.validation.endsWith}"`:t.assertNever(e.validation):i=e.validation===`regex`?`Invalid`:`Invalid ${e.validation}`;break;case a.too_small:i=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at least`:`more than`} ${e.minimum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at least`:`over`} ${e.minimum} character(s)`:e.type===`number`||e.type===`bigint`?`Number must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${e.minimum}`:e.type===`date`?`Date must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${new Date(Number(e.minimum))}`:`Invalid input`;break;case a.too_big:i=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at most`:`less than`} ${e.maximum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at most`:`under`} ${e.maximum} character(s)`:e.type===`number`?`Number must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`bigint`?`BigInt must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`date`?`Date must be ${e.exact?`exactly`:e.inclusive?`smaller than or equal to`:`smaller than`} ${new Date(Number(e.maximum))}`:`Invalid input`;break;case a.custom:i=`Invalid input`;break;case a.invalid_intersection_types:i=`Intersection results could not be merged`;break;case a.not_multiple_of:i=`Number must be a multiple of ${e.multipleOf}`;break;case a.not_finite:i=`Number must be finite`;break;default:i=n.defaultError,t.assertNever(e)}return{message:i}},c=s;function l(){return c}let u=e=>{let{data:t,path:n,errorMaps:r,issueData:i}=e,a=[...n,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let s=``,c=r.filter(e=>!!e).slice().reverse();for(let e of c)s=e(o,{data:t,defaultError:s}).message;return{...i,path:a,message:s}};function d(e,t){let n=l(),r=u({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===s?void 0:s].filter(e=>!!e)});e.common.issues.push(r)}var f=class e{constructor(){this.value=`valid`}dirty(){this.value===`valid`&&(this.value=`dirty`)}abort(){this.value!==`aborted`&&(this.value=`aborted`)}static mergeArray(e,t){let n=[];for(let r of t){if(r.status===`aborted`)return p;r.status===`dirty`&&e.dirty(),n.push(r.value)}return{status:e.value,value:n}}static async mergeObjectAsync(t,n){let r=[];for(let e of n){let t=await e.key,n=await e.value;r.push({key:t,value:n})}return e.mergeObjectSync(t,r)}static mergeObjectSync(e,t){let n={};for(let r of t){let{key:t,value:i}=r;if(t.status===`aborted`||i.status===`aborted`)return p;t.status===`dirty`&&e.dirty(),i.status===`dirty`&&e.dirty(),t.value!==`__proto__`&&(i.value!==void 0||r.alwaysSet)&&(n[t.value]=i.value)}return{status:e.value,value:n}}};let p=Object.freeze({status:`aborted`}),m=e=>({status:`dirty`,value:e}),h=e=>({status:`valid`,value:e}),g=e=>e.status===`aborted`,_=e=>e.status===`dirty`,v=e=>e.status===`valid`,y=e=>typeof Promise<`u`&&e instanceof Promise;var b;(function(e){e.errToObj=e=>typeof e==`string`?{message:e}:e||{},e.toString=e=>typeof e==`string`?e:e?.message})(b||={});var x=class{constructor(e,t,n,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}};let ee=(e,t)=>{if(v(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw Error(`Validation failed but no issues detected.`);return{success:!1,get error(){if(this._error)return this._error;let t=new o(e.common.issues);return this._error=t,this._error}}};function S(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(t,i)=>{let{message:a}=e;return t.code===`invalid_enum_value`?{message:a??i.defaultError}:i.data===void 0?{message:a??r??i.defaultError}:t.code===`invalid_type`?{message:a??n??i.defaultError}:{message:i.defaultError}},description:i}}var C=class{get description(){return this._def.description}_getType(e){return i(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:i(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new f,ctx:{common:e.parent.common,data:e.data,parsedType:i(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(y(t))throw Error(`Synchronous parse encountered promise.`);return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){let n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:i(e)},r=this._parseSync({data:e,path:n.path,parent:n});return ee(n,r)}"~validate"(e){let t={common:{issues:[],async:!!this[`~standard`].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:i(e)};if(!this[`~standard`].async)try{let n=this._parseSync({data:e,path:[],parent:t});return v(n)?{value:n.value}:{issues:t.common.issues}}catch(e){e?.message?.toLowerCase()?.includes(`encountered`)&&(this[`~standard`].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(e=>v(e)?{value:e.value}:{issues:t.common.issues})}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:i(e)},r=this._parse({data:e,path:n.path,parent:n}),a=await(y(r)?r:Promise.resolve(r));return ee(n,a)}refine(e,t){let n=e=>typeof t==`string`||t===void 0?{message:t}:typeof t==`function`?t(e):t;return this._refinement((t,r)=>{let i=e(t),o=()=>r.addIssue({code:a.custom,...n(t)});return typeof Promise<`u`&&i instanceof Promise?i.then(e=>e?!0:(o(),!1)):i?!0:(o(),!1)})}refinement(e,t){return this._refinement((n,r)=>e(n)?!0:(r.addIssue(typeof t==`function`?t(n,r):t),!1))}_refinement(e){return new P({schema:this,typeName:R.ZodEffects,effect:{type:`refinement`,refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this[`~standard`]={version:1,vendor:`zod`,validate:e=>this[`~validate`](e)}}optional(){return F.create(this,this._def)}nullable(){return I.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return O.create(this)}promise(){return N.create(this,this._def)}or(e){return Ne.create([this,e],this._def)}and(e){return Ie.create(this,e,this._def)}transform(e){return new P({...S(this._def),schema:this,typeName:R.ZodEffects,effect:{type:`transform`,transform:e}})}default(e){let t=typeof e==`function`?e:()=>e;return new Ke({...S(this._def),innerType:this,defaultValue:t,typeName:R.ZodDefault})}brand(){return new Ye({typeName:R.ZodBranded,type:this,...S(this._def)})}catch(e){let t=typeof e==`function`?e:()=>e;return new qe({...S(this._def),innerType:this,catchValue:t,typeName:R.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return Xe.create(this,e)}readonly(){return L.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}};let te=/^c[^\s-]{8,}$/i,ne=/^[0-9a-z]+$/,re=/^[0-9A-HJKMNP-TV-Z]{26}$/i,ie=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,ae=/^[a-z0-9_-]{21}$/i,oe=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,se=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,ce=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,le,ue=/^(?:(?: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])$/,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])\/(3[0-2]|[12]?[0-9])$/,fe=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,pe=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,me=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,he=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,ge=`((\\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])))`,_e=RegExp(`^${ge}$`);function ve(e){let t=`[0-5]\\d`;e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision??(t=`${t}(\\.\\d+)?`);let n=e.precision?`+`:`?`;return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function ye(e){return RegExp(`^${ve(e)}$`)}function be(e){let t=`${ge}T${ve(e)}`,n=[];return n.push(e.local?`Z?`:`Z`),e.offset&&n.push(`([+-]\\d{2}:?\\d{2})`),t=`${t}(${n.join(`|`)})`,RegExp(`^${t}$`)}function xe(e,t){return!!((t===`v4`||!t)&&ue.test(e)||(t===`v6`||!t)&&fe.test(e))}function Se(e,t){if(!oe.test(e))return!1;try{let[n]=e.split(`.`);if(!n)return!1;let r=n.replace(/-/g,`+`).replace(/_/g,`/`).padEnd(n.length+(4-n.length%4)%4,`=`),i=JSON.parse(atob(r));return!(typeof i!=`object`||!i||`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&i.alg!==t)}catch{return!1}}function Ce(e,t){return!!((t===`v4`||!t)&&de.test(e)||(t===`v6`||!t)&&pe.test(e))}var we=class e extends C{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==r.string){let t=this._getOrReturnCtx(e);return d(t,{code:a.invalid_type,expected:r.string,received:t.parsedType}),p}let n=new f,i;for(let r of this._def.checks)if(r.kind===`min`)e.data.length<r.value&&(i=this._getOrReturnCtx(e,i),d(i,{code:a.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),n.dirty());else if(r.kind===`max`)e.data.length>r.value&&(i=this._getOrReturnCtx(e,i),d(i,{code:a.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),n.dirty());else if(r.kind===`length`){let t=e.data.length>r.value,o=e.data.length<r.value;(t||o)&&(i=this._getOrReturnCtx(e,i),t?d(i,{code:a.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}):o&&d(i,{code:a.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}),n.dirty())}else if(r.kind===`email`)ce.test(e.data)||(i=this._getOrReturnCtx(e,i),d(i,{validation:`email`,code:a.invalid_string,message:r.message}),n.dirty());else if(r.kind===`emoji`)le||=RegExp(`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,`u`),le.test(e.data)||(i=this._getOrReturnCtx(e,i),d(i,{validation:`emoji`,code:a.invalid_string,message:r.message}),n.dirty());else if(r.kind===`uuid`)ie.test(e.data)||(i=this._getOrReturnCtx(e,i),d(i,{validation:`uuid`,code:a.invalid_string,message:r.message}),n.dirty());else if(r.kind===`nanoid`)ae.test(e.data)||(i=this._getOrReturnCtx(e,i),d(i,{validation:`nanoid`,code:a.invalid_string,message:r.message}),n.dirty());else if(r.kind===`cuid`)te.test(e.data)||(i=this._getOrReturnCtx(e,i),d(i,{validation:`cuid`,code:a.invalid_string,message:r.message}),n.dirty());else if(r.kind===`cuid2`)ne.test(e.data)||(i=this._getOrReturnCtx(e,i),d(i,{validation:`cuid2`,code:a.invalid_string,message:r.message}),n.dirty());else if(r.kind===`ulid`)re.test(e.data)||(i=this._getOrReturnCtx(e,i),d(i,{validation:`ulid`,code:a.invalid_string,message:r.message}),n.dirty());else if(r.kind===`url`)try{new URL(e.data)}catch{i=this._getOrReturnCtx(e,i),d(i,{validation:`url`,code:a.invalid_string,message:r.message}),n.dirty()}else r.kind===`regex`?(r.regex.lastIndex=0,r.regex.test(e.data)||(i=this._getOrReturnCtx(e,i),d(i,{validation:`regex`,code:a.invalid_string,message:r.message}),n.dirty())):r.kind===`trim`?e.data=e.data.trim():r.kind===`includes`?e.data.includes(r.value,r.position)||(i=this._getOrReturnCtx(e,i),d(i,{code:a.invalid_string,validation:{includes:r.value,position:r.position},message:r.message}),n.dirty()):r.kind===`toLowerCase`?e.data=e.data.toLowerCase():r.kind===`toUpperCase`?e.data=e.data.toUpperCase():r.kind===`startsWith`?e.data.startsWith(r.value)||(i=this._getOrReturnCtx(e,i),d(i,{code:a.invalid_string,validation:{startsWith:r.value},message:r.message}),n.dirty()):r.kind===`endsWith`?e.data.endsWith(r.value)||(i=this._getOrReturnCtx(e,i),d(i,{code:a.invalid_string,validation:{endsWith:r.value},message:r.message}),n.dirty()):r.kind===`datetime`?be(r).test(e.data)||(i=this._getOrReturnCtx(e,i),d(i,{code:a.invalid_string,validation:`datetime`,message:r.message}),n.dirty()):r.kind===`date`?_e.test(e.data)||(i=this._getOrReturnCtx(e,i),d(i,{code:a.invalid_string,validation:`date`,message:r.message}),n.dirty()):r.kind===`time`?ye(r).test(e.data)||(i=this._getOrReturnCtx(e,i),d(i,{code:a.invalid_string,validation:`time`,message:r.message}),n.dirty()):r.kind===`duration`?se.test(e.data)||(i=this._getOrReturnCtx(e,i),d(i,{validation:`duration`,code:a.invalid_string,message:r.message}),n.dirty()):r.kind===`ip`?xe(e.data,r.version)||(i=this._getOrReturnCtx(e,i),d(i,{validation:`ip`,code:a.invalid_string,message:r.message}),n.dirty()):r.kind===`jwt`?Se(e.data,r.alg)||(i=this._getOrReturnCtx(e,i),d(i,{validation:`jwt`,code:a.invalid_string,message:r.message}),n.dirty()):r.kind===`cidr`?Ce(e.data,r.version)||(i=this._getOrReturnCtx(e,i),d(i,{validation:`cidr`,code:a.invalid_string,message:r.message}),n.dirty()):r.kind===`base64`?me.test(e.data)||(i=this._getOrReturnCtx(e,i),d(i,{validation:`base64`,code:a.invalid_string,message:r.message}),n.dirty()):r.kind===`base64url`?he.test(e.data)||(i=this._getOrReturnCtx(e,i),d(i,{validation:`base64url`,code:a.invalid_string,message:r.message}),n.dirty()):t.assertNever(r);return{status:n.value,value:e.data}}_regex(e,t,n){return this.refinement(t=>e.test(t),{validation:t,code:a.invalid_string,...b.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(e){return this._addCheck({kind:`email`,...b.errToObj(e)})}url(e){return this._addCheck({kind:`url`,...b.errToObj(e)})}emoji(e){return this._addCheck({kind:`emoji`,...b.errToObj(e)})}uuid(e){return this._addCheck({kind:`uuid`,...b.errToObj(e)})}nanoid(e){return this._addCheck({kind:`nanoid`,...b.errToObj(e)})}cuid(e){return this._addCheck({kind:`cuid`,...b.errToObj(e)})}cuid2(e){return this._addCheck({kind:`cuid2`,...b.errToObj(e)})}ulid(e){return this._addCheck({kind:`ulid`,...b.errToObj(e)})}base64(e){return this._addCheck({kind:`base64`,...b.errToObj(e)})}base64url(e){return this._addCheck({kind:`base64url`,...b.errToObj(e)})}jwt(e){return this._addCheck({kind:`jwt`,...b.errToObj(e)})}ip(e){return this._addCheck({kind:`ip`,...b.errToObj(e)})}cidr(e){return this._addCheck({kind:`cidr`,...b.errToObj(e)})}datetime(e){return typeof e==`string`?this._addCheck({kind:`datetime`,precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:`datetime`,precision:e?.precision===void 0?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...b.errToObj(e?.message)})}date(e){return this._addCheck({kind:`date`,message:e})}time(e){return typeof e==`string`?this._addCheck({kind:`time`,precision:null,message:e}):this._addCheck({kind:`time`,precision:e?.precision===void 0?null:e?.precision,...b.errToObj(e?.message)})}duration(e){return this._addCheck({kind:`duration`,...b.errToObj(e)})}regex(e,t){return this._addCheck({kind:`regex`,regex:e,...b.errToObj(t)})}includes(e,t){return this._addCheck({kind:`includes`,value:e,position:t?.position,...b.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:`startsWith`,value:e,...b.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:`endsWith`,value:e,...b.errToObj(t)})}min(e,t){return this._addCheck({kind:`min`,value:e,...b.errToObj(t)})}max(e,t){return this._addCheck({kind:`max`,value:e,...b.errToObj(t)})}length(e,t){return this._addCheck({kind:`length`,value:e,...b.errToObj(t)})}nonempty(e){return this.min(1,b.errToObj(e))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:`trim`}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toLowerCase`}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toUpperCase`}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind===`datetime`)}get isDate(){return!!this._def.checks.find(e=>e.kind===`date`)}get isTime(){return!!this._def.checks.find(e=>e.kind===`time`)}get isDuration(){return!!this._def.checks.find(e=>e.kind===`duration`)}get isEmail(){return!!this._def.checks.find(e=>e.kind===`email`)}get isURL(){return!!this._def.checks.find(e=>e.kind===`url`)}get isEmoji(){return!!this._def.checks.find(e=>e.kind===`emoji`)}get isUUID(){return!!this._def.checks.find(e=>e.kind===`uuid`)}get isNANOID(){return!!this._def.checks.find(e=>e.kind===`nanoid`)}get isCUID(){return!!this._def.checks.find(e=>e.kind===`cuid`)}get isCUID2(){return!!this._def.checks.find(e=>e.kind===`cuid2`)}get isULID(){return!!this._def.checks.find(e=>e.kind===`ulid`)}get isIP(){return!!this._def.checks.find(e=>e.kind===`ip`)}get isCIDR(){return!!this._def.checks.find(e=>e.kind===`cidr`)}get isBase64(){return!!this._def.checks.find(e=>e.kind===`base64`)}get isBase64url(){return!!this._def.checks.find(e=>e.kind===`base64url`)}get minLength(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};we.create=e=>new we({checks:[],typeName:R.ZodString,coerce:e?.coerce??!1,...S(e)});function Te(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=(t.toString().split(`.`)[1]||``).length,i=n>r?n:r;return Number.parseInt(e.toFixed(i).replace(`.`,``))%Number.parseInt(t.toFixed(i).replace(`.`,``))/10**i}var Ee=class e extends C{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==r.number){let t=this._getOrReturnCtx(e);return d(t,{code:a.invalid_type,expected:r.number,received:t.parsedType}),p}let n,i=new f;for(let r of this._def.checks)r.kind===`int`?t.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),d(n,{code:a.invalid_type,expected:`integer`,received:`float`,message:r.message}),i.dirty()):r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(n=this._getOrReturnCtx(e,n),d(n,{code:a.too_small,minimum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),i.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(n=this._getOrReturnCtx(e,n),d(n,{code:a.too_big,maximum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),i.dirty()):r.kind===`multipleOf`?Te(e.data,r.value)!==0&&(n=this._getOrReturnCtx(e,n),d(n,{code:a.not_multiple_of,multipleOf:r.value,message:r.message}),i.dirty()):r.kind===`finite`?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),d(n,{code:a.not_finite,message:r.message}),i.dirty()):t.assertNever(r);return{status:i.value,value:e.data}}gte(e,t){return this.setLimit(`min`,e,!0,b.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,b.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,b.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,b.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:b.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(e){return this._addCheck({kind:`int`,message:b.toString(e)})}positive(e){return this._addCheck({kind:`min`,value:0,inclusive:!1,message:b.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:0,inclusive:!1,message:b.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:0,inclusive:!0,message:b.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:0,inclusive:!0,message:b.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:b.toString(t)})}finite(e){return this._addCheck({kind:`finite`,message:b.toString(e)})}safe(e){return this._addCheck({kind:`min`,inclusive:!0,value:-(2**53-1),message:b.toString(e)})._addCheck({kind:`max`,inclusive:!0,value:2**53-1,message:b.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind===`int`||e.kind===`multipleOf`&&t.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let n of this._def.checks)if(n.kind===`finite`||n.kind===`int`||n.kind===`multipleOf`)return!0;else n.kind===`min`?(t===null||n.value>t)&&(t=n.value):n.kind===`max`&&(e===null||n.value<e)&&(e=n.value);return Number.isFinite(t)&&Number.isFinite(e)}};Ee.create=e=>new Ee({checks:[],typeName:R.ZodNumber,coerce:e?.coerce||!1,...S(e)});var De=class e extends C{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==r.bigint)return this._getInvalidInput(e);let n,i=new f;for(let r of this._def.checks)r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(n=this._getOrReturnCtx(e,n),d(n,{code:a.too_small,type:`bigint`,minimum:r.value,inclusive:r.inclusive,message:r.message}),i.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(n=this._getOrReturnCtx(e,n),d(n,{code:a.too_big,type:`bigint`,maximum:r.value,inclusive:r.inclusive,message:r.message}),i.dirty()):r.kind===`multipleOf`?e.data%r.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),d(n,{code:a.not_multiple_of,multipleOf:r.value,message:r.message}),i.dirty()):t.assertNever(r);return{status:i.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return d(t,{code:a.invalid_type,expected:r.bigint,received:t.parsedType}),p}gte(e,t){return this.setLimit(`min`,e,!0,b.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,b.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,b.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,b.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:b.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!1,message:b.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!1,message:b.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!0,message:b.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!0,message:b.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:b.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};De.create=e=>new De({checks:[],typeName:R.ZodBigInt,coerce:e?.coerce??!1,...S(e)});var Oe=class extends C{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==r.boolean){let t=this._getOrReturnCtx(e);return d(t,{code:a.invalid_type,expected:r.boolean,received:t.parsedType}),p}return h(e.data)}};Oe.create=e=>new Oe({typeName:R.ZodBoolean,coerce:e?.coerce||!1,...S(e)});var ke=class e extends C{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==r.date){let t=this._getOrReturnCtx(e);return d(t,{code:a.invalid_type,expected:r.date,received:t.parsedType}),p}if(Number.isNaN(e.data.getTime()))return d(this._getOrReturnCtx(e),{code:a.invalid_date}),p;let n=new f,i;for(let r of this._def.checks)r.kind===`min`?e.data.getTime()<r.value&&(i=this._getOrReturnCtx(e,i),d(i,{code:a.too_small,message:r.message,inclusive:!0,exact:!1,minimum:r.value,type:`date`}),n.dirty()):r.kind===`max`?e.data.getTime()>r.value&&(i=this._getOrReturnCtx(e,i),d(i,{code:a.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:`date`}),n.dirty()):t.assertNever(r);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(e,t){return this._addCheck({kind:`min`,value:e.getTime(),message:b.toString(t)})}max(e,t){return this._addCheck({kind:`max`,value:e.getTime(),message:b.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e==null?null:new Date(e)}get maxDate(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e==null?null:new Date(e)}};ke.create=e=>new ke({checks:[],coerce:e?.coerce||!1,typeName:R.ZodDate,...S(e)});var Ae=class extends C{_parse(e){if(this._getType(e)!==r.symbol){let t=this._getOrReturnCtx(e);return d(t,{code:a.invalid_type,expected:r.symbol,received:t.parsedType}),p}return h(e.data)}};Ae.create=e=>new Ae({typeName:R.ZodSymbol,...S(e)});var w=class extends C{_parse(e){if(this._getType(e)!==r.undefined){let t=this._getOrReturnCtx(e);return d(t,{code:a.invalid_type,expected:r.undefined,received:t.parsedType}),p}return h(e.data)}};w.create=e=>new w({typeName:R.ZodUndefined,...S(e)});var T=class extends C{_parse(e){if(this._getType(e)!==r.null){let t=this._getOrReturnCtx(e);return d(t,{code:a.invalid_type,expected:r.null,received:t.parsedType}),p}return h(e.data)}};T.create=e=>new T({typeName:R.ZodNull,...S(e)});var je=class extends C{constructor(){super(...arguments),this._any=!0}_parse(e){return h(e.data)}};je.create=e=>new je({typeName:R.ZodAny,...S(e)});var E=class extends C{constructor(){super(...arguments),this._unknown=!0}_parse(e){return h(e.data)}};E.create=e=>new E({typeName:R.ZodUnknown,...S(e)});var D=class extends C{_parse(e){let t=this._getOrReturnCtx(e);return d(t,{code:a.invalid_type,expected:r.never,received:t.parsedType}),p}};D.create=e=>new D({typeName:R.ZodNever,...S(e)});var Me=class extends C{_parse(e){if(this._getType(e)!==r.undefined){let t=this._getOrReturnCtx(e);return d(t,{code:a.invalid_type,expected:r.void,received:t.parsedType}),p}return h(e.data)}};Me.create=e=>new Me({typeName:R.ZodVoid,...S(e)});var O=class e extends C{_parse(e){let{ctx:t,status:n}=this._processInputParams(e),i=this._def;if(t.parsedType!==r.array)return d(t,{code:a.invalid_type,expected:r.array,received:t.parsedType}),p;if(i.exactLength!==null){let e=t.data.length>i.exactLength.value,r=t.data.length<i.exactLength.value;(e||r)&&(d(t,{code:e?a.too_big:a.too_small,minimum:r?i.exactLength.value:void 0,maximum:e?i.exactLength.value:void 0,type:`array`,inclusive:!0,exact:!0,message:i.exactLength.message}),n.dirty())}if(i.minLength!==null&&t.data.length<i.minLength.value&&(d(t,{code:a.too_small,minimum:i.minLength.value,type:`array`,inclusive:!0,exact:!1,message:i.minLength.message}),n.dirty()),i.maxLength!==null&&t.data.length>i.maxLength.value&&(d(t,{code:a.too_big,maximum:i.maxLength.value,type:`array`,inclusive:!0,exact:!1,message:i.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((e,n)=>i.type._parseAsync(new x(t,e,t.path,n)))).then(e=>f.mergeArray(n,e));let o=[...t.data].map((e,n)=>i.type._parseSync(new x(t,e,t.path,n)));return f.mergeArray(n,o)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:b.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:b.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:b.toString(n)}})}nonempty(e){return this.min(1,e)}};O.create=(e,t)=>new O({type:e,minLength:null,maxLength:null,exactLength:null,typeName:R.ZodArray,...S(t)});function k(e){if(e instanceof A){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=F.create(k(r))}return new A({...e._def,shape:()=>t})}else if(e instanceof O)return new O({...e._def,type:k(e.element)});else if(e instanceof F)return F.create(k(e.unwrap()));else if(e instanceof I)return I.create(k(e.unwrap()));else if(e instanceof M)return M.create(e.items.map(e=>k(e)));else return e}var A=class e extends C{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),n=t.objectKeys(e);return this._cached={shape:e,keys:n},this._cached}_parse(e){if(this._getType(e)!==r.object){let t=this._getOrReturnCtx(e);return d(t,{code:a.invalid_type,expected:r.object,received:t.parsedType}),p}let{status:t,ctx:n}=this._processInputParams(e),{shape:i,keys:o}=this._getCached(),s=[];if(!(this._def.catchall instanceof D&&this._def.unknownKeys===`strip`))for(let e in n.data)o.includes(e)||s.push(e);let c=[];for(let e of o){let t=i[e],r=n.data[e];c.push({key:{status:`valid`,value:e},value:t._parse(new x(n,r,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof D){let e=this._def.unknownKeys;if(e===`passthrough`)for(let e of s)c.push({key:{status:`valid`,value:e},value:{status:`valid`,value:n.data[e]}});else if(e===`strict`)s.length>0&&(d(n,{code:a.unrecognized_keys,keys:s}),t.dirty());else if(e!==`strip`)throw Error(`Internal ZodObject error: invalid unknownKeys value.`)}else{let e=this._def.catchall;for(let t of s){let r=n.data[t];c.push({key:{status:`valid`,value:t},value:e._parse(new x(n,r,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then(async()=>{let e=[];for(let t of c){let n=await t.key,r=await t.value;e.push({key:n,value:r,alwaysSet:t.alwaysSet})}return e}).then(e=>f.mergeObjectSync(t,e)):f.mergeObjectSync(t,c)}get shape(){return this._def.shape()}strict(t){return b.errToObj,new e({...this._def,unknownKeys:`strict`,...t===void 0?{}:{errorMap:(e,n)=>{let r=this._def.errorMap?.(e,n).message??n.defaultError;return e.code===`unrecognized_keys`?{message:b.errToObj(t).message??r}:{message:r}}}})}strip(){return new e({...this._def,unknownKeys:`strip`})}passthrough(){return new e({...this._def,unknownKeys:`passthrough`})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:R.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(t){return new e({...this._def,catchall:t})}pick(n){let r={};for(let e of t.objectKeys(n))n[e]&&this.shape[e]&&(r[e]=this.shape[e]);return new e({...this._def,shape:()=>r})}omit(n){let r={};for(let e of t.objectKeys(this.shape))n[e]||(r[e]=this.shape[e]);return new e({...this._def,shape:()=>r})}deepPartial(){return k(this)}partial(n){let r={};for(let e of t.objectKeys(this.shape)){let t=this.shape[e];n&&!n[e]?r[e]=t:r[e]=t.optional()}return new e({...this._def,shape:()=>r})}required(n){let r={};for(let e of t.objectKeys(this.shape))if(n&&!n[e])r[e]=this.shape[e];else{let t=this.shape[e];for(;t instanceof F;)t=t._def.innerType;r[e]=t}return new e({...this._def,shape:()=>r})}keyof(){return Ue(t.objectKeys(this.shape))}};A.create=(e,t)=>new A({shape:()=>e,unknownKeys:`strip`,catchall:D.create(),typeName:R.ZodObject,...S(t)}),A.strictCreate=(e,t)=>new A({shape:()=>e,unknownKeys:`strict`,catchall:D.create(),typeName:R.ZodObject,...S(t)}),A.lazycreate=(e,t)=>new A({shape:e,unknownKeys:`strip`,catchall:D.create(),typeName:R.ZodObject,...S(t)});var Ne=class extends C{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;function r(e){for(let t of e)if(t.result.status===`valid`)return t.result;for(let n of e)if(n.result.status===`dirty`)return t.common.issues.push(...n.ctx.common.issues),n.result;let n=e.map(e=>new o(e.ctx.common.issues));return d(t,{code:a.invalid_union,unionErrors:n}),p}if(t.common.async)return Promise.all(n.map(async e=>{let n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}})).then(r);{let e,r=[];for(let i of n){let n={...t,common:{...t.common,issues:[]},parent:null},a=i._parseSync({data:t.data,path:t.path,parent:n});if(a.status===`valid`)return a;a.status===`dirty`&&!e&&(e={result:a,ctx:n}),n.common.issues.length&&r.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;let i=r.map(e=>new o(e));return d(t,{code:a.invalid_union,unionErrors:i}),p}}get options(){return this._def.options}};Ne.create=(e,t)=>new Ne({options:e,typeName:R.ZodUnion,...S(t)});let j=e=>e instanceof Ve?j(e.schema):e instanceof P?j(e.innerType()):e instanceof He?[e.value]:e instanceof We?e.options:e instanceof Ge?t.objectValues(e.enum):e instanceof Ke?j(e._def.innerType):e instanceof w?[void 0]:e instanceof T?[null]:e instanceof F?[void 0,...j(e.unwrap())]:e instanceof I?[null,...j(e.unwrap())]:e instanceof Ye||e instanceof L?j(e.unwrap()):e instanceof qe?j(e._def.innerType):[];var Pe=class e extends C{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==r.object)return d(t,{code:a.invalid_type,expected:r.object,received:t.parsedType}),p;let n=this.discriminator,i=t.data[n],o=this.optionsMap.get(i);return o?t.common.async?o._parseAsync({data:t.data,path:t.path,parent:t}):o._parseSync({data:t.data,path:t.path,parent:t}):(d(t,{code:a.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),p)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let i=new Map;for(let e of n){let n=j(e.shape[t]);if(!n.length)throw Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let r of n){if(i.has(r))throw Error(`Discriminator property ${String(t)} has duplicate value ${String(r)}`);i.set(r,e)}}return new e({typeName:R.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...S(r)})}};function Fe(e,n){let a=i(e),o=i(n);if(e===n)return{valid:!0,data:e};if(a===r.object&&o===r.object){let r=t.objectKeys(n),i=t.objectKeys(e).filter(e=>r.indexOf(e)!==-1),a={...e,...n};for(let t of i){let r=Fe(e[t],n[t]);if(!r.valid)return{valid:!1};a[t]=r.data}return{valid:!0,data:a}}else if(a===r.array&&o===r.array){if(e.length!==n.length)return{valid:!1};let t=[];for(let r=0;r<e.length;r++){let i=e[r],a=n[r],o=Fe(i,a);if(!o.valid)return{valid:!1};t.push(o.data)}return{valid:!0,data:t}}else if(a===r.date&&o===r.date&&+e==+n)return{valid:!0,data:e};else return{valid:!1}}var Ie=class extends C{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=(e,r)=>{if(g(e)||g(r))return p;let i=Fe(e.value,r.value);return i.valid?((_(e)||_(r))&&t.dirty(),{status:t.value,value:i.data}):(d(n,{code:a.invalid_intersection_types}),p)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([e,t])=>r(e,t)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};Ie.create=(e,t,n)=>new Ie({left:e,right:t,typeName:R.ZodIntersection,...S(n)});var M=class e extends C{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==r.array)return d(n,{code:a.invalid_type,expected:r.array,received:n.parsedType}),p;if(n.data.length<this._def.items.length)return d(n,{code:a.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),p;!this._def.rest&&n.data.length>this._def.items.length&&(d(n,{code:a.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),t.dirty());let i=[...n.data].map((e,t)=>{let r=this._def.items[t]||this._def.rest;return r?r._parse(new x(n,e,n.path,t)):null}).filter(e=>!!e);return n.common.async?Promise.all(i).then(e=>f.mergeArray(t,e)):f.mergeArray(t,i)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};M.create=(e,t)=>{if(!Array.isArray(e))throw Error(`You must pass an array of schemas to z.tuple([ ... ])`);return new M({items:e,typeName:R.ZodTuple,rest:null,...S(t)})};var Le=class e extends C{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==r.object)return d(n,{code:a.invalid_type,expected:r.object,received:n.parsedType}),p;let i=[],o=this._def.keyType,s=this._def.valueType;for(let e in n.data)i.push({key:o._parse(new x(n,e,n.path,e)),value:s._parse(new x(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?f.mergeObjectAsync(t,i):f.mergeObjectSync(t,i)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof C?new e({keyType:t,valueType:n,typeName:R.ZodRecord,...S(r)}):new e({keyType:we.create(),valueType:t,typeName:R.ZodRecord,...S(n)})}},Re=class extends C{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==r.map)return d(n,{code:a.invalid_type,expected:r.map,received:n.parsedType}),p;let i=this._def.keyType,o=this._def.valueType,s=[...n.data.entries()].map(([e,t],r)=>({key:i._parse(new x(n,e,n.path,[r,`key`])),value:o._parse(new x(n,t,n.path,[r,`value`]))}));if(n.common.async){let e=new Map;return Promise.resolve().then(async()=>{for(let n of s){let r=await n.key,i=await n.value;if(r.status===`aborted`||i.status===`aborted`)return p;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}})}else{let e=new Map;for(let n of s){let r=n.key,i=n.value;if(r.status===`aborted`||i.status===`aborted`)return p;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}}}};Re.create=(e,t,n)=>new Re({valueType:t,keyType:e,typeName:R.ZodMap,...S(n)});var ze=class e extends C{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==r.set)return d(n,{code:a.invalid_type,expected:r.set,received:n.parsedType}),p;let i=this._def;i.minSize!==null&&n.data.size<i.minSize.value&&(d(n,{code:a.too_small,minimum:i.minSize.value,type:`set`,inclusive:!0,exact:!1,message:i.minSize.message}),t.dirty()),i.maxSize!==null&&n.data.size>i.maxSize.value&&(d(n,{code:a.too_big,maximum:i.maxSize.value,type:`set`,inclusive:!0,exact:!1,message:i.maxSize.message}),t.dirty());let o=this._def.valueType;function s(e){let n=new Set;for(let r of e){if(r.status===`aborted`)return p;r.status===`dirty`&&t.dirty(),n.add(r.value)}return{status:t.value,value:n}}let c=[...n.data.values()].map((e,t)=>o._parse(new x(n,e,n.path,t)));return n.common.async?Promise.all(c).then(e=>s(e)):s(c)}min(t,n){return new e({...this._def,minSize:{value:t,message:b.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:b.toString(n)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};ze.create=(e,t)=>new ze({valueType:e,minSize:null,maxSize:null,typeName:R.ZodSet,...S(t)});var Be=class e extends C{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==r.function)return d(t,{code:a.invalid_type,expected:r.function,received:t.parsedType}),p;function n(e,n){return u({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,l(),s].filter(e=>!!e),issueData:{code:a.invalid_arguments,argumentsError:n}})}function i(e,n){return u({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,l(),s].filter(e=>!!e),issueData:{code:a.invalid_return_type,returnTypeError:n}})}let c={errorMap:t.common.contextualErrorMap},f=t.data;if(this._def.returns instanceof N){let e=this;return h(async function(...t){let r=new o([]),a=await e._def.args.parseAsync(t,c).catch(e=>{throw r.addIssue(n(t,e)),r}),s=await Reflect.apply(f,this,a);return await e._def.returns._def.type.parseAsync(s,c).catch(e=>{throw r.addIssue(i(s,e)),r})})}else{let e=this;return h(function(...t){let r=e._def.args.safeParse(t,c);if(!r.success)throw new o([n(t,r.error)]);let a=Reflect.apply(f,this,r.data),s=e._def.returns.safeParse(a,c);if(!s.success)throw new o([i(a,s.error)]);return s.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:M.create(t).rest(E.create())})}returns(t){return new e({...this._def,returns:t})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(t,n,r){return new e({args:t||M.create([]).rest(E.create()),returns:n||E.create(),typeName:R.ZodFunction,...S(r)})}},Ve=class extends C{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};Ve.create=(e,t)=>new Ve({getter:e,typeName:R.ZodLazy,...S(t)});var He=class extends C{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return d(t,{received:t.data,code:a.invalid_literal,expected:this._def.value}),p}return{status:`valid`,value:e.data}}get value(){return this._def.value}};He.create=(e,t)=>new He({value:e,typeName:R.ZodLiteral,...S(t)});function Ue(e,t){return new We({values:e,typeName:R.ZodEnum,...S(t)})}var We=class e extends C{_parse(e){if(typeof e.data!=`string`){let n=this._getOrReturnCtx(e),r=this._def.values;return d(n,{expected:t.joinValues(r),received:n.parsedType,code:a.invalid_type}),p}if(this._cache||=new Set(this._def.values),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),n=this._def.values;return d(t,{received:t.data,code:a.invalid_enum_value,options:n}),p}return h(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(e=>!t.includes(e)),{...this._def,...n})}};We.create=Ue;var Ge=class extends C{_parse(e){let n=t.getValidEnumValues(this._def.values),i=this._getOrReturnCtx(e);if(i.parsedType!==r.string&&i.parsedType!==r.number){let e=t.objectValues(n);return d(i,{expected:t.joinValues(e),received:i.parsedType,code:a.invalid_type}),p}if(this._cache||=new Set(t.getValidEnumValues(this._def.values)),!this._cache.has(e.data)){let e=t.objectValues(n);return d(i,{received:i.data,code:a.invalid_enum_value,options:e}),p}return h(e.data)}get enum(){return this._def.values}};Ge.create=(e,t)=>new Ge({values:e,typeName:R.ZodNativeEnum,...S(t)});var N=class extends C{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==r.promise&&t.common.async===!1?(d(t,{code:a.invalid_type,expected:r.promise,received:t.parsedType}),p):h((t.parsedType===r.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}};N.create=(e,t)=>new N({type:e,typeName:R.ZodPromise,...S(t)});var P=class extends C{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===R.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:n,ctx:r}=this._processInputParams(e),i=this._def.effect||null,a={addIssue:e=>{d(r,e),e.fatal?n.abort():n.dirty()},get path(){return r.path}};if(a.addIssue=a.addIssue.bind(a),i.type===`preprocess`){let e=i.transform(r.data,a);if(r.common.async)return Promise.resolve(e).then(async e=>{if(n.value===`aborted`)return p;let t=await this._def.schema._parseAsync({data:e,path:r.path,parent:r});return t.status===`aborted`?p:t.status===`dirty`||n.value===`dirty`?m(t.value):t});{if(n.value===`aborted`)return p;let t=this._def.schema._parseSync({data:e,path:r.path,parent:r});return t.status===`aborted`?p:t.status===`dirty`||n.value===`dirty`?m(t.value):t}}if(i.type===`refinement`){let e=e=>{let t=i.refinement(e,a);if(r.common.async)return Promise.resolve(t);if(t instanceof Promise)throw Error(`Async refinement encountered during synchronous parse operation. Use .parseAsync instead.`);return e};if(r.common.async===!1){let t=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return t.status===`aborted`?p:(t.status===`dirty`&&n.dirty(),e(t.value),{status:n.value,value:t.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(t=>t.status===`aborted`?p:(t.status===`dirty`&&n.dirty(),e(t.value).then(()=>({status:n.value,value:t.value}))))}if(i.type===`transform`)if(r.common.async===!1){let e=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!v(e))return p;let t=i.transform(e.value,a);if(t instanceof Promise)throw Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);return{status:n.value,value:t}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(e=>v(e)?Promise.resolve(i.transform(e.value,a)).then(e=>({status:n.value,value:e})):p);t.assertNever(i)}};P.create=(e,t,n)=>new P({schema:e,typeName:R.ZodEffects,effect:t,...S(n)}),P.createWithPreprocess=(e,t,n)=>new P({schema:t,effect:{type:`preprocess`,transform:e},typeName:R.ZodEffects,...S(n)});var F=class extends C{_parse(e){return this._getType(e)===r.undefined?h(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};F.create=(e,t)=>new F({innerType:e,typeName:R.ZodOptional,...S(t)});var I=class extends C{_parse(e){return this._getType(e)===r.null?h(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};I.create=(e,t)=>new I({innerType:e,typeName:R.ZodNullable,...S(t)});var Ke=class extends C{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===r.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};Ke.create=(e,t)=>new Ke({innerType:e,typeName:R.ZodDefault,defaultValue:typeof t.default==`function`?t.default:()=>t.default,...S(t)});var qe=class extends C{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return y(r)?r.then(e=>({status:`valid`,value:e.status===`valid`?e.value:this._def.catchValue({get error(){return new o(n.common.issues)},input:n.data})})):{status:`valid`,value:r.status===`valid`?r.value:this._def.catchValue({get error(){return new o(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};qe.create=(e,t)=>new qe({innerType:e,typeName:R.ZodCatch,catchValue:typeof t.catch==`function`?t.catch:()=>t.catch,...S(t)});var Je=class extends C{_parse(e){if(this._getType(e)!==r.nan){let t=this._getOrReturnCtx(e);return d(t,{code:a.invalid_type,expected:r.nan,received:t.parsedType}),p}return{status:`valid`,value:e.data}}};Je.create=e=>new Je({typeName:R.ZodNaN,...S(e)});var Ye=class extends C{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}},Xe=class e extends C{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?p:e.status===`dirty`?(t.dirty(),m(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})();{let e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?p:e.status===`dirty`?(t.dirty(),{status:`dirty`,value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(t,n){return new e({in:t,out:n,typeName:R.ZodPipeline})}},L=class extends C{_parse(e){let t=this._def.innerType._parse(e),n=e=>(v(e)&&(e.value=Object.freeze(e.value)),e);return y(t)?t.then(e=>n(e)):n(t)}unwrap(){return this._def.innerType}};L.create=(e,t)=>new L({innerType:e,typeName:R.ZodReadonly,...S(t)}),A.lazycreate;var R;(function(e){e.ZodString=`ZodString`,e.ZodNumber=`ZodNumber`,e.ZodNaN=`ZodNaN`,e.ZodBigInt=`ZodBigInt`,e.ZodBoolean=`ZodBoolean`,e.ZodDate=`ZodDate`,e.ZodSymbol=`ZodSymbol`,e.ZodUndefined=`ZodUndefined`,e.ZodNull=`ZodNull`,e.ZodAny=`ZodAny`,e.ZodUnknown=`ZodUnknown`,e.ZodNever=`ZodNever`,e.ZodVoid=`ZodVoid`,e.ZodArray=`ZodArray`,e.ZodObject=`ZodObject`,e.ZodUnion=`ZodUnion`,e.ZodDiscriminatedUnion=`ZodDiscriminatedUnion`,e.ZodIntersection=`ZodIntersection`,e.ZodTuple=`ZodTuple`,e.ZodRecord=`ZodRecord`,e.ZodMap=`ZodMap`,e.ZodSet=`ZodSet`,e.ZodFunction=`ZodFunction`,e.ZodLazy=`ZodLazy`,e.ZodLiteral=`ZodLiteral`,e.ZodEnum=`ZodEnum`,e.ZodEffects=`ZodEffects`,e.ZodNativeEnum=`ZodNativeEnum`,e.ZodOptional=`ZodOptional`,e.ZodNullable=`ZodNullable`,e.ZodDefault=`ZodDefault`,e.ZodCatch=`ZodCatch`,e.ZodPromise=`ZodPromise`,e.ZodBranded=`ZodBranded`,e.ZodPipeline=`ZodPipeline`,e.ZodReadonly=`ZodReadonly`})(R||={});let z=we.create,B=Ee.create;Je.create,De.create;let V=Oe.create;ke.create,Ae.create;let Ze=w.create,Qe=T.create;je.create,E.create,D.create,Me.create;let H=O.create,U=A.create;A.strictCreate;let W=Ne.create,G=Pe.create;Ie.create,M.create;let $e=Le.create;Re.create,ze.create,Be.create,Ve.create;let K=He.create,q=We.create;Ge.create,N.create,P.create,F.create,I.create,P.createWithPreprocess,Xe.create;let et=q([`mp4`,`hls`,`flv`,`auto`]),tt=q([`mp4`,`hls`,`flv`]),nt=W([z(),U({url:z(),loading:q([`eager`,`lazy`]).default(`lazy`).optional(),fit:q([`cover`,`contain`,`fill`]).default(`cover`).optional()})]),rt=W([z(),U({url:z(),fit:q([`cover`,`contain`,`fill`]).optional()}).strict()]),it=U({background:z().min(1).optional(),foreground:z().min(1).optional()}),at=G(`mode`,[U({mode:K(`url`),url:z(),locale:z(),label:z(),isDefault:V().optional()}),U({mode:K(`content`),content:z(),locale:z(),label:z(),isDefault:V().optional()})]),ot=U({lowLatencyMode:V().optional()}),st=U({title:z().optional(),description:z().optional(),duration:B().optional()}),ct=U({url:z(),type:tt}),lt={live:V().optional(),hls:ot.optional(),subtitles:H(at).optional(),metadata:st.optional()},ut=U({url:z(),type:et.optional(),...lt}),dt=U({sources:H(ct).min(1),...lt}),ft=W([z(),dt,ut]),pt=W([z(),U({locale:z(),fallbackLocales:H(z()).optional(),messages:$e(z(),$e(z(),z())).optional()})]),mt=U({id:z(),text:z(),type:q([`scroll`,`top`,`bottom`]).optional(),color:z().optional(),start:B().nonnegative().optional()}),ht=U({enabled:V(),mode:q([`preload`,`streaming`]).optional(),items:H(mt).optional(),display:U({area:q([`top`,`half`,`full`]).optional(),opacity:B().min(0).max(1).optional(),speed:B().min(.5).max(2).optional(),fontSize:B().min(12).max(48).optional(),maxLines:B().int().positive().optional()}).optional()}).superRefine((e,t)=>{e.items&&e.items.length>0&&e.mode!==`preload`&&t.addIssue({code:`custom`,path:[`items`],message:`danmaku.items 只在 mode: 'preload' 下有效。当前 mode 是 ${e.mode??`streaming`}(默认)—— 渲染引擎在直播模式下会忽略每条的 start,整包会一股脑全飘出来。要么设 mode: "preload",要么改用 pushDanmaku 逐条推。`}),e.display?.maxLines!==void 0&&e.display.area&&e.display.area!==`full`&&t.addIssue({code:`custom`,path:[`display`,`maxLines`],message:`danmaku.display.maxLines 与 area: '${e.display.area}' 不能同时用 —— 渲染引擎里两者互斥(给了轨道条数,区域比例就失效),同传只会有一个生效。要限制条数就去掉 area(或用 area: 'full'),要限制区域就去掉 maxLines。`})}),gt=q([`ambient-preview`]),_t=U({play:V().optional(),progress:V().optional(),time:V().optional(),volume:V().optional(),playbackRate:V().optional(),fullscreen:V().optional(),cssFullscreen:V().optional(),pip:V().optional()}).strict();U({source:ft,preset:gt.optional(),autoplay:V().optional(),muted:V().optional(),loop:V().optional(),playbackRate:B().min(.25).max(4).optional(),volume:B().min(0).max(1).optional(),playsinline:V().optional(),preload:q([`none`,`metadata`,`auto`]).optional(),startTime:B().min(0).optional(),controls:V().optional(),showErrorOverlay:V().optional(),showDefaultLoadingOverlay:V().optional(),showLoadingText:V().optional(),errorButtonColors:it.optional(),controlVisibility:_t.optional(),interactive:V().optional(),poster:nt.optional(),pauseImage:rt.optional(),locale:pt.optional(),danmaku:ht.optional(),debug:V().optional()});let vt=U({producerSessionId:z().min(1),deliveryId:z().min(1),occurredAtMs:B().finite(),sequence:B().int().positive()}),yt=q([`manifest`,`media`,`network`,`auth`,`env`,`autoplay`]),bt=q([`E_MANIFEST_PARSE`,`E_MEDIA_DECODE`,`E_MEDIA_ABORTED`,`E_MEDIA_NOT_SUPPORTED`,`E_SUBTITLE_LOAD_FAILED`,`E_AUTOPLAY_BLOCKED`,`E_NETWORK`,`E_NETWORK_TIMEOUT`,`E_AUTH_EXPIRED`,`E_ENV_CSP_BLOCKED`,`E_METHOD_NOT_SUPPORTED`,`E_DANMAKU_SEND_FAILED`,`E_INTERNAL`,`E_UNKNOWN`,`E_PLAYER_DESTROYED`,`E_HANDSHAKE_TIMEOUT`,`E_HANDSHAKE_VERSION_MISMATCH`,`E_LOAD_FAILED`,`E_FRAME_CRASHED`]),xt=q([`W_BROWSER_INCOMPATIBLE`,`W_VERSION_MISMATCH`,`W_EVENT_REJECTED`]),St={E_MANIFEST_PARSE:{category:`manifest`,retryable:!1},E_MEDIA_DECODE:{category:`media`,retryable:!0},E_MEDIA_ABORTED:{category:`media`,retryable:!0},E_MEDIA_NOT_SUPPORTED:{category:`media`,retryable:!1},E_SUBTITLE_LOAD_FAILED:{category:`media`,retryable:!0},E_AUTOPLAY_BLOCKED:{category:`autoplay`,retryable:!1},E_NETWORK:{category:`network`,retryable:!0},E_NETWORK_TIMEOUT:{category:`network`,retryable:!0},E_AUTH_EXPIRED:{category:`auth`,retryable:!1},E_ENV_CSP_BLOCKED:{category:`env`,retryable:!1},E_METHOD_NOT_SUPPORTED:{category:`env`,retryable:!1},E_DANMAKU_SEND_FAILED:{category:`env`,retryable:!0},E_INTERNAL:{category:`env`,retryable:!1},E_UNKNOWN:{category:`env`,retryable:!1},E_PLAYER_DESTROYED:{category:`env`,retryable:!1},E_HANDSHAKE_TIMEOUT:{category:`network`,retryable:!0},E_HANDSHAKE_VERSION_MISMATCH:{category:`env`,retryable:!1},E_LOAD_FAILED:{category:`network`,retryable:!0},E_FRAME_CRASHED:{category:`env`,retryable:!1}},Ct=U({name:z(),message:z(),code:B().optional(),status:B().optional()}).catchall(W([z(),B(),V()])),wt=/https?:\/\/\S+/g;function J(e){return e.replace(wt,e=>{let t=e.search(/[?#]/);return t===-1?e:e.slice(0,t)})}function Tt(e){return typeof e==`string`?J(e):e}function Et(e,t){let n=e[t];return typeof n==`number`&&Number.isFinite(n)?n:void 0}function Dt(e){if(typeof e!=`object`||!e)return{name:`Unknown`,message:J(String(e)).slice(0,500)};let t=e,n=t.mediaError??void 0,r=Tt(typeof t.name==`string`?t.name:n?`MediaError`:typeof t.errorType==`string`?t.errorType:`Unknown`),i=typeof t.message==`string`?t.message:typeof n?.message==`string`?n.message:String(e),a=Et(t,`code`)??(n?Et(n,`code`):void 0),o=Et(t,`status`)??Et(t,`httpCode`),s={};for(let[e,n]of Object.entries(t))typeof n==`string`?s[e]=J(n):(typeof n==`number`||typeof n==`boolean`)&&(s[e]=n);return{...s,name:r,message:J(i).slice(0,500),...a===void 0?{}:{code:a},...o===void 0?{}:{status:o}}}let Ot=U({code:bt,message:z(),retryable:V(),category:yt,cause:Ct.optional()});function kt(e,t,n){let r=St[e];return{code:e,message:J(t),category:r.category,retryable:r.retryable,...n===void 0?{}:{cause:Dt(n)}}}let At=U({fvt:B()}),jt=U({durationMs:B(),droppedFrames:B(),totalFrames:B()}),Mt=[`switch_play_pause`,`switch_fullscreen`,`switch_cssfullscreen`,`switch_css_fullscreen`,`change_definition`,`change_rate`,`change_volume`,`change_muted`,`change_pip`,`seek`,`rotate`,`shot`,`download`,`switch_danmu`,`error_retry`],Nt=U({action:q(Mt),source:z(),from:W([z(),B(),V()]).nullable(),to:W([z(),B(),V()]).nullable()});new Set(Mt);let Y={channel:K(`video-lab:page-fullscreen`),version:K(1),session:z().min(1)},Pt=G(`type`,[U({...Y,type:K(`hello`)}),U({...Y,type:K(`ready`),instance:z().min(1)}),U({...Y,type:K(`request`),instance:z().min(1),id:B().int().positive(),active:V()}),U({...Y,type:K(`state`),instance:z().min(1),revision:B().int().nonnegative(),active:V()}),U({...Y,type:K(`ack`),instance:z().min(1),revision:B().int().nonnegative()}),U({...Y,type:K(`disconnect`)})]);U({available:V(),active:V()});let Ft=U({active:V()}),It=q([`native`,`hls.js`,`flv.js`]),Lt=q([`live`,`vod`]),Rt=U({platform:q([`ios`,`android`,`desktop`,`unknown`]),browser:q([`webkit`,`gecko`,`chromium`,`embedded`,`unknown`]),mse:q([`standard`,`managed`,`unavailable`])}),zt=U({sessionId:z(),candidateTypes:H(tt).min(1),streamKind:Lt,runtime:Rt}),Bt=G(`outcome`,[zt.extend({outcome:K(`selected`),mediaType:tt,kernel:It,reason:q([`required_hls`,`live_preference`,`vod_preference`,`native_mp4_fallback`])}).strict(),zt.extend({outcome:K(`unsupported`),mediaType:Qe(),kernel:Qe(),reason:K(`no_supported_candidate`),errorCode:K(`E_MEDIA_NOT_SUPPORTED`)}).strict()]),Vt=U({sessionId:z(),kernel:It,mediaType:tt.optional(),streamKind:Lt.optional(),runtime:Rt.optional(),position:B(),qualityLevel:B().nullable(),srcOrigin:z(),srcPath:z()});q([`detected`,`backoff`,`attempting`,`validating`,`recovered`,`failed`,`cancelled`]);let Ht=q([`reconnect`,`media_recovery`,`visibility_reload`]),Ut=q([`error`,`manual`,`visibility`,`stall`,`startup_timeout`,`ended`]),X={sessionId:z().min(1),recoveryId:B().int().positive(),strategy:Ht,trigger:Ut,attempt:B().int().nonnegative(),maxAttempts:B().int().positive(),elapsedMs:B().finite().nonnegative(),reason:bt.optional()},Wt={...X,attempt:B().int().positive()},Gt=G(`phase`,[U({...X,phase:K(`detected`)}).strict(),U({...X,phase:K(`backoff`)}).strict(),U({...Wt,phase:K(`attempting`)}).strict(),U({...Wt,phase:K(`validating`)}).strict(),U({...Wt,phase:K(`recovered`),validatedBy:K(`playing_position_advance`)}).strict(),U({...X,phase:K(`failed`),outcome:q([`timeout`,`attempts_exhausted`])}).strict(),U({...X,phase:K(`cancelled`),outcome:q([`source_changed`,`destroyed`,`superseded`,`user_paused`,`natural_recovery`])}).strict()]).refine(e=>e.attempt<=e.maxAttempts,{message:`attempt exceeds episode budget`,path:[`attempt`]}),Kt=G(`phase`,[U({phase:K(`started`),switchId:B().int().positive(),trigger:K(`auth_expired`),httpStatus:W([K(401),K(403)]).optional()}).strict(),U({phase:K(`succeeded`),switchId:B().int().positive(),strategy:q([`hot_load`,`rebuild`]),elapsedMs:B().nonnegative()}).strict(),U({phase:K(`failed`),switchId:B().int().positive(),reason:q([`resolver_null`,`resolver_rejected`,`load_rejected`,`replacement_error`]),elapsedMs:B().nonnegative(),errorCode:bt.optional()}).strict(),U({phase:K(`cancelled`),switchId:B().int().positive(),reason:q([`external_source`,`destroyed`,`unmounted`]),elapsedMs:B().nonnegative()}).strict()]),qt=U({level:B(),label:z().optional(),height:B().optional(),bitrate:B().optional()}),Jt=U({id:B(),locale:z(),label:z()}),Yt=q([`ok`,`initializing`,`buffering`,`stalled`,`reconnecting`,`source_switching`,`autoplay_blocked`,`error`,`frame_disconnected`,`degraded`]),Z=e=>U({...e,delivery:vt.optional()}),Xt=G(`event`,[Z({event:K(`pagefullscreenchange`),payload:Ft}),Z({event:K(`sourceroute`),payload:Bt}),Z({event:K(`ready`),payload:U({duration:B(),quality:H(qt),subtitles:H(Jt).optional()})}),Z({event:K(`play`),payload:U({})}),Z({event:K(`pause`),payload:U({})}),Z({event:K(`ended`),payload:U({})}),Z({event:K(`timeupdate`),payload:U({time:B(),duration:B()})}),Z({event:K(`volumechange`),payload:U({volume:B(),muted:V()})}),Z({event:K(`seeking`),payload:U({time:B()})}),Z({event:K(`seeked`),payload:U({time:B()})}),Z({event:K(`waiting`),payload:U({})}),Z({event:K(`playing`),payload:U({})}),Z({event:K(`qualitychange`),payload:U({level:B(),auto:V()})}),Z({event:K(`subtitlechange`),payload:U({id:B().nullable()})}),Z({event:K(`error`),payload:Ot}),Z({event:K(`autoplayblocked`),payload:U({})}),Z({event:K(`recovery`),payload:Gt}),Z({event:K(`sourceswitch`),payload:Kt}),Z({event:K(`compatwarning`),payload:U({code:xt,message:z(),ua:z(),hostVersion:z().optional(),iframeVersion:z().optional(),rejectedEvent:z().optional()})}),Z({event:K(`stalled`),payload:U({phase:q([`start`,`end`]),position:B(),durationMs:B().optional(),kind:q([`playback`,`firstframe`,`seek`]).optional()})}),Z({event:K(`playablechange`),payload:U({playable:V(),reason:Yt,recoverable:V(),action:q([`retry`,`play`,`replace-source`,`recreate-frame`,`none`]).optional()})}),Z({event:K(`kernelhealth`),payload:U({degraded:V(),reason:q([`network`,`media`,`other`]),count:B(),durationMs:B(),detail:z()})}),Z({event:K(`audiohealth`),payload:U({degraded:V(),reason:K(`audio_data_gap`),durationMs:B()})}),Z({event:K(`bufferhealth`),payload:U({draining:V(),marginSec:B()})}),Z({event:K(`contextchange`),payload:Vt}),Z({event:K(`firstframe`),payload:At}),Z({event:K(`framefreeze`),payload:jt}),Z({event:K(`useraction`),payload:Nt})]);function Zt(e,t){return{event:`compatwarning`,payload:{code:`W_EVENT_REJECTED`,message:`收到一条过不了契约校验的事件(${e??`(未知)`}),已丢弃。最常见的成因是 iframe 比宿主新 —— 先看两端契约版本差多少,再怀疑 iframe 有 bug。`,ua:t,...e===void 0?{}:{rejectedEvent:e}}}}let Qt=G(`method`,[U({method:K(`play`),params:U({}).optional()}),U({method:K(`pause`),params:U({}).optional()}),U({method:K(`seek`),params:U({time:B(),type:q([`exact`,`keyframe`]).optional()})}),U({method:K(`setVolume`),params:U({volume:B().min(0).max(1)})}),U({method:K(`setMuted`),params:U({muted:V()})}),U({method:K(`setPlaybackRate`),params:U({rate:B().min(.25).max(4)})}),U({method:K(`setQuality`),params:U({level:W([B(),K(`auto`)])})}),U({method:K(`setSubtitle`),params:U({id:W([B(),K(`off`)])})}),U({method:K(`setLocale`),params:U({locale:pt})}),U({method:K(`load`),params:U({source:ft})}),U({method:K(`retry`),params:U({}).strict().optional()}),U({method:K(`pushDanmaku`),params:U({item:mt})}),U({method:K(`setDanmakuEnabled`),params:U({enabled:V()})}),U({method:K(`clearDanmaku`),params:U({}).optional()}),U({method:K(`destroy`),params:U({}).optional()}),U({method:K(`enterFullscreen`),params:U({}).optional()}),U({method:K(`exitFullscreen`),params:U({}).optional()})]);q([`command`,`event`,`response`,`error`]);let $t={version:z(),id:z(),timestamp:B()};function Q(e,t){return U({...$t,type:K(e),payload:t})}let en=W([Q(`command`,Qt),W([Q(`event`,Xt).extend({producerSessionId:Ze().optional(),sequence:Ze().optional()}),Q(`event`,Xt).extend({producerSessionId:z().min(1),sequence:B().int().positive()})]),Q(`response`,U({})),Q(`error`,Ot)]),tn={E_NETWORK:`Network problem. Check your connection and try again.`,E_NETWORK_TIMEOUT:`The connection timed out. Check your network and try again.`,E_LOAD_FAILED:`Could not load the video. Check your connection and try again.`,E_HANDSHAKE_TIMEOUT:`The player took too long to start. Try again.`,E_AUTH_EXPIRED:`Your access to this video has expired. Reload the page to continue.`,E_MEDIA_DECODE:`The video could not be decoded. Try again.`,E_MEDIA_ABORTED:`Playback was interrupted. Try again.`,E_MEDIA_NOT_SUPPORTED:`This video format cannot be played here.`,E_MANIFEST_PARSE:`The video could not be read. Try again later.`,E_SUBTITLE_LOAD_FAILED:`Subtitles could not be loaded. Playback continues without them.`,E_AUTOPLAY_BLOCKED:`Tap play to start the video.`,E_ENV_CSP_BLOCKED:`This page blocked the player from loading.`,E_METHOD_NOT_SUPPORTED:`This action is not available here.`,E_DANMAKU_SEND_FAILED:`Your message could not be sent. Try again.`,E_PLAYER_DESTROYED:`The player is no longer available. Reload the page.`,E_FRAME_CRASHED:`The player stopped unexpectedly. Reload the page.`,E_HANDSHAKE_VERSION_MISMATCH:`The player version does not match. Reload the page.`,E_INTERNAL:`Something went wrong in the player. Reload the page.`,E_UNKNOWN:`Playback ran into a problem. Try again later.`},nn={E_NETWORK:`网络连接异常,请检查网络后重试。`,E_NETWORK_TIMEOUT:`连接超时,请检查网络后重试。`,E_LOAD_FAILED:`视频加载失败,请检查网络后重试。`,E_HANDSHAKE_TIMEOUT:`播放器连接超时,请重试。`,E_AUTH_EXPIRED:`播放地址已失效,请获取新的播放地址。`,E_MEDIA_DECODE:`视频解码失败,请重试播放。`,E_MEDIA_ABORTED:`播放已中断,请重试。`,E_MEDIA_NOT_SUPPORTED:`当前设备无法播放此视频格式。`,E_MANIFEST_PARSE:`视频内容无法读取,请稍后再试或更换播放源。`,E_SUBTITLE_LOAD_FAILED:`字幕加载失败,视频仍可继续播放。`,E_AUTOPLAY_BLOCKED:`请点击播放以继续。`,E_ENV_CSP_BLOCKED:`当前页面阻止了播放器加载。`,E_METHOD_NOT_SUPPORTED:`当前无法执行此操作。`,E_DANMAKU_SEND_FAILED:`弹幕发送失败,请重试。`,E_PLAYER_DESTROYED:`播放器已关闭,请重新打开。`,E_FRAME_CRASHED:`播放器连接已断开,请重新打开播放器。`,E_HANDSHAKE_VERSION_MISMATCH:`播放器版本不匹配,请刷新页面。`,E_INTERNAL:`播放器发生异常,请刷新页面。`,E_UNKNOWN:`播放遇到问题,请稍后再试。`},rn={loading:`Loading…`,"loading.initializing":`Starting player…`,"loading.buffering":`Buffering…`,"loading.stalled":`Restoring playback…`,"loading.reconnecting":`Reconnecting…`,"loading.source_switching":`Switching video source…`,"loading.frame_disconnected":`Connecting to player…`,play:`Play video`,retry:`Retry playback`,reconnect:`Reconnect`,refreshSource:`Get a new playback URL`,recreatePlayer:`Reconnect player`},an={loading:`加载中…`,"loading.initializing":`正在初始化播放器…`,"loading.buffering":`正在缓冲…`,"loading.stalled":`正在恢复播放…`,"loading.reconnecting":`正在重新连接…`,"loading.source_switching":`正在换源…`,"loading.frame_disconnected":`正在连接播放器…`,play:`播放视频`,retry:`重试播放`,reconnect:`重新连接`,refreshSource:`重新获取播放地址`,recreatePlayer:`重新连接播放器`},on={"controls.play":`Play`,"controls.pause":`Pause`,"controls.replay":`Replay`,"controls.fullscreen.enter":`Fullscreen`,"controls.fullscreen.exit":`Exit fullscreen`,"controls.pageFullscreen.enter":`CSS fullscreen`,"controls.pageFullscreen.exit":`Exit CSS fullscreen`,"controls.pip":`Picture in picture`,"controls.subtitle":`Captions`,"controls.subtitle.off":`Off`,"controls.live":`Live`,"controls.rotate":`Rotate`},sn={"controls.play":`播放`,"controls.pause":`暂停`,"controls.replay":`重播`,"controls.fullscreen.enter":`进入全屏`,"controls.fullscreen.exit":`退出全屏`,"controls.pageFullscreen.enter":`进入样式全屏`,"controls.pageFullscreen.exit":`退出样式全屏`,"controls.pip":`画中画`,"controls.subtitle":`字幕`,"controls.subtitle.off":`关闭`,"controls.live":`直播`,"controls.rotate":`旋转`},cn=e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[`error.${e}`,t])),ln={...an,...cn(nn),...sn};({...rn,...cn(tn),...on}),Object.keys(ln);function un(e){return e||(typeof window<`u`?window:null)}function dn(e={}){let t=un(e.target),n=e.iframe,r=e.origin==null?null:new Set(Array.isArray(e.origin)?e.origin:[e.origin]),i=new Set;function a(e){let t=e;if(typeof t!=`object`||!t||t.type!==`event`)return;let n=t.payload?.event,r=typeof n==`string`?n:`(未知)`;i.has(r)||(i.add(r),o(Zt(typeof n==`string`?n:void 0,typeof navigator>`u`?``:navigator.userAgent)))}function o(e){let{event:t,payload:n}=e;for(let t of c)try{t(e)}catch{}let r=s.get(t);if(r)for(let e of r)try{e(n)}catch(e){console.warn(`[SentinelEmbed] 事件处理器抛错:`,e)}}let s=new Map,c=new Set,l=e=>{let t=e;if(r&&!r.has(t.origin)||n&&t.source!==n.contentWindow)return;let i=en.safeParse(t.data);if(!i.success){a(t.data);return}if(i.data.type!==`event`)return;let s=i.data.payload,c=s.event===`error`?{...s,payload:kt(s.payload.code,s.payload.message,s.payload.cause)}:s;o(i.data.producerSessionId!==void 0&&i.data.sequence!==void 0?{...c,delivery:{producerSessionId:i.data.producerSessionId,deliveryId:i.data.id,occurredAtMs:i.data.timestamp,sequence:i.data.sequence}}:c)};t?.addEventListener(`message`,l);let u=(e,t)=>{s.get(e)?.delete(t)};return{on:(e,t)=>{let n=s.get(e);return n||(n=new Set,s.set(e,n)),n.add(t),()=>u(e,t)},onAny:e=>(c.add(e),()=>c.delete(e)),off:u,destroy:()=>{t?.removeEventListener(`message`,l),s.clear(),c.clear()}}}let fn=0;function pn(){return globalThis.crypto?.randomUUID?.()||(fn+=1,`page-fullscreen-${Date.now().toString(36)}-${fn.toString(36)}`)}function mn(e){if(new URL(e.origin).origin!==e.origin||e.origin===`null`)throw Error(`网页全屏要求精确 origin`);let{iframe:t,origin:n,adapter:r}=e,i=t.ownerDocument.defaultView;if(!i)throw Error(`iframe 尚无宿主窗口`);let a=pn(),o=``,s=0,c=!1,l=!1,u=Date.now(),d=0,f=Promise.resolve(),p;function m(e){let r=t.contentWindow;if(r){try{if(r.location.href===`about:blank`)return}catch(e){if(!(e instanceof DOMException)||e.name!==`SecurityError`)throw e}r.postMessage(e,n)}}function h(){o&&m({channel:`video-lab:page-fullscreen`,version:1,type:`state`,session:a,instance:o,revision:s,active:c})}function g(){m({channel:`video-lab:page-fullscreen`,version:1,type:`hello`,session:a}),p&&h()}function _(e){if(!p)return;let t=p;p=void 0,clearTimeout(t.timer),e?t.reject(e):t.resolve()}function v(){l||(l=!0,clearInterval(S),i?.removeEventListener(`message`,b),i?.removeEventListener(`keydown`,x),t.removeEventListener(`load`,ee),m({channel:`video-lab:page-fullscreen`,version:1,type:`disconnect`,session:a}),_(Error(`网页全屏连接已销毁`)),c=!1,r.dispose())}function y(t){let n=a,i=f.then(async()=>{if(l||!o||n!==a)throw Error(`iframe 尚未确认网页全屏支持`);let i=o,u,d=Promise.resolve().then(()=>r.setActive(t)).then(()=>{if(l||n!==a||o!==i)throw r.dispose(),Error(`网页全屏请求已失效`)});try{await Promise.race([d,new Promise((e,t)=>{u=setTimeout(()=>{v(),t(Error(`宿主布局超时`))},1e4)})]),c=t,s+=1,await new Promise((e,t)=>{p={revision:s,resolve:e,reject:t,timer:setTimeout(()=>{v()},1e4)},h()}),e.onChange?.({active:c})}catch(e){throw c=!1,r.dispose(),l||(s+=1,h()),e}finally{clearTimeout(u)}});return f=i.catch(()=>{}),i}function b(e){if(l||e.source!==t.contentWindow||e.origin!==n)return;let i=Pt.safeParse(e.data);if(!i.success||i.data.session!==a)return;let f=i.data;if(f.type===`ready`){if(o&&o!==f.instance)return;u=Date.now(),o!==f.instance&&(_(Error(`iframe 已重新加载`)),c&&r.dispose(),c=!1,o=f.instance,s=0,d=0,h())}else if(f.type===`ack`&&f.instance===o&&f.revision===p?.revision)_();else if(f.type===`request`&&f.instance===o){if(f.id<=d){h();return}d=f.id,y(f.active).catch(()=>{})}}function x(e){e.key===`Escape`&&c&&y(!1).catch(()=>{})}function ee(){a=pn(),_(Error(`iframe 已重新加载`)),o=``,c=!1,r.dispose(),g()}i.addEventListener(`message`,b),i.addEventListener(`keydown`,x),t.addEventListener(`load`,ee);let S=setInterval(()=>{o&&Date.now()-u>5e3?v():g()},1e3);return g(),{setPageFullscreen:y,destroy:v}}let $=null;function hn(){return $||=dn(),$}function gn(e,t){return hn().on(e,t)}function _n(e){return hn().onAny(e)}function vn(e,t){hn().off(e,t)}function yn(){$?.destroy(),$=null}return e.createEmbedListener=dn,e.createPageFullscreenController=mn,e.destroy=yn,e.off=vn,e.on=gn,e.onAny=_n,e})({});
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { EnvelopeSchema, PageFullscreenMessageSchema, makeEventRejectedWarning } from "@video-lab/protocol";
1
+ import { EnvelopeSchema, PageFullscreenMessageSchema, makeEventRejectedWarning, makePlayerError } from "@video-lab/protocol";
2
2
  //#region src/create-embed-listener.ts
3
3
  function resolveTarget(target) {
4
4
  if (target) return target;
@@ -66,15 +66,20 @@ function createEmbedListener(options = {}) {
66
66
  return;
67
67
  }
68
68
  if (parsed.data.type !== "event") return;
69
+ const raw = parsed.data.payload;
70
+ const payload = raw.event === "error" ? {
71
+ ...raw,
72
+ payload: makePlayerError(raw.payload.code, raw.payload.message, raw.payload.cause)
73
+ } : raw;
69
74
  dispatch(parsed.data.producerSessionId !== void 0 && parsed.data.sequence !== void 0 ? {
70
- ...parsed.data.payload,
75
+ ...payload,
71
76
  delivery: {
72
77
  producerSessionId: parsed.data.producerSessionId,
73
78
  deliveryId: parsed.data.id,
74
79
  occurredAtMs: parsed.data.timestamp,
75
80
  sequence: parsed.data.sequence
76
81
  }
77
- } : parsed.data.payload);
82
+ } : payload);
78
83
  };
79
84
  target?.addEventListener("message", onMessage);
80
85
  const off = (event, handler) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@video-lab/embed-helper",
3
- "version": "4.0.1",
3
+ "version": "4.1.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -31,7 +31,7 @@
31
31
  ],
32
32
  "sideEffects": false,
33
33
  "dependencies": {
34
- "@video-lab/protocol": "4.0.1"
34
+ "@video-lab/protocol": "4.1.0"
35
35
  },
36
36
  "devDependencies": {
37
37
  "tsdown": "^0.22.9",