@chneau/x 0.0.237 → 0.0.239
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/package.json +1 -1
- package/x.js +1 -1
package/package.json
CHANGED
package/x.js
CHANGED
|
@@ -224,4 +224,4 @@ globstar while`,$,k,f,v,M),this.matchOne($.slice(k),f.slice(v),_))return this.de
|
|
|
224
224
|
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let K of $.seen.entries()){let O=K[1];if(f===K[0]){w(K);continue}if($.external){let T=$.external.registry.get(K[0])?.id;if(f!==K[0]&&T){w(K);continue}}if($.metadataRegistry.get(K[0])?.id){w(K);continue}if(O.cycle){w(K);continue}if(O.count>1){if($.reused==="ref"){w(K);continue}}}}function i_($,f){let _=$.seen.get(f);if(!_)throw Error("Unprocessed schema. This is a bug in Zod.");let P=(K)=>{let O=$.seen.get(K);if(O.ref===null)return;let r=O.def??O.schema,T={...r},j=O.ref;if(O.ref=null,j){P(j);let v=$.seen.get(j),M=v.schema;if(M.$ref&&($.target==="draft-07"||$.target==="draft-04"||$.target==="openapi-3.0"))r.allOf=r.allOf??[],r.allOf.push(M);else Object.assign(r,M);if(Object.assign(r,T),K._zod.parent===j)for(let z in r){if(z==="$ref"||z==="allOf")continue;if(!(z in T))delete r[z]}if(M.$ref&&v.def)for(let z in r){if(z==="$ref"||z==="allOf")continue;if(z in v.def&&JSON.stringify(r[z])===JSON.stringify(v.def[z]))delete r[z]}}let k=K._zod.parent;if(k&&k!==j){P(k);let v=$.seen.get(k);if(v?.schema.$ref){if(r.$ref=v.schema.$ref,v.def)for(let M in r){if(M==="$ref"||M==="allOf")continue;if(M in v.def&&JSON.stringify(r[M])===JSON.stringify(v.def[M]))delete r[M]}}}$.override({zodSchema:K,jsonSchema:r,path:O.path??[]})};for(let K of[...$.seen.entries()].reverse())P(K[0]);let q={};if($.target==="draft-2020-12")q.$schema="https://json-schema.org/draft/2020-12/schema";else if($.target==="draft-07")q.$schema="http://json-schema.org/draft-07/schema#";else if($.target==="draft-04")q.$schema="http://json-schema.org/draft-04/schema#";else if($.target==="openapi-3.0");if($.external?.uri){let K=$.external.registry.get(f)?.id;if(!K)throw Error("Schema is missing an `id` property");q.$id=$.external.uri(K)}Object.assign(q,_.def??_.schema);let w=$.external?.defs??{};for(let K of $.seen.entries()){let O=K[1];if(O.def&&O.defId)w[O.defId]=O.def}if($.external);else if(Object.keys(w).length>0)if($.target==="draft-2020-12")q.$defs=w;else q.definitions=w;try{let K=JSON.parse(JSON.stringify(q));return Object.defineProperty(K,"~standard",{value:{...f["~standard"],jsonSchema:{input:zq(f,"input",$.processors),output:zq(f,"output",$.processors)}},enumerable:!1,writable:!1}),K}catch(K){throw Error("Error converting schema to JSON.")}}function S$($,f){let _=f??{seen:new Set};if(_.seen.has($))return!1;_.seen.add($);let P=$._zod.def;if(P.type==="transform")return!0;if(P.type==="array")return S$(P.element,_);if(P.type==="set")return S$(P.valueType,_);if(P.type==="lazy")return S$(P.getter(),_);if(P.type==="promise"||P.type==="optional"||P.type==="nonoptional"||P.type==="nullable"||P.type==="readonly"||P.type==="default"||P.type==="prefault")return S$(P.innerType,_);if(P.type==="intersection")return S$(P.left,_)||S$(P.right,_);if(P.type==="record"||P.type==="map")return S$(P.keyType,_)||S$(P.valueType,_);if(P.type==="pipe")return S$(P.in,_)||S$(P.out,_);if(P.type==="object"){for(let q in P.shape)if(S$(P.shape[q],_))return!0;return!1}if(P.type==="union"){for(let q of P.options)if(S$(q,_))return!0;return!1}if(P.type==="tuple"){for(let q of P.items)if(S$(q,_))return!0;if(P.rest&&S$(P.rest,_))return!0;return!1}return!1}var Bv=($,f={})=>(_)=>{let P=R_({..._,processors:f});return I($,P),a_(P,$),i_(P,$)},zq=($,f,_={})=>(P)=>{let{libraryOptions:q,target:w}=P??{},K=R_({...q??{},target:w,io:f,processors:_});return I($,K),a_(K,$),i_(K,$)};var Y0={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},$M=($,f,_,P)=>{let q=_;q.type="string";let{minimum:w,maximum:K,format:O,patterns:r,contentEncoding:T}=$._zod.bag;if(typeof w==="number")q.minLength=w;if(typeof K==="number")q.maxLength=K;if(O){if(q.format=Y0[O]??O,q.format==="")delete q.format;if(O==="time")delete q.format}if(T)q.contentEncoding=T;if(r&&r.size>0){let j=[...r];if(j.length===1)q.pattern=j[0].source;else if(j.length>1)q.allOf=[...j.map((k)=>({...f.target==="draft-07"||f.target==="draft-04"||f.target==="openapi-3.0"?{type:"string"}:{},pattern:k.source}))]}},_M=($,f,_,P)=>{let q=_,{minimum:w,maximum:K,format:O,multipleOf:r,exclusiveMaximum:T,exclusiveMinimum:j}=$._zod.bag;if(typeof O==="string"&&O.includes("int"))q.type="integer";else q.type="number";if(typeof j==="number")if(f.target==="draft-04"||f.target==="openapi-3.0")q.minimum=j,q.exclusiveMinimum=!0;else q.exclusiveMinimum=j;if(typeof w==="number"){if(q.minimum=w,typeof j==="number"&&f.target!=="draft-04")if(j>=w)delete q.minimum;else delete q.exclusiveMinimum}if(typeof T==="number")if(f.target==="draft-04"||f.target==="openapi-3.0")q.maximum=T,q.exclusiveMaximum=!0;else q.exclusiveMaximum=T;if(typeof K==="number"){if(q.maximum=K,typeof T==="number"&&f.target!=="draft-04")if(T<=K)delete q.maximum;else delete q.exclusiveMaximum}if(typeof r==="number")q.multipleOf=r},fM=($,f,_,P)=>{_.type="boolean"},PM=($,f,_,P)=>{if(f.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},qM=($,f,_,P)=>{if(f.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},wM=($,f,_,P)=>{if(f.target==="openapi-3.0")_.type="string",_.nullable=!0,_.enum=[null];else _.type="null"},KM=($,f,_,P)=>{if(f.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},OM=($,f,_,P)=>{if(f.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},rM=($,f,_,P)=>{_.not={}},TM=($,f,_,P)=>{},jM=($,f,_,P)=>{},kM=($,f,_,P)=>{if(f.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},vM=($,f,_,P)=>{let q=$._zod.def,w=P7(q.entries);if(w.every((K)=>typeof K==="number"))_.type="number";if(w.every((K)=>typeof K==="string"))_.type="string";_.enum=w},MM=($,f,_,P)=>{let q=$._zod.def,w=[];for(let K of q.values)if(K===void 0){if(f.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof K==="bigint")if(f.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else w.push(Number(K));else w.push(K);if(w.length===0);else if(w.length===1){let K=w[0];if(_.type=K===null?"null":typeof K,f.target==="draft-04"||f.target==="openapi-3.0")_.enum=[K];else _.const=K}else{if(w.every((K)=>typeof K==="number"))_.type="number";if(w.every((K)=>typeof K==="string"))_.type="string";if(w.every((K)=>typeof K==="boolean"))_.type="boolean";if(w.every((K)=>K===null))_.type="null";_.enum=w}},zM=($,f,_,P)=>{if(f.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},DM=($,f,_,P)=>{let q=_,w=$._zod.pattern;if(!w)throw Error("Pattern not found in template literal");q.type="string",q.pattern=w.source},nM=($,f,_,P)=>{let q=_,w={type:"string",format:"binary",contentEncoding:"binary"},{minimum:K,maximum:O,mime:r}=$._zod.bag;if(K!==void 0)w.minLength=K;if(O!==void 0)w.maxLength=O;if(r)if(r.length===1)w.contentMediaType=r[0],Object.assign(q,w);else Object.assign(q,w),q.anyOf=r.map((T)=>({contentMediaType:T}));else Object.assign(q,w)},hM=($,f,_,P)=>{_.type="boolean"},YM=($,f,_,P)=>{if(f.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},AM=($,f,_,P)=>{if(f.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},JM=($,f,_,P)=>{if(f.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},EM=($,f,_,P)=>{if(f.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},HM=($,f,_,P)=>{if(f.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},eM=($,f,_,P)=>{let q=_,w=$._zod.def,{minimum:K,maximum:O}=$._zod.bag;if(typeof K==="number")q.minItems=K;if(typeof O==="number")q.maxItems=O;q.type="array",q.items=I(w.element,f,{...P,path:[...P.path,"items"]})},uM=($,f,_,P)=>{let q=_,w=$._zod.def;q.type="object",q.properties={};let K=w.shape;for(let T in K)q.properties[T]=I(K[T],f,{...P,path:[...P.path,"properties",T]});let O=new Set(Object.keys(K)),r=new Set([...O].filter((T)=>{let j=w.shape[T]._zod;if(f.io==="input")return j.optin===void 0;else return j.optout===void 0}));if(r.size>0)q.required=Array.from(r);if(w.catchall?._zod.def.type==="never")q.additionalProperties=!1;else if(!w.catchall){if(f.io==="output")q.additionalProperties=!1}else if(w.catchall)q.additionalProperties=I(w.catchall,f,{...P,path:[...P.path,"additionalProperties"]})},dK=($,f,_,P)=>{let q=$._zod.def,w=q.inclusive===!1,K=q.options.map((O,r)=>I(O,f,{...P,path:[...P.path,w?"oneOf":"anyOf",r]}));if(w)_.oneOf=K;else _.anyOf=K},SM=($,f,_,P)=>{let q=$._zod.def,w=I(q.left,f,{...P,path:[...P.path,"allOf",0]}),K=I(q.right,f,{...P,path:[...P.path,"allOf",1]}),O=(T)=>("allOf"in T)&&Object.keys(T).length===1,r=[...O(w)?w.allOf:[w],...O(K)?K.allOf:[K]];_.allOf=r},NM=($,f,_,P)=>{let q=_,w=$._zod.def;q.type="array";let K=f.target==="draft-2020-12"?"prefixItems":"items",O=f.target==="draft-2020-12"?"items":f.target==="openapi-3.0"?"items":"additionalItems",r=w.items.map((v,M)=>I(v,f,{...P,path:[...P.path,K,M]})),T=w.rest?I(w.rest,f,{...P,path:[...P.path,O,...f.target==="openapi-3.0"?[w.items.length]:[]]}):null;if(f.target==="draft-2020-12"){if(q.prefixItems=r,T)q.items=T}else if(f.target==="openapi-3.0"){if(q.items={anyOf:r},T)q.items.anyOf.push(T);if(q.minItems=r.length,!T)q.maxItems=r.length}else if(q.items=r,T)q.additionalItems=T;let{minimum:j,maximum:k}=$._zod.bag;if(typeof j==="number")q.minItems=j;if(typeof k==="number")q.maxItems=k},tM=($,f,_,P)=>{let q=_,w=$._zod.def;q.type="object";let K=w.keyType,r=K._zod.bag?.patterns;if(w.mode==="loose"&&r&&r.size>0){let j=I(w.valueType,f,{...P,path:[...P.path,"patternProperties","*"]});q.patternProperties={};for(let k of r)q.patternProperties[k.source]=j}else{if(f.target==="draft-07"||f.target==="draft-2020-12")q.propertyNames=I(w.keyType,f,{...P,path:[...P.path,"propertyNames"]});q.additionalProperties=I(w.valueType,f,{...P,path:[...P.path,"additionalProperties"]})}let T=K._zod.values;if(T){let j=[...T].filter((k)=>typeof k==="string"||typeof k==="number");if(j.length>0)q.required=j}},LM=($,f,_,P)=>{let q=$._zod.def,w=I(q.innerType,f,P),K=f.seen.get($);if(f.target==="openapi-3.0")K.ref=q.innerType,_.nullable=!0;else _.anyOf=[w,{type:"null"}]},pM=($,f,_,P)=>{let q=$._zod.def;I(q.innerType,f,P);let w=f.seen.get($);w.ref=q.innerType},XM=($,f,_,P)=>{let q=$._zod.def;I(q.innerType,f,P);let w=f.seen.get($);w.ref=q.innerType,_.default=JSON.parse(JSON.stringify(q.defaultValue))},WM=($,f,_,P)=>{let q=$._zod.def;I(q.innerType,f,P);let w=f.seen.get($);if(w.ref=q.innerType,f.io==="input")_._prefault=JSON.parse(JSON.stringify(q.defaultValue))},oM=($,f,_,P)=>{let q=$._zod.def;I(q.innerType,f,P);let w=f.seen.get($);w.ref=q.innerType;let K;try{K=q.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}_.default=K},mM=($,f,_,P)=>{let q=$._zod.def,w=f.io==="input"?q.in._zod.def.type==="transform"?q.out:q.in:q.out;I(w,f,P);let K=f.seen.get($);K.ref=w},RM=($,f,_,P)=>{let q=$._zod.def;I(q.innerType,f,P);let w=f.seen.get($);w.ref=q.innerType,_.readOnly=!0},aM=($,f,_,P)=>{let q=$._zod.def;I(q.innerType,f,P);let w=f.seen.get($);w.ref=q.innerType},xK=($,f,_,P)=>{let q=$._zod.def;I(q.innerType,f,P);let w=f.seen.get($);w.ref=q.innerType},iM=($,f,_,P)=>{let q=$._zod.innerType;I(q,f,P);let w=f.seen.get($);w.ref=q},CK={string:$M,number:_M,boolean:fM,bigint:PM,symbol:qM,null:wM,undefined:KM,void:OM,never:rM,any:TM,unknown:jM,date:kM,enum:vM,literal:MM,nan:zM,template_literal:DM,file:nM,success:hM,custom:YM,function:AM,transform:JM,map:EM,set:HM,array:eM,object:uM,union:dK,intersection:SM,tuple:NM,record:tM,nullable:LM,nonoptional:pM,default:XM,prefault:WM,catch:oM,pipe:mM,readonly:RM,promise:aM,optional:xK,lazy:iM};function ZK($,f){if("_idmap"in $){let P=$,q=R_({...f,processors:CK}),w={};for(let r of P._idmap.entries()){let[T,j]=r;I(j,q)}let K={},O={registry:P,uri:f?.uri,defs:w};q.external=O;for(let r of P._idmap.entries()){let[T,j]=r;a_(q,j),K[T]=i_(q,j)}if(Object.keys(w).length>0){let r=q.target==="draft-2020-12"?"$defs":"definitions";K.__shared={[r]:w}}return{schemas:K}}let _=R_({...f,processors:CK});return I($,_),a_(_,$),i_(_,$)}class VM{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter($){this.ctx.counter=$}get seen(){return this.ctx.seen}constructor($){let f=$?.target??"draft-2020-12";if(f==="draft-4")f="draft-04";if(f==="draft-7")f="draft-07";this.ctx=R_({processors:CK,target:f,...$?.metadata&&{metadata:$.metadata},...$?.unrepresentable&&{unrepresentable:$.unrepresentable},...$?.override&&{override:$.override},...$?.io&&{io:$.io}})}process($,f={path:[],schemaPath:[]}){return I($,this.ctx,f)}emit($,f){if(f){if(f.cycles)this.ctx.cycles=f.cycles;if(f.reused)this.ctx.reused=f.reused;if(f.external)this.ctx.external=f.external}a_(this.ctx,$);let _=i_(this.ctx,$),{"~standard":P,...q}=_;return q}}var DY={};var u7={};k_(u7,{xor:()=>OA,xid:()=>XY,void:()=>_A,uuidv7:()=>HY,uuidv6:()=>EY,uuidv4:()=>JY,uuid:()=>AY,url:()=>eY,unknown:()=>r6,union:()=>D4,undefined:()=>BY,ulid:()=>pY,uint64:()=>FY,uint32:()=>IY,tuple:()=>h1,transform:()=>h4,templateLiteral:()=>JA,symbol:()=>QY,superRefine:()=>l1,success:()=>hA,stringbool:()=>LA,stringFormat:()=>xY,string:()=>IK,strictObject:()=>wA,set:()=>vA,refine:()=>G1,record:()=>Y1,readonly:()=>V1,promise:()=>EA,preprocess:()=>XA,prefault:()=>X1,pipe:()=>L7,partialRecord:()=>TA,optional:()=>N7,object:()=>qA,number:()=>_1,nullish:()=>nA,nullable:()=>t7,null:()=>K1,nonoptional:()=>W1,never:()=>z4,nativeEnum:()=>MA,nanoid:()=>NY,nan:()=>YA,meta:()=>NA,map:()=>kA,mac:()=>mY,looseRecord:()=>jA,looseObject:()=>KA,literal:()=>zA,lazy:()=>d1,ksuid:()=>WY,keyof:()=>PA,jwt:()=>dY,json:()=>pA,ipv6:()=>RY,ipv4:()=>oY,intersection:()=>D1,int64:()=>UY,int32:()=>cY,int:()=>sK,instanceof:()=>tA,httpUrl:()=>uY,hostname:()=>ZY,hex:()=>GY,hash:()=>lY,guid:()=>YY,function:()=>HA,float64:()=>gY,float32:()=>bY,file:()=>DA,exactOptional:()=>S1,enum:()=>n4,emoji:()=>SY,email:()=>hY,e164:()=>CY,discriminatedUnion:()=>rA,describe:()=>SA,date:()=>fA,custom:()=>uA,cuid2:()=>LY,cuid:()=>tY,codec:()=>AA,cidrv6:()=>iY,cidrv4:()=>aY,check:()=>eA,catch:()=>R1,boolean:()=>f1,bigint:()=>sY,base64url:()=>yY,base64:()=>VY,array:()=>W7,any:()=>$A,_function:()=>HA,_default:()=>L1,_ZodString:()=>UK,ZodXor:()=>v1,ZodXID:()=>P4,ZodVoid:()=>j1,ZodUnknown:()=>r1,ZodUnion:()=>m7,ZodUndefined:()=>q1,ZodUUID:()=>P_,ZodURL:()=>p7,ZodULID:()=>f4,ZodType:()=>d,ZodTuple:()=>n1,ZodTransform:()=>e1,ZodTemplateLiteral:()=>y1,ZodSymbol:()=>P1,ZodSuccess:()=>o1,ZodStringFormat:()=>U,ZodString:()=>hq,ZodSet:()=>J1,ZodRecord:()=>R7,ZodReadonly:()=>i1,ZodPromise:()=>x1,ZodPrefault:()=>p1,ZodPipe:()=>J4,ZodOptional:()=>Y4,ZodObject:()=>o7,ZodNumberFormat:()=>T6,ZodNumber:()=>Aq,ZodNullable:()=>N1,ZodNull:()=>w1,ZodNonOptional:()=>A4,ZodNever:()=>T1,ZodNanoID:()=>BK,ZodNaN:()=>a1,ZodMap:()=>A1,ZodMAC:()=>$1,ZodLiteral:()=>E1,ZodLazy:()=>C1,ZodKSUID:()=>q4,ZodJWT:()=>v4,ZodIntersection:()=>z1,ZodIPv6:()=>K4,ZodIPv4:()=>w4,ZodGUID:()=>S7,ZodFunction:()=>Z1,ZodFile:()=>H1,ZodExactOptional:()=>u1,ZodEnum:()=>nq,ZodEmoji:()=>QK,ZodEmail:()=>FK,ZodE164:()=>k4,ZodDiscriminatedUnion:()=>M1,ZodDefault:()=>t1,ZodDate:()=>X7,ZodCustomStringFormat:()=>Yq,ZodCustom:()=>a7,ZodCodec:()=>E4,ZodCatch:()=>m1,ZodCUID2:()=>_4,ZodCUID:()=>$4,ZodCIDRv6:()=>r4,ZodCIDRv4:()=>O4,ZodBoolean:()=>Jq,ZodBigIntFormat:()=>M4,ZodBigInt:()=>Eq,ZodBase64URL:()=>j4,ZodBase64:()=>T4,ZodArray:()=>k1,ZodAny:()=>O1});var GK={};k_(GK,{uppercase:()=>Pq,trim:()=>Tq,toUpperCase:()=>kq,toLowerCase:()=>jq,startsWith:()=>wq,slugify:()=>vq,size:()=>w6,regex:()=>_q,property:()=>yK,positive:()=>RK,overwrite:()=>I$,normalize:()=>rq,nonpositive:()=>iK,nonnegative:()=>VK,negative:()=>aK,multipleOf:()=>o_,minSize:()=>f_,minLength:()=>z_,mime:()=>Oq,maxSize:()=>m_,maxLength:()=>K6,lte:()=>V$,lt:()=>$_,lowercase:()=>fq,length:()=>O6,includes:()=>qq,gte:()=>u$,gt:()=>__,endsWith:()=>Kq});var Dq={};k_(Dq,{time:()=>dM,duration:()=>xM,datetime:()=>yM,date:()=>CM,ZodISOTime:()=>gK,ZodISODuration:()=>cK,ZodISODateTime:()=>lK,ZodISODate:()=>bK});var lK=D("ZodISODateTime",($,f)=>{E3.init($,f),U.init($,f)});function yM($){return Yv(lK,$)}var bK=D("ZodISODate",($,f)=>{H3.init($,f),U.init($,f)});function CM($){return Av(bK,$)}var gK=D("ZodISOTime",($,f)=>{e3.init($,f),U.init($,f)});function dM($){return Jv(gK,$)}var cK=D("ZodISODuration",($,f)=>{u3.init($,f),U.init($,f)});function xM($){return Ev(cK,$)}var nY=($,f)=>{r7.init($,f),$.name="ZodError",Object.defineProperties($,{format:{value:(_)=>j7($,_)},flatten:{value:(_)=>T7($,_)},addIssue:{value:(_)=>{$.issues.push(_),$.message=JSON.stringify($.issues,gP,2)}},addIssues:{value:(_)=>{$.issues.push(..._),$.message=JSON.stringify($.issues,gP,2)}},isEmpty:{get(){return $.issues.length===0}}})},J0=D("ZodError",nY),X$=D("ZodError",nY,{Parent:Error});var ZM=sP(X$),GM=UP(X$),lM=FP(X$),bM=QP(X$),gM=gw(X$),cM=cw(X$),IM=Iw(X$),sM=sw(X$),UM=Uw(X$),FM=Fw(X$),QM=Qw(X$),BM=Bw(X$);var d=D("ZodType",($,f)=>{return C.init($,f),Object.assign($["~standard"],{jsonSchema:{input:zq($,"input"),output:zq($,"output")}}),$.toJSONSchema=Bv($,{}),$.def=f,$.type=f.type,Object.defineProperty($,"_def",{value:f}),$.check=(..._)=>{return $.clone(N.mergeDefs(f,{checks:[...f.checks??[],..._.map((P)=>typeof P==="function"?{_zod:{check:P,def:{check:"custom"},onattach:[]}}:P)]}),{parent:!0})},$.with=$.check,$.clone=(_,P)=>e$($,_,P),$.brand=()=>$,$.register=(_,P)=>{return _.add($,P),$},$.parse=(_,P)=>ZM($,_,P,{callee:$.parse}),$.safeParse=(_,P)=>lM($,_,P),$.parseAsync=async(_,P)=>GM($,_,P,{callee:$.parseAsync}),$.safeParseAsync=async(_,P)=>bM($,_,P),$.spa=$.safeParseAsync,$.encode=(_,P)=>gM($,_,P),$.decode=(_,P)=>cM($,_,P),$.encodeAsync=async(_,P)=>IM($,_,P),$.decodeAsync=async(_,P)=>sM($,_,P),$.safeEncode=(_,P)=>UM($,_,P),$.safeDecode=(_,P)=>FM($,_,P),$.safeEncodeAsync=async(_,P)=>QM($,_,P),$.safeDecodeAsync=async(_,P)=>BM($,_,P),$.refine=(_,P)=>$.check(G1(_,P)),$.superRefine=(_)=>$.check(l1(_)),$.overwrite=(_)=>$.check(I$(_)),$.optional=()=>N7($),$.exactOptional=()=>S1($),$.nullable=()=>t7($),$.nullish=()=>N7(t7($)),$.nonoptional=(_)=>W1($,_),$.array=()=>W7($),$.or=(_)=>D4([$,_]),$.and=(_)=>D1($,_),$.transform=(_)=>L7($,h4(_)),$.default=(_)=>L1($,_),$.prefault=(_)=>X1($,_),$.catch=(_)=>R1($,_),$.pipe=(_)=>L7($,_),$.readonly=()=>V1($),$.describe=(_)=>{let P=$.clone();return M$.add(P,{description:_}),P},Object.defineProperty($,"description",{get(){return M$.get($)?.description},configurable:!0}),$.meta=(..._)=>{if(_.length===0)return M$.get($);let P=$.clone();return M$.add(P,_[0]),P},$.isOptional=()=>$.safeParse(void 0).success,$.isNullable=()=>$.safeParse(null).success,$.apply=(_)=>_($),$}),UK=D("_ZodString",($,f)=>{q6.init($,f),d.init($,f),$._zod.processJSONSchema=(P,q,w)=>$M($,P,q,w);let _=$._zod.bag;$.format=_.format??null,$.minLength=_.minimum??null,$.maxLength=_.maximum??null,$.regex=(...P)=>$.check(_q(...P)),$.includes=(...P)=>$.check(qq(...P)),$.startsWith=(...P)=>$.check(wq(...P)),$.endsWith=(...P)=>$.check(Kq(...P)),$.min=(...P)=>$.check(z_(...P)),$.max=(...P)=>$.check(K6(...P)),$.length=(...P)=>$.check(O6(...P)),$.nonempty=(...P)=>$.check(z_(1,...P)),$.lowercase=(P)=>$.check(fq(P)),$.uppercase=(P)=>$.check(Pq(P)),$.trim=()=>$.check(Tq()),$.normalize=(...P)=>$.check(rq(...P)),$.toLowerCase=()=>$.check(jq()),$.toUpperCase=()=>$.check(kq()),$.slugify=()=>$.check(vq())}),hq=D("ZodString",($,f)=>{q6.init($,f),UK.init($,f),$.email=(_)=>$.check(zK(FK,_)),$.url=(_)=>$.check(e7(p7,_)),$.jwt=(_)=>$.check(mK(v4,_)),$.emoji=(_)=>$.check(AK(QK,_)),$.guid=(_)=>$.check(H7(S7,_)),$.uuid=(_)=>$.check(DK(P_,_)),$.uuidv4=(_)=>$.check(nK(P_,_)),$.uuidv6=(_)=>$.check(hK(P_,_)),$.uuidv7=(_)=>$.check(YK(P_,_)),$.nanoid=(_)=>$.check(JK(BK,_)),$.guid=(_)=>$.check(H7(S7,_)),$.cuid=(_)=>$.check(EK($4,_)),$.cuid2=(_)=>$.check(HK(_4,_)),$.ulid=(_)=>$.check(eK(f4,_)),$.base64=(_)=>$.check(XK(T4,_)),$.base64url=(_)=>$.check(WK(j4,_)),$.xid=(_)=>$.check(uK(P4,_)),$.ksuid=(_)=>$.check(SK(q4,_)),$.ipv4=(_)=>$.check(NK(w4,_)),$.ipv6=(_)=>$.check(tK(K4,_)),$.cidrv4=(_)=>$.check(LK(O4,_)),$.cidrv6=(_)=>$.check(pK(r4,_)),$.e164=(_)=>$.check(oK(k4,_)),$.datetime=(_)=>$.check(yM(_)),$.date=(_)=>$.check(CM(_)),$.time=(_)=>$.check(dM(_)),$.duration=(_)=>$.check(xM(_))});function IK($){return zv(hq,$)}var U=D("ZodStringFormat",($,f)=>{s.init($,f),UK.init($,f)}),FK=D("ZodEmail",($,f)=>{v3.init($,f),U.init($,f)});function hY($){return zK(FK,$)}var S7=D("ZodGUID",($,f)=>{j3.init($,f),U.init($,f)});function YY($){return H7(S7,$)}var P_=D("ZodUUID",($,f)=>{k3.init($,f),U.init($,f)});function AY($){return DK(P_,$)}function JY($){return nK(P_,$)}function EY($){return hK(P_,$)}function HY($){return YK(P_,$)}var p7=D("ZodURL",($,f)=>{M3.init($,f),U.init($,f)});function eY($){return e7(p7,$)}function uY($){return e7(p7,{protocol:/^https?$/,hostname:x$.domain,...N.normalizeParams($)})}var QK=D("ZodEmoji",($,f)=>{z3.init($,f),U.init($,f)});function SY($){return AK(QK,$)}var BK=D("ZodNanoID",($,f)=>{D3.init($,f),U.init($,f)});function NY($){return JK(BK,$)}var $4=D("ZodCUID",($,f)=>{n3.init($,f),U.init($,f)});function tY($){return EK($4,$)}var _4=D("ZodCUID2",($,f)=>{h3.init($,f),U.init($,f)});function LY($){return HK(_4,$)}var f4=D("ZodULID",($,f)=>{Y3.init($,f),U.init($,f)});function pY($){return eK(f4,$)}var P4=D("ZodXID",($,f)=>{A3.init($,f),U.init($,f)});function XY($){return uK(P4,$)}var q4=D("ZodKSUID",($,f)=>{J3.init($,f),U.init($,f)});function WY($){return SK(q4,$)}var w4=D("ZodIPv4",($,f)=>{S3.init($,f),U.init($,f)});function oY($){return NK(w4,$)}var $1=D("ZodMAC",($,f)=>{t3.init($,f),U.init($,f)});function mY($){return nv($1,$)}var K4=D("ZodIPv6",($,f)=>{N3.init($,f),U.init($,f)});function RY($){return tK(K4,$)}var O4=D("ZodCIDRv4",($,f)=>{L3.init($,f),U.init($,f)});function aY($){return LK(O4,$)}var r4=D("ZodCIDRv6",($,f)=>{p3.init($,f),U.init($,f)});function iY($){return pK(r4,$)}var T4=D("ZodBase64",($,f)=>{W3.init($,f),U.init($,f)});function VY($){return XK(T4,$)}var j4=D("ZodBase64URL",($,f)=>{o3.init($,f),U.init($,f)});function yY($){return WK(j4,$)}var k4=D("ZodE164",($,f)=>{m3.init($,f),U.init($,f)});function CY($){return oK(k4,$)}var v4=D("ZodJWT",($,f)=>{R3.init($,f),U.init($,f)});function dY($){return mK(v4,$)}var Yq=D("ZodCustomStringFormat",($,f)=>{a3.init($,f),U.init($,f)});function xY($,f,_={}){return Mq(Yq,$,f,_)}function ZY($){return Mq(Yq,"hostname",x$.hostname,$)}function GY($){return Mq(Yq,"hex",x$.hex,$)}function lY($,f){let _=f?.enc??"hex",P=`${$}_${_}`,q=x$[P];if(!q)throw Error(`Unrecognized hash format: ${P}`);return Mq(Yq,P,q,f)}var Aq=D("ZodNumber",($,f)=>{TK.init($,f),d.init($,f),$._zod.processJSONSchema=(P,q,w)=>_M($,P,q,w),$.gt=(P,q)=>$.check(__(P,q)),$.gte=(P,q)=>$.check(u$(P,q)),$.min=(P,q)=>$.check(u$(P,q)),$.lt=(P,q)=>$.check($_(P,q)),$.lte=(P,q)=>$.check(V$(P,q)),$.max=(P,q)=>$.check(V$(P,q)),$.int=(P)=>$.check(sK(P)),$.safe=(P)=>$.check(sK(P)),$.positive=(P)=>$.check(__(0,P)),$.nonnegative=(P)=>$.check(u$(0,P)),$.negative=(P)=>$.check($_(0,P)),$.nonpositive=(P)=>$.check(V$(0,P)),$.multipleOf=(P,q)=>$.check(o_(P,q)),$.step=(P,q)=>$.check(o_(P,q)),$.finite=()=>$;let _=$._zod.bag;$.minValue=Math.max(_.minimum??Number.NEGATIVE_INFINITY,_.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,$.maxValue=Math.min(_.maximum??Number.POSITIVE_INFINITY,_.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,$.isInt=(_.format??"").includes("int")||Number.isSafeInteger(_.multipleOf??0.5),$.isFinite=!0,$.format=_.format??null});function _1($){return Hv(Aq,$)}var T6=D("ZodNumberFormat",($,f)=>{i3.init($,f),Aq.init($,f)});function sK($){return uv(T6,$)}function bY($){return Sv(T6,$)}function gY($){return Nv(T6,$)}function cY($){return tv(T6,$)}function IY($){return Lv(T6,$)}var Jq=D("ZodBoolean",($,f)=>{z7.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>fM($,_,P,q)});function f1($){return pv(Jq,$)}var Eq=D("ZodBigInt",($,f)=>{jK.init($,f),d.init($,f),$._zod.processJSONSchema=(P,q,w)=>PM($,P,q,w),$.gte=(P,q)=>$.check(u$(P,q)),$.min=(P,q)=>$.check(u$(P,q)),$.gt=(P,q)=>$.check(__(P,q)),$.gte=(P,q)=>$.check(u$(P,q)),$.min=(P,q)=>$.check(u$(P,q)),$.lt=(P,q)=>$.check($_(P,q)),$.lte=(P,q)=>$.check(V$(P,q)),$.max=(P,q)=>$.check(V$(P,q)),$.positive=(P)=>$.check(__(BigInt(0),P)),$.negative=(P)=>$.check($_(BigInt(0),P)),$.nonpositive=(P)=>$.check(V$(BigInt(0),P)),$.nonnegative=(P)=>$.check(u$(BigInt(0),P)),$.multipleOf=(P,q)=>$.check(o_(P,q));let _=$._zod.bag;$.minValue=_.minimum??null,$.maxValue=_.maximum??null,$.format=_.format??null});function sY($){return Wv(Eq,$)}var M4=D("ZodBigIntFormat",($,f)=>{V3.init($,f),Eq.init($,f)});function UY($){return mv(M4,$)}function FY($){return Rv(M4,$)}var P1=D("ZodSymbol",($,f)=>{y3.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>qM($,_,P,q)});function QY($){return av(P1,$)}var q1=D("ZodUndefined",($,f)=>{C3.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>KM($,_,P,q)});function BY($){return iv(q1,$)}var w1=D("ZodNull",($,f)=>{d3.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>wM($,_,P,q)});function K1($){return Vv(w1,$)}var O1=D("ZodAny",($,f)=>{x3.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>TM($,_,P,q)});function $A(){return yv(O1)}var r1=D("ZodUnknown",($,f)=>{Z3.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>jM($,_,P,q)});function r6(){return Cv(r1)}var T1=D("ZodNever",($,f)=>{G3.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>rM($,_,P,q)});function z4($){return dv(T1,$)}var j1=D("ZodVoid",($,f)=>{l3.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>OM($,_,P,q)});function _A($){return xv(j1,$)}var X7=D("ZodDate",($,f)=>{b3.init($,f),d.init($,f),$._zod.processJSONSchema=(P,q,w)=>kM($,P,q,w),$.min=(P,q)=>$.check(u$(P,q)),$.max=(P,q)=>$.check(V$(P,q));let _=$._zod.bag;$.minDate=_.minimum?new Date(_.minimum):null,$.maxDate=_.maximum?new Date(_.maximum):null});function fA($){return Zv(X7,$)}var k1=D("ZodArray",($,f)=>{g3.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>eM($,_,P,q),$.element=f.element,$.min=(_,P)=>$.check(z_(_,P)),$.nonempty=(_)=>$.check(z_(1,_)),$.max=(_,P)=>$.check(K6(_,P)),$.length=(_,P)=>$.check(O6(_,P)),$.unwrap=()=>$.element});function W7($,f){return bv(k1,$,f)}function PA($){let f=$._zod.def.shape;return n4(Object.keys(f))}var o7=D("ZodObject",($,f)=>{c3.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>uM($,_,P,q),N.defineLazy($,"shape",()=>{return f.shape}),$.keyof=()=>n4(Object.keys($._zod.def.shape)),$.catchall=(_)=>$.clone({...$._zod.def,catchall:_}),$.passthrough=()=>$.clone({...$._zod.def,catchall:r6()}),$.loose=()=>$.clone({...$._zod.def,catchall:r6()}),$.strict=()=>$.clone({...$._zod.def,catchall:z4()}),$.strip=()=>$.clone({...$._zod.def,catchall:void 0}),$.extend=(_)=>{return N.extend($,_)},$.safeExtend=(_)=>{return N.safeExtend($,_)},$.merge=(_)=>N.merge($,_),$.pick=(_)=>N.pick($,_),$.omit=(_)=>N.omit($,_),$.partial=(..._)=>N.partial(Y4,$,_[0]),$.required=(..._)=>N.required(A4,$,_[0])});function qA($,f){let _={type:"object",shape:$??{},...N.normalizeParams(f)};return new o7(_)}function wA($,f){return new o7({type:"object",shape:$,catchall:z4(),...N.normalizeParams(f)})}function KA($,f){return new o7({type:"object",shape:$,catchall:r6(),...N.normalizeParams(f)})}var m7=D("ZodUnion",($,f)=>{D7.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>dK($,_,P,q),$.options=f.options});function D4($,f){return new m7({type:"union",options:$,...N.normalizeParams(f)})}var v1=D("ZodXor",($,f)=>{m7.init($,f),I3.init($,f),$._zod.processJSONSchema=(_,P,q)=>dK($,_,P,q),$.options=f.options});function OA($,f){return new v1({type:"union",options:$,inclusive:!1,...N.normalizeParams(f)})}var M1=D("ZodDiscriminatedUnion",($,f)=>{m7.init($,f),s3.init($,f)});function rA($,f,_){return new M1({type:"union",options:f,discriminator:$,...N.normalizeParams(_)})}var z1=D("ZodIntersection",($,f)=>{U3.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>SM($,_,P,q)});function D1($,f){return new z1({type:"intersection",left:$,right:f})}var n1=D("ZodTuple",($,f)=>{kK.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>NM($,_,P,q),$.rest=(_)=>$.clone({...$._zod.def,rest:_})});function h1($,f,_){let P=f instanceof C,q=P?_:f;return new n1({type:"tuple",items:$,rest:P?f:null,...N.normalizeParams(q)})}var R7=D("ZodRecord",($,f)=>{F3.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>tM($,_,P,q),$.keyType=f.keyType,$.valueType=f.valueType});function Y1($,f,_){return new R7({type:"record",keyType:$,valueType:f,...N.normalizeParams(_)})}function TA($,f,_){let P=e$($);return P._zod.values=void 0,new R7({type:"record",keyType:P,valueType:f,...N.normalizeParams(_)})}function jA($,f,_){return new R7({type:"record",keyType:$,valueType:f,mode:"loose",...N.normalizeParams(_)})}var A1=D("ZodMap",($,f)=>{Q3.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>EM($,_,P,q),$.keyType=f.keyType,$.valueType=f.valueType,$.min=(..._)=>$.check(f_(..._)),$.nonempty=(_)=>$.check(f_(1,_)),$.max=(..._)=>$.check(m_(..._)),$.size=(..._)=>$.check(w6(..._))});function kA($,f,_){return new A1({type:"map",keyType:$,valueType:f,...N.normalizeParams(_)})}var J1=D("ZodSet",($,f)=>{B3.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>HM($,_,P,q),$.min=(..._)=>$.check(f_(..._)),$.nonempty=(_)=>$.check(f_(1,_)),$.max=(..._)=>$.check(m_(..._)),$.size=(..._)=>$.check(w6(..._))});function vA($,f){return new J1({type:"set",valueType:$,...N.normalizeParams(f)})}var nq=D("ZodEnum",($,f)=>{$k.init($,f),d.init($,f),$._zod.processJSONSchema=(P,q,w)=>vM($,P,q,w),$.enum=f.entries,$.options=Object.values(f.entries);let _=new Set(Object.keys(f.entries));$.extract=(P,q)=>{let w={};for(let K of P)if(_.has(K))w[K]=f.entries[K];else throw Error(`Key ${K} not found in enum`);return new nq({...f,checks:[],...N.normalizeParams(q),entries:w})},$.exclude=(P,q)=>{let w={...f.entries};for(let K of P)if(_.has(K))delete w[K];else throw Error(`Key ${K} not found in enum`);return new nq({...f,checks:[],...N.normalizeParams(q),entries:w})}});function n4($,f){let _=Array.isArray($)?Object.fromEntries($.map((P)=>[P,P])):$;return new nq({type:"enum",entries:_,...N.normalizeParams(f)})}function MA($,f){return new nq({type:"enum",entries:$,...N.normalizeParams(f)})}var E1=D("ZodLiteral",($,f)=>{_k.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>MM($,_,P,q),$.values=new Set(f.values),Object.defineProperty($,"value",{get(){if(f.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return f.values[0]}})});function zA($,f){return new E1({type:"literal",values:Array.isArray($)?$:[$],...N.normalizeParams(f)})}var H1=D("ZodFile",($,f)=>{fk.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>nM($,_,P,q),$.min=(_,P)=>$.check(f_(_,P)),$.max=(_,P)=>$.check(m_(_,P)),$.mime=(_,P)=>$.check(Oq(Array.isArray(_)?_:[_],P))});function DA($){return gv(H1,$)}var e1=D("ZodTransform",($,f)=>{Pk.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>JM($,_,P,q),$._zod.parse=(_,P)=>{if(P.direction==="backward")throw new _6($.constructor.name);_.addIssue=(w)=>{if(typeof w==="string")_.issues.push(N.issue(w,_.value,f));else{let K=w;if(K.fatal)K.continue=!1;K.code??(K.code="custom"),K.input??(K.input=_.value),K.inst??(K.inst=$),_.issues.push(N.issue(K))}};let q=f.transform(_.value,_);if(q instanceof Promise)return q.then((w)=>{return _.value=w,_});return _.value=q,_}});function h4($){return new e1({type:"transform",transform:$})}var Y4=D("ZodOptional",($,f)=>{vK.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>xK($,_,P,q),$.unwrap=()=>$._zod.def.innerType});function N7($){return new Y4({type:"optional",innerType:$})}var u1=D("ZodExactOptional",($,f)=>{qk.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>xK($,_,P,q),$.unwrap=()=>$._zod.def.innerType});function S1($){return new u1({type:"optional",innerType:$})}var N1=D("ZodNullable",($,f)=>{wk.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>LM($,_,P,q),$.unwrap=()=>$._zod.def.innerType});function t7($){return new N1({type:"nullable",innerType:$})}function nA($){return N7(t7($))}var t1=D("ZodDefault",($,f)=>{Kk.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>XM($,_,P,q),$.unwrap=()=>$._zod.def.innerType,$.removeDefault=$.unwrap});function L1($,f){return new t1({type:"default",innerType:$,get defaultValue(){return typeof f==="function"?f():N.shallowClone(f)}})}var p1=D("ZodPrefault",($,f)=>{Ok.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>WM($,_,P,q),$.unwrap=()=>$._zod.def.innerType});function X1($,f){return new p1({type:"prefault",innerType:$,get defaultValue(){return typeof f==="function"?f():N.shallowClone(f)}})}var A4=D("ZodNonOptional",($,f)=>{rk.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>pM($,_,P,q),$.unwrap=()=>$._zod.def.innerType});function W1($,f){return new A4({type:"nonoptional",innerType:$,...N.normalizeParams(f)})}var o1=D("ZodSuccess",($,f)=>{Tk.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>hM($,_,P,q),$.unwrap=()=>$._zod.def.innerType});function hA($){return new o1({type:"success",innerType:$})}var m1=D("ZodCatch",($,f)=>{jk.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>oM($,_,P,q),$.unwrap=()=>$._zod.def.innerType,$.removeCatch=$.unwrap});function R1($,f){return new m1({type:"catch",innerType:$,catchValue:typeof f==="function"?f:()=>f})}var a1=D("ZodNaN",($,f)=>{kk.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>zM($,_,P,q)});function YA($){return lv(a1,$)}var J4=D("ZodPipe",($,f)=>{vk.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>mM($,_,P,q),$.in=f.in,$.out=f.out});function L7($,f){return new J4({type:"pipe",in:$,out:f})}var E4=D("ZodCodec",($,f)=>{J4.init($,f),n7.init($,f)});function AA($,f,_){return new E4({type:"pipe",in:$,out:f,transform:_.decode,reverseTransform:_.encode})}var i1=D("ZodReadonly",($,f)=>{Mk.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>RM($,_,P,q),$.unwrap=()=>$._zod.def.innerType});function V1($){return new i1({type:"readonly",innerType:$})}var y1=D("ZodTemplateLiteral",($,f)=>{zk.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>DM($,_,P,q)});function JA($,f){return new y1({type:"template_literal",parts:$,...N.normalizeParams(f)})}var C1=D("ZodLazy",($,f)=>{hk.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>iM($,_,P,q),$.unwrap=()=>$._zod.def.getter()});function d1($){return new C1({type:"lazy",getter:$})}var x1=D("ZodPromise",($,f)=>{nk.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>aM($,_,P,q),$.unwrap=()=>$._zod.def.innerType});function EA($){return new x1({type:"promise",innerType:$})}var Z1=D("ZodFunction",($,f)=>{Dk.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>AM($,_,P,q)});function HA($){return new Z1({type:"function",input:Array.isArray($?.input)?h1($?.input):$?.input??W7(r6()),output:$?.output??r6()})}var a7=D("ZodCustom",($,f)=>{Yk.init($,f),d.init($,f),$._zod.processJSONSchema=(_,P,q)=>YM($,_,P,q)});function eA($){let f=new Q({check:"custom"});return f._zod.check=$,f}function uA($,f){return cv(a7,$??(()=>!0),f)}function G1($,f={}){return Iv(a7,$,f)}function l1($){return sv($)}var SA=Uv,NA=Fv;function tA($,f={}){let _=new a7({type:"custom",check:"custom",fn:(P)=>P instanceof $,abort:!0,...N.normalizeParams(f)});return _._zod.bag.Class=$,_._zod.check=(P)=>{if(!(P.value instanceof $))P.issues.push({code:"invalid_type",expected:$.name,input:P.value,inst:_,path:[..._._zod.def.path??[]]})},_}var LA=(...$)=>Qv({Codec:E4,Boolean:Jq,String:hq},...$);function pA($){let f=d1(()=>{return D4([IK($),_1(),f1(),K1(),W7(f),Y1(IK(),f)])});return f}function XA($,f){return L7(h4($),f)}var H0={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function e0($){w$({customError:$})}function u0(){return w$().customError}var b1;(function($){})(b1||(b1={}));var p={...u7,...GK,iso:Dq},S0=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"]);function N0($,f){let _=$.$schema;if(_==="https://json-schema.org/draft/2020-12/schema")return"draft-2020-12";if(_==="http://json-schema.org/draft-07/schema#")return"draft-7";if(_==="http://json-schema.org/draft-04/schema#")return"draft-4";return f??"draft-2020-12"}function t0($,f){if(!$.startsWith("#"))throw Error("External $ref is not supported, only local refs (#/...) are allowed");let _=$.slice(1).split("/").filter(Boolean);if(_.length===0)return f.rootSchema;let P=f.version==="draft-2020-12"?"$defs":"definitions";if(_[0]===P){let q=_[1];if(!q||!f.defs[q])throw Error(`Reference not found: ${$}`);return f.defs[q]}throw Error(`Reference not found: ${$}`)}function WA($,f){if($.not!==void 0){if(typeof $.not==="object"&&Object.keys($.not).length===0)return p.never();throw Error("not is not supported in Zod (except { not: {} } for never)")}if($.unevaluatedItems!==void 0)throw Error("unevaluatedItems is not supported");if($.unevaluatedProperties!==void 0)throw Error("unevaluatedProperties is not supported");if($.if!==void 0||$.then!==void 0||$.else!==void 0)throw Error("Conditional schemas (if/then/else) are not supported");if($.dependentSchemas!==void 0||$.dependentRequired!==void 0)throw Error("dependentSchemas and dependentRequired are not supported");if($.$ref){let q=$.$ref;if(f.refs.has(q))return f.refs.get(q);if(f.processing.has(q))return p.lazy(()=>{if(!f.refs.has(q))throw Error(`Circular reference not resolved: ${q}`);return f.refs.get(q)});f.processing.add(q);let w=t0(q,f),K=Y$(w,f);return f.refs.set(q,K),f.processing.delete(q),K}if($.enum!==void 0){let q=$.enum;if(f.version==="openapi-3.0"&&$.nullable===!0&&q.length===1&&q[0]===null)return p.null();if(q.length===0)return p.never();if(q.length===1)return p.literal(q[0]);if(q.every((K)=>typeof K==="string"))return p.enum(q);let w=q.map((K)=>p.literal(K));if(w.length<2)return w[0];return p.union([w[0],w[1],...w.slice(2)])}if($.const!==void 0)return p.literal($.const);let _=$.type;if(Array.isArray(_)){let q=_.map((w)=>{let K={...$,type:w};return WA(K,f)});if(q.length===0)return p.never();if(q.length===1)return q[0];return p.union(q)}if(!_)return p.any();let P;switch(_){case"string":{let q=p.string();if($.format){let w=$.format;if(w==="email")q=q.check(p.email());else if(w==="uri"||w==="uri-reference")q=q.check(p.url());else if(w==="uuid"||w==="guid")q=q.check(p.uuid());else if(w==="date-time")q=q.check(p.iso.datetime());else if(w==="date")q=q.check(p.iso.date());else if(w==="time")q=q.check(p.iso.time());else if(w==="duration")q=q.check(p.iso.duration());else if(w==="ipv4")q=q.check(p.ipv4());else if(w==="ipv6")q=q.check(p.ipv6());else if(w==="mac")q=q.check(p.mac());else if(w==="cidr")q=q.check(p.cidrv4());else if(w==="cidr-v6")q=q.check(p.cidrv6());else if(w==="base64")q=q.check(p.base64());else if(w==="base64url")q=q.check(p.base64url());else if(w==="e164")q=q.check(p.e164());else if(w==="jwt")q=q.check(p.jwt());else if(w==="emoji")q=q.check(p.emoji());else if(w==="nanoid")q=q.check(p.nanoid());else if(w==="cuid")q=q.check(p.cuid());else if(w==="cuid2")q=q.check(p.cuid2());else if(w==="ulid")q=q.check(p.ulid());else if(w==="xid")q=q.check(p.xid());else if(w==="ksuid")q=q.check(p.ksuid())}if(typeof $.minLength==="number")q=q.min($.minLength);if(typeof $.maxLength==="number")q=q.max($.maxLength);if($.pattern)q=q.regex(new RegExp($.pattern));P=q;break}case"number":case"integer":{let q=_==="integer"?p.number().int():p.number();if(typeof $.minimum==="number")q=q.min($.minimum);if(typeof $.maximum==="number")q=q.max($.maximum);if(typeof $.exclusiveMinimum==="number")q=q.gt($.exclusiveMinimum);else if($.exclusiveMinimum===!0&&typeof $.minimum==="number")q=q.gt($.minimum);if(typeof $.exclusiveMaximum==="number")q=q.lt($.exclusiveMaximum);else if($.exclusiveMaximum===!0&&typeof $.maximum==="number")q=q.lt($.maximum);if(typeof $.multipleOf==="number")q=q.multipleOf($.multipleOf);P=q;break}case"boolean":{P=p.boolean();break}case"null":{P=p.null();break}case"object":{let q={},w=$.properties||{},K=new Set($.required||[]);for(let[r,T]of Object.entries(w)){let j=Y$(T,f);q[r]=K.has(r)?j:j.optional()}if($.propertyNames){let r=Y$($.propertyNames,f),T=$.additionalProperties&&typeof $.additionalProperties==="object"?Y$($.additionalProperties,f):p.any();if(Object.keys(q).length===0){P=p.record(r,T);break}let j=p.object(q).passthrough(),k=p.looseRecord(r,T);P=p.intersection(j,k);break}if($.patternProperties){let r=$.patternProperties,T=Object.keys(r),j=[];for(let v of T){let M=Y$(r[v],f),J=p.string().regex(new RegExp(v));j.push(p.looseRecord(J,M))}let k=[];if(Object.keys(q).length>0)k.push(p.object(q).passthrough());if(k.push(...j),k.length===0)P=p.object({}).passthrough();else if(k.length===1)P=k[0];else{let v=p.intersection(k[0],k[1]);for(let M=2;M<k.length;M++)v=p.intersection(v,k[M]);P=v}break}let O=p.object(q);if($.additionalProperties===!1)P=O.strict();else if(typeof $.additionalProperties==="object")P=O.catchall(Y$($.additionalProperties,f));else P=O.passthrough();break}case"array":{let{prefixItems:q,items:w}=$;if(q&&Array.isArray(q)){let K=q.map((r)=>Y$(r,f)),O=w&&typeof w==="object"&&!Array.isArray(w)?Y$(w,f):void 0;if(O)P=p.tuple(K).rest(O);else P=p.tuple(K);if(typeof $.minItems==="number")P=P.check(p.minLength($.minItems));if(typeof $.maxItems==="number")P=P.check(p.maxLength($.maxItems))}else if(Array.isArray(w)){let K=w.map((r)=>Y$(r,f)),O=$.additionalItems&&typeof $.additionalItems==="object"?Y$($.additionalItems,f):void 0;if(O)P=p.tuple(K).rest(O);else P=p.tuple(K);if(typeof $.minItems==="number")P=P.check(p.minLength($.minItems));if(typeof $.maxItems==="number")P=P.check(p.maxLength($.maxItems))}else if(w!==void 0){let K=Y$(w,f),O=p.array(K);if(typeof $.minItems==="number")O=O.min($.minItems);if(typeof $.maxItems==="number")O=O.max($.maxItems);P=O}else P=p.array(p.any());break}default:throw Error(`Unsupported type: ${_}`)}if($.description)P=P.describe($.description);if($.default!==void 0)P=P.default($.default);return P}function Y$($,f){if(typeof $==="boolean")return $?p.any():p.never();let _=WA($,f),P=$.type||$.enum!==void 0||$.const!==void 0;if($.anyOf&&Array.isArray($.anyOf)){let O=$.anyOf.map((T)=>Y$(T,f)),r=p.union(O);_=P?p.intersection(_,r):r}if($.oneOf&&Array.isArray($.oneOf)){let O=$.oneOf.map((T)=>Y$(T,f)),r=p.xor(O);_=P?p.intersection(_,r):r}if($.allOf&&Array.isArray($.allOf))if($.allOf.length===0)_=P?_:p.any();else{let O=P?_:Y$($.allOf[0],f),r=P?0:1;for(let T=r;T<$.allOf.length;T++)O=p.intersection(O,Y$($.allOf[T],f));_=O}if($.nullable===!0&&f.version==="openapi-3.0")_=p.nullable(_);if($.readOnly===!0)_=p.readonly(_);let q={},w=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let O of w)if(O in $)q[O]=$[O];let K=["contentEncoding","contentMediaType","contentSchema"];for(let O of K)if(O in $)q[O]=$[O];for(let O of Object.keys($))if(!S0.has(O))q[O]=$[O];if(Object.keys(q).length>0)f.registry.add(_,q);return _}function oA($,f){if(typeof $==="boolean")return $?p.any():p.never();let _=N0($,f?.defaultTarget),P=$.$defs||$.definitions||{},q={version:_,defs:P,refs:new Map,processing:new Set,rootSchema:$,registry:f?.registry??M$};return Y$($,q)}var g1={};k_(g1,{string:()=>L0,number:()=>p0,date:()=>o0,boolean:()=>X0,bigint:()=>W0});function L0($){return Dv(hq,$)}function p0($){return ev(Aq,$)}function X0($){return Xv(Jq,$)}function W0($){return ov(Eq,$)}function o0($){return Gv(X7,$)}w$(h7());var i7=y;var a$=iw(f$(),1),n$=iw(Ei(),1),Hi=($)=>{if($.endsWith("m"))return n$.Cpu.millis(Number.parseInt($.slice(0,-1),10));return n$.Cpu.units(Number.parseFloat($))},ei=($)=>{let f=$.match(/^(\d+)([a-zA-Z]*)$/);if(!f||f[1]===void 0||f[2]===void 0)throw Error(`Invalid size: ${$}`);let _=Number.parseInt(f[1],10);switch(f[2]){case"Ki":return a$.Size.kibibytes(_);case"Mi":return a$.Size.mebibytes(_);case"Gi":return a$.Size.gibibytes(_);case"Ti":return a$.Size.tebibytes(_);case"Pi":return a$.Size.pebibyte(_);default:return a$.Size.mebibytes(_)}},xT$=($,f,_,P)=>{let q={[f]:{username:_,password:P,auth:btoa(`${_}:${P}`)}},w=JSON.stringify({auths:q},null,2);return new n$.Secret($,"docker-secret",{stringData:{".dockerconfigjson":w},type:"kubernetes.io/dockerconfigjson"})},ZT$=($)=>{let f={};for(let[_,P]of Object.entries($))f[_]=n$.EnvValue.fromValue(P);return f},GT$=($,f,_)=>{for(let P of _){let q=P.replace(/\.|:|\//g,"-"),w=new n$.Ingress($,q,{className:"nginx"});w.addRules({backend:n$.IngressBackend.fromService(f),host:P,path:"/"}),w.addTls([{hosts:[P],secret:{name:q}}]),w.metadata.addAnnotation("cert-manager.io/cluster-issuer","letsencrypt")}},ui=async({serviceAlias:$,registry:f,image:_,service:P})=>{let q=new a$.App({outputFileExtension:".yml"}),w=new a$.Chart(q,P.namespace,{namespace:P.namespace,disableResourceNameHashes:!0});new n$.Namespace(w,P.namespace);let K=new n$.Deployment(w,`d-${$}`,{replicas:P.replicas,metadata:{name:_.imageName},terminationGracePeriod:a$.Duration.seconds(0),dockerRegistryAuth:f.username&&f.password?xT$(w,f.hostname,f.username,f.password):void 0}),O=`${f.hostname}/${_.repository}/${_.imageName}:${_.tag}`;K.addContainer({name:_.imageName,image:O,portNumber:P.port,envVariables:ZT$({...P.env,DEPLOYMENT_DATE:new Date().toISOString()}),resources:{cpu:{request:P.cpuRequest?Hi(P.cpuRequest):void 0,limit:P.cpuLimit?Hi(P.cpuLimit):void 0},memory:{request:P.memoryRequest?ei(P.memoryRequest):void 0,limit:P.memoryLimit?ei(P.memoryLimit):void 0}},securityContext:{readOnlyRootFilesystem:P.readOnlyRootFilesystem,user:P.runAsUser,group:P.runAsGroup,ensureNonRoot:P.runAsNonRoot,allowPrivilegeEscalation:P.allowPrivilegeEscalation,privileged:P.privileged},startup:n$.Probe.fromTcpSocket({periodSeconds:a$.Duration.seconds(1),failureThreshold:30})});let r=K.exposeViaService({name:_.imageName});return GT$(w,r,P.endpoints),q.synthYaml()};var{$:aT}=globalThis.Bun;var ZP=async($)=>{return(await(process.platform==="win32"?aT`powershell.exe -Command "Get-Command ${$}"`:aT`which ${$}`).quiet().nothrow()).exitCode===0},Si=async()=>(await aT`id -u`.text()).trim()==="0",Ni=async()=>(await aT`sudo -n true`.quiet().nothrow()).exitCode===0,iT=async()=>await Bun.file(`${import.meta.dir}/package.json`).json().then(($)=>$.version??"0.0.0").catch(()=>"0.0.0"),ti=async()=>await fetch("https://registry.npmjs.org/@chneau/x/latest").then(($)=>$.json()).then(($)=>$.version).catch(()=>"0.0.0"),Li=($)=>$.replace(/\${(.*?)}/g,(f,_)=>Bun.env[_]??"");var bT$=y.object({hostname:y.string(),username:y.string().nullish(),password:y.string().nullish()}),gT$=y.object({registry:y.string(),dockerfile:y.string().default("Dockerfile"),target:y.string().optional(),buildArgs:y.record(y.string(),y.string()).default({}),context:y.string().default("."),repository:y.string(),imageName:y.string(),tag:y.string().default("latest")}),$6=y.object({image:y.string(),replicas:y.number(),file:y.string(),context:y.string(),namespace:y.string(),port:y.number().min(1).max(65535),env:y.record(y.string(),y.string()),readOnlyRootFilesystem:y.boolean(),runAsUser:y.number().optional(),runAsGroup:y.number().optional(),runAsNonRoot:y.boolean().optional(),allowPrivilegeEscalation:y.boolean().optional(),privileged:y.boolean().optional(),cpuRequest:y.string().optional(),cpuLimit:y.string().optional(),memoryRequest:y.string().optional(),memoryLimit:y.string().optional(),endpoints:y.array(y.string().regex(/^[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/))}),cT$=$6.extend({replicas:$6.shape.replicas.default(1),file:$6.shape.file.default("kubeconfig"),port:$6.shape.port.default(3000),env:$6.shape.env.default({}),readOnlyRootFilesystem:$6.shape.readOnlyRootFilesystem.default(!1),endpoints:$6.shape.endpoints.default([])}),IT$=$6.partial().extend({extends:y.string()}),sT$=cT$.or(IT$),pi=y.object({registries:y.record(y.string(),bT$).default({}),images:y.record(y.string(),gT$),services:y.record(y.string(),sT$)}),r2=new Map,UT$=async($)=>{let f=Rw.join(lT$.homedir(),".docker","config.json");try{let _=await Bun.file(f).json(),P=$==="docker.io"?"index.docker.io":$;return Object.keys(_?.auths??{}).some((q)=>q.includes(P))}catch{return!1}},Xi=async()=>{let $=Bun.argv.slice(3),f=$.filter((K)=>K.endsWith(".json")),_=$.filter((K)=>!K.endsWith(".json")),P=f.length>0;if(f.length===0)f.push(...(await Bun.$`ls *.json`.text().catch(()=>"")).split(`
|
|
225
225
|
`).filter(Boolean),".deploy.json");let q=!1,w=[];for(let K of f){let r=await Bun.file(K).text().catch(()=>null);if(!r)continue;let T=Li(r),j=JSON.parse(T),k=await pi.parseAsync(j).catch(()=>null);if(!k)continue;let v=structuredClone(k);if(_.length)for(let J in k.services){if(_.includes(J))continue;delete k.services[J]}if(!Object.keys(k.services).length)continue;q=!0;for(let[J,z]of Object.entries(k.services))w.push(QT$({config:{...k,services:{[J]:z}},allServices:v.services,cwd:Rw.dirname(K)}))}if(!q&&!P)await FT$();if(P&&!q)console.log("\u274C No valid json files found");await Promise.all(w)},FT$=async()=>{console.log("\uD83D\uDD52 Creating .deploy.json template...");let $=pi.parse({$schema:"https://raw.githubusercontent.com/chneau/x/refs/heads/master/deployment-schema.json",registries:{dockerhub:{hostname:"docker.io",username:"username",password:"password"}},images:{"my-image":{registry:"dockerhub",repository:"my-repo",imageName:"my-image"}},services:{"my-service":{image:"my-image",file:"kubeconfig",context:"my-context",namespace:"my-namespace",env:{ENV:"value"},endpoints:["my-endpoint.com"]}}}),f=JSON.stringify($,null,2),_=Bun.file(".deploy.json");if(await _.exists()){console.log("\u274C .deploy.json already exists");return}await _.write(f),console.log("\u2705 Created .deploy.json")},Wi=($,f,_=[])=>{if(_.includes($.extends))throw Error(`Circular dependency detected: ${_.join(" -> ")} -> ${$.extends}`);let P=[..._,$.extends],q=f[$.extends];if(!q)throw Error(`Service ${$.extends} not found`);let w="extends"in q?Wi(q,f,P):structuredClone(q);for(let[K,O]of Object.entries($)){if(K==="extends")continue;if(K==="env"){w.env={...w.env,...$.env};continue}if(O!==void 0)w[K]=O}return w},QT$=async({config:$,cwd:f,allServices:_})=>{for(let[P,q]of Object.entries($.services)){console.log(`\uD83D\uDD52 Deploying ${P}...`);let w="extends"in q?Wi(q,_):q,K=$.images[w.image];if(!K){console.error(`\u274C Image ${w.image} not found`);continue}let O=K.registry?$.registries[K.registry]:null;if(!O){console.info(`\u2753 Registry ${K.registry} not found`);continue}if(O.username&&O.password){let{hostname:j,username:k,password:v}=O;if(!r2.has(j))r2.set(j,(async()=>{if(await UT$(j)){console.log(`\u2705 Already logged in to ${j}`);return}console.log(`\uD83D\uDD11 Logging in to ${j}...`),await Bun.$`echo ${v} | docker login --username ${k} --password-stdin ${j}`,console.log(`... \u2705 Logged in to ${j}`)})());await r2.get(j);let M=`${O.hostname}/${K.repository}/${K.imageName}:${K.tag}`;console.log(`\uD83D\uDD28 Building ${M}...`);let J=Object.entries(K.buildArgs).map(([o,X])=>`--build-arg=${o}=${X}`),z=K.target?[`--target=${K.target}`]:[],E=Rw.resolve(f,K.context),W=Rw.resolve(f,K.dockerfile);await Bun.$`docker build --pull --push --tag=${M} ${z} --file=${W} ${J} .`.cwd(E),console.log(`... \u2705 Built ${M}`)}console.log(`\uD83D\uDD17 Creating deployment for ${P}...`);let r=await ui({serviceAlias:P,registry:O,image:K,service:w});console.log(`... \u2705 Created deployment for ${P}`),console.log(`\uD83D\uDE80 Deploying ${P}...`);let T={...Bun.env,KUBECONFIG:Rw.join(f,w.file)};await Bun.$`echo ${r} | kubectl --context=${w.context} apply --filename=-`.env(T),console.log(`... \u2705 Deployed ${P}`)}};var{$:E$}=globalThis.Bun;var{$:N_}=globalThis.Bun;var mi=i7.object({email:i7.email(),name:i7.string().min(1),updates:i7.boolean()}),oi=async($,f)=>{let _=(await N_`git config --global ${$}`.nothrow().text()).trim();if(_==="")console.log(`\u274C Git ${$} is not set`),console.log(`\uD83D\uDD52 Setting git ${$}`),await N_`git config --global ${$} ${f}`,console.log(`\u2705 Git ${$} set`);else console.log(`\u2705 Git ${$} is already set to "${_}"`)},VT=async($)=>{await oi("user.name",$.name),await oi("user.email",$.email),await N_`git config --global url."ssh://git@github.com/".insteadOf "https://github.com/"`,await N_`git config --global merge.ff false`,await N_`git config --global pull.ff true`,await N_`git config --global pull.rebase true`,await N_`git config --global core.whitespace "blank-at-eol,blank-at-eof,space-before-tab,cr-at-eol"`,await N_`git config --global fetch.prune true`,console.log("\u2705 Git config checked and updated.")},yT=async()=>{let $=`${Bun.env.HOME||Bun.env.USERPROFILE}/.ssh/id_rsa`;if(await Bun.file($).exists())console.log("\u2705 SSH key is set");else throw console.log("\u274C SSH key is not set"),console.log(`\u26A1 Please execute this command:
|
|
226
226
|
|
|
227
|
-
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -P ""`),Error("\u274C SSH key is not set")},CT=async()=>{if(await N_`ssh -T -o "StrictHostKeyChecking no" git@github.com 2>&1`.nothrow().text().then(($)=>$.includes("successfully authenticated")))console.log("\u2705 SSH key is set on GitHub");else if(console.log("\u274C SSH key is not set on GitHub"),console.log("\uD83D\uDD52 Adding SSH key to GitHub"),await Bun.file(`${Bun.env.HOME}/.ssh/id_rsa.pub`).exists()){let $=await Bun.file(`${Bun.env.HOME}/.ssh/id_rsa.pub`).text();console.log($),console.log("\u26A1 Go to https://github.com/settings/ssh/new and past the text above")}else console.log("\u274C ~/.ssh/id_rsa.pub not found. Please generate SSH key first.")};var{$:GP}=globalThis.Bun;var lP=($,f,_)=>({name:$,check:()=>ZP(_??$),install:f}),BT$=($)=>lP($,()=>GP`sudo apt install -y ${$}`),$j$=["git","gcc","make","curl","wget","unzip","zsh","bash","tree"].map(BT$),v$=($,f)=>lP($,()=>GP`brew install ${$}`,f),_j$=[v$("aichat"),v$("bpytop"),v$("dive"),v$("dldash/core/docker-color-output","docker-color-output"),v$("docker-compose"),v$("go"),v$("graphviz","dot"),v$("helm"),v$("hyperfine"),v$("kubecolor"),v$("kubectx"),v$("kubernetes-cli","kubectl"),v$("lazygit"),v$("node"),v$("openjdk","javac"),v$("pipx"),v$("stern"),v$("zsh")],j$=($,f)=>lP($,()=>GP`bun install --force --global ${$}`,f),T2=[j$("@biomejs/biome","biome"),j$("@github/copilot","copilot"),j$("@google/gemini-cli","gemini"),j$("@qwen-code/qwen-code","qwen"),j$("opencode-ai","opencode"),j$("concurrently"),j$("depcheck"),j$("fkill-cli","fkill"),j$("http-server"),j$("live-server"),j$("nodemon"),j$("npm-check-updates"),j$("npm-check"),j$("oxlint"),j$("prettier"),j$("ts-unused-exports"),j$("tsx"),j$("typesync"),j$("ungit")],Ri=[...$j$,lP("uv",()=>GP`curl -LsSf https://astral.sh/uv/install.sh | sh`),lP("brew",()=>GP`HOME=/tmp CI=1 bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"`),lP("deno",()=>GP`curl -fsSL https://deno.land/install.sh | sh`),lP("dotnet",()=>GP`curl -sSL https://dot.net/v1/dotnet-install.sh | bash -s -- --channel 10.0`),..._j$,...T2];var{$:j2}=globalThis.Bun;var{$:fj$}=globalThis.Bun;var t_=($,f)=>({name:$,check:async()=>await ZP(f??$),install:async()=>await fj$`powershell.exe -Command "winget install --id ${$} -e --source winget --accept-package-agreements --accept-source-agreements"`}),Pj$=[t_("Git.Git","git"),t_("GoLang.Go","go"),t_("OpenJS.NodeJS","node"),t_("DenoLand.Deno","deno"),t_("JesseDuffield.Lazygit","lazygit"),t_("Microsoft.VisualStudioCode","code"),t_("Kubernetes.kubectl","kubectl"),t_("Helm.Helm","helm"),t_("JanDeDobbeleer.OhMyPosh","oh-my-posh")],ai=[...Pj$,...T2];var qj$=async()=>{console.log("\uD83D\uDD52 Updating system (winget upgrade --all)..."),await j2`winget upgrade --all --accept-package-agreements --accept-source-agreements`.nothrow(),console.log("\uD83D\uDD52 Updating Bun..."),await j2`bun upgrade`.nothrow(),await j2`bun update --latest --force --global`.nothrow(),console.log("\u2705 System updated")},wj$=async()=>{let $=await Promise.all(ai.map(async(f)=>({name:f.name,exists:await f.check(),install:f.install}))).then((f)=>f.filter((_)=>!_.exists));if(!$.length)console.log("\u2705 All packages are installed");else{console.log("\u274C Some packages are not installed"),console.table($);for(let f of $)console.log(`\uD83D\uDD52 Installing ${f.name}`),await f.install().then(()=>console.log(`\u2705 Installed ${f.name}`)).catch(()=>console.log(`\u274C Failed to install ${f.name}`))}},ii=async($)=>{console.log("\uD83D\uDD0D Running doctor (Windows)..."),console.log("\u2699\uFE0F email =",$.email,", name =",$.name,", updates =",$.updates),await wj$(),await VT($);try{await yT(),await CT()}catch(f){console.log(f)}if($.updates)await qj$();else console.log("\u26A0\uFE0F Skipping system updates");console.log("\u2139\uFE0F Restart your shell for installed packages to be available.")};if(process.platform!=="win32")Bun.env.PATH=[Bun.env.PATH??"","/home/linuxbrew/.linuxbrew/bin","/home/linuxbrew/.linuxbrew/sbin","$BUN_INSTALL/bin","$HOME/go/bin","$HOME/.arkade/bin","${KREW_ROOT:-$HOME/.krew}/bin","$HOME/.cargo/bin","$HOME/.dotnet","$HOME/.dotnet/tools","$HOME/.go/bin","$HOME/.local/bin","$HOME/bin","/snap/bin","/usr/local/sbin","/usr/sbin","/sbin"].join(":");var Kj$=async()=>{if(!await Si())console.log("\u2705 You are not root");else throw Error("\u274C You are root")},Oj$=async()=>{if(await Ni())console.log("\u2705 You can sudo");else throw console.log("\u26A1 Please run this command to configure sudo:"),console.log("sudo sed -i 's/%sudo\\s\\+ALL=(ALL:ALL)\\s\\+ALL/%sudo ALL=(ALL:ALL) NOPASSWD: ALL/g' /etc/sudoers"),Error("\u274C You cannot sudo")},rj$=async()=>{console.log("\uD83D\uDD52 Updating system..."),await E$`sudo apt update -y`.nothrow(),await E$`sudo apt upgrade -y`.nothrow(),await E$`sudo apt autoremove -y`.nothrow(),await E$`sudo apt autoclean -y`.nothrow();let $=await ZP("brew")?"brew":"/home/linuxbrew/.linuxbrew/bin/brew";if(await Bun.file($).exists())await E$`${$} update`.nothrow(),await E$`${$} upgrade`.nothrow(),await E$`${$} cleanup`.nothrow();await E$`bun upgrade`.nothrow(),await E$`bun update --latest --force --global`.nothrow(),console.log("\u2705 System updated")},Tj$=async()=>{let $=await Promise.all(Ri.map(async(f)=>({pkg:f,exists:await f.check()}))).then((f)=>f.filter((_)=>!_.exists).map((_)=>_.pkg));if($.length===0){console.log("\u2705 All packages are installed");return}console.log("\u274C Some packages are not installed"),console.table($.map((f)=>({name:f.name})));for(let f of $)console.log(`\uD83D\uDD52 Installing ${f.name}...`),await f.install().then(()=>console.log(`\u2705 Installed ${f.name}`)).catch(()=>console.log(`\u274C Failed to install ${f.name}`))},dT=async($,f,_)=>{if(await f())console.log(`\u2705 ${$} is correct`);else console.log(`\u274C ${$} is incorrect`),console.log(`\uD83D\uDD52 Fixing ${$}...`),await _(),console.log(`\u2705 ${$} is fixed`)},jj$=async()=>{let _=await Promise.all([".bashrc",".zshrc",".aliases",".profile"].map(async(P)=>({name:P,isPresent:await Bun.file(`${Bun.env.HOME}/${P}`).exists()})));if(_.every((P)=>P.isPresent)){console.log("\u2705 Dotfiles are installed");return}console.log("\u274C Dotfiles are not installed"),console.log("\uD83D\uDD52 Installing dotfiles"),await Promise.all(_.filter((P)=>!P.isPresent).map(async(P)=>{console.log(`\uD83D\uDD52 Installing ${P.name}`);let q=await fetch(`https://raw.githubusercontent.com/chneau/dotfiles/HEAD/${P.name}`).then((w)=>w.text());await Bun.write(`${Bun.env.HOME}/${P.name}`,q),console.log(`\u2705 Installed ${P.name}`)})),console.log("\u2705 Dotfiles are installed")},kj$=()=>dT("Docker",()=>ZP("docker"),()=>E$`curl -sSL get.docker.com | sh`),vj$=()=>dT("User in docker group",async()=>(await E$`groups`.text()).includes("docker"),()=>E$`sudo usermod -aG docker $USER`.nothrow()),Mj$=async()=>{let $=(await E$`which zsh`.text()).trim();await dT("Zsh is set as a valid shell",async()=>(await Bun.file("/etc/shells").text()).includes($),()=>E$`echo ${$} | sudo tee -a /etc/shells`),await dT("Zsh is set as your shell",async()=>(await E$`cat /etc/passwd | grep "^$USER:"`.text()).includes($),()=>E$`sudo chsh -s ${$} $USER`)},zj$=async($)=>{if(console.log("\uD83D\uDD0D Running doctor (Linux)..."),console.log("\u2699\uFE0F email =",$.email,", name =",$.name,", updates =",$.updates),await Promise.all([Kj$(),Oj$()]),await Promise.all([jj$(),Tj$().then(()=>Promise.all([VT($).then(yT).then(CT),Mj$(),kj$().then(vj$)]))]),$.updates)await rj$();else console.log("\u26A0\uFE0F Skipping system updates")},Vi=async($)=>{if($=mi.parse($),process.platform==="win32")await ii($);else await zj$($)};var{$:k2}=globalThis.Bun;var yi=async()=>void await Promise.all([k2`deno fmt --use-tabs --quiet; oxlint --fix-dangerously --quiet; biome check --write --unsafe .`.nothrow(),k2`go fmt ./...`.nothrow(),k2`dotnet csharpier .`.nothrow()]);var{$:aw}=globalThis.Bun;var Ci=async($)=>{let{template:f}=$;if(f){let q=f;if(f==="bun-hono-react-template"||f==="web")q="https://github.com/chneau/bun-hono-react-template";await aw`bunx degit ${q} .`}else await aw`bun init -y .`;await aw`x`;let _=Bun.file("package.json");if(await _.exists()){let{module:q,type:w,private:K,peerDependencies:O,devDependencies:r,scripts:T,dependencies:j,...k}=await _.json(),v={...k,scripts:{start:"bun index.ts",dev:"bun --watch index.ts",...T},dependencies:j??{},devDependencies:{...r,...O}};if(await Bun.write("package.json",JSON.stringify(v,null,2)),!await Bun.file("README.md").exists())await Bun.write("README.md",`# ${v.name??"New Project"}`)}if(!await Bun.file(".gitignore").exists())await aw`echo node_modules > .gitignore`;await aw`bun run all`};var{$:Dj$}=globalThis.Bun;var di=async()=>{let $=await ti(),f=await iT();if($===f){console.log(`\u2705 You are already using the latest version ${f}`);return}console.log(`\uD83D\uDD52 You are using version ${f}`);while(!0){console.log(`\uD83D\uDD52 Updating to version ${$}`);let{exitCode:_}=await Dj$`bun i -fg @chneau/x@${$}`.quiet().nothrow();if(_===0)break;await Bun.sleep(1000)}console.log(`\u2705 Updated to version ${$}`)};var nj$=await iT();C$.name("x").description("chneau's utility CLI").version(nj$);C$.option("-r, --recursive [number]","Recursion level",Number.parseFloat).argument("[dir]","Directory to manage",".").action(R2);C$.command("fmt").description("Format all files").action(yi);C$.command("deploy").description("Deploy to kubernetes").allowExcessArguments().action(Xi);C$.command("upgrade").description("Uprade x to the latest version").action(di);C$.command("doctor").description("Check the system for issues").option("-e, --email <email>","Git email","charles63500@gmail.com").option("-n, --name <name>","Git name","chneau").option("--no-updates","Skip system updates").action(Vi);C$.command("new").description("Create new bun project").option("-t, --template <template-name>","Template name or git repo").action(Ci);C$.parse();
|
|
227
|
+
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -P ""`),Error("\u274C SSH key is not set")},CT=async()=>{if(await N_`ssh -T -o "StrictHostKeyChecking no" git@github.com 2>&1`.nothrow().text().then(($)=>$.includes("successfully authenticated")))console.log("\u2705 SSH key is set on GitHub");else if(console.log("\u274C SSH key is not set on GitHub"),console.log("\uD83D\uDD52 Adding SSH key to GitHub"),await Bun.file(`${Bun.env.HOME}/.ssh/id_rsa.pub`).exists()){let $=await Bun.file(`${Bun.env.HOME}/.ssh/id_rsa.pub`).text();console.log($),console.log("\u26A1 Go to https://github.com/settings/ssh/new and past the text above")}else console.log("\u274C ~/.ssh/id_rsa.pub not found. Please generate SSH key first.")};var{$:GP}=globalThis.Bun;var lP=($,f,_)=>({name:$,check:()=>ZP(_??$),install:f}),BT$=($)=>lP($,()=>GP`sudo apt install -y ${$}`),$j$=["git","gcc","make","curl","wget","unzip","zsh","bash","tree"].map(BT$),v$=($,f)=>lP($,()=>GP`brew install ${$}`,f),_j$=[v$("aichat"),v$("bpytop"),v$("dive"),v$("dldash/core/docker-color-output","docker-color-output"),v$("docker-compose"),v$("go"),v$("graphviz","dot"),v$("helm"),v$("hyperfine"),v$("kubecolor"),v$("kubectx"),v$("kubernetes-cli","kubectl"),v$("lazygit"),v$("node"),v$("openjdk","javac"),v$("pipx"),v$("stern"),v$("zsh")],j$=($,f)=>lP($,()=>GP`bun install --force --global ${$}`,f),T2=[j$("@biomejs/biome","biome"),j$("@github/copilot","copilot"),j$("@google/gemini-cli","gemini"),j$("@qwen-code/qwen-code","qwen"),j$("opencode-ai","opencode"),j$("concurrently"),j$("depcheck"),j$("fkill-cli","fkill"),j$("http-server"),j$("live-server"),j$("nodemon"),j$("npm-check-updates"),j$("npm-check"),j$("oxlint"),j$("prettier"),j$("ts-unused-exports"),j$("tsx"),j$("typesync"),j$("ungit")],Ri=[...$j$,lP("uv",()=>GP`curl -LsSf https://astral.sh/uv/install.sh | sh`),lP("brew",()=>GP`HOME=/tmp CI=1 bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"`),lP("deno",()=>GP`curl -fsSL https://deno.land/install.sh | sh`),lP("dotnet",()=>GP`curl -sSL https://dot.net/v1/dotnet-install.sh | bash -s -- --channel 10.0`),..._j$,...T2];var{$:j2}=globalThis.Bun;var{$:fj$}=globalThis.Bun;var t_=($,f)=>({name:$,check:async()=>await ZP(f??$),install:async()=>await fj$`powershell.exe -Command "winget install --id ${$} -e --source winget --accept-package-agreements --accept-source-agreements"`}),Pj$=[t_("Git.Git","git"),t_("GoLang.Go","go"),t_("OpenJS.NodeJS","node"),t_("DenoLand.Deno","deno"),t_("JesseDuffield.Lazygit","lazygit"),t_("Microsoft.VisualStudioCode","code"),t_("Kubernetes.kubectl","kubectl"),t_("Helm.Helm","helm"),t_("JanDeDobbeleer.OhMyPosh","oh-my-posh")],ai=[...Pj$,...T2];var qj$=async()=>{console.log("\uD83D\uDD52 Updating system (winget upgrade --all)..."),await j2`winget upgrade --all --accept-package-agreements --accept-source-agreements`.nothrow(),console.log("\uD83D\uDD52 Updating Bun..."),await j2`bun upgrade`.nothrow(),await j2`bun update --latest --force --global`.nothrow(),console.log("\u2705 System updated")},wj$=async()=>{let $=await Promise.all(ai.map(async(f)=>({name:f.name,exists:await f.check(),install:f.install}))).then((f)=>f.filter((_)=>!_.exists));if(!$.length)console.log("\u2705 All packages are installed");else{console.log("\u274C Some packages are not installed"),console.table($);for(let f of $)console.log(`\uD83D\uDD52 Installing ${f.name}`),await f.install().then(()=>console.log(`\u2705 Installed ${f.name}`)).catch(()=>console.log(`\u274C Failed to install ${f.name}`))}},ii=async($)=>{console.log("\uD83D\uDD0D Running doctor (Windows)..."),console.log("\u2699\uFE0F email =",$.email,", name =",$.name,", updates =",$.updates),await wj$(),await VT($);try{await yT(),await CT()}catch(f){console.log(f)}if($.updates)await qj$();else console.log("\u26A0\uFE0F Skipping system updates");console.log("\u2139\uFE0F Restart your shell for installed packages to be available.")};if(process.platform!=="win32")Bun.env.PATH=[Bun.env.PATH??"","/home/linuxbrew/.linuxbrew/bin","/home/linuxbrew/.linuxbrew/sbin","$BUN_INSTALL/bin","$HOME/go/bin","$HOME/.arkade/bin","${KREW_ROOT:-$HOME/.krew}/bin","$HOME/.cargo/bin","$HOME/.dotnet","$HOME/.dotnet/tools","$HOME/.go/bin","$HOME/.local/bin","$HOME/bin","/snap/bin","/usr/local/sbin","/usr/sbin","/sbin"].join(":");var Kj$=async()=>{if(!await Si())console.log("\u2705 You are not root");else throw Error("\u274C You are root")},Oj$=async()=>{if(await Ni())console.log("\u2705 You can sudo");else throw console.log("\u26A1 Please run this command to configure sudo:"),console.log("sudo sed -i 's/%sudo\\s\\+ALL=(ALL:ALL)\\s\\+ALL/%sudo ALL=(ALL:ALL) NOPASSWD: ALL/g' /etc/sudoers"),Error("\u274C You cannot sudo")},rj$=async()=>{console.log("\uD83D\uDD52 Updating system..."),await E$`sudo apt update -y`.nothrow(),await E$`sudo apt upgrade -y`.nothrow(),await E$`sudo apt autoremove -y`.nothrow(),await E$`sudo apt autoclean -y`.nothrow();let $=await ZP("brew")?"brew":"/home/linuxbrew/.linuxbrew/bin/brew";if(await Bun.file($).exists())await E$`${$} update`.nothrow(),await E$`${$} upgrade`.nothrow(),await E$`${$} cleanup`.nothrow();await E$`bun upgrade`.nothrow(),await E$`bun update --latest --force --global`.nothrow(),console.log("\u2705 System updated")},Tj$=async()=>{let $=await Promise.all(Ri.map(async(f)=>({pkg:f,exists:await f.check()}))).then((f)=>f.filter((_)=>!_.exists).map((_)=>_.pkg));if($.length===0){console.log("\u2705 All packages are installed");return}console.log("\u274C Some packages are not installed"),console.table($.map((f)=>({name:f.name})));for(let f of $)console.log(`\uD83D\uDD52 Installing ${f.name}...`),await f.install().then(()=>console.log(`\u2705 Installed ${f.name}`)).catch(()=>console.log(`\u274C Failed to install ${f.name}`))},dT=async($,f,_)=>{if(await f())console.log(`\u2705 ${$} is correct`);else console.log(`\u274C ${$} is incorrect`),console.log(`\uD83D\uDD52 Fixing ${$}...`),await _(),console.log(`\u2705 ${$} is fixed`)},jj$=async()=>{let _=await Promise.all([".bashrc",".zshrc",".aliases",".profile"].map(async(P)=>({name:P,isPresent:await Bun.file(`${Bun.env.HOME}/${P}`).exists()})));if(_.every((P)=>P.isPresent)){console.log("\u2705 Dotfiles are installed");return}console.log("\u274C Dotfiles are not installed"),console.log("\uD83D\uDD52 Installing dotfiles"),await Promise.all(_.filter((P)=>!P.isPresent).map(async(P)=>{console.log(`\uD83D\uDD52 Installing ${P.name}`);let q=await fetch(`https://raw.githubusercontent.com/chneau/dotfiles/HEAD/${P.name}`).then((w)=>w.text());await Bun.write(`${Bun.env.HOME}/${P.name}`,q),console.log(`\u2705 Installed ${P.name}`)})),console.log("\u2705 Dotfiles are installed")},kj$=()=>dT("Docker",()=>ZP("docker"),()=>E$`curl -sSL get.docker.com | sh`),vj$=()=>dT("User in docker group",async()=>(await E$`groups`.text()).includes("docker"),()=>E$`sudo usermod -aG docker $USER`.nothrow()),Mj$=async()=>{let $=(await E$`which zsh`.text()).trim();await dT("Zsh is set as a valid shell",async()=>(await Bun.file("/etc/shells").text()).includes($),()=>E$`echo ${$} | sudo tee -a /etc/shells`),await dT("Zsh is set as your shell",async()=>(await E$`cat /etc/passwd | grep "^$USER:"`.text()).includes($),()=>E$`sudo chsh -s ${$} $USER`)},zj$=async($)=>{if(console.log("\uD83D\uDD0D Running doctor (Linux)..."),console.log("\u2699\uFE0F email =",$.email,", name =",$.name,", updates =",$.updates),await Promise.all([Kj$(),Oj$()]),await Promise.all([jj$(),Tj$().then(()=>Promise.all([VT($).then(yT).then(CT),Mj$(),kj$().then(vj$)]))]),$.updates)await rj$();else console.log("\u26A0\uFE0F Skipping system updates")},Vi=async($)=>{if($=mi.parse($),process.platform==="win32")await ii($);else await zj$($)};var{$:k2}=globalThis.Bun;var yi=async()=>void await Promise.all([k2`deno fmt --use-tabs --quiet; oxlint --fix-dangerously --quiet; biome check --write --unsafe .`.nothrow(),k2`go fmt ./...`.nothrow(),k2`dotnet csharpier .`.nothrow()]);var{$:aw}=globalThis.Bun;var Ci=async($)=>{let{template:f}=$;if(f){let q=f;if(f==="bun-hono-react-template"||f==="web")q="https://github.com/chneau/bun-hono-react-template";await aw`bunx degit --force ${q} .`}else await aw`bun init -y .`;await aw`x`;let _=Bun.file("package.json");if(await _.exists()){let{module:q,type:w,private:K,peerDependencies:O,devDependencies:r,scripts:T,dependencies:j,...k}=await _.json(),v={...k,version:void 0,name:import.meta.dirname.split("/").pop(),scripts:{start:"bun index.ts",dev:"bun --watch index.ts",...T},dependencies:j??{},devDependencies:{...r,...O}};if(await Bun.write("package.json",JSON.stringify(v,null,2)),!await Bun.file("README.md").exists())await Bun.write("README.md",`# ${v.name??"New Project"}`)}if(!await Bun.file(".gitignore").exists())await aw`echo node_modules > .gitignore`;await aw`bun run all`};var{$:Dj$}=globalThis.Bun;var di=async()=>{let $=await ti(),f=await iT();if($===f){console.log(`\u2705 You are already using the latest version ${f}`);return}console.log(`\uD83D\uDD52 You are using version ${f}`);while(!0){console.log(`\uD83D\uDD52 Updating to version ${$}`);let{exitCode:_}=await Dj$`bun i -fg @chneau/x@${$}`.quiet().nothrow();if(_===0)break;await Bun.sleep(1000)}console.log(`\u2705 Updated to version ${$}`)};var nj$=await iT();C$.name("x").description("chneau's utility CLI").version(nj$);C$.option("-r, --recursive [number]","Recursion level",Number.parseFloat).argument("[dir]","Directory to manage",".").action(R2);C$.command("fmt").description("Format all files").action(yi);C$.command("deploy").description("Deploy to kubernetes").allowExcessArguments().action(Xi);C$.command("upgrade").description("Uprade x to the latest version").action(di);C$.command("doctor").description("Check the system for issues").option("-e, --email <email>","Git email","charles63500@gmail.com").option("-n, --name <name>","Git name","chneau").option("--no-updates","Skip system updates").action(Vi);C$.command("new").description("Create new bun project").option("-t, --template <template-name>","Template name or git repo").action(Ci);C$.parse();
|