UNPKG

directus-extension-sync

Version:

This extension exposes routes to manage id mapping for Directus sync.

1 lines 114 kB
import{randomUUID as e}from"crypto";import t from"path";function n(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}const r=["interface","display","layout","module","panel","theme"],o=["hook","endpoint"],i=["operation"];function s(e,t,n){function r(n,r){var o;Object.defineProperty(n,"_zod",{value:n._zod??{},enumerable:!1}),(o=n._zod).traits??(o.traits=new Set),n._zod.traits.add(e),t(n,r);for(const e in s.prototype)e in n||Object.defineProperty(n,e,{value:s.prototype[e].bind(n)});n._zod.constr=s,n._zod.def=r}const o=n?.Parent??Object;class i extends o{}function s(e){var t;const o=n?.Parent?new i:this;r(o,e),(t=o._zod).deferred??(t.deferred=[]);for(const e of o._zod.deferred)e();return o}return Object.defineProperty(i,"name",{value:e}),Object.defineProperty(s,"init",{value:r}),Object.defineProperty(s,Symbol.hasInstance,{value:t=>!!(n?.Parent&&t instanceof n.Parent)||t?._zod?.traits?.has(e)}),Object.defineProperty(s,"name",{value:e}),s}let a=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},c=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}};const u={};function d(e){return u}function p(e,t){return"bigint"==typeof t?t.toString():t}function l(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function f(e){return null==e}function h(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}const m=Symbol("evaluating");function v(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==m)return void 0===r&&(r=m,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function _(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function g(...e){const t={};for(const n of e){const e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function y(e){return JSON.stringify(e)}const b="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function w(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}const z=l(()=>{if("undefined"!=typeof navigator&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function k(e){if(!1===w(e))return!1;const t=e.constructor;if(void 0===t)return!0;const n=t.prototype;return!1!==w(n)&&!1!==Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")}function $(e){return k(e)?{...e}:Array.isArray(e)?[...e]:e}const Z=new Set(["string","number","symbol"]);function E(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function x(e,t,n){const r=new e._zod.constr(t??e._zod.def);return t&&!n?.parent||(r._zod.parent=e),r}function P(e){const t=e;if(!t)return{};if("string"==typeof t)return{error:()=>t};if(void 0!==t?.message){if(void 0!==t?.error)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,"string"==typeof t.error?{...t,error:()=>t.error}:t}function T(e,t=0){if(!0===e.aborted)return!0;for(let n=t;n<e.issues.length;n++)if(!0!==e.issues[n]?.continue)return!0;return!1}function A(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function O(e){return"string"==typeof e?e:e?.message}function j(e,t,n){const r={...e,path:e.path??[]};if(!e.message){const o=O(e.inst?._zod.def?.error?.(e))??O(t?.error?.(e))??O(n.customError?.(e))??O(n.localeError?.(e))??"Invalid input";r.message=o}return delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function I(e){return Array.isArray(e)?"array":"string"==typeof e?"string":"unknown"}function S(...e){const[t,n,r]=e;return"string"==typeof t?{message:t,code:"custom",input:n,inst:r}:{...t}}const N=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,p,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},C=s("$ZodError",N),F=s("$ZodError",N,{Parent:Error});const D=e=>(t,n,r,o)=>{const i=r?Object.assign(r,{async:!1}):{async:!1},s=t._zod.run({value:n,issues:[]},i);if(s instanceof Promise)throw new a;if(s.issues.length){const t=new(o?.Err??e)(s.issues.map(e=>j(e,i,d())));throw b(t,o?.callee),t}return s.value},R=e=>async(t,n,r,o)=>{const i=r?Object.assign(r,{async:!0}):{async:!0};let s=t._zod.run({value:n,issues:[]},i);if(s instanceof Promise&&(s=await s),s.issues.length){const t=new(o?.Err??e)(s.issues.map(e=>j(e,i,d())));throw b(t,o?.callee),t}return s.value},U=e=>(t,n,r)=>{const o=r?{...r,async:!1}:{async:!1},i=t._zod.run({value:n,issues:[]},o);if(i instanceof Promise)throw new a;return i.issues.length?{success:!1,error:new(e??C)(i.issues.map(e=>j(e,o,d())))}:{success:!0,data:i.value}},L=U(F),M=e=>async(t,n,r)=>{const o=r?Object.assign(r,{async:!0}):{async:!0};let i=t._zod.run({value:n,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(e=>j(e,o,d())))}:{success:!0,data:i.value}},V=M(F),W=e=>(t,n,r)=>{const o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return D(e)(t,n,o)},B=e=>(t,n,r)=>D(e)(t,n,r),q=e=>async(t,n,r)=>{const o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return R(e)(t,n,o)},J=e=>async(t,n,r)=>R(e)(t,n,r),G=e=>(t,n,r)=>{const o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return U(e)(t,n,o)},K=e=>(t,n,r)=>U(e)(t,n,r),Y=e=>async(t,n,r)=>{const o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return M(e)(t,n,o)},H=e=>async(t,n,r)=>M(e)(t,n,r),X=/^[cC][^\s-]{8,}$/,Q=/^[0-9a-z]+$/,ee=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,te=/^[0-9a-vA-V]{20}$/,ne=/^[A-Za-z0-9]{27}$/,re=/^[a-zA-Z0-9_-]{21}$/,oe=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,ie=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,se=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,ae=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;const ce=/^(?:(?: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])$/,ue=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,de=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,pe=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,le=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,fe=/^[A-Za-z0-9_-]*$/,he=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,me=/^\+(?:[0-9]){6,14}[0-9]$/,ve="(?:(?:\\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=new RegExp(`^${ve}$`);function ge(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return"number"==typeof e.precision?-1===e.precision?`${t}`:0===e.precision?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}const ye=/^(?:true|false)$/i,be=/^[^A-Z]*$/,we=/^[^a-z]*$/,ze=s("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),ke=s("$ZodCheckMaxLength",(e,t)=>{var n;ze.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!f(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{const r=n.value;if(r.length<=t.maximum)return;const o=I(r);n.issues.push({origin:o,code:"too_big",maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),$e=s("$ZodCheckMinLength",(e,t)=>{var n;ze.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!f(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{const r=n.value;if(r.length>=t.minimum)return;const o=I(r);n.issues.push({origin:o,code:"too_small",minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Ze=s("$ZodCheckLengthEquals",(e,t)=>{var n;ze.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value;return!f(t)&&void 0!==t.length}),e._zod.onattach.push(e=>{const n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{const r=n.value,o=r.length;if(o===t.length)return;const i=I(r),s=o>t.length;n.issues.push({origin:i,...s?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Ee=s("$ZodCheckStringFormat",(e,t)=>{var n,r;ze.init(e,t),e._zod.onattach.push(e=>{const n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??(n.patterns=new Set),n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,t.pattern.test(n.value)||n.issues.push({origin:"string",code:"invalid_format",format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),xe=s("$ZodCheckRegex",(e,t)=>{Ee.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,t.pattern.test(n.value)||n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Pe=s("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=be),Ee.init(e,t)}),Te=s("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=we),Ee.init(e,t)}),Ae=s("$ZodCheckIncludes",(e,t)=>{ze.init(e,t);const n=E(t.includes),r=new RegExp("number"==typeof t.position?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=new Set),t.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),Oe=s("$ZodCheckStartsWith",(e,t)=>{ze.init(e,t);const n=new RegExp(`^${E(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=new Set),t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),je=s("$ZodCheckEndsWith",(e,t)=>{ze.init(e,t);const n=new RegExp(`.*${E(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(e=>{const t=e._zod.bag;t.patterns??(t.patterns=new Set),t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),Ie=s("$ZodCheckOverwrite",(e,t)=>{ze.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}});let Se=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if("function"==typeof e)return e(this,{execution:"sync"}),void e(this,{execution:"async"});const t=e.split("\n").filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>" ".repeat(2*this.indent)+e);for(const e of r)this.content.push(e)}compile(){const e=Function,t=this?.args;return new e(...t,[...(this?.content??[""]).map(e=>` ${e}`)].join("\n"))}};const Ne={major:4,minor:1,patch:12},Ce=s("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Ne;const r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(const t of r)for(const n of t._zod.onattach)n(e);if(0===r.length)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const t=(e,t,n)=>{let r,o=T(e);for(const i of t){if(i._zod.def.when){if(!i._zod.def.when(e))continue}else if(o)continue;const t=e.issues.length,s=i._zod.check(e);if(s instanceof Promise&&!1===n?.async)throw new a;if(r||s instanceof Promise)r=(r??Promise.resolve()).then(async()=>{await s;e.issues.length!==t&&(o||(o=T(e,t)))});else{if(e.issues.length===t)continue;o||(o=T(e,t))}}return r?r.then(()=>e):e},n=(n,o,i)=>{if(T(n))return n.aborted=!0,n;const s=t(o,r,i);if(s instanceof Promise){if(!1===i.async)throw new a;return s.then(t=>e._zod.parse(t,i))}return e._zod.parse(s,i)};e._zod.run=(o,i)=>{if(i.skipChecks)return e._zod.parse(o,i);if("backward"===i.direction){const t=e._zod.parse({value:o.value,issues:[]},{...i,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,o,i)):n(t,o,i)}const s=e._zod.parse(o,i);if(s instanceof Promise){if(!1===i.async)throw new a;return s.then(e=>t(e,r,i))}return t(s,r,i)}}e["~standard"]={validate:t=>{try{const n=L(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch(n){return V(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:"zod",version:1}}),Fe=s("$ZodString",(e,t)=>{var n;Ce.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??(n=e._zod.bag,new RegExp(`^${n?`[\\s\\S]{${n?.minimum??0},${n?.maximum??""}}`:"[\\s\\S]*"}$`)),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch(r){}return"string"==typeof n.value||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),De=s("$ZodStringFormat",(e,t)=>{Ee.init(e,t),Fe.init(e,t)}),Re=s("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=ie),De.init(e,t)}),Ue=s("$ZodUUID",(e,t)=>{if(t.version){const e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(void 0===e)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=se(e))}else t.pattern??(t.pattern=se());De.init(e,t)}),Le=s("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=ae),De.init(e,t)}),Me=s("$ZodURL",(e,t)=>{De.init(e,t),e._zod.check=n=>{try{const r=n.value.trim(),o=new URL(r);return t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(o.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:he.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),void(t.normalize?n.value=o.href:n.value=r)}catch(r){n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),Ve=s("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),De.init(e,t)}),We=s("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=re),De.init(e,t)}),Be=s("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=X),De.init(e,t)}),qe=s("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Q),De.init(e,t)}),Je=s("$ZodULID",(e,t)=>{t.pattern??(t.pattern=ee),De.init(e,t)}),Ge=s("$ZodXID",(e,t)=>{t.pattern??(t.pattern=te),De.init(e,t)}),Ke=s("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=ne),De.init(e,t)}),Ye=s("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=function(e){const t=ge({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const r=`${t}(?:${n.join("|")})`;return new RegExp(`^${ve}T(?:${r})$`)}(t)),De.init(e,t)}),He=s("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=_e),De.init(e,t)}),Xe=s("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=new RegExp(`^${ge(t)}$`)),De.init(e,t)}),Qe=s("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=oe),De.init(e,t)}),et=s("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=ce),De.init(e,t),e._zod.onattach.push(e=>{e._zod.bag.format="ipv4"})}),tt=s("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=ue),De.init(e,t),e._zod.onattach.push(e=>{e._zod.bag.format="ipv6"}),e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),nt=s("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=de),De.init(e,t)}),rt=s("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=pe),De.init(e,t),e._zod.check=n=>{const r=n.value.split("/");try{if(2!==r.length)throw new Error;const[e,t]=r;if(!t)throw new Error;const n=Number(t);if(`${n}`!==t)throw new Error;if(n<0||n>128)throw new Error;new URL(`http://[${e}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function ot(e){if(""===e)return!0;if(e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}const it=s("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=le),De.init(e,t),e._zod.onattach.push(e=>{e._zod.bag.contentEncoding="base64"}),e._zod.check=n=>{ot(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});const st=s("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=fe),De.init(e,t),e._zod.onattach.push(e=>{e._zod.bag.contentEncoding="base64url"}),e._zod.check=n=>{(function(e){if(!fe.test(e))return!1;const t=e.replace(/[-_]/g,e=>"-"===e?"+":"/");return ot(t.padEnd(4*Math.ceil(t.length/4),"="))})(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),at=s("$ZodE164",(e,t)=>{t.pattern??(t.pattern=me),De.init(e,t)});const ct=s("$ZodJWT",(e,t)=>{De.init(e,t),e._zod.check=n=>{(function(e,t=null){try{const n=e.split(".");if(3!==n.length)return!1;const[r]=n;if(!r)return!1;const o=JSON.parse(atob(r));return!("typ"in o&&"JWT"!==o?.typ||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}})(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),ut=s("$ZodBoolean",(e,t)=>{Ce.init(e,t),e._zod.pattern=ye,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Boolean(n.value)}catch(e){}const o=n.value;return"boolean"==typeof o||n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}}),dt=s("$ZodUnknown",(e,t)=>{Ce.init(e,t),e._zod.parse=e=>e}),pt=s("$ZodNever",(e,t)=>{Ce.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:"never",code:"invalid_type",input:t.value,inst:e}),t)});function lt(e,t,n){e.issues.length&&t.issues.push(...A(n,e.issues)),t.value[n]=e.value}const ft=s("$ZodArray",(e,t)=>{Ce.init(e,t),e._zod.parse=(n,r)=>{const o=n.value;if(!Array.isArray(o))return n.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),n;n.value=Array(o.length);const i=[];for(let e=0;e<o.length;e++){const s=o[e],a=t.element._zod.run({value:s,issues:[]},r);a instanceof Promise?i.push(a.then(t=>lt(t,n,e))):lt(a,n,e)}return i.length?Promise.all(i).then(()=>n):n}});function ht(e,t,n,r){e.issues.length&&t.issues.push(...A(n,e.issues)),void 0===e.value?n in r&&(t.value[n]=void 0):t.value[n]=e.value}function mt(e){const t=Object.keys(e.shape);for(const n of t)if(!e.shape?.[n]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${n}": expected a Zod schema`);const n=(r=e.shape,Object.keys(r).filter(e=>"optional"===r[e]._zod.optin&&"optional"===r[e]._zod.optout));var r;return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function vt(e,t,n,r,o,i){const s=[],a=o.keySet,c=o.catchall._zod,u=c.def.type;for(const o of Object.keys(t)){if(a.has(o))continue;if("never"===u){s.push(o);continue}const i=c.run({value:t[o],issues:[]},r);i instanceof Promise?e.push(i.then(e=>ht(e,n,o,t))):ht(i,n,o,t)}return s.length&&n.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:i}),e.length?Promise.all(e).then(()=>n):n}const _t=s("$ZodObject",(e,t)=>{Ce.init(e,t);const n=Object.getOwnPropertyDescriptor(t,"shape");if(!n?.get){const e=t.shape;Object.defineProperty(t,"shape",{get:()=>{const n={...e};return Object.defineProperty(t,"shape",{value:n}),n}})}const r=l(()=>mt(t));v(e._zod,"propValues",()=>{const e=t.shape,n={};for(const t in e){const r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set);for(const e of r.values)n[t].add(e)}}return n});const o=w,i=t.catchall;let s;e._zod.parse=(t,n)=>{s??(s=r.value);const a=t.value;if(!o(a))return t.issues.push({expected:"object",code:"invalid_type",input:a,inst:e}),t;t.value={};const c=[],u=s.shape;for(const e of s.keys){const r=u[e]._zod.run({value:a[e],issues:[]},n);r instanceof Promise?c.push(r.then(n=>ht(n,t,e,a))):ht(r,t,e,a)}return i?vt(c,a,t,n,r.value,e):c.length?Promise.all(c).then(()=>t):t}}),gt=s("$ZodObjectJIT",(e,t)=>{_t.init(e,t);const n=e._zod.parse,r=l(()=>mt(t));let o;const i=w,s=!u.jitless,a=s&&z.value,c=t.catchall;let d;e._zod.parse=(u,p)=>{d??(d=r.value);const l=u.value;return i(l)?s&&a&&!1===p?.async&&!0!==p.jitless?(o||(o=(e=>{const t=new Se(["shape","payload","ctx"]),n=r.value,o=e=>{const t=y(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write("const input = payload.value;");const i=Object.create(null);let s=0;for(const e of n.keys)i[e]="key_"+s++;t.write("const newResult = {};");for(const e of n.keys){const n=i[e],r=y(e);t.write(`const ${n} = ${o(e)};`),t.write(`\n if (${n}.issues.length) {\n payload.issues = payload.issues.concat(${n}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${r}, ...iss.path] : [${r}]\n })));\n }\n \n \n if (${n}.value === undefined) {\n if (${r} in input) {\n newResult[${r}] = undefined;\n }\n } else {\n newResult[${r}] = ${n}.value;\n }\n \n `)}t.write("payload.value = newResult;"),t.write("return payload;");const a=t.compile();return(t,n)=>a(e,t,n)})(t.shape)),u=o(u,p),c?vt([],l,u,p,d,e):u):n(u,p):(u.issues.push({expected:"object",code:"invalid_type",input:l,inst:e}),u)}});function yt(e,t,n,r){for(const n of e)if(0===n.issues.length)return t.value=n.value,t;const o=e.filter(e=>!T(e));return 1===o.length?(t.value=o[0].value,o[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>j(e,r,d())))}),t)}const bt=s("$ZodUnion",(e,t)=>{Ce.init(e,t),v(e._zod,"optin",()=>t.options.some(e=>"optional"===e._zod.optin)?"optional":void 0),v(e._zod,"optout",()=>t.options.some(e=>"optional"===e._zod.optout)?"optional":void 0),v(e._zod,"values",()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),v(e._zod,"pattern",()=>{if(t.options.every(e=>e._zod.pattern)){const e=t.options.map(e=>e._zod.pattern);return new RegExp(`^(${e.map(e=>h(e.source)).join("|")})$`)}});const n=1===t.options.length,r=t.options[0]._zod.run;e._zod.parse=(o,i)=>{if(n)return r(o,i);let s=!1;const a=[];for(const e of t.options){const t=e._zod.run({value:o.value,issues:[]},i);if(t instanceof Promise)a.push(t),s=!0;else{if(0===t.issues.length)return t;a.push(t)}}return s?Promise.all(a).then(t=>yt(t,o,e,i)):yt(a,o,e,i)}}),wt=s("$ZodIntersection",(e,t)=>{Ce.init(e,t),e._zod.parse=(e,n)=>{const r=e.value,o=t.left._zod.run({value:r,issues:[]},n),i=t.right._zod.run({value:r,issues:[]},n);return o instanceof Promise||i instanceof Promise?Promise.all([o,i]).then(([t,n])=>kt(e,t,n)):kt(e,o,i)}});function zt(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(k(e)&&k(t)){const n=Object.keys(t),r=Object.keys(e).filter(e=>-1!==n.indexOf(e)),o={...e,...t};for(const n of r){const r=zt(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};o[n]=r.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let r=0;r<e.length;r++){const o=zt(e[r],t[r]);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function kt(e,t,n){if(t.issues.length&&e.issues.push(...t.issues),n.issues.length&&e.issues.push(...n.issues),T(e))return e;const r=zt(t.value,n.value);if(!r.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(r.mergeErrorPath)}`);return e.value=r.data,e}const $t=s("$ZodRecord",(e,t)=>{Ce.init(e,t),e._zod.parse=(n,r)=>{const o=n.value;if(!k(o))return n.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),n;const i=[];if(t.keyType._zod.values){const s=t.keyType._zod.values;n.value={};for(const e of s)if("string"==typeof e||"number"==typeof e||"symbol"==typeof e){const s=t.valueType._zod.run({value:o[e],issues:[]},r);s instanceof Promise?i.push(s.then(t=>{t.issues.length&&n.issues.push(...A(e,t.issues)),n.value[e]=t.value})):(s.issues.length&&n.issues.push(...A(e,s.issues)),n.value[e]=s.value)}let a;for(const e in o)s.has(e)||(a=a??[],a.push(e));a&&a.length>0&&n.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:a})}else{n.value={};for(const s of Reflect.ownKeys(o)){if("__proto__"===s)continue;const a=t.keyType._zod.run({value:s,issues:[]},r);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){n.issues.push({code:"invalid_key",origin:"record",issues:a.issues.map(e=>j(e,r,d())),input:s,path:[s],inst:e}),n.value[a.value]=a.value;continue}const c=t.valueType._zod.run({value:o[s],issues:[]},r);c instanceof Promise?i.push(c.then(e=>{e.issues.length&&n.issues.push(...A(s,e.issues)),n.value[a.value]=e.value})):(c.issues.length&&n.issues.push(...A(s,c.issues)),n.value[a.value]=c.value)}}return i.length?Promise.all(i).then(()=>n):n}}),Zt=s("$ZodEnum",(e,t)=>{Ce.init(e,t);const n=function(e){const t=Object.values(e).filter(e=>"number"==typeof e);return Object.entries(e).filter(([e,n])=>-1===t.indexOf(+e)).map(([e,t])=>t)}(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.filter(e=>Z.has(typeof e)).map(e=>"string"==typeof e?E(e):e.toString()).join("|")})$`),e._zod.parse=(t,o)=>{const i=t.value;return r.has(i)||t.issues.push({code:"invalid_value",values:n,input:i,inst:e}),t}}),Et=s("$ZodLiteral",(e,t)=>{if(Ce.init(e,t),0===t.values.length)throw new Error("Cannot create literal schema with no valid values");e._zod.values=new Set(t.values),e._zod.pattern=new RegExp(`^(${t.values.map(e=>"string"==typeof e?E(e):e?E(e.toString()):String(e)).join("|")})$`),e._zod.parse=(n,r)=>{const o=n.value;return e._zod.values.has(o)||n.issues.push({code:"invalid_value",values:t.values,input:o,inst:e}),n}}),xt=s("$ZodTransform",(e,t)=>{Ce.init(e,t),e._zod.parse=(n,r)=>{if("backward"===r.direction)throw new c(e.constructor.name);const o=t.transform(n.value,n);if(r.async){return(o instanceof Promise?o:Promise.resolve(o)).then(e=>(n.value=e,n))}if(o instanceof Promise)throw new a;return n.value=o,n}});function Pt(e,t){return e.issues.length&&void 0===t?{issues:[],value:void 0}:e}const Tt=s("$ZodOptional",(e,t)=>{Ce.init(e,t),e._zod.optin="optional",e._zod.optout="optional",v(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),v(e._zod,"pattern",()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${h(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if("optional"===t.innerType._zod.optin){const r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(t=>Pt(t,e.value)):Pt(r,e.value)}return void 0===e.value?e:t.innerType._zod.run(e,n)}}),At=s("$ZodNullable",(e,t)=>{Ce.init(e,t),v(e._zod,"optin",()=>t.innerType._zod.optin),v(e._zod,"optout",()=>t.innerType._zod.optout),v(e._zod,"pattern",()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${h(e.source)}|null)$`):void 0}),v(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>null===e.value?e:t.innerType._zod.run(e,n)}),Ot=s("$ZodDefault",(e,t)=>{Ce.init(e,t),e._zod.optin="optional",v(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);if(void 0===e.value)return e.value=t.defaultValue,e;const r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>jt(e,t)):jt(r,t)}});function jt(e,t){return void 0===e.value&&(e.value=t.defaultValue),e}const It=s("$ZodPrefault",(e,t)=>{Ce.init(e,t),e._zod.optin="optional",v(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>("backward"===n.direction||void 0===e.value&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),St=s("$ZodNonOptional",(e,t)=>{Ce.init(e,t),v(e._zod,"values",()=>{const e=t.innerType._zod.values;return e?new Set([...e].filter(e=>void 0!==e)):void 0}),e._zod.parse=(n,r)=>{const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(t=>Nt(t,e)):Nt(o,e)}});function Nt(e,t){return e.issues.length||void 0!==e.value||e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const Ct=s("$ZodCatch",(e,t)=>{Ce.init(e,t),v(e._zod,"optin",()=>t.innerType._zod.optin),v(e._zod,"optout",()=>t.innerType._zod.optout),v(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);const r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(r=>(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>j(e,n,d()))},input:e.value}),e.issues=[]),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>j(e,n,d()))},input:e.value}),e.issues=[]),e)}}),Ft=s("$ZodPipe",(e,t)=>{Ce.init(e,t),v(e._zod,"values",()=>t.in._zod.values),v(e._zod,"optin",()=>t.in._zod.optin),v(e._zod,"optout",()=>t.out._zod.optout),v(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if("backward"===n.direction){const r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>Dt(e,t.in,n)):Dt(r,t.in,n)}const r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>Dt(e,t.out,n)):Dt(r,t.out,n)}});function Dt(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}const Rt=s("$ZodReadonly",(e,t)=>{Ce.init(e,t),v(e._zod,"propValues",()=>t.innerType._zod.propValues),v(e._zod,"values",()=>t.innerType._zod.values),v(e._zod,"optin",()=>t.innerType._zod.optin),v(e._zod,"optout",()=>t.innerType._zod.optout),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);const r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(Ut):Ut(r)}});function Ut(e){return e.value=Object.freeze(e.value),e}const Lt=s("$ZodCustom",(e,t)=>{ze.init(e,t),Ce.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{const r=n.value,o=t.fn(r);if(o instanceof Promise)return o.then(t=>Mt(t,n,r,e));Mt(o,n,r,e)}});function Mt(e,t,n,r){if(!e){const e={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(S(e))}}let Vt=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){const n=t[0];if(this._map.set(e,n),n&&"object"==typeof n&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,e)}return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){const t=this._map.get(e);return t&&"object"==typeof t&&"id"in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){const t=e._zod.parent;if(t){const n={...this.get(t)??{}};delete n.id;const r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function Wt(){return new Vt}const Bt=Wt();function qt(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...P(t)})}function Jt(e,t){return new ke({check:"max_length",...P(t),maximum:e})}function Gt(e,t){return new $e({check:"min_length",...P(t),minimum:e})}function Kt(e,t){return new Ze({check:"length_equals",...P(t),length:e})}function Yt(e){return new Ie({check:"overwrite",tx:e})}function Ht(e){const t=function(e,t){const n=new ze({check:"custom",...P(t)});return n._zod.check=e,n}(n=>(n.addIssue=e=>{if("string"==typeof e)n.issues.push(S(e,n.value,t._zod.def));else{const r=e;r.fatal&&(r.continue=!1),r.code??(r.code="custom"),r.input??(r.input=n.value),r.inst??(r.inst=t),r.continue??(r.continue=!t._zod.def.abort),n.issues.push(S(r))}},e(n.value,n)));return t}const Xt=s("ZodISODateTime",(e,t)=>{Ye.init(e,t),$n.init(e,t)});function Qt(e){return function(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...P(t)})}(Xt,e)}const en=s("ZodISODate",(e,t)=>{He.init(e,t),$n.init(e,t)});function tn(e){return function(e,t){return new e({type:"string",format:"date",check:"string_format",...P(t)})}(en,e)}const nn=s("ZodISOTime",(e,t)=>{Xe.init(e,t),$n.init(e,t)});function rn(e){return function(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...P(t)})}(nn,e)}const on=s("ZodISODuration",(e,t)=>{Qe.init(e,t),$n.init(e,t)});function sn(e){return function(e,t){return new e({type:"string",format:"duration",check:"string_format",...P(t)})}(on,e)}const an=s("ZodError",(e,t)=>{C.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:t=>function(e,t=e=>e.message){const n={_errors:[]},r=e=>{for(const o of e.issues)if("invalid_union"===o.code&&o.errors.length)o.errors.map(e=>r({issues:e}));else if("invalid_key"===o.code)r({issues:o.issues});else if("invalid_element"===o.code)r({issues:o.issues});else if(0===o.path.length)n._errors.push(t(o));else{let e=n,r=0;for(;r<o.path.length;){const n=o.path[r];r===o.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(o))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(e),n}(e,t)},flatten:{value:t=>function(e,t=e=>e.message){const n={},r=[];for(const o of e.issues)o.path.length>0?(n[o.path[0]]=n[o.path[0]]||[],n[o.path[0]].push(t(o))):r.push(t(o));return{formErrors:r,fieldErrors:n}}(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,p,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,p,2)}},isEmpty:{get:()=>0===e.issues.length}})},{Parent:Error}),cn=D(an),un=R(an),dn=U(an),pn=M(an),ln=W(an),fn=B(an),hn=q(an),mn=J(an),vn=G(an),_n=K(an),gn=Y(an),yn=H(an),bn=s("ZodType",(e,t)=>(Ce.init(e,t),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone(g(t,{checks:[...t.checks??[],...n.map(e=>"function"==typeof e?{_zod:{check:e,def:{check:"custom"},onattach:[]}}:e)]})),e.clone=(t,n)=>x(e,t,n),e.brand=()=>e,e.register=(t,n)=>(t.add(e,n),e),e.parse=(t,n)=>cn(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>dn(e,t,n),e.parseAsync=async(t,n)=>un(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>pn(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>ln(e,t,n),e.decode=(t,n)=>fn(e,t,n),e.encodeAsync=async(t,n)=>hn(e,t,n),e.decodeAsync=async(t,n)=>mn(e,t,n),e.safeEncode=(t,n)=>vn(e,t,n),e.safeDecode=(t,n)=>_n(e,t,n),e.safeEncodeAsync=async(t,n)=>gn(e,t,n),e.safeDecodeAsync=async(t,n)=>yn(e,t,n),e.refine=(t,n)=>e.check(function(e,t={}){return function(e,t,n){return new e({type:"custom",check:"custom",fn:t,...P(n)})}(wr,e,t)}(t,n)),e.superRefine=t=>e.check(Ht(t)),e.overwrite=t=>e.check(Yt(t)),e.optional=()=>pr(e),e.nullable=()=>fr(e),e.nullish=()=>pr(fr(e)),e.nonoptional=t=>function(e,t){return new vr({type:"nonoptional",innerType:e,...P(t)})}(e,t),e.array=()=>Hn(e),e.or=t=>tr([e,t]),e.and=t=>new nr({type:"intersection",left:e,right:t}),e.transform=t=>yr(e,new ur({type:"transform",transform:t})),e.default=t=>{return n=t,new hr({type:"default",innerType:e,get defaultValue(){return"function"==typeof n?n():$(n)}});var n},e.prefault=t=>{return n=t,new mr({type:"prefault",innerType:e,get defaultValue(){return"function"==typeof n?n():$(n)}});var n},e.catch=t=>{return new _r({type:"catch",innerType:e,catchValue:"function"==typeof(n=t)?n:()=>n});var n},e.pipe=t=>yr(e,t),e.readonly=()=>new br({type:"readonly",innerType:e}),e.describe=t=>{const n=e.clone();return Bt.add(n,{description:t}),n},Object.defineProperty(e,"description",{get:()=>Bt.get(e)?.description,configurable:!0}),e.meta=(...t)=>{if(0===t.length)return Bt.get(e);const n=e.clone();return Bt.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),wn=s("_ZodString",(e,t)=>{Fe.init(e,t),bn.init(e,t);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...t)=>e.check(function(e,t){return new xe({check:"string_format",format:"regex",...P(t),pattern:e})}(...t)),e.includes=(...t)=>e.check(function(e,t){return new Ae({check:"string_format",format:"includes",...P(t),includes:e})}(...t)),e.startsWith=(...t)=>e.check(function(e,t){return new Oe({check:"string_format",format:"starts_with",...P(t),prefix:e})}(...t)),e.endsWith=(...t)=>e.check(function(e,t){return new je({check:"string_format",format:"ends_with",...P(t),suffix:e})}(...t)),e.min=(...t)=>e.check(Gt(...t)),e.max=(...t)=>e.check(Jt(...t)),e.length=(...t)=>e.check(Kt(...t)),e.nonempty=(...t)=>e.check(Gt(1,...t)),e.lowercase=t=>e.check(function(e){return new Pe({check:"string_format",format:"lowercase",...P(e)})}(t)),e.uppercase=t=>e.check(function(e){return new Te({check:"string_format",format:"uppercase",...P(e)})}(t)),e.trim=()=>e.check(Yt(e=>e.trim())),e.normalize=(...t)=>e.check(function(e){return Yt(t=>t.normalize(e))}(...t)),e.toLowerCase=()=>e.check(Yt(e=>e.toLowerCase())),e.toUpperCase=()=>e.check(Yt(e=>e.toUpperCase()))}),zn=s("ZodString",(e,t)=>{Fe.init(e,t),wn.init(e,t),e.email=t=>e.check(function(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...P(t)})}(Zn,t)),e.url=t=>e.check(function(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...P(t)})}(Pn,t)),e.jwt=t=>e.check(function(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...P(t)})}(Vn,t)),e.emoji=t=>e.check(function(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...P(t)})}(Tn,t)),e.guid=t=>e.check(qt(En,t)),e.uuid=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...P(t)})}(xn,t)),e.uuidv4=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...P(t)})}(xn,t)),e.uuidv6=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...P(t)})}(xn,t)),e.uuidv7=t=>e.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...P(t)})}(xn,t)),e.nanoid=t=>e.check(function(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...P(t)})}(An,t)),e.guid=t=>e.check(qt(En,t)),e.cuid=t=>e.check(function(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...P(t)})}(On,t)),e.cuid2=t=>e.check(function(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...P(t)})}(jn,t)),e.ulid=t=>e.check(function(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...P(t)})}(In,t)),e.base64=t=>e.check(function(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...P(t)})}(Un,t)),e.base64url=t=>e.check(function(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...P(t)})}(Ln,t)),e.xid=t=>e.check(function(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...P(t)})}(Sn,t)),e.ksuid=t=>e.check(function(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...P(t)})}(Nn,t)),e.ipv4=t=>e.check(function(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...P(t)})}(Cn,t)),e.ipv6=t=>e.check(function(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...P(t)})}(Fn,t)),e.cidrv4=t=>e.check(function(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...P(t)})}(Dn,t)),e.cidrv6=t=>e.check(function(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...P(t)})}(Rn,t)),e.e164=t=>e.check(function(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...P(t)})}(Mn,t)),e.datetime=t=>e.check(Qt(t)),e.date=t=>e.check(tn(t)),e.time=t=>e.check(rn(t)),e.duration=t=>e.check(sn(t))});function kn(e){return function(e,t){return new e({type:"string",...P(t)})}(zn,e)}const $n=s("ZodStringFormat",(e,t)=>{De.init(e,t),wn.init(e,t)}),Zn=s("ZodEmail",(e,t)=>{Le.init(e,t),$n.init(e,t)}),En=s("ZodGUID",(e,t)=>{Re.init(e,t),$n.init(e,t)}),xn=s("ZodUUID",(e,t)=>{Ue.init(e,t),$n.init(e,t)}),Pn=s("ZodURL",(e,t)=>{Me.init(e,t),$n.init(e,t)}),Tn=s("ZodEmoji",(e,t)=>{Ve.init(e,t),$n.init(e,t)}),An=s("ZodNanoID",(e,t)=>{We.init(e,t),$n.init(e,t)}),On=s("ZodCUID",(e,t)=>{Be.init(e,t),$n.init(e,t)}),jn=s("ZodCUID2",(e,t)=>{qe.init(e,t),$n.init(e,t)}),In=s("ZodULID",(e,t)=>{Je.init(e,t),$n.init(e,t)}),Sn=s("ZodXID",(e,t)=>{Ge.init(e,t),$n.init(e,t)}),Nn=s("ZodKSUID",(e,t)=>{Ke.init(e,t),$n.init(e,t)}),Cn=s("ZodIPv4",(e,t)=>{et.init(e,t),$n.init(e,t)}),Fn=s("ZodIPv6",(e,t)=>{tt.init(e,t),$n.init(e,t)}),Dn=s("ZodCIDRv4",(e,t)=>{nt.init(e,t),$n.init(e,t)}),Rn=s("ZodCIDRv6",(e,t)=>{rt.init(e,t),$n.init(e,t)}),Un=s("ZodBase64",(e,t)=>{it.init(e,t),$n.init(e,t)}),Ln=s("ZodBase64URL",(e,t)=>{st.init(e,t),$n.init(e,t)}),Mn=s("ZodE164",(e,t)=>{at.init(e,t),$n.init(e,t)}),Vn=s("ZodJWT",(e,t)=>{ct.init(e,t),$n.init(e,t)}),Wn=s("ZodBoolean",(e,t)=>{ut.init(e,t),bn.init(e,t)});function Bn(e){return function(e,t){return new e({type:"boolean",...P(t)})}(Wn,e)}const qn=s("ZodUnknown",(e,t)=>{dt.init(e,t),bn.init(e,t)});function Jn(){return new qn({type:"unknown"})}const Gn=s("ZodNever",(e,t)=>{pt.init(e,t),bn.init(e,t)});function Kn(e){return function(e,t){return new e({type:"never",...P(t)})}(Gn,e)}const Yn=s("ZodArray",(e,t)=>{ft.init(e,t),bn.init(e,t),e.element=t.element,e.min=(t,n)=>e.check(Gt(t,n)),e.nonempty=t=>e.check(Gt(1,t)),e.max=(t,n)=>e.check(Jt(t,n)),e.length=(t,n)=>e.check(Kt(t,n)),e.unwrap=()=>e.element});function Hn(e,t){return function(e,t,n){return new e({type:"array",element:t,...P(n)})}(Yn,e,t)}const Xn=s("ZodObject",(e,t)=>{gt.init(e,t),bn.init(e,t),v(e,"shape",()=>t.shape),e.keyof=()=>sr(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Jn()}),e.loose=()=>e.clone({...e._zod.def,catchall:Jn()}),e.strict=()=>e.clone({...e._zod.def,catchall:Kn()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>function(e,t){if(!k(t))throw new Error("Invalid input to extend: expected a plain object");const n=e._zod.def.checks;if(n&&n.length>0)throw new Error("Object schemas containing refinements cannot be extended. Use `.safeExtend()` instead.");const r=g(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return _(this,"shape",n),n},checks:[]});return x(e,r)}(e,t),e.safeExtend=t=>function(e,t){if(!k(t))throw new Error("Invalid input to safeExtend: expected a plain object");const n={...e._zod.def,get shape(){const n={...e._zod.def.shape,...t};return _(this,"shape",n),n},checks:e._zod.def.checks};return x(e,n)}(e,t),e.merge=t=>function(e,t){const n=g(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t._zod.def.shape};return _(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:[]});return x(e,n)}(e,t),e.pick=t=>function(e,t){const n=e._zod.def;return x(e,g(e._zod.def,{get shape(){const e={};for(const r in t){if(!(r in n.shape))throw new Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return _(this,"shape",e),e},checks:[]}))}(e,t),e.omit=t=>function(e,t){const n=e._zod.def,r=g(e._zod.def,{get shape(){const r={...e._zod.def.shape};for(const e in t){if(!(e in n.shape))throw new Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return _(this,"shape",r),r},checks:[]});return x(e,r)}(e,t),e.partial=(...t)=>function(e,t,n){const r=g(t._zod.def,{get shape(){const r=t._zod.def.shape,o={...r};if(n)for(const t in n){if(!(t in r))throw new Error(`Unrecognized key: "${t}"`);n[t]&&(o[t]=e?new e({type:"optional",innerType:r[t]}):r[t])}else for(const t in r)o[t]=e?new e({type:"optional",innerType:r[t]}):r[t];return _(this,"shape",o),o},checks:[]});return x(t,r)}(dr,e,t[0]),e.required=(...t)=>function(e,t,n){const r=g(t._zod.def,{get shape(){const r=t._zod.def.shape,o={...r};if(n)for(const t in n){if(!(t in o))throw new Error(`Unrecognized key: "${t}"`);n[t]&&(o[t]=new e({type:"nonoptional",innerType:r[t]}))}else for(const t in r)o[t]=new e({type:"nonoptional",innerType:r[t]});return _(this,"shape",o),o},checks:[]});return x(t,r)}(vr,e,t[0])});function Qn(e,t){const n={type:"object",shape:e??{},...P(t)};return new Xn(n)}const er=s("ZodUnion",(e,t)=>{bt.init(e,t),bn.init(e,t),e.options=t.options});function tr(e,t){return new er({type:"union",options:e,...P(t)})}const nr=s("ZodIntersection",(e,t)=>{wt.init(e,t),bn.init(e,t)});const rr=s("ZodRecord",(e,t)=>{$t.init(e,t),bn.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function or(e,t,n){return new rr({type:"record",keyType:e,valueType:t,...P(n)})}const ir=s("ZodEnum",(e,t)=>{Zt.init(e,t),bn.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{const o={};for(const r of e){if(!n.has(r))throw new Error(`Key ${r} not found in enum`);o[r]=t.entries[r]}return new ir({...t,checks:[],...P(r),entries:o})},e.exclude=(e,r)=>{const o={...t.entries};for(const t of e){if(!n.has(t))throw new Error(`Key ${t} not found in enum`);delete o[t]}return new ir({...t,checks:[],...P(r),entries:o})}});function sr(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new ir({type:"enum",entries:n,...P(t)})}const ar=s("ZodLiteral",(e,t)=>{Et.init(e,t),bn.init(e,t),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function cr(e,t){return new ar({type:"literal",values:Array.isArray(e)?e:[e],...P(t)})}const ur=s("ZodTransform",(e,t)=>{xt.init(e,t),bn.init(e,t),e._zod.parse=(n,r)=>{if("backward"===r.direction)throw new c(e.constructor.name);n.addIssue=r=>{if("string"==typeof r)n.issues.push(S(r,n.value,t));else{const t=r;t.fatal&&(t.continue=!1),t.code??(t.code="custom"),t.input??(t.input=n.value),t.inst??(t.inst=e),n.issues.push(S(t))}};const o=t.transform(n.value,n);return o instanceof Promise?o.then(e=>(n.value=e,n)):(n.value=o,n)}});const dr=s("ZodOptional",(e,t)=>{Tt.init(e,t),bn.init(e,t),e.unwrap=()=>e._zod.def.innerType});function pr(e){return new dr({type:"optional",innerType:e})}const lr=s("ZodNullable",(e,t)=>{At.init(e,t),bn.init(e,t),e.unwrap=()=>e._zod.def.innerType});function fr(e){return new lr({type:"nullable",innerType:e})}const hr=s("ZodDefault",(e,t)=>{Ot.init(e,t),bn.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});const mr=s("ZodPrefault",(e,t)=>{It.init(e,t),bn.init(e,t),e.unwrap=()=>e._zod.def.innerType});const vr=s("ZodNonOptional",(e,t)=>{St.init(e,t),bn.init(e,t),e.unwrap=()=>e._zod.def.innerType});const _r=s("ZodCatch",(e,t)=>{Ct.init(e,t),bn.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});const gr=s("ZodPipe",(e,t)=>{Ft.init(e,t),bn.init(e,t),e.in=t.in,e.out=t.out});function yr(e,t){return new gr({type:"pipe",in:e,out:t})}const br=s("ZodReadonly",(e,t)=>{Rt.init(e,t),bn.init(e,t),e.unwrap=()=>e._zod.def.innerType});const wr=s("ZodCustom",(e,t)=>{Lt.init(e,t),bn.init(e,t)});const zr="directus:extension",kr=Qn({app:kn(),api:kn()}),$r=Qn({request:pr(Qn({urls:Hn(kn()),methods:Hn(tr([cr("GET"),cr("POST"),cr("PATCH"),cr("PUT"),cr("DELETE")]))})),log:pr(Qn({})),sleep:pr(Qn({}))}),Zr=pr(Qn({enabled:Bn(),requestedScopes:$r})),Er=tr([Qn({type:sr(o),name:kn(),source:kn()}),Qn({type:sr(r),name:kn(),source:kn()}),Qn({type:sr(i),name:kn(),source:kr})]),xr=Qn({host:kn(),hidden:Bn().optional()}),Pr=Qn({type:sr(r),path:kn(),source:kn()}),Tr=Qn({type:sr(o),path:kn(),source:kn(),sandbox:Zr}),Ar=Qn({type:sr(i),path:kr,source:kr,sandbox:Zr}),Or=Qn({type:cr("bundle"),partial:Bn().optional(),path:kr,entries:Hn(Er)});Hn(Er);const jr=xr.and(tr([Pr,Tr,Ar,Or]));Qn({name:kn(),version:kn(),type:tr([cr("module"),cr("commonjs")]).optional(),description:kn().optional(),icon:kn().optional(),dependencies:or(kn(),kn()).optional(),devDependencies:or(kn(),kn()).optional(),[zr]:jr});class Ir{constructor(e,t){this.database=e,this.logger=t,this.tableName="directus_permissions"}async removeDuplicates(e){const t=await this.getPoliciesCollectionsAndActions(),n=[];for(const[r,o]of t)for(const[t,i]of o)for(const o of i){const i=await this.database(this.tableName).where({policy:r,collection:t,action:o}).orderBy("id","asc");if(i.length>1){this.logger.warn(`Duplicated permissions for policy ${r}, collection ${t}, action ${o} (${i.length} permissions)`);const[s,...a]="first"===e?i:i.reverse(),c=a.map(e=>e.id);await this.database(this.tableName).whereIn("id",c).delete(),n.push({policy:r,collection:t,action:o,ids:c}),this.logger.info(`Deleted ${c.length} duplicated permissions, keeping permission ${s.id}`)}}return n}async getPoliciesCollectionsAndActions(){const e=await this.database(this.tableName).where({}),t=new Map;for(const n of e){const{policy:e,collection:r,action:o}=n,i=t.get(e)??new Map,s=i.get(r)??new Set;s.add(o),i.set(r,s),t.set(e,i)}return t}}class Sr{constructor(e){this.database=e,this.tableName="directus_sync_id_map"}async init(){return!await this.database.schema.hasTable(this.tableName)&&(await this.database.sche