@lightspeed/crane 3.5.0-rc.0 → 3.5.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/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  # Changelog
2
2
 
3
- ## 3.5.0 - 2026-06-08
3
+ ## 3.5.0 - 2026-06-09
4
+
5
+ ### Added
6
+
7
+ - Support all types for Button and Menu content setting
8
+ - validate custom storefront layout slot dependencies
4
9
 
5
10
  ### Changed
6
11
 
package/dist/cli.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import*as Qs from"fs";import ee,{existsSync as ke,readFileSync as Ar,statSync as ws,promises as Pr,writeFileSync as wr,createReadStream as gp,mkdtempSync as Ep,mkdirSync as Tp,rmSync as Za}from"fs";import*as ei from"path";import Se,{resolve as G,dirname as Wa,relative as Ka,basename as Sp,sep as Cr,parse as qa,join as We}from"path";import bp from"cac";import{green as et,yellow as Ip,red as xp,gray as Ap}from"kolorist";import Qt from"prompts";import Ya from"adm-zip";import{glob as W,globSync as Xa}from"glob";import tt from"typescript";import{normalizePath as Pp,build as ht,defineConfig as ti,createServer as wp}from"vite";import"vue";import"vue/server-renderer";import*as Ie from"process";import si from"process";import{JSONPath as Cp}from"jsonpath-plus";import{readFile as _r,writeFile as _p}from"fs/promises";import{pathToFileURL as Ja,URL as vp}from"url";import vr,{AxiosError as Qa}from"axios";import Np from"tinycolor2";import{ButtonTypeEnum as ii}from"@lightspeed/crane-api";import{builtinModules as eo}from"module";import{viteExternalsPlugin as to}from"vite-plugin-externals";import Op from"vite-plugin-compression";import Lp from"@vitejs/plugin-vue";import Dp from"vite-tsconfig-paths";import kp from"vite-plugin-checker";import{encode as Rp}from"@jridgewell/sourcemap-codec";import{promisify as so}from"node:util";import io from"node:zlib";import me from"node:fs";import Re from"node:path";import be from"node:process";import Mp from"micromatch";import{fileURLToPath as $p}from"node:url";import{ConcurrencyManager as Fp}from"axios-concurrency";import{inc as Bp}from"semver";import Up from"cli-progress";import{WebSocketServer as jp,WebSocket as zp}from"ws";import*as Vp from"os";import{spawnSync as Gp}from"child_process";const Hp="3.5.0-rc.0";function P(e,s,i){function a(f,y){if(f._zod||Object.defineProperty(f,"_zod",{value:{def:y,constr:h,traits:new Set},enumerable:!1}),f._zod.traits.has(e))return;f._zod.traits.add(e),s(f,y);const T=h.prototype,I=Object.keys(T);for(let A=0;A<I.length;A++){const L=I[A];L in f||(f[L]=T[L].bind(f))}}const c=i?.Parent??Object;class u extends c{}Object.defineProperty(u,"name",{value:e});function h(f){var y;const T=i?.Parent?new u:this;a(T,f),(y=T._zod).deferred??(y.deferred=[]);for(const I of T._zod.deferred)I();return T}return Object.defineProperty(h,"init",{value:a}),Object.defineProperty(h,Symbol.hasInstance,{value:f=>i?.Parent&&f instanceof i.Parent?!0:f?._zod?.traits?.has(e)}),Object.defineProperty(h,"name",{value:e}),h}class es extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class ro extends Error{constructor(s){super(`Encountered unidirectional transform during encode: ${s}`),this.name="ZodEncodeError"}}const Nr={};function pt(e){return e&&Object.assign(Nr,e),Nr}function no(e){const s=Object.values(e).filter(a=>typeof a=="number");return Object.entries(e).filter(([a,c])=>s.indexOf(+a)===-1).map(([a,c])=>c)}function Or(e,s){return typeof s=="bigint"?s.toString():s}function ri(e){return{get value(){{const s=e();return Object.defineProperty(this,"value",{value:s}),s}}}}function Lr(e){return e==null}function Dr(e){const s=e.startsWith("^")?1:0,i=e.endsWith("$")?e.length-1:e.length;return e.slice(s,i)}function Zp(e,s){const i=(e.toString().split(".")[1]||"").length,a=s.toString();let c=(a.split(".")[1]||"").length;if(c===0&&/\d?e-\d?/.test(a)){const y=a.match(/\d?e-(\d?)/);y?.[1]&&(c=Number.parseInt(y[1]))}const u=i>c?i:c,h=Number.parseInt(e.toFixed(u).replace(".","")),f=Number.parseInt(s.toFixed(u).replace(".",""));return h%f/10**u}const ao=Symbol("evaluating");function re(e,s,i){let a;Object.defineProperty(e,s,{get(){if(a!==ao)return a===void 0&&(a=ao,a=i()),a},set(c){Object.defineProperty(e,s,{value:c})},configurable:!0})}function Ft(e,s,i){Object.defineProperty(e,s,{value:i,writable:!0,enumerable:!0,configurable:!0})}function Ct(...e){const s={};for(const i of e){const a=Object.getOwnPropertyDescriptors(i);Object.assign(s,a)}return Object.defineProperties({},s)}function oo(e){return JSON.stringify(e)}function Wp(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const co="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Cs(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const Kp=ri(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function ts(e){if(Cs(e)===!1)return!1;const s=e.constructor;if(s===void 0||typeof s!="function")return!0;const i=s.prototype;return!(Cs(i)===!1||Object.prototype.hasOwnProperty.call(i,"isPrototypeOf")===!1)}function lo(e){return ts(e)?{...e}:Array.isArray(e)?[...e]:e}const qp=new Set(["string","number","symbol"]);function ss(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function _t(e,s,i){const a=new e._zod.constr(s??e._zod.def);return(!s||i?.parent)&&(a._zod.parent=e),a}function U(e){const s=e;if(!s)return{};if(typeof s=="string")return{error:()=>s};if(s?.message!==void 0){if(s?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");s.error=s.message}return delete s.message,typeof s.error=="string"?{...s,error:()=>s.error}:s}function Yp(e){return Object.keys(e).filter(s=>e[s]._zod.optin==="optional"&&e[s]._zod.optout==="optional")}const Xp={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Jp(e,s){const i=e._zod.def,a=i.checks;if(a&&a.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const u=Ct(e._zod.def,{get shape(){const h={};for(const f in s){if(!(f in i.shape))throw new Error(`Unrecognized key: "${f}"`);s[f]&&(h[f]=i.shape[f])}return Ft(this,"shape",h),h},checks:[]});return _t(e,u)}function Qp(e,s){const i=e._zod.def,a=i.checks;if(a&&a.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const u=Ct(e._zod.def,{get shape(){const h={...e._zod.def.shape};for(const f in s){if(!(f in i.shape))throw new Error(`Unrecognized key: "${f}"`);s[f]&&delete h[f]}return Ft(this,"shape",h),h},checks:[]});return _t(e,u)}function ed(e,s){if(!ts(s))throw new Error("Invalid input to extend: expected a plain object");const i=e._zod.def.checks;if(i&&i.length>0){const u=e._zod.def.shape;for(const h in s)if(Object.getOwnPropertyDescriptor(u,h)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const c=Ct(e._zod.def,{get shape(){const u={...e._zod.def.shape,...s};return Ft(this,"shape",u),u}});return _t(e,c)}function td(e,s){if(!ts(s))throw new Error("Invalid input to safeExtend: expected a plain object");const i=Ct(e._zod.def,{get shape(){const a={...e._zod.def.shape,...s};return Ft(this,"shape",a),a}});return _t(e,i)}function sd(e,s){const i=Ct(e._zod.def,{get shape(){const a={...e._zod.def.shape,...s._zod.def.shape};return Ft(this,"shape",a),a},get catchall(){return s._zod.def.catchall},checks:[]});return _t(e,i)}function id(e,s,i){const c=s._zod.def.checks;if(c&&c.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const h=Ct(s._zod.def,{get shape(){const f=s._zod.def.shape,y={...f};if(i)for(const T in i){if(!(T in f))throw new Error(`Unrecognized key: "${T}"`);i[T]&&(y[T]=e?new e({type:"optional",innerType:f[T]}):f[T])}else for(const T in f)y[T]=e?new e({type:"optional",innerType:f[T]}):f[T];return Ft(this,"shape",y),y},checks:[]});return _t(s,h)}function rd(e,s,i){const a=Ct(s._zod.def,{get shape(){const c=s._zod.def.shape,u={...c};if(i)for(const h in i){if(!(h in u))throw new Error(`Unrecognized key: "${h}"`);i[h]&&(u[h]=new e({type:"nonoptional",innerType:c[h]}))}else for(const h in c)u[h]=new e({type:"nonoptional",innerType:c[h]});return Ft(this,"shape",u),u}});return _t(s,a)}function is(e,s=0){if(e.aborted===!0)return!0;for(let i=s;i<e.issues.length;i++)if(e.issues[i]?.continue!==!0)return!0;return!1}function rs(e,s){return s.map(i=>{var a;return(a=i).path??(a.path=[]),i.path.unshift(e),i})}function ni(e){return typeof e=="string"?e:e?.message}function vt(e,s,i){const a={...e,path:e.path??[]};if(!e.message){const c=ni(e.inst?._zod.def?.error?.(e))??ni(s?.error?.(e))??ni(i.customError?.(e))??ni(i.localeError?.(e))??"Invalid input";a.message=c}return delete a.inst,delete a.continue,s?.reportInput||delete a.input,a}function kr(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function _s(...e){const[s,i,a]=e;return typeof s=="string"?{message:s,code:"custom",input:i,inst:a}:{...s}}const uo=(e,s)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:s,enumerable:!1}),e.message=JSON.stringify(s,Or,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},ho=P("$ZodError",uo),po=P("$ZodError",uo,{Parent:Error});function nd(e,s=i=>i.message){const i={},a=[];for(const c of e.issues)c.path.length>0?(i[c.path[0]]=i[c.path[0]]||[],i[c.path[0]].push(s(c))):a.push(s(c));return{formErrors:a,fieldErrors:i}}function ad(e,s=i=>i.message){const i={_errors:[]},a=c=>{for(const u of c.issues)if(u.code==="invalid_union"&&u.errors.length)u.errors.map(h=>a({issues:h}));else if(u.code==="invalid_key")a({issues:u.issues});else if(u.code==="invalid_element")a({issues:u.issues});else if(u.path.length===0)i._errors.push(s(u));else{let h=i,f=0;for(;f<u.path.length;){const y=u.path[f];f===u.path.length-1?(h[y]=h[y]||{_errors:[]},h[y]._errors.push(s(u))):h[y]=h[y]||{_errors:[]},h=h[y],f++}}};return a(e),i}const Rr=e=>(s,i,a,c)=>{const u=a?Object.assign(a,{async:!1}):{async:!1},h=s._zod.run({value:i,issues:[]},u);if(h instanceof Promise)throw new es;if(h.issues.length){const f=new(c?.Err??e)(h.issues.map(y=>vt(y,u,pt())));throw co(f,c?.callee),f}return h.value},Mr=e=>async(s,i,a,c)=>{const u=a?Object.assign(a,{async:!0}):{async:!0};let h=s._zod.run({value:i,issues:[]},u);if(h instanceof Promise&&(h=await h),h.issues.length){const f=new(c?.Err??e)(h.issues.map(y=>vt(y,u,pt())));throw co(f,c?.callee),f}return h.value},ai=e=>(s,i,a)=>{const c=a?{...a,async:!1}:{async:!1},u=s._zod.run({value:i,issues:[]},c);if(u instanceof Promise)throw new es;return u.issues.length?{success:!1,error:new(e??ho)(u.issues.map(h=>vt(h,c,pt())))}:{success:!0,data:u.value}},od=ai(po),oi=e=>async(s,i,a)=>{const c=a?Object.assign(a,{async:!0}):{async:!0};let u=s._zod.run({value:i,issues:[]},c);return u instanceof Promise&&(u=await u),u.issues.length?{success:!1,error:new e(u.issues.map(h=>vt(h,c,pt())))}:{success:!0,data:u.value}},cd=oi(po),ld=e=>(s,i,a)=>{const c=a?Object.assign(a,{direction:"backward"}):{direction:"backward"};return Rr(e)(s,i,c)},ud=e=>(s,i,a)=>Rr(e)(s,i,a),hd=e=>async(s,i,a)=>{const c=a?Object.assign(a,{direction:"backward"}):{direction:"backward"};return Mr(e)(s,i,c)},pd=e=>async(s,i,a)=>Mr(e)(s,i,a),dd=e=>(s,i,a)=>{const c=a?Object.assign(a,{direction:"backward"}):{direction:"backward"};return ai(e)(s,i,c)},fd=e=>(s,i,a)=>ai(e)(s,i,a),md=e=>async(s,i,a)=>{const c=a?Object.assign(a,{direction:"backward"}):{direction:"backward"};return oi(e)(s,i,c)},yd=e=>async(s,i,a)=>oi(e)(s,i,a),gd=/^[cC][^\s-]{8,}$/,Ed=/^[0-9a-z]+$/,Td=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Sd=/^[0-9a-vA-V]{20}$/,bd=/^[A-Za-z0-9]{27}$/,Id=/^[a-zA-Z0-9_-]{21}$/,xd=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Ad=/^([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})$/,fo=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)$/,Pd=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,wd="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Cd(){return new RegExp(wd,"u")}const _d=/^(?:(?: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])$/,vd=/^(([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}|:))$/,Nd=/^((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])$/,Od=/^(([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])$/,Ld=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,mo=/^[A-Za-z0-9_-]*$/,Dd=/^\+[1-9]\d{6,14}$/,yo="(?:(?:\\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])))",kd=new RegExp(`^${yo}$`);function go(e){const s="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${s}`:e.precision===0?`${s}:[0-5]\\d`:`${s}:[0-5]\\d\\.\\d{${e.precision}}`:`${s}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Rd(e){return new RegExp(`^${go(e)}$`)}function Md(e){const s=go({precision:e.precision}),i=["Z"];e.local&&i.push(""),e.offset&&i.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const a=`${s}(?:${i.join("|")})`;return new RegExp(`^${yo}T(?:${a})$`)}const $d=e=>{const s=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${s}$`)},Fd=/^-?\d+$/,Eo=/^-?\d+(?:\.\d+)?$/,Bd=/^(?:true|false)$/i,Ud=/^[^A-Z]*$/,jd=/^[^a-z]*$/,Fe=P("$ZodCheck",(e,s)=>{var i;e._zod??(e._zod={}),e._zod.def=s,(i=e._zod).onattach??(i.onattach=[])}),To={number:"number",bigint:"bigint",object:"date"},So=P("$ZodCheckLessThan",(e,s)=>{Fe.init(e,s);const i=To[typeof s.value];e._zod.onattach.push(a=>{const c=a._zod.bag,u=(s.inclusive?c.maximum:c.exclusiveMaximum)??Number.POSITIVE_INFINITY;s.value<u&&(s.inclusive?c.maximum=s.value:c.exclusiveMaximum=s.value)}),e._zod.check=a=>{(s.inclusive?a.value<=s.value:a.value<s.value)||a.issues.push({origin:i,code:"too_big",maximum:typeof s.value=="object"?s.value.getTime():s.value,input:a.value,inclusive:s.inclusive,inst:e,continue:!s.abort})}}),bo=P("$ZodCheckGreaterThan",(e,s)=>{Fe.init(e,s);const i=To[typeof s.value];e._zod.onattach.push(a=>{const c=a._zod.bag,u=(s.inclusive?c.minimum:c.exclusiveMinimum)??Number.NEGATIVE_INFINITY;s.value>u&&(s.inclusive?c.minimum=s.value:c.exclusiveMinimum=s.value)}),e._zod.check=a=>{(s.inclusive?a.value>=s.value:a.value>s.value)||a.issues.push({origin:i,code:"too_small",minimum:typeof s.value=="object"?s.value.getTime():s.value,input:a.value,inclusive:s.inclusive,inst:e,continue:!s.abort})}}),zd=P("$ZodCheckMultipleOf",(e,s)=>{Fe.init(e,s),e._zod.onattach.push(i=>{var a;(a=i._zod.bag).multipleOf??(a.multipleOf=s.value)}),e._zod.check=i=>{if(typeof i.value!=typeof s.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof i.value=="bigint"?i.value%s.value===BigInt(0):Zp(i.value,s.value)===0)||i.issues.push({origin:typeof i.value,code:"not_multiple_of",divisor:s.value,input:i.value,inst:e,continue:!s.abort})}}),Vd=P("$ZodCheckNumberFormat",(e,s)=>{Fe.init(e,s),s.format=s.format||"float64";const i=s.format?.includes("int"),a=i?"int":"number",[c,u]=Xp[s.format];e._zod.onattach.push(h=>{const f=h._zod.bag;f.format=s.format,f.minimum=c,f.maximum=u,i&&(f.pattern=Fd)}),e._zod.check=h=>{const f=h.value;if(i){if(!Number.isInteger(f)){h.issues.push({expected:a,format:s.format,code:"invalid_type",continue:!1,input:f,inst:e});return}if(!Number.isSafeInteger(f)){f>0?h.issues.push({input:f,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:a,inclusive:!0,continue:!s.abort}):h.issues.push({input:f,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:a,inclusive:!0,continue:!s.abort});return}}f<c&&h.issues.push({origin:"number",input:f,code:"too_small",minimum:c,inclusive:!0,inst:e,continue:!s.abort}),f>u&&h.issues.push({origin:"number",input:f,code:"too_big",maximum:u,inclusive:!0,inst:e,continue:!s.abort})}}),Gd=P("$ZodCheckMaxLength",(e,s)=>{var i;Fe.init(e,s),(i=e._zod.def).when??(i.when=a=>{const c=a.value;return!Lr(c)&&c.length!==void 0}),e._zod.onattach.push(a=>{const c=a._zod.bag.maximum??Number.POSITIVE_INFINITY;s.maximum<c&&(a._zod.bag.maximum=s.maximum)}),e._zod.check=a=>{const c=a.value;if(c.length<=s.maximum)return;const h=kr(c);a.issues.push({origin:h,code:"too_big",maximum:s.maximum,inclusive:!0,input:c,inst:e,continue:!s.abort})}}),Hd=P("$ZodCheckMinLength",(e,s)=>{var i;Fe.init(e,s),(i=e._zod.def).when??(i.when=a=>{const c=a.value;return!Lr(c)&&c.length!==void 0}),e._zod.onattach.push(a=>{const c=a._zod.bag.minimum??Number.NEGATIVE_INFINITY;s.minimum>c&&(a._zod.bag.minimum=s.minimum)}),e._zod.check=a=>{const c=a.value;if(c.length>=s.minimum)return;const h=kr(c);a.issues.push({origin:h,code:"too_small",minimum:s.minimum,inclusive:!0,input:c,inst:e,continue:!s.abort})}}),Zd=P("$ZodCheckLengthEquals",(e,s)=>{var i;Fe.init(e,s),(i=e._zod.def).when??(i.when=a=>{const c=a.value;return!Lr(c)&&c.length!==void 0}),e._zod.onattach.push(a=>{const c=a._zod.bag;c.minimum=s.length,c.maximum=s.length,c.length=s.length}),e._zod.check=a=>{const c=a.value,u=c.length;if(u===s.length)return;const h=kr(c),f=u>s.length;a.issues.push({origin:h,...f?{code:"too_big",maximum:s.length}:{code:"too_small",minimum:s.length},inclusive:!0,exact:!0,input:a.value,inst:e,continue:!s.abort})}}),ci=P("$ZodCheckStringFormat",(e,s)=>{var i,a;Fe.init(e,s),e._zod.onattach.push(c=>{const u=c._zod.bag;u.format=s.format,s.pattern&&(u.patterns??(u.patterns=new Set),u.patterns.add(s.pattern))}),s.pattern?(i=e._zod).check??(i.check=c=>{s.pattern.lastIndex=0,!s.pattern.test(c.value)&&c.issues.push({origin:"string",code:"invalid_format",format:s.format,input:c.value,...s.pattern?{pattern:s.pattern.toString()}:{},inst:e,continue:!s.abort})}):(a=e._zod).check??(a.check=()=>{})}),Wd=P("$ZodCheckRegex",(e,s)=>{ci.init(e,s),e._zod.check=i=>{s.pattern.lastIndex=0,!s.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:"regex",input:i.value,pattern:s.pattern.toString(),inst:e,continue:!s.abort})}}),Kd=P("$ZodCheckLowerCase",(e,s)=>{s.pattern??(s.pattern=Ud),ci.init(e,s)}),qd=P("$ZodCheckUpperCase",(e,s)=>{s.pattern??(s.pattern=jd),ci.init(e,s)}),Yd=P("$ZodCheckIncludes",(e,s)=>{Fe.init(e,s);const i=ss(s.includes),a=new RegExp(typeof s.position=="number"?`^.{${s.position}}${i}`:i);s.pattern=a,e._zod.onattach.push(c=>{const u=c._zod.bag;u.patterns??(u.patterns=new Set),u.patterns.add(a)}),e._zod.check=c=>{c.value.includes(s.includes,s.position)||c.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:s.includes,input:c.value,inst:e,continue:!s.abort})}}),Xd=P("$ZodCheckStartsWith",(e,s)=>{Fe.init(e,s);const i=new RegExp(`^${ss(s.prefix)}.*`);s.pattern??(s.pattern=i),e._zod.onattach.push(a=>{const c=a._zod.bag;c.patterns??(c.patterns=new Set),c.patterns.add(i)}),e._zod.check=a=>{a.value.startsWith(s.prefix)||a.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:s.prefix,input:a.value,inst:e,continue:!s.abort})}}),Jd=P("$ZodCheckEndsWith",(e,s)=>{Fe.init(e,s);const i=new RegExp(`.*${ss(s.suffix)}$`);s.pattern??(s.pattern=i),e._zod.onattach.push(a=>{const c=a._zod.bag;c.patterns??(c.patterns=new Set),c.patterns.add(i)}),e._zod.check=a=>{a.value.endsWith(s.suffix)||a.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:s.suffix,input:a.value,inst:e,continue:!s.abort})}}),Qd=P("$ZodCheckOverwrite",(e,s)=>{Fe.init(e,s),e._zod.check=i=>{i.value=s.tx(i.value)}});class ef{constructor(s=[]){this.content=[],this.indent=0,this&&(this.args=s)}indented(s){this.indent+=1,s(this),this.indent-=1}write(s){if(typeof s=="function"){s(this,{execution:"sync"}),s(this,{execution:"async"});return}const a=s.split(`
1
+ import*as Qs from"fs";import ee,{existsSync as ke,readFileSync as Ar,statSync as ws,promises as Pr,writeFileSync as wr,createReadStream as gp,mkdtempSync as Ep,mkdirSync as Tp,rmSync as Za}from"fs";import*as ei from"path";import Se,{resolve as G,dirname as Wa,relative as Ka,basename as Sp,sep as Cr,parse as qa,join as We}from"path";import bp from"cac";import{green as et,yellow as Ip,red as xp,gray as Ap}from"kolorist";import Qt from"prompts";import Ya from"adm-zip";import{glob as W,globSync as Xa}from"glob";import tt from"typescript";import{normalizePath as Pp,build as ht,defineConfig as ti,createServer as wp}from"vite";import"vue";import"vue/server-renderer";import*as Ie from"process";import si from"process";import{JSONPath as Cp}from"jsonpath-plus";import{readFile as _r,writeFile as _p}from"fs/promises";import{pathToFileURL as Ja,URL as vp}from"url";import vr,{AxiosError as Qa}from"axios";import Np from"tinycolor2";import{ButtonTypeEnum as ii}from"@lightspeed/crane-api";import{builtinModules as eo}from"module";import{viteExternalsPlugin as to}from"vite-plugin-externals";import Op from"vite-plugin-compression";import Lp from"@vitejs/plugin-vue";import Dp from"vite-tsconfig-paths";import kp from"vite-plugin-checker";import{encode as Rp}from"@jridgewell/sourcemap-codec";import{promisify as so}from"node:util";import io from"node:zlib";import me from"node:fs";import Re from"node:path";import be from"node:process";import Mp from"micromatch";import{fileURLToPath as $p}from"node:url";import{ConcurrencyManager as Fp}from"axios-concurrency";import{inc as Bp}from"semver";import Up from"cli-progress";import{WebSocketServer as jp,WebSocket as zp}from"ws";import*as Vp from"os";import{spawnSync as Gp}from"child_process";const Hp="3.5.0";function P(e,s,i){function a(f,y){if(f._zod||Object.defineProperty(f,"_zod",{value:{def:y,constr:h,traits:new Set},enumerable:!1}),f._zod.traits.has(e))return;f._zod.traits.add(e),s(f,y);const T=h.prototype,I=Object.keys(T);for(let A=0;A<I.length;A++){const L=I[A];L in f||(f[L]=T[L].bind(f))}}const c=i?.Parent??Object;class u extends c{}Object.defineProperty(u,"name",{value:e});function h(f){var y;const T=i?.Parent?new u:this;a(T,f),(y=T._zod).deferred??(y.deferred=[]);for(const I of T._zod.deferred)I();return T}return Object.defineProperty(h,"init",{value:a}),Object.defineProperty(h,Symbol.hasInstance,{value:f=>i?.Parent&&f instanceof i.Parent?!0:f?._zod?.traits?.has(e)}),Object.defineProperty(h,"name",{value:e}),h}class es extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class ro extends Error{constructor(s){super(`Encountered unidirectional transform during encode: ${s}`),this.name="ZodEncodeError"}}const Nr={};function pt(e){return e&&Object.assign(Nr,e),Nr}function no(e){const s=Object.values(e).filter(a=>typeof a=="number");return Object.entries(e).filter(([a,c])=>s.indexOf(+a)===-1).map(([a,c])=>c)}function Or(e,s){return typeof s=="bigint"?s.toString():s}function ri(e){return{get value(){{const s=e();return Object.defineProperty(this,"value",{value:s}),s}}}}function Lr(e){return e==null}function Dr(e){const s=e.startsWith("^")?1:0,i=e.endsWith("$")?e.length-1:e.length;return e.slice(s,i)}function Zp(e,s){const i=(e.toString().split(".")[1]||"").length,a=s.toString();let c=(a.split(".")[1]||"").length;if(c===0&&/\d?e-\d?/.test(a)){const y=a.match(/\d?e-(\d?)/);y?.[1]&&(c=Number.parseInt(y[1]))}const u=i>c?i:c,h=Number.parseInt(e.toFixed(u).replace(".","")),f=Number.parseInt(s.toFixed(u).replace(".",""));return h%f/10**u}const ao=Symbol("evaluating");function re(e,s,i){let a;Object.defineProperty(e,s,{get(){if(a!==ao)return a===void 0&&(a=ao,a=i()),a},set(c){Object.defineProperty(e,s,{value:c})},configurable:!0})}function Ft(e,s,i){Object.defineProperty(e,s,{value:i,writable:!0,enumerable:!0,configurable:!0})}function Ct(...e){const s={};for(const i of e){const a=Object.getOwnPropertyDescriptors(i);Object.assign(s,a)}return Object.defineProperties({},s)}function oo(e){return JSON.stringify(e)}function Wp(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const co="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Cs(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const Kp=ri(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function ts(e){if(Cs(e)===!1)return!1;const s=e.constructor;if(s===void 0||typeof s!="function")return!0;const i=s.prototype;return!(Cs(i)===!1||Object.prototype.hasOwnProperty.call(i,"isPrototypeOf")===!1)}function lo(e){return ts(e)?{...e}:Array.isArray(e)?[...e]:e}const qp=new Set(["string","number","symbol"]);function ss(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function _t(e,s,i){const a=new e._zod.constr(s??e._zod.def);return(!s||i?.parent)&&(a._zod.parent=e),a}function U(e){const s=e;if(!s)return{};if(typeof s=="string")return{error:()=>s};if(s?.message!==void 0){if(s?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");s.error=s.message}return delete s.message,typeof s.error=="string"?{...s,error:()=>s.error}:s}function Yp(e){return Object.keys(e).filter(s=>e[s]._zod.optin==="optional"&&e[s]._zod.optout==="optional")}const Xp={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Jp(e,s){const i=e._zod.def,a=i.checks;if(a&&a.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const u=Ct(e._zod.def,{get shape(){const h={};for(const f in s){if(!(f in i.shape))throw new Error(`Unrecognized key: "${f}"`);s[f]&&(h[f]=i.shape[f])}return Ft(this,"shape",h),h},checks:[]});return _t(e,u)}function Qp(e,s){const i=e._zod.def,a=i.checks;if(a&&a.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const u=Ct(e._zod.def,{get shape(){const h={...e._zod.def.shape};for(const f in s){if(!(f in i.shape))throw new Error(`Unrecognized key: "${f}"`);s[f]&&delete h[f]}return Ft(this,"shape",h),h},checks:[]});return _t(e,u)}function ed(e,s){if(!ts(s))throw new Error("Invalid input to extend: expected a plain object");const i=e._zod.def.checks;if(i&&i.length>0){const u=e._zod.def.shape;for(const h in s)if(Object.getOwnPropertyDescriptor(u,h)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const c=Ct(e._zod.def,{get shape(){const u={...e._zod.def.shape,...s};return Ft(this,"shape",u),u}});return _t(e,c)}function td(e,s){if(!ts(s))throw new Error("Invalid input to safeExtend: expected a plain object");const i=Ct(e._zod.def,{get shape(){const a={...e._zod.def.shape,...s};return Ft(this,"shape",a),a}});return _t(e,i)}function sd(e,s){const i=Ct(e._zod.def,{get shape(){const a={...e._zod.def.shape,...s._zod.def.shape};return Ft(this,"shape",a),a},get catchall(){return s._zod.def.catchall},checks:[]});return _t(e,i)}function id(e,s,i){const c=s._zod.def.checks;if(c&&c.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const h=Ct(s._zod.def,{get shape(){const f=s._zod.def.shape,y={...f};if(i)for(const T in i){if(!(T in f))throw new Error(`Unrecognized key: "${T}"`);i[T]&&(y[T]=e?new e({type:"optional",innerType:f[T]}):f[T])}else for(const T in f)y[T]=e?new e({type:"optional",innerType:f[T]}):f[T];return Ft(this,"shape",y),y},checks:[]});return _t(s,h)}function rd(e,s,i){const a=Ct(s._zod.def,{get shape(){const c=s._zod.def.shape,u={...c};if(i)for(const h in i){if(!(h in u))throw new Error(`Unrecognized key: "${h}"`);i[h]&&(u[h]=new e({type:"nonoptional",innerType:c[h]}))}else for(const h in c)u[h]=new e({type:"nonoptional",innerType:c[h]});return Ft(this,"shape",u),u}});return _t(s,a)}function is(e,s=0){if(e.aborted===!0)return!0;for(let i=s;i<e.issues.length;i++)if(e.issues[i]?.continue!==!0)return!0;return!1}function rs(e,s){return s.map(i=>{var a;return(a=i).path??(a.path=[]),i.path.unshift(e),i})}function ni(e){return typeof e=="string"?e:e?.message}function vt(e,s,i){const a={...e,path:e.path??[]};if(!e.message){const c=ni(e.inst?._zod.def?.error?.(e))??ni(s?.error?.(e))??ni(i.customError?.(e))??ni(i.localeError?.(e))??"Invalid input";a.message=c}return delete a.inst,delete a.continue,s?.reportInput||delete a.input,a}function kr(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function _s(...e){const[s,i,a]=e;return typeof s=="string"?{message:s,code:"custom",input:i,inst:a}:{...s}}const uo=(e,s)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:s,enumerable:!1}),e.message=JSON.stringify(s,Or,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},ho=P("$ZodError",uo),po=P("$ZodError",uo,{Parent:Error});function nd(e,s=i=>i.message){const i={},a=[];for(const c of e.issues)c.path.length>0?(i[c.path[0]]=i[c.path[0]]||[],i[c.path[0]].push(s(c))):a.push(s(c));return{formErrors:a,fieldErrors:i}}function ad(e,s=i=>i.message){const i={_errors:[]},a=c=>{for(const u of c.issues)if(u.code==="invalid_union"&&u.errors.length)u.errors.map(h=>a({issues:h}));else if(u.code==="invalid_key")a({issues:u.issues});else if(u.code==="invalid_element")a({issues:u.issues});else if(u.path.length===0)i._errors.push(s(u));else{let h=i,f=0;for(;f<u.path.length;){const y=u.path[f];f===u.path.length-1?(h[y]=h[y]||{_errors:[]},h[y]._errors.push(s(u))):h[y]=h[y]||{_errors:[]},h=h[y],f++}}};return a(e),i}const Rr=e=>(s,i,a,c)=>{const u=a?Object.assign(a,{async:!1}):{async:!1},h=s._zod.run({value:i,issues:[]},u);if(h instanceof Promise)throw new es;if(h.issues.length){const f=new(c?.Err??e)(h.issues.map(y=>vt(y,u,pt())));throw co(f,c?.callee),f}return h.value},Mr=e=>async(s,i,a,c)=>{const u=a?Object.assign(a,{async:!0}):{async:!0};let h=s._zod.run({value:i,issues:[]},u);if(h instanceof Promise&&(h=await h),h.issues.length){const f=new(c?.Err??e)(h.issues.map(y=>vt(y,u,pt())));throw co(f,c?.callee),f}return h.value},ai=e=>(s,i,a)=>{const c=a?{...a,async:!1}:{async:!1},u=s._zod.run({value:i,issues:[]},c);if(u instanceof Promise)throw new es;return u.issues.length?{success:!1,error:new(e??ho)(u.issues.map(h=>vt(h,c,pt())))}:{success:!0,data:u.value}},od=ai(po),oi=e=>async(s,i,a)=>{const c=a?Object.assign(a,{async:!0}):{async:!0};let u=s._zod.run({value:i,issues:[]},c);return u instanceof Promise&&(u=await u),u.issues.length?{success:!1,error:new e(u.issues.map(h=>vt(h,c,pt())))}:{success:!0,data:u.value}},cd=oi(po),ld=e=>(s,i,a)=>{const c=a?Object.assign(a,{direction:"backward"}):{direction:"backward"};return Rr(e)(s,i,c)},ud=e=>(s,i,a)=>Rr(e)(s,i,a),hd=e=>async(s,i,a)=>{const c=a?Object.assign(a,{direction:"backward"}):{direction:"backward"};return Mr(e)(s,i,c)},pd=e=>async(s,i,a)=>Mr(e)(s,i,a),dd=e=>(s,i,a)=>{const c=a?Object.assign(a,{direction:"backward"}):{direction:"backward"};return ai(e)(s,i,c)},fd=e=>(s,i,a)=>ai(e)(s,i,a),md=e=>async(s,i,a)=>{const c=a?Object.assign(a,{direction:"backward"}):{direction:"backward"};return oi(e)(s,i,c)},yd=e=>async(s,i,a)=>oi(e)(s,i,a),gd=/^[cC][^\s-]{8,}$/,Ed=/^[0-9a-z]+$/,Td=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Sd=/^[0-9a-vA-V]{20}$/,bd=/^[A-Za-z0-9]{27}$/,Id=/^[a-zA-Z0-9_-]{21}$/,xd=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Ad=/^([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})$/,fo=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)$/,Pd=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,wd="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Cd(){return new RegExp(wd,"u")}const _d=/^(?:(?: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])$/,vd=/^(([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}|:))$/,Nd=/^((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])$/,Od=/^(([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])$/,Ld=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,mo=/^[A-Za-z0-9_-]*$/,Dd=/^\+[1-9]\d{6,14}$/,yo="(?:(?:\\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])))",kd=new RegExp(`^${yo}$`);function go(e){const s="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${s}`:e.precision===0?`${s}:[0-5]\\d`:`${s}:[0-5]\\d\\.\\d{${e.precision}}`:`${s}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Rd(e){return new RegExp(`^${go(e)}$`)}function Md(e){const s=go({precision:e.precision}),i=["Z"];e.local&&i.push(""),e.offset&&i.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const a=`${s}(?:${i.join("|")})`;return new RegExp(`^${yo}T(?:${a})$`)}const $d=e=>{const s=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${s}$`)},Fd=/^-?\d+$/,Eo=/^-?\d+(?:\.\d+)?$/,Bd=/^(?:true|false)$/i,Ud=/^[^A-Z]*$/,jd=/^[^a-z]*$/,Fe=P("$ZodCheck",(e,s)=>{var i;e._zod??(e._zod={}),e._zod.def=s,(i=e._zod).onattach??(i.onattach=[])}),To={number:"number",bigint:"bigint",object:"date"},So=P("$ZodCheckLessThan",(e,s)=>{Fe.init(e,s);const i=To[typeof s.value];e._zod.onattach.push(a=>{const c=a._zod.bag,u=(s.inclusive?c.maximum:c.exclusiveMaximum)??Number.POSITIVE_INFINITY;s.value<u&&(s.inclusive?c.maximum=s.value:c.exclusiveMaximum=s.value)}),e._zod.check=a=>{(s.inclusive?a.value<=s.value:a.value<s.value)||a.issues.push({origin:i,code:"too_big",maximum:typeof s.value=="object"?s.value.getTime():s.value,input:a.value,inclusive:s.inclusive,inst:e,continue:!s.abort})}}),bo=P("$ZodCheckGreaterThan",(e,s)=>{Fe.init(e,s);const i=To[typeof s.value];e._zod.onattach.push(a=>{const c=a._zod.bag,u=(s.inclusive?c.minimum:c.exclusiveMinimum)??Number.NEGATIVE_INFINITY;s.value>u&&(s.inclusive?c.minimum=s.value:c.exclusiveMinimum=s.value)}),e._zod.check=a=>{(s.inclusive?a.value>=s.value:a.value>s.value)||a.issues.push({origin:i,code:"too_small",minimum:typeof s.value=="object"?s.value.getTime():s.value,input:a.value,inclusive:s.inclusive,inst:e,continue:!s.abort})}}),zd=P("$ZodCheckMultipleOf",(e,s)=>{Fe.init(e,s),e._zod.onattach.push(i=>{var a;(a=i._zod.bag).multipleOf??(a.multipleOf=s.value)}),e._zod.check=i=>{if(typeof i.value!=typeof s.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof i.value=="bigint"?i.value%s.value===BigInt(0):Zp(i.value,s.value)===0)||i.issues.push({origin:typeof i.value,code:"not_multiple_of",divisor:s.value,input:i.value,inst:e,continue:!s.abort})}}),Vd=P("$ZodCheckNumberFormat",(e,s)=>{Fe.init(e,s),s.format=s.format||"float64";const i=s.format?.includes("int"),a=i?"int":"number",[c,u]=Xp[s.format];e._zod.onattach.push(h=>{const f=h._zod.bag;f.format=s.format,f.minimum=c,f.maximum=u,i&&(f.pattern=Fd)}),e._zod.check=h=>{const f=h.value;if(i){if(!Number.isInteger(f)){h.issues.push({expected:a,format:s.format,code:"invalid_type",continue:!1,input:f,inst:e});return}if(!Number.isSafeInteger(f)){f>0?h.issues.push({input:f,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:a,inclusive:!0,continue:!s.abort}):h.issues.push({input:f,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:a,inclusive:!0,continue:!s.abort});return}}f<c&&h.issues.push({origin:"number",input:f,code:"too_small",minimum:c,inclusive:!0,inst:e,continue:!s.abort}),f>u&&h.issues.push({origin:"number",input:f,code:"too_big",maximum:u,inclusive:!0,inst:e,continue:!s.abort})}}),Gd=P("$ZodCheckMaxLength",(e,s)=>{var i;Fe.init(e,s),(i=e._zod.def).when??(i.when=a=>{const c=a.value;return!Lr(c)&&c.length!==void 0}),e._zod.onattach.push(a=>{const c=a._zod.bag.maximum??Number.POSITIVE_INFINITY;s.maximum<c&&(a._zod.bag.maximum=s.maximum)}),e._zod.check=a=>{const c=a.value;if(c.length<=s.maximum)return;const h=kr(c);a.issues.push({origin:h,code:"too_big",maximum:s.maximum,inclusive:!0,input:c,inst:e,continue:!s.abort})}}),Hd=P("$ZodCheckMinLength",(e,s)=>{var i;Fe.init(e,s),(i=e._zod.def).when??(i.when=a=>{const c=a.value;return!Lr(c)&&c.length!==void 0}),e._zod.onattach.push(a=>{const c=a._zod.bag.minimum??Number.NEGATIVE_INFINITY;s.minimum>c&&(a._zod.bag.minimum=s.minimum)}),e._zod.check=a=>{const c=a.value;if(c.length>=s.minimum)return;const h=kr(c);a.issues.push({origin:h,code:"too_small",minimum:s.minimum,inclusive:!0,input:c,inst:e,continue:!s.abort})}}),Zd=P("$ZodCheckLengthEquals",(e,s)=>{var i;Fe.init(e,s),(i=e._zod.def).when??(i.when=a=>{const c=a.value;return!Lr(c)&&c.length!==void 0}),e._zod.onattach.push(a=>{const c=a._zod.bag;c.minimum=s.length,c.maximum=s.length,c.length=s.length}),e._zod.check=a=>{const c=a.value,u=c.length;if(u===s.length)return;const h=kr(c),f=u>s.length;a.issues.push({origin:h,...f?{code:"too_big",maximum:s.length}:{code:"too_small",minimum:s.length},inclusive:!0,exact:!0,input:a.value,inst:e,continue:!s.abort})}}),ci=P("$ZodCheckStringFormat",(e,s)=>{var i,a;Fe.init(e,s),e._zod.onattach.push(c=>{const u=c._zod.bag;u.format=s.format,s.pattern&&(u.patterns??(u.patterns=new Set),u.patterns.add(s.pattern))}),s.pattern?(i=e._zod).check??(i.check=c=>{s.pattern.lastIndex=0,!s.pattern.test(c.value)&&c.issues.push({origin:"string",code:"invalid_format",format:s.format,input:c.value,...s.pattern?{pattern:s.pattern.toString()}:{},inst:e,continue:!s.abort})}):(a=e._zod).check??(a.check=()=>{})}),Wd=P("$ZodCheckRegex",(e,s)=>{ci.init(e,s),e._zod.check=i=>{s.pattern.lastIndex=0,!s.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:"regex",input:i.value,pattern:s.pattern.toString(),inst:e,continue:!s.abort})}}),Kd=P("$ZodCheckLowerCase",(e,s)=>{s.pattern??(s.pattern=Ud),ci.init(e,s)}),qd=P("$ZodCheckUpperCase",(e,s)=>{s.pattern??(s.pattern=jd),ci.init(e,s)}),Yd=P("$ZodCheckIncludes",(e,s)=>{Fe.init(e,s);const i=ss(s.includes),a=new RegExp(typeof s.position=="number"?`^.{${s.position}}${i}`:i);s.pattern=a,e._zod.onattach.push(c=>{const u=c._zod.bag;u.patterns??(u.patterns=new Set),u.patterns.add(a)}),e._zod.check=c=>{c.value.includes(s.includes,s.position)||c.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:s.includes,input:c.value,inst:e,continue:!s.abort})}}),Xd=P("$ZodCheckStartsWith",(e,s)=>{Fe.init(e,s);const i=new RegExp(`^${ss(s.prefix)}.*`);s.pattern??(s.pattern=i),e._zod.onattach.push(a=>{const c=a._zod.bag;c.patterns??(c.patterns=new Set),c.patterns.add(i)}),e._zod.check=a=>{a.value.startsWith(s.prefix)||a.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:s.prefix,input:a.value,inst:e,continue:!s.abort})}}),Jd=P("$ZodCheckEndsWith",(e,s)=>{Fe.init(e,s);const i=new RegExp(`.*${ss(s.suffix)}$`);s.pattern??(s.pattern=i),e._zod.onattach.push(a=>{const c=a._zod.bag;c.patterns??(c.patterns=new Set),c.patterns.add(i)}),e._zod.check=a=>{a.value.endsWith(s.suffix)||a.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:s.suffix,input:a.value,inst:e,continue:!s.abort})}}),Qd=P("$ZodCheckOverwrite",(e,s)=>{Fe.init(e,s),e._zod.check=i=>{i.value=s.tx(i.value)}});class ef{constructor(s=[]){this.content=[],this.indent=0,this&&(this.args=s)}indented(s){this.indent+=1,s(this),this.indent-=1}write(s){if(typeof s=="function"){s(this,{execution:"sync"}),s(this,{execution:"async"});return}const a=s.split(`
2
2
  `).filter(h=>h),c=Math.min(...a.map(h=>h.length-h.trimStart().length)),u=a.map(h=>h.slice(c)).map(h=>" ".repeat(this.indent*2)+h);for(const h of u)this.content.push(h)}compile(){const s=Function,i=this?.args,c=[...(this?.content??[""]).map(u=>` ${u}`)];return new s(...i,c.join(`
3
3
  `))}}const tf={major:4,minor:3,patch:6},ye=P("$ZodType",(e,s)=>{var i;e??(e={}),e._zod.def=s,e._zod.bag=e._zod.bag||{},e._zod.version=tf;const a=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&a.unshift(e);for(const c of a)for(const u of c._zod.onattach)u(e);if(a.length===0)(i=e._zod).deferred??(i.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const c=(h,f,y)=>{let T=is(h),I;for(const A of f){if(A._zod.def.when){if(!A._zod.def.when(h))continue}else if(T)continue;const L=h.issues.length,R=A._zod.check(h);if(R instanceof Promise&&y?.async===!1)throw new es;if(I||R instanceof Promise)I=(I??Promise.resolve()).then(async()=>{await R,h.issues.length!==L&&(T||(T=is(h,L)))});else{if(h.issues.length===L)continue;T||(T=is(h,L))}}return I?I.then(()=>h):h},u=(h,f,y)=>{if(is(h))return h.aborted=!0,h;const T=c(f,a,y);if(T instanceof Promise){if(y.async===!1)throw new es;return T.then(I=>e._zod.parse(I,y))}return e._zod.parse(T,y)};e._zod.run=(h,f)=>{if(f.skipChecks)return e._zod.parse(h,f);if(f.direction==="backward"){const T=e._zod.parse({value:h.value,issues:[]},{...f,skipChecks:!0});return T instanceof Promise?T.then(I=>u(I,h,f)):u(T,h,f)}const y=e._zod.parse(h,f);if(y instanceof Promise){if(f.async===!1)throw new es;return y.then(T=>c(T,a,f))}return c(y,a,f)}}re(e,"~standard",()=>({validate:c=>{try{const u=od(e,c);return u.success?{value:u.data}:{issues:u.error?.issues}}catch{return cd(e,c).then(h=>h.success?{value:h.data}:{issues:h.error?.issues})}},vendor:"zod",version:1}))}),$r=P("$ZodString",(e,s)=>{ye.init(e,s),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??$d(e._zod.bag),e._zod.parse=(i,a)=>{if(s.coerce)try{i.value=String(i.value)}catch{}return typeof i.value=="string"||i.issues.push({expected:"string",code:"invalid_type",input:i.value,inst:e}),i}}),de=P("$ZodStringFormat",(e,s)=>{ci.init(e,s),$r.init(e,s)}),sf=P("$ZodGUID",(e,s)=>{s.pattern??(s.pattern=Ad),de.init(e,s)}),rf=P("$ZodUUID",(e,s)=>{if(s.version){const a={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[s.version];if(a===void 0)throw new Error(`Invalid UUID version: "${s.version}"`);s.pattern??(s.pattern=fo(a))}else s.pattern??(s.pattern=fo());de.init(e,s)}),nf=P("$ZodEmail",(e,s)=>{s.pattern??(s.pattern=Pd),de.init(e,s)}),af=P("$ZodURL",(e,s)=>{de.init(e,s),e._zod.check=i=>{try{const a=i.value.trim(),c=new URL(a);s.hostname&&(s.hostname.lastIndex=0,s.hostname.test(c.hostname)||i.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:s.hostname.source,input:i.value,inst:e,continue:!s.abort})),s.protocol&&(s.protocol.lastIndex=0,s.protocol.test(c.protocol.endsWith(":")?c.protocol.slice(0,-1):c.protocol)||i.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:s.protocol.source,input:i.value,inst:e,continue:!s.abort})),s.normalize?i.value=c.href:i.value=a;return}catch{i.issues.push({code:"invalid_format",format:"url",input:i.value,inst:e,continue:!s.abort})}}}),of=P("$ZodEmoji",(e,s)=>{s.pattern??(s.pattern=Cd()),de.init(e,s)}),cf=P("$ZodNanoID",(e,s)=>{s.pattern??(s.pattern=Id),de.init(e,s)}),lf=P("$ZodCUID",(e,s)=>{s.pattern??(s.pattern=gd),de.init(e,s)}),uf=P("$ZodCUID2",(e,s)=>{s.pattern??(s.pattern=Ed),de.init(e,s)}),hf=P("$ZodULID",(e,s)=>{s.pattern??(s.pattern=Td),de.init(e,s)}),pf=P("$ZodXID",(e,s)=>{s.pattern??(s.pattern=Sd),de.init(e,s)}),df=P("$ZodKSUID",(e,s)=>{s.pattern??(s.pattern=bd),de.init(e,s)}),ff=P("$ZodISODateTime",(e,s)=>{s.pattern??(s.pattern=Md(s)),de.init(e,s)}),mf=P("$ZodISODate",(e,s)=>{s.pattern??(s.pattern=kd),de.init(e,s)}),yf=P("$ZodISOTime",(e,s)=>{s.pattern??(s.pattern=Rd(s)),de.init(e,s)}),gf=P("$ZodISODuration",(e,s)=>{s.pattern??(s.pattern=xd),de.init(e,s)}),Ef=P("$ZodIPv4",(e,s)=>{s.pattern??(s.pattern=_d),de.init(e,s),e._zod.bag.format="ipv4"}),Tf=P("$ZodIPv6",(e,s)=>{s.pattern??(s.pattern=vd),de.init(e,s),e._zod.bag.format="ipv6",e._zod.check=i=>{try{new URL(`http://[${i.value}]`)}catch{i.issues.push({code:"invalid_format",format:"ipv6",input:i.value,inst:e,continue:!s.abort})}}}),Sf=P("$ZodCIDRv4",(e,s)=>{s.pattern??(s.pattern=Nd),de.init(e,s)}),bf=P("$ZodCIDRv6",(e,s)=>{s.pattern??(s.pattern=Od),de.init(e,s),e._zod.check=i=>{const a=i.value.split("/");try{if(a.length!==2)throw new Error;const[c,u]=a;if(!u)throw new Error;const h=Number(u);if(`${h}`!==u)throw new Error;if(h<0||h>128)throw new Error;new URL(`http://[${c}]`)}catch{i.issues.push({code:"invalid_format",format:"cidrv6",input:i.value,inst:e,continue:!s.abort})}}});function Io(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const If=P("$ZodBase64",(e,s)=>{s.pattern??(s.pattern=Ld),de.init(e,s),e._zod.bag.contentEncoding="base64",e._zod.check=i=>{Io(i.value)||i.issues.push({code:"invalid_format",format:"base64",input:i.value,inst:e,continue:!s.abort})}});function xf(e){if(!mo.test(e))return!1;const s=e.replace(/[-_]/g,a=>a==="-"?"+":"/"),i=s.padEnd(Math.ceil(s.length/4)*4,"=");return Io(i)}const Af=P("$ZodBase64URL",(e,s)=>{s.pattern??(s.pattern=mo),de.init(e,s),e._zod.bag.contentEncoding="base64url",e._zod.check=i=>{xf(i.value)||i.issues.push({code:"invalid_format",format:"base64url",input:i.value,inst:e,continue:!s.abort})}}),Pf=P("$ZodE164",(e,s)=>{s.pattern??(s.pattern=Dd),de.init(e,s)});function wf(e,s=null){try{const i=e.split(".");if(i.length!==3)return!1;const[a]=i;if(!a)return!1;const c=JSON.parse(atob(a));return!("typ"in c&&c?.typ!=="JWT"||!c.alg||s&&(!("alg"in c)||c.alg!==s))}catch{return!1}}const Cf=P("$ZodJWT",(e,s)=>{de.init(e,s),e._zod.check=i=>{wf(i.value,s.alg)||i.issues.push({code:"invalid_format",format:"jwt",input:i.value,inst:e,continue:!s.abort})}}),xo=P("$ZodNumber",(e,s)=>{ye.init(e,s),e._zod.pattern=e._zod.bag.pattern??Eo,e._zod.parse=(i,a)=>{if(s.coerce)try{i.value=Number(i.value)}catch{}const c=i.value;if(typeof c=="number"&&!Number.isNaN(c)&&Number.isFinite(c))return i;const u=typeof c=="number"?Number.isNaN(c)?"NaN":Number.isFinite(c)?void 0:"Infinity":void 0;return i.issues.push({expected:"number",code:"invalid_type",input:c,inst:e,...u?{received:u}:{}}),i}}),_f=P("$ZodNumberFormat",(e,s)=>{Vd.init(e,s),xo.init(e,s)}),vf=P("$ZodBoolean",(e,s)=>{ye.init(e,s),e._zod.pattern=Bd,e._zod.parse=(i,a)=>{if(s.coerce)try{i.value=!!i.value}catch{}const c=i.value;return typeof c=="boolean"||i.issues.push({expected:"boolean",code:"invalid_type",input:c,inst:e}),i}}),Nf=P("$ZodUnknown",(e,s)=>{ye.init(e,s),e._zod.parse=i=>i}),Of=P("$ZodNever",(e,s)=>{ye.init(e,s),e._zod.parse=(i,a)=>(i.issues.push({expected:"never",code:"invalid_type",input:i.value,inst:e}),i)});function Ao(e,s,i){e.issues.length&&s.issues.push(...rs(i,e.issues)),s.value[i]=e.value}const Lf=P("$ZodArray",(e,s)=>{ye.init(e,s),e._zod.parse=(i,a)=>{const c=i.value;if(!Array.isArray(c))return i.issues.push({expected:"array",code:"invalid_type",input:c,inst:e}),i;i.value=Array(c.length);const u=[];for(let h=0;h<c.length;h++){const f=c[h],y=s.element._zod.run({value:f,issues:[]},a);y instanceof Promise?u.push(y.then(T=>Ao(T,i,h))):Ao(y,i,h)}return u.length?Promise.all(u).then(()=>i):i}});function li(e,s,i,a,c){if(e.issues.length){if(c&&!(i in a))return;s.issues.push(...rs(i,e.issues))}e.value===void 0?i in a&&(s.value[i]=void 0):s.value[i]=e.value}function Po(e){const s=Object.keys(e.shape);for(const a of s)if(!e.shape?.[a]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${a}": expected a Zod schema`);const i=Yp(e.shape);return{...e,keys:s,keySet:new Set(s),numKeys:s.length,optionalKeys:new Set(i)}}function wo(e,s,i,a,c,u){const h=[],f=c.keySet,y=c.catchall._zod,T=y.def.type,I=y.optout==="optional";for(const A in s){if(f.has(A))continue;if(T==="never"){h.push(A);continue}const L=y.run({value:s[A],issues:[]},a);L instanceof Promise?e.push(L.then(R=>li(R,i,A,s,I))):li(L,i,A,s,I)}return h.length&&i.issues.push({code:"unrecognized_keys",keys:h,input:s,inst:u}),e.length?Promise.all(e).then(()=>i):i}const Df=P("$ZodObject",(e,s)=>{if(ye.init(e,s),!Object.getOwnPropertyDescriptor(s,"shape")?.get){const f=s.shape;Object.defineProperty(s,"shape",{get:()=>{const y={...f};return Object.defineProperty(s,"shape",{value:y}),y}})}const a=ri(()=>Po(s));re(e._zod,"propValues",()=>{const f=s.shape,y={};for(const T in f){const I=f[T]._zod;if(I.values){y[T]??(y[T]=new Set);for(const A of I.values)y[T].add(A)}}return y});const c=Cs,u=s.catchall;let h;e._zod.parse=(f,y)=>{h??(h=a.value);const T=f.value;if(!c(T))return f.issues.push({expected:"object",code:"invalid_type",input:T,inst:e}),f;f.value={};const I=[],A=h.shape;for(const L of h.keys){const R=A[L],oe=R._zod.optout==="optional",le=R._zod.run({value:T[L],issues:[]},y);le instanceof Promise?I.push(le.then(Ce=>li(Ce,f,L,T,oe))):li(le,f,L,T,oe)}return u?wo(I,T,f,y,a.value,e):I.length?Promise.all(I).then(()=>f):f}}),kf=P("$ZodObjectJIT",(e,s)=>{Df.init(e,s);const i=e._zod.parse,a=ri(()=>Po(s)),c=L=>{const R=new ef(["shape","payload","ctx"]),oe=a.value,le=$e=>{const we=oo($e);return`shape[${we}]._zod.run({ value: input[${we}], issues: [] }, ctx)`};R.write("const input = payload.value;");const Ce=Object.create(null);let S=0;for(const $e of oe.keys)Ce[$e]=`key_${S++}`;R.write("const newResult = {};");for(const $e of oe.keys){const we=Ce[$e],Ne=oo($e),qt=L[$e]?._zod?.optout==="optional";R.write(`const ${we} = ${le($e)};`),qt?R.write(`
4
4
  if (${we}.issues.length) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lightspeed/crane",
3
- "version": "3.5.0-rc.0",
3
+ "version": "3.5.0",
4
4
  "type": "module",
5
5
  "bin": "bin/crane.js",
6
6
  "main": "./dist/app.mjs",
@@ -65,7 +65,7 @@
65
65
  },
66
66
  "dependencies": {
67
67
  "@jridgewell/sourcemap-codec": "^1.5.4",
68
- "@lightspeed/crane-api": "2.5.0-rc.0",
68
+ "@lightspeed/crane-api": "2.5.0",
69
69
  "@lightspeed/eslint-config-crane": "1.1.3",
70
70
  "@types/micromatch": "^4.0.8",
71
71
  "@types/prompts": "^2.4.2",