chief-clancy 0.7.3 → 0.7.4

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.
@@ -1,58 +1,58 @@
1
- var jl=Object.defineProperty;var $e=(e,t)=>{for(var r in t)jl(e,r,{get:t[r],enumerable:!0})};import{resolve as Xh}from"node:path";import{fileURLToPath as Qh}from"node:url";function Ee(e){let t=Math.floor(e/1e3);if(t<60)return`${t}s`;let r=Math.floor(t/60),n=t%60;if(r<60)return n>0?`${r}m ${n}s`:`${r}m`;let o=Math.floor(r/60),i=r%60;return i>0?`${o}h ${i}m`:`${o}h`}import{execFileSync as se}from"node:child_process";function Ir(...e){return se("git",e,{encoding:"utf8"}).trim()}function lc(){return Ir("rev-parse","--abbrev-ref","HEAD")}function wt(){try{return se("git",["diff","--quiet"],{stdio:"ignore"}),se("git",["diff","--cached","--quiet"],{stdio:"ignore"}),!1}catch{return!0}}function Ke(e){try{return se("git",["show-ref","--verify","--quiet",`refs/heads/${e}`],{stdio:"ignore"}),!0}catch{return!1}}function Tr(e,t){Ke(e)||Ir("checkout","-b",e,t)}function Z(e,t=!1){Ir("checkout",...t?["-B"]:[],e)}function pc(e){try{return se("git",["ls-remote","--heads","origin",e],{encoding:"utf8",timeout:15e3}).trim().length>0}catch{return!1}}function vt(e){try{return se("git",["fetch","origin",`${e}:${e}`],{encoding:"utf8",stdio:["pipe","pipe","pipe"]}),!0}catch{return!1}}function fc(e,t=8e3){try{let r=se("git",["diff",`${e}...HEAD`,"--stat"],{encoding:"utf8",timeout:1e4}).trim();return r?r.length>t?r.slice(0,t)+`
2
- ... (truncated)`:r:void 0}catch{return}}function Ye(e){try{return se("git",["push","-u","origin",e],{encoding:"utf8",stdio:["pipe","pipe","pipe"]}),!0}catch{return!1}}var x=e=>`\x1B[2m${e}\x1B[0m`,Ie=e=>`\x1B[1m${e}\x1B[0m`;var N=e=>`\x1B[32m${e}\x1B[0m`,Te=e=>`\x1B[31m${e}\x1B[0m`,S=e=>`\x1B[33m${e}\x1B[0m`;function dc(e){return{argv:e,dryRun:e.includes("--dry-run"),skipFeasibility:e.includes("--skip-feasibility"),startTime:Date.now(),cwd:process.cwd(),isAfk:process.env.CLANCY_AFK_MODE==="1"}}import{mkdirSync as Ll,readFileSync as Ml,unlinkSync as mc,writeFileSync as Bl}from"node:fs";import{dirname as Dl,join as kt}from"node:path";function hc(e,t){let r=kt(e,".clancy","lock.json");Ll(Dl(r),{recursive:!0}),Bl(r,JSON.stringify(t,null,2),"utf8")}function zt(e){let t=kt(e,".clancy","lock.json");try{let r=Ml(t,"utf8");return JSON.parse(r)}catch{return}}function St(e){let t=kt(e,".clancy","lock.json");try{mc(t)}catch{}}function Pt(e){let t=kt(e,".clancy","verify-attempt.txt");try{mc(t)}catch{}}function Ul(e){try{return process.kill(e,0),!0}catch(t){return t instanceof Error&&"code"in t&&t.code==="EPERM"}}function gc(e){if(!Ul(e.pid))return!0;let t=Date.now()-new Date(e.startedAt).getTime();if(Number.isNaN(t))return!0;let r=1440*60*1e3;return t>r}import{execFileSync as Ou}from"node:child_process";import{readFileSync as lh}from"node:fs";import{join as ph}from"node:path";var p={};$e(p,{$brand:()=>Rr,$input:()=>fi,$output:()=>pi,NEVER:()=>Ar,TimePrecision:()=>ji,ZodMiniAny:()=>va,ZodMiniArray:()=>Ea,ZodMiniBase64:()=>ha,ZodMiniBase64URL:()=>ga,ZodMiniBigInt:()=>ht,ZodMiniBigIntFormat:()=>Ds,ZodMiniBoolean:()=>mt,ZodMiniCIDRv4:()=>fa,ZodMiniCIDRv6:()=>da,ZodMiniCUID:()=>ia,ZodMiniCUID2:()=>sa,ZodMiniCatch:()=>Ga,ZodMiniCodec:()=>Gs,ZodMiniCustom:()=>qs,ZodMiniCustomStringFormat:()=>ft,ZodMiniDate:()=>or,ZodMiniDefault:()=>Ja,ZodMiniDiscriminatedUnion:()=>Aa,ZodMiniE164:()=>_a,ZodMiniEmail:()=>ta,ZodMiniEmoji:()=>na,ZodMiniEnum:()=>Fs,ZodMiniExactOptional:()=>Ua,ZodMiniFile:()=>Ba,ZodMiniFunction:()=>tu,ZodMiniGUID:()=>ra,ZodMiniIPv4:()=>la,ZodMiniIPv6:()=>pa,ZodMiniISODate:()=>ur,ZodMiniISODateTime:()=>ar,ZodMiniISODuration:()=>pr,ZodMiniISOTime:()=>lr,ZodMiniIntersection:()=>Ra,ZodMiniJWT:()=>ya,ZodMiniKSUID:()=>ua,ZodMiniLazy:()=>Wa,ZodMiniLiteral:()=>Ma,ZodMiniMAC:()=>ma,ZodMiniMap:()=>Oa,ZodMiniNaN:()=>qa,ZodMiniNanoID:()=>oa,ZodMiniNever:()=>za,ZodMiniNonOptional:()=>Ks,ZodMiniNull:()=>xa,ZodMiniNullable:()=>Fa,ZodMiniNumber:()=>dt,ZodMiniNumberFormat:()=>Be,ZodMiniObject:()=>ir,ZodMiniOptional:()=>Js,ZodMiniPipe:()=>Ys,ZodMiniPrefault:()=>Ka,ZodMiniPromise:()=>Qa,ZodMiniReadonly:()=>Ha,ZodMiniRecord:()=>sr,ZodMiniSet:()=>ja,ZodMiniString:()=>Me,ZodMiniStringFormat:()=>A,ZodMiniSuccess:()=>Ya,ZodMiniSymbol:()=>ba,ZodMiniTemplateLiteral:()=>Va,ZodMiniTransform:()=>Da,ZodMiniTuple:()=>Ca,ZodMiniType:()=>k,ZodMiniULID:()=>ca,ZodMiniURL:()=>Bs,ZodMiniUUID:()=>pt,ZodMiniUndefined:()=>$a,ZodMiniUnion:()=>Us,ZodMiniUnknown:()=>ka,ZodMiniVoid:()=>Pa,ZodMiniXID:()=>aa,ZodMiniXor:()=>Ta,_default:()=>fm,_function:()=>Am,any:()=>Bd,array:()=>D,base64:()=>wd,base64url:()=>vd,bigint:()=>Nd,boolean:()=>De,catch:()=>gm,catchall:()=>Xd,check:()=>vm,cidrv4:()=>bd,cidrv6:()=>$d,clone:()=>M,codec:()=>bm,coerce:()=>Vs,config:()=>j,core:()=>Le,cuid:()=>fd,cuid2:()=>dd,custom:()=>eu,date:()=>Ud,decode:()=>en,decodeAsync:()=>rn,describe:()=>Sm,discriminatedUnion:()=>em,e164:()=>kd,email:()=>rd,emoji:()=>ld,encode:()=>Qr,encodeAsync:()=>tn,endsWith:()=>zs,enum:()=>La,exactOptional:()=>lm,extend:()=>gt,file:()=>am,flattenError:()=>Hr,float32:()=>Ad,float64:()=>Rd,formatError:()=>Vr,function:()=>Am,globalRegistry:()=>ne,gt:()=>Qt,gte:()=>at,guid:()=>nd,hash:()=>Id,hex:()=>Ed,hostname:()=>Pd,httpUrl:()=>ud,includes:()=>vs,instanceof:()=>Em,int:()=>Td,int32:()=>Cd,int64:()=>Od,intersection:()=>tm,ipv4:()=>_d,ipv6:()=>yd,iso:()=>Hs,json:()=>Tm,jwt:()=>zd,keyof:()=>Fd,ksuid:()=>gd,lazy:()=>Xa,length:()=>$s,literal:()=>cm,locales:()=>st,looseObject:()=>Kd,looseRecord:()=>nm,lowercase:()=>xs,lt:()=>Xt,lte:()=>ct,mac:()=>xd,map:()=>om,maxLength:()=>bs,maxSize:()=>gs,maximum:()=>ct,merge:()=>Gd,meta:()=>Pm,mime:()=>Ps,minLength:()=>ut,minSize:()=>_s,minimum:()=>at,multipleOf:()=>hs,nan:()=>_m,nanoid:()=>pd,nativeEnum:()=>sm,negative:()=>fs,never:()=>Sa,nonnegative:()=>ms,nonoptional:()=>mm,nonpositive:()=>ds,normalize:()=>Es,null:()=>wa,nullable:()=>cr,nullish:()=>pm,number:()=>_e,object:()=>E,omit:()=>Hd,optional:()=>$,overwrite:()=>de,parse:()=>pe,parseAsync:()=>fe,partial:()=>Vd,partialRecord:()=>rm,pick:()=>qd,pipe:()=>ym,positive:()=>ps,prefault:()=>dm,prettifyError:()=>Xr,promise:()=>wm,property:()=>Ss,readonly:()=>$m,record:()=>Na,refine:()=>km,regex:()=>lt,regexes:()=>X,registry:()=>Vt,required:()=>Wd,safeDecode:()=>on,safeDecodeAsync:()=>cn,safeEncode:()=>nn,safeEncodeAsync:()=>sn,safeExtend:()=>Yd,safeParse:()=>we,safeParseAsync:()=>ve,set:()=>im,size:()=>ys,startsWith:()=>ks,strictObject:()=>Jd,string:()=>b,stringFormat:()=>Sd,stringbool:()=>Im,success:()=>hm,superRefine:()=>zm,symbol:()=>Ld,templateLiteral:()=>xm,toJSONSchema:()=>tr,toLowerCase:()=>Ts,toUpperCase:()=>As,transform:()=>um,treeifyError:()=>Wr,trim:()=>Is,tuple:()=>Za,uint32:()=>Zd,uint64:()=>jd,ulid:()=>md,undefined:()=>Md,union:()=>Ia,unknown:()=>nr,uppercase:()=>ws,url:()=>ad,util:()=>W,uuid:()=>od,uuidv4:()=>id,uuidv6:()=>sd,uuidv7:()=>cd,void:()=>Dd,xid:()=>hd,xor:()=>Qd});var Le={};$e(Le,{$ZodAny:()=>Zo,$ZodArray:()=>Mo,$ZodAsyncError:()=>ee,$ZodBase64:()=>ko,$ZodBase64URL:()=>zo,$ZodBigInt:()=>Kt,$ZodBigIntFormat:()=>To,$ZodBoolean:()=>nt,$ZodCIDRv4:()=>xo,$ZodCIDRv6:()=>wo,$ZodCUID:()=>ao,$ZodCUID2:()=>uo,$ZodCatch:()=>ri,$ZodCheck:()=>T,$ZodCheckBigIntFormat:()=>Ln,$ZodCheckEndsWith:()=>Vn,$ZodCheckGreaterThan:()=>Lt,$ZodCheckIncludes:()=>qn,$ZodCheckLengthEquals:()=>Jn,$ZodCheckLessThan:()=>jt,$ZodCheckLowerCase:()=>Yn,$ZodCheckMaxLength:()=>Un,$ZodCheckMaxSize:()=>Mn,$ZodCheckMimeType:()=>Xn,$ZodCheckMinLength:()=>Fn,$ZodCheckMinSize:()=>Bn,$ZodCheckMultipleOf:()=>On,$ZodCheckNumberFormat:()=>jn,$ZodCheckOverwrite:()=>Qn,$ZodCheckProperty:()=>Wn,$ZodCheckRegex:()=>Kn,$ZodCheckSizeEquals:()=>Dn,$ZodCheckStartsWith:()=>Hn,$ZodCheckStringFormat:()=>Ne,$ZodCheckUpperCase:()=>Gn,$ZodCodec:()=>it,$ZodCustom:()=>li,$ZodCustomStringFormat:()=>Eo,$ZodDate:()=>Lo,$ZodDefault:()=>Xo,$ZodDiscriminatedUnion:()=>Do,$ZodE164:()=>So,$ZodEmail:()=>oo,$ZodEmoji:()=>so,$ZodEncodeError:()=>Ae,$ZodEnum:()=>Yo,$ZodError:()=>qr,$ZodExactOptional:()=>Vo,$ZodFile:()=>qo,$ZodFunction:()=>ci,$ZodGUID:()=>ro,$ZodIPv4:()=>yo,$ZodIPv6:()=>bo,$ZodISODate:()=>ho,$ZodISODateTime:()=>mo,$ZodISODuration:()=>_o,$ZodISOTime:()=>go,$ZodIntersection:()=>Uo,$ZodJWT:()=>Po,$ZodKSUID:()=>fo,$ZodLazy:()=>ui,$ZodLiteral:()=>Go,$ZodMAC:()=>$o,$ZodMap:()=>Jo,$ZodNaN:()=>ni,$ZodNanoID:()=>co,$ZodNever:()=>Oo,$ZodNonOptional:()=>ei,$ZodNull:()=>Co,$ZodNullable:()=>Wo,$ZodNumber:()=>Jt,$ZodNumberFormat:()=>Io,$ZodObject:()=>Yt,$ZodObjectJIT:()=>Lp,$ZodOptional:()=>qt,$ZodPipe:()=>oi,$ZodPrefault:()=>Qo,$ZodPromise:()=>ai,$ZodReadonly:()=>ii,$ZodRealError:()=>Y,$ZodRecord:()=>Fo,$ZodRegistry:()=>Ht,$ZodSet:()=>Ko,$ZodString:()=>Oe,$ZodStringFormat:()=>I,$ZodSuccess:()=>ti,$ZodSymbol:()=>Ao,$ZodTemplateLiteral:()=>si,$ZodTransform:()=>Ho,$ZodTuple:()=>Gt,$ZodType:()=>w,$ZodULID:()=>lo,$ZodURL:()=>io,$ZodUUID:()=>no,$ZodUndefined:()=>Ro,$ZodUnion:()=>ot,$ZodUnknown:()=>No,$ZodVoid:()=>jo,$ZodXID:()=>po,$ZodXor:()=>Bo,$brand:()=>Rr,$constructor:()=>f,$input:()=>fi,$output:()=>pi,Doc:()=>rt,JSONSchema:()=>ea,JSONSchemaGenerator:()=>rr,NEVER:()=>Ar,TimePrecision:()=>ji,_any:()=>os,_array:()=>Fp,_base64:()=>Ci,_base64url:()=>Zi,_bigint:()=>Wi,_boolean:()=>Hi,_catch:()=>af,_check:()=>Qc,_cidrv4:()=>Ai,_cidrv6:()=>Ri,_coercedBigint:()=>Xi,_coercedBoolean:()=>Vi,_coercedDate:()=>us,_coercedNumber:()=>Fi,_coercedString:()=>mi,_cuid:()=>vi,_cuid2:()=>ki,_custom:()=>Cs,_date:()=>as,_decode:()=>kc,_decodeAsync:()=>Sc,_default:()=>of,_discriminatedUnion:()=>Yp,_e164:()=>Ni,_email:()=>hi,_emoji:()=>xi,_encode:()=>vc,_encodeAsync:()=>zc,_endsWith:()=>zs,_enum:()=>Xp,_file:()=>Rs,_float32:()=>Ki,_float64:()=>Yi,_gt:()=>Qt,_gte:()=>at,_guid:()=>gi,_includes:()=>vs,_int:()=>Ji,_int32:()=>Gi,_int64:()=>Qi,_intersection:()=>Gp,_ipv4:()=>Ei,_ipv6:()=>Ii,_isoDate:()=>Mi,_isoDateTime:()=>Li,_isoDuration:()=>Di,_isoTime:()=>Bi,_jwt:()=>Oi,_ksuid:()=>Pi,_lazy:()=>ff,_length:()=>$s,_literal:()=>ef,_lowercase:()=>xs,_lt:()=>Xt,_lte:()=>ct,_mac:()=>Ti,_map:()=>Vp,_max:()=>ct,_maxLength:()=>bs,_maxSize:()=>gs,_mime:()=>Ps,_min:()=>at,_minLength:()=>ut,_minSize:()=>_s,_multipleOf:()=>hs,_nan:()=>ls,_nanoid:()=>wi,_nativeEnum:()=>Qp,_negative:()=>fs,_never:()=>ss,_nonnegative:()=>ms,_nonoptional:()=>sf,_nonpositive:()=>ds,_normalize:()=>Es,_null:()=>ns,_nullable:()=>nf,_number:()=>Ui,_optional:()=>rf,_overwrite:()=>de,_parse:()=>At,_parseAsync:()=>Rt,_pipe:()=>uf,_positive:()=>ps,_promise:()=>df,_property:()=>Ss,_readonly:()=>lf,_record:()=>Hp,_refine:()=>Zs,_regex:()=>lt,_safeDecode:()=>Ec,_safeDecodeAsync:()=>Tc,_safeEncode:()=>Pc,_safeEncodeAsync:()=>Ic,_safeParse:()=>Ct,_safeParseAsync:()=>Zt,_set:()=>Wp,_size:()=>ys,_slugify:()=>Up,_startsWith:()=>ks,_string:()=>di,_stringFormat:()=>je,_stringbool:()=>Ls,_success:()=>cf,_superRefine:()=>Ns,_symbol:()=>ts,_templateLiteral:()=>pf,_toLowerCase:()=>Ts,_toUpperCase:()=>As,_transform:()=>tf,_trim:()=>Is,_tuple:()=>qp,_uint32:()=>qi,_uint64:()=>es,_ulid:()=>zi,_undefined:()=>rs,_union:()=>Jp,_unknown:()=>is,_uppercase:()=>ws,_url:()=>Wt,_uuid:()=>_i,_uuidv4:()=>yi,_uuidv6:()=>bi,_uuidv7:()=>$i,_void:()=>cs,_xid:()=>Si,_xor:()=>Kp,clone:()=>M,config:()=>j,createStandardJSONSchemaMethod:()=>Ms,createToJSONSchemaMethod:()=>mf,decode:()=>en,decodeAsync:()=>rn,describe:()=>Os,encode:()=>Qr,encodeAsync:()=>tn,extractDefs:()=>he,finalize:()=>ge,flattenError:()=>Hr,formatError:()=>Vr,globalConfig:()=>Ge,globalRegistry:()=>ne,initializeContext:()=>me,isValidBase64:()=>vo,isValidBase64URL:()=>qc,isValidJWT:()=>Hc,locales:()=>st,meta:()=>js,parse:()=>pe,parseAsync:()=>fe,prettifyError:()=>Xr,process:()=>P,regexes:()=>X,registry:()=>Vt,safeDecode:()=>on,safeDecodeAsync:()=>cn,safeEncode:()=>nn,safeEncodeAsync:()=>sn,safeParse:()=>we,safeParseAsync:()=>ve,toDotPath:()=>wc,toJSONSchema:()=>tr,treeifyError:()=>Wr,util:()=>W,version:()=>eo});var Ar=Object.freeze({status:"aborted"});function f(e,t,r){function n(c,a){if(c._zod||Object.defineProperty(c,"_zod",{value:{def:a,constr:s,traits:new Set},enumerable:!1}),c._zod.traits.has(e))return;c._zod.traits.add(e),t(c,a);let u=s.prototype,l=Object.keys(u);for(let d=0;d<l.length;d++){let m=l[d];m in c||(c[m]=u[m].bind(c))}}let o=r?.Parent??Object;class i extends o{}Object.defineProperty(i,"name",{value:e});function s(c){var a;let u=r?.Parent?new i:this;n(u,c),(a=u._zod).deferred??(a.deferred=[]);for(let l of u._zod.deferred)l();return u}return Object.defineProperty(s,"init",{value:n}),Object.defineProperty(s,Symbol.hasInstance,{value:c=>r?.Parent&&c instanceof r.Parent?!0:c?._zod?.traits?.has(e)}),Object.defineProperty(s,"name",{value:e}),s}var Rr=Symbol("zod_brand"),ee=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Ae=class extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}},Ge={};function j(e){return e&&Object.assign(Ge,e),Ge}var W={};$e(W,{BIGINT_FORMAT_RANGES:()=>Ur,Class:()=>Zr,NUMBER_FORMAT_RANGES:()=>Dr,aborted:()=>le,allowsEval:()=>Lr,assert:()=>Gl,assertEqual:()=>Fl,assertIs:()=>Kl,assertNever:()=>Yl,assertNotEqual:()=>Jl,assignProp:()=>ae,base64ToUint8Array:()=>bc,base64urlToUint8Array:()=>sp,cached:()=>Re,captureStackTrace:()=>It,cleanEnum:()=>ip,cleanRegex:()=>Ve,clone:()=>M,cloneDef:()=>Vl,createTransparentProxy:()=>rp,defineLazy:()=>v,esc:()=>Et,escapeRegex:()=>V,extend:()=>Tt,finalizeIssue:()=>K,floatSafeRemainder:()=>Or,getElementAtPath:()=>Wl,getEnumValues:()=>He,getLengthableOrigin:()=>Qe,getParsedType:()=>tp,getSizableOrigin:()=>Xe,hexToUint8Array:()=>ap,isObject:()=>xe,isPlainObject:()=>ue,issue:()=>Ze,joinValues:()=>ql,jsonStringifyReplacer:()=>Nr,merge:()=>np,mergeDefs:()=>oe,normalizeParams:()=>g,nullish:()=>ce,numKeys:()=>ep,objectClone:()=>Hl,omit:()=>Jr,optionalKeys:()=>Br,parsedType:()=>op,partial:()=>Yr,pick:()=>Fr,prefixIssues:()=>G,primitiveTypes:()=>Mr,promiseAllObject:()=>Xl,propertyKeyTypes:()=>We,randomString:()=>Ql,required:()=>Gr,safeExtend:()=>Kr,shallowClone:()=>Ce,slugify:()=>jr,stringifyPrimitive:()=>yc,uint8ArrayToBase64:()=>$c,uint8ArrayToBase64url:()=>cp,uint8ArrayToHex:()=>up,unwrapMessage:()=>qe});function Fl(e){return e}function Jl(e){return e}function Kl(e){}function Yl(e){throw new Error("Unexpected value in exhaustive check")}function Gl(e){}function He(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,o])=>t.indexOf(+n)===-1).map(([n,o])=>o)}function ql(e,t="|"){return e.map(r=>yc(r)).join(t)}function Nr(e,t){return typeof t=="bigint"?t.toString():t}function Re(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function ce(e){return e==null}function Ve(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function Or(e,t){let r=(e.toString().split(".")[1]||"").length,n=t.toString(),o=(n.split(".")[1]||"").length;if(o===0&&/\d?e-\d?/.test(n)){let a=n.match(/\d?e-(\d?)/);a?.[1]&&(o=Number.parseInt(a[1]))}let i=r>o?r:o,s=Number.parseInt(e.toFixed(i).replace(".","")),c=Number.parseInt(t.toFixed(i).replace(".",""));return s%c/10**i}var _c=Symbol("evaluating");function v(e,t,r){let n;Object.defineProperty(e,t,{get(){if(n!==_c)return n===void 0&&(n=_c,n=r()),n},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function Hl(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function ae(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function oe(...e){let t={};for(let r of e){let n=Object.getOwnPropertyDescriptors(r);Object.assign(t,n)}return Object.defineProperties({},t)}function Vl(e){return oe(e._zod.def)}function Wl(e,t){return t?t.reduce((r,n)=>r?.[n],e):e}function Xl(e){let t=Object.keys(e),r=t.map(n=>e[n]);return Promise.all(r).then(n=>{let o={};for(let i=0;i<t.length;i++)o[t[i]]=n[i];return o})}function Ql(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<e;n++)r+=t[Math.floor(Math.random()*t.length)];return r}function Et(e){return JSON.stringify(e)}function jr(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var It="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function xe(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Lr=Re(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function ue(e){if(xe(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let r=t.prototype;return!(xe(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Ce(e){return ue(e)?{...e}:Array.isArray(e)?[...e]:e}function ep(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}var tp=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},We=new Set(["string","number","symbol"]),Mr=new Set(["string","number","bigint","boolean","symbol","undefined"]);function V(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function M(e,t,r){let n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function g(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function rp(e){let t;return new Proxy({},{get(r,n,o){return t??(t=e()),Reflect.get(t,n,o)},set(r,n,o,i){return t??(t=e()),Reflect.set(t,n,o,i)},has(r,n){return t??(t=e()),Reflect.has(t,n)},deleteProperty(r,n){return t??(t=e()),Reflect.deleteProperty(t,n)},ownKeys(r){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(r,n){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,n)},defineProperty(r,n,o){return t??(t=e()),Reflect.defineProperty(t,n,o)}})}function yc(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function Br(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Dr={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]},Ur={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Fr(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let i=oe(e._zod.def,{get shape(){let s={};for(let c in t){if(!(c in r.shape))throw new Error(`Unrecognized key: "${c}"`);t[c]&&(s[c]=r.shape[c])}return ae(this,"shape",s),s},checks:[]});return M(e,i)}function Jr(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let i=oe(e._zod.def,{get shape(){let s={...e._zod.def.shape};for(let c in t){if(!(c in r.shape))throw new Error(`Unrecognized key: "${c}"`);t[c]&&delete s[c]}return ae(this,"shape",s),s},checks:[]});return M(e,i)}function Tt(e,t){if(!ue(t))throw new Error("Invalid input to extend: expected a plain object");let r=e._zod.def.checks;if(r&&r.length>0){let i=e._zod.def.shape;for(let s in t)if(Object.getOwnPropertyDescriptor(i,s)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let o=oe(e._zod.def,{get shape(){let i={...e._zod.def.shape,...t};return ae(this,"shape",i),i}});return M(e,o)}function Kr(e,t){if(!ue(t))throw new Error("Invalid input to safeExtend: expected a plain object");let r=oe(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return ae(this,"shape",n),n}});return M(e,r)}function np(e,t){let r=oe(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return ae(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:[]});return M(e,r)}function Yr(e,t,r){let o=t._zod.def.checks;if(o&&o.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let s=oe(t._zod.def,{get shape(){let c=t._zod.def.shape,a={...c};if(r)for(let u in r){if(!(u in c))throw new Error(`Unrecognized key: "${u}"`);r[u]&&(a[u]=e?new e({type:"optional",innerType:c[u]}):c[u])}else for(let u in c)a[u]=e?new e({type:"optional",innerType:c[u]}):c[u];return ae(this,"shape",a),a},checks:[]});return M(t,s)}function Gr(e,t,r){let n=oe(t._zod.def,{get shape(){let o=t._zod.def.shape,i={...o};if(r)for(let s in r){if(!(s in i))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(i[s]=new e({type:"nonoptional",innerType:o[s]}))}else for(let s in o)i[s]=new e({type:"nonoptional",innerType:o[s]});return ae(this,"shape",i),i}});return M(t,n)}function le(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function G(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function qe(e){return typeof e=="string"?e:e?.message}function K(e,t,r){let n={...e,path:e.path??[]};if(!e.message){let o=qe(e.inst?._zod.def?.error?.(e))??qe(t?.error?.(e))??qe(r.customError?.(e))??qe(r.localeError?.(e))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function Xe(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function Qe(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function op(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let r=e;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return t}function Ze(...e){let[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}function ip(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}function bc(e){let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function $c(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}function sp(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r="=".repeat((4-t.length%4)%4);return bc(t+r)}function cp(e){return $c(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function ap(e){let t=e.replace(/^0x/,"");if(t.length%2!==0)throw new Error("Invalid hex string length");let r=new Uint8Array(t.length/2);for(let n=0;n<t.length;n+=2)r[n/2]=Number.parseInt(t.slice(n,n+2),16);return r}function up(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}var Zr=class{constructor(...t){}};var xc=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,Nr,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},qr=f("$ZodError",xc),Y=f("$ZodError",xc,{Parent:Error});function Hr(e,t=r=>r.message){let r={},n=[];for(let o of e.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(t(o))):n.push(t(o));return{formErrors:n,fieldErrors:r}}function Vr(e,t=r=>r.message){let r={_errors:[]},n=o=>{for(let i of o.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(s=>n({issues:s}));else if(i.code==="invalid_key")n({issues:i.issues});else if(i.code==="invalid_element")n({issues:i.issues});else if(i.path.length===0)r._errors.push(t(i));else{let s=r,c=0;for(;c<i.path.length;){let a=i.path[c];c===i.path.length-1?(s[a]=s[a]||{_errors:[]},s[a]._errors.push(t(i))):s[a]=s[a]||{_errors:[]},s=s[a],c++}}};return n(e),r}function Wr(e,t=r=>r.message){let r={errors:[]},n=(o,i=[])=>{var s,c;for(let a of o.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(u=>n({issues:u},a.path));else if(a.code==="invalid_key")n({issues:a.issues},a.path);else if(a.code==="invalid_element")n({issues:a.issues},a.path);else{let u=[...i,...a.path];if(u.length===0){r.errors.push(t(a));continue}let l=r,d=0;for(;d<u.length;){let m=u[d],h=d===u.length-1;typeof m=="string"?(l.properties??(l.properties={}),(s=l.properties)[m]??(s[m]={errors:[]}),l=l.properties[m]):(l.items??(l.items=[]),(c=l.items)[m]??(c[m]={errors:[]}),l=l.items[m]),h&&l.errors.push(t(a)),d++}}};return n(e),r}function wc(e){let t=[],r=e.map(n=>typeof n=="object"?n.key:n);for(let n of r)typeof n=="number"?t.push(`[${n}]`):typeof n=="symbol"?t.push(`[${JSON.stringify(String(n))}]`):/[^\w$]/.test(n)?t.push(`[${JSON.stringify(n)}]`):(t.length&&t.push("."),t.push(n));return t.join("")}function Xr(e){let t=[],r=[...e.issues].sort((n,o)=>(n.path??[]).length-(o.path??[]).length);for(let n of r)t.push(`\u2716 ${n.message}`),n.path?.length&&t.push(` \u2192 at ${wc(n.path)}`);return t.join(`
3
- `)}var At=e=>(t,r,n,o)=>{let i=n?Object.assign(n,{async:!1}):{async:!1},s=t._zod.run({value:r,issues:[]},i);if(s instanceof Promise)throw new ee;if(s.issues.length){let c=new(o?.Err??e)(s.issues.map(a=>K(a,i,j())));throw It(c,o?.callee),c}return s.value},pe=At(Y),Rt=e=>async(t,r,n,o)=>{let i=n?Object.assign(n,{async:!0}):{async:!0},s=t._zod.run({value:r,issues:[]},i);if(s instanceof Promise&&(s=await s),s.issues.length){let c=new(o?.Err??e)(s.issues.map(a=>K(a,i,j())));throw It(c,o?.callee),c}return s.value},fe=Rt(Y),Ct=e=>(t,r,n)=>{let o=n?{...n,async:!1}:{async:!1},i=t._zod.run({value:r,issues:[]},o);if(i instanceof Promise)throw new ee;return i.issues.length?{success:!1,error:new(e??qr)(i.issues.map(s=>K(s,o,j())))}:{success:!0,data:i.value}},we=Ct(Y),Zt=e=>async(t,r,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},i=t._zod.run({value:r,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(s=>K(s,o,j())))}:{success:!0,data:i.value}},ve=Zt(Y),vc=e=>(t,r,n)=>{let o=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return At(e)(t,r,o)},Qr=vc(Y),kc=e=>(t,r,n)=>At(e)(t,r,n),en=kc(Y),zc=e=>async(t,r,n)=>{let o=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Rt(e)(t,r,o)},tn=zc(Y),Sc=e=>async(t,r,n)=>Rt(e)(t,r,n),rn=Sc(Y),Pc=e=>(t,r,n)=>{let o=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Ct(e)(t,r,o)},nn=Pc(Y),Ec=e=>(t,r,n)=>Ct(e)(t,r,n),on=Ec(Y),Ic=e=>async(t,r,n)=>{let o=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Zt(e)(t,r,o)},sn=Ic(Y),Tc=e=>async(t,r,n)=>Zt(e)(t,r,n),cn=Tc(Y);var X={};$e(X,{base64:()=>vn,base64url:()=>Nt,bigint:()=>In,boolean:()=>An,browserEmail:()=>yp,cidrv4:()=>xn,cidrv6:()=>wn,cuid:()=>an,cuid2:()=>un,date:()=>zn,datetime:()=>Pn,domain:()=>xp,duration:()=>mn,e164:()=>kn,email:()=>gn,emoji:()=>_n,extendedDuration:()=>pp,guid:()=>hn,hex:()=>wp,hostname:()=>$p,html5Email:()=>hp,idnEmail:()=>_p,integer:()=>Tn,ipv4:()=>yn,ipv6:()=>bn,ksuid:()=>fn,lowercase:()=>Zn,mac:()=>$n,md5_base64:()=>kp,md5_base64url:()=>zp,md5_hex:()=>vp,nanoid:()=>dn,null:()=>Rn,number:()=>Ot,rfc5322Email:()=>gp,sha1_base64:()=>Pp,sha1_base64url:()=>Ep,sha1_hex:()=>Sp,sha256_base64:()=>Tp,sha256_base64url:()=>Ap,sha256_hex:()=>Ip,sha384_base64:()=>Cp,sha384_base64url:()=>Zp,sha384_hex:()=>Rp,sha512_base64:()=>Op,sha512_base64url:()=>jp,sha512_hex:()=>Np,string:()=>En,time:()=>Sn,ulid:()=>ln,undefined:()=>Cn,unicodeEmail:()=>Ac,uppercase:()=>Nn,uuid:()=>ke,uuid4:()=>fp,uuid6:()=>dp,uuid7:()=>mp,xid:()=>pn});var an=/^[cC][^\s-]{8,}$/,un=/^[0-9a-z]+$/,ln=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,pn=/^[0-9a-vA-V]{20}$/,fn=/^[A-Za-z0-9]{27}$/,dn=/^[a-zA-Z0-9_-]{21}$/,mn=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,pp=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,hn=/^([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})$/,ke=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)$/,fp=ke(4),dp=ke(6),mp=ke(7),gn=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,hp=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,gp=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,Ac=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,_p=Ac,yp=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,bp="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function _n(){return new RegExp(bp,"u")}var yn=/^(?:(?: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])$/,bn=/^(([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}|:))$/,$n=e=>{let t=V(e??":");return new RegExp(`^(?:[0-9A-F]{2}${t}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${t}){5}[0-9a-f]{2}$`)},xn=/^((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])$/,wn=/^(([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])$/,vn=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Nt=/^[A-Za-z0-9_-]*$/,$p=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,xp=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,kn=/^\+[1-9]\d{6,14}$/,Rc="(?:(?:\\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])))",zn=new RegExp(`^${Rc}$`);function Cc(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Sn(e){return new RegExp(`^${Cc(e)}$`)}function Pn(e){let t=Cc({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let n=`${t}(?:${r.join("|")})`;return new RegExp(`^${Rc}T(?:${n})$`)}var En=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},In=/^-?\d+n?$/,Tn=/^-?\d+$/,Ot=/^-?\d+(?:\.\d+)?$/,An=/^(?:true|false)$/i,Rn=/^null$/i;var Cn=/^undefined$/i;var Zn=/^[^A-Z]*$/,Nn=/^[^a-z]*$/,wp=/^[0-9a-fA-F]*$/;function et(e,t){return new RegExp(`^[A-Za-z0-9+/]{${e}}${t}$`)}function tt(e){return new RegExp(`^[A-Za-z0-9_-]{${e}}$`)}var vp=/^[0-9a-fA-F]{32}$/,kp=et(22,"=="),zp=tt(22),Sp=/^[0-9a-fA-F]{40}$/,Pp=et(27,"="),Ep=tt(27),Ip=/^[0-9a-fA-F]{64}$/,Tp=et(43,"="),Ap=tt(43),Rp=/^[0-9a-fA-F]{96}$/,Cp=et(64,""),Zp=tt(64),Np=/^[0-9a-fA-F]{128}$/,Op=et(86,"=="),jp=tt(86);var T=f("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Nc={number:"number",bigint:"bigint",object:"date"},jt=f("$ZodCheckLessThan",(e,t)=>{T.init(e,t);let r=Nc[typeof t.value];e._zod.onattach.push(n=>{let o=n._zod.bag,i=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<i&&(t.inclusive?o.maximum=t.value:o.exclusiveMaximum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:r,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Lt=f("$ZodCheckGreaterThan",(e,t)=>{T.init(e,t);let r=Nc[typeof t.value];e._zod.onattach.push(n=>{let o=n._zod.bag,i=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>i&&(t.inclusive?o.minimum=t.value:o.exclusiveMinimum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:r,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),On=f("$ZodCheckMultipleOf",(e,t)=>{T.init(e,t),e._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%t.value===BigInt(0):Or(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),jn=f("$ZodCheckNumberFormat",(e,t)=>{T.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[o,i]=Dr[t.format];e._zod.onattach.push(s=>{let c=s._zod.bag;c.format=t.format,c.minimum=o,c.maximum=i,r&&(c.pattern=Tn)}),e._zod.check=s=>{let c=s.value;if(r){if(!Number.isInteger(c)){s.issues.push({expected:n,format:t.format,code:"invalid_type",continue:!1,input:c,inst:e});return}if(!Number.isSafeInteger(c)){c>0?s.issues.push({input:c,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort}):s.issues.push({input:c,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort});return}}c<o&&s.issues.push({origin:"number",input:c,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),c>i&&s.issues.push({origin:"number",input:c,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),Ln=f("$ZodCheckBigIntFormat",(e,t)=>{T.init(e,t);let[r,n]=Ur[t.format];e._zod.onattach.push(o=>{let i=o._zod.bag;i.format=t.format,i.minimum=r,i.maximum=n}),e._zod.check=o=>{let i=o.value;i<r&&o.issues.push({origin:"bigint",input:i,code:"too_small",minimum:r,inclusive:!0,inst:e,continue:!t.abort}),i>n&&o.issues.push({origin:"bigint",input:i,code:"too_big",maximum:n,inclusive:!0,inst:e,continue:!t.abort})}}),Mn=f("$ZodCheckMaxSize",(e,t)=>{var r;T.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!ce(o)&&o.size!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(n._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let o=n.value;o.size<=t.maximum||n.issues.push({origin:Xe(o),code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Bn=f("$ZodCheckMinSize",(e,t)=>{var r;T.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!ce(o)&&o.size!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let o=n.value;o.size>=t.minimum||n.issues.push({origin:Xe(o),code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Dn=f("$ZodCheckSizeEquals",(e,t)=>{var r;T.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!ce(o)&&o.size!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=t.size,o.maximum=t.size,o.size=t.size}),e._zod.check=n=>{let o=n.value,i=o.size;if(i===t.size)return;let s=i>t.size;n.issues.push({origin:Xe(o),...s?{code:"too_big",maximum:t.size}:{code:"too_small",minimum:t.size},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Un=f("$ZodCheckMaxLength",(e,t)=>{var r;T.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!ce(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(n._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let o=n.value;if(o.length<=t.maximum)return;let s=Qe(o);n.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Fn=f("$ZodCheckMinLength",(e,t)=>{var r;T.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!ce(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let o=n.value;if(o.length>=t.minimum)return;let s=Qe(o);n.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Jn=f("$ZodCheckLengthEquals",(e,t)=>{var r;T.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!ce(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=n=>{let o=n.value,i=o.length;if(i===t.length)return;let s=Qe(o),c=i>t.length;n.issues.push({origin:s,...c?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Ne=f("$ZodCheckStringFormat",(e,t)=>{var r,n;T.init(e,t),e._zod.onattach.push(o=>{let i=o._zod.bag;i.format=t.format,t.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),Kn=f("$ZodCheckRegex",(e,t)=>{Ne.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Yn=f("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Zn),Ne.init(e,t)}),Gn=f("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Nn),Ne.init(e,t)}),qn=f("$ZodCheckIncludes",(e,t)=>{T.init(e,t);let r=V(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push(o=>{let i=o._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(n)}),e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Hn=f("$ZodCheckStartsWith",(e,t)=>{T.init(e,t);let r=new RegExp(`^${V(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Vn=f("$ZodCheckEndsWith",(e,t)=>{T.init(e,t);let r=new RegExp(`.*${V(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}});function Zc(e,t,r){e.issues.length&&t.issues.push(...G(r,e.issues))}var Wn=f("$ZodCheckProperty",(e,t)=>{T.init(e,t),e._zod.check=r=>{let n=t.schema._zod.run({value:r.value[t.property],issues:[]},{});if(n instanceof Promise)return n.then(o=>Zc(o,r,t.property));Zc(n,r,t.property)}}),Xn=f("$ZodCheckMimeType",(e,t)=>{T.init(e,t);let r=new Set(t.mime);e._zod.onattach.push(n=>{n._zod.bag.mime=t.mime}),e._zod.check=n=>{r.has(n.value.type)||n.issues.push({code:"invalid_value",values:t.mime,input:n.value.type,inst:e,continue:!t.abort})}}),Qn=f("$ZodCheckOverwrite",(e,t)=>{T.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});var rt=class{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let n=t.split(`
1
+ var Fl=Object.defineProperty;var xe=(e,t)=>{for(var r in t)Fl(e,r,{get:t[r],enumerable:!0})};import{resolve as ig}from"node:path";import{fileURLToPath as sg}from"node:url";function Ee(e){let t=Math.floor(e/1e3);if(t<60)return`${t}s`;let r=Math.floor(t/60),n=t%60;if(r<60)return n>0?`${r}m ${n}s`:`${r}m`;let o=Math.floor(r/60),i=r%60;return i>0?`${o}h ${i}m`:`${o}h`}import{execFileSync as ce}from"node:child_process";function Er(...e){return ce("git",e,{encoding:"utf8"}).trim()}function dc(){return Er("rev-parse","--abbrev-ref","HEAD")}function kt(){try{return ce("git",["diff","--quiet"],{stdio:"ignore"}),ce("git",["diff","--cached","--quiet"],{stdio:"ignore"}),!1}catch{return!0}}function Ye(e){try{return ce("git",["show-ref","--verify","--quiet",`refs/heads/${e}`],{stdio:"ignore"}),!0}catch{return!1}}function Ar(e,t){Ye(e)||Er("checkout","-b",e,t)}function Z(e,t=!1){Er("checkout",...t?["-B"]:[],e)}function mc(e){try{return ce("git",["ls-remote","--heads","origin",e],{encoding:"utf8",timeout:15e3}).trim().length>0}catch{return!1}}function vt(e){try{return ce("git",["fetch","origin",`${e}:${e}`],{encoding:"utf8",stdio:["pipe","pipe","pipe"]}),!0}catch{return!1}}function hc(e,t=8e3){try{let r=ce("git",["diff",`${e}...HEAD`,"--stat"],{encoding:"utf8",timeout:1e4}).trim();return r?r.length>t?r.slice(0,t)+`
2
+ ... (truncated)`:r:void 0}catch{return}}function Ge(e){try{return ce("git",["push","-u","origin",e],{encoding:"utf8",stdio:["pipe","pipe","pipe"]}),!0}catch{return!1}}var x=e=>`\x1B[2m${e}\x1B[0m`,Ae=e=>`\x1B[1m${e}\x1B[0m`;var N=e=>`\x1B[32m${e}\x1B[0m`,Te=e=>`\x1B[31m${e}\x1B[0m`,S=e=>`\x1B[33m${e}\x1B[0m`;function gc(e){return{argv:e,dryRun:e.includes("--dry-run"),skipFeasibility:e.includes("--skip-feasibility"),startTime:Date.now(),cwd:process.cwd(),isAfk:process.env.CLANCY_AFK_MODE==="1"}}import{mkdirSync as Jl,readFileSync as Yl,unlinkSync as _c,writeFileSync as Gl}from"node:fs";import{dirname as Kl,join as zt}from"node:path";function bc(e,t){let r=zt(e,".clancy","lock.json");Jl(Kl(r),{recursive:!0}),Gl(r,JSON.stringify(t,null,2),"utf8")}function St(e){let t=zt(e,".clancy","lock.json");try{let r=Yl(t,"utf8");return JSON.parse(r)}catch{return}}function Pt(e){let t=zt(e,".clancy","lock.json");try{_c(t)}catch{}}function It(e){let t=zt(e,".clancy","verify-attempt.txt");try{_c(t)}catch{}}function Hl(e){try{return process.kill(e,0),!0}catch(t){return t instanceof Error&&"code"in t&&t.code==="EPERM"}}function yc(e){if(!Hl(e.pid))return!0;let t=Date.now()-new Date(e.startedAt).getTime();if(Number.isNaN(t))return!0;let r=1440*60*1e3;return t>r}import{execFileSync as Mu}from"node:child_process";import{readFileSync as gh}from"node:fs";import{join as _h}from"node:path";var l={};xe(l,{$brand:()=>Rr,$input:()=>fi,$output:()=>pi,NEVER:()=>Tr,TimePrecision:()=>ji,ZodMiniAny:()=>Sa,ZodMiniArray:()=>Ta,ZodMiniBase64:()=>ba,ZodMiniBase64URL:()=>ya,ZodMiniBigInt:()=>ht,ZodMiniBigIntFormat:()=>Ds,ZodMiniBoolean:()=>mt,ZodMiniCIDRv4:()=>ha,ZodMiniCIDRv6:()=>ga,ZodMiniCUID:()=>aa,ZodMiniCUID2:()=>ua,ZodMiniCatch:()=>Va,ZodMiniCodec:()=>Ks,ZodMiniCustom:()=>Hs,ZodMiniCustomStringFormat:()=>ft,ZodMiniDate:()=>ir,ZodMiniDefault:()=>Ka,ZodMiniDiscriminatedUnion:()=>Za,ZodMiniE164:()=>$a,ZodMiniEmail:()=>oa,ZodMiniEmoji:()=>sa,ZodMiniEnum:()=>Fs,ZodMiniExactOptional:()=>Ya,ZodMiniFile:()=>Fa,ZodMiniFunction:()=>ou,ZodMiniGUID:()=>ia,ZodMiniIPv4:()=>da,ZodMiniIPv6:()=>ma,ZodMiniISODate:()=>lr,ZodMiniISODateTime:()=>ur,ZodMiniISODuration:()=>fr,ZodMiniISOTime:()=>pr,ZodMiniIntersection:()=>Na,ZodMiniJWT:()=>xa,ZodMiniKSUID:()=>fa,ZodMiniLazy:()=>eu,ZodMiniLiteral:()=>Ua,ZodMiniMAC:()=>_a,ZodMiniMap:()=>Ma,ZodMiniNaN:()=>Wa,ZodMiniNanoID:()=>ca,ZodMiniNever:()=>Ia,ZodMiniNonOptional:()=>Ys,ZodMiniNull:()=>va,ZodMiniNullable:()=>Ga,ZodMiniNumber:()=>dt,ZodMiniNumberFormat:()=>De,ZodMiniObject:()=>sr,ZodMiniOptional:()=>Js,ZodMiniPipe:()=>Gs,ZodMiniPrefault:()=>Ha,ZodMiniPromise:()=>ru,ZodMiniReadonly:()=>Qa,ZodMiniRecord:()=>cr,ZodMiniSet:()=>Ba,ZodMiniString:()=>Be,ZodMiniStringFormat:()=>T,ZodMiniSuccess:()=>qa,ZodMiniSymbol:()=>wa,ZodMiniTemplateLiteral:()=>Xa,ZodMiniTransform:()=>Ja,ZodMiniTuple:()=>La,ZodMiniType:()=>v,ZodMiniULID:()=>la,ZodMiniURL:()=>Bs,ZodMiniUUID:()=>pt,ZodMiniUndefined:()=>ka,ZodMiniUnion:()=>Us,ZodMiniUnknown:()=>Pa,ZodMiniVoid:()=>Aa,ZodMiniXID:()=>pa,ZodMiniXor:()=>Ca,_default:()=>bm,_function:()=>jm,any:()=>Gd,array:()=>F,base64:()=>Id,base64url:()=>Ed,bigint:()=>Dd,boolean:()=>Ue,catch:()=>wm,catchall:()=>om,check:()=>Em,cidrv4:()=>zd,cidrv6:()=>Sd,clone:()=>D,codec:()=>zm,coerce:()=>Vs,config:()=>O,core:()=>Me,cuid:()=>bd,cuid2:()=>yd,custom:()=>nu,date:()=>Hd,decode:()=>en,decodeAsync:()=>rn,describe:()=>Rm,discriminatedUnion:()=>sm,e164:()=>Ad,email:()=>ad,emoji:()=>gd,encode:()=>Xr,encodeAsync:()=>tn,endsWith:()=>zs,enum:()=>Da,exactOptional:()=>gm,extend:()=>gt,file:()=>mm,flattenError:()=>qr,float32:()=>jd,float64:()=>Od,formatError:()=>Vr,function:()=>jm,globalRegistry:()=>oe,gt:()=>er,gte:()=>at,guid:()=>ud,hash:()=>Nd,hex:()=>Zd,hostname:()=>Cd,httpUrl:()=>hd,includes:()=>ks,instanceof:()=>Zm,int:()=>Ld,int32:()=>Md,int64:()=>Ud,intersection:()=>cm,ipv4:()=>kd,ipv6:()=>vd,iso:()=>qs,json:()=>Lm,jwt:()=>Td,keyof:()=>qd,ksuid:()=>wd,lazy:()=>tu,length:()=>$s,literal:()=>dm,locales:()=>st,looseObject:()=>Wd,looseRecord:()=>um,lowercase:()=>xs,lt:()=>Xt,lte:()=>ct,mac:()=>Pd,map:()=>lm,maxLength:()=>ys,maxSize:()=>gs,maximum:()=>ct,merge:()=>Xd,meta:()=>Cm,mime:()=>Ps,minLength:()=>ut,minSize:()=>_s,minimum:()=>at,multipleOf:()=>hs,nan:()=>km,nanoid:()=>_d,nativeEnum:()=>fm,negative:()=>fs,never:()=>Ea,nonnegative:()=>ms,nonoptional:()=>$m,nonpositive:()=>ds,normalize:()=>Is,null:()=>za,nullable:()=>ar,nullish:()=>_m,number:()=>be,object:()=>I,omit:()=>tm,optional:()=>$,overwrite:()=>me,parse:()=>fe,parseAsync:()=>de,partial:()=>rm,partialRecord:()=>am,pick:()=>em,pipe:()=>vm,positive:()=>ps,prefault:()=>ym,prettifyError:()=>Qr,promise:()=>Im,property:()=>Ss,readonly:()=>Sm,record:()=>Oa,refine:()=>Am,regex:()=>lt,regexes:()=>ee,registry:()=>Wt,required:()=>nm,safeDecode:()=>on,safeDecodeAsync:()=>cn,safeEncode:()=>nn,safeEncodeAsync:()=>sn,safeExtend:()=>Qd,safeParse:()=>ke,safeParseAsync:()=>ve,set:()=>pm,size:()=>bs,startsWith:()=>vs,strictObject:()=>Vd,string:()=>y,stringFormat:()=>Rd,stringbool:()=>Nm,success:()=>xm,superRefine:()=>Tm,symbol:()=>Jd,templateLiteral:()=>Pm,toJSONSchema:()=>rr,toLowerCase:()=>As,toUpperCase:()=>Ts,transform:()=>hm,treeifyError:()=>Wr,trim:()=>Es,tuple:()=>ja,uint32:()=>Bd,uint64:()=>Fd,ulid:()=>$d,undefined:()=>Yd,union:()=>Ra,unknown:()=>or,uppercase:()=>ws,url:()=>md,util:()=>X,uuid:()=>ld,uuidv4:()=>pd,uuidv6:()=>fd,uuidv7:()=>dd,void:()=>Kd,xid:()=>xd,xor:()=>im});var Me={};xe(Me,{$ZodAny:()=>Zo,$ZodArray:()=>Mo,$ZodAsyncError:()=>te,$ZodBase64:()=>vo,$ZodBase64URL:()=>zo,$ZodBigInt:()=>Gt,$ZodBigIntFormat:()=>Ao,$ZodBoolean:()=>nt,$ZodCIDRv4:()=>xo,$ZodCIDRv6:()=>wo,$ZodCUID:()=>ao,$ZodCUID2:()=>uo,$ZodCatch:()=>ri,$ZodCheck:()=>A,$ZodCheckBigIntFormat:()=>On,$ZodCheckEndsWith:()=>Vn,$ZodCheckGreaterThan:()=>Mt,$ZodCheckIncludes:()=>Hn,$ZodCheckLengthEquals:()=>Jn,$ZodCheckLessThan:()=>Ot,$ZodCheckLowerCase:()=>Gn,$ZodCheckMaxLength:()=>Un,$ZodCheckMaxSize:()=>Mn,$ZodCheckMimeType:()=>Qn,$ZodCheckMinLength:()=>Fn,$ZodCheckMinSize:()=>Bn,$ZodCheckMultipleOf:()=>Ln,$ZodCheckNumberFormat:()=>jn,$ZodCheckOverwrite:()=>Xn,$ZodCheckProperty:()=>Wn,$ZodCheckRegex:()=>Yn,$ZodCheckSizeEquals:()=>Dn,$ZodCheckStartsWith:()=>qn,$ZodCheckStringFormat:()=>Le,$ZodCheckUpperCase:()=>Kn,$ZodCodec:()=>it,$ZodCustom:()=>li,$ZodCustomStringFormat:()=>Io,$ZodDate:()=>Oo,$ZodDefault:()=>Qo,$ZodDiscriminatedUnion:()=>Do,$ZodE164:()=>So,$ZodEmail:()=>oo,$ZodEmoji:()=>so,$ZodEncodeError:()=>Re,$ZodEnum:()=>Go,$ZodError:()=>Hr,$ZodExactOptional:()=>Vo,$ZodFile:()=>Ho,$ZodFunction:()=>ci,$ZodGUID:()=>ro,$ZodIPv4:()=>bo,$ZodIPv6:()=>yo,$ZodISODate:()=>ho,$ZodISODateTime:()=>mo,$ZodISODuration:()=>_o,$ZodISOTime:()=>go,$ZodIntersection:()=>Uo,$ZodJWT:()=>Po,$ZodKSUID:()=>fo,$ZodLazy:()=>ui,$ZodLiteral:()=>Ko,$ZodMAC:()=>$o,$ZodMap:()=>Jo,$ZodNaN:()=>ni,$ZodNanoID:()=>co,$ZodNever:()=>Lo,$ZodNonOptional:()=>ei,$ZodNull:()=>Co,$ZodNullable:()=>Wo,$ZodNumber:()=>Yt,$ZodNumberFormat:()=>Eo,$ZodObject:()=>Kt,$ZodObjectJIT:()=>Jp,$ZodOptional:()=>qt,$ZodPipe:()=>oi,$ZodPrefault:()=>Xo,$ZodPromise:()=>ai,$ZodReadonly:()=>ii,$ZodRealError:()=>H,$ZodRecord:()=>Fo,$ZodRegistry:()=>Vt,$ZodSet:()=>Yo,$ZodString:()=>je,$ZodStringFormat:()=>E,$ZodSuccess:()=>ti,$ZodSymbol:()=>To,$ZodTemplateLiteral:()=>si,$ZodTransform:()=>qo,$ZodTuple:()=>Ht,$ZodType:()=>w,$ZodULID:()=>lo,$ZodURL:()=>io,$ZodUUID:()=>no,$ZodUndefined:()=>Ro,$ZodUnion:()=>ot,$ZodUnknown:()=>No,$ZodVoid:()=>jo,$ZodXID:()=>po,$ZodXor:()=>Bo,$brand:()=>Rr,$constructor:()=>f,$input:()=>fi,$output:()=>pi,Doc:()=>rt,JSONSchema:()=>na,JSONSchemaGenerator:()=>nr,NEVER:()=>Tr,TimePrecision:()=>ji,_any:()=>os,_array:()=>qp,_base64:()=>Ci,_base64url:()=>Zi,_bigint:()=>Wi,_boolean:()=>qi,_catch:()=>mf,_check:()=>ra,_cidrv4:()=>Ti,_cidrv6:()=>Ri,_coercedBigint:()=>Qi,_coercedBoolean:()=>Vi,_coercedDate:()=>us,_coercedNumber:()=>Fi,_coercedString:()=>mi,_cuid:()=>ki,_cuid2:()=>vi,_custom:()=>Cs,_date:()=>as,_decode:()=>Pc,_decodeAsync:()=>Ec,_default:()=>pf,_discriminatedUnion:()=>Qp,_e164:()=>Ni,_email:()=>hi,_emoji:()=>xi,_encode:()=>Sc,_encodeAsync:()=>Ic,_endsWith:()=>zs,_enum:()=>of,_file:()=>Rs,_float32:()=>Yi,_float64:()=>Gi,_gt:()=>er,_gte:()=>at,_guid:()=>gi,_includes:()=>ks,_int:()=>Ji,_int32:()=>Ki,_int64:()=>Xi,_intersection:()=>Xp,_ipv4:()=>Ii,_ipv6:()=>Ei,_isoDate:()=>Mi,_isoDateTime:()=>Oi,_isoDuration:()=>Di,_isoTime:()=>Bi,_jwt:()=>Li,_ksuid:()=>Pi,_lazy:()=>bf,_length:()=>$s,_literal:()=>cf,_lowercase:()=>xs,_lt:()=>Xt,_lte:()=>ct,_mac:()=>Ai,_map:()=>rf,_max:()=>ct,_maxLength:()=>ys,_maxSize:()=>gs,_mime:()=>Ps,_min:()=>at,_minLength:()=>ut,_minSize:()=>_s,_multipleOf:()=>hs,_nan:()=>ls,_nanoid:()=>wi,_nativeEnum:()=>sf,_negative:()=>fs,_never:()=>ss,_nonnegative:()=>ms,_nonoptional:()=>ff,_nonpositive:()=>ds,_normalize:()=>Is,_null:()=>ns,_nullable:()=>lf,_number:()=>Ui,_optional:()=>uf,_overwrite:()=>me,_parse:()=>Rt,_parseAsync:()=>Ct,_pipe:()=>hf,_positive:()=>ps,_promise:()=>yf,_property:()=>Ss,_readonly:()=>gf,_record:()=>tf,_refine:()=>Zs,_regex:()=>lt,_safeDecode:()=>Tc,_safeDecodeAsync:()=>Cc,_safeEncode:()=>Ac,_safeEncodeAsync:()=>Rc,_safeParse:()=>Zt,_safeParseAsync:()=>Nt,_set:()=>nf,_size:()=>bs,_slugify:()=>Hp,_startsWith:()=>vs,_string:()=>di,_stringFormat:()=>Oe,_stringbool:()=>Os,_success:()=>df,_superRefine:()=>Ns,_symbol:()=>ts,_templateLiteral:()=>_f,_toLowerCase:()=>As,_toUpperCase:()=>Ts,_transform:()=>af,_trim:()=>Es,_tuple:()=>ef,_uint32:()=>Hi,_uint64:()=>es,_ulid:()=>zi,_undefined:()=>rs,_union:()=>Vp,_unknown:()=>is,_uppercase:()=>ws,_url:()=>Qt,_uuid:()=>_i,_uuidv4:()=>bi,_uuidv6:()=>yi,_uuidv7:()=>$i,_void:()=>cs,_xid:()=>Si,_xor:()=>Wp,clone:()=>D,config:()=>O,createStandardJSONSchemaMethod:()=>Ms,createToJSONSchemaMethod:()=>$f,decode:()=>en,decodeAsync:()=>rn,describe:()=>Ls,encode:()=>Xr,encodeAsync:()=>tn,extractDefs:()=>ge,finalize:()=>_e,flattenError:()=>qr,formatError:()=>Vr,globalConfig:()=>Ke,globalRegistry:()=>oe,initializeContext:()=>he,isValidBase64:()=>ko,isValidBase64URL:()=>Wc,isValidJWT:()=>Qc,locales:()=>st,meta:()=>js,parse:()=>fe,parseAsync:()=>de,prettifyError:()=>Qr,process:()=>P,regexes:()=>ee,registry:()=>Wt,safeDecode:()=>on,safeDecodeAsync:()=>cn,safeEncode:()=>nn,safeEncodeAsync:()=>sn,safeParse:()=>ke,safeParseAsync:()=>ve,toDotPath:()=>zc,toJSONSchema:()=>rr,treeifyError:()=>Wr,util:()=>X,version:()=>eo});var Tr=Object.freeze({status:"aborted"});function f(e,t,r){function n(c,a){if(c._zod||Object.defineProperty(c,"_zod",{value:{def:a,constr:s,traits:new Set},enumerable:!1}),c._zod.traits.has(e))return;c._zod.traits.add(e),t(c,a);let u=s.prototype,p=Object.keys(u);for(let d=0;d<p.length;d++){let m=p[d];m in c||(c[m]=u[m].bind(c))}}let o=r?.Parent??Object;class i extends o{}Object.defineProperty(i,"name",{value:e});function s(c){var a;let u=r?.Parent?new i:this;n(u,c),(a=u._zod).deferred??(a.deferred=[]);for(let p of u._zod.deferred)p();return u}return Object.defineProperty(s,"init",{value:n}),Object.defineProperty(s,Symbol.hasInstance,{value:c=>r?.Parent&&c instanceof r.Parent?!0:c?._zod?.traits?.has(e)}),Object.defineProperty(s,"name",{value:e}),s}var Rr=Symbol("zod_brand"),te=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Re=class extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}},Ke={};function O(e){return e&&Object.assign(Ke,e),Ke}var X={};xe(X,{BIGINT_FORMAT_RANGES:()=>Ur,Class:()=>Zr,NUMBER_FORMAT_RANGES:()=>Dr,aborted:()=>pe,allowsEval:()=>Or,assert:()=>Xl,assertEqual:()=>ql,assertIs:()=>Wl,assertNever:()=>Ql,assertNotEqual:()=>Vl,assignProp:()=>ue,base64ToUint8Array:()=>wc,base64urlToUint8Array:()=>fp,cached:()=>Ce,captureStackTrace:()=>At,cleanEnum:()=>pp,cleanRegex:()=>Ve,clone:()=>D,cloneDef:()=>rp,createTransparentProxy:()=>ap,defineLazy:()=>k,esc:()=>Et,escapeRegex:()=>Q,extend:()=>Tt,finalizeIssue:()=>K,floatSafeRemainder:()=>Lr,getElementAtPath:()=>np,getEnumValues:()=>qe,getLengthableOrigin:()=>Xe,getParsedType:()=>cp,getSizableOrigin:()=>Qe,hexToUint8Array:()=>mp,isObject:()=>we,isPlainObject:()=>le,issue:()=>Ne,joinValues:()=>ep,jsonStringifyReplacer:()=>Nr,merge:()=>up,mergeDefs:()=>ie,normalizeParams:()=>g,nullish:()=>ae,numKeys:()=>sp,objectClone:()=>tp,omit:()=>Jr,optionalKeys:()=>Br,parsedType:()=>lp,partial:()=>Gr,pick:()=>Fr,prefixIssues:()=>V,primitiveTypes:()=>Mr,promiseAllObject:()=>op,propertyKeyTypes:()=>We,randomString:()=>ip,required:()=>Kr,safeExtend:()=>Yr,shallowClone:()=>Ze,slugify:()=>jr,stringifyPrimitive:()=>xc,uint8ArrayToBase64:()=>kc,uint8ArrayToBase64url:()=>dp,uint8ArrayToHex:()=>hp,unwrapMessage:()=>He});function ql(e){return e}function Vl(e){return e}function Wl(e){}function Ql(e){throw new Error("Unexpected value in exhaustive check")}function Xl(e){}function qe(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,o])=>t.indexOf(+n)===-1).map(([n,o])=>o)}function ep(e,t="|"){return e.map(r=>xc(r)).join(t)}function Nr(e,t){return typeof t=="bigint"?t.toString():t}function Ce(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function ae(e){return e==null}function Ve(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function Lr(e,t){let r=(e.toString().split(".")[1]||"").length,n=t.toString(),o=(n.split(".")[1]||"").length;if(o===0&&/\d?e-\d?/.test(n)){let a=n.match(/\d?e-(\d?)/);a?.[1]&&(o=Number.parseInt(a[1]))}let i=r>o?r:o,s=Number.parseInt(e.toFixed(i).replace(".","")),c=Number.parseInt(t.toFixed(i).replace(".",""));return s%c/10**i}var $c=Symbol("evaluating");function k(e,t,r){let n;Object.defineProperty(e,t,{get(){if(n!==$c)return n===void 0&&(n=$c,n=r()),n},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function tp(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function ue(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function ie(...e){let t={};for(let r of e){let n=Object.getOwnPropertyDescriptors(r);Object.assign(t,n)}return Object.defineProperties({},t)}function rp(e){return ie(e._zod.def)}function np(e,t){return t?t.reduce((r,n)=>r?.[n],e):e}function op(e){let t=Object.keys(e),r=t.map(n=>e[n]);return Promise.all(r).then(n=>{let o={};for(let i=0;i<t.length;i++)o[t[i]]=n[i];return o})}function ip(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<e;n++)r+=t[Math.floor(Math.random()*t.length)];return r}function Et(e){return JSON.stringify(e)}function jr(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var At="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function we(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Or=Ce(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function le(e){if(we(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let r=t.prototype;return!(we(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Ze(e){return le(e)?{...e}:Array.isArray(e)?[...e]:e}function sp(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}var cp=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},We=new Set(["string","number","symbol"]),Mr=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Q(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function D(e,t,r){let n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function g(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function ap(e){let t;return new Proxy({},{get(r,n,o){return t??(t=e()),Reflect.get(t,n,o)},set(r,n,o,i){return t??(t=e()),Reflect.set(t,n,o,i)},has(r,n){return t??(t=e()),Reflect.has(t,n)},deleteProperty(r,n){return t??(t=e()),Reflect.deleteProperty(t,n)},ownKeys(r){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(r,n){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,n)},defineProperty(r,n,o){return t??(t=e()),Reflect.defineProperty(t,n,o)}})}function xc(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function Br(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Dr={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]},Ur={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Fr(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let i=ie(e._zod.def,{get shape(){let s={};for(let c in t){if(!(c in r.shape))throw new Error(`Unrecognized key: "${c}"`);t[c]&&(s[c]=r.shape[c])}return ue(this,"shape",s),s},checks:[]});return D(e,i)}function Jr(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let i=ie(e._zod.def,{get shape(){let s={...e._zod.def.shape};for(let c in t){if(!(c in r.shape))throw new Error(`Unrecognized key: "${c}"`);t[c]&&delete s[c]}return ue(this,"shape",s),s},checks:[]});return D(e,i)}function Tt(e,t){if(!le(t))throw new Error("Invalid input to extend: expected a plain object");let r=e._zod.def.checks;if(r&&r.length>0){let i=e._zod.def.shape;for(let s in t)if(Object.getOwnPropertyDescriptor(i,s)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let o=ie(e._zod.def,{get shape(){let i={...e._zod.def.shape,...t};return ue(this,"shape",i),i}});return D(e,o)}function Yr(e,t){if(!le(t))throw new Error("Invalid input to safeExtend: expected a plain object");let r=ie(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return ue(this,"shape",n),n}});return D(e,r)}function up(e,t){let r=ie(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return ue(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:[]});return D(e,r)}function Gr(e,t,r){let o=t._zod.def.checks;if(o&&o.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let s=ie(t._zod.def,{get shape(){let c=t._zod.def.shape,a={...c};if(r)for(let u in r){if(!(u in c))throw new Error(`Unrecognized key: "${u}"`);r[u]&&(a[u]=e?new e({type:"optional",innerType:c[u]}):c[u])}else for(let u in c)a[u]=e?new e({type:"optional",innerType:c[u]}):c[u];return ue(this,"shape",a),a},checks:[]});return D(t,s)}function Kr(e,t,r){let n=ie(t._zod.def,{get shape(){let o=t._zod.def.shape,i={...o};if(r)for(let s in r){if(!(s in i))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(i[s]=new e({type:"nonoptional",innerType:o[s]}))}else for(let s in o)i[s]=new e({type:"nonoptional",innerType:o[s]});return ue(this,"shape",i),i}});return D(t,n)}function pe(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function V(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function He(e){return typeof e=="string"?e:e?.message}function K(e,t,r){let n={...e,path:e.path??[]};if(!e.message){let o=He(e.inst?._zod.def?.error?.(e))??He(t?.error?.(e))??He(r.customError?.(e))??He(r.localeError?.(e))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function Qe(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function Xe(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function lp(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let r=e;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return t}function Ne(...e){let[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}function pp(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}function wc(e){let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function kc(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}function fp(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r="=".repeat((4-t.length%4)%4);return wc(t+r)}function dp(e){return kc(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function mp(e){let t=e.replace(/^0x/,"");if(t.length%2!==0)throw new Error("Invalid hex string length");let r=new Uint8Array(t.length/2);for(let n=0;n<t.length;n+=2)r[n/2]=Number.parseInt(t.slice(n,n+2),16);return r}function hp(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}var Zr=class{constructor(...t){}};var vc=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,Nr,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Hr=f("$ZodError",vc),H=f("$ZodError",vc,{Parent:Error});function qr(e,t=r=>r.message){let r={},n=[];for(let o of e.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(t(o))):n.push(t(o));return{formErrors:n,fieldErrors:r}}function Vr(e,t=r=>r.message){let r={_errors:[]},n=o=>{for(let i of o.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(s=>n({issues:s}));else if(i.code==="invalid_key")n({issues:i.issues});else if(i.code==="invalid_element")n({issues:i.issues});else if(i.path.length===0)r._errors.push(t(i));else{let s=r,c=0;for(;c<i.path.length;){let a=i.path[c];c===i.path.length-1?(s[a]=s[a]||{_errors:[]},s[a]._errors.push(t(i))):s[a]=s[a]||{_errors:[]},s=s[a],c++}}};return n(e),r}function Wr(e,t=r=>r.message){let r={errors:[]},n=(o,i=[])=>{var s,c;for(let a of o.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(u=>n({issues:u},a.path));else if(a.code==="invalid_key")n({issues:a.issues},a.path);else if(a.code==="invalid_element")n({issues:a.issues},a.path);else{let u=[...i,...a.path];if(u.length===0){r.errors.push(t(a));continue}let p=r,d=0;for(;d<u.length;){let m=u[d],h=d===u.length-1;typeof m=="string"?(p.properties??(p.properties={}),(s=p.properties)[m]??(s[m]={errors:[]}),p=p.properties[m]):(p.items??(p.items=[]),(c=p.items)[m]??(c[m]={errors:[]}),p=p.items[m]),h&&p.errors.push(t(a)),d++}}};return n(e),r}function zc(e){let t=[],r=e.map(n=>typeof n=="object"?n.key:n);for(let n of r)typeof n=="number"?t.push(`[${n}]`):typeof n=="symbol"?t.push(`[${JSON.stringify(String(n))}]`):/[^\w$]/.test(n)?t.push(`[${JSON.stringify(n)}]`):(t.length&&t.push("."),t.push(n));return t.join("")}function Qr(e){let t=[],r=[...e.issues].sort((n,o)=>(n.path??[]).length-(o.path??[]).length);for(let n of r)t.push(`\u2716 ${n.message}`),n.path?.length&&t.push(` \u2192 at ${zc(n.path)}`);return t.join(`
3
+ `)}var Rt=e=>(t,r,n,o)=>{let i=n?Object.assign(n,{async:!1}):{async:!1},s=t._zod.run({value:r,issues:[]},i);if(s instanceof Promise)throw new te;if(s.issues.length){let c=new(o?.Err??e)(s.issues.map(a=>K(a,i,O())));throw At(c,o?.callee),c}return s.value},fe=Rt(H),Ct=e=>async(t,r,n,o)=>{let i=n?Object.assign(n,{async:!0}):{async:!0},s=t._zod.run({value:r,issues:[]},i);if(s instanceof Promise&&(s=await s),s.issues.length){let c=new(o?.Err??e)(s.issues.map(a=>K(a,i,O())));throw At(c,o?.callee),c}return s.value},de=Ct(H),Zt=e=>(t,r,n)=>{let o=n?{...n,async:!1}:{async:!1},i=t._zod.run({value:r,issues:[]},o);if(i instanceof Promise)throw new te;return i.issues.length?{success:!1,error:new(e??Hr)(i.issues.map(s=>K(s,o,O())))}:{success:!0,data:i.value}},ke=Zt(H),Nt=e=>async(t,r,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},i=t._zod.run({value:r,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(s=>K(s,o,O())))}:{success:!0,data:i.value}},ve=Nt(H),Sc=e=>(t,r,n)=>{let o=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Rt(e)(t,r,o)},Xr=Sc(H),Pc=e=>(t,r,n)=>Rt(e)(t,r,n),en=Pc(H),Ic=e=>async(t,r,n)=>{let o=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Ct(e)(t,r,o)},tn=Ic(H),Ec=e=>async(t,r,n)=>Ct(e)(t,r,n),rn=Ec(H),Ac=e=>(t,r,n)=>{let o=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Zt(e)(t,r,o)},nn=Ac(H),Tc=e=>(t,r,n)=>Zt(e)(t,r,n),on=Tc(H),Rc=e=>async(t,r,n)=>{let o=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Nt(e)(t,r,o)},sn=Rc(H),Cc=e=>async(t,r,n)=>Nt(e)(t,r,n),cn=Cc(H);var ee={};xe(ee,{base64:()=>kn,base64url:()=>Lt,bigint:()=>En,boolean:()=>Tn,browserEmail:()=>vp,cidrv4:()=>xn,cidrv6:()=>wn,cuid:()=>an,cuid2:()=>un,date:()=>zn,datetime:()=>Pn,domain:()=>Pp,duration:()=>mn,e164:()=>vn,email:()=>gn,emoji:()=>_n,extendedDuration:()=>_p,guid:()=>hn,hex:()=>Ip,hostname:()=>Sp,html5Email:()=>xp,idnEmail:()=>kp,integer:()=>An,ipv4:()=>bn,ipv6:()=>yn,ksuid:()=>fn,lowercase:()=>Zn,mac:()=>$n,md5_base64:()=>Ap,md5_base64url:()=>Tp,md5_hex:()=>Ep,nanoid:()=>dn,null:()=>Rn,number:()=>jt,rfc5322Email:()=>wp,sha1_base64:()=>Cp,sha1_base64url:()=>Zp,sha1_hex:()=>Rp,sha256_base64:()=>Lp,sha256_base64url:()=>jp,sha256_hex:()=>Np,sha384_base64:()=>Mp,sha384_base64url:()=>Bp,sha384_hex:()=>Op,sha512_base64:()=>Up,sha512_base64url:()=>Fp,sha512_hex:()=>Dp,string:()=>In,time:()=>Sn,ulid:()=>ln,undefined:()=>Cn,unicodeEmail:()=>Zc,uppercase:()=>Nn,uuid:()=>ze,uuid4:()=>bp,uuid6:()=>yp,uuid7:()=>$p,xid:()=>pn});var an=/^[cC][^\s-]{8,}$/,un=/^[0-9a-z]+$/,ln=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,pn=/^[0-9a-vA-V]{20}$/,fn=/^[A-Za-z0-9]{27}$/,dn=/^[a-zA-Z0-9_-]{21}$/,mn=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,_p=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,hn=/^([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})$/,ze=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)$/,bp=ze(4),yp=ze(6),$p=ze(7),gn=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,xp=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,wp=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,Zc=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,kp=Zc,vp=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,zp="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function _n(){return new RegExp(zp,"u")}var bn=/^(?:(?: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])$/,yn=/^(([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}|:))$/,$n=e=>{let t=Q(e??":");return new RegExp(`^(?:[0-9A-F]{2}${t}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${t}){5}[0-9a-f]{2}$`)},xn=/^((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])$/,wn=/^(([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])$/,kn=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Lt=/^[A-Za-z0-9_-]*$/,Sp=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,Pp=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,vn=/^\+[1-9]\d{6,14}$/,Nc="(?:(?:\\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])))",zn=new RegExp(`^${Nc}$`);function Lc(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Sn(e){return new RegExp(`^${Lc(e)}$`)}function Pn(e){let t=Lc({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let n=`${t}(?:${r.join("|")})`;return new RegExp(`^${Nc}T(?:${n})$`)}var In=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},En=/^-?\d+n?$/,An=/^-?\d+$/,jt=/^-?\d+(?:\.\d+)?$/,Tn=/^(?:true|false)$/i,Rn=/^null$/i;var Cn=/^undefined$/i;var Zn=/^[^A-Z]*$/,Nn=/^[^a-z]*$/,Ip=/^[0-9a-fA-F]*$/;function et(e,t){return new RegExp(`^[A-Za-z0-9+/]{${e}}${t}$`)}function tt(e){return new RegExp(`^[A-Za-z0-9_-]{${e}}$`)}var Ep=/^[0-9a-fA-F]{32}$/,Ap=et(22,"=="),Tp=tt(22),Rp=/^[0-9a-fA-F]{40}$/,Cp=et(27,"="),Zp=tt(27),Np=/^[0-9a-fA-F]{64}$/,Lp=et(43,"="),jp=tt(43),Op=/^[0-9a-fA-F]{96}$/,Mp=et(64,""),Bp=tt(64),Dp=/^[0-9a-fA-F]{128}$/,Up=et(86,"=="),Fp=tt(86);var A=f("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Oc={number:"number",bigint:"bigint",object:"date"},Ot=f("$ZodCheckLessThan",(e,t)=>{A.init(e,t);let r=Oc[typeof t.value];e._zod.onattach.push(n=>{let o=n._zod.bag,i=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<i&&(t.inclusive?o.maximum=t.value:o.exclusiveMaximum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:r,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Mt=f("$ZodCheckGreaterThan",(e,t)=>{A.init(e,t);let r=Oc[typeof t.value];e._zod.onattach.push(n=>{let o=n._zod.bag,i=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>i&&(t.inclusive?o.minimum=t.value:o.exclusiveMinimum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:r,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ln=f("$ZodCheckMultipleOf",(e,t)=>{A.init(e,t),e._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%t.value===BigInt(0):Lr(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),jn=f("$ZodCheckNumberFormat",(e,t)=>{A.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[o,i]=Dr[t.format];e._zod.onattach.push(s=>{let c=s._zod.bag;c.format=t.format,c.minimum=o,c.maximum=i,r&&(c.pattern=An)}),e._zod.check=s=>{let c=s.value;if(r){if(!Number.isInteger(c)){s.issues.push({expected:n,format:t.format,code:"invalid_type",continue:!1,input:c,inst:e});return}if(!Number.isSafeInteger(c)){c>0?s.issues.push({input:c,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort}):s.issues.push({input:c,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort});return}}c<o&&s.issues.push({origin:"number",input:c,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),c>i&&s.issues.push({origin:"number",input:c,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),On=f("$ZodCheckBigIntFormat",(e,t)=>{A.init(e,t);let[r,n]=Ur[t.format];e._zod.onattach.push(o=>{let i=o._zod.bag;i.format=t.format,i.minimum=r,i.maximum=n}),e._zod.check=o=>{let i=o.value;i<r&&o.issues.push({origin:"bigint",input:i,code:"too_small",minimum:r,inclusive:!0,inst:e,continue:!t.abort}),i>n&&o.issues.push({origin:"bigint",input:i,code:"too_big",maximum:n,inclusive:!0,inst:e,continue:!t.abort})}}),Mn=f("$ZodCheckMaxSize",(e,t)=>{var r;A.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!ae(o)&&o.size!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(n._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let o=n.value;o.size<=t.maximum||n.issues.push({origin:Qe(o),code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Bn=f("$ZodCheckMinSize",(e,t)=>{var r;A.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!ae(o)&&o.size!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let o=n.value;o.size>=t.minimum||n.issues.push({origin:Qe(o),code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Dn=f("$ZodCheckSizeEquals",(e,t)=>{var r;A.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!ae(o)&&o.size!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=t.size,o.maximum=t.size,o.size=t.size}),e._zod.check=n=>{let o=n.value,i=o.size;if(i===t.size)return;let s=i>t.size;n.issues.push({origin:Qe(o),...s?{code:"too_big",maximum:t.size}:{code:"too_small",minimum:t.size},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Un=f("$ZodCheckMaxLength",(e,t)=>{var r;A.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!ae(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(n._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let o=n.value;if(o.length<=t.maximum)return;let s=Xe(o);n.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Fn=f("$ZodCheckMinLength",(e,t)=>{var r;A.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!ae(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let o=n.value;if(o.length>=t.minimum)return;let s=Xe(o);n.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Jn=f("$ZodCheckLengthEquals",(e,t)=>{var r;A.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!ae(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=n=>{let o=n.value,i=o.length;if(i===t.length)return;let s=Xe(o),c=i>t.length;n.issues.push({origin:s,...c?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Le=f("$ZodCheckStringFormat",(e,t)=>{var r,n;A.init(e,t),e._zod.onattach.push(o=>{let i=o._zod.bag;i.format=t.format,t.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),Yn=f("$ZodCheckRegex",(e,t)=>{Le.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Gn=f("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Zn),Le.init(e,t)}),Kn=f("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Nn),Le.init(e,t)}),Hn=f("$ZodCheckIncludes",(e,t)=>{A.init(e,t);let r=Q(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push(o=>{let i=o._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(n)}),e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),qn=f("$ZodCheckStartsWith",(e,t)=>{A.init(e,t);let r=new RegExp(`^${Q(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Vn=f("$ZodCheckEndsWith",(e,t)=>{A.init(e,t);let r=new RegExp(`.*${Q(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}});function jc(e,t,r){e.issues.length&&t.issues.push(...V(r,e.issues))}var Wn=f("$ZodCheckProperty",(e,t)=>{A.init(e,t),e._zod.check=r=>{let n=t.schema._zod.run({value:r.value[t.property],issues:[]},{});if(n instanceof Promise)return n.then(o=>jc(o,r,t.property));jc(n,r,t.property)}}),Qn=f("$ZodCheckMimeType",(e,t)=>{A.init(e,t);let r=new Set(t.mime);e._zod.onattach.push(n=>{n._zod.bag.mime=t.mime}),e._zod.check=n=>{r.has(n.value.type)||n.issues.push({code:"invalid_value",values:t.mime,input:n.value.type,inst:e,continue:!t.abort})}}),Xn=f("$ZodCheckOverwrite",(e,t)=>{A.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});var rt=class{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let n=t.split(`
4
4
  `).filter(s=>s),o=Math.min(...n.map(s=>s.length-s.trimStart().length)),i=n.map(s=>s.slice(o)).map(s=>" ".repeat(this.indent*2)+s);for(let s of i)this.content.push(s)}compile(){let t=Function,r=this?.args,o=[...(this?.content??[""]).map(i=>` ${i}`)];return new t(...r,o.join(`
5
- `))}};var eo={major:4,minor:3,patch:6};var w=f("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=eo;let n=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&n.unshift(e);for(let o of n)for(let i of o._zod.onattach)i(e);if(n.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let o=(s,c,a)=>{let u=le(s),l;for(let d of c){if(d._zod.def.when){if(!d._zod.def.when(s))continue}else if(u)continue;let m=s.issues.length,h=d._zod.check(s);if(h instanceof Promise&&a?.async===!1)throw new ee;if(l||h instanceof Promise)l=(l??Promise.resolve()).then(async()=>{await h,s.issues.length!==m&&(u||(u=le(s,m)))});else{if(s.issues.length===m)continue;u||(u=le(s,m))}}return l?l.then(()=>s):s},i=(s,c,a)=>{if(le(s))return s.aborted=!0,s;let u=o(c,n,a);if(u instanceof Promise){if(a.async===!1)throw new ee;return u.then(l=>e._zod.parse(l,a))}return e._zod.parse(u,a)};e._zod.run=(s,c)=>{if(c.skipChecks)return e._zod.parse(s,c);if(c.direction==="backward"){let u=e._zod.parse({value:s.value,issues:[]},{...c,skipChecks:!0});return u instanceof Promise?u.then(l=>i(l,s,c)):i(u,s,c)}let a=e._zod.parse(s,c);if(a instanceof Promise){if(c.async===!1)throw new ee;return a.then(u=>o(u,n,c))}return o(a,n,c)}}v(e,"~standard",()=>({validate:o=>{try{let i=we(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return ve(e,o).then(s=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}))}),Oe=f("$ZodString",(e,t)=>{w.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??En(e._zod.bag),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),I=f("$ZodStringFormat",(e,t)=>{Ne.init(e,t),Oe.init(e,t)}),ro=f("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=hn),I.init(e,t)}),no=f("$ZodUUID",(e,t)=>{if(t.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=ke(n))}else t.pattern??(t.pattern=ke());I.init(e,t)}),oo=f("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=gn),I.init(e,t)}),io=f("$ZodURL",(e,t)=>{I.init(e,t),e._zod.check=r=>{try{let n=r.value.trim(),o=new URL(n);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(o.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:r.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})),t.normalize?r.value=o.href:r.value=n;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),so=f("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=_n()),I.init(e,t)}),co=f("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=dn),I.init(e,t)}),ao=f("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=an),I.init(e,t)}),uo=f("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=un),I.init(e,t)}),lo=f("$ZodULID",(e,t)=>{t.pattern??(t.pattern=ln),I.init(e,t)}),po=f("$ZodXID",(e,t)=>{t.pattern??(t.pattern=pn),I.init(e,t)}),fo=f("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=fn),I.init(e,t)}),mo=f("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Pn(t)),I.init(e,t)}),ho=f("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=zn),I.init(e,t)}),go=f("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Sn(t)),I.init(e,t)}),_o=f("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=mn),I.init(e,t)}),yo=f("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=yn),I.init(e,t),e._zod.bag.format="ipv4"}),bo=f("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=bn),I.init(e,t),e._zod.bag.format="ipv6",e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}}}),$o=f("$ZodMAC",(e,t)=>{t.pattern??(t.pattern=$n(t.delimiter)),I.init(e,t),e._zod.bag.format="mac"}),xo=f("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=xn),I.init(e,t)}),wo=f("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=wn),I.init(e,t),e._zod.check=r=>{let n=r.value.split("/");try{if(n.length!==2)throw new Error;let[o,i]=n;if(!i)throw new Error;let s=Number(i);if(`${s}`!==i)throw new Error;if(s<0||s>128)throw new Error;new URL(`http://[${o}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}}});function vo(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var ko=f("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=vn),I.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=r=>{vo(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function qc(e){if(!Nt.test(e))return!1;let t=e.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return vo(r)}var zo=f("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Nt),I.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=r=>{qc(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),So=f("$ZodE164",(e,t)=>{t.pattern??(t.pattern=kn),I.init(e,t)});function Hc(e,t=null){try{let r=e.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let o=JSON.parse(atob(n));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}var Po=f("$ZodJWT",(e,t)=>{I.init(e,t),e._zod.check=r=>{Hc(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}}),Eo=f("$ZodCustomStringFormat",(e,t)=>{I.init(e,t),e._zod.check=r=>{t.fn(r.value)||r.issues.push({code:"invalid_format",format:t.format,input:r.value,inst:e,continue:!t.abort})}}),Jt=f("$ZodNumber",(e,t)=>{w.init(e,t),e._zod.pattern=e._zod.bag.pattern??Ot,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch{}let o=r.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let i=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...i?{received:i}:{}}),r}}),Io=f("$ZodNumberFormat",(e,t)=>{jn.init(e,t),Jt.init(e,t)}),nt=f("$ZodBoolean",(e,t)=>{w.init(e,t),e._zod.pattern=An,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=!!r.value}catch{}let o=r.value;return typeof o=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),r}}),Kt=f("$ZodBigInt",(e,t)=>{w.init(e,t),e._zod.pattern=In,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=BigInt(r.value)}catch{}return typeof r.value=="bigint"||r.issues.push({expected:"bigint",code:"invalid_type",input:r.value,inst:e}),r}}),To=f("$ZodBigIntFormat",(e,t)=>{Ln.init(e,t),Kt.init(e,t)}),Ao=f("$ZodSymbol",(e,t)=>{w.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;return typeof o=="symbol"||r.issues.push({expected:"symbol",code:"invalid_type",input:o,inst:e}),r}}),Ro=f("$ZodUndefined",(e,t)=>{w.init(e,t),e._zod.pattern=Cn,e._zod.values=new Set([void 0]),e._zod.optin="optional",e._zod.optout="optional",e._zod.parse=(r,n)=>{let o=r.value;return typeof o>"u"||r.issues.push({expected:"undefined",code:"invalid_type",input:o,inst:e}),r}}),Co=f("$ZodNull",(e,t)=>{w.init(e,t),e._zod.pattern=Rn,e._zod.values=new Set([null]),e._zod.parse=(r,n)=>{let o=r.value;return o===null||r.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),r}}),Zo=f("$ZodAny",(e,t)=>{w.init(e,t),e._zod.parse=r=>r}),No=f("$ZodUnknown",(e,t)=>{w.init(e,t),e._zod.parse=r=>r}),Oo=f("$ZodNever",(e,t)=>{w.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)}),jo=f("$ZodVoid",(e,t)=>{w.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;return typeof o>"u"||r.issues.push({expected:"void",code:"invalid_type",input:o,inst:e}),r}}),Lo=f("$ZodDate",(e,t)=>{w.init(e,t),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=new Date(r.value)}catch{}let o=r.value,i=o instanceof Date;return i&&!Number.isNaN(o.getTime())||r.issues.push({expected:"date",code:"invalid_type",input:o,...i?{received:"Invalid Date"}:{},inst:e}),r}});function jc(e,t,r){e.issues.length&&t.issues.push(...G(r,e.issues)),t.value[r]=e.value}var Mo=f("$ZodArray",(e,t)=>{w.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),r;r.value=Array(o.length);let i=[];for(let s=0;s<o.length;s++){let c=o[s],a=t.element._zod.run({value:c,issues:[]},n);a instanceof Promise?i.push(a.then(u=>jc(u,r,s))):jc(a,r,s)}return i.length?Promise.all(i).then(()=>r):r}});function Ft(e,t,r,n,o){if(e.issues.length){if(o&&!(r in n))return;t.issues.push(...G(r,e.issues))}e.value===void 0?r in n&&(t.value[r]=void 0):t.value[r]=e.value}function Vc(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${n}": expected a Zod schema`);let r=Br(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(r)}}function Wc(e,t,r,n,o,i){let s=[],c=o.keySet,a=o.catchall._zod,u=a.def.type,l=a.optout==="optional";for(let d in t){if(c.has(d))continue;if(u==="never"){s.push(d);continue}let m=a.run({value:t[d],issues:[]},n);m instanceof Promise?e.push(m.then(h=>Ft(h,r,d,t,l))):Ft(m,r,d,t,l)}return s.length&&r.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:i}),e.length?Promise.all(e).then(()=>r):r}var Yt=f("$ZodObject",(e,t)=>{if(w.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){let c=t.shape;Object.defineProperty(t,"shape",{get:()=>{let a={...c};return Object.defineProperty(t,"shape",{value:a}),a}})}let n=Re(()=>Vc(t));v(e._zod,"propValues",()=>{let c=t.shape,a={};for(let u in c){let l=c[u]._zod;if(l.values){a[u]??(a[u]=new Set);for(let d of l.values)a[u].add(d)}}return a});let o=xe,i=t.catchall,s;e._zod.parse=(c,a)=>{s??(s=n.value);let u=c.value;if(!o(u))return c.issues.push({expected:"object",code:"invalid_type",input:u,inst:e}),c;c.value={};let l=[],d=s.shape;for(let m of s.keys){let h=d[m],y=h._zod.optout==="optional",_=h._zod.run({value:u[m],issues:[]},a);_ instanceof Promise?l.push(_.then(z=>Ft(z,c,m,u,y))):Ft(_,c,m,u,y)}return i?Wc(l,u,c,a,n.value,e):l.length?Promise.all(l).then(()=>c):c}}),Lp=f("$ZodObjectJIT",(e,t)=>{Yt.init(e,t);let r=e._zod.parse,n=Re(()=>Vc(t)),o=m=>{let h=new rt(["shape","payload","ctx"]),y=n.value,_=R=>{let O=Et(R);return`shape[${O}]._zod.run({ value: input[${O}], issues: [] }, ctx)`};h.write("const input = payload.value;");let z=Object.create(null),F=0;for(let R of y.keys)z[R]=`key_${F++}`;h.write("const newResult = {};");for(let R of y.keys){let O=z[R],J=Et(R),Er=m[R]?._zod?.optout==="optional";h.write(`const ${O} = ${_(R)};`),Er?h.write(`
6
- if (${O}.issues.length) {
7
- if (${J} in input) {
8
- payload.issues = payload.issues.concat(${O}.issues.map(iss => ({
5
+ `))}};var eo={major:4,minor:3,patch:6};var w=f("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=eo;let n=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&n.unshift(e);for(let o of n)for(let i of o._zod.onattach)i(e);if(n.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let o=(s,c,a)=>{let u=pe(s),p;for(let d of c){if(d._zod.def.when){if(!d._zod.def.when(s))continue}else if(u)continue;let m=s.issues.length,h=d._zod.check(s);if(h instanceof Promise&&a?.async===!1)throw new te;if(p||h instanceof Promise)p=(p??Promise.resolve()).then(async()=>{await h,s.issues.length!==m&&(u||(u=pe(s,m)))});else{if(s.issues.length===m)continue;u||(u=pe(s,m))}}return p?p.then(()=>s):s},i=(s,c,a)=>{if(pe(s))return s.aborted=!0,s;let u=o(c,n,a);if(u instanceof Promise){if(a.async===!1)throw new te;return u.then(p=>e._zod.parse(p,a))}return e._zod.parse(u,a)};e._zod.run=(s,c)=>{if(c.skipChecks)return e._zod.parse(s,c);if(c.direction==="backward"){let u=e._zod.parse({value:s.value,issues:[]},{...c,skipChecks:!0});return u instanceof Promise?u.then(p=>i(p,s,c)):i(u,s,c)}let a=e._zod.parse(s,c);if(a instanceof Promise){if(c.async===!1)throw new te;return a.then(u=>o(u,n,c))}return o(a,n,c)}}k(e,"~standard",()=>({validate:o=>{try{let i=ke(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return ve(e,o).then(s=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}))}),je=f("$ZodString",(e,t)=>{w.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??In(e._zod.bag),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),E=f("$ZodStringFormat",(e,t)=>{Le.init(e,t),je.init(e,t)}),ro=f("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=hn),E.init(e,t)}),no=f("$ZodUUID",(e,t)=>{if(t.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=ze(n))}else t.pattern??(t.pattern=ze());E.init(e,t)}),oo=f("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=gn),E.init(e,t)}),io=f("$ZodURL",(e,t)=>{E.init(e,t),e._zod.check=r=>{try{let n=r.value.trim(),o=new URL(n);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(o.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:r.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})),t.normalize?r.value=o.href:r.value=n;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),so=f("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=_n()),E.init(e,t)}),co=f("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=dn),E.init(e,t)}),ao=f("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=an),E.init(e,t)}),uo=f("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=un),E.init(e,t)}),lo=f("$ZodULID",(e,t)=>{t.pattern??(t.pattern=ln),E.init(e,t)}),po=f("$ZodXID",(e,t)=>{t.pattern??(t.pattern=pn),E.init(e,t)}),fo=f("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=fn),E.init(e,t)}),mo=f("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Pn(t)),E.init(e,t)}),ho=f("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=zn),E.init(e,t)}),go=f("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Sn(t)),E.init(e,t)}),_o=f("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=mn),E.init(e,t)}),bo=f("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=bn),E.init(e,t),e._zod.bag.format="ipv4"}),yo=f("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=yn),E.init(e,t),e._zod.bag.format="ipv6",e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}}}),$o=f("$ZodMAC",(e,t)=>{t.pattern??(t.pattern=$n(t.delimiter)),E.init(e,t),e._zod.bag.format="mac"}),xo=f("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=xn),E.init(e,t)}),wo=f("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=wn),E.init(e,t),e._zod.check=r=>{let n=r.value.split("/");try{if(n.length!==2)throw new Error;let[o,i]=n;if(!i)throw new Error;let s=Number(i);if(`${s}`!==i)throw new Error;if(s<0||s>128)throw new Error;new URL(`http://[${o}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}}});function ko(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var vo=f("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=kn),E.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=r=>{ko(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function Wc(e){if(!Lt.test(e))return!1;let t=e.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return ko(r)}var zo=f("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Lt),E.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=r=>{Wc(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),So=f("$ZodE164",(e,t)=>{t.pattern??(t.pattern=vn),E.init(e,t)});function Qc(e,t=null){try{let r=e.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let o=JSON.parse(atob(n));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}var Po=f("$ZodJWT",(e,t)=>{E.init(e,t),e._zod.check=r=>{Qc(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}}),Io=f("$ZodCustomStringFormat",(e,t)=>{E.init(e,t),e._zod.check=r=>{t.fn(r.value)||r.issues.push({code:"invalid_format",format:t.format,input:r.value,inst:e,continue:!t.abort})}}),Yt=f("$ZodNumber",(e,t)=>{w.init(e,t),e._zod.pattern=e._zod.bag.pattern??jt,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch{}let o=r.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let i=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...i?{received:i}:{}}),r}}),Eo=f("$ZodNumberFormat",(e,t)=>{jn.init(e,t),Yt.init(e,t)}),nt=f("$ZodBoolean",(e,t)=>{w.init(e,t),e._zod.pattern=Tn,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=!!r.value}catch{}let o=r.value;return typeof o=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),r}}),Gt=f("$ZodBigInt",(e,t)=>{w.init(e,t),e._zod.pattern=En,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=BigInt(r.value)}catch{}return typeof r.value=="bigint"||r.issues.push({expected:"bigint",code:"invalid_type",input:r.value,inst:e}),r}}),Ao=f("$ZodBigIntFormat",(e,t)=>{On.init(e,t),Gt.init(e,t)}),To=f("$ZodSymbol",(e,t)=>{w.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;return typeof o=="symbol"||r.issues.push({expected:"symbol",code:"invalid_type",input:o,inst:e}),r}}),Ro=f("$ZodUndefined",(e,t)=>{w.init(e,t),e._zod.pattern=Cn,e._zod.values=new Set([void 0]),e._zod.optin="optional",e._zod.optout="optional",e._zod.parse=(r,n)=>{let o=r.value;return typeof o>"u"||r.issues.push({expected:"undefined",code:"invalid_type",input:o,inst:e}),r}}),Co=f("$ZodNull",(e,t)=>{w.init(e,t),e._zod.pattern=Rn,e._zod.values=new Set([null]),e._zod.parse=(r,n)=>{let o=r.value;return o===null||r.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),r}}),Zo=f("$ZodAny",(e,t)=>{w.init(e,t),e._zod.parse=r=>r}),No=f("$ZodUnknown",(e,t)=>{w.init(e,t),e._zod.parse=r=>r}),Lo=f("$ZodNever",(e,t)=>{w.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)}),jo=f("$ZodVoid",(e,t)=>{w.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;return typeof o>"u"||r.issues.push({expected:"void",code:"invalid_type",input:o,inst:e}),r}}),Oo=f("$ZodDate",(e,t)=>{w.init(e,t),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=new Date(r.value)}catch{}let o=r.value,i=o instanceof Date;return i&&!Number.isNaN(o.getTime())||r.issues.push({expected:"date",code:"invalid_type",input:o,...i?{received:"Invalid Date"}:{},inst:e}),r}});function Bc(e,t,r){e.issues.length&&t.issues.push(...V(r,e.issues)),t.value[r]=e.value}var Mo=f("$ZodArray",(e,t)=>{w.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),r;r.value=Array(o.length);let i=[];for(let s=0;s<o.length;s++){let c=o[s],a=t.element._zod.run({value:c,issues:[]},n);a instanceof Promise?i.push(a.then(u=>Bc(u,r,s))):Bc(a,r,s)}return i.length?Promise.all(i).then(()=>r):r}});function Jt(e,t,r,n,o){if(e.issues.length){if(o&&!(r in n))return;t.issues.push(...V(r,e.issues))}e.value===void 0?r in n&&(t.value[r]=void 0):t.value[r]=e.value}function Xc(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${n}": expected a Zod schema`);let r=Br(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(r)}}function ea(e,t,r,n,o,i){let s=[],c=o.keySet,a=o.catchall._zod,u=a.def.type,p=a.optout==="optional";for(let d in t){if(c.has(d))continue;if(u==="never"){s.push(d);continue}let m=a.run({value:t[d],issues:[]},n);m instanceof Promise?e.push(m.then(h=>Jt(h,r,d,t,p))):Jt(m,r,d,t,p)}return s.length&&r.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:i}),e.length?Promise.all(e).then(()=>r):r}var Kt=f("$ZodObject",(e,t)=>{if(w.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){let c=t.shape;Object.defineProperty(t,"shape",{get:()=>{let a={...c};return Object.defineProperty(t,"shape",{value:a}),a}})}let n=Ce(()=>Xc(t));k(e._zod,"propValues",()=>{let c=t.shape,a={};for(let u in c){let p=c[u]._zod;if(p.values){a[u]??(a[u]=new Set);for(let d of p.values)a[u].add(d)}}return a});let o=we,i=t.catchall,s;e._zod.parse=(c,a)=>{s??(s=n.value);let u=c.value;if(!o(u))return c.issues.push({expected:"object",code:"invalid_type",input:u,inst:e}),c;c.value={};let p=[],d=s.shape;for(let m of s.keys){let h=d[m],b=h._zod.optout==="optional",_=h._zod.run({value:u[m],issues:[]},a);_ instanceof Promise?p.push(_.then(z=>Jt(z,c,m,u,b))):Jt(_,c,m,u,b)}return i?ea(p,u,c,a,n.value,e):p.length?Promise.all(p).then(()=>c):c}}),Jp=f("$ZodObjectJIT",(e,t)=>{Kt.init(e,t);let r=e._zod.parse,n=Ce(()=>Xc(t)),o=m=>{let h=new rt(["shape","payload","ctx"]),b=n.value,_=R=>{let L=Et(R);return`shape[${L}]._zod.run({ value: input[${L}], issues: [] }, ctx)`};h.write("const input = payload.value;");let z=Object.create(null),Y=0;for(let R of b.keys)z[R]=`key_${Y++}`;h.write("const newResult = {};");for(let R of b.keys){let L=z[R],G=Et(R),Ir=m[R]?._zod?.optout==="optional";h.write(`const ${L} = ${_(R)};`),Ir?h.write(`
6
+ if (${L}.issues.length) {
7
+ if (${G} in input) {
8
+ payload.issues = payload.issues.concat(${L}.issues.map(iss => ({
9
9
  ...iss,
10
- path: iss.path ? [${J}, ...iss.path] : [${J}]
10
+ path: iss.path ? [${G}, ...iss.path] : [${G}]
11
11
  })));
12
12
  }
13
13
  }
14
14
 
15
- if (${O}.value === undefined) {
16
- if (${J} in input) {
17
- newResult[${J}] = undefined;
15
+ if (${L}.value === undefined) {
16
+ if (${G} in input) {
17
+ newResult[${G}] = undefined;
18
18
  }
19
19
  } else {
20
- newResult[${J}] = ${O}.value;
20
+ newResult[${G}] = ${L}.value;
21
21
  }
22
22
 
23
23
  `):h.write(`
24
- if (${O}.issues.length) {
25
- payload.issues = payload.issues.concat(${O}.issues.map(iss => ({
24
+ if (${L}.issues.length) {
25
+ payload.issues = payload.issues.concat(${L}.issues.map(iss => ({
26
26
  ...iss,
27
- path: iss.path ? [${J}, ...iss.path] : [${J}]
27
+ path: iss.path ? [${G}, ...iss.path] : [${G}]
28
28
  })));
29
29
  }
30
30
 
31
- if (${O}.value === undefined) {
32
- if (${J} in input) {
33
- newResult[${J}] = undefined;
31
+ if (${L}.value === undefined) {
32
+ if (${G} in input) {
33
+ newResult[${G}] = undefined;
34
34
  }
35
35
  } else {
36
- newResult[${J}] = ${O}.value;
36
+ newResult[${G}] = ${L}.value;
37
37
  }
38
38
 
39
- `)}h.write("payload.value = newResult;"),h.write("return payload;");let H=h.compile();return(R,O)=>H(m,R,O)},i,s=xe,c=!Ge.jitless,u=c&&Lr.value,l=t.catchall,d;e._zod.parse=(m,h)=>{d??(d=n.value);let y=m.value;return s(y)?c&&u&&h?.async===!1&&h.jitless!==!0?(i||(i=o(t.shape)),m=i(m,h),l?Wc([],y,m,h,d,e):m):r(m,h):(m.issues.push({expected:"object",code:"invalid_type",input:y,inst:e}),m)}});function Lc(e,t,r,n){for(let i of e)if(i.issues.length===0)return t.value=i.value,t;let o=e.filter(i=>!le(i));return o.length===1?(t.value=o[0].value,o[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(i=>i.issues.map(s=>K(s,n,j())))}),t)}var ot=f("$ZodUnion",(e,t)=>{w.init(e,t),v(e._zod,"optin",()=>t.options.some(o=>o._zod.optin==="optional")?"optional":void 0),v(e._zod,"optout",()=>t.options.some(o=>o._zod.optout==="optional")?"optional":void 0),v(e._zod,"values",()=>{if(t.options.every(o=>o._zod.values))return new Set(t.options.flatMap(o=>Array.from(o._zod.values)))}),v(e._zod,"pattern",()=>{if(t.options.every(o=>o._zod.pattern)){let o=t.options.map(i=>i._zod.pattern);return new RegExp(`^(${o.map(i=>Ve(i.source)).join("|")})$`)}});let r=t.options.length===1,n=t.options[0]._zod.run;e._zod.parse=(o,i)=>{if(r)return n(o,i);let s=!1,c=[];for(let a of t.options){let u=a._zod.run({value:o.value,issues:[]},i);if(u instanceof Promise)c.push(u),s=!0;else{if(u.issues.length===0)return u;c.push(u)}}return s?Promise.all(c).then(a=>Lc(a,o,e,i)):Lc(c,o,e,i)}});function Mc(e,t,r,n){let o=e.filter(i=>i.issues.length===0);return o.length===1?(t.value=o[0].value,t):(o.length===0?t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(i=>i.issues.map(s=>K(s,n,j())))}):t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:[],inclusive:!1}),t)}var Bo=f("$ZodXor",(e,t)=>{ot.init(e,t),t.inclusive=!1;let r=t.options.length===1,n=t.options[0]._zod.run;e._zod.parse=(o,i)=>{if(r)return n(o,i);let s=!1,c=[];for(let a of t.options){let u=a._zod.run({value:o.value,issues:[]},i);u instanceof Promise?(c.push(u),s=!0):c.push(u)}return s?Promise.all(c).then(a=>Mc(a,o,e,i)):Mc(c,o,e,i)}}),Do=f("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,ot.init(e,t);let r=e._zod.parse;v(e._zod,"propValues",()=>{let o={};for(let i of t.options){let s=i._zod.propValues;if(!s||Object.keys(s).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(let[c,a]of Object.entries(s)){o[c]||(o[c]=new Set);for(let u of a)o[c].add(u)}}return o});let n=Re(()=>{let o=t.options,i=new Map;for(let s of o){let c=s._zod.propValues?.[t.discriminator];if(!c||c.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(s)}"`);for(let a of c){if(i.has(a))throw new Error(`Duplicate discriminator value "${String(a)}"`);i.set(a,s)}}return i});e._zod.parse=(o,i)=>{let s=o.value;if(!xe(s))return o.issues.push({code:"invalid_type",expected:"object",input:s,inst:e}),o;let c=n.value.get(s?.[t.discriminator]);return c?c._zod.run(o,i):t.unionFallback?r(o,i):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:s,path:[t.discriminator],inst:e}),o)}}),Uo=f("$ZodIntersection",(e,t)=>{w.init(e,t),e._zod.parse=(r,n)=>{let o=r.value,i=t.left._zod.run({value:o,issues:[]},n),s=t.right._zod.run({value:o,issues:[]},n);return i instanceof Promise||s instanceof Promise?Promise.all([i,s]).then(([a,u])=>Bc(r,a,u)):Bc(r,i,s)}});function to(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(ue(e)&&ue(t)){let r=Object.keys(t),n=Object.keys(e).filter(i=>r.indexOf(i)!==-1),o={...e,...t};for(let i of n){let s=to(e[i],t[i]);if(!s.valid)return{valid:!1,mergeErrorPath:[i,...s.mergeErrorPath]};o[i]=s.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<e.length;n++){let o=e[n],i=t[n],s=to(o,i);if(!s.valid)return{valid:!1,mergeErrorPath:[n,...s.mergeErrorPath]};r.push(s.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function Bc(e,t,r){let n=new Map,o;for(let c of t.issues)if(c.code==="unrecognized_keys"){o??(o=c);for(let a of c.keys)n.has(a)||n.set(a,{}),n.get(a).l=!0}else e.issues.push(c);for(let c of r.issues)if(c.code==="unrecognized_keys")for(let a of c.keys)n.has(a)||n.set(a,{}),n.get(a).r=!0;else e.issues.push(c);let i=[...n].filter(([,c])=>c.l&&c.r).map(([c])=>c);if(i.length&&o&&e.issues.push({...o,keys:i}),le(e))return e;let s=to(t.value,r.value);if(!s.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(s.mergeErrorPath)}`);return e.value=s.data,e}var Gt=f("$ZodTuple",(e,t)=>{w.init(e,t);let r=t.items;e._zod.parse=(n,o)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({input:i,inst:e,expected:"tuple",code:"invalid_type"}),n;n.value=[];let s=[],c=[...r].reverse().findIndex(l=>l._zod.optin!=="optional"),a=c===-1?0:r.length-c;if(!t.rest){let l=i.length>r.length,d=i.length<a-1;if(l||d)return n.issues.push({...l?{code:"too_big",maximum:r.length,inclusive:!0}:{code:"too_small",minimum:r.length},input:i,inst:e,origin:"array"}),n}let u=-1;for(let l of r){if(u++,u>=i.length&&u>=a)continue;let d=l._zod.run({value:i[u],issues:[]},o);d instanceof Promise?s.push(d.then(m=>Mt(m,n,u))):Mt(d,n,u)}if(t.rest){let l=i.slice(r.length);for(let d of l){u++;let m=t.rest._zod.run({value:d,issues:[]},o);m instanceof Promise?s.push(m.then(h=>Mt(h,n,u))):Mt(m,n,u)}}return s.length?Promise.all(s).then(()=>n):n}});function Mt(e,t,r){e.issues.length&&t.issues.push(...G(r,e.issues)),t.value[r]=e.value}var Fo=f("$ZodRecord",(e,t)=>{w.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!ue(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),r;let i=[],s=t.keyType._zod.values;if(s){r.value={};let c=new Set;for(let u of s)if(typeof u=="string"||typeof u=="number"||typeof u=="symbol"){c.add(typeof u=="number"?u.toString():u);let l=t.valueType._zod.run({value:o[u],issues:[]},n);l instanceof Promise?i.push(l.then(d=>{d.issues.length&&r.issues.push(...G(u,d.issues)),r.value[u]=d.value})):(l.issues.length&&r.issues.push(...G(u,l.issues)),r.value[u]=l.value)}let a;for(let u in o)c.has(u)||(a=a??[],a.push(u));a&&a.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:a})}else{r.value={};for(let c of Reflect.ownKeys(o)){if(c==="__proto__")continue;let a=t.keyType._zod.run({value:c,issues:[]},n);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof c=="string"&&Ot.test(c)&&a.issues.length){let d=t.keyType._zod.run({value:Number(c),issues:[]},n);if(d instanceof Promise)throw new Error("Async schemas not supported in object keys currently");d.issues.length===0&&(a=d)}if(a.issues.length){t.mode==="loose"?r.value[c]=o[c]:r.issues.push({code:"invalid_key",origin:"record",issues:a.issues.map(d=>K(d,n,j())),input:c,path:[c],inst:e});continue}let l=t.valueType._zod.run({value:o[c],issues:[]},n);l instanceof Promise?i.push(l.then(d=>{d.issues.length&&r.issues.push(...G(c,d.issues)),r.value[a.value]=d.value})):(l.issues.length&&r.issues.push(...G(c,l.issues)),r.value[a.value]=l.value)}}return i.length?Promise.all(i).then(()=>r):r}}),Jo=f("$ZodMap",(e,t)=>{w.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!(o instanceof Map))return r.issues.push({expected:"map",code:"invalid_type",input:o,inst:e}),r;let i=[];r.value=new Map;for(let[s,c]of o){let a=t.keyType._zod.run({value:s,issues:[]},n),u=t.valueType._zod.run({value:c,issues:[]},n);a instanceof Promise||u instanceof Promise?i.push(Promise.all([a,u]).then(([l,d])=>{Dc(l,d,r,s,o,e,n)})):Dc(a,u,r,s,o,e,n)}return i.length?Promise.all(i).then(()=>r):r}});function Dc(e,t,r,n,o,i,s){e.issues.length&&(We.has(typeof n)?r.issues.push(...G(n,e.issues)):r.issues.push({code:"invalid_key",origin:"map",input:o,inst:i,issues:e.issues.map(c=>K(c,s,j()))})),t.issues.length&&(We.has(typeof n)?r.issues.push(...G(n,t.issues)):r.issues.push({origin:"map",code:"invalid_element",input:o,inst:i,key:n,issues:t.issues.map(c=>K(c,s,j()))})),r.value.set(e.value,t.value)}var Ko=f("$ZodSet",(e,t)=>{w.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!(o instanceof Set))return r.issues.push({input:o,inst:e,expected:"set",code:"invalid_type"}),r;let i=[];r.value=new Set;for(let s of o){let c=t.valueType._zod.run({value:s,issues:[]},n);c instanceof Promise?i.push(c.then(a=>Uc(a,r))):Uc(c,r)}return i.length?Promise.all(i).then(()=>r):r}});function Uc(e,t){e.issues.length&&t.issues.push(...e.issues),t.value.add(e.value)}var Yo=f("$ZodEnum",(e,t)=>{w.init(e,t);let r=He(t.entries),n=new Set(r);e._zod.values=n,e._zod.pattern=new RegExp(`^(${r.filter(o=>We.has(typeof o)).map(o=>typeof o=="string"?V(o):o.toString()).join("|")})$`),e._zod.parse=(o,i)=>{let s=o.value;return n.has(s)||o.issues.push({code:"invalid_value",values:r,input:s,inst:e}),o}}),Go=f("$ZodLiteral",(e,t)=>{if(w.init(e,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");let r=new Set(t.values);e._zod.values=r,e._zod.pattern=new RegExp(`^(${t.values.map(n=>typeof n=="string"?V(n):n?V(n.toString()):String(n)).join("|")})$`),e._zod.parse=(n,o)=>{let i=n.value;return r.has(i)||n.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),n}}),qo=f("$ZodFile",(e,t)=>{w.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;return o instanceof File||r.issues.push({expected:"file",code:"invalid_type",input:o,inst:e}),r}}),Ho=f("$ZodTransform",(e,t)=>{w.init(e,t),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Ae(e.constructor.name);let o=t.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(s=>(r.value=s,r));if(o instanceof Promise)throw new ee;return r.value=o,r}});function Fc(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}var qt=f("$ZodOptional",(e,t)=>{w.init(e,t),e._zod.optin="optional",e._zod.optout="optional",v(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),v(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${Ve(r.source)})?$`):void 0}),e._zod.parse=(r,n)=>{if(t.innerType._zod.optin==="optional"){let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>Fc(i,r.value)):Fc(o,r.value)}return r.value===void 0?r:t.innerType._zod.run(r,n)}}),Vo=f("$ZodExactOptional",(e,t)=>{qt.init(e,t),v(e._zod,"values",()=>t.innerType._zod.values),v(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(r,n)=>t.innerType._zod.run(r,n)}),Wo=f("$ZodNullable",(e,t)=>{w.init(e,t),v(e._zod,"optin",()=>t.innerType._zod.optin),v(e._zod,"optout",()=>t.innerType._zod.optout),v(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${Ve(r.source)}|null)$`):void 0}),v(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>r.value===null?r:t.innerType._zod.run(r,n)}),Xo=f("$ZodDefault",(e,t)=>{w.init(e,t),e._zod.optin="optional",v(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);if(r.value===void 0)return r.value=t.defaultValue,r;let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>Jc(i,t)):Jc(o,t)}});function Jc(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Qo=f("$ZodPrefault",(e,t)=>{w.init(e,t),e._zod.optin="optional",v(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>(n.direction==="backward"||r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,n))}),ei=f("$ZodNonOptional",(e,t)=>{w.init(e,t),v(e._zod,"values",()=>{let r=t.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>Kc(i,e)):Kc(o,e)}});function Kc(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}var ti=f("$ZodSuccess",(e,t)=>{w.init(e,t),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Ae("ZodSuccess");let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>(r.value=i.issues.length===0,r)):(r.value=o.issues.length===0,r)}}),ri=f("$ZodCatch",(e,t)=>{w.init(e,t),v(e._zod,"optin",()=>t.innerType._zod.optin),v(e._zod,"optout",()=>t.innerType._zod.optout),v(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>(r.value=i.value,i.issues.length&&(r.value=t.catchValue({...r,error:{issues:i.issues.map(s=>K(s,n,j()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=t.catchValue({...r,error:{issues:o.issues.map(i=>K(i,n,j()))},input:r.value}),r.issues=[]),r)}}),ni=f("$ZodNaN",(e,t)=>{w.init(e,t),e._zod.parse=(r,n)=>((typeof r.value!="number"||!Number.isNaN(r.value))&&r.issues.push({input:r.value,inst:e,expected:"nan",code:"invalid_type"}),r)}),oi=f("$ZodPipe",(e,t)=>{w.init(e,t),v(e._zod,"values",()=>t.in._zod.values),v(e._zod,"optin",()=>t.in._zod.optin),v(e._zod,"optout",()=>t.out._zod.optout),v(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(r,n)=>{if(n.direction==="backward"){let i=t.out._zod.run(r,n);return i instanceof Promise?i.then(s=>Bt(s,t.in,n)):Bt(i,t.in,n)}let o=t.in._zod.run(r,n);return o instanceof Promise?o.then(i=>Bt(i,t.out,n)):Bt(o,t.out,n)}});function Bt(e,t,r){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},r)}var it=f("$ZodCodec",(e,t)=>{w.init(e,t),v(e._zod,"values",()=>t.in._zod.values),v(e._zod,"optin",()=>t.in._zod.optin),v(e._zod,"optout",()=>t.out._zod.optout),v(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(r,n)=>{if((n.direction||"forward")==="forward"){let i=t.in._zod.run(r,n);return i instanceof Promise?i.then(s=>Dt(s,t,n)):Dt(i,t,n)}else{let i=t.out._zod.run(r,n);return i instanceof Promise?i.then(s=>Dt(s,t,n)):Dt(i,t,n)}}});function Dt(e,t,r){if(e.issues.length)return e.aborted=!0,e;if((r.direction||"forward")==="forward"){let o=t.transform(e.value,e);return o instanceof Promise?o.then(i=>Ut(e,i,t.out,r)):Ut(e,o,t.out,r)}else{let o=t.reverseTransform(e.value,e);return o instanceof Promise?o.then(i=>Ut(e,i,t.in,r)):Ut(e,o,t.in,r)}}function Ut(e,t,r,n){return e.issues.length?(e.aborted=!0,e):r._zod.run({value:t,issues:e.issues},n)}var ii=f("$ZodReadonly",(e,t)=>{w.init(e,t),v(e._zod,"propValues",()=>t.innerType._zod.propValues),v(e._zod,"values",()=>t.innerType._zod.values),v(e._zod,"optin",()=>t.innerType?._zod?.optin),v(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(Yc):Yc(o)}});function Yc(e){return e.value=Object.freeze(e.value),e}var si=f("$ZodTemplateLiteral",(e,t)=>{w.init(e,t);let r=[];for(let n of t.parts)if(typeof n=="object"&&n!==null){if(!n._zod.pattern)throw new Error(`Invalid template literal part, no pattern found: ${[...n._zod.traits].shift()}`);let o=n._zod.pattern instanceof RegExp?n._zod.pattern.source:n._zod.pattern;if(!o)throw new Error(`Invalid template literal part: ${n._zod.traits}`);let i=o.startsWith("^")?1:0,s=o.endsWith("$")?o.length-1:o.length;r.push(o.slice(i,s))}else if(n===null||Mr.has(typeof n))r.push(V(`${n}`));else throw new Error(`Invalid template literal part: ${n}`);e._zod.pattern=new RegExp(`^${r.join("")}$`),e._zod.parse=(n,o)=>typeof n.value!="string"?(n.issues.push({input:n.value,inst:e,expected:"string",code:"invalid_type"}),n):(e._zod.pattern.lastIndex=0,e._zod.pattern.test(n.value)||n.issues.push({input:n.value,inst:e,code:"invalid_format",format:t.format??"template_literal",pattern:e._zod.pattern.source}),n)}),ci=f("$ZodFunction",(e,t)=>(w.init(e,t),e._def=t,e._zod.def=t,e.implement=r=>{if(typeof r!="function")throw new Error("implement() must be called with a function");return function(...n){let o=e._def.input?pe(e._def.input,n):n,i=Reflect.apply(r,this,o);return e._def.output?pe(e._def.output,i):i}},e.implementAsync=r=>{if(typeof r!="function")throw new Error("implementAsync() must be called with a function");return async function(...n){let o=e._def.input?await fe(e._def.input,n):n,i=await Reflect.apply(r,this,o);return e._def.output?await fe(e._def.output,i):i}},e._zod.parse=(r,n)=>typeof r.value!="function"?(r.issues.push({code:"invalid_type",expected:"function",input:r.value,inst:e}),r):(e._def.output&&e._def.output._zod.def.type==="promise"?r.value=e.implementAsync(r.value):r.value=e.implement(r.value),r),e.input=(...r)=>{let n=e.constructor;return Array.isArray(r[0])?new n({type:"function",input:new Gt({type:"tuple",items:r[0],rest:r[1]}),output:e._def.output}):new n({type:"function",input:r[0],output:e._def.output})},e.output=r=>{let n=e.constructor;return new n({type:"function",input:e._def.input,output:r})},e)),ai=f("$ZodPromise",(e,t)=>{w.init(e,t),e._zod.parse=(r,n)=>Promise.resolve(r.value).then(o=>t.innerType._zod.run({value:o,issues:[]},n))}),ui=f("$ZodLazy",(e,t)=>{w.init(e,t),v(e._zod,"innerType",()=>t.getter()),v(e._zod,"pattern",()=>e._zod.innerType?._zod?.pattern),v(e._zod,"propValues",()=>e._zod.innerType?._zod?.propValues),v(e._zod,"optin",()=>e._zod.innerType?._zod?.optin??void 0),v(e._zod,"optout",()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(r,n)=>e._zod.innerType._zod.run(r,n)}),li=f("$ZodCustom",(e,t)=>{T.init(e,t),w.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=r=>{let n=r.value,o=t.fn(n);if(o instanceof Promise)return o.then(i=>Gc(i,r,n,e));Gc(o,r,n,e)}});function Gc(e,t,r,n){if(!e){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),t.issues.push(Ze(o))}}var st={};$e(st,{default:()=>Bp});var Bp={};var Xc,pi=Symbol("ZodOutput"),fi=Symbol("ZodInput"),Ht=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...r){let n=r[0];return this._map.set(t,n),n&&typeof n=="object"&&"id"in n&&this._idmap.set(n.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){let r=this._map.get(t);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(t),this}get(t){let r=t._zod.parent;if(r){let n={...this.get(r)??{}};delete n.id;let o={...n,...this._map.get(t)};return Object.keys(o).length?o:void 0}return this._map.get(t)}has(t){return this._map.has(t)}};function Vt(){return new Ht}(Xc=globalThis).__zod_globalRegistry??(Xc.__zod_globalRegistry=Vt());var ne=globalThis.__zod_globalRegistry;function di(e,t){return new e({type:"string",...g(t)})}function mi(e,t){return new e({type:"string",coerce:!0,...g(t)})}function hi(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...g(t)})}function gi(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...g(t)})}function _i(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...g(t)})}function yi(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...g(t)})}function bi(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...g(t)})}function $i(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...g(t)})}function Wt(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...g(t)})}function xi(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...g(t)})}function wi(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...g(t)})}function vi(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...g(t)})}function ki(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...g(t)})}function zi(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...g(t)})}function Si(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...g(t)})}function Pi(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...g(t)})}function Ei(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...g(t)})}function Ii(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...g(t)})}function Ti(e,t){return new e({type:"string",format:"mac",check:"string_format",abort:!1,...g(t)})}function Ai(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...g(t)})}function Ri(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...g(t)})}function Ci(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...g(t)})}function Zi(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...g(t)})}function Ni(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...g(t)})}function Oi(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...g(t)})}var ji={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6};function Li(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...g(t)})}function Mi(e,t){return new e({type:"string",format:"date",check:"string_format",...g(t)})}function Bi(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...g(t)})}function Di(e,t){return new e({type:"string",format:"duration",check:"string_format",...g(t)})}function Ui(e,t){return new e({type:"number",checks:[],...g(t)})}function Fi(e,t){return new e({type:"number",coerce:!0,checks:[],...g(t)})}function Ji(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...g(t)})}function Ki(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float32",...g(t)})}function Yi(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float64",...g(t)})}function Gi(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"int32",...g(t)})}function qi(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"uint32",...g(t)})}function Hi(e,t){return new e({type:"boolean",...g(t)})}function Vi(e,t){return new e({type:"boolean",coerce:!0,...g(t)})}function Wi(e,t){return new e({type:"bigint",...g(t)})}function Xi(e,t){return new e({type:"bigint",coerce:!0,...g(t)})}function Qi(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...g(t)})}function es(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...g(t)})}function ts(e,t){return new e({type:"symbol",...g(t)})}function rs(e,t){return new e({type:"undefined",...g(t)})}function ns(e,t){return new e({type:"null",...g(t)})}function os(e){return new e({type:"any"})}function is(e){return new e({type:"unknown"})}function ss(e,t){return new e({type:"never",...g(t)})}function cs(e,t){return new e({type:"void",...g(t)})}function as(e,t){return new e({type:"date",...g(t)})}function us(e,t){return new e({type:"date",coerce:!0,...g(t)})}function ls(e,t){return new e({type:"nan",...g(t)})}function Xt(e,t){return new jt({check:"less_than",...g(t),value:e,inclusive:!1})}function ct(e,t){return new jt({check:"less_than",...g(t),value:e,inclusive:!0})}function Qt(e,t){return new Lt({check:"greater_than",...g(t),value:e,inclusive:!1})}function at(e,t){return new Lt({check:"greater_than",...g(t),value:e,inclusive:!0})}function ps(e){return Qt(0,e)}function fs(e){return Xt(0,e)}function ds(e){return ct(0,e)}function ms(e){return at(0,e)}function hs(e,t){return new On({check:"multiple_of",...g(t),value:e})}function gs(e,t){return new Mn({check:"max_size",...g(t),maximum:e})}function _s(e,t){return new Bn({check:"min_size",...g(t),minimum:e})}function ys(e,t){return new Dn({check:"size_equals",...g(t),size:e})}function bs(e,t){return new Un({check:"max_length",...g(t),maximum:e})}function ut(e,t){return new Fn({check:"min_length",...g(t),minimum:e})}function $s(e,t){return new Jn({check:"length_equals",...g(t),length:e})}function lt(e,t){return new Kn({check:"string_format",format:"regex",...g(t),pattern:e})}function xs(e){return new Yn({check:"string_format",format:"lowercase",...g(e)})}function ws(e){return new Gn({check:"string_format",format:"uppercase",...g(e)})}function vs(e,t){return new qn({check:"string_format",format:"includes",...g(t),includes:e})}function ks(e,t){return new Hn({check:"string_format",format:"starts_with",...g(t),prefix:e})}function zs(e,t){return new Vn({check:"string_format",format:"ends_with",...g(t),suffix:e})}function Ss(e,t,r){return new Wn({check:"property",property:e,schema:t,...g(r)})}function Ps(e,t){return new Xn({check:"mime_type",mime:e,...g(t)})}function de(e){return new Qn({check:"overwrite",tx:e})}function Es(e){return de(t=>t.normalize(e))}function Is(){return de(e=>e.trim())}function Ts(){return de(e=>e.toLowerCase())}function As(){return de(e=>e.toUpperCase())}function Up(){return de(e=>jr(e))}function Fp(e,t,r){return new e({type:"array",element:t,...g(r)})}function Jp(e,t,r){return new e({type:"union",options:t,...g(r)})}function Kp(e,t,r){return new e({type:"union",options:t,inclusive:!1,...g(r)})}function Yp(e,t,r,n){return new e({type:"union",options:r,discriminator:t,...g(n)})}function Gp(e,t,r){return new e({type:"intersection",left:t,right:r})}function qp(e,t,r,n){let o=r instanceof w,i=o?n:r,s=o?r:null;return new e({type:"tuple",items:t,rest:s,...g(i)})}function Hp(e,t,r,n){return new e({type:"record",keyType:t,valueType:r,...g(n)})}function Vp(e,t,r,n){return new e({type:"map",keyType:t,valueType:r,...g(n)})}function Wp(e,t,r){return new e({type:"set",valueType:t,...g(r)})}function Xp(e,t,r){let n=Array.isArray(t)?Object.fromEntries(t.map(o=>[o,o])):t;return new e({type:"enum",entries:n,...g(r)})}function Qp(e,t,r){return new e({type:"enum",entries:t,...g(r)})}function ef(e,t,r){return new e({type:"literal",values:Array.isArray(t)?t:[t],...g(r)})}function Rs(e,t){return new e({type:"file",...g(t)})}function tf(e,t){return new e({type:"transform",transform:t})}function rf(e,t){return new e({type:"optional",innerType:t})}function nf(e,t){return new e({type:"nullable",innerType:t})}function of(e,t,r){return new e({type:"default",innerType:t,get defaultValue(){return typeof r=="function"?r():Ce(r)}})}function sf(e,t,r){return new e({type:"nonoptional",innerType:t,...g(r)})}function cf(e,t){return new e({type:"success",innerType:t})}function af(e,t,r){return new e({type:"catch",innerType:t,catchValue:typeof r=="function"?r:()=>r})}function uf(e,t,r){return new e({type:"pipe",in:t,out:r})}function lf(e,t){return new e({type:"readonly",innerType:t})}function pf(e,t,r){return new e({type:"template_literal",parts:t,...g(r)})}function ff(e,t){return new e({type:"lazy",getter:t})}function df(e,t){return new e({type:"promise",innerType:t})}function Cs(e,t,r){let n=g(r);return n.abort??(n.abort=!0),new e({type:"custom",check:"custom",fn:t,...n})}function Zs(e,t,r){return new e({type:"custom",check:"custom",fn:t,...g(r)})}function Ns(e){let t=Qc(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(Ze(n,r.value,t._zod.def));else{let o=n;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=t),o.continue??(o.continue=!t._zod.def.abort),r.issues.push(Ze(o))}},e(r.value,r)));return t}function Qc(e,t){let r=new T({check:"custom",...g(t)});return r._zod.check=e,r}function Os(e){let t=new T({check:"describe"});return t._zod.onattach=[r=>{let n=ne.get(r)??{};ne.add(r,{...n,description:e})}],t._zod.check=()=>{},t}function js(e){let t=new T({check:"meta"});return t._zod.onattach=[r=>{let n=ne.get(r)??{};ne.add(r,{...n,...e})}],t._zod.check=()=>{},t}function Ls(e,t){let r=g(t),n=r.truthy??["true","1","yes","on","y","enabled"],o=r.falsy??["false","0","no","off","n","disabled"];r.case!=="sensitive"&&(n=n.map(h=>typeof h=="string"?h.toLowerCase():h),o=o.map(h=>typeof h=="string"?h.toLowerCase():h));let i=new Set(n),s=new Set(o),c=e.Codec??it,a=e.Boolean??nt,u=e.String??Oe,l=new u({type:"string",error:r.error}),d=new a({type:"boolean",error:r.error}),m=new c({type:"pipe",in:l,out:d,transform:((h,y)=>{let _=h;return r.case!=="sensitive"&&(_=_.toLowerCase()),i.has(_)?!0:s.has(_)?!1:(y.issues.push({code:"invalid_value",expected:"stringbool",values:[...i,...s],input:y.value,inst:m,continue:!1}),{})}),reverseTransform:((h,y)=>h===!0?n[0]||"true":o[0]||"false"),error:r.error});return m}function je(e,t,r,n={}){let o=g(n),i={...g(n),check:"string_format",type:"string",format:t,fn:typeof r=="function"?r:c=>r.test(c),...o};return r instanceof RegExp&&(i.pattern=r),new e(i)}function me(e){let t=e?.target??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??ne,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function P(e,t,r={path:[],schemaPath:[]}){var n;let o=e._zod.def,i=t.seen.get(e);if(i)return i.count++,r.schemaPath.includes(e)&&(i.cycle=r.path),i.schema;let s={schema:{},count:1,cycle:void 0,path:r.path};t.seen.set(e,s);let c=e._zod.toJSONSchema?.();if(c)s.schema=c;else{let l={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,s.schema,l);else{let m=s.schema,h=t.processors[o.type];if(!h)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);h(e,t,m,l)}let d=e._zod.parent;d&&(s.ref||(s.ref=d),P(d,t,l),t.seen.get(d).isParent=!0)}let a=t.metadataRegistry.get(e);return a&&Object.assign(s.schema,a),t.io==="input"&&B(e)&&(delete s.schema.examples,delete s.schema.default),t.io==="input"&&s.schema._prefault&&((n=s.schema).default??(n.default=s.schema._prefault)),delete s.schema._prefault,t.seen.get(e).schema}function he(e,t){let r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let n=new Map;for(let s of e.seen.entries()){let c=e.metadataRegistry.get(s[0])?.id;if(c){let a=n.get(c);if(a&&a!==s[0])throw new Error(`Duplicate schema id "${c}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);n.set(c,s[0])}}let o=s=>{let c=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){let d=e.external.registry.get(s[0])?.id,m=e.external.uri??(y=>y);if(d)return{ref:m(d)};let h=s[1].defId??s[1].schema.id??`schema${e.counter++}`;return s[1].defId=h,{defId:h,ref:`${m("__shared")}#/${c}/${h}`}}if(s[1]===r)return{ref:"#"};let u=`#/${c}/`,l=s[1].schema.id??`__schema${e.counter++}`;return{defId:l,ref:u+l}},i=s=>{if(s[1].schema.$ref)return;let c=s[1],{ref:a,defId:u}=o(s);c.def={...c.schema},u&&(c.defId=u);let l=c.schema;for(let d in l)delete l[d];l.$ref=a};if(e.cycles==="throw")for(let s of e.seen.entries()){let c=s[1];if(c.cycle)throw new Error(`Cycle detected: #/${c.cycle?.join("/")}/<root>
40
-
41
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let s of e.seen.entries()){let c=s[1];if(t===s[0]){i(s);continue}if(e.external){let u=e.external.registry.get(s[0])?.id;if(t!==s[0]&&u){i(s);continue}}if(e.metadataRegistry.get(s[0])?.id){i(s);continue}if(c.cycle){i(s);continue}if(c.count>1&&e.reused==="ref"){i(s);continue}}}function ge(e,t){let r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let n=s=>{let c=e.seen.get(s);if(c.ref===null)return;let a=c.def??c.schema,u={...a},l=c.ref;if(c.ref=null,l){n(l);let m=e.seen.get(l),h=m.schema;if(h.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(a.allOf=a.allOf??[],a.allOf.push(h)):Object.assign(a,h),Object.assign(a,u),s._zod.parent===l)for(let _ in a)_==="$ref"||_==="allOf"||_ in u||delete a[_];if(h.$ref&&m.def)for(let _ in a)_==="$ref"||_==="allOf"||_ in m.def&&JSON.stringify(a[_])===JSON.stringify(m.def[_])&&delete a[_]}let d=s._zod.parent;if(d&&d!==l){n(d);let m=e.seen.get(d);if(m?.schema.$ref&&(a.$ref=m.schema.$ref,m.def))for(let h in a)h==="$ref"||h==="allOf"||h in m.def&&JSON.stringify(a[h])===JSON.stringify(m.def[h])&&delete a[h]}e.override({zodSchema:s,jsonSchema:a,path:c.path??[]})};for(let s of[...e.seen.entries()].reverse())n(s[0]);let o={};if(e.target==="draft-2020-12"?o.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?o.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?o.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){let s=e.external.registry.get(t)?.id;if(!s)throw new Error("Schema is missing an `id` property");o.$id=e.external.uri(s)}Object.assign(o,r.def??r.schema);let i=e.external?.defs??{};for(let s of e.seen.entries()){let c=s[1];c.def&&c.defId&&(i[c.defId]=c.def)}e.external||Object.keys(i).length>0&&(e.target==="draft-2020-12"?o.$defs=i:o.definitions=i);try{let s=JSON.parse(JSON.stringify(o));return Object.defineProperty(s,"~standard",{value:{...t["~standard"],jsonSchema:{input:Ms(t,"input",e.processors),output:Ms(t,"output",e.processors)}},enumerable:!1,writable:!1}),s}catch{throw new Error("Error converting schema to JSON.")}}function B(e,t){let r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);let n=e._zod.def;if(n.type==="transform")return!0;if(n.type==="array")return B(n.element,r);if(n.type==="set")return B(n.valueType,r);if(n.type==="lazy")return B(n.getter(),r);if(n.type==="promise"||n.type==="optional"||n.type==="nonoptional"||n.type==="nullable"||n.type==="readonly"||n.type==="default"||n.type==="prefault")return B(n.innerType,r);if(n.type==="intersection")return B(n.left,r)||B(n.right,r);if(n.type==="record"||n.type==="map")return B(n.keyType,r)||B(n.valueType,r);if(n.type==="pipe")return B(n.in,r)||B(n.out,r);if(n.type==="object"){for(let o in n.shape)if(B(n.shape[o],r))return!0;return!1}if(n.type==="union"){for(let o of n.options)if(B(o,r))return!0;return!1}if(n.type==="tuple"){for(let o of n.items)if(B(o,r))return!0;return!!(n.rest&&B(n.rest,r))}return!1}var mf=(e,t={})=>r=>{let n=me({...r,processors:t});return P(e,n),he(n,e),ge(n,e)},Ms=(e,t,r={})=>n=>{let{libraryOptions:o,target:i}=n??{},s=me({...o??{},target:i,io:t,processors:r});return P(e,s),he(s,e),ge(s,e)};var hf={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},gf=(e,t,r,n)=>{let o=r;o.type="string";let{minimum:i,maximum:s,format:c,patterns:a,contentEncoding:u}=e._zod.bag;if(typeof i=="number"&&(o.minLength=i),typeof s=="number"&&(o.maxLength=s),c&&(o.format=hf[c]??c,o.format===""&&delete o.format,c==="time"&&delete o.format),u&&(o.contentEncoding=u),a&&a.size>0){let l=[...a];l.length===1?o.pattern=l[0].source:l.length>1&&(o.allOf=[...l.map(d=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))])}},_f=(e,t,r,n)=>{let o=r,{minimum:i,maximum:s,format:c,multipleOf:a,exclusiveMaximum:u,exclusiveMinimum:l}=e._zod.bag;typeof c=="string"&&c.includes("int")?o.type="integer":o.type="number",typeof l=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(o.minimum=l,o.exclusiveMinimum=!0):o.exclusiveMinimum=l),typeof i=="number"&&(o.minimum=i,typeof l=="number"&&t.target!=="draft-04"&&(l>=i?delete o.minimum:delete o.exclusiveMinimum)),typeof u=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(o.maximum=u,o.exclusiveMaximum=!0):o.exclusiveMaximum=u),typeof s=="number"&&(o.maximum=s,typeof u=="number"&&t.target!=="draft-04"&&(u<=s?delete o.maximum:delete o.exclusiveMaximum)),typeof a=="number"&&(o.multipleOf=a)},yf=(e,t,r,n)=>{r.type="boolean"},bf=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},$f=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},xf=(e,t,r,n)=>{t.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"},wf=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},vf=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},kf=(e,t,r,n)=>{r.not={}},zf=(e,t,r,n)=>{},Sf=(e,t,r,n)=>{},Pf=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},Ef=(e,t,r,n)=>{let o=e._zod.def,i=He(o.entries);i.every(s=>typeof s=="number")&&(r.type="number"),i.every(s=>typeof s=="string")&&(r.type="string"),r.enum=i},If=(e,t,r,n)=>{let o=e._zod.def,i=[];for(let s of o.values)if(s===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof s=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");i.push(Number(s))}else i.push(s);if(i.length!==0)if(i.length===1){let s=i[0];r.type=s===null?"null":typeof s,t.target==="draft-04"||t.target==="openapi-3.0"?r.enum=[s]:r.const=s}else i.every(s=>typeof s=="number")&&(r.type="number"),i.every(s=>typeof s=="string")&&(r.type="string"),i.every(s=>typeof s=="boolean")&&(r.type="boolean"),i.every(s=>s===null)&&(r.type="null"),r.enum=i},Tf=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},Af=(e,t,r,n)=>{let o=r,i=e._zod.pattern;if(!i)throw new Error("Pattern not found in template literal");o.type="string",o.pattern=i.source},Rf=(e,t,r,n)=>{let o=r,i={type:"string",format:"binary",contentEncoding:"binary"},{minimum:s,maximum:c,mime:a}=e._zod.bag;s!==void 0&&(i.minLength=s),c!==void 0&&(i.maxLength=c),a?a.length===1?(i.contentMediaType=a[0],Object.assign(o,i)):(Object.assign(o,i),o.anyOf=a.map(u=>({contentMediaType:u}))):Object.assign(o,i)},Cf=(e,t,r,n)=>{r.type="boolean"},Zf=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Nf=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},Of=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},jf=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},Lf=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},Mf=(e,t,r,n)=>{let o=r,i=e._zod.def,{minimum:s,maximum:c}=e._zod.bag;typeof s=="number"&&(o.minItems=s),typeof c=="number"&&(o.maxItems=c),o.type="array",o.items=P(i.element,t,{...n,path:[...n.path,"items"]})},Bf=(e,t,r,n)=>{let o=r,i=e._zod.def;o.type="object",o.properties={};let s=i.shape;for(let u in s)o.properties[u]=P(s[u],t,{...n,path:[...n.path,"properties",u]});let c=new Set(Object.keys(s)),a=new Set([...c].filter(u=>{let l=i.shape[u]._zod;return t.io==="input"?l.optin===void 0:l.optout===void 0}));a.size>0&&(o.required=Array.from(a)),i.catchall?._zod.def.type==="never"?o.additionalProperties=!1:i.catchall?i.catchall&&(o.additionalProperties=P(i.catchall,t,{...n,path:[...n.path,"additionalProperties"]})):t.io==="output"&&(o.additionalProperties=!1)},Df=(e,t,r,n)=>{let o=e._zod.def,i=o.inclusive===!1,s=o.options.map((c,a)=>P(c,t,{...n,path:[...n.path,i?"oneOf":"anyOf",a]}));i?r.oneOf=s:r.anyOf=s},Uf=(e,t,r,n)=>{let o=e._zod.def,i=P(o.left,t,{...n,path:[...n.path,"allOf",0]}),s=P(o.right,t,{...n,path:[...n.path,"allOf",1]}),c=u=>"allOf"in u&&Object.keys(u).length===1,a=[...c(i)?i.allOf:[i],...c(s)?s.allOf:[s]];r.allOf=a},Ff=(e,t,r,n)=>{let o=r,i=e._zod.def;o.type="array";let s=t.target==="draft-2020-12"?"prefixItems":"items",c=t.target==="draft-2020-12"||t.target==="openapi-3.0"?"items":"additionalItems",a=i.items.map((m,h)=>P(m,t,{...n,path:[...n.path,s,h]})),u=i.rest?P(i.rest,t,{...n,path:[...n.path,c,...t.target==="openapi-3.0"?[i.items.length]:[]]}):null;t.target==="draft-2020-12"?(o.prefixItems=a,u&&(o.items=u)):t.target==="openapi-3.0"?(o.items={anyOf:a},u&&o.items.anyOf.push(u),o.minItems=a.length,u||(o.maxItems=a.length)):(o.items=a,u&&(o.additionalItems=u));let{minimum:l,maximum:d}=e._zod.bag;typeof l=="number"&&(o.minItems=l),typeof d=="number"&&(o.maxItems=d)},Jf=(e,t,r,n)=>{let o=r,i=e._zod.def;o.type="object";let s=i.keyType,a=s._zod.bag?.patterns;if(i.mode==="loose"&&a&&a.size>0){let l=P(i.valueType,t,{...n,path:[...n.path,"patternProperties","*"]});o.patternProperties={};for(let d of a)o.patternProperties[d.source]=l}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(o.propertyNames=P(i.keyType,t,{...n,path:[...n.path,"propertyNames"]})),o.additionalProperties=P(i.valueType,t,{...n,path:[...n.path,"additionalProperties"]});let u=s._zod.values;if(u){let l=[...u].filter(d=>typeof d=="string"||typeof d=="number");l.length>0&&(o.required=l)}},Kf=(e,t,r,n)=>{let o=e._zod.def,i=P(o.innerType,t,n),s=t.seen.get(e);t.target==="openapi-3.0"?(s.ref=o.innerType,r.nullable=!0):r.anyOf=[i,{type:"null"}]},Yf=(e,t,r,n)=>{let o=e._zod.def;P(o.innerType,t,n);let i=t.seen.get(e);i.ref=o.innerType},Gf=(e,t,r,n)=>{let o=e._zod.def;P(o.innerType,t,n);let i=t.seen.get(e);i.ref=o.innerType,r.default=JSON.parse(JSON.stringify(o.defaultValue))},qf=(e,t,r,n)=>{let o=e._zod.def;P(o.innerType,t,n);let i=t.seen.get(e);i.ref=o.innerType,t.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(o.defaultValue)))},Hf=(e,t,r,n)=>{let o=e._zod.def;P(o.innerType,t,n);let i=t.seen.get(e);i.ref=o.innerType;let s;try{s=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=s},Vf=(e,t,r,n)=>{let o=e._zod.def,i=t.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;P(i,t,n);let s=t.seen.get(e);s.ref=i},Wf=(e,t,r,n)=>{let o=e._zod.def;P(o.innerType,t,n);let i=t.seen.get(e);i.ref=o.innerType,r.readOnly=!0},Xf=(e,t,r,n)=>{let o=e._zod.def;P(o.innerType,t,n);let i=t.seen.get(e);i.ref=o.innerType},Qf=(e,t,r,n)=>{let o=e._zod.def;P(o.innerType,t,n);let i=t.seen.get(e);i.ref=o.innerType},ed=(e,t,r,n)=>{let o=e._zod.innerType;P(o,t,n);let i=t.seen.get(e);i.ref=o},er={string:gf,number:_f,boolean:yf,bigint:bf,symbol:$f,null:xf,undefined:wf,void:vf,never:kf,any:zf,unknown:Sf,date:Pf,enum:Ef,literal:If,nan:Tf,template_literal:Af,file:Rf,success:Cf,custom:Zf,function:Nf,transform:Of,map:jf,set:Lf,array:Mf,object:Bf,union:Df,intersection:Uf,tuple:Ff,record:Jf,nullable:Kf,nonoptional:Yf,default:Gf,prefault:qf,catch:Hf,pipe:Vf,readonly:Wf,promise:Xf,optional:Qf,lazy:ed};function tr(e,t){if("_idmap"in e){let n=e,o=me({...t,processors:er}),i={};for(let a of n._idmap.entries()){let[u,l]=a;P(l,o)}let s={},c={registry:n,uri:t?.uri,defs:i};o.external=c;for(let a of n._idmap.entries()){let[u,l]=a;he(o,l),s[u]=ge(o,l)}if(Object.keys(i).length>0){let a=o.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[a]:i}}return{schemas:s}}let r=me({...t,processors:er});return P(e,r),he(r,e),ge(r,e)}var rr=class{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(t){this.ctx.counter=t}get seen(){return this.ctx.seen}constructor(t){let r=t?.target??"draft-2020-12";r==="draft-4"&&(r="draft-04"),r==="draft-7"&&(r="draft-07"),this.ctx=me({processors:er,target:r,...t?.metadata&&{metadata:t.metadata},...t?.unrepresentable&&{unrepresentable:t.unrepresentable},...t?.override&&{override:t.override},...t?.io&&{io:t.io}})}process(t,r={path:[],schemaPath:[]}){return P(t,this.ctx,r)}emit(t,r){r&&(r.cycles&&(this.ctx.cycles=r.cycles),r.reused&&(this.ctx.reused=r.reused),r.external&&(this.ctx.external=r.external)),he(this.ctx,t);let n=ge(this.ctx,t),{"~standard":o,...i}=n;return i}};var ea={};var k=f("ZodMiniType",(e,t)=>{if(!e._zod)throw new Error("Uninitialized schema in ZodMiniType.");w.init(e,t),e.def=t,e.type=t.type,e.parse=(r,n)=>pe(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>we(e,r,n),e.parseAsync=async(r,n)=>fe(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>ve(e,r,n),e.check=(...r)=>e.clone({...t,checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]},{parent:!0}),e.with=e.check,e.clone=(r,n)=>M(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e)),e.apply=r=>r(e)}),Me=f("ZodMiniString",(e,t)=>{Oe.init(e,t),k.init(e,t)});function b(e){return di(Me,e)}var A=f("ZodMiniStringFormat",(e,t)=>{I.init(e,t),Me.init(e,t)}),ta=f("ZodMiniEmail",(e,t)=>{oo.init(e,t),A.init(e,t)});function rd(e){return hi(ta,e)}var ra=f("ZodMiniGUID",(e,t)=>{ro.init(e,t),A.init(e,t)});function nd(e){return gi(ra,e)}var pt=f("ZodMiniUUID",(e,t)=>{no.init(e,t),A.init(e,t)});function od(e){return _i(pt,e)}function id(e){return yi(pt,e)}function sd(e){return bi(pt,e)}function cd(e){return $i(pt,e)}var Bs=f("ZodMiniURL",(e,t)=>{io.init(e,t),A.init(e,t)});function ad(e){return Wt(Bs,e)}function ud(e){return Wt(Bs,{protocol:/^https?$/,hostname:X.domain,...g(e)})}var na=f("ZodMiniEmoji",(e,t)=>{so.init(e,t),A.init(e,t)});function ld(e){return xi(na,e)}var oa=f("ZodMiniNanoID",(e,t)=>{co.init(e,t),A.init(e,t)});function pd(e){return wi(oa,e)}var ia=f("ZodMiniCUID",(e,t)=>{ao.init(e,t),A.init(e,t)});function fd(e){return vi(ia,e)}var sa=f("ZodMiniCUID2",(e,t)=>{uo.init(e,t),A.init(e,t)});function dd(e){return ki(sa,e)}var ca=f("ZodMiniULID",(e,t)=>{lo.init(e,t),A.init(e,t)});function md(e){return zi(ca,e)}var aa=f("ZodMiniXID",(e,t)=>{po.init(e,t),A.init(e,t)});function hd(e){return Si(aa,e)}var ua=f("ZodMiniKSUID",(e,t)=>{fo.init(e,t),A.init(e,t)});function gd(e){return Pi(ua,e)}var la=f("ZodMiniIPv4",(e,t)=>{yo.init(e,t),A.init(e,t)});function _d(e){return Ei(la,e)}var pa=f("ZodMiniIPv6",(e,t)=>{bo.init(e,t),A.init(e,t)});function yd(e){return Ii(pa,e)}var fa=f("ZodMiniCIDRv4",(e,t)=>{xo.init(e,t),A.init(e,t)});function bd(e){return Ai(fa,e)}var da=f("ZodMiniCIDRv6",(e,t)=>{wo.init(e,t),A.init(e,t)});function $d(e){return Ri(da,e)}var ma=f("ZodMiniMAC",(e,t)=>{$o.init(e,t),A.init(e,t)});function xd(e){return Ti(ma,e)}var ha=f("ZodMiniBase64",(e,t)=>{ko.init(e,t),A.init(e,t)});function wd(e){return Ci(ha,e)}var ga=f("ZodMiniBase64URL",(e,t)=>{zo.init(e,t),A.init(e,t)});function vd(e){return Zi(ga,e)}var _a=f("ZodMiniE164",(e,t)=>{So.init(e,t),A.init(e,t)});function kd(e){return Ni(_a,e)}var ya=f("ZodMiniJWT",(e,t)=>{Po.init(e,t),A.init(e,t)});function zd(e){return Oi(ya,e)}var ft=f("ZodMiniCustomStringFormat",(e,t)=>{Eo.init(e,t),A.init(e,t)});function Sd(e,t,r={}){return je(ft,e,t,r)}function Pd(e){return je(ft,"hostname",X.hostname,e)}function Ed(e){return je(ft,"hex",X.hex,e)}function Id(e,t){let r=t?.enc??"hex",n=`${e}_${r}`,o=X[n];if(!o)throw new Error(`Unrecognized hash format: ${n}`);return je(ft,n,o,t)}var dt=f("ZodMiniNumber",(e,t)=>{Jt.init(e,t),k.init(e,t)});function _e(e){return Ui(dt,e)}var Be=f("ZodMiniNumberFormat",(e,t)=>{Io.init(e,t),dt.init(e,t)});function Td(e){return Ji(Be,e)}function Ad(e){return Ki(Be,e)}function Rd(e){return Yi(Be,e)}function Cd(e){return Gi(Be,e)}function Zd(e){return qi(Be,e)}var mt=f("ZodMiniBoolean",(e,t)=>{nt.init(e,t),k.init(e,t)});function De(e){return Hi(mt,e)}var ht=f("ZodMiniBigInt",(e,t)=>{Kt.init(e,t),k.init(e,t)});function Nd(e){return Wi(ht,e)}var Ds=f("ZodMiniBigIntFormat",(e,t)=>{To.init(e,t),ht.init(e,t)});function Od(e){return Qi(Ds,e)}function jd(e){return es(Ds,e)}var ba=f("ZodMiniSymbol",(e,t)=>{Ao.init(e,t),k.init(e,t)});function Ld(e){return ts(ba,e)}var $a=f("ZodMiniUndefined",(e,t)=>{Ro.init(e,t),k.init(e,t)});function Md(e){return rs($a,e)}var xa=f("ZodMiniNull",(e,t)=>{Co.init(e,t),k.init(e,t)});function wa(e){return ns(xa,e)}var va=f("ZodMiniAny",(e,t)=>{Zo.init(e,t),k.init(e,t)});function Bd(){return os(va)}var ka=f("ZodMiniUnknown",(e,t)=>{No.init(e,t),k.init(e,t)});function nr(){return is(ka)}var za=f("ZodMiniNever",(e,t)=>{Oo.init(e,t),k.init(e,t)});function Sa(e){return ss(za,e)}var Pa=f("ZodMiniVoid",(e,t)=>{jo.init(e,t),k.init(e,t)});function Dd(e){return cs(Pa,e)}var or=f("ZodMiniDate",(e,t)=>{Lo.init(e,t),k.init(e,t)});function Ud(e){return as(or,e)}var Ea=f("ZodMiniArray",(e,t)=>{Mo.init(e,t),k.init(e,t)});function D(e,t){return new Ea({type:"array",element:e,...g(t)})}function Fd(e){let t=e._zod.def.shape;return La(Object.keys(t))}var ir=f("ZodMiniObject",(e,t)=>{Yt.init(e,t),k.init(e,t),v(e,"shape",()=>t.shape)});function E(e,t){let r={type:"object",shape:e??{},...g(t)};return new ir(r)}function Jd(e,t){return new ir({type:"object",shape:e,catchall:Sa(),...g(t)})}function Kd(e,t){return new ir({type:"object",shape:e,catchall:nr(),...g(t)})}function gt(e,t){return Tt(e,t)}function Yd(e,t){return Kr(e,t)}function Gd(e,t){return Tt(e,t)}function qd(e,t){return Fr(e,t)}function Hd(e,t){return Jr(e,t)}function Vd(e,t){return Yr(Js,e,t)}function Wd(e,t){return Gr(Ks,e,t)}function Xd(e,t){return e.clone({...e._zod.def,catchall:t})}var Us=f("ZodMiniUnion",(e,t)=>{ot.init(e,t),k.init(e,t)});function Ia(e,t){return new Us({type:"union",options:e,...g(t)})}var Ta=f("ZodMiniXor",(e,t)=>{Us.init(e,t),Bo.init(e,t)});function Qd(e,t){return new Ta({type:"union",options:e,inclusive:!1,...g(t)})}var Aa=f("ZodMiniDiscriminatedUnion",(e,t)=>{Do.init(e,t),k.init(e,t)});function em(e,t,r){return new Aa({type:"union",options:t,discriminator:e,...g(r)})}var Ra=f("ZodMiniIntersection",(e,t)=>{Uo.init(e,t),k.init(e,t)});function tm(e,t){return new Ra({type:"intersection",left:e,right:t})}var Ca=f("ZodMiniTuple",(e,t)=>{Gt.init(e,t),k.init(e,t)});function Za(e,t,r){let n=t instanceof w,o=n?r:t,i=n?t:null;return new Ca({type:"tuple",items:e,rest:i,...g(o)})}var sr=f("ZodMiniRecord",(e,t)=>{Fo.init(e,t),k.init(e,t)});function Na(e,t,r){return new sr({type:"record",keyType:e,valueType:t,...g(r)})}function rm(e,t,r){let n=M(e);return n._zod.values=void 0,new sr({type:"record",keyType:n,valueType:t,...g(r)})}function nm(e,t,r){return new sr({type:"record",keyType:e,valueType:t,mode:"loose",...g(r)})}var Oa=f("ZodMiniMap",(e,t)=>{Jo.init(e,t),k.init(e,t)});function om(e,t,r){return new Oa({type:"map",keyType:e,valueType:t,...g(r)})}var ja=f("ZodMiniSet",(e,t)=>{Ko.init(e,t),k.init(e,t)});function im(e,t){return new ja({type:"set",valueType:e,...g(t)})}var Fs=f("ZodMiniEnum",(e,t)=>{Yo.init(e,t),k.init(e,t),e.options=Object.values(t.entries)});function La(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new Fs({type:"enum",entries:r,...g(t)})}function sm(e,t){return new Fs({type:"enum",entries:e,...g(t)})}var Ma=f("ZodMiniLiteral",(e,t)=>{Go.init(e,t),k.init(e,t)});function cm(e,t){return new Ma({type:"literal",values:Array.isArray(e)?e:[e],...g(t)})}var Ba=f("ZodMiniFile",(e,t)=>{qo.init(e,t),k.init(e,t)});function am(e){return Rs(Ba,e)}var Da=f("ZodMiniTransform",(e,t)=>{Ho.init(e,t),k.init(e,t)});function um(e){return new Da({type:"transform",transform:e})}var Js=f("ZodMiniOptional",(e,t)=>{qt.init(e,t),k.init(e,t)});function $(e){return new Js({type:"optional",innerType:e})}var Ua=f("ZodMiniExactOptional",(e,t)=>{Vo.init(e,t),k.init(e,t)});function lm(e){return new Ua({type:"optional",innerType:e})}var Fa=f("ZodMiniNullable",(e,t)=>{Wo.init(e,t),k.init(e,t)});function cr(e){return new Fa({type:"nullable",innerType:e})}function pm(e){return $(cr(e))}var Ja=f("ZodMiniDefault",(e,t)=>{Xo.init(e,t),k.init(e,t)});function fm(e,t){return new Ja({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():Ce(t)}})}var Ka=f("ZodMiniPrefault",(e,t)=>{Qo.init(e,t),k.init(e,t)});function dm(e,t){return new Ka({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():Ce(t)}})}var Ks=f("ZodMiniNonOptional",(e,t)=>{ei.init(e,t),k.init(e,t)});function mm(e,t){return new Ks({type:"nonoptional",innerType:e,...g(t)})}var Ya=f("ZodMiniSuccess",(e,t)=>{ti.init(e,t),k.init(e,t)});function hm(e){return new Ya({type:"success",innerType:e})}var Ga=f("ZodMiniCatch",(e,t)=>{ri.init(e,t),k.init(e,t)});function gm(e,t){return new Ga({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var qa=f("ZodMiniNaN",(e,t)=>{ni.init(e,t),k.init(e,t)});function _m(e){return ls(qa,e)}var Ys=f("ZodMiniPipe",(e,t)=>{oi.init(e,t),k.init(e,t)});function ym(e,t){return new Ys({type:"pipe",in:e,out:t})}var Gs=f("ZodMiniCodec",(e,t)=>{Ys.init(e,t),it.init(e,t)});function bm(e,t,r){return new Gs({type:"pipe",in:e,out:t,transform:r.decode,reverseTransform:r.encode})}var Ha=f("ZodMiniReadonly",(e,t)=>{ii.init(e,t),k.init(e,t)});function $m(e){return new Ha({type:"readonly",innerType:e})}var Va=f("ZodMiniTemplateLiteral",(e,t)=>{si.init(e,t),k.init(e,t)});function xm(e,t){return new Va({type:"template_literal",parts:e,...g(t)})}var Wa=f("ZodMiniLazy",(e,t)=>{ui.init(e,t),k.init(e,t)});function Xa(e){return new Wa({type:"lazy",getter:e})}var Qa=f("ZodMiniPromise",(e,t)=>{ai.init(e,t),k.init(e,t)});function wm(e){return new Qa({type:"promise",innerType:e})}var qs=f("ZodMiniCustom",(e,t)=>{li.init(e,t),k.init(e,t)});function vm(e,t){let r=new T({check:"custom",...g(t)});return r._zod.check=e,r}function eu(e,t){return Cs(qs,e??(()=>!0),t)}function km(e,t={}){return Zs(qs,e,t)}function zm(e){return Ns(e)}var Sm=Os,Pm=js;function Em(e,t={}){let r=eu(n=>n instanceof e,t);return r._zod.bag.Class=e,r._zod.check=n=>{n.value instanceof e||n.issues.push({code:"invalid_type",expected:e.name,input:n.value,inst:r,path:[...r._zod.def.path??[]]})},r}var Im=(...e)=>Ls({Codec:Gs,Boolean:mt,String:Me},...e);function Tm(){let e=Xa(()=>Ia([b(),_e(),De(),wa(),D(e),Na(b(),e)]));return e}var tu=f("ZodMiniFunction",(e,t)=>{ci.init(e,t),k.init(e,t)});function Am(e){return new tu({type:"function",input:Array.isArray(e?.input)?Za(e?.input):e?.input??D(nr()),output:e?.output??nr()})}var Hs={};$e(Hs,{ZodMiniISODate:()=>ur,ZodMiniISODateTime:()=>ar,ZodMiniISODuration:()=>pr,ZodMiniISOTime:()=>lr,date:()=>Cm,datetime:()=>Rm,duration:()=>Nm,time:()=>Zm});var ar=f("ZodMiniISODateTime",(e,t)=>{mo.init(e,t),A.init(e,t)});function Rm(e){return Li(ar,e)}var ur=f("ZodMiniISODate",(e,t)=>{ho.init(e,t),A.init(e,t)});function Cm(e){return Mi(ur,e)}var lr=f("ZodMiniISOTime",(e,t)=>{go.init(e,t),A.init(e,t)});function Zm(e){return Bi(lr,e)}var pr=f("ZodMiniISODuration",(e,t)=>{_o.init(e,t),A.init(e,t)});function Nm(e){return Di(pr,e)}var Vs={};$e(Vs,{bigint:()=>Mm,boolean:()=>Lm,date:()=>Bm,number:()=>jm,string:()=>Om});function Om(e){return mi(Me,e)}function jm(e){return Fi(dt,e)}function Lm(e){return Vi(mt,e)}function Mm(e){return Xi(ht,e)}function Bm(e){return us(or,e)}var ze=b().check(ut(1)),Dm=b().check(lt(/^https?:\/\/.+/)),Xs=E({CLANCY_BASE_BRANCH:$(b()),CLANCY_LABEL:$(b()),CLANCY_MODEL:$(b()),CLANCY_NOTIFY_WEBHOOK:$(b()),CLANCY_STATUS_IN_PROGRESS:$(b()),CLANCY_STATUS_DONE:$(b()),CLANCY_STATUS_REVIEW:$(b()),MAX_ITERATIONS:$(b()),PLAYWRIGHT_ENABLED:$(b()),PLAYWRIGHT_DEV_PORT:$(b()),CLANCY_ROLES:$(b()),CLANCY_PLAN_STATUS:$(b()),CLANCY_PLAN_LABEL:$(b()),CLANCY_PLAN_STATE_TYPE:$(b()),CLANCY_STATUS_PLANNED:$(b()),CLANCY_SKIP_COMMENTS:$(b()),GITHUB_TOKEN:$(b()),GITLAB_TOKEN:$(b()),BITBUCKET_USER:$(b()),BITBUCKET_TOKEN:$(b()),CLANCY_GIT_PLATFORM:$(b()),CLANCY_GIT_API_URL:$(b()),CLANCY_MAX_REWORK:$(b()),CLANCY_TDD:$(b()),CLANCY_MODE:$(b()),CLANCY_BRIEF_ISSUE_TYPE:$(b()),CLANCY_BRIEF_EPIC:$(b()),CLANCY_COMPONENT:$(b()),CLANCY_FIX_RETRIES:$(b()),CLANCY_VERIFY_COMMANDS:$(b()),CLANCY_TOKEN_RATE:$(b()),CLANCY_TIME_LIMIT:$(b()),CLANCY_BRANCH_GUARD:$(b())}),nu=gt(Xs,{JIRA_BASE_URL:Dm,JIRA_USER:ze,JIRA_API_TOKEN:ze,JIRA_PROJECT_KEY:ze,CLANCY_JQL_STATUS:$(b()),CLANCY_JQL_SPRINT:$(b())}),ou=gt(Xs,{GITHUB_TOKEN:ze,GITHUB_REPO:ze}),iu=gt(Xs,{LINEAR_API_KEY:ze,LINEAR_TEAM_ID:ze});function fr(e){if(e.JIRA_BASE_URL){let t=nu.safeParse(e);return t.success?{provider:"jira",env:t.data}:`\u2717 Jira env validation failed: ${t.error.message}`}if(e.GITHUB_TOKEN&&e.GITHUB_REPO){let t=ou.safeParse(e);return t.success?{provider:"github",env:t.data}:`\u2717 GitHub env validation failed: ${t.error.message}`}if(e.LINEAR_API_KEY){let t=iu.safeParse(e);return t.success?{provider:"linear",env:t.data}:`\u2717 Linear env validation failed: ${t.error.message}`}return"\u2717 No board detected \u2014 set Jira, GitHub, or Linear credentials in .clancy/.env"}function L(e){return e.env}import{appendFileSync as su,mkdirSync as Um,readFileSync as Fm}from"node:fs";import{dirname as Jm,join as cu}from"node:path";function Km(e){let t=e.getUTCFullYear(),r=String(e.getUTCMonth()+1).padStart(2,"0"),n=String(e.getUTCDate()).padStart(2,"0"),o=String(e.getUTCHours()).padStart(2,"0"),i=String(e.getUTCMinutes()).padStart(2,"0");return`${t}-${r}-${n} ${o}:${i}`}function C(e,t,r,n,o,i){let s=cu(e,".clancy","progress.txt");Um(Jm(s),{recursive:!0});let c=Km(new Date);if(n==="BRIEF"||n==="APPROVE_BRIEF"){let d=`${c} | ${n} | ${t} | ${r}
42
- `;su(s,d,"utf8");return}let a=o!=null?` | pr:${o}`:"",u=i?` | parent:${i}`:"",l=`${c} | ${t} | ${r} | ${n}${a}${u}
43
- `;su(s,l,"utf8")}function au(e){let t=cu(e,".clancy","progress.txt"),r;try{r=Fm(t,"utf8")}catch{return[]}let n=[];for(let o of r.split(`
44
- `)){let i=o.trim();if(!i)continue;let s=i.split(" | ");if(s.length<4)continue;let c=s[0];if(s[1]==="BRIEF"||s[1]==="APPROVE_BRIEF"){n.push({timestamp:c,key:s[2],summary:s.slice(3).join(" | "),status:s[1]});continue}let a=s[1],u,l,d,m=[];for(let h=2;h<s.length;h++){let y=s[h],_=y.match(/^pr:(\d+)$/),z=y.match(/^parent:(.+)$/);_?l=parseInt(_[1],10):z?d=z[1]:h>=3&&!u&&y===y.toUpperCase()&&y.length>1?u=y:m.push(y)}u&&(u==="APPROVE"&&(u="APPROVE_PLAN"),n.push({timestamp:c,key:a,summary:m.join(" | "),status:u,...l!=null&&{prNumber:l},...d!=null&&{parent:d}}))}return n}function uu(e,t){let r=au(e),n=t.toLowerCase(),o=0;for(let i of r)i.key.toLowerCase()===n&&i.status==="REWORK"&&o++;return o}function U(e,t){let r=au(e),n=new Map;for(let o of r)n.set(o.key,o);return[...n.values()].filter(o=>o.status===t)}function Ym(e){return e.startsWith("epic/")||e.startsWith("milestone/")}function dr(e,t,r,n){let o=[],i=r?Ym(r):!1;switch(e.provider){case"github":o.push(i?`Part of ${t.key}`:`Closes ${t.key}`);break;case"jira":o.push(`**Jira:** [${t.key}](${e.env.JIRA_BASE_URL}/browse/${t.key})`);break;case"linear":o.push(`**Linear:** ${t.key}`);break}return o.push(""),t.description&&(o.push("## Description"),o.push(""),o.push(t.description),o.push("")),n&&(o.push("## \u26A0 Verification Warning"),o.push(""),o.push(n),o.push(""),o.push("This PR may need manual fixes before merging."),o.push("")),o.push("---"),o.push("*Created by [Clancy](https://github.com/Pushedskydiver/clancy)*"),o.push(""),o.push("---"),o.push("<details>"),o.push("<summary><strong>Rework instructions</strong> (click to expand)</summary>"),o.push(""),o.push("To request changes:"),o.push("- **Code comments** \u2014 leave inline comments on specific lines. These are always picked up automatically."),o.push("- **General feedback** \u2014 reply with a comment starting with `Rework:` followed by what needs fixing. Comments without the `Rework:` prefix are treated as discussion."),o.push(""),o.push("Example: `Rework: The form validation doesn't handle empty passwords`"),o.push(""),o.push("</details>"),o.join(`
45
- `)}function lu(e,t,r,n){let o=[];o.push(`## ${e} \u2014 ${t}`),o.push(""),o.push("### Children"),o.push("");for(let i of r){let s=i.prNumber?` (#${i.prNumber})`:"";o.push(`- ${i.key} \u2014 ${i.summary}${s}`)}if(n==="github"){o.push(""),o.push("### Closes"),o.push("");let i=r.map(s=>s.key).filter(s=>s.startsWith("#"));e.startsWith("#")&&i.unshift(e),i.length>0&&o.push(i.map(s=>`Closes ${s}`).join(", "))}return o.push(""),o.push("---"),o.push("*Created by [Clancy](https://github.com/Pushedskydiver/clancy)*"),o.join(`
46
- `)}import{execFileSync as Gm}from"node:child_process";function pu(e){let t=e.trim().replace(/\.git$/,""),r=t.match(/^git@([^:]+):(.+)$/),n=t.match(/^(?:https?|ssh):\/\/(?:[^@]+@)?([^/:]+)(?::\d+)?\/(.+)$/),o=r?.[1]??n?.[1],i=r?.[2]??n?.[2];if(!(!o||!i))return{hostname:o,path:i}}function qm(e){let t=pu(e);if(!t)return{host:"unknown",url:e};let{hostname:r,path:n}=t;switch(Hm(r)){case"github":{let i=n.split("/");return i.length>=2?{host:"github",owner:i[0],repo:i[1],hostname:r}:{host:"unknown",url:e}}case"gitlab":return{host:"gitlab",projectPath:n,hostname:r};case"bitbucket":{let i=n.match(/^scm\/([^/]+)\/(.+)$/);if(i)return{host:"bitbucket-server",projectKey:i[1],repoSlug:i[2],hostname:r};let s=n.split("/");return s.length>=2?{host:"bitbucket",workspace:s[0],repoSlug:s[1],hostname:r}:{host:"unknown",url:e}}case"azure":return{host:"azure",url:e};default:return{host:"unknown",url:e}}}function Hm(e){let t=e.toLowerCase();return t==="github.com"||t.includes("github")?"github":t==="gitlab.com"||t.includes("gitlab")?"gitlab":t==="bitbucket.org"||t.includes("bitbucket")?"bitbucket":t.includes("dev.azure")||t.includes("visualstudio")?"azure":"unknown"}function ye(e){let t;try{t=Gm("git",["remote","get-url","origin"],{encoding:"utf8"}).trim()}catch{return{host:"none"}}return t?e?Vm(t,e):qm(t):{host:"none"}}function Vm(e,t){let r=pu(e);if(!r)return{host:"unknown",url:e};let{hostname:n,path:o}=r;switch(t.toLowerCase()){case"github":{let i=o.split("/");return i.length>=2?{host:"github",owner:i[0],repo:i[1],hostname:n}:{host:"unknown",url:e}}case"gitlab":return{host:"gitlab",projectPath:o,hostname:n};case"bitbucket":{let i=o.split("/");return i.length>=2?{host:"bitbucket",workspace:i[0],repoSlug:i[1],hostname:n}:{host:"unknown",url:e}}case"bitbucket-server":{let i=o.match(/^scm\/([^/]+)\/(.+)$/);if(i)return{host:"bitbucket-server",projectKey:i[1],repoSlug:i[2],hostname:n};let s=o.split("/");return s.length>=2?{host:"bitbucket-server",projectKey:s[0],repoSlug:s[1],hostname:n}:{host:"unknown",url:e}}default:return{host:"unknown",url:e}}}function _t(e,t){if(t)return t.replace(/\/$/,"");switch(e.host){case"github":return e.hostname==="github.com"?"https://api.github.com":`https://${e.hostname}/api/v3`;case"gitlab":return`https://${e.hostname}/api/v4`;case"bitbucket":return"https://api.bitbucket.org/2.0";case"bitbucket-server":return`https://${e.hostname}/rest/api/1.0`;default:return}}var Wm=E({id:_e(),links:E({html:$(E({href:$(b())}))}),participants:D(E({state:$(b()),role:b()}))}),fu=E({values:D(Wm)}),Xm=E({content:E({raw:b()}),inline:$(E({path:$(b())})),created_on:b(),user:$(E({nickname:$(b())}))}),Qs=E({values:D(Xm)}),Qm=E({id:_e(),links:E({self:$(D(E({href:$(b())})))}),reviewers:D(E({status:b()}))}),du=E({values:D(Qm)}),eh=E({text:b(),anchor:$(E({path:$(b())})),createdDate:_e(),author:$(E({slug:$(b())}))}),th=E({action:b(),comment:$(eh)}),ec=E({values:D(th)});async function Se(e,t,r,n,o){let i=new AbortController,s=setTimeout(()=>i.abort(),3e4);try{let c=await fetch(e,{method:"POST",headers:{...t,"Content-Type":"application/json"},body:JSON.stringify(r),signal:i.signal});if(!c.ok){let l=await c.text().catch(()=>""),d=o?.(c.status,l)??!1;return{ok:!1,error:`HTTP ${c.status}${l?`: ${l.slice(0,200)}`:""}`,alreadyExists:d}}let a=await c.json(),u=n(a);return!u.url&&!u.number?{ok:!1,error:"PR created but response missing URL and number"}:{ok:!0,url:u.url,number:u.number}}catch(c){return{ok:!1,error:c instanceof Error?c.message:String(c)}}finally{clearTimeout(s)}}function Ue(e,t){return`Basic ${Buffer.from(`${e}:${t}`).toString("base64")}`}function te(e){return e.trim().toLowerCase().startsWith("rework:")}function Pe(e){return e.trim().replace(/^rework:\s*/i,"").trim()}async function mu(e,t,r,n,o,i,s,c){return Se(`https://api.bitbucket.org/2.0/repositories/${r}/${n}/pullrequests`,{Authorization:Ue(e,t)},{title:s,description:c,source:{branch:{name:o}},destination:{branch:{name:i}},close_source_branch:!0},a=>{let u=a;return{url:u.links?.html?.href??"",number:u.id??0}},(a,u)=>a===409&&u.includes("already exists"))}async function hu(e,t,r,n,o,i,s,c){return Se(`${t}/projects/${r}/repos/${n}/pull-requests`,{Authorization:`Bearer ${e}`},{title:s,description:c,fromRef:{id:`refs/heads/${o}`,repository:{slug:n,project:{key:r}}},toRef:{id:`refs/heads/${i}`,repository:{slug:n,project:{key:r}}}},a=>{let u=a;return{url:u.links?.self?.[0]?.href??"",number:u.id??0}},(a,u)=>a===409&&(u.includes("already exists")||u.includes("Only one pull request")))}async function gu(e,t,r,n,o,i){try{return(await fetch(`https://api.bitbucket.org/2.0/repositories/${r}/${n}/pullrequests/${o}/comments`,{method:"POST",headers:{Authorization:Ue(e,t),"Content-Type":"application/json"},body:JSON.stringify({content:{raw:i}})})).ok}catch{return!1}}async function _u(e,t,r,n,o,i){try{return(await fetch(`${t}/projects/${r}/repos/${n}/pull-requests/${o}/comments`,{method:"POST",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json"},body:JSON.stringify({text:i})})).ok}catch{return!1}}async function yu(e,t,r,n,o,i){try{let s=`https://api.bitbucket.org/2.0/repositories/${r}/${n}/pullrequests?q=source.branch.name="${o}"&state=OPEN`,c=await fetch(s,{headers:{Authorization:Ue(e,t)}});if(!c.ok)return;let a=fu.parse(await c.json());if(a.values.length===0)return;let u=a.values[0],l=u.links.html?.href??"",d=`https://api.bitbucket.org/2.0/repositories/${r}/${n}/pullrequests/${u.id}/comments?pagelen=100`,m=await fetch(d,{headers:{Authorization:Ue(e,t)}});if(!m.ok)return;let h=Qs.parse(await m.json()),y=i?h.values.filter(H=>H.created_on>i):h.values,_=y.some(H=>H.inline!=null),z=y.some(H=>H.inline==null&&te(H.content.raw));return{changesRequested:_||z,prNumber:u.id,prUrl:l}}catch{return}}async function bu(e,t,r,n,o,i){try{let s=`https://api.bitbucket.org/2.0/repositories/${r}/${n}/pullrequests/${o}/comments?pagelen=100`,c=await fetch(s,{headers:{Authorization:Ue(e,t)}});if(!c.ok)return[];let a=Qs.parse(await c.json()),u=i?a.values.filter(d=>d.created_on>i):a.values,l=[];for(let d of u)if(d.inline!=null){let m=d.inline.path?`[${d.inline.path}] `:"";l.push(`${m}${d.content.raw}`)}else te(d.content.raw)&&l.push(Pe(d.content.raw));return l}catch{return[]}}async function $u(e,t,r,n,o,i){try{let s=`${t}/projects/${r}/repos/${n}/pull-requests?state=OPEN&at=refs/heads/${o}`,c=await fetch(s,{headers:{Authorization:`Bearer ${e}`}});if(!c.ok)return;let a=du.parse(await c.json());if(a.values.length===0)return;let u=a.values[0],l=u.links.self?.[0]?.href??"",d=`${t}/projects/${r}/repos/${n}/pull-requests/${u.id}/activities?limit=100`,m=await fetch(d,{headers:{Authorization:`Bearer ${e}`}});if(!m.ok)return;let h=ec.parse(await m.json()),y=i?Date.parse(i):void 0,_=h.values.filter(R=>R.action==="COMMENTED"&&R.comment&&(y==null||R.comment.createdDate>y)),z=_.some(R=>R.comment.anchor!=null),F=_.some(R=>R.comment.anchor==null&&te(R.comment.text));return{changesRequested:z||F,prNumber:u.id,prUrl:l}}catch{return}}async function xu(e,t,r,n,o,i){try{let s=`${t}/projects/${r}/repos/${n}/pull-requests/${o}/activities?limit=100`,c=await fetch(s,{headers:{Authorization:`Bearer ${e}`}});if(!c.ok)return[];let a=ec.parse(await c.json()),u=i?Date.parse(i):void 0,l=[];for(let d of a.values){if(d.action!=="COMMENTED"||!d.comment||u!=null&&d.comment.createdDate<=u)continue;let m=d.comment;if(m.anchor!=null){let h=m.anchor.path?`[${m.anchor.path}] `:"";l.push(`${h}${m.text}`)}else te(m.text)&&l.push(Pe(m.text))}return l}catch{return[]}}var rh=p.object({number:p.number(),title:p.string(),body:p.optional(p.nullable(p.string())),pull_request:p.optional(p.unknown()),milestone:p.optional(p.nullable(p.object({title:p.string()}))),labels:p.optional(p.array(p.object({name:p.optional(p.string())})))}),wu=p.array(rh),nh=p.object({id:p.number(),body:p.optional(p.nullable(p.string())),created_at:p.string(),user:p.optional(p.object({login:p.string()}))}),tc=p.array(nh),oh=p.object({number:p.number(),html_url:p.string(),state:p.string()}),vu=p.array(oh),ih=p.object({state:p.string(),user:p.object({login:p.string()}),submitted_at:p.string()}),ku=p.array(ih),sh=p.object({body:p.optional(p.nullable(p.string())),path:p.optional(p.string()),created_at:p.optional(p.string()),user:p.optional(p.object({login:p.string()}))}),rc=p.array(sh);var q="https://api.github.com";async function mr(e,t,r,n){try{let o=new AbortController,i=setTimeout(()=>o.abort(),1e4),s=await fetch(e,{headers:t,signal:o.signal});if(clearTimeout(i),s.ok)return{ok:!0};let c=r[s.status];return c?{ok:!1,error:c}:{ok:!1,error:`\u2717 HTTP ${s.status}`}}catch{return{ok:!1,error:n}}}function Q(e){return{Authorization:`Bearer ${e}`,Accept:"application/vnd.github+json","X-GitHub-Api-Version":"2022-11-28"}}function be(e){return{Authorization:`Basic ${e}`,Accept:"application/json"}}async function zu(e,t,r,n,o=q,i,s){try{let c=Q(e),a=await fetch(`${o}/repos/${t}/pulls?head=${n}:${r}&state=open`,{headers:c});if(!a.ok)return;let u=vu.parse(await a.json());if(u.length===0)return;let l=u[0],d=i?`&since=${i}`:"",[m,h]=await Promise.all([fetch(`${o}/repos/${t}/pulls/${l.number}/comments?per_page=100${d}`,{headers:c}),fetch(`${o}/repos/${t}/issues/${l.number}/comments?per_page=100${d}`,{headers:c})]);if(!m.ok||!h.ok)return;let y=rc.parse(await m.json()),_=tc.parse(await h.json()),z=s?y.filter(re=>re.user?.login!==s):y,F=s?_.filter(re=>re.user?.login!==s):_,H=z.length>0,R=F.some(re=>re.body&&te(re.body)),O=H||R,J;if(!O)try{let re=await fetch(`${o}/repos/${t}/pulls/${l.number}/reviews?per_page=100`,{headers:c});if(re.ok){let Er=ku.parse(await re.json()),ac=new Map;for(let ie of Er)ie.state==="PENDING"||ie.state==="DISMISSED"||ac.set(ie.user.login,ie.state);let uc=[...ac.entries()].filter(([,ie])=>ie==="CHANGES_REQUESTED");uc.length>0&&(O=!0,J=uc.map(([ie])=>ie))}}catch{}return{changesRequested:O,prNumber:l.number,prUrl:l.html_url,reviewers:J}}catch{return}}async function Su(e,t,r,n=q,o,i){try{let s=Q(e),c=o?`&since=${o}`:"",[a,u]=await Promise.all([fetch(`${n}/repos/${t}/pulls/${r}/comments?per_page=100${c}`,{headers:s}),fetch(`${n}/repos/${t}/issues/${r}/comments?per_page=100${c}`,{headers:s})]);if(!a.ok||!u.ok)return[];let l=rc.parse(await a.json()),d=tc.parse(await u.json()),m=i?l.filter(_=>_.user?.login!==i):l,h=i?d.filter(_=>_.user?.login!==i):d,y=[];for(let _ of m){if(!_.body)continue;let z=_.path?`[${_.path}] `:"";y.push(`${z}${_.body}`)}for(let _ of h)_.body&&te(_.body)&&y.push(Pe(_.body));return y}catch{return[]}}async function Pu(e,t,r,n,o=q){try{return(await fetch(`${o}/repos/${t}/issues/${r}/comments`,{method:"POST",headers:{...Q(e),"Content-Type":"application/json"},body:JSON.stringify({body:n})})).ok}catch{return!1}}async function Eu(e,t,r,n,o=q){try{return(await fetch(`${o}/repos/${t}/pulls/${r}/requested_reviewers`,{method:"POST",headers:{...Q(e),"Content-Type":"application/json"},body:JSON.stringify({reviewers:n})})).ok}catch{return!1}}async function Iu(e,t,r,n,o,i,s=q){return Se(`${s}/repos/${t}/pulls`,Q(e),{title:o,head:r,base:n,body:i},c=>{let a=c;return{url:a.html_url??"",number:a.number??0}},(c,a)=>c===422&&a.includes("already exists"))}var ch=E({iid:_e(),web_url:b(),detailed_merge_status:$(b())}),Tu=D(ch),ah=E({body:b(),resolvable:De(),resolved:$(De()),system:De(),type:$(cr(b())),created_at:$(b()),position:$(E({new_path:$(b())})),author:$(E({username:b()}))}),uh=E({id:$(b()),notes:D(ah)}),nc=D(uh);async function Au(e,t,r,n,o,i,s){let c=encodeURIComponent(r);return Se(`${t}/projects/${c}/merge_requests`,{"PRIVATE-TOKEN":e},{source_branch:n,target_branch:o,title:i,description:s,remove_source_branch:!0},a=>{let u=a;return{url:u.web_url??"",number:u.iid??0}},(a,u)=>a===409&&u.includes("already exists"))}async function Ru(e,t,r,n,o){try{let i=encodeURIComponent(r);return(await fetch(`${t}/projects/${i}/merge_requests/${n}/notes`,{method:"POST",headers:{"PRIVATE-TOKEN":e,"Content-Type":"application/json"},body:JSON.stringify({body:o})})).ok}catch{return!1}}async function Cu(e,t,r,n,o){let i=encodeURIComponent(r),s=0;for(let c of o)try{(await fetch(`${t}/projects/${i}/merge_requests/${n}/discussions/${c}`,{method:"PUT",headers:{"PRIVATE-TOKEN":e,"Content-Type":"application/json"},body:JSON.stringify({resolved:!0})})).ok&&s++}catch{}return s}async function Zu(e,t,r,n,o){try{let i=encodeURIComponent(r),s=`${t}/projects/${i}/merge_requests?source_branch=${n}&state=opened`,c=await fetch(s,{headers:{"PRIVATE-TOKEN":e}});if(!c.ok)return;let a=Tu.parse(await c.json());if(a.length===0)return;let u=a[0],l=`${t}/projects/${i}/merge_requests/${u.iid}/discussions?per_page=100`,d=await fetch(l,{headers:{"PRIVATE-TOKEN":e}});if(!d.ok)return;let m=nc.parse(await d.json()),h=!1;for(let y of m){for(let _ of y.notes)if(!_.system&&!(o&&_.created_at&&_.created_at<=o)){if(_.type==="DiffNote"&&_.resolvable!==!1&&_.resolved!==!0){h=!0;break}if(te(_.body)){h=!0;break}}if(h)break}return{changesRequested:h,prNumber:u.iid,prUrl:u.web_url}}catch{return}}async function Nu(e,t,r,n,o){try{let i=encodeURIComponent(r),s=`${t}/projects/${i}/merge_requests/${n}/discussions?per_page=100`,c=await fetch(s,{headers:{"PRIVATE-TOKEN":e}});if(!c.ok)return{comments:[],discussionIds:[]};let a=nc.parse(await c.json()),u=[],l=[];for(let d of a){let m=!1;for(let h of d.notes)if(!h.system&&!(o&&h.created_at&&h.created_at<=o))if(h.type==="DiffNote"&&h.resolvable!==!1&&h.resolved!==!0){let y=h.position?.new_path?`[${h.position.new_path}] `:"";u.push(`${y}${h.body}`),m=!0}else te(h.body)&&(u.push(Pe(h.body)),m=!0);m&&d.id&&l.push(d.id)}return{comments:u,discussionIds:l}}catch{return{comments:[],discussionIds:[]}}}function yt(e,t){let r=L(e);switch(t.host){case"github":if(r.GITHUB_TOKEN)return{token:r.GITHUB_TOKEN};break;case"gitlab":if(r.GITLAB_TOKEN)return{token:r.GITLAB_TOKEN};break;case"bitbucket":if(r.BITBUCKET_USER&&r.BITBUCKET_TOKEN)return{token:r.BITBUCKET_TOKEN,username:r.BITBUCKET_USER};break;case"bitbucket-server":if(r.BITBUCKET_TOKEN)return{token:r.BITBUCKET_TOKEN};break}}async function bt(e,t,r,n,o,i){let s=yt(e,t);if(!s)return;let c=_t(t,L(e).CLANCY_GIT_API_URL);if(c)switch(t.host){case"github":return Iu(s.token,`${t.owner}/${t.repo}`,r,n,o,i,c);case"gitlab":return Au(s.token,c,t.projectPath,r,n,o,i);case"bitbucket":return mu(s.username,s.token,t.workspace,t.repoSlug,r,n,o,i);case"bitbucket-server":return hu(s.token,c,t.projectKey,t.repoSlug,r,n,o,i);default:return}}function hr(e,t,r){let n=encodeURIComponent(t),o=encodeURIComponent(r);if(e.host==="github")return`https://${e.hostname}/${e.owner}/${e.repo}/compare/${o}...${n}`;if(e.host==="gitlab")return`https://${e.hostname}/${e.projectPath}/-/merge_requests/new?merge_request[source_branch]=${n}&merge_request[target_branch]=${o}`;if(e.host==="bitbucket")return`https://${e.hostname}/${e.workspace}/${e.repoSlug}/pull-requests/new?source=${n}&dest=${o}`;if(e.host==="bitbucket-server")return`https://${e.hostname}/projects/${e.projectKey}/repos/${e.repoSlug}/pull-requests?create&sourceBranch=refs/heads/${n}&targetBranch=refs/heads/${o}`}function oc(e,t){let r=pc(e),n=Ke(e);if(r)return vt(e)?!0:(console.log(S(`\u26A0 Epic branch ${e} exists on remote but could not be fetched.`)),!1);if(n)return console.log(Te(`\u2717 Epic branch ${e} exists locally but not on remote.`)),console.log(S(" This may contain work from a previous Clancy version that squash-merged locally.")),console.log(x(" To preserve this work, push it manually:")),console.log(x(` git push -u origin ${e}`)),console.log(x(" Then re-run /clancy:once to continue.")),!1;try{if(Ou("git",["fetch","origin",t],{encoding:"utf8",stdio:["pipe","pipe","pipe"],timeout:15e3}),Ou("git",["checkout","-b",e,`origin/${t}`],{encoding:"utf8"}),Ye(e))console.log(N(` \u2713 Created epic branch ${e}`));else return console.log(S(`\u26A0 Created ${e} locally but could not push to origin.`)),!1;return!0}catch(o){return console.log(Te(`\u2717 Could not create epic branch: ${o instanceof Error?o.message:String(o)}`)),!1}}async function ic(e,t,r,n,o,i=!1,s,c){if(!Ye(r)){console.log(S(`\u26A0 Could not push ${r} to origin.`)),console.log(x(" The branch is still available locally. Push manually:")),console.log(x(` git push -u origin ${r}`)),i||C(process.cwd(),t.key,t.title,"PUSH_FAILED",void 0,s),Z(n);let y=Ee(Date.now()-o);return console.log(""),console.log(S(`\u26A0 ${t.key} implemented but push failed`)+x(` (${y})`)),!1}console.log(N(` \u2713 Pushed ${r}`));let u;try{let y=ph(process.cwd(),".clancy","verify-attempt.txt"),_=lh(y,"utf8").trim(),z=parseInt(_,10);z>0&&(u=`Verification checks did not fully pass (${z} attempt(s)). Review carefully.`)}catch{}let l=L(e).CLANCY_GIT_PLATFORM,d=ye(l),m=`feat(${t.key}): ${t.title}`,h=dr(e,{key:t.key,title:t.title,description:t.description,provider:e.provider},n,u);if(d.host!=="none"&&d.host!=="unknown"&&d.host!=="azure"){let y=await bt(e,d,r,n,m,h);if(y?.ok)console.log(N(` \u2713 PR created: ${y.url}`)),i||C(process.cwd(),t.key,t.title,"PR_CREATED",y.number,s);else if(y&&!y.ok&&y.alreadyExists)console.log(S(` \u26A0 A PR/MR already exists for ${r}. Branch pushed.`)),i||C(process.cwd(),t.key,t.title,"PUSHED",void 0,s);else if(y&&!y.ok){console.log(S(` \u26A0 PR/MR creation failed: ${y.error}`));let _=hr(d,r,n);console.log(_?x(` Create one manually: ${_}`):x(" Branch pushed \u2014 create a PR/MR manually.")),i||C(process.cwd(),t.key,t.title,"PUSHED",void 0,s)}else{let _=hr(d,r,n);console.log(_?x(` Create a PR: ${_}`):x(" Branch pushed to remote. Create a PR/MR manually.")),i||C(process.cwd(),t.key,t.title,"PUSHED",void 0,s)}}else d.host==="none"?(console.log(S(`\u26A0 No git remote configured. Branch available locally: ${r}`)),i||C(process.cwd(),t.key,t.title,"LOCAL",void 0,s)):(console.log(x(" Branch pushed to remote. Create a PR/MR manually.")),i||C(process.cwd(),t.key,t.title,"PUSHED",void 0,s));if(e.provider!=="github"&&c){let y=e.env.CLANCY_STATUS_REVIEW??e.env.CLANCY_STATUS_DONE;y&&await c.transitionTicket(t,y)}return Z(n),!0}async function ju(e,t,r,n,o,i){console.log(""),console.log(N(`\u{1F389} All children of ${t} are done!`)),console.log(x(` Creating epic PR: ${n} \u2192 ${o}`));let s=U(process.cwd(),"PR_CREATED"),c=U(process.cwd(),"DONE"),a=U(process.cwd(),"REWORK"),u=U(process.cwd(),"PUSHED"),l=[...s,...c,...a,...u].filter(F=>F.parent===t),d=L(e).CLANCY_GIT_PLATFORM,m=ye(d),h=`feat(${t}): ${r}`,y=lu(t,r,l,e.provider);if(m.host==="none"||m.host==="unknown"||m.host==="azure")return console.log(S("\u26A0 Cannot create epic PR \u2014 no supported git remote detected.")),console.log(x(` Push manually: git push origin ${n}`)),console.log(x(` Then create a PR targeting ${o}`)),!1;let _=await bt(e,m,n,o,h,y);if(_?.ok){if(console.log(N(` \u2713 Epic PR created: ${_.url}`)),C(process.cwd(),t,r,"EPIC_PR_CREATED",_.number),e.provider!=="github"&&i){let F=e.env.CLANCY_STATUS_REVIEW??e.env.CLANCY_STATUS_DONE;F&&await i.transitionTicket({key:t,title:r,description:"",parentInfo:"none",blockers:"None"},F)}return!0}if(_&&!_.ok&&_.alreadyExists)return console.log(S(` \u26A0 An epic PR already exists for ${n}.`)),C(process.cwd(),t,r,"EPIC_PR_CREATED"),!0;console.log(S(`\u26A0 Epic PR creation failed: ${_?.error??"unknown error"}`)),console.log(x(" Create it manually:")),console.log(x(` Branch: ${n} \u2192 ${o}`));let z=hr(m,n,o);return z&&console.log(x(` ${z}`)),!1}async function Lu(e){let t=e.board,r=e.ticket,n=e.ticketBranch,o=e.targetBranch,i=e.baseBranch,s=e.hasParent,c=e.isRework??!1;e.originalBranch=lc();let a=!1;if(s&&!c){let l=await t.fetchChildrenStatus(r.parentInfo,r.linearIssueId);l&&l.total===1&&(a=!0)}e.skipEpicBranch=a;let u=s&&!a?o:i;if(e.effectiveTarget=u,c){if(s&&!a){if(!oc(o,i))return e.originalBranch&&Z(e.originalBranch),!1}else Tr(u,i);vt(n)?Z(n):(Z(u),Z(n,!0))}else if(s&&!a){if(!oc(o,i))return e.originalBranch&&Z(e.originalBranch),!1;Z(o),Z(n,!0)}else Tr(i,i),Z(i),Z(n,!0);try{hc(e.cwd,{pid:process.pid,ticketKey:r.key,ticketTitle:r.title,ticketBranch:n,targetBranch:u,parentKey:r.parentInfo,description:(r.description??"").slice(0,2e3),startedAt:new Date().toISOString()}),e.lockOwner=!0}catch{console.log(x(" (warning: could not write lock file \u2014 crash recovery disabled)"))}return!0}function fh(e){return e.includes("hooks.slack.com")}function dh(e){return JSON.stringify({text:e})}function mh(e){return JSON.stringify({type:"message",attachments:[{contentType:"application/vnd.microsoft.card.adaptive",content:{$schema:"http://adaptivecards.io/schemas/adaptive-card.json",type:"AdaptiveCard",version:"1.4",body:[{type:"TextBlock",text:e,wrap:!0}]}}]})}async function Mu(e,t){let r=fh(e)?dh(t):mh(t);try{let n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:r});n.ok||console.warn(`\u26A0 Notification failed: HTTP ${n.status}`)}catch{console.warn("\u26A0 Notification failed: could not reach webhook")}}async function Bu(e){let t=e.config,r=e.ticket,n=Ee(Date.now()-e.startTime);console.log(""),console.log(N(`\u{1F3C1} ${r.key} complete`)+x(` (${n})`)),console.log(x(` "Bake 'em away, toys."`));let o=t.env.CLANCY_NOTIFY_WEBHOOK;return o&&await Mu(o,`\u2713 Clancy completed [${r.key}] ${r.title}`),!0}import{appendFileSync as hh,mkdirSync as gh}from"node:fs";import{dirname as _h,join as yh}from"node:path";function Du(e,t,r,n=6600){let o=yh(e,".clancy","costs.log");gh(_h(o),{recursive:!0});let i=new Date(r).getTime(),s=Date.now(),c=Number.isNaN(i)?0:Math.max(0,s-i),a=Math.round(c/6e4),u=Math.round(a*n),d=`${new Date().toISOString()} | ${t} | ${a}min | ~${u} tokens (estimated)
47
- `;hh(o,d,"utf8")}function Uu(e){let t=e.config,r=e.ticket;try{let n=zt(e.cwd);if(n){let o=Number(t.env.CLANCY_TOKEN_RATE??"6600");Du(e.cwd,r.key,n.startedAt,Number.isFinite(o)&&o>0?o:6600)}}catch{}return!0}var bh=p.object({login:p.string()}),$h=/^[a-zA-Z0-9_.-]+\/[a-zA-Z0-9_.-]+$/,gr;function _r(e){return $h.test(e)}async function Ju(e,t){return mr(`${q}/repos/${t}`,Q(e),{401:"\u2717 GitHub auth failed \u2014 check GITHUB_TOKEN",403:"\u2717 GitHub permission denied",404:`\u2717 GitHub repo "${t}" not found`},"\u2717 Could not reach GitHub \u2014 check network")}async function Fe(e,t){if(gr)return gr;try{let r=await fetch(`${t??q}/user`,{headers:Q(e)});if(!r.ok){let i=r.status===401||r.status===403?' Fine-grained PATs need "Account permissions \u2192 read" (or classic PATs need read:user scope).':"";return console.warn(`\u26A0 GitHub /user returned HTTP ${r.status} \u2014 falling back to @me.${i}`),"@me"}let n=await r.json(),o=bh.safeParse(n);if(o.success)return gr=o.data.login,gr;console.warn("\u26A0 Unexpected GitHub /user response \u2014 falling back to @me")}catch(r){console.warn(`\u26A0 GitHub /user request failed: ${r instanceof Error?r.message:String(r)} \u2014 falling back to @me`)}return"@me"}async function yr(e,t,r,n,o,i=5){let s,c=new URLSearchParams({state:"open",assignee:n??"@me",per_page:"10"});r&&c.set("labels",r);try{s=await fetch(`${q}/repos/${t}/issues?${c}`,{headers:Q(e)})}catch(d){return console.warn(`\u26A0 GitHub API request failed: ${d instanceof Error?d.message:String(d)}`),[]}if(!s.ok)return console.warn(`\u26A0 GitHub API returned HTTP ${s.status}`),[];let a;try{a=await s.json()}catch{return console.warn("\u26A0 GitHub API returned invalid JSON"),[]}let u=wu.safeParse(a);if(!u.success)return console.warn(`\u26A0 Unexpected GitHub response shape: ${u.error.message}`),[];let l=u.data.filter(d=>!d.pull_request);return o&&(l=l.filter(d=>!d.labels?.some(m=>m.name==="clancy:hitl"))),l.slice(0,i).map(d=>({key:`#${d.number}`,title:d.title,description:d.body??"",provider:"github",milestone:d.milestone?.title}))}async function br(e,t,r,n){if(!_r(t))return!1;let o=/Blocked by #(\d+)/gi,i=new Set,s;for(;(s=o.exec(n))!==null;){let c=parseInt(s[1],10);!Number.isNaN(c)&&c!==r&&i.add(c)}if(!i.size)return!1;try{for(let c of i){let a=await fetch(`${q}/repos/${t}/issues/${c}`,{headers:Q(e)});if(!a.ok)continue;if((await a.json()).state!=="closed")return!0}return!1}catch{return!1}}async function Ku(e,t,r){if(_r(t))try{let n=await Fu(e,t,`Epic: #${r}`);return n&&n.total>0?n:await Fu(e,t,`Parent: #${r}`)}catch{return}}async function Fu(e,t,r){let n=Q(e),o=`"${r}" repo:${t} is:issue`,i=new URLSearchParams({q:o,per_page:"1"}),s=await fetch(`${q}/search/issues?${i}`,{headers:n});if(!s.ok)return;let a=(await s.json()).total_count??0;if(a===0)return{total:0,incomplete:0};let u=`"${r}" repo:${t} is:issue is:open`,l=new URLSearchParams({q:u,per_page:"1"}),d=await fetch(`${q}/search/issues?${l}`,{headers:n});if(!d.ok)return{total:a,incomplete:a};let h=(await d.json()).total_count??0;return{total:a,incomplete:h}}function $r(e,t){return e==="github"?`feature/issue-${t.replace("#","")}`:`feature/${t.toLowerCase()}`}function xr(e,t,r){return r?e==="github"?`milestone/${r.toLowerCase().replace(/\s+/g,"-").replace(/[^a-z0-9-]/g,"")}`:`epic/${r.toLowerCase()}`:t}async function Yu(e){let t=U(process.cwd(),"PR_CREATED"),r=U(process.cwd(),"REWORK"),n=U(process.cwd(),"PUSHED"),o=U(process.cwd(),"PUSH_FAILED"),i=[...t,...r,...n,...o];if(i.length===0)return;let s=L(e).CLANCY_GIT_PLATFORM,c=ye(s);if(c.host==="none"||c.host==="unknown"||c.host==="azure")return;let a=yt(e,c);if(!a)return;let u=_t(c,L(e).CLANCY_GIT_API_URL);if(!u)return;let l;if(c.host==="github")try{l=await Fe(a.token,u)}catch{}let d=i.slice(0,5);for(let m of d){let h=$r(e.provider,m.key),y;if(m.timestamp){let z=new Date(m.timestamp.replace(" ","T")+"Z");y=Number.isNaN(z.getTime())?void 0:z.toISOString()}let _;switch(c.host){case"github":_=await zu(a.token,`${c.owner}/${c.repo}`,h,c.owner,u,y,l);break;case"gitlab":_=await Zu(a.token,u,c.projectPath,h,y);break;case"bitbucket":_=await yu(a.username,a.token,c.workspace,c.repoSlug,h,y);break;case"bitbucket-server":_=await $u(a.token,u,c.projectKey,c.repoSlug,h,y);break}if(_?.changesRequested){let z=[],F;switch(c.host){case"github":z=await Su(a.token,`${c.owner}/${c.repo}`,_.prNumber,u,y,l);break;case"gitlab":{let R=await Nu(a.token,u,c.projectPath,_.prNumber,y);z=R.comments,F=R.discussionIds;break}case"bitbucket":z=await bu(a.username,a.token,c.workspace,c.repoSlug,_.prNumber,y);break;case"bitbucket-server":z=await xu(a.token,u,c.projectKey,c.repoSlug,_.prNumber,y);break}return{ticket:{key:m.key,title:m.summary,description:m.summary,parentInfo:m.parent??"none",blockers:"None"},feedback:z,prNumber:_.prNumber,discussionIds:F,reviewers:_.reviewers??[]}}}}function xh(e){if(e.length===0)return"[clancy] Rework pushed addressing reviewer feedback.";let t=e.length,r=e.slice(0,3).map(o=>`- ${o.slice(0,80)}`).join(`
39
+ `)}h.write("payload.value = newResult;"),h.write("return payload;");let W=h.compile();return(R,L)=>W(m,R,L)},i,s=we,c=!Ke.jitless,u=c&&Or.value,p=t.catchall,d;e._zod.parse=(m,h)=>{d??(d=n.value);let b=m.value;return s(b)?c&&u&&h?.async===!1&&h.jitless!==!0?(i||(i=o(t.shape)),m=i(m,h),p?ea([],b,m,h,d,e):m):r(m,h):(m.issues.push({expected:"object",code:"invalid_type",input:b,inst:e}),m)}});function Dc(e,t,r,n){for(let i of e)if(i.issues.length===0)return t.value=i.value,t;let o=e.filter(i=>!pe(i));return o.length===1?(t.value=o[0].value,o[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(i=>i.issues.map(s=>K(s,n,O())))}),t)}var ot=f("$ZodUnion",(e,t)=>{w.init(e,t),k(e._zod,"optin",()=>t.options.some(o=>o._zod.optin==="optional")?"optional":void 0),k(e._zod,"optout",()=>t.options.some(o=>o._zod.optout==="optional")?"optional":void 0),k(e._zod,"values",()=>{if(t.options.every(o=>o._zod.values))return new Set(t.options.flatMap(o=>Array.from(o._zod.values)))}),k(e._zod,"pattern",()=>{if(t.options.every(o=>o._zod.pattern)){let o=t.options.map(i=>i._zod.pattern);return new RegExp(`^(${o.map(i=>Ve(i.source)).join("|")})$`)}});let r=t.options.length===1,n=t.options[0]._zod.run;e._zod.parse=(o,i)=>{if(r)return n(o,i);let s=!1,c=[];for(let a of t.options){let u=a._zod.run({value:o.value,issues:[]},i);if(u instanceof Promise)c.push(u),s=!0;else{if(u.issues.length===0)return u;c.push(u)}}return s?Promise.all(c).then(a=>Dc(a,o,e,i)):Dc(c,o,e,i)}});function Uc(e,t,r,n){let o=e.filter(i=>i.issues.length===0);return o.length===1?(t.value=o[0].value,t):(o.length===0?t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(i=>i.issues.map(s=>K(s,n,O())))}):t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:[],inclusive:!1}),t)}var Bo=f("$ZodXor",(e,t)=>{ot.init(e,t),t.inclusive=!1;let r=t.options.length===1,n=t.options[0]._zod.run;e._zod.parse=(o,i)=>{if(r)return n(o,i);let s=!1,c=[];for(let a of t.options){let u=a._zod.run({value:o.value,issues:[]},i);u instanceof Promise?(c.push(u),s=!0):c.push(u)}return s?Promise.all(c).then(a=>Uc(a,o,e,i)):Uc(c,o,e,i)}}),Do=f("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,ot.init(e,t);let r=e._zod.parse;k(e._zod,"propValues",()=>{let o={};for(let i of t.options){let s=i._zod.propValues;if(!s||Object.keys(s).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(let[c,a]of Object.entries(s)){o[c]||(o[c]=new Set);for(let u of a)o[c].add(u)}}return o});let n=Ce(()=>{let o=t.options,i=new Map;for(let s of o){let c=s._zod.propValues?.[t.discriminator];if(!c||c.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(s)}"`);for(let a of c){if(i.has(a))throw new Error(`Duplicate discriminator value "${String(a)}"`);i.set(a,s)}}return i});e._zod.parse=(o,i)=>{let s=o.value;if(!we(s))return o.issues.push({code:"invalid_type",expected:"object",input:s,inst:e}),o;let c=n.value.get(s?.[t.discriminator]);return c?c._zod.run(o,i):t.unionFallback?r(o,i):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:s,path:[t.discriminator],inst:e}),o)}}),Uo=f("$ZodIntersection",(e,t)=>{w.init(e,t),e._zod.parse=(r,n)=>{let o=r.value,i=t.left._zod.run({value:o,issues:[]},n),s=t.right._zod.run({value:o,issues:[]},n);return i instanceof Promise||s instanceof Promise?Promise.all([i,s]).then(([a,u])=>Fc(r,a,u)):Fc(r,i,s)}});function to(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(le(e)&&le(t)){let r=Object.keys(t),n=Object.keys(e).filter(i=>r.indexOf(i)!==-1),o={...e,...t};for(let i of n){let s=to(e[i],t[i]);if(!s.valid)return{valid:!1,mergeErrorPath:[i,...s.mergeErrorPath]};o[i]=s.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<e.length;n++){let o=e[n],i=t[n],s=to(o,i);if(!s.valid)return{valid:!1,mergeErrorPath:[n,...s.mergeErrorPath]};r.push(s.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function Fc(e,t,r){let n=new Map,o;for(let c of t.issues)if(c.code==="unrecognized_keys"){o??(o=c);for(let a of c.keys)n.has(a)||n.set(a,{}),n.get(a).l=!0}else e.issues.push(c);for(let c of r.issues)if(c.code==="unrecognized_keys")for(let a of c.keys)n.has(a)||n.set(a,{}),n.get(a).r=!0;else e.issues.push(c);let i=[...n].filter(([,c])=>c.l&&c.r).map(([c])=>c);if(i.length&&o&&e.issues.push({...o,keys:i}),pe(e))return e;let s=to(t.value,r.value);if(!s.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(s.mergeErrorPath)}`);return e.value=s.data,e}var Ht=f("$ZodTuple",(e,t)=>{w.init(e,t);let r=t.items;e._zod.parse=(n,o)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({input:i,inst:e,expected:"tuple",code:"invalid_type"}),n;n.value=[];let s=[],c=[...r].reverse().findIndex(p=>p._zod.optin!=="optional"),a=c===-1?0:r.length-c;if(!t.rest){let p=i.length>r.length,d=i.length<a-1;if(p||d)return n.issues.push({...p?{code:"too_big",maximum:r.length,inclusive:!0}:{code:"too_small",minimum:r.length},input:i,inst:e,origin:"array"}),n}let u=-1;for(let p of r){if(u++,u>=i.length&&u>=a)continue;let d=p._zod.run({value:i[u],issues:[]},o);d instanceof Promise?s.push(d.then(m=>Bt(m,n,u))):Bt(d,n,u)}if(t.rest){let p=i.slice(r.length);for(let d of p){u++;let m=t.rest._zod.run({value:d,issues:[]},o);m instanceof Promise?s.push(m.then(h=>Bt(h,n,u))):Bt(m,n,u)}}return s.length?Promise.all(s).then(()=>n):n}});function Bt(e,t,r){e.issues.length&&t.issues.push(...V(r,e.issues)),t.value[r]=e.value}var Fo=f("$ZodRecord",(e,t)=>{w.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!le(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),r;let i=[],s=t.keyType._zod.values;if(s){r.value={};let c=new Set;for(let u of s)if(typeof u=="string"||typeof u=="number"||typeof u=="symbol"){c.add(typeof u=="number"?u.toString():u);let p=t.valueType._zod.run({value:o[u],issues:[]},n);p instanceof Promise?i.push(p.then(d=>{d.issues.length&&r.issues.push(...V(u,d.issues)),r.value[u]=d.value})):(p.issues.length&&r.issues.push(...V(u,p.issues)),r.value[u]=p.value)}let a;for(let u in o)c.has(u)||(a=a??[],a.push(u));a&&a.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:a})}else{r.value={};for(let c of Reflect.ownKeys(o)){if(c==="__proto__")continue;let a=t.keyType._zod.run({value:c,issues:[]},n);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof c=="string"&&jt.test(c)&&a.issues.length){let d=t.keyType._zod.run({value:Number(c),issues:[]},n);if(d instanceof Promise)throw new Error("Async schemas not supported in object keys currently");d.issues.length===0&&(a=d)}if(a.issues.length){t.mode==="loose"?r.value[c]=o[c]:r.issues.push({code:"invalid_key",origin:"record",issues:a.issues.map(d=>K(d,n,O())),input:c,path:[c],inst:e});continue}let p=t.valueType._zod.run({value:o[c],issues:[]},n);p instanceof Promise?i.push(p.then(d=>{d.issues.length&&r.issues.push(...V(c,d.issues)),r.value[a.value]=d.value})):(p.issues.length&&r.issues.push(...V(c,p.issues)),r.value[a.value]=p.value)}}return i.length?Promise.all(i).then(()=>r):r}}),Jo=f("$ZodMap",(e,t)=>{w.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!(o instanceof Map))return r.issues.push({expected:"map",code:"invalid_type",input:o,inst:e}),r;let i=[];r.value=new Map;for(let[s,c]of o){let a=t.keyType._zod.run({value:s,issues:[]},n),u=t.valueType._zod.run({value:c,issues:[]},n);a instanceof Promise||u instanceof Promise?i.push(Promise.all([a,u]).then(([p,d])=>{Jc(p,d,r,s,o,e,n)})):Jc(a,u,r,s,o,e,n)}return i.length?Promise.all(i).then(()=>r):r}});function Jc(e,t,r,n,o,i,s){e.issues.length&&(We.has(typeof n)?r.issues.push(...V(n,e.issues)):r.issues.push({code:"invalid_key",origin:"map",input:o,inst:i,issues:e.issues.map(c=>K(c,s,O()))})),t.issues.length&&(We.has(typeof n)?r.issues.push(...V(n,t.issues)):r.issues.push({origin:"map",code:"invalid_element",input:o,inst:i,key:n,issues:t.issues.map(c=>K(c,s,O()))})),r.value.set(e.value,t.value)}var Yo=f("$ZodSet",(e,t)=>{w.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!(o instanceof Set))return r.issues.push({input:o,inst:e,expected:"set",code:"invalid_type"}),r;let i=[];r.value=new Set;for(let s of o){let c=t.valueType._zod.run({value:s,issues:[]},n);c instanceof Promise?i.push(c.then(a=>Yc(a,r))):Yc(c,r)}return i.length?Promise.all(i).then(()=>r):r}});function Yc(e,t){e.issues.length&&t.issues.push(...e.issues),t.value.add(e.value)}var Go=f("$ZodEnum",(e,t)=>{w.init(e,t);let r=qe(t.entries),n=new Set(r);e._zod.values=n,e._zod.pattern=new RegExp(`^(${r.filter(o=>We.has(typeof o)).map(o=>typeof o=="string"?Q(o):o.toString()).join("|")})$`),e._zod.parse=(o,i)=>{let s=o.value;return n.has(s)||o.issues.push({code:"invalid_value",values:r,input:s,inst:e}),o}}),Ko=f("$ZodLiteral",(e,t)=>{if(w.init(e,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");let r=new Set(t.values);e._zod.values=r,e._zod.pattern=new RegExp(`^(${t.values.map(n=>typeof n=="string"?Q(n):n?Q(n.toString()):String(n)).join("|")})$`),e._zod.parse=(n,o)=>{let i=n.value;return r.has(i)||n.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),n}}),Ho=f("$ZodFile",(e,t)=>{w.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;return o instanceof File||r.issues.push({expected:"file",code:"invalid_type",input:o,inst:e}),r}}),qo=f("$ZodTransform",(e,t)=>{w.init(e,t),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Re(e.constructor.name);let o=t.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(s=>(r.value=s,r));if(o instanceof Promise)throw new te;return r.value=o,r}});function Gc(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}var qt=f("$ZodOptional",(e,t)=>{w.init(e,t),e._zod.optin="optional",e._zod.optout="optional",k(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),k(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${Ve(r.source)})?$`):void 0}),e._zod.parse=(r,n)=>{if(t.innerType._zod.optin==="optional"){let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>Gc(i,r.value)):Gc(o,r.value)}return r.value===void 0?r:t.innerType._zod.run(r,n)}}),Vo=f("$ZodExactOptional",(e,t)=>{qt.init(e,t),k(e._zod,"values",()=>t.innerType._zod.values),k(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(r,n)=>t.innerType._zod.run(r,n)}),Wo=f("$ZodNullable",(e,t)=>{w.init(e,t),k(e._zod,"optin",()=>t.innerType._zod.optin),k(e._zod,"optout",()=>t.innerType._zod.optout),k(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${Ve(r.source)}|null)$`):void 0}),k(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>r.value===null?r:t.innerType._zod.run(r,n)}),Qo=f("$ZodDefault",(e,t)=>{w.init(e,t),e._zod.optin="optional",k(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);if(r.value===void 0)return r.value=t.defaultValue,r;let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>Kc(i,t)):Kc(o,t)}});function Kc(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Xo=f("$ZodPrefault",(e,t)=>{w.init(e,t),e._zod.optin="optional",k(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>(n.direction==="backward"||r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,n))}),ei=f("$ZodNonOptional",(e,t)=>{w.init(e,t),k(e._zod,"values",()=>{let r=t.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>Hc(i,e)):Hc(o,e)}});function Hc(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}var ti=f("$ZodSuccess",(e,t)=>{w.init(e,t),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Re("ZodSuccess");let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>(r.value=i.issues.length===0,r)):(r.value=o.issues.length===0,r)}}),ri=f("$ZodCatch",(e,t)=>{w.init(e,t),k(e._zod,"optin",()=>t.innerType._zod.optin),k(e._zod,"optout",()=>t.innerType._zod.optout),k(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>(r.value=i.value,i.issues.length&&(r.value=t.catchValue({...r,error:{issues:i.issues.map(s=>K(s,n,O()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=t.catchValue({...r,error:{issues:o.issues.map(i=>K(i,n,O()))},input:r.value}),r.issues=[]),r)}}),ni=f("$ZodNaN",(e,t)=>{w.init(e,t),e._zod.parse=(r,n)=>((typeof r.value!="number"||!Number.isNaN(r.value))&&r.issues.push({input:r.value,inst:e,expected:"nan",code:"invalid_type"}),r)}),oi=f("$ZodPipe",(e,t)=>{w.init(e,t),k(e._zod,"values",()=>t.in._zod.values),k(e._zod,"optin",()=>t.in._zod.optin),k(e._zod,"optout",()=>t.out._zod.optout),k(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(r,n)=>{if(n.direction==="backward"){let i=t.out._zod.run(r,n);return i instanceof Promise?i.then(s=>Dt(s,t.in,n)):Dt(i,t.in,n)}let o=t.in._zod.run(r,n);return o instanceof Promise?o.then(i=>Dt(i,t.out,n)):Dt(o,t.out,n)}});function Dt(e,t,r){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},r)}var it=f("$ZodCodec",(e,t)=>{w.init(e,t),k(e._zod,"values",()=>t.in._zod.values),k(e._zod,"optin",()=>t.in._zod.optin),k(e._zod,"optout",()=>t.out._zod.optout),k(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(r,n)=>{if((n.direction||"forward")==="forward"){let i=t.in._zod.run(r,n);return i instanceof Promise?i.then(s=>Ut(s,t,n)):Ut(i,t,n)}else{let i=t.out._zod.run(r,n);return i instanceof Promise?i.then(s=>Ut(s,t,n)):Ut(i,t,n)}}});function Ut(e,t,r){if(e.issues.length)return e.aborted=!0,e;if((r.direction||"forward")==="forward"){let o=t.transform(e.value,e);return o instanceof Promise?o.then(i=>Ft(e,i,t.out,r)):Ft(e,o,t.out,r)}else{let o=t.reverseTransform(e.value,e);return o instanceof Promise?o.then(i=>Ft(e,i,t.in,r)):Ft(e,o,t.in,r)}}function Ft(e,t,r,n){return e.issues.length?(e.aborted=!0,e):r._zod.run({value:t,issues:e.issues},n)}var ii=f("$ZodReadonly",(e,t)=>{w.init(e,t),k(e._zod,"propValues",()=>t.innerType._zod.propValues),k(e._zod,"values",()=>t.innerType._zod.values),k(e._zod,"optin",()=>t.innerType?._zod?.optin),k(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(qc):qc(o)}});function qc(e){return e.value=Object.freeze(e.value),e}var si=f("$ZodTemplateLiteral",(e,t)=>{w.init(e,t);let r=[];for(let n of t.parts)if(typeof n=="object"&&n!==null){if(!n._zod.pattern)throw new Error(`Invalid template literal part, no pattern found: ${[...n._zod.traits].shift()}`);let o=n._zod.pattern instanceof RegExp?n._zod.pattern.source:n._zod.pattern;if(!o)throw new Error(`Invalid template literal part: ${n._zod.traits}`);let i=o.startsWith("^")?1:0,s=o.endsWith("$")?o.length-1:o.length;r.push(o.slice(i,s))}else if(n===null||Mr.has(typeof n))r.push(Q(`${n}`));else throw new Error(`Invalid template literal part: ${n}`);e._zod.pattern=new RegExp(`^${r.join("")}$`),e._zod.parse=(n,o)=>typeof n.value!="string"?(n.issues.push({input:n.value,inst:e,expected:"string",code:"invalid_type"}),n):(e._zod.pattern.lastIndex=0,e._zod.pattern.test(n.value)||n.issues.push({input:n.value,inst:e,code:"invalid_format",format:t.format??"template_literal",pattern:e._zod.pattern.source}),n)}),ci=f("$ZodFunction",(e,t)=>(w.init(e,t),e._def=t,e._zod.def=t,e.implement=r=>{if(typeof r!="function")throw new Error("implement() must be called with a function");return function(...n){let o=e._def.input?fe(e._def.input,n):n,i=Reflect.apply(r,this,o);return e._def.output?fe(e._def.output,i):i}},e.implementAsync=r=>{if(typeof r!="function")throw new Error("implementAsync() must be called with a function");return async function(...n){let o=e._def.input?await de(e._def.input,n):n,i=await Reflect.apply(r,this,o);return e._def.output?await de(e._def.output,i):i}},e._zod.parse=(r,n)=>typeof r.value!="function"?(r.issues.push({code:"invalid_type",expected:"function",input:r.value,inst:e}),r):(e._def.output&&e._def.output._zod.def.type==="promise"?r.value=e.implementAsync(r.value):r.value=e.implement(r.value),r),e.input=(...r)=>{let n=e.constructor;return Array.isArray(r[0])?new n({type:"function",input:new Ht({type:"tuple",items:r[0],rest:r[1]}),output:e._def.output}):new n({type:"function",input:r[0],output:e._def.output})},e.output=r=>{let n=e.constructor;return new n({type:"function",input:e._def.input,output:r})},e)),ai=f("$ZodPromise",(e,t)=>{w.init(e,t),e._zod.parse=(r,n)=>Promise.resolve(r.value).then(o=>t.innerType._zod.run({value:o,issues:[]},n))}),ui=f("$ZodLazy",(e,t)=>{w.init(e,t),k(e._zod,"innerType",()=>t.getter()),k(e._zod,"pattern",()=>e._zod.innerType?._zod?.pattern),k(e._zod,"propValues",()=>e._zod.innerType?._zod?.propValues),k(e._zod,"optin",()=>e._zod.innerType?._zod?.optin??void 0),k(e._zod,"optout",()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(r,n)=>e._zod.innerType._zod.run(r,n)}),li=f("$ZodCustom",(e,t)=>{A.init(e,t),w.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=r=>{let n=r.value,o=t.fn(n);if(o instanceof Promise)return o.then(i=>Vc(i,r,n,e));Vc(o,r,n,e)}});function Vc(e,t,r,n){if(!e){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),t.issues.push(Ne(o))}}var st={};xe(st,{default:()=>Gp});var Gp={};var ta,pi=Symbol("ZodOutput"),fi=Symbol("ZodInput"),Vt=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...r){let n=r[0];return this._map.set(t,n),n&&typeof n=="object"&&"id"in n&&this._idmap.set(n.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){let r=this._map.get(t);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(t),this}get(t){let r=t._zod.parent;if(r){let n={...this.get(r)??{}};delete n.id;let o={...n,...this._map.get(t)};return Object.keys(o).length?o:void 0}return this._map.get(t)}has(t){return this._map.has(t)}};function Wt(){return new Vt}(ta=globalThis).__zod_globalRegistry??(ta.__zod_globalRegistry=Wt());var oe=globalThis.__zod_globalRegistry;function di(e,t){return new e({type:"string",...g(t)})}function mi(e,t){return new e({type:"string",coerce:!0,...g(t)})}function hi(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...g(t)})}function gi(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...g(t)})}function _i(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...g(t)})}function bi(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...g(t)})}function yi(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...g(t)})}function $i(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...g(t)})}function Qt(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...g(t)})}function xi(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...g(t)})}function wi(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...g(t)})}function ki(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...g(t)})}function vi(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...g(t)})}function zi(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...g(t)})}function Si(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...g(t)})}function Pi(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...g(t)})}function Ii(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...g(t)})}function Ei(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...g(t)})}function Ai(e,t){return new e({type:"string",format:"mac",check:"string_format",abort:!1,...g(t)})}function Ti(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...g(t)})}function Ri(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...g(t)})}function Ci(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...g(t)})}function Zi(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...g(t)})}function Ni(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...g(t)})}function Li(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...g(t)})}var ji={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6};function Oi(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...g(t)})}function Mi(e,t){return new e({type:"string",format:"date",check:"string_format",...g(t)})}function Bi(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...g(t)})}function Di(e,t){return new e({type:"string",format:"duration",check:"string_format",...g(t)})}function Ui(e,t){return new e({type:"number",checks:[],...g(t)})}function Fi(e,t){return new e({type:"number",coerce:!0,checks:[],...g(t)})}function Ji(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...g(t)})}function Yi(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float32",...g(t)})}function Gi(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float64",...g(t)})}function Ki(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"int32",...g(t)})}function Hi(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"uint32",...g(t)})}function qi(e,t){return new e({type:"boolean",...g(t)})}function Vi(e,t){return new e({type:"boolean",coerce:!0,...g(t)})}function Wi(e,t){return new e({type:"bigint",...g(t)})}function Qi(e,t){return new e({type:"bigint",coerce:!0,...g(t)})}function Xi(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...g(t)})}function es(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...g(t)})}function ts(e,t){return new e({type:"symbol",...g(t)})}function rs(e,t){return new e({type:"undefined",...g(t)})}function ns(e,t){return new e({type:"null",...g(t)})}function os(e){return new e({type:"any"})}function is(e){return new e({type:"unknown"})}function ss(e,t){return new e({type:"never",...g(t)})}function cs(e,t){return new e({type:"void",...g(t)})}function as(e,t){return new e({type:"date",...g(t)})}function us(e,t){return new e({type:"date",coerce:!0,...g(t)})}function ls(e,t){return new e({type:"nan",...g(t)})}function Xt(e,t){return new Ot({check:"less_than",...g(t),value:e,inclusive:!1})}function ct(e,t){return new Ot({check:"less_than",...g(t),value:e,inclusive:!0})}function er(e,t){return new Mt({check:"greater_than",...g(t),value:e,inclusive:!1})}function at(e,t){return new Mt({check:"greater_than",...g(t),value:e,inclusive:!0})}function ps(e){return er(0,e)}function fs(e){return Xt(0,e)}function ds(e){return ct(0,e)}function ms(e){return at(0,e)}function hs(e,t){return new Ln({check:"multiple_of",...g(t),value:e})}function gs(e,t){return new Mn({check:"max_size",...g(t),maximum:e})}function _s(e,t){return new Bn({check:"min_size",...g(t),minimum:e})}function bs(e,t){return new Dn({check:"size_equals",...g(t),size:e})}function ys(e,t){return new Un({check:"max_length",...g(t),maximum:e})}function ut(e,t){return new Fn({check:"min_length",...g(t),minimum:e})}function $s(e,t){return new Jn({check:"length_equals",...g(t),length:e})}function lt(e,t){return new Yn({check:"string_format",format:"regex",...g(t),pattern:e})}function xs(e){return new Gn({check:"string_format",format:"lowercase",...g(e)})}function ws(e){return new Kn({check:"string_format",format:"uppercase",...g(e)})}function ks(e,t){return new Hn({check:"string_format",format:"includes",...g(t),includes:e})}function vs(e,t){return new qn({check:"string_format",format:"starts_with",...g(t),prefix:e})}function zs(e,t){return new Vn({check:"string_format",format:"ends_with",...g(t),suffix:e})}function Ss(e,t,r){return new Wn({check:"property",property:e,schema:t,...g(r)})}function Ps(e,t){return new Qn({check:"mime_type",mime:e,...g(t)})}function me(e){return new Xn({check:"overwrite",tx:e})}function Is(e){return me(t=>t.normalize(e))}function Es(){return me(e=>e.trim())}function As(){return me(e=>e.toLowerCase())}function Ts(){return me(e=>e.toUpperCase())}function Hp(){return me(e=>jr(e))}function qp(e,t,r){return new e({type:"array",element:t,...g(r)})}function Vp(e,t,r){return new e({type:"union",options:t,...g(r)})}function Wp(e,t,r){return new e({type:"union",options:t,inclusive:!1,...g(r)})}function Qp(e,t,r,n){return new e({type:"union",options:r,discriminator:t,...g(n)})}function Xp(e,t,r){return new e({type:"intersection",left:t,right:r})}function ef(e,t,r,n){let o=r instanceof w,i=o?n:r,s=o?r:null;return new e({type:"tuple",items:t,rest:s,...g(i)})}function tf(e,t,r,n){return new e({type:"record",keyType:t,valueType:r,...g(n)})}function rf(e,t,r,n){return new e({type:"map",keyType:t,valueType:r,...g(n)})}function nf(e,t,r){return new e({type:"set",valueType:t,...g(r)})}function of(e,t,r){let n=Array.isArray(t)?Object.fromEntries(t.map(o=>[o,o])):t;return new e({type:"enum",entries:n,...g(r)})}function sf(e,t,r){return new e({type:"enum",entries:t,...g(r)})}function cf(e,t,r){return new e({type:"literal",values:Array.isArray(t)?t:[t],...g(r)})}function Rs(e,t){return new e({type:"file",...g(t)})}function af(e,t){return new e({type:"transform",transform:t})}function uf(e,t){return new e({type:"optional",innerType:t})}function lf(e,t){return new e({type:"nullable",innerType:t})}function pf(e,t,r){return new e({type:"default",innerType:t,get defaultValue(){return typeof r=="function"?r():Ze(r)}})}function ff(e,t,r){return new e({type:"nonoptional",innerType:t,...g(r)})}function df(e,t){return new e({type:"success",innerType:t})}function mf(e,t,r){return new e({type:"catch",innerType:t,catchValue:typeof r=="function"?r:()=>r})}function hf(e,t,r){return new e({type:"pipe",in:t,out:r})}function gf(e,t){return new e({type:"readonly",innerType:t})}function _f(e,t,r){return new e({type:"template_literal",parts:t,...g(r)})}function bf(e,t){return new e({type:"lazy",getter:t})}function yf(e,t){return new e({type:"promise",innerType:t})}function Cs(e,t,r){let n=g(r);return n.abort??(n.abort=!0),new e({type:"custom",check:"custom",fn:t,...n})}function Zs(e,t,r){return new e({type:"custom",check:"custom",fn:t,...g(r)})}function Ns(e){let t=ra(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(Ne(n,r.value,t._zod.def));else{let o=n;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=t),o.continue??(o.continue=!t._zod.def.abort),r.issues.push(Ne(o))}},e(r.value,r)));return t}function ra(e,t){let r=new A({check:"custom",...g(t)});return r._zod.check=e,r}function Ls(e){let t=new A({check:"describe"});return t._zod.onattach=[r=>{let n=oe.get(r)??{};oe.add(r,{...n,description:e})}],t._zod.check=()=>{},t}function js(e){let t=new A({check:"meta"});return t._zod.onattach=[r=>{let n=oe.get(r)??{};oe.add(r,{...n,...e})}],t._zod.check=()=>{},t}function Os(e,t){let r=g(t),n=r.truthy??["true","1","yes","on","y","enabled"],o=r.falsy??["false","0","no","off","n","disabled"];r.case!=="sensitive"&&(n=n.map(h=>typeof h=="string"?h.toLowerCase():h),o=o.map(h=>typeof h=="string"?h.toLowerCase():h));let i=new Set(n),s=new Set(o),c=e.Codec??it,a=e.Boolean??nt,u=e.String??je,p=new u({type:"string",error:r.error}),d=new a({type:"boolean",error:r.error}),m=new c({type:"pipe",in:p,out:d,transform:((h,b)=>{let _=h;return r.case!=="sensitive"&&(_=_.toLowerCase()),i.has(_)?!0:s.has(_)?!1:(b.issues.push({code:"invalid_value",expected:"stringbool",values:[...i,...s],input:b.value,inst:m,continue:!1}),{})}),reverseTransform:((h,b)=>h===!0?n[0]||"true":o[0]||"false"),error:r.error});return m}function Oe(e,t,r,n={}){let o=g(n),i={...g(n),check:"string_format",type:"string",format:t,fn:typeof r=="function"?r:c=>r.test(c),...o};return r instanceof RegExp&&(i.pattern=r),new e(i)}function he(e){let t=e?.target??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??oe,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function P(e,t,r={path:[],schemaPath:[]}){var n;let o=e._zod.def,i=t.seen.get(e);if(i)return i.count++,r.schemaPath.includes(e)&&(i.cycle=r.path),i.schema;let s={schema:{},count:1,cycle:void 0,path:r.path};t.seen.set(e,s);let c=e._zod.toJSONSchema?.();if(c)s.schema=c;else{let p={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,s.schema,p);else{let m=s.schema,h=t.processors[o.type];if(!h)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);h(e,t,m,p)}let d=e._zod.parent;d&&(s.ref||(s.ref=d),P(d,t,p),t.seen.get(d).isParent=!0)}let a=t.metadataRegistry.get(e);return a&&Object.assign(s.schema,a),t.io==="input"&&U(e)&&(delete s.schema.examples,delete s.schema.default),t.io==="input"&&s.schema._prefault&&((n=s.schema).default??(n.default=s.schema._prefault)),delete s.schema._prefault,t.seen.get(e).schema}function ge(e,t){let r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let n=new Map;for(let s of e.seen.entries()){let c=e.metadataRegistry.get(s[0])?.id;if(c){let a=n.get(c);if(a&&a!==s[0])throw new Error(`Duplicate schema id "${c}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);n.set(c,s[0])}}let o=s=>{let c=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){let d=e.external.registry.get(s[0])?.id,m=e.external.uri??(b=>b);if(d)return{ref:m(d)};let h=s[1].defId??s[1].schema.id??`schema${e.counter++}`;return s[1].defId=h,{defId:h,ref:`${m("__shared")}#/${c}/${h}`}}if(s[1]===r)return{ref:"#"};let u=`#/${c}/`,p=s[1].schema.id??`__schema${e.counter++}`;return{defId:p,ref:u+p}},i=s=>{if(s[1].schema.$ref)return;let c=s[1],{ref:a,defId:u}=o(s);c.def={...c.schema},u&&(c.defId=u);let p=c.schema;for(let d in p)delete p[d];p.$ref=a};if(e.cycles==="throw")for(let s of e.seen.entries()){let c=s[1];if(c.cycle)throw new Error(`Cycle detected: #/${c.cycle?.join("/")}/<root>
40
+
41
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let s of e.seen.entries()){let c=s[1];if(t===s[0]){i(s);continue}if(e.external){let u=e.external.registry.get(s[0])?.id;if(t!==s[0]&&u){i(s);continue}}if(e.metadataRegistry.get(s[0])?.id){i(s);continue}if(c.cycle){i(s);continue}if(c.count>1&&e.reused==="ref"){i(s);continue}}}function _e(e,t){let r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let n=s=>{let c=e.seen.get(s);if(c.ref===null)return;let a=c.def??c.schema,u={...a},p=c.ref;if(c.ref=null,p){n(p);let m=e.seen.get(p),h=m.schema;if(h.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(a.allOf=a.allOf??[],a.allOf.push(h)):Object.assign(a,h),Object.assign(a,u),s._zod.parent===p)for(let _ in a)_==="$ref"||_==="allOf"||_ in u||delete a[_];if(h.$ref&&m.def)for(let _ in a)_==="$ref"||_==="allOf"||_ in m.def&&JSON.stringify(a[_])===JSON.stringify(m.def[_])&&delete a[_]}let d=s._zod.parent;if(d&&d!==p){n(d);let m=e.seen.get(d);if(m?.schema.$ref&&(a.$ref=m.schema.$ref,m.def))for(let h in a)h==="$ref"||h==="allOf"||h in m.def&&JSON.stringify(a[h])===JSON.stringify(m.def[h])&&delete a[h]}e.override({zodSchema:s,jsonSchema:a,path:c.path??[]})};for(let s of[...e.seen.entries()].reverse())n(s[0]);let o={};if(e.target==="draft-2020-12"?o.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?o.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?o.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){let s=e.external.registry.get(t)?.id;if(!s)throw new Error("Schema is missing an `id` property");o.$id=e.external.uri(s)}Object.assign(o,r.def??r.schema);let i=e.external?.defs??{};for(let s of e.seen.entries()){let c=s[1];c.def&&c.defId&&(i[c.defId]=c.def)}e.external||Object.keys(i).length>0&&(e.target==="draft-2020-12"?o.$defs=i:o.definitions=i);try{let s=JSON.parse(JSON.stringify(o));return Object.defineProperty(s,"~standard",{value:{...t["~standard"],jsonSchema:{input:Ms(t,"input",e.processors),output:Ms(t,"output",e.processors)}},enumerable:!1,writable:!1}),s}catch{throw new Error("Error converting schema to JSON.")}}function U(e,t){let r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);let n=e._zod.def;if(n.type==="transform")return!0;if(n.type==="array")return U(n.element,r);if(n.type==="set")return U(n.valueType,r);if(n.type==="lazy")return U(n.getter(),r);if(n.type==="promise"||n.type==="optional"||n.type==="nonoptional"||n.type==="nullable"||n.type==="readonly"||n.type==="default"||n.type==="prefault")return U(n.innerType,r);if(n.type==="intersection")return U(n.left,r)||U(n.right,r);if(n.type==="record"||n.type==="map")return U(n.keyType,r)||U(n.valueType,r);if(n.type==="pipe")return U(n.in,r)||U(n.out,r);if(n.type==="object"){for(let o in n.shape)if(U(n.shape[o],r))return!0;return!1}if(n.type==="union"){for(let o of n.options)if(U(o,r))return!0;return!1}if(n.type==="tuple"){for(let o of n.items)if(U(o,r))return!0;return!!(n.rest&&U(n.rest,r))}return!1}var $f=(e,t={})=>r=>{let n=he({...r,processors:t});return P(e,n),ge(n,e),_e(n,e)},Ms=(e,t,r={})=>n=>{let{libraryOptions:o,target:i}=n??{},s=he({...o??{},target:i,io:t,processors:r});return P(e,s),ge(s,e),_e(s,e)};var xf={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},wf=(e,t,r,n)=>{let o=r;o.type="string";let{minimum:i,maximum:s,format:c,patterns:a,contentEncoding:u}=e._zod.bag;if(typeof i=="number"&&(o.minLength=i),typeof s=="number"&&(o.maxLength=s),c&&(o.format=xf[c]??c,o.format===""&&delete o.format,c==="time"&&delete o.format),u&&(o.contentEncoding=u),a&&a.size>0){let p=[...a];p.length===1?o.pattern=p[0].source:p.length>1&&(o.allOf=[...p.map(d=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))])}},kf=(e,t,r,n)=>{let o=r,{minimum:i,maximum:s,format:c,multipleOf:a,exclusiveMaximum:u,exclusiveMinimum:p}=e._zod.bag;typeof c=="string"&&c.includes("int")?o.type="integer":o.type="number",typeof p=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(o.minimum=p,o.exclusiveMinimum=!0):o.exclusiveMinimum=p),typeof i=="number"&&(o.minimum=i,typeof p=="number"&&t.target!=="draft-04"&&(p>=i?delete o.minimum:delete o.exclusiveMinimum)),typeof u=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(o.maximum=u,o.exclusiveMaximum=!0):o.exclusiveMaximum=u),typeof s=="number"&&(o.maximum=s,typeof u=="number"&&t.target!=="draft-04"&&(u<=s?delete o.maximum:delete o.exclusiveMaximum)),typeof a=="number"&&(o.multipleOf=a)},vf=(e,t,r,n)=>{r.type="boolean"},zf=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},Sf=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},Pf=(e,t,r,n)=>{t.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"},If=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},Ef=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},Af=(e,t,r,n)=>{r.not={}},Tf=(e,t,r,n)=>{},Rf=(e,t,r,n)=>{},Cf=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},Zf=(e,t,r,n)=>{let o=e._zod.def,i=qe(o.entries);i.every(s=>typeof s=="number")&&(r.type="number"),i.every(s=>typeof s=="string")&&(r.type="string"),r.enum=i},Nf=(e,t,r,n)=>{let o=e._zod.def,i=[];for(let s of o.values)if(s===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof s=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");i.push(Number(s))}else i.push(s);if(i.length!==0)if(i.length===1){let s=i[0];r.type=s===null?"null":typeof s,t.target==="draft-04"||t.target==="openapi-3.0"?r.enum=[s]:r.const=s}else i.every(s=>typeof s=="number")&&(r.type="number"),i.every(s=>typeof s=="string")&&(r.type="string"),i.every(s=>typeof s=="boolean")&&(r.type="boolean"),i.every(s=>s===null)&&(r.type="null"),r.enum=i},Lf=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},jf=(e,t,r,n)=>{let o=r,i=e._zod.pattern;if(!i)throw new Error("Pattern not found in template literal");o.type="string",o.pattern=i.source},Of=(e,t,r,n)=>{let o=r,i={type:"string",format:"binary",contentEncoding:"binary"},{minimum:s,maximum:c,mime:a}=e._zod.bag;s!==void 0&&(i.minLength=s),c!==void 0&&(i.maxLength=c),a?a.length===1?(i.contentMediaType=a[0],Object.assign(o,i)):(Object.assign(o,i),o.anyOf=a.map(u=>({contentMediaType:u}))):Object.assign(o,i)},Mf=(e,t,r,n)=>{r.type="boolean"},Bf=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Df=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},Uf=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Ff=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},Jf=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},Yf=(e,t,r,n)=>{let o=r,i=e._zod.def,{minimum:s,maximum:c}=e._zod.bag;typeof s=="number"&&(o.minItems=s),typeof c=="number"&&(o.maxItems=c),o.type="array",o.items=P(i.element,t,{...n,path:[...n.path,"items"]})},Gf=(e,t,r,n)=>{let o=r,i=e._zod.def;o.type="object",o.properties={};let s=i.shape;for(let u in s)o.properties[u]=P(s[u],t,{...n,path:[...n.path,"properties",u]});let c=new Set(Object.keys(s)),a=new Set([...c].filter(u=>{let p=i.shape[u]._zod;return t.io==="input"?p.optin===void 0:p.optout===void 0}));a.size>0&&(o.required=Array.from(a)),i.catchall?._zod.def.type==="never"?o.additionalProperties=!1:i.catchall?i.catchall&&(o.additionalProperties=P(i.catchall,t,{...n,path:[...n.path,"additionalProperties"]})):t.io==="output"&&(o.additionalProperties=!1)},Kf=(e,t,r,n)=>{let o=e._zod.def,i=o.inclusive===!1,s=o.options.map((c,a)=>P(c,t,{...n,path:[...n.path,i?"oneOf":"anyOf",a]}));i?r.oneOf=s:r.anyOf=s},Hf=(e,t,r,n)=>{let o=e._zod.def,i=P(o.left,t,{...n,path:[...n.path,"allOf",0]}),s=P(o.right,t,{...n,path:[...n.path,"allOf",1]}),c=u=>"allOf"in u&&Object.keys(u).length===1,a=[...c(i)?i.allOf:[i],...c(s)?s.allOf:[s]];r.allOf=a},qf=(e,t,r,n)=>{let o=r,i=e._zod.def;o.type="array";let s=t.target==="draft-2020-12"?"prefixItems":"items",c=t.target==="draft-2020-12"||t.target==="openapi-3.0"?"items":"additionalItems",a=i.items.map((m,h)=>P(m,t,{...n,path:[...n.path,s,h]})),u=i.rest?P(i.rest,t,{...n,path:[...n.path,c,...t.target==="openapi-3.0"?[i.items.length]:[]]}):null;t.target==="draft-2020-12"?(o.prefixItems=a,u&&(o.items=u)):t.target==="openapi-3.0"?(o.items={anyOf:a},u&&o.items.anyOf.push(u),o.minItems=a.length,u||(o.maxItems=a.length)):(o.items=a,u&&(o.additionalItems=u));let{minimum:p,maximum:d}=e._zod.bag;typeof p=="number"&&(o.minItems=p),typeof d=="number"&&(o.maxItems=d)},Vf=(e,t,r,n)=>{let o=r,i=e._zod.def;o.type="object";let s=i.keyType,a=s._zod.bag?.patterns;if(i.mode==="loose"&&a&&a.size>0){let p=P(i.valueType,t,{...n,path:[...n.path,"patternProperties","*"]});o.patternProperties={};for(let d of a)o.patternProperties[d.source]=p}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(o.propertyNames=P(i.keyType,t,{...n,path:[...n.path,"propertyNames"]})),o.additionalProperties=P(i.valueType,t,{...n,path:[...n.path,"additionalProperties"]});let u=s._zod.values;if(u){let p=[...u].filter(d=>typeof d=="string"||typeof d=="number");p.length>0&&(o.required=p)}},Wf=(e,t,r,n)=>{let o=e._zod.def,i=P(o.innerType,t,n),s=t.seen.get(e);t.target==="openapi-3.0"?(s.ref=o.innerType,r.nullable=!0):r.anyOf=[i,{type:"null"}]},Qf=(e,t,r,n)=>{let o=e._zod.def;P(o.innerType,t,n);let i=t.seen.get(e);i.ref=o.innerType},Xf=(e,t,r,n)=>{let o=e._zod.def;P(o.innerType,t,n);let i=t.seen.get(e);i.ref=o.innerType,r.default=JSON.parse(JSON.stringify(o.defaultValue))},ed=(e,t,r,n)=>{let o=e._zod.def;P(o.innerType,t,n);let i=t.seen.get(e);i.ref=o.innerType,t.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(o.defaultValue)))},td=(e,t,r,n)=>{let o=e._zod.def;P(o.innerType,t,n);let i=t.seen.get(e);i.ref=o.innerType;let s;try{s=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=s},rd=(e,t,r,n)=>{let o=e._zod.def,i=t.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;P(i,t,n);let s=t.seen.get(e);s.ref=i},nd=(e,t,r,n)=>{let o=e._zod.def;P(o.innerType,t,n);let i=t.seen.get(e);i.ref=o.innerType,r.readOnly=!0},od=(e,t,r,n)=>{let o=e._zod.def;P(o.innerType,t,n);let i=t.seen.get(e);i.ref=o.innerType},id=(e,t,r,n)=>{let o=e._zod.def;P(o.innerType,t,n);let i=t.seen.get(e);i.ref=o.innerType},sd=(e,t,r,n)=>{let o=e._zod.innerType;P(o,t,n);let i=t.seen.get(e);i.ref=o},tr={string:wf,number:kf,boolean:vf,bigint:zf,symbol:Sf,null:Pf,undefined:If,void:Ef,never:Af,any:Tf,unknown:Rf,date:Cf,enum:Zf,literal:Nf,nan:Lf,template_literal:jf,file:Of,success:Mf,custom:Bf,function:Df,transform:Uf,map:Ff,set:Jf,array:Yf,object:Gf,union:Kf,intersection:Hf,tuple:qf,record:Vf,nullable:Wf,nonoptional:Qf,default:Xf,prefault:ed,catch:td,pipe:rd,readonly:nd,promise:od,optional:id,lazy:sd};function rr(e,t){if("_idmap"in e){let n=e,o=he({...t,processors:tr}),i={};for(let a of n._idmap.entries()){let[u,p]=a;P(p,o)}let s={},c={registry:n,uri:t?.uri,defs:i};o.external=c;for(let a of n._idmap.entries()){let[u,p]=a;ge(o,p),s[u]=_e(o,p)}if(Object.keys(i).length>0){let a=o.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[a]:i}}return{schemas:s}}let r=he({...t,processors:tr});return P(e,r),ge(r,e),_e(r,e)}var nr=class{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(t){this.ctx.counter=t}get seen(){return this.ctx.seen}constructor(t){let r=t?.target??"draft-2020-12";r==="draft-4"&&(r="draft-04"),r==="draft-7"&&(r="draft-07"),this.ctx=he({processors:tr,target:r,...t?.metadata&&{metadata:t.metadata},...t?.unrepresentable&&{unrepresentable:t.unrepresentable},...t?.override&&{override:t.override},...t?.io&&{io:t.io}})}process(t,r={path:[],schemaPath:[]}){return P(t,this.ctx,r)}emit(t,r){r&&(r.cycles&&(this.ctx.cycles=r.cycles),r.reused&&(this.ctx.reused=r.reused),r.external&&(this.ctx.external=r.external)),ge(this.ctx,t);let n=_e(this.ctx,t),{"~standard":o,...i}=n;return i}};var na={};var v=f("ZodMiniType",(e,t)=>{if(!e._zod)throw new Error("Uninitialized schema in ZodMiniType.");w.init(e,t),e.def=t,e.type=t.type,e.parse=(r,n)=>fe(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>ke(e,r,n),e.parseAsync=async(r,n)=>de(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>ve(e,r,n),e.check=(...r)=>e.clone({...t,checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]},{parent:!0}),e.with=e.check,e.clone=(r,n)=>D(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e)),e.apply=r=>r(e)}),Be=f("ZodMiniString",(e,t)=>{je.init(e,t),v.init(e,t)});function y(e){return di(Be,e)}var T=f("ZodMiniStringFormat",(e,t)=>{E.init(e,t),Be.init(e,t)}),oa=f("ZodMiniEmail",(e,t)=>{oo.init(e,t),T.init(e,t)});function ad(e){return hi(oa,e)}var ia=f("ZodMiniGUID",(e,t)=>{ro.init(e,t),T.init(e,t)});function ud(e){return gi(ia,e)}var pt=f("ZodMiniUUID",(e,t)=>{no.init(e,t),T.init(e,t)});function ld(e){return _i(pt,e)}function pd(e){return bi(pt,e)}function fd(e){return yi(pt,e)}function dd(e){return $i(pt,e)}var Bs=f("ZodMiniURL",(e,t)=>{io.init(e,t),T.init(e,t)});function md(e){return Qt(Bs,e)}function hd(e){return Qt(Bs,{protocol:/^https?$/,hostname:ee.domain,...g(e)})}var sa=f("ZodMiniEmoji",(e,t)=>{so.init(e,t),T.init(e,t)});function gd(e){return xi(sa,e)}var ca=f("ZodMiniNanoID",(e,t)=>{co.init(e,t),T.init(e,t)});function _d(e){return wi(ca,e)}var aa=f("ZodMiniCUID",(e,t)=>{ao.init(e,t),T.init(e,t)});function bd(e){return ki(aa,e)}var ua=f("ZodMiniCUID2",(e,t)=>{uo.init(e,t),T.init(e,t)});function yd(e){return vi(ua,e)}var la=f("ZodMiniULID",(e,t)=>{lo.init(e,t),T.init(e,t)});function $d(e){return zi(la,e)}var pa=f("ZodMiniXID",(e,t)=>{po.init(e,t),T.init(e,t)});function xd(e){return Si(pa,e)}var fa=f("ZodMiniKSUID",(e,t)=>{fo.init(e,t),T.init(e,t)});function wd(e){return Pi(fa,e)}var da=f("ZodMiniIPv4",(e,t)=>{bo.init(e,t),T.init(e,t)});function kd(e){return Ii(da,e)}var ma=f("ZodMiniIPv6",(e,t)=>{yo.init(e,t),T.init(e,t)});function vd(e){return Ei(ma,e)}var ha=f("ZodMiniCIDRv4",(e,t)=>{xo.init(e,t),T.init(e,t)});function zd(e){return Ti(ha,e)}var ga=f("ZodMiniCIDRv6",(e,t)=>{wo.init(e,t),T.init(e,t)});function Sd(e){return Ri(ga,e)}var _a=f("ZodMiniMAC",(e,t)=>{$o.init(e,t),T.init(e,t)});function Pd(e){return Ai(_a,e)}var ba=f("ZodMiniBase64",(e,t)=>{vo.init(e,t),T.init(e,t)});function Id(e){return Ci(ba,e)}var ya=f("ZodMiniBase64URL",(e,t)=>{zo.init(e,t),T.init(e,t)});function Ed(e){return Zi(ya,e)}var $a=f("ZodMiniE164",(e,t)=>{So.init(e,t),T.init(e,t)});function Ad(e){return Ni($a,e)}var xa=f("ZodMiniJWT",(e,t)=>{Po.init(e,t),T.init(e,t)});function Td(e){return Li(xa,e)}var ft=f("ZodMiniCustomStringFormat",(e,t)=>{Io.init(e,t),T.init(e,t)});function Rd(e,t,r={}){return Oe(ft,e,t,r)}function Cd(e){return Oe(ft,"hostname",ee.hostname,e)}function Zd(e){return Oe(ft,"hex",ee.hex,e)}function Nd(e,t){let r=t?.enc??"hex",n=`${e}_${r}`,o=ee[n];if(!o)throw new Error(`Unrecognized hash format: ${n}`);return Oe(ft,n,o,t)}var dt=f("ZodMiniNumber",(e,t)=>{Yt.init(e,t),v.init(e,t)});function be(e){return Ui(dt,e)}var De=f("ZodMiniNumberFormat",(e,t)=>{Eo.init(e,t),dt.init(e,t)});function Ld(e){return Ji(De,e)}function jd(e){return Yi(De,e)}function Od(e){return Gi(De,e)}function Md(e){return Ki(De,e)}function Bd(e){return Hi(De,e)}var mt=f("ZodMiniBoolean",(e,t)=>{nt.init(e,t),v.init(e,t)});function Ue(e){return qi(mt,e)}var ht=f("ZodMiniBigInt",(e,t)=>{Gt.init(e,t),v.init(e,t)});function Dd(e){return Wi(ht,e)}var Ds=f("ZodMiniBigIntFormat",(e,t)=>{Ao.init(e,t),ht.init(e,t)});function Ud(e){return Xi(Ds,e)}function Fd(e){return es(Ds,e)}var wa=f("ZodMiniSymbol",(e,t)=>{To.init(e,t),v.init(e,t)});function Jd(e){return ts(wa,e)}var ka=f("ZodMiniUndefined",(e,t)=>{Ro.init(e,t),v.init(e,t)});function Yd(e){return rs(ka,e)}var va=f("ZodMiniNull",(e,t)=>{Co.init(e,t),v.init(e,t)});function za(e){return ns(va,e)}var Sa=f("ZodMiniAny",(e,t)=>{Zo.init(e,t),v.init(e,t)});function Gd(){return os(Sa)}var Pa=f("ZodMiniUnknown",(e,t)=>{No.init(e,t),v.init(e,t)});function or(){return is(Pa)}var Ia=f("ZodMiniNever",(e,t)=>{Lo.init(e,t),v.init(e,t)});function Ea(e){return ss(Ia,e)}var Aa=f("ZodMiniVoid",(e,t)=>{jo.init(e,t),v.init(e,t)});function Kd(e){return cs(Aa,e)}var ir=f("ZodMiniDate",(e,t)=>{Oo.init(e,t),v.init(e,t)});function Hd(e){return as(ir,e)}var Ta=f("ZodMiniArray",(e,t)=>{Mo.init(e,t),v.init(e,t)});function F(e,t){return new Ta({type:"array",element:e,...g(t)})}function qd(e){let t=e._zod.def.shape;return Da(Object.keys(t))}var sr=f("ZodMiniObject",(e,t)=>{Kt.init(e,t),v.init(e,t),k(e,"shape",()=>t.shape)});function I(e,t){let r={type:"object",shape:e??{},...g(t)};return new sr(r)}function Vd(e,t){return new sr({type:"object",shape:e,catchall:Ea(),...g(t)})}function Wd(e,t){return new sr({type:"object",shape:e,catchall:or(),...g(t)})}function gt(e,t){return Tt(e,t)}function Qd(e,t){return Yr(e,t)}function Xd(e,t){return Tt(e,t)}function em(e,t){return Fr(e,t)}function tm(e,t){return Jr(e,t)}function rm(e,t){return Gr(Js,e,t)}function nm(e,t){return Kr(Ys,e,t)}function om(e,t){return e.clone({...e._zod.def,catchall:t})}var Us=f("ZodMiniUnion",(e,t)=>{ot.init(e,t),v.init(e,t)});function Ra(e,t){return new Us({type:"union",options:e,...g(t)})}var Ca=f("ZodMiniXor",(e,t)=>{Us.init(e,t),Bo.init(e,t)});function im(e,t){return new Ca({type:"union",options:e,inclusive:!1,...g(t)})}var Za=f("ZodMiniDiscriminatedUnion",(e,t)=>{Do.init(e,t),v.init(e,t)});function sm(e,t,r){return new Za({type:"union",options:t,discriminator:e,...g(r)})}var Na=f("ZodMiniIntersection",(e,t)=>{Uo.init(e,t),v.init(e,t)});function cm(e,t){return new Na({type:"intersection",left:e,right:t})}var La=f("ZodMiniTuple",(e,t)=>{Ht.init(e,t),v.init(e,t)});function ja(e,t,r){let n=t instanceof w,o=n?r:t,i=n?t:null;return new La({type:"tuple",items:e,rest:i,...g(o)})}var cr=f("ZodMiniRecord",(e,t)=>{Fo.init(e,t),v.init(e,t)});function Oa(e,t,r){return new cr({type:"record",keyType:e,valueType:t,...g(r)})}function am(e,t,r){let n=D(e);return n._zod.values=void 0,new cr({type:"record",keyType:n,valueType:t,...g(r)})}function um(e,t,r){return new cr({type:"record",keyType:e,valueType:t,mode:"loose",...g(r)})}var Ma=f("ZodMiniMap",(e,t)=>{Jo.init(e,t),v.init(e,t)});function lm(e,t,r){return new Ma({type:"map",keyType:e,valueType:t,...g(r)})}var Ba=f("ZodMiniSet",(e,t)=>{Yo.init(e,t),v.init(e,t)});function pm(e,t){return new Ba({type:"set",valueType:e,...g(t)})}var Fs=f("ZodMiniEnum",(e,t)=>{Go.init(e,t),v.init(e,t),e.options=Object.values(t.entries)});function Da(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new Fs({type:"enum",entries:r,...g(t)})}function fm(e,t){return new Fs({type:"enum",entries:e,...g(t)})}var Ua=f("ZodMiniLiteral",(e,t)=>{Ko.init(e,t),v.init(e,t)});function dm(e,t){return new Ua({type:"literal",values:Array.isArray(e)?e:[e],...g(t)})}var Fa=f("ZodMiniFile",(e,t)=>{Ho.init(e,t),v.init(e,t)});function mm(e){return Rs(Fa,e)}var Ja=f("ZodMiniTransform",(e,t)=>{qo.init(e,t),v.init(e,t)});function hm(e){return new Ja({type:"transform",transform:e})}var Js=f("ZodMiniOptional",(e,t)=>{qt.init(e,t),v.init(e,t)});function $(e){return new Js({type:"optional",innerType:e})}var Ya=f("ZodMiniExactOptional",(e,t)=>{Vo.init(e,t),v.init(e,t)});function gm(e){return new Ya({type:"optional",innerType:e})}var Ga=f("ZodMiniNullable",(e,t)=>{Wo.init(e,t),v.init(e,t)});function ar(e){return new Ga({type:"nullable",innerType:e})}function _m(e){return $(ar(e))}var Ka=f("ZodMiniDefault",(e,t)=>{Qo.init(e,t),v.init(e,t)});function bm(e,t){return new Ka({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():Ze(t)}})}var Ha=f("ZodMiniPrefault",(e,t)=>{Xo.init(e,t),v.init(e,t)});function ym(e,t){return new Ha({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():Ze(t)}})}var Ys=f("ZodMiniNonOptional",(e,t)=>{ei.init(e,t),v.init(e,t)});function $m(e,t){return new Ys({type:"nonoptional",innerType:e,...g(t)})}var qa=f("ZodMiniSuccess",(e,t)=>{ti.init(e,t),v.init(e,t)});function xm(e){return new qa({type:"success",innerType:e})}var Va=f("ZodMiniCatch",(e,t)=>{ri.init(e,t),v.init(e,t)});function wm(e,t){return new Va({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var Wa=f("ZodMiniNaN",(e,t)=>{ni.init(e,t),v.init(e,t)});function km(e){return ls(Wa,e)}var Gs=f("ZodMiniPipe",(e,t)=>{oi.init(e,t),v.init(e,t)});function vm(e,t){return new Gs({type:"pipe",in:e,out:t})}var Ks=f("ZodMiniCodec",(e,t)=>{Gs.init(e,t),it.init(e,t)});function zm(e,t,r){return new Ks({type:"pipe",in:e,out:t,transform:r.decode,reverseTransform:r.encode})}var Qa=f("ZodMiniReadonly",(e,t)=>{ii.init(e,t),v.init(e,t)});function Sm(e){return new Qa({type:"readonly",innerType:e})}var Xa=f("ZodMiniTemplateLiteral",(e,t)=>{si.init(e,t),v.init(e,t)});function Pm(e,t){return new Xa({type:"template_literal",parts:e,...g(t)})}var eu=f("ZodMiniLazy",(e,t)=>{ui.init(e,t),v.init(e,t)});function tu(e){return new eu({type:"lazy",getter:e})}var ru=f("ZodMiniPromise",(e,t)=>{ai.init(e,t),v.init(e,t)});function Im(e){return new ru({type:"promise",innerType:e})}var Hs=f("ZodMiniCustom",(e,t)=>{li.init(e,t),v.init(e,t)});function Em(e,t){let r=new A({check:"custom",...g(t)});return r._zod.check=e,r}function nu(e,t){return Cs(Hs,e??(()=>!0),t)}function Am(e,t={}){return Zs(Hs,e,t)}function Tm(e){return Ns(e)}var Rm=Ls,Cm=js;function Zm(e,t={}){let r=nu(n=>n instanceof e,t);return r._zod.bag.Class=e,r._zod.check=n=>{n.value instanceof e||n.issues.push({code:"invalid_type",expected:e.name,input:n.value,inst:r,path:[...r._zod.def.path??[]]})},r}var Nm=(...e)=>Os({Codec:Ks,Boolean:mt,String:Be},...e);function Lm(){let e=tu(()=>Ra([y(),be(),Ue(),za(),F(e),Oa(y(),e)]));return e}var ou=f("ZodMiniFunction",(e,t)=>{ci.init(e,t),v.init(e,t)});function jm(e){return new ou({type:"function",input:Array.isArray(e?.input)?ja(e?.input):e?.input??F(or()),output:e?.output??or()})}var qs={};xe(qs,{ZodMiniISODate:()=>lr,ZodMiniISODateTime:()=>ur,ZodMiniISODuration:()=>fr,ZodMiniISOTime:()=>pr,date:()=>Mm,datetime:()=>Om,duration:()=>Dm,time:()=>Bm});var ur=f("ZodMiniISODateTime",(e,t)=>{mo.init(e,t),T.init(e,t)});function Om(e){return Oi(ur,e)}var lr=f("ZodMiniISODate",(e,t)=>{ho.init(e,t),T.init(e,t)});function Mm(e){return Mi(lr,e)}var pr=f("ZodMiniISOTime",(e,t)=>{go.init(e,t),T.init(e,t)});function Bm(e){return Bi(pr,e)}var fr=f("ZodMiniISODuration",(e,t)=>{_o.init(e,t),T.init(e,t)});function Dm(e){return Di(fr,e)}var Vs={};xe(Vs,{bigint:()=>Ym,boolean:()=>Jm,date:()=>Gm,number:()=>Fm,string:()=>Um});function Um(e){return mi(Be,e)}function Fm(e){return Fi(dt,e)}function Jm(e){return Vi(mt,e)}function Ym(e){return Qi(ht,e)}function Gm(e){return us(ir,e)}var Se=y().check(ut(1)),Km=y().check(lt(/^https?:\/\/.+/)),Qs=I({CLANCY_BASE_BRANCH:$(y()),CLANCY_LABEL:$(y()),CLANCY_MODEL:$(y()),CLANCY_NOTIFY_WEBHOOK:$(y()),CLANCY_STATUS_IN_PROGRESS:$(y()),CLANCY_STATUS_DONE:$(y()),CLANCY_STATUS_REVIEW:$(y()),MAX_ITERATIONS:$(y()),PLAYWRIGHT_ENABLED:$(y()),PLAYWRIGHT_DEV_PORT:$(y()),CLANCY_ROLES:$(y()),CLANCY_PLAN_STATUS:$(y()),CLANCY_PLAN_LABEL:$(y()),CLANCY_PLAN_STATE_TYPE:$(y()),CLANCY_STATUS_PLANNED:$(y()),CLANCY_SKIP_COMMENTS:$(y()),GITHUB_TOKEN:$(y()),GITLAB_TOKEN:$(y()),BITBUCKET_USER:$(y()),BITBUCKET_TOKEN:$(y()),CLANCY_GIT_PLATFORM:$(y()),CLANCY_GIT_API_URL:$(y()),CLANCY_MAX_REWORK:$(y()),CLANCY_TDD:$(y()),CLANCY_MODE:$(y()),CLANCY_BRIEF_ISSUE_TYPE:$(y()),CLANCY_BRIEF_EPIC:$(y()),CLANCY_COMPONENT:$(y()),CLANCY_FIX_RETRIES:$(y()),CLANCY_VERIFY_COMMANDS:$(y()),CLANCY_TOKEN_RATE:$(y()),CLANCY_TIME_LIMIT:$(y()),CLANCY_BRANCH_GUARD:$(y()),CLANCY_LABEL_BRIEF:$(y()),CLANCY_LABEL_PLAN:$(y()),CLANCY_LABEL_BUILD:$(y())}),su=gt(Qs,{JIRA_BASE_URL:Km,JIRA_USER:Se,JIRA_API_TOKEN:Se,JIRA_PROJECT_KEY:Se,CLANCY_JQL_STATUS:$(y()),CLANCY_JQL_SPRINT:$(y())}),cu=gt(Qs,{GITHUB_TOKEN:Se,GITHUB_REPO:Se}),au=gt(Qs,{LINEAR_API_KEY:Se,LINEAR_TEAM_ID:Se});function dr(e){if(e.JIRA_BASE_URL){let t=su.safeParse(e);return t.success?{provider:"jira",env:t.data}:`\u2717 Jira env validation failed: ${t.error.message}`}if(e.GITHUB_TOKEN&&e.GITHUB_REPO){let t=cu.safeParse(e);return t.success?{provider:"github",env:t.data}:`\u2717 GitHub env validation failed: ${t.error.message}`}if(e.LINEAR_API_KEY){let t=au.safeParse(e);return t.success?{provider:"linear",env:t.data}:`\u2717 Linear env validation failed: ${t.error.message}`}return"\u2717 No board detected \u2014 set Jira, GitHub, or Linear credentials in .clancy/.env"}function M(e){return e.env}import{appendFileSync as uu,mkdirSync as Hm,readFileSync as qm}from"node:fs";import{dirname as Vm,join as lu}from"node:path";function Wm(e){let t=e.getUTCFullYear(),r=String(e.getUTCMonth()+1).padStart(2,"0"),n=String(e.getUTCDate()).padStart(2,"0"),o=String(e.getUTCHours()).padStart(2,"0"),i=String(e.getUTCMinutes()).padStart(2,"0");return`${t}-${r}-${n} ${o}:${i}`}function C(e,t,r,n,o,i){let s=lu(e,".clancy","progress.txt");Hm(Vm(s),{recursive:!0});let c=Wm(new Date);if(n==="BRIEF"||n==="APPROVE_BRIEF"){let d=`${c} | ${n} | ${t} | ${r}
42
+ `;uu(s,d,"utf8");return}let a=o!=null?` | pr:${o}`:"",u=i?` | parent:${i}`:"",p=`${c} | ${t} | ${r} | ${n}${a}${u}
43
+ `;uu(s,p,"utf8")}function pu(e){let t=lu(e,".clancy","progress.txt"),r;try{r=qm(t,"utf8")}catch{return[]}let n=[];for(let o of r.split(`
44
+ `)){let i=o.trim();if(!i)continue;let s=i.split(" | ");if(s.length<4)continue;let c=s[0];if(s[1]==="BRIEF"||s[1]==="APPROVE_BRIEF"){n.push({timestamp:c,key:s[2],summary:s.slice(3).join(" | "),status:s[1]});continue}let a=s[1],u,p,d,m=[];for(let h=2;h<s.length;h++){let b=s[h],_=b.match(/^pr:(\d+)$/),z=b.match(/^parent:(.+)$/);_?p=parseInt(_[1],10):z?d=z[1]:h>=3&&!u&&b===b.toUpperCase()&&b.length>1?u=b:m.push(b)}u&&(u==="APPROVE"&&(u="APPROVE_PLAN"),n.push({timestamp:c,key:a,summary:m.join(" | "),status:u,...p!=null&&{prNumber:p},...d!=null&&{parent:d}}))}return n}function fu(e,t){let r=pu(e),n=t.toLowerCase(),o=0;for(let i of r)i.key.toLowerCase()===n&&i.status==="REWORK"&&o++;return o}function J(e,t){let r=pu(e),n=new Map;for(let o of r)n.set(o.key,o);return[...n.values()].filter(o=>o.status===t)}function Qm(e){return e.startsWith("epic/")||e.startsWith("milestone/")}function mr(e,t,r,n){let o=[],i=r?Qm(r):!1;switch(e.provider){case"github":o.push(i?`Part of ${t.key}`:`Closes ${t.key}`);break;case"jira":o.push(`**Jira:** [${t.key}](${e.env.JIRA_BASE_URL}/browse/${t.key})`);break;case"linear":o.push(`**Linear:** ${t.key}`);break}return o.push(""),t.description&&(o.push("## Description"),o.push(""),o.push(t.description),o.push("")),n&&(o.push("## \u26A0 Verification Warning"),o.push(""),o.push(n),o.push(""),o.push("This PR may need manual fixes before merging."),o.push("")),o.push("---"),o.push("*Created by [Clancy](https://github.com/Pushedskydiver/clancy)*"),o.push(""),o.push("---"),o.push("<details>"),o.push("<summary><strong>Rework instructions</strong> (click to expand)</summary>"),o.push(""),o.push("To request changes:"),o.push("- **Code comments** \u2014 leave inline comments on specific lines. These are always picked up automatically."),o.push("- **General feedback** \u2014 reply with a comment starting with `Rework:` followed by what needs fixing. Comments without the `Rework:` prefix are treated as discussion."),o.push(""),o.push("Example: `Rework: The form validation doesn't handle empty passwords`"),o.push(""),o.push("</details>"),o.join(`
45
+ `)}function du(e,t,r,n){let o=[];o.push(`## ${e} \u2014 ${t}`),o.push(""),o.push("### Children"),o.push("");for(let i of r){let s=i.prNumber?` (#${i.prNumber})`:"";o.push(`- ${i.key} \u2014 ${i.summary}${s}`)}if(n==="github"){o.push(""),o.push("### Closes"),o.push("");let i=r.map(s=>s.key).filter(s=>s.startsWith("#"));e.startsWith("#")&&i.unshift(e),i.length>0&&o.push(i.map(s=>`Closes ${s}`).join(", "))}return o.push(""),o.push("---"),o.push("*Created by [Clancy](https://github.com/Pushedskydiver/clancy)*"),o.join(`
46
+ `)}import{execFileSync as Xm}from"node:child_process";function mu(e){let t=e.trim().replace(/\.git$/,""),r=t.match(/^git@([^:]+):(.+)$/),n=t.match(/^(?:https?|ssh):\/\/(?:[^@]+@)?([^/:]+)(?::\d+)?\/(.+)$/),o=r?.[1]??n?.[1],i=r?.[2]??n?.[2];if(!(!o||!i))return{hostname:o,path:i}}function eh(e){let t=mu(e);if(!t)return{host:"unknown",url:e};let{hostname:r,path:n}=t;switch(th(r)){case"github":{let i=n.split("/");return i.length>=2?{host:"github",owner:i[0],repo:i[1],hostname:r}:{host:"unknown",url:e}}case"gitlab":return{host:"gitlab",projectPath:n,hostname:r};case"bitbucket":{let i=n.match(/^scm\/([^/]+)\/(.+)$/);if(i)return{host:"bitbucket-server",projectKey:i[1],repoSlug:i[2],hostname:r};let s=n.split("/");return s.length>=2?{host:"bitbucket",workspace:s[0],repoSlug:s[1],hostname:r}:{host:"unknown",url:e}}case"azure":return{host:"azure",url:e};default:return{host:"unknown",url:e}}}function th(e){let t=e.toLowerCase();return t==="github.com"||t.includes("github")?"github":t==="gitlab.com"||t.includes("gitlab")?"gitlab":t==="bitbucket.org"||t.includes("bitbucket")?"bitbucket":t.includes("dev.azure")||t.includes("visualstudio")?"azure":"unknown"}function ye(e){let t;try{t=Xm("git",["remote","get-url","origin"],{encoding:"utf8"}).trim()}catch{return{host:"none"}}return t?e?rh(t,e):eh(t):{host:"none"}}function rh(e,t){let r=mu(e);if(!r)return{host:"unknown",url:e};let{hostname:n,path:o}=r;switch(t.toLowerCase()){case"github":{let i=o.split("/");return i.length>=2?{host:"github",owner:i[0],repo:i[1],hostname:n}:{host:"unknown",url:e}}case"gitlab":return{host:"gitlab",projectPath:o,hostname:n};case"bitbucket":{let i=o.split("/");return i.length>=2?{host:"bitbucket",workspace:i[0],repoSlug:i[1],hostname:n}:{host:"unknown",url:e}}case"bitbucket-server":{let i=o.match(/^scm\/([^/]+)\/(.+)$/);if(i)return{host:"bitbucket-server",projectKey:i[1],repoSlug:i[2],hostname:n};let s=o.split("/");return s.length>=2?{host:"bitbucket-server",projectKey:s[0],repoSlug:s[1],hostname:n}:{host:"unknown",url:e}}default:return{host:"unknown",url:e}}}function _t(e,t){if(t)return t.replace(/\/$/,"");switch(e.host){case"github":return e.hostname==="github.com"?"https://api.github.com":`https://${e.hostname}/api/v3`;case"gitlab":return`https://${e.hostname}/api/v4`;case"bitbucket":return"https://api.bitbucket.org/2.0";case"bitbucket-server":return`https://${e.hostname}/rest/api/1.0`;default:return}}var nh=I({id:be(),links:I({html:$(I({href:$(y())}))}),participants:F(I({state:$(y()),role:y()}))}),hu=I({values:F(nh)}),oh=I({content:I({raw:y()}),inline:$(I({path:$(y())})),created_on:y(),user:$(I({nickname:$(y())}))}),Xs=I({values:F(oh)}),ih=I({id:be(),links:I({self:$(F(I({href:$(y())})))}),reviewers:F(I({status:y()}))}),gu=I({values:F(ih)}),sh=I({text:y(),anchor:$(I({path:$(y())})),createdDate:be(),author:$(I({slug:$(y())}))}),ch=I({action:y(),comment:$(sh)}),ec=I({values:F(ch)});async function Pe(e,t,r,n,o){let i=new AbortController,s=setTimeout(()=>i.abort(),3e4);try{let c=await fetch(e,{method:"POST",headers:{...t,"Content-Type":"application/json"},body:JSON.stringify(r),signal:i.signal});if(!c.ok){let p=await c.text().catch(()=>""),d=o?.(c.status,p)??!1;return{ok:!1,error:`HTTP ${c.status}${p?`: ${p.slice(0,200)}`:""}`,alreadyExists:d}}let a=await c.json(),u=n(a);return!u.url&&!u.number?{ok:!1,error:"PR created but response missing URL and number"}:{ok:!0,url:u.url,number:u.number}}catch(c){return{ok:!1,error:c instanceof Error?c.message:String(c)}}finally{clearTimeout(s)}}function Fe(e,t){return`Basic ${Buffer.from(`${e}:${t}`).toString("base64")}`}function re(e){return e.trim().toLowerCase().startsWith("rework:")}function Ie(e){return e.trim().replace(/^rework:\s*/i,"").trim()}async function _u(e,t,r,n,o,i,s,c){return Pe(`https://api.bitbucket.org/2.0/repositories/${r}/${n}/pullrequests`,{Authorization:Fe(e,t)},{title:s,description:c,source:{branch:{name:o}},destination:{branch:{name:i}},close_source_branch:!0},a=>{let u=a;return{url:u.links?.html?.href??"",number:u.id??0}},(a,u)=>a===409&&u.includes("already exists"))}async function bu(e,t,r,n,o,i,s,c){return Pe(`${t}/projects/${r}/repos/${n}/pull-requests`,{Authorization:`Bearer ${e}`},{title:s,description:c,fromRef:{id:`refs/heads/${o}`,repository:{slug:n,project:{key:r}}},toRef:{id:`refs/heads/${i}`,repository:{slug:n,project:{key:r}}}},a=>{let u=a;return{url:u.links?.self?.[0]?.href??"",number:u.id??0}},(a,u)=>a===409&&(u.includes("already exists")||u.includes("Only one pull request")))}async function yu(e,t,r,n,o,i){try{return(await fetch(`https://api.bitbucket.org/2.0/repositories/${r}/${n}/pullrequests/${o}/comments`,{method:"POST",headers:{Authorization:Fe(e,t),"Content-Type":"application/json"},body:JSON.stringify({content:{raw:i}})})).ok}catch{return!1}}async function $u(e,t,r,n,o,i){try{return(await fetch(`${t}/projects/${r}/repos/${n}/pull-requests/${o}/comments`,{method:"POST",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json"},body:JSON.stringify({text:i})})).ok}catch{return!1}}async function xu(e,t,r,n,o,i){try{let s=`https://api.bitbucket.org/2.0/repositories/${r}/${n}/pullrequests?q=source.branch.name="${o}"&state=OPEN`,c=await fetch(s,{headers:{Authorization:Fe(e,t)}});if(!c.ok)return;let a=hu.parse(await c.json());if(a.values.length===0)return;let u=a.values[0],p=u.links.html?.href??"",d=`https://api.bitbucket.org/2.0/repositories/${r}/${n}/pullrequests/${u.id}/comments?pagelen=100`,m=await fetch(d,{headers:{Authorization:Fe(e,t)}});if(!m.ok)return;let h=Xs.parse(await m.json()),b=i?h.values.filter(W=>W.created_on>i):h.values,_=b.some(W=>W.inline!=null),z=b.some(W=>W.inline==null&&re(W.content.raw));return{changesRequested:_||z,prNumber:u.id,prUrl:p}}catch{return}}async function wu(e,t,r,n,o,i){try{let s=`https://api.bitbucket.org/2.0/repositories/${r}/${n}/pullrequests/${o}/comments?pagelen=100`,c=await fetch(s,{headers:{Authorization:Fe(e,t)}});if(!c.ok)return[];let a=Xs.parse(await c.json()),u=i?a.values.filter(d=>d.created_on>i):a.values,p=[];for(let d of u)if(d.inline!=null){let m=d.inline.path?`[${d.inline.path}] `:"";p.push(`${m}${d.content.raw}`)}else re(d.content.raw)&&p.push(Ie(d.content.raw));return p}catch{return[]}}async function ku(e,t,r,n,o,i){try{let s=`${t}/projects/${r}/repos/${n}/pull-requests?state=OPEN&at=refs/heads/${o}`,c=await fetch(s,{headers:{Authorization:`Bearer ${e}`}});if(!c.ok)return;let a=gu.parse(await c.json());if(a.values.length===0)return;let u=a.values[0],p=u.links.self?.[0]?.href??"",d=`${t}/projects/${r}/repos/${n}/pull-requests/${u.id}/activities?limit=100`,m=await fetch(d,{headers:{Authorization:`Bearer ${e}`}});if(!m.ok)return;let h=ec.parse(await m.json()),b=i?Date.parse(i):void 0,_=h.values.filter(R=>R.action==="COMMENTED"&&R.comment&&(b==null||R.comment.createdDate>b)),z=_.some(R=>R.comment.anchor!=null),Y=_.some(R=>R.comment.anchor==null&&re(R.comment.text));return{changesRequested:z||Y,prNumber:u.id,prUrl:p}}catch{return}}async function vu(e,t,r,n,o,i){try{let s=`${t}/projects/${r}/repos/${n}/pull-requests/${o}/activities?limit=100`,c=await fetch(s,{headers:{Authorization:`Bearer ${e}`}});if(!c.ok)return[];let a=ec.parse(await c.json()),u=i?Date.parse(i):void 0,p=[];for(let d of a.values){if(d.action!=="COMMENTED"||!d.comment||u!=null&&d.comment.createdDate<=u)continue;let m=d.comment;if(m.anchor!=null){let h=m.anchor.path?`[${m.anchor.path}] `:"";p.push(`${h}${m.text}`)}else re(m.text)&&p.push(Ie(m.text))}return p}catch{return[]}}var ah=l.object({number:l.number(),title:l.string(),body:l.optional(l.nullable(l.string())),pull_request:l.optional(l.unknown()),milestone:l.optional(l.nullable(l.object({title:l.string()}))),labels:l.optional(l.array(l.object({name:l.optional(l.string())})))}),zu=l.array(ah),uh=l.object({id:l.number(),body:l.optional(l.nullable(l.string())),created_at:l.string(),user:l.optional(l.object({login:l.string()}))}),tc=l.array(uh),lh=l.object({number:l.number(),html_url:l.string(),state:l.string()}),Su=l.array(lh),ph=l.object({state:l.string(),user:l.object({login:l.string()}),submitted_at:l.string()}),Pu=l.array(ph),fh=l.object({body:l.optional(l.nullable(l.string())),path:l.optional(l.string()),created_at:l.optional(l.string()),user:l.optional(l.object({login:l.string()}))}),rc=l.array(fh);var j="https://api.github.com";async function hr(e,t,r,n){try{let o=new AbortController,i=setTimeout(()=>o.abort(),1e4),s=await fetch(e,{headers:t,signal:o.signal});if(clearTimeout(i),s.ok)return{ok:!0};let c=r[s.status];return c?{ok:!1,error:c}:{ok:!1,error:`\u2717 HTTP ${s.status}`}}catch{return{ok:!1,error:n}}}function B(e){return{Authorization:`Bearer ${e}`,Accept:"application/vnd.github+json","X-GitHub-Api-Version":"2022-11-28"}}function $e(e){return{Authorization:`Basic ${e}`,Accept:"application/json"}}async function Iu(e,t,r,n,o=j,i,s){try{let c=B(e),a=await fetch(`${o}/repos/${t}/pulls?head=${n}:${r}&state=open`,{headers:c});if(!a.ok)return;let u=Su.parse(await a.json());if(u.length===0)return;let p=u[0],d=i?`&since=${i}`:"",[m,h]=await Promise.all([fetch(`${o}/repos/${t}/pulls/${p.number}/comments?per_page=100${d}`,{headers:c}),fetch(`${o}/repos/${t}/issues/${p.number}/comments?per_page=100${d}`,{headers:c})]);if(!m.ok||!h.ok)return;let b=rc.parse(await m.json()),_=tc.parse(await h.json()),z=s?b.filter(ne=>ne.user?.login!==s):b,Y=s?_.filter(ne=>ne.user?.login!==s):_,W=z.length>0,R=Y.some(ne=>ne.body&&re(ne.body)),L=W||R,G;if(!L)try{let ne=await fetch(`${o}/repos/${t}/pulls/${p.number}/reviews?per_page=100`,{headers:c});if(ne.ok){let Ir=Pu.parse(await ne.json()),pc=new Map;for(let se of Ir)se.state==="PENDING"||se.state==="DISMISSED"||pc.set(se.user.login,se.state);let fc=[...pc.entries()].filter(([,se])=>se==="CHANGES_REQUESTED");fc.length>0&&(L=!0,G=fc.map(([se])=>se))}}catch{}return{changesRequested:L,prNumber:p.number,prUrl:p.html_url,reviewers:G}}catch{return}}async function Eu(e,t,r,n=j,o,i){try{let s=B(e),c=o?`&since=${o}`:"",[a,u]=await Promise.all([fetch(`${n}/repos/${t}/pulls/${r}/comments?per_page=100${c}`,{headers:s}),fetch(`${n}/repos/${t}/issues/${r}/comments?per_page=100${c}`,{headers:s})]);if(!a.ok||!u.ok)return[];let p=rc.parse(await a.json()),d=tc.parse(await u.json()),m=i?p.filter(_=>_.user?.login!==i):p,h=i?d.filter(_=>_.user?.login!==i):d,b=[];for(let _ of m){if(!_.body)continue;let z=_.path?`[${_.path}] `:"";b.push(`${z}${_.body}`)}for(let _ of h)_.body&&re(_.body)&&b.push(Ie(_.body));return b}catch{return[]}}async function Au(e,t,r,n,o=j){try{return(await fetch(`${o}/repos/${t}/issues/${r}/comments`,{method:"POST",headers:{...B(e),"Content-Type":"application/json"},body:JSON.stringify({body:n})})).ok}catch{return!1}}async function Tu(e,t,r,n,o=j){try{return(await fetch(`${o}/repos/${t}/pulls/${r}/requested_reviewers`,{method:"POST",headers:{...B(e),"Content-Type":"application/json"},body:JSON.stringify({reviewers:n})})).ok}catch{return!1}}async function Ru(e,t,r,n,o,i,s=j){return Pe(`${s}/repos/${t}/pulls`,B(e),{title:o,head:r,base:n,body:i},c=>{let a=c;return{url:a.html_url??"",number:a.number??0}},(c,a)=>c===422&&a.includes("already exists"))}var dh=I({iid:be(),web_url:y(),detailed_merge_status:$(y())}),Cu=F(dh),mh=I({body:y(),resolvable:Ue(),resolved:$(Ue()),system:Ue(),type:$(ar(y())),created_at:$(y()),position:$(I({new_path:$(y())})),author:$(I({username:y()}))}),hh=I({id:$(y()),notes:F(mh)}),nc=F(hh);async function Zu(e,t,r,n,o,i,s){let c=encodeURIComponent(r);return Pe(`${t}/projects/${c}/merge_requests`,{"PRIVATE-TOKEN":e},{source_branch:n,target_branch:o,title:i,description:s,remove_source_branch:!0},a=>{let u=a;return{url:u.web_url??"",number:u.iid??0}},(a,u)=>a===409&&u.includes("already exists"))}async function Nu(e,t,r,n,o){try{let i=encodeURIComponent(r);return(await fetch(`${t}/projects/${i}/merge_requests/${n}/notes`,{method:"POST",headers:{"PRIVATE-TOKEN":e,"Content-Type":"application/json"},body:JSON.stringify({body:o})})).ok}catch{return!1}}async function Lu(e,t,r,n,o){let i=encodeURIComponent(r),s=0;for(let c of o)try{(await fetch(`${t}/projects/${i}/merge_requests/${n}/discussions/${c}`,{method:"PUT",headers:{"PRIVATE-TOKEN":e,"Content-Type":"application/json"},body:JSON.stringify({resolved:!0})})).ok&&s++}catch{}return s}async function ju(e,t,r,n,o){try{let i=encodeURIComponent(r),s=`${t}/projects/${i}/merge_requests?source_branch=${n}&state=opened`,c=await fetch(s,{headers:{"PRIVATE-TOKEN":e}});if(!c.ok)return;let a=Cu.parse(await c.json());if(a.length===0)return;let u=a[0],p=`${t}/projects/${i}/merge_requests/${u.iid}/discussions?per_page=100`,d=await fetch(p,{headers:{"PRIVATE-TOKEN":e}});if(!d.ok)return;let m=nc.parse(await d.json()),h=!1;for(let b of m){for(let _ of b.notes)if(!_.system&&!(o&&_.created_at&&_.created_at<=o)){if(_.type==="DiffNote"&&_.resolvable!==!1&&_.resolved!==!0){h=!0;break}if(re(_.body)){h=!0;break}}if(h)break}return{changesRequested:h,prNumber:u.iid,prUrl:u.web_url}}catch{return}}async function Ou(e,t,r,n,o){try{let i=encodeURIComponent(r),s=`${t}/projects/${i}/merge_requests/${n}/discussions?per_page=100`,c=await fetch(s,{headers:{"PRIVATE-TOKEN":e}});if(!c.ok)return{comments:[],discussionIds:[]};let a=nc.parse(await c.json()),u=[],p=[];for(let d of a){let m=!1;for(let h of d.notes)if(!h.system&&!(o&&h.created_at&&h.created_at<=o))if(h.type==="DiffNote"&&h.resolvable!==!1&&h.resolved!==!0){let b=h.position?.new_path?`[${h.position.new_path}] `:"";u.push(`${b}${h.body}`),m=!0}else re(h.body)&&(u.push(Ie(h.body)),m=!0);m&&d.id&&p.push(d.id)}return{comments:u,discussionIds:p}}catch{return{comments:[],discussionIds:[]}}}function bt(e,t){let r=M(e);switch(t.host){case"github":if(r.GITHUB_TOKEN)return{token:r.GITHUB_TOKEN};break;case"gitlab":if(r.GITLAB_TOKEN)return{token:r.GITLAB_TOKEN};break;case"bitbucket":if(r.BITBUCKET_USER&&r.BITBUCKET_TOKEN)return{token:r.BITBUCKET_TOKEN,username:r.BITBUCKET_USER};break;case"bitbucket-server":if(r.BITBUCKET_TOKEN)return{token:r.BITBUCKET_TOKEN};break}}async function yt(e,t,r,n,o,i){let s=bt(e,t);if(!s)return;let c=_t(t,M(e).CLANCY_GIT_API_URL);if(c)switch(t.host){case"github":return Ru(s.token,`${t.owner}/${t.repo}`,r,n,o,i,c);case"gitlab":return Zu(s.token,c,t.projectPath,r,n,o,i);case"bitbucket":return _u(s.username,s.token,t.workspace,t.repoSlug,r,n,o,i);case"bitbucket-server":return bu(s.token,c,t.projectKey,t.repoSlug,r,n,o,i);default:return}}function gr(e,t,r){let n=encodeURIComponent(t),o=encodeURIComponent(r);if(e.host==="github")return`https://${e.hostname}/${e.owner}/${e.repo}/compare/${o}...${n}`;if(e.host==="gitlab")return`https://${e.hostname}/${e.projectPath}/-/merge_requests/new?merge_request[source_branch]=${n}&merge_request[target_branch]=${o}`;if(e.host==="bitbucket")return`https://${e.hostname}/${e.workspace}/${e.repoSlug}/pull-requests/new?source=${n}&dest=${o}`;if(e.host==="bitbucket-server")return`https://${e.hostname}/projects/${e.projectKey}/repos/${e.repoSlug}/pull-requests?create&sourceBranch=refs/heads/${n}&targetBranch=refs/heads/${o}`}function oc(e,t){let r=mc(e),n=Ye(e);if(r)return vt(e)?!0:(console.log(S(`\u26A0 Epic branch ${e} exists on remote but could not be fetched.`)),!1);if(n)return console.log(Te(`\u2717 Epic branch ${e} exists locally but not on remote.`)),console.log(S(" This may contain work from a previous Clancy version that squash-merged locally.")),console.log(x(" To preserve this work, push it manually:")),console.log(x(` git push -u origin ${e}`)),console.log(x(" Then re-run /clancy:once to continue.")),!1;try{if(Mu("git",["fetch","origin",t],{encoding:"utf8",stdio:["pipe","pipe","pipe"],timeout:15e3}),Mu("git",["checkout","-b",e,`origin/${t}`],{encoding:"utf8"}),Ge(e))console.log(N(` \u2713 Created epic branch ${e}`));else return console.log(S(`\u26A0 Created ${e} locally but could not push to origin.`)),!1;return!0}catch(o){return console.log(Te(`\u2717 Could not create epic branch: ${o instanceof Error?o.message:String(o)}`)),!1}}async function ic(e,t,r,n,o,i=!1,s,c){if(!Ge(r)){console.log(S(`\u26A0 Could not push ${r} to origin.`)),console.log(x(" The branch is still available locally. Push manually:")),console.log(x(` git push -u origin ${r}`)),i||C(process.cwd(),t.key,t.title,"PUSH_FAILED",void 0,s),Z(n);let b=Ee(Date.now()-o);return console.log(""),console.log(S(`\u26A0 ${t.key} implemented but push failed`)+x(` (${b})`)),!1}console.log(N(` \u2713 Pushed ${r}`));let u;try{let b=_h(process.cwd(),".clancy","verify-attempt.txt"),_=gh(b,"utf8").trim(),z=parseInt(_,10);z>0&&(u=`Verification checks did not fully pass (${z} attempt(s)). Review carefully.`)}catch{}let p=M(e).CLANCY_GIT_PLATFORM,d=ye(p),m=`feat(${t.key}): ${t.title}`,h=mr(e,{key:t.key,title:t.title,description:t.description,provider:e.provider},n,u);if(d.host!=="none"&&d.host!=="unknown"&&d.host!=="azure"){let b=await yt(e,d,r,n,m,h);if(b?.ok)console.log(N(` \u2713 PR created: ${b.url}`)),i||C(process.cwd(),t.key,t.title,"PR_CREATED",b.number,s);else if(b&&!b.ok&&b.alreadyExists)console.log(S(` \u26A0 A PR/MR already exists for ${r}. Branch pushed.`)),i||C(process.cwd(),t.key,t.title,"PUSHED",void 0,s);else if(b&&!b.ok){console.log(S(` \u26A0 PR/MR creation failed: ${b.error}`));let _=gr(d,r,n);console.log(_?x(` Create one manually: ${_}`):x(" Branch pushed \u2014 create a PR/MR manually.")),i||C(process.cwd(),t.key,t.title,"PUSHED",void 0,s)}else{let _=gr(d,r,n);console.log(_?x(` Create a PR: ${_}`):x(" Branch pushed to remote. Create a PR/MR manually.")),i||C(process.cwd(),t.key,t.title,"PUSHED",void 0,s)}}else d.host==="none"?(console.log(S(`\u26A0 No git remote configured. Branch available locally: ${r}`)),i||C(process.cwd(),t.key,t.title,"LOCAL",void 0,s)):(console.log(x(" Branch pushed to remote. Create a PR/MR manually.")),i||C(process.cwd(),t.key,t.title,"PUSHED",void 0,s));if(e.provider!=="github"&&c){let b=e.env.CLANCY_STATUS_REVIEW??e.env.CLANCY_STATUS_DONE;b&&await c.transitionTicket(t,b)}return Z(n),!0}async function Bu(e,t,r,n,o,i){console.log(""),console.log(N(`\u{1F389} All children of ${t} are done!`)),console.log(x(` Creating epic PR: ${n} \u2192 ${o}`));let s=J(process.cwd(),"PR_CREATED"),c=J(process.cwd(),"DONE"),a=J(process.cwd(),"REWORK"),u=J(process.cwd(),"PUSHED"),p=[...s,...c,...a,...u].filter(Y=>Y.parent===t),d=M(e).CLANCY_GIT_PLATFORM,m=ye(d),h=`feat(${t}): ${r}`,b=du(t,r,p,e.provider);if(m.host==="none"||m.host==="unknown"||m.host==="azure")return console.log(S("\u26A0 Cannot create epic PR \u2014 no supported git remote detected.")),console.log(x(` Push manually: git push origin ${n}`)),console.log(x(` Then create a PR targeting ${o}`)),!1;let _=await yt(e,m,n,o,h,b);if(_?.ok){if(console.log(N(` \u2713 Epic PR created: ${_.url}`)),C(process.cwd(),t,r,"EPIC_PR_CREATED",_.number),e.provider!=="github"&&i){let Y=e.env.CLANCY_STATUS_REVIEW??e.env.CLANCY_STATUS_DONE;Y&&await i.transitionTicket({key:t,title:r,description:"",parentInfo:"none",blockers:"None"},Y)}return!0}if(_&&!_.ok&&_.alreadyExists)return console.log(S(` \u26A0 An epic PR already exists for ${n}.`)),C(process.cwd(),t,r,"EPIC_PR_CREATED"),!0;console.log(S(`\u26A0 Epic PR creation failed: ${_?.error??"unknown error"}`)),console.log(x(" Create it manually:")),console.log(x(` Branch: ${n} \u2192 ${o}`));let z=gr(m,n,o);return z&&console.log(x(` ${z}`)),!1}async function Du(e){let t=e.board,r=e.ticket,n=e.ticketBranch,o=e.targetBranch,i=e.baseBranch,s=e.hasParent,c=e.isRework??!1;e.originalBranch=dc();let a=!1;if(s&&!c){let p=await t.fetchChildrenStatus(r.parentInfo,r.linearIssueId);p&&p.total===1&&(a=!0)}e.skipEpicBranch=a;let u=s&&!a?o:i;if(e.effectiveTarget=u,c){if(s&&!a){if(!oc(o,i))return e.originalBranch&&Z(e.originalBranch),!1}else Ar(u,i);vt(n)?Z(n):(Z(u),Z(n,!0))}else if(s&&!a){if(!oc(o,i))return e.originalBranch&&Z(e.originalBranch),!1;Z(o),Z(n,!0)}else Ar(i,i),Z(i),Z(n,!0);try{bc(e.cwd,{pid:process.pid,ticketKey:r.key,ticketTitle:r.title,ticketBranch:n,targetBranch:u,parentKey:r.parentInfo,description:(r.description??"").slice(0,2e3),startedAt:new Date().toISOString()}),e.lockOwner=!0}catch{console.log(x(" (warning: could not write lock file \u2014 crash recovery disabled)"))}return!0}function bh(e){return e.includes("hooks.slack.com")}function yh(e){return JSON.stringify({text:e})}function $h(e){return JSON.stringify({type:"message",attachments:[{contentType:"application/vnd.microsoft.card.adaptive",content:{$schema:"http://adaptivecards.io/schemas/adaptive-card.json",type:"AdaptiveCard",version:"1.4",body:[{type:"TextBlock",text:e,wrap:!0}]}}]})}async function Uu(e,t){let r=bh(e)?yh(t):$h(t);try{let n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:r});n.ok||console.warn(`\u26A0 Notification failed: HTTP ${n.status}`)}catch{console.warn("\u26A0 Notification failed: could not reach webhook")}}async function Fu(e){let t=e.config,r=e.ticket,n=Ee(Date.now()-e.startTime);console.log(""),console.log(N(`\u{1F3C1} ${r.key} complete`)+x(` (${n})`)),console.log(x(` "Bake 'em away, toys."`));let o=t.env.CLANCY_NOTIFY_WEBHOOK;return o&&await Uu(o,`\u2713 Clancy completed [${r.key}] ${r.title}`),!0}import{appendFileSync as xh,mkdirSync as wh}from"node:fs";import{dirname as kh,join as vh}from"node:path";function Ju(e,t,r,n=6600){let o=vh(e,".clancy","costs.log");wh(kh(o),{recursive:!0});let i=new Date(r).getTime(),s=Date.now(),c=Number.isNaN(i)?0:Math.max(0,s-i),a=Math.round(c/6e4),u=Math.round(a*n),d=`${new Date().toISOString()} | ${t} | ${a}min | ~${u} tokens (estimated)
47
+ `;xh(o,d,"utf8")}function Yu(e){let t=e.config,r=e.ticket;try{let n=St(e.cwd);if(n){let o=Number(t.env.CLANCY_TOKEN_RATE??"6600");Ju(e.cwd,r.key,n.startedAt,Number.isFinite(o)&&o>0?o:6600)}}catch{}return!0}var zh=l.object({login:l.string()}),Sh=/^[a-zA-Z0-9_.-]+\/[a-zA-Z0-9_.-]+$/,_r;function br(e){return Sh.test(e)}async function Ku(e,t){return hr(`${j}/repos/${t}`,B(e),{401:"\u2717 GitHub auth failed \u2014 check GITHUB_TOKEN",403:"\u2717 GitHub permission denied",404:`\u2717 GitHub repo "${t}" not found`},"\u2717 Could not reach GitHub \u2014 check network")}async function Je(e,t){if(_r)return _r;try{let r=await fetch(`${t??j}/user`,{headers:B(e)});if(!r.ok){let i=r.status===401||r.status===403?' Fine-grained PATs need "Account permissions \u2192 read" (or classic PATs need read:user scope).':"";return console.warn(`\u26A0 GitHub /user returned HTTP ${r.status} \u2014 falling back to @me.${i}`),"@me"}let n=await r.json(),o=zh.safeParse(n);if(o.success)return _r=o.data.login,_r;console.warn("\u26A0 Unexpected GitHub /user response \u2014 falling back to @me")}catch(r){console.warn(`\u26A0 GitHub /user request failed: ${r instanceof Error?r.message:String(r)} \u2014 falling back to @me`)}return"@me"}async function yr(e,t,r,n,o,i=5){let s,c=new URLSearchParams({state:"open",assignee:n??"@me",per_page:"10"});r&&c.set("labels",r);try{s=await fetch(`${j}/repos/${t}/issues?${c}`,{headers:B(e)})}catch(d){return console.warn(`\u26A0 GitHub API request failed: ${d instanceof Error?d.message:String(d)}`),[]}if(!s.ok)return console.warn(`\u26A0 GitHub API returned HTTP ${s.status}`),[];let a;try{a=await s.json()}catch{return console.warn("\u26A0 GitHub API returned invalid JSON"),[]}let u=zu.safeParse(a);if(!u.success)return console.warn(`\u26A0 Unexpected GitHub response shape: ${u.error.message}`),[];let p=u.data.filter(d=>!d.pull_request);return o&&(p=p.filter(d=>!d.labels?.some(m=>m.name==="clancy:hitl"))),p.slice(0,i).map(d=>({key:`#${d.number}`,title:d.title,description:d.body??"",provider:"github",milestone:d.milestone?.title,labels:d.labels?.map(m=>m.name).filter(m=>!!m)}))}async function $r(e,t,r,n){if(!br(t))return!1;let o=/Blocked by #(\d+)/gi,i=new Set,s;for(;(s=o.exec(n))!==null;){let c=parseInt(s[1],10);!Number.isNaN(c)&&c!==r&&i.add(c)}if(!i.size)return!1;try{for(let c of i){let a=await fetch(`${j}/repos/${t}/issues/${c}`,{headers:B(e)});if(!a.ok)continue;if((await a.json()).state!=="closed")return!0}return!1}catch{return!1}}async function Hu(e,t,r){if(br(t))try{let n=await Gu(e,t,`Epic: #${r}`);return n&&n.total>0?n:await Gu(e,t,`Parent: #${r}`)}catch{return}}async function Gu(e,t,r){let n=B(e),o=`"${r}" repo:${t} is:issue`,i=new URLSearchParams({q:o,per_page:"1"}),s=await fetch(`${j}/search/issues?${i}`,{headers:n});if(!s.ok)return;let a=(await s.json()).total_count??0;if(a===0)return{total:0,incomplete:0};let u=`"${r}" repo:${t} is:issue is:open`,p=new URLSearchParams({q:u,per_page:"1"}),d=await fetch(`${j}/search/issues?${p}`,{headers:n});if(!d.ok)return{total:a,incomplete:a};let h=(await d.json()).total_count??0;return{total:a,incomplete:h}}function xr(e,t){return e==="github"?`feature/issue-${t.replace("#","")}`:`feature/${t.toLowerCase()}`}function wr(e,t,r){return r?e==="github"?`milestone/${r.toLowerCase().replace(/\s+/g,"-").replace(/[^a-z0-9-]/g,"")}`:`epic/${r.toLowerCase()}`:t}async function qu(e){let t=J(process.cwd(),"PR_CREATED"),r=J(process.cwd(),"REWORK"),n=J(process.cwd(),"PUSHED"),o=J(process.cwd(),"PUSH_FAILED"),i=[...t,...r,...n,...o];if(i.length===0)return;let s=M(e).CLANCY_GIT_PLATFORM,c=ye(s);if(c.host==="none"||c.host==="unknown"||c.host==="azure")return;let a=bt(e,c);if(!a)return;let u=_t(c,M(e).CLANCY_GIT_API_URL);if(!u)return;let p;if(c.host==="github")try{p=await Je(a.token,u)}catch{}let d=i.slice(0,5);for(let m of d){let h=xr(e.provider,m.key),b;if(m.timestamp){let z=new Date(m.timestamp.replace(" ","T")+"Z");b=Number.isNaN(z.getTime())?void 0:z.toISOString()}let _;switch(c.host){case"github":_=await Iu(a.token,`${c.owner}/${c.repo}`,h,c.owner,u,b,p);break;case"gitlab":_=await ju(a.token,u,c.projectPath,h,b);break;case"bitbucket":_=await xu(a.username,a.token,c.workspace,c.repoSlug,h,b);break;case"bitbucket-server":_=await ku(a.token,u,c.projectKey,c.repoSlug,h,b);break}if(_?.changesRequested){let z=[],Y;switch(c.host){case"github":z=await Eu(a.token,`${c.owner}/${c.repo}`,_.prNumber,u,b,p);break;case"gitlab":{let R=await Ou(a.token,u,c.projectPath,_.prNumber,b);z=R.comments,Y=R.discussionIds;break}case"bitbucket":z=await wu(a.username,a.token,c.workspace,c.repoSlug,_.prNumber,b);break;case"bitbucket-server":z=await vu(a.token,u,c.projectKey,c.repoSlug,_.prNumber,b);break}return{ticket:{key:m.key,title:m.summary,description:m.summary,parentInfo:m.parent??"none",blockers:"None"},feedback:z,prNumber:_.prNumber,discussionIds:Y,reviewers:_.reviewers??[]}}}}function Ph(e){if(e.length===0)return"[clancy] Rework pushed addressing reviewer feedback.";let t=e.length,r=e.slice(0,3).map(o=>`- ${o.slice(0,80)}`).join(`
48
48
  `),n=e.length>3?`
49
49
  - ...`:"";return`[clancy] Rework pushed addressing ${t} feedback item${t!==1?"s":""}.
50
50
 
51
- ${r}${n}`}async function Gu(e,t,r,n,o){let i=L(e).CLANCY_GIT_PLATFORM,s=ye(i);if(s.host==="none"||s.host==="unknown"||s.host==="azure")return;let c=yt(e,s);if(!c)return;let a=_t(s,L(e).CLANCY_GIT_API_URL);if(!a)return;let u=xh(r);try{let l=!1;switch(s.host){case"github":l=await Pu(c.token,`${s.owner}/${s.repo}`,t,u,a);break;case"gitlab":l=await Ru(c.token,a,s.projectPath,t,u);break;case"bitbucket":l=await gu(c.username,c.token,s.workspace,s.repoSlug,t,u);break;case"bitbucket-server":l=await _u(c.token,a,s.projectKey,s.repoSlug,t,u);break}l&&console.log(x(" \u2713 Posted rework comment"))}catch{}if(s.host==="gitlab"&&n&&n.length>0)try{let l=await Cu(c.token,a,s.projectPath,t,n);l>0&&console.log(x(` \u2713 Resolved ${l} discussion thread${l!==1?"s":""}`))}catch{}if(s.host==="github"&&o&&o.length>0)try{await Eu(c.token,`${s.owner}/${s.repo}`,t,o,a)&&console.log(x(` \u2713 Re-requested review from ${o.join(", ")}`))}catch{}}async function qu(e){let t=e.config,r=e.ticket,n=e.ticketBranch,o=e.effectiveTarget,i=e.hasParent,s=e.skipEpicBranch??!1,c=e.isRework??!1,a=i&&!s?r.parentInfo:void 0;if(c){if(!await ic(t,r,n,o,e.startTime,!0,a,e.board))return C(e.cwd,r.key,r.title,"PUSH_FAILED",void 0,a),!1;C(e.cwd,r.key,r.title,"REWORK",e.reworkPrNumber,a),e.reworkPrNumber!=null&&await Gu(t,e.reworkPrNumber,e.prFeedback??[],e.reworkDiscussionIds,e.reworkReviewers)}else if(!await ic(t,r,n,o,e.startTime,!1,a,e.board))return!1;return!0}function Hu(e){if(!e.dryRun)return!0;let t=e.config,r=e.ticket,n=e.ticketBranch,o=e.targetBranch,i=t.provider==="github"?"Milestone":"Epic";return console.log(""),console.log(S("\u2500\u2500 Dry Run \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500")),console.log(` Ticket: ${Ie(`[${r.key}]`)} ${r.title}`),e.isRework&&console.log(" Mode: Rework"),console.log(` ${i}:${" ".repeat(14-i.length)}${r.parentInfo}`),t.provider!=="github"&&console.log(` Blockers: ${r.blockers}`),console.log(` Target branch: ${n} \u2192 ${o}`),r.description&&console.log(` Description: ${r.description}`),console.log(S("\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500")),console.log(x(" No changes made. Remove --dry-run to run for real.")),!1}async function Vu(e){let t=e.config,r=e.board;try{let n=U(e.cwd,"PR_CREATED"),o=U(e.cwd,"REWORK"),i=U(e.cwd,"PUSHED"),s=[...n,...o,...i],c=new Set(U(e.cwd,"EPIC_PR_CREATED").map(l=>l.key)),a=new Set(s.map(l=>l.parent).filter(l=>!!l).filter(l=>!c.has(l))),u=t.env.CLANCY_BASE_BRANCH??"main";for(let l of a){let d=await r.fetchChildrenStatus(l);if(d&&d.incomplete===0&&d.total>0){let m=xr(t.provider,u,l),h=await ju(t,l,l,m,u,r);console.log(h?N(` \u2713 Epic ${l} complete \u2014 PR created`):S(`\u26A0 Epic PR creation failed for ${l}. Create manually:
51
+ ${r}${n}`}async function Vu(e,t,r,n,o){let i=M(e).CLANCY_GIT_PLATFORM,s=ye(i);if(s.host==="none"||s.host==="unknown"||s.host==="azure")return;let c=bt(e,s);if(!c)return;let a=_t(s,M(e).CLANCY_GIT_API_URL);if(!a)return;let u=Ph(r);try{let p=!1;switch(s.host){case"github":p=await Au(c.token,`${s.owner}/${s.repo}`,t,u,a);break;case"gitlab":p=await Nu(c.token,a,s.projectPath,t,u);break;case"bitbucket":p=await yu(c.username,c.token,s.workspace,s.repoSlug,t,u);break;case"bitbucket-server":p=await $u(c.token,a,s.projectKey,s.repoSlug,t,u);break}p&&console.log(x(" \u2713 Posted rework comment"))}catch{}if(s.host==="gitlab"&&n&&n.length>0)try{let p=await Lu(c.token,a,s.projectPath,t,n);p>0&&console.log(x(` \u2713 Resolved ${p} discussion thread${p!==1?"s":""}`))}catch{}if(s.host==="github"&&o&&o.length>0)try{await Tu(c.token,`${s.owner}/${s.repo}`,t,o,a)&&console.log(x(` \u2713 Re-requested review from ${o.join(", ")}`))}catch{}}async function Wu(e){let t=e.config,r=e.ticket,n=e.ticketBranch,o=e.effectiveTarget,i=e.hasParent,s=e.skipEpicBranch??!1,c=e.isRework??!1,a=i&&!s?r.parentInfo:void 0;if(c){if(!await ic(t,r,n,o,e.startTime,!0,a,e.board))return C(e.cwd,r.key,r.title,"PUSH_FAILED",void 0,a),!1;C(e.cwd,r.key,r.title,"REWORK",e.reworkPrNumber,a),e.reworkPrNumber!=null&&await Vu(t,e.reworkPrNumber,e.prFeedback??[],e.reworkDiscussionIds,e.reworkReviewers)}else if(!await ic(t,r,n,o,e.startTime,!1,a,e.board))return!1;return!0}function Qu(e){if(!e.dryRun)return!0;let t=e.config,r=e.ticket,n=e.ticketBranch,o=e.targetBranch,i=t.provider==="github"?"Milestone":"Epic";return console.log(""),console.log(S("\u2500\u2500 Dry Run \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500")),console.log(` Ticket: ${Ae(`[${r.key}]`)} ${r.title}`),e.isRework&&console.log(" Mode: Rework"),console.log(` ${i}:${" ".repeat(14-i.length)}${r.parentInfo}`),t.provider!=="github"&&console.log(` Blockers: ${r.blockers}`),console.log(` Target branch: ${n} \u2192 ${o}`),r.description&&console.log(` Description: ${r.description}`),console.log(S("\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500")),console.log(x(" No changes made. Remove --dry-run to run for real.")),!1}async function Xu(e){let t=e.config,r=e.board;try{let n=J(e.cwd,"PR_CREATED"),o=J(e.cwd,"REWORK"),i=J(e.cwd,"PUSHED"),s=[...n,...o,...i],c=new Set(J(e.cwd,"EPIC_PR_CREATED").map(p=>p.key)),a=new Set(s.map(p=>p.parent).filter(p=>!!p).filter(p=>!c.has(p))),u=t.env.CLANCY_BASE_BRANCH??"main";for(let p of a){let d=await r.fetchChildrenStatus(p);if(d&&d.incomplete===0&&d.total>0){let m=wr(t.provider,u,p),h=await Bu(t,p,p,m,u,r);console.log(h?N(` \u2713 Epic ${p} complete \u2014 PR created`):S(`\u26A0 Epic PR creation failed for ${p}. Create manually:
52
52
  git push origin ${m}
53
- Then create a PR targeting ${u}`))}}}catch{}return!0}import{spawnSync as Wu}from"node:child_process";function Xu(e,t){let r=["-p","--dangerously-skip-permissions"];t&&r.push("--model",t);let n=Wu("claude",r,{input:e,stdio:["pipe","pipe","pipe"],encoding:"utf8"});return{stdout:n.stdout??"",ok:n.status===0&&!n.error}}function Qu(e,t){let r=["--dangerously-skip-permissions"];t&&r.push("--model",t);let n=Wu("claude",r,{input:e,stdio:["pipe","inherit","inherit"],encoding:"utf8"});return n.status===0&&!n.error}function wh(e){return["You are evaluating whether a ticket can be implemented as pure code changes in a repository.","",`Ticket: [${e.key}] ${e.title}`,"Description:",e.description,"","Can this ticket be completed entirely through code changes committed to a git repository?","","Answer INFEASIBLE if the ticket requires ANY of:","- Manual testing or configuration in external tools or admin panels","- Access to external services, APIs, or platforms not available in the codebase","- Physical, hardware, or infrastructure changes","- Design assets that do not yet exist","- Deployment or infrastructure changes outside the repository","- Human judgment calls that require stakeholder input","","Answer with exactly one line in this format:","FEASIBLE","or","INFEASIBLE: one-line reason","","Do not include any other text."].join(`
54
- `)}function vh(e){let t=e.trim().split(`
55
- `).pop()?.trim()??"";return/^INFEASIBLE/i.test(t)?{feasible:!1,reason:t.replace(/^INFEASIBLE:?\s*/i,"").trim()||void 0}:{feasible:!0}}function el(e,t){let r=wh(e),{stdout:n,ok:o}=Xu(r,t);return o?vh(n):{feasible:!0}}function tl(e){let t=e.config,r=e.ticket;if(!e.isRework&&!e.skipFeasibility){console.log(x(" Checking feasibility..."));let n=el({key:r.key,title:r.title,description:r.description},t.env.CLANCY_MODEL);if(!n.feasible){let o=n.reason??"not implementable as code changes";return console.log(S(`\u23ED\uFE0F Ticket skipped [${r.key}]: ${o}`)),C(e.cwd,r.key,r.title,"SKIPPED"),!1}console.log(N(" \u2713 Feasibility check passed"))}return console.log(""),!0}var rl=`
53
+ Then create a PR targeting ${u}`))}}}catch{}return!0}import{spawnSync as el}from"node:child_process";function tl(e,t){let r=["-p","--dangerously-skip-permissions"];t&&r.push("--model",t);let n=el("claude",r,{input:e,stdio:["pipe","pipe","pipe"],encoding:"utf8"});return{stdout:n.stdout??"",ok:n.status===0&&!n.error}}function rl(e,t){let r=["--dangerously-skip-permissions"];t&&r.push("--model",t);let n=el("claude",r,{input:e,stdio:["pipe","inherit","inherit"],encoding:"utf8"});return n.status===0&&!n.error}function Ih(e){return["You are evaluating whether a ticket can be implemented as pure code changes in a repository.","",`Ticket: [${e.key}] ${e.title}`,"Description:",e.description,"","Can this ticket be completed entirely through code changes committed to a git repository?","","Answer INFEASIBLE if the ticket requires ANY of:","- Manual testing or configuration in external tools or admin panels","- Access to external services, APIs, or platforms not available in the codebase","- Physical, hardware, or infrastructure changes","- Design assets that do not yet exist","- Deployment or infrastructure changes outside the repository","- Human judgment calls that require stakeholder input","","Answer with exactly one line in this format:","FEASIBLE","or","INFEASIBLE: one-line reason","","Do not include any other text."].join(`
54
+ `)}function Eh(e){let t=e.trim().split(`
55
+ `).pop()?.trim()??"";return/^INFEASIBLE/i.test(t)?{feasible:!1,reason:t.replace(/^INFEASIBLE:?\s*/i,"").trim()||void 0}:{feasible:!0}}function nl(e,t){let r=Ih(e),{stdout:n,ok:o}=tl(r,t);return o?Eh(n):{feasible:!0}}function ol(e){let t=e.config,r=e.ticket;if(!e.isRework&&!e.skipFeasibility){console.log(x(" Checking feasibility..."));let n=nl({key:r.key,title:r.title,description:r.description},t.env.CLANCY_MODEL);if(!n.feasible){let o=n.reason??"not implementable as code changes";return console.log(S(`\u23ED\uFE0F Ticket skipped [${r.key}]: ${o}`)),C(e.cwd,r.key,r.title,"SKIPPED"),!1}console.log(N(" \u2713 Feasibility check passed"))}return console.log(""),!0}var il=`
56
56
  ## Test-Driven Development
57
57
 
58
58
  You MUST follow the red-green-refactor cycle for every behaviour change:
@@ -66,7 +66,7 @@ You MUST follow the red-green-refactor cycle for every behaviour change:
66
66
 
67
67
  Repeat for each behaviour. Do not write implementation code without a failing test first.
68
68
  Design interfaces for testability \u2014 prefer pure functions and thin boundaries
69
- so modules are easy to test in isolation.`;function kh(e){switch(e){case"jira":return"Jira ticket";case"github":return"GitHub Issue";case"linear":return"Linear issue"}}function zh(e){return e==="github"?"Milestone":"Epic"}function nl(e){let t=e.feedbackComments.length>0?e.feedbackComments.map((n,o)=>`${o+1}. ${n}`).join(`
69
+ so modules are easy to test in isolation.`;function Ah(e){switch(e){case"jira":return"Jira ticket";case"github":return"GitHub Issue";case"linear":return"Linear issue"}}function Th(e){return e==="github"?"Milestone":"Epic"}function sl(e){let t=e.feedbackComments.length>0?e.feedbackComments.map((n,o)=>`${o+1}. ${n}`).join(`
70
70
  `):"No reviewer comments found. Review the existing implementation and fix any issues.",r=e.previousContext?`
71
71
 
72
72
  ## Previous Implementation
@@ -82,7 +82,7 @@ ${e.description}
82
82
 
83
83
  ${t}${r}
84
84
 
85
- Address the specific feedback above. Don't re-implement unrelated areas. Focus only on what was flagged.${e.tdd?rl:""}
85
+ Address the specific feedback above. Don't re-implement unrelated areas. Focus only on what was flagged.${e.tdd?il:""}
86
86
 
87
87
  Steps:
88
88
  1. Read core docs in .clancy/docs/: STACK.md, ARCHITECTURE.md, CONVENTIONS.md, GIT.md, DEFINITION-OF-DONE.md, CONCERNS.md
@@ -90,7 +90,7 @@ Steps:
90
90
  2. Follow the conventions in GIT.md exactly
91
91
  3. Fix the issues identified in the reviewer feedback
92
92
  4. Commit your work following the conventions in GIT.md
93
- 5. When done, confirm you are finished.`}function ol(e){let t=kh(e.provider),r=zh(e.provider),n=e.blockers&&e.provider!=="github"?`
93
+ 5. When done, confirm you are finished.`}function cl(e){let t=Ah(e.provider),r=Th(e.provider),n=e.blockers&&e.provider!=="github"?`
94
94
  Blockers: ${e.blockers}`:"";return`You are implementing ${t} ${e.key}.
95
95
 
96
96
  ${e.provider==="github"?"Title":"Summary"}: ${e.title}
@@ -110,15 +110,15 @@ If you must SKIP this ${e.provider==="github"?"issue":"ticket"}:
110
110
  3. Append to .clancy/progress.txt: YYYY-MM-DD HH:MM | ${e.key} | {reason} | SKIPPED
111
111
  4. Stop \u2014 no branches, no file changes, no git operations.
112
112
 
113
- If the ${e.provider==="github"?"issue":"ticket"} IS implementable, continue:${e.tdd?rl:""}
113
+ If the ${e.provider==="github"?"issue":"ticket"} IS implementable, continue:${e.tdd?il:""}
114
114
  1. Read core docs in .clancy/docs/: STACK.md, ARCHITECTURE.md, CONVENTIONS.md, GIT.md, DEFINITION-OF-DONE.md, CONCERNS.md
115
115
  Also read if relevant to this ticket: INTEGRATIONS.md (external APIs/services/auth), TESTING.md (tests/specs/coverage), DESIGN-SYSTEM.md (UI/components/styles), ACCESSIBILITY.md (accessibility/ARIA/WCAG)
116
116
  2. Follow the conventions in GIT.md exactly
117
117
  3. Implement the ${e.provider==="github"?"issue":"ticket"} fully
118
118
  4. Commit your work following the conventions in GIT.md
119
- 5. When done, confirm you are finished.`}function il(e){let t=e.config,r=e.ticket,n=e.isRework??!1,o=e.targetBranch,i=t.env.CLANCY_TDD==="true",s;n?s=nl({key:r.key,title:r.title,description:r.description,provider:t.provider,feedbackComments:e.prFeedback??[],previousContext:fc(o),tdd:i}):s=ol({provider:t.provider,key:r.key,title:r.title,description:r.description,parentInfo:r.parentInfo,blockers:t.provider!=="github"?r.blockers:void 0,tdd:i}),process.env.CLANCY_ONCE_ACTIVE="1";let c;try{c=Qu(s,t.env.CLANCY_MODEL)}finally{delete process.env.CLANCY_ONCE_ACTIVE}return c?!0:(console.log(S("\u26A0 Claude session exited with an error. Skipping merge.")),!1)}import{execFileSync as sc}from"node:child_process";import{existsSync as Sh,readFileSync as Ph}from"node:fs";import{join as Eh}from"node:path";function Ih(e){let t={};for(let r of e.split(`
120
- `)){let n=r.trim();if(!n||n.startsWith("#"))continue;let o=n.indexOf("=");if(o===-1)continue;let i=n.slice(0,o).trim(),s=n.slice(o+1).trim();s.length>=2&&(s.startsWith('"')&&s.endsWith('"')||s.startsWith("'")&&s.endsWith("'"))&&(s=s.slice(1,-1)),t[i]=s}return t}function sl(e){let t=Eh(e,".clancy",".env");if(!Sh(t))return;let r=Ph(t,"utf8");return Ih(r)}function Th(e){try{return sc("which",[e],{stdio:"ignore"}),!0}catch{return!1}}function Ah(){try{return sc("git",["rev-parse","--git-dir"],{stdio:"ignore"}),!0}catch{return!1}}function wr(e){for(let n of["claude","git"])if(!Th(n))return{ok:!1,error:`\u2717 ${n} is required but not found`};let t=sl(e);if(!t)return{ok:!1,error:"\u2717 .clancy/.env not found \u2014 run /clancy:init first"};if(!Ah())return{ok:!1,error:"\u2717 Not inside a git repository"};let r;try{sc("git",["ls-remote","origin","HEAD"],{encoding:"utf8",timeout:5e3,stdio:["pipe","pipe","pipe"]})}catch{r="\u26A0 Could not reach origin. PR creation and rework detection may not work."}if(wt()){let n="\u26A0 Working directory has uncommitted changes \u2014 they will be included in the branch";r=r?`${r}
121
- ${n}`:n}return{ok:!0,env:t,warning:r}}import{execFileSync as $t}from"node:child_process";function cl(e){let t=e.ticketBranch;if(!Ke(t))return;let r;try{r=$t("git",["rev-parse","--abbrev-ref","HEAD"],{encoding:"utf8"}).trim()}catch{return}try{Z(t)}catch{return}let n=!1,o=!1;try{n=wt()}catch{}try{o=$t("git",["log",`origin/${t}..${t}`,"--oneline"],{encoding:"utf8"}).trim().length>0}catch{try{o=$t("git",["log",`origin/${e.targetBranch}..${t}`,"--oneline"],{encoding:"utf8"}).trim().length>0}catch{}}try{Z(r)}catch{}if(!(!n&&!o))return{branch:t,hasUncommitted:n,hasUnpushed:o}}async function al(e,t,r){try{if(Z(r.branch),r.hasUncommitted)try{$t("git",["add","-A"],{encoding:"utf8"}),$t("git",["commit","-m",`fix(${t.ticketKey}): resume after crash`],{encoding:"utf8"}),console.log(N(` \u2713 Committed in-progress work for ${t.ticketKey}`))}catch{return console.log(S(` \u26A0 Could not commit changes on ${r.branch}`)),!1}if(!Ye(r.branch))return console.log(S(` \u26A0 Could not push ${r.branch} to origin`)),!1;console.log(N(` \u2713 Pushed ${r.branch}`));let o=L(e).CLANCY_GIT_PLATFORM,i=ye(o),s=`feat(${t.ticketKey}): ${t.ticketTitle}`,c=dr(e,{key:t.ticketKey,title:t.ticketTitle,description:"",provider:e.provider},t.targetBranch);if(i.host!=="none"&&i.host!=="unknown"&&i.host!=="azure"){let a=await bt(e,i,r.branch,t.targetBranch,s,c);a?.ok?(console.log(N(` \u2713 PR created: ${a.url}`)),C(process.cwd(),t.ticketKey,t.ticketTitle,"RESUMED",a.number,t.parentKey&&t.parentKey!=="none"?t.parentKey:void 0)):(console.log(x(" Branch pushed \u2014 create a PR manually.")),C(process.cwd(),t.ticketKey,t.ticketTitle,"RESUMED",void 0,t.parentKey&&t.parentKey!=="none"?t.parentKey:void 0))}else C(process.cwd(),t.ticketKey,t.ticketTitle,"RESUMED",void 0,t.parentKey&&t.parentKey!=="none"?t.parentKey:void 0);try{Z(t.targetBranch)}catch{}return!0}catch(n){return console.log(S(` \u26A0 Resume failed: ${n instanceof Error?n.message:String(n)}`)),!1}}async function ul(e){let t=zt(e.cwd);if(!t)return!0;if(!gc(t))return console.log(S(`\u26A0 Another Clancy session is running (PID ${t.pid}, ticket ${t.ticketKey}). Aborting.`)),!1;console.log(x(` Stale lock found (PID ${t.pid}, ticket ${t.ticketKey}). Cleaning up...`)),St(e.cwd),Pt(e.cwd);try{let r=cl(t);if(r)if(e.isAfk){console.log(S(` \u21BB Resuming crashed session: ${t.ticketKey} on ${r.branch}`));let n=wr(e.cwd);if(n.ok){let o=fr(n.env);if(typeof o!="string"&&await al(o,t,r))return console.log(N(` \u2713 Resumed ${t.ticketKey}`)),!1}}else console.log(S(` Found in-progress work on ${r.branch}.`+(r.hasUncommitted?" Has uncommitted changes.":"")+(r.hasUnpushed?" Has unpushed commits.":""))),console.log(x(" Run in AFK mode (CLANCY_AFK_MODE=1) to auto-resume, or handle manually."))}catch{}return!0}function ll(e){return{async ping(){return Ju(e.GITHUB_TOKEN,e.GITHUB_REPO)},validateInputs(){if(!_r(e.GITHUB_REPO))return"\u2717 GITHUB_REPO format is invalid \u2014 expected owner/repo"},async fetchTicket(t){return(await this.fetchTickets(t))[0]},async fetchTickets(t){let r=await Fe(e.GITHUB_TOKEN);return(await yr(e.GITHUB_TOKEN,e.GITHUB_REPO,e.CLANCY_LABEL,r,t.excludeHitl)).map(o=>({key:o.key,title:o.title,description:o.description,parentInfo:o.milestone??"none",blockers:"None"}))},async fetchBlockerStatus(t){let r=parseInt(t.key.replace("#",""),10);return Number.isNaN(r)?!1:br(e.GITHUB_TOKEN,e.GITHUB_REPO,r,t.description)},async fetchChildrenStatus(t){let r=parseInt(t.replace("#",""),10);if(!Number.isNaN(r))return Ku(e.GITHUB_TOKEN,e.GITHUB_REPO,r)},async transitionTicket(){return!1},sharedEnv(){return e}}}var Rh=p.object({type:p.optional(p.object({name:p.optional(p.string())})),inwardIssue:p.optional(p.object({key:p.optional(p.string())}))}),Ch=p.object({summary:p.string(),description:p.optional(p.unknown()),issuelinks:p.optional(p.array(Rh)),parent:p.optional(p.object({key:p.optional(p.string())})),customfield_10014:p.optional(p.nullable(p.string()))}),Zh=p.object({key:p.string(),fields:Ch}),pl=p.object({total:p.optional(p.number()),isLast:p.optional(p.boolean()),issues:p.array(Zh)}),Nh=p.object({id:p.string(),name:p.string()}),fl=p.object({transitions:p.array(Nh)}),Oh=p.object({type:p.optional(p.object({name:p.optional(p.string())})),inwardIssue:p.optional(p.object({key:p.optional(p.string()),fields:p.optional(p.object({status:p.optional(p.object({statusCategory:p.optional(p.object({key:p.optional(p.string())}))}))}))}))}),dl=p.object({fields:p.optional(p.object({issuelinks:p.optional(p.array(Oh))}))});var jh=/^[a-zA-Z0-9 _\-'.]+$/,cc=/^[A-Z][A-Z0-9]+-\d+$/;function xt(e,t){return Buffer.from(`${e}:${t}`).toString("base64")}function vr(e){return jh.test(e)}async function hl(e,t,r){return mr(`${e}/rest/api/3/project/${t}`,be(r),{401:"\u2717 Jira auth failed \u2014 check credentials",403:"\u2717 Jira permission denied for this project",404:`\u2717 Jira project "${t}" not found`},"\u2717 Could not reach Jira \u2014 check network")}function Lh(e,t,r,n,o){let i=[`project="${e}"`];return r&&i.push("sprint in openSprints()"),n&&i.push(`labels = "${n}"`),o&&i.push('labels != "clancy:hitl"'),i.push("assignee=currentUser()"),i.push(`status="${t}"`),i.join(" AND ")+" ORDER BY priority ASC"}function Mh(e){if(!e||typeof e!="object")return"";let t=[];function r(n){if(typeof n=="string"){t.push(n);return}if(Array.isArray(n)){for(let o of n)r(o);return}if(n&&typeof n=="object")for(let o of Object.values(n))r(o)}return r(e),t.join(" ")}async function kr(e,t,r,n,o,i,s,c=5){let a=Lh(r,n,o,i,s),u;try{u=await fetch(`${e}/rest/api/3/search/jql`,{method:"POST",headers:{...be(t),"Content-Type":"application/json"},body:JSON.stringify({jql:a,maxResults:c,fields:["summary","description","issuelinks","parent","customfield_10014"]})})}catch(m){return console.warn(`\u26A0 Jira API request failed: ${m instanceof Error?m.message:String(m)}`),[]}if(!u.ok)return console.warn(`\u26A0 Jira API returned HTTP ${u.status}`),[];let l;try{l=await u.json()}catch{return console.warn("\u26A0 Jira API returned invalid JSON"),[]}let d=pl.safeParse(l);return d.success?d.data.issues.map(m=>{let h=m.fields,y=(h.issuelinks??[]).filter(z=>z.type?.name==="Blocks"&&z.inwardIssue?.key).map(z=>z.inwardIssue?.key).filter(z=>!!z),_=h.parent?.key??h.customfield_10014??void 0;return{key:m.key,title:h.summary,description:Mh(h.description),provider:"jira",epicKey:_,blockers:y}}):(console.warn(`\u26A0 Unexpected Jira response shape: ${d.error.message}`),[])}async function zr(e,t,r){if(!cc.test(r))return!1;try{let n=await fetch(`${e}/rest/api/3/issue/${r}?fields=issuelinks`,{headers:be(t)});if(!n.ok)return!1;let o=await n.json(),i=dl.safeParse(o);return i.success?(i.data.fields?.issuelinks??[]).some(c=>{if(c.type?.name!=="Blocks"||!c.inwardIssue?.key)return!1;let a=c.inwardIssue.fields?.status?.statusCategory?.key;return a?a!=="done":!1}):!1}catch{return!1}}async function gl(e,t,r){if(cc.test(r))try{let n=r.split("-")[0],o=await ml(e,t,`project = "${n}" AND description ~ "Epic: ${r}"`);return o&&o.total>0?o:await ml(e,t,`parent = ${r}`)}catch{return}}async function ml(e,t,r){let n=await fetch(`${e}/rest/api/3/search/jql`,{method:"POST",headers:{...be(t),"Content-Type":"application/json"},body:JSON.stringify({jql:r,maxResults:0})});if(!n.ok)return;let i=(await n.json()).total??0;if(i===0)return{total:0,incomplete:0};let s=await fetch(`${e}/rest/api/3/search/jql`,{method:"POST",headers:{...be(t),"Content-Type":"application/json"},body:JSON.stringify({jql:`${r} AND statusCategory != "done"`,maxResults:0})});if(!s.ok)return;let a=(await s.json()).total??0;return{total:i,incomplete:a}}async function Bh(e,t,r,n){if(!cc.test(r))return;let o;try{o=await fetch(`${e}/rest/api/3/issue/${r}/transitions`,{headers:be(t)})}catch(a){console.warn(`\u26A0 Jira transitions request failed: ${a instanceof Error?a.message:String(a)}`);return}if(!o.ok)return;let i;try{i=await o.json()}catch{console.warn("\u26A0 Jira transitions returned invalid JSON");return}let s=fl.safeParse(i);if(!s.success){console.warn(`\u26A0 Unexpected Jira transitions response: ${s.error.message}`);return}return s.data.transitions.find(a=>a.name===n)?.id}async function _l(e,t,r,n){try{let o=await Bh(e,t,r,n);return o?(await fetch(`${e}/rest/api/3/issue/${r}/transitions`,{method:"POST",headers:{...be(t),"Content-Type":"application/json"},body:JSON.stringify({transition:{id:o}})})).ok:(console.warn(`\u26A0 Jira transition "${n}" not found for ${r}`),!1)}catch{return!1}}function yl(e){let t=xt(e.JIRA_USER,e.JIRA_API_TOKEN);return{async ping(){return hl(e.JIRA_BASE_URL,e.JIRA_PROJECT_KEY,t)},validateInputs(){if(!vr(e.JIRA_PROJECT_KEY))return"\u2717 JIRA_PROJECT_KEY contains invalid characters";if(e.CLANCY_LABEL&&!vr(e.CLANCY_LABEL))return"\u2717 CLANCY_LABEL contains invalid characters";if(e.CLANCY_JQL_STATUS&&!vr(e.CLANCY_JQL_STATUS))return"\u2717 CLANCY_JQL_STATUS contains invalid characters"},async fetchTicket(r){return(await this.fetchTickets(r))[0]},async fetchTickets(r){return(await kr(e.JIRA_BASE_URL,t,e.JIRA_PROJECT_KEY,e.CLANCY_JQL_STATUS??"To Do",e.CLANCY_JQL_SPRINT,e.CLANCY_LABEL,r.excludeHitl)).map(o=>{let i=o.blockers.length?`Blocked by: ${o.blockers.join(", ")}`:"None";return{key:o.key,title:o.title,description:o.description,parentInfo:o.epicKey??"none",blockers:i}})},async fetchBlockerStatus(r){return zr(e.JIRA_BASE_URL,t,r.key)},async fetchChildrenStatus(r){return gl(e.JIRA_BASE_URL,t,r)},async transitionTicket(r,n){let o=await _l(e.JIRA_BASE_URL,t,r.key,n);return o&&console.log(` \u2192 Transitioned to ${n}`),o},sharedEnv(){return e}}}var Dh=p.object({id:p.string(),identifier:p.string(),title:p.string(),description:p.optional(p.nullable(p.string())),parent:p.optional(p.nullable(p.object({identifier:p.string(),title:p.optional(p.string())}))),labels:p.optional(p.object({nodes:p.array(p.object({name:p.string()}))}))}),bl=p.object({data:p.optional(p.object({viewer:p.optional(p.object({assignedIssues:p.optional(p.object({nodes:p.array(Dh)}))}))}))}),$l=p.object({data:p.optional(p.object({viewer:p.optional(p.object({id:p.optional(p.string())}))}))}),xl=p.object({data:p.optional(p.object({workflowStates:p.optional(p.object({nodes:p.array(p.object({id:p.string()}))}))}))}),wl=p.object({data:p.optional(p.object({issueUpdate:p.optional(p.object({success:p.optional(p.boolean())}))}))}),Uh=p.object({type:p.string(),relatedIssue:p.optional(p.object({state:p.optional(p.object({type:p.optional(p.string())}))}))}),vl=p.object({data:p.optional(p.object({issue:p.optional(p.object({relations:p.optional(p.object({nodes:p.array(Uh)}))}))}))}),Fh=p.object({state:p.optional(p.object({type:p.optional(p.string())}))}),kl=p.object({data:p.optional(p.object({issueSearch:p.optional(p.object({nodes:p.array(Fh)}))}))});var Jh=/^[a-zA-Z0-9_-]+$/,zl="https://api.linear.app/graphql";function Sl(e){return Jh.test(e)}async function Je(e,t,r){let n;try{n=await fetch(zl,{method:"POST",headers:{Authorization:e,"Content-Type":"application/json"},body:JSON.stringify({query:t,variables:r})})}catch(o){console.warn(`\u26A0 Linear API request failed: ${o instanceof Error?o.message:String(o)}`);return}if(!n.ok){console.warn(`\u26A0 Linear API returned HTTP ${n.status}`);return}try{return await n.json()}catch{console.warn("\u26A0 Linear API returned invalid JSON");return}}async function Pl(e){let t;try{t=await fetch(zl,{method:"POST",headers:{Authorization:e,"Content-Type":"application/json"},body:JSON.stringify({query:"{ viewer { id } }"})})}catch{return{ok:!1,error:"\u2717 Could not reach Linear \u2014 check network"}}if(!t.ok)return t.status===401||t.status===403?{ok:!1,error:"\u2717 Linear auth failed \u2014 check LINEAR_API_KEY"}:{ok:!1,error:`\u2717 Linear API returned HTTP ${t.status}`};try{let r=await t.json(),n=$l.safeParse(r);if(n.success&&n.data.data?.viewer?.id)return{ok:!0}}catch{}return{ok:!1,error:"\u2717 Linear auth failed \u2014 check LINEAR_API_KEY"}}async function Sr(e,t,r=5){let n=e.CLANCY_LABEL?.trim(),o=!!n,i=o?"labels: { name: { eq: $label } }":"",s=["$teamId: String!",...o?["$label: String!"]:[]],c=['state: { type: { eq: "unstarted" } }',"team: { id: { eq: $teamId } }",i].filter(Boolean),a=`
119
+ 5. When done, confirm you are finished.`}function al(e){let t=e.config,r=e.ticket,n=e.isRework??!1,o=e.targetBranch,i=t.env.CLANCY_TDD==="true",s;n?s=sl({key:r.key,title:r.title,description:r.description,provider:t.provider,feedbackComments:e.prFeedback??[],previousContext:hc(o),tdd:i}):s=cl({provider:t.provider,key:r.key,title:r.title,description:r.description,parentInfo:r.parentInfo,blockers:t.provider!=="github"?r.blockers:void 0,tdd:i}),process.env.CLANCY_ONCE_ACTIVE="1";let c;try{c=rl(s,t.env.CLANCY_MODEL)}finally{delete process.env.CLANCY_ONCE_ACTIVE}return c?!0:(console.log(S("\u26A0 Claude session exited with an error. Skipping merge.")),!1)}import{execFileSync as sc}from"node:child_process";import{existsSync as Rh,readFileSync as Ch}from"node:fs";import{join as Zh}from"node:path";function Nh(e){let t={};for(let r of e.split(`
120
+ `)){let n=r.trim();if(!n||n.startsWith("#"))continue;let o=n.indexOf("=");if(o===-1)continue;let i=n.slice(0,o).trim(),s=n.slice(o+1).trim();s.length>=2&&(s.startsWith('"')&&s.endsWith('"')||s.startsWith("'")&&s.endsWith("'"))&&(s=s.slice(1,-1)),t[i]=s}return t}function ul(e){let t=Zh(e,".clancy",".env");if(!Rh(t))return;let r=Ch(t,"utf8");return Nh(r)}function Lh(e){try{return sc("which",[e],{stdio:"ignore"}),!0}catch{return!1}}function jh(){try{return sc("git",["rev-parse","--git-dir"],{stdio:"ignore"}),!0}catch{return!1}}function kr(e){for(let n of["claude","git"])if(!Lh(n))return{ok:!1,error:`\u2717 ${n} is required but not found`};let t=ul(e);if(!t)return{ok:!1,error:"\u2717 .clancy/.env not found \u2014 run /clancy:init first"};if(!jh())return{ok:!1,error:"\u2717 Not inside a git repository"};let r;try{sc("git",["ls-remote","origin","HEAD"],{encoding:"utf8",timeout:5e3,stdio:["pipe","pipe","pipe"]})}catch{r="\u26A0 Could not reach origin. PR creation and rework detection may not work."}if(kt()){let n="\u26A0 Working directory has uncommitted changes \u2014 they will be included in the branch";r=r?`${r}
121
+ ${n}`:n}return{ok:!0,env:t,warning:r}}import{execFileSync as $t}from"node:child_process";function ll(e){let t=e.ticketBranch;if(!Ye(t))return;let r;try{r=$t("git",["rev-parse","--abbrev-ref","HEAD"],{encoding:"utf8"}).trim()}catch{return}try{Z(t)}catch{return}let n=!1,o=!1;try{n=kt()}catch{}try{o=$t("git",["log",`origin/${t}..${t}`,"--oneline"],{encoding:"utf8"}).trim().length>0}catch{try{o=$t("git",["log",`origin/${e.targetBranch}..${t}`,"--oneline"],{encoding:"utf8"}).trim().length>0}catch{}}try{Z(r)}catch{}if(!(!n&&!o))return{branch:t,hasUncommitted:n,hasUnpushed:o}}async function pl(e,t,r){try{if(Z(r.branch),r.hasUncommitted)try{$t("git",["add","-A"],{encoding:"utf8"}),$t("git",["commit","-m",`fix(${t.ticketKey}): resume after crash`],{encoding:"utf8"}),console.log(N(` \u2713 Committed in-progress work for ${t.ticketKey}`))}catch{return console.log(S(` \u26A0 Could not commit changes on ${r.branch}`)),!1}if(!Ge(r.branch))return console.log(S(` \u26A0 Could not push ${r.branch} to origin`)),!1;console.log(N(` \u2713 Pushed ${r.branch}`));let o=M(e).CLANCY_GIT_PLATFORM,i=ye(o),s=`feat(${t.ticketKey}): ${t.ticketTitle}`,c=mr(e,{key:t.ticketKey,title:t.ticketTitle,description:"",provider:e.provider},t.targetBranch);if(i.host!=="none"&&i.host!=="unknown"&&i.host!=="azure"){let a=await yt(e,i,r.branch,t.targetBranch,s,c);a?.ok?(console.log(N(` \u2713 PR created: ${a.url}`)),C(process.cwd(),t.ticketKey,t.ticketTitle,"RESUMED",a.number,t.parentKey&&t.parentKey!=="none"?t.parentKey:void 0)):(console.log(x(" Branch pushed \u2014 create a PR manually.")),C(process.cwd(),t.ticketKey,t.ticketTitle,"RESUMED",void 0,t.parentKey&&t.parentKey!=="none"?t.parentKey:void 0))}else C(process.cwd(),t.ticketKey,t.ticketTitle,"RESUMED",void 0,t.parentKey&&t.parentKey!=="none"?t.parentKey:void 0);try{Z(t.targetBranch)}catch{}return!0}catch(n){return console.log(S(` \u26A0 Resume failed: ${n instanceof Error?n.message:String(n)}`)),!1}}async function fl(e){let t=St(e.cwd);if(!t)return!0;if(!yc(t))return console.log(S(`\u26A0 Another Clancy session is running (PID ${t.pid}, ticket ${t.ticketKey}). Aborting.`)),!1;console.log(x(` Stale lock found (PID ${t.pid}, ticket ${t.ticketKey}). Cleaning up...`)),Pt(e.cwd),It(e.cwd);try{let r=ll(t);if(r)if(e.isAfk){console.log(S(` \u21BB Resuming crashed session: ${t.ticketKey} on ${r.branch}`));let n=kr(e.cwd);if(n.ok){let o=dr(n.env);if(typeof o!="string"&&await pl(o,t,r))return console.log(N(` \u2713 Resumed ${t.ticketKey}`)),!1}}else console.log(S(` Found in-progress work on ${r.branch}.`+(r.hasUncommitted?" Has uncommitted changes.":"")+(r.hasUnpushed?" Has unpushed commits.":""))),console.log(x(" Run in AFK mode (CLANCY_AFK_MODE=1) to auto-resume, or handle manually."))}catch{}return!0}function dl(e){return{async ping(){return Ku(e.GITHUB_TOKEN,e.GITHUB_REPO)},validateInputs(){if(!br(e.GITHUB_REPO))return"\u2717 GITHUB_REPO format is invalid \u2014 expected owner/repo"},async fetchTicket(t){return(await this.fetchTickets(t))[0]},async fetchTickets(t){let r=await Je(e.GITHUB_TOKEN);return(await yr(e.GITHUB_TOKEN,e.GITHUB_REPO,e.CLANCY_LABEL,r,t.excludeHitl)).map(o=>({key:o.key,title:o.title,description:o.description,parentInfo:o.milestone??"none",blockers:"None"}))},async fetchBlockerStatus(t){let r=parseInt(t.key.replace("#",""),10);return Number.isNaN(r)?!1:$r(e.GITHUB_TOKEN,e.GITHUB_REPO,r,t.description)},async fetchChildrenStatus(t){let r=parseInt(t.replace("#",""),10);if(!Number.isNaN(r))return Hu(e.GITHUB_TOKEN,e.GITHUB_REPO,r)},async transitionTicket(){return!1},async ensureLabel(t){try{let r=B(e.GITHUB_TOKEN),n=await fetch(`${j}/repos/${e.GITHUB_REPO}/labels/${encodeURIComponent(t)}`,{headers:r});if(n.ok)return;if(n.status===404){let o=await fetch(`${j}/repos/${e.GITHUB_REPO}/labels`,{method:"POST",headers:{...r,"Content-Type":"application/json"},body:JSON.stringify({name:t,color:"0075ca"})});!o.ok&&o.status!==422&&console.warn(`\u26A0 ensureLabel create returned HTTP ${o.status}`)}else console.warn(`\u26A0 ensureLabel GET returned HTTP ${n.status}`)}catch(r){console.warn(`\u26A0 ensureLabel failed: ${r instanceof Error?r.message:String(r)}`)}},async addLabel(t,r){try{await this.ensureLabel(r);let n=parseInt(t.replace("#",""),10);if(Number.isNaN(n))return;let o=B(e.GITHUB_TOKEN),i=await fetch(`${j}/repos/${e.GITHUB_REPO}/issues/${n}/labels`,{method:"POST",headers:{...o,"Content-Type":"application/json"},body:JSON.stringify({labels:[r]})});i.ok||console.warn(`\u26A0 addLabel returned HTTP ${i.status}`)}catch(n){console.warn(`\u26A0 addLabel failed: ${n instanceof Error?n.message:String(n)}`)}},async removeLabel(t,r){try{let n=parseInt(t.replace("#",""),10);if(Number.isNaN(n))return;let o=B(e.GITHUB_TOKEN),i=await fetch(`${j}/repos/${e.GITHUB_REPO}/issues/${n}/labels/${encodeURIComponent(r)}`,{method:"DELETE",headers:o});!i.ok&&i.status!==404&&console.warn(`\u26A0 removeLabel returned HTTP ${i.status}`)}catch(n){console.warn(`\u26A0 removeLabel failed: ${n instanceof Error?n.message:String(n)}`)}},sharedEnv(){return e}}}var Oh=l.object({type:l.optional(l.object({name:l.optional(l.string())})),inwardIssue:l.optional(l.object({key:l.optional(l.string())}))}),Mh=l.object({summary:l.string(),description:l.optional(l.unknown()),issuelinks:l.optional(l.array(Oh)),parent:l.optional(l.object({key:l.optional(l.string())})),customfield_10014:l.optional(l.nullable(l.string())),labels:l.optional(l.array(l.string()))}),Bh=l.object({key:l.string(),fields:Mh}),ml=l.object({total:l.optional(l.number()),isLast:l.optional(l.boolean()),issues:l.array(Bh)}),Dh=l.object({id:l.string(),name:l.string()}),hl=l.object({transitions:l.array(Dh)}),Uh=l.object({type:l.optional(l.object({name:l.optional(l.string())})),inwardIssue:l.optional(l.object({key:l.optional(l.string()),fields:l.optional(l.object({status:l.optional(l.object({statusCategory:l.optional(l.object({key:l.optional(l.string())}))}))}))}))}),gl=l.object({fields:l.optional(l.object({issuelinks:l.optional(l.array(Uh))}))}),cc=l.object({fields:l.optional(l.object({labels:l.optional(l.array(l.string()))}))});var Fh=/^[a-zA-Z0-9 _\-'.]+$/,ac=/^[A-Z][A-Z0-9]+-\d+$/;function xt(e,t){return Buffer.from(`${e}:${t}`).toString("base64")}function wt(e){return Fh.test(e)}async function bl(e,t,r){return hr(`${e}/rest/api/3/project/${t}`,$e(r),{401:"\u2717 Jira auth failed \u2014 check credentials",403:"\u2717 Jira permission denied for this project",404:`\u2717 Jira project "${t}" not found`},"\u2717 Could not reach Jira \u2014 check network")}function Jh(e,t,r,n,o){let i=[`project="${e}"`];return r&&i.push("sprint in openSprints()"),n&&i.push(`labels = "${n}"`),o&&i.push('labels != "clancy:hitl"'),i.push("assignee=currentUser()"),i.push(`status="${t}"`),i.join(" AND ")+" ORDER BY priority ASC"}function Yh(e){if(!e||typeof e!="object")return"";let t=[];function r(n){if(typeof n=="string"){t.push(n);return}if(Array.isArray(n)){for(let o of n)r(o);return}if(n&&typeof n=="object")for(let o of Object.values(n))r(o)}return r(e),t.join(" ")}async function vr(e,t,r,n,o,i,s,c=5){let a=Jh(r,n,o,i,s),u;try{u=await fetch(`${e}/rest/api/3/search/jql`,{method:"POST",headers:{...$e(t),"Content-Type":"application/json"},body:JSON.stringify({jql:a,maxResults:c,fields:["summary","description","issuelinks","parent","customfield_10014","labels"]})})}catch(m){return console.warn(`\u26A0 Jira API request failed: ${m instanceof Error?m.message:String(m)}`),[]}if(!u.ok)return console.warn(`\u26A0 Jira API returned HTTP ${u.status}`),[];let p;try{p=await u.json()}catch{return console.warn("\u26A0 Jira API returned invalid JSON"),[]}let d=ml.safeParse(p);return d.success?d.data.issues.map(m=>{let h=m.fields,b=(h.issuelinks??[]).filter(z=>z.type?.name==="Blocks"&&z.inwardIssue?.key).map(z=>z.inwardIssue?.key).filter(z=>!!z),_=h.parent?.key??h.customfield_10014??void 0;return{key:m.key,title:h.summary,description:Yh(h.description),provider:"jira",epicKey:_,blockers:b,labels:h.labels}}):(console.warn(`\u26A0 Unexpected Jira response shape: ${d.error.message}`),[])}async function zr(e,t,r){if(!ac.test(r))return!1;try{let n=await fetch(`${e}/rest/api/3/issue/${r}?fields=issuelinks`,{headers:$e(t)});if(!n.ok)return!1;let o=await n.json(),i=gl.safeParse(o);return i.success?(i.data.fields?.issuelinks??[]).some(c=>{if(c.type?.name!=="Blocks"||!c.inwardIssue?.key)return!1;let a=c.inwardIssue.fields?.status?.statusCategory?.key;return a?a!=="done":!1}):!1}catch{return!1}}async function yl(e,t,r){if(ac.test(r))try{let n=r.split("-")[0],o=await _l(e,t,`project = "${n}" AND description ~ "Epic: ${r}"`);return o&&o.total>0?o:await _l(e,t,`parent = ${r}`)}catch{return}}async function _l(e,t,r){let n=await fetch(`${e}/rest/api/3/search/jql`,{method:"POST",headers:{...$e(t),"Content-Type":"application/json"},body:JSON.stringify({jql:r,maxResults:0})});if(!n.ok)return;let i=(await n.json()).total??0;if(i===0)return{total:0,incomplete:0};let s=await fetch(`${e}/rest/api/3/search/jql`,{method:"POST",headers:{...$e(t),"Content-Type":"application/json"},body:JSON.stringify({jql:`${r} AND statusCategory != "done"`,maxResults:0})});if(!s.ok)return;let a=(await s.json()).total??0;return{total:i,incomplete:a}}async function Gh(e,t,r,n){if(!ac.test(r))return;let o;try{o=await fetch(`${e}/rest/api/3/issue/${r}/transitions`,{headers:$e(t)})}catch(a){console.warn(`\u26A0 Jira transitions request failed: ${a instanceof Error?a.message:String(a)}`);return}if(!o.ok)return;let i;try{i=await o.json()}catch{console.warn("\u26A0 Jira transitions returned invalid JSON");return}let s=hl.safeParse(i);if(!s.success){console.warn(`\u26A0 Unexpected Jira transitions response: ${s.error.message}`);return}return s.data.transitions.find(a=>a.name===n)?.id}async function $l(e,t,r,n){try{let o=await Gh(e,t,r,n);return o?(await fetch(`${e}/rest/api/3/issue/${r}/transitions`,{method:"POST",headers:{...$e(t),"Content-Type":"application/json"},body:JSON.stringify({transition:{id:o}})})).ok:(console.warn(`\u26A0 Jira transition "${n}" not found for ${r}`),!1)}catch{return!1}}function xl(e){let t=xt(e.JIRA_USER,e.JIRA_API_TOKEN);return{async ping(){return bl(e.JIRA_BASE_URL,e.JIRA_PROJECT_KEY,t)},validateInputs(){if(!wt(e.JIRA_PROJECT_KEY))return"\u2717 JIRA_PROJECT_KEY contains invalid characters";if(e.CLANCY_LABEL_BUILD&&!wt(e.CLANCY_LABEL_BUILD))return"\u2717 CLANCY_LABEL_BUILD contains invalid characters";if(e.CLANCY_LABEL&&!wt(e.CLANCY_LABEL))return"\u2717 CLANCY_LABEL contains invalid characters";if(e.CLANCY_JQL_STATUS&&!wt(e.CLANCY_JQL_STATUS))return"\u2717 CLANCY_JQL_STATUS contains invalid characters"},async fetchTicket(r){return(await this.fetchTickets(r))[0]},async fetchTickets(r){return(await vr(e.JIRA_BASE_URL,t,e.JIRA_PROJECT_KEY,e.CLANCY_JQL_STATUS??"To Do",e.CLANCY_JQL_SPRINT,e.CLANCY_LABEL,r.excludeHitl)).map(o=>{let i=o.blockers.length?`Blocked by: ${o.blockers.join(", ")}`:"None";return{key:o.key,title:o.title,description:o.description,parentInfo:o.epicKey??"none",blockers:i}})},async fetchBlockerStatus(r){return zr(e.JIRA_BASE_URL,t,r.key)},async fetchChildrenStatus(r){return yl(e.JIRA_BASE_URL,t,r)},async transitionTicket(r,n){let o=await $l(e.JIRA_BASE_URL,t,r.key,n);return o&&console.log(` \u2192 Transitioned to ${n}`),o},async ensureLabel(r){},async addLabel(r,n){try{if(!/^[A-Z][A-Z0-9]+-\d+$/.test(r))return;let o=await fetch(`${e.JIRA_BASE_URL}/rest/api/3/issue/${encodeURIComponent(r)}?fields=labels`,{headers:{Authorization:t,Accept:"application/json"}});if(!o.ok){console.warn(`\u26A0 addLabel GET failed: HTTP ${o.status}`);return}let s=cc.parse(await o.json()).fields?.labels??[];if(s.includes(n))return;let c=await fetch(`${e.JIRA_BASE_URL}/rest/api/3/issue/${encodeURIComponent(r)}`,{method:"PUT",headers:{Authorization:t,"Content-Type":"application/json"},body:JSON.stringify({fields:{labels:[...s,n]}})});c.ok||console.warn(`\u26A0 addLabel PUT returned HTTP ${c.status}`)}catch(o){console.warn(`\u26A0 addLabel failed: ${o instanceof Error?o.message:String(o)}`)}},async removeLabel(r,n){try{if(!/^[A-Z][A-Z0-9]+-\d+$/.test(r))return;let o=await fetch(`${e.JIRA_BASE_URL}/rest/api/3/issue/${encodeURIComponent(r)}?fields=labels`,{headers:{Authorization:t,Accept:"application/json"}});if(!o.ok){console.warn(`\u26A0 removeLabel GET failed: HTTP ${o.status}`);return}let s=cc.parse(await o.json()).fields?.labels??[];if(!s.includes(n))return;let c=await fetch(`${e.JIRA_BASE_URL}/rest/api/3/issue/${encodeURIComponent(r)}`,{method:"PUT",headers:{Authorization:t,"Content-Type":"application/json"},body:JSON.stringify({fields:{labels:s.filter(a=>a!==n)}})});c.ok||console.warn(`\u26A0 removeLabel PUT returned HTTP ${c.status}`)}catch(o){console.warn(`\u26A0 removeLabel failed: ${o instanceof Error?o.message:String(o)}`)}},sharedEnv(){return e}}}var Kh=l.object({id:l.string(),identifier:l.string(),title:l.string(),description:l.optional(l.nullable(l.string())),parent:l.optional(l.nullable(l.object({identifier:l.string(),title:l.optional(l.string())}))),labels:l.optional(l.object({nodes:l.array(l.object({name:l.string()}))}))}),wl=l.object({data:l.optional(l.object({viewer:l.optional(l.object({assignedIssues:l.optional(l.object({nodes:l.array(Kh)}))}))}))}),kl=l.object({data:l.optional(l.object({viewer:l.optional(l.object({id:l.optional(l.string())}))}))}),vl=l.object({data:l.optional(l.object({workflowStates:l.optional(l.object({nodes:l.array(l.object({id:l.string()}))}))}))}),zl=l.object({data:l.optional(l.object({issueUpdate:l.optional(l.object({success:l.optional(l.boolean())}))}))}),Hh=l.object({type:l.string(),relatedIssue:l.optional(l.object({state:l.optional(l.object({type:l.optional(l.string())}))}))}),Sl=l.object({data:l.optional(l.object({issue:l.optional(l.object({relations:l.optional(l.object({nodes:l.array(Hh)}))}))}))}),qh=l.object({state:l.optional(l.object({type:l.optional(l.string())}))}),Pl=l.object({data:l.optional(l.object({issueSearch:l.optional(l.object({nodes:l.array(qh)}))}))}),Il=l.object({data:l.optional(l.object({team:l.optional(l.object({labels:l.optional(l.object({nodes:l.array(l.object({id:l.string(),name:l.string()}))}))}))}))}),El=l.object({data:l.optional(l.object({issueLabels:l.optional(l.object({nodes:l.array(l.object({id:l.string(),name:l.string()}))}))}))}),Al=l.object({data:l.optional(l.object({issueLabelCreate:l.optional(l.object({issueLabel:l.optional(l.object({id:l.string()})),success:l.optional(l.boolean())}))}))}),uc=l.object({data:l.optional(l.object({issueSearch:l.optional(l.object({nodes:l.array(l.object({id:l.string(),labels:l.optional(l.object({nodes:l.array(l.object({id:l.string(),name:l.optional(l.string())}))}))}))}))}))});var Vh=/^[a-zA-Z0-9_-]+$/,Tl="https://api.linear.app/graphql";function Rl(e){return Vh.test(e)}async function q(e,t,r){let n;try{n=await fetch(Tl,{method:"POST",headers:{Authorization:e,"Content-Type":"application/json"},body:JSON.stringify({query:t,variables:r})})}catch(o){console.warn(`\u26A0 Linear API request failed: ${o instanceof Error?o.message:String(o)}`);return}if(!n.ok){console.warn(`\u26A0 Linear API returned HTTP ${n.status}`);return}try{return await n.json()}catch{console.warn("\u26A0 Linear API returned invalid JSON");return}}async function Cl(e){let t;try{t=await fetch(Tl,{method:"POST",headers:{Authorization:e,"Content-Type":"application/json"},body:JSON.stringify({query:"{ viewer { id } }"})})}catch{return{ok:!1,error:"\u2717 Could not reach Linear \u2014 check network"}}if(!t.ok)return t.status===401||t.status===403?{ok:!1,error:"\u2717 Linear auth failed \u2014 check LINEAR_API_KEY"}:{ok:!1,error:`\u2717 Linear API returned HTTP ${t.status}`};try{let r=await t.json(),n=kl.safeParse(r);if(n.success&&n.data.data?.viewer?.id)return{ok:!0}}catch{}return{ok:!1,error:"\u2717 Linear auth failed \u2014 check LINEAR_API_KEY"}}async function Sr(e,t,r=5){let n=e.CLANCY_LABEL?.trim(),o=!!n,i=o?"labels: { name: { eq: $label } }":"",s=["$teamId: String!",...o?["$label: String!"]:[]],c=['state: { type: { eq: "unstarted" } }',"team: { id: { eq: $teamId } }",i].filter(Boolean),a=`
122
122
  query(${s.join(", ")}) {
123
123
  viewer {
124
124
  assignedIssues(
@@ -140,7 +140,7 @@ ${n}`:n}return{ok:!0,env:t,warning:r}}import{execFileSync as $t}from"node:child_
140
140
  }
141
141
  }
142
142
  }
143
- `,u={teamId:e.LINEAR_TEAM_ID};o&&(u.label=n);let l=await Je(e.LINEAR_API_KEY,a,u),d=bl.safeParse(l);if(!d.success)return console.warn(`\u26A0 Unexpected Linear response shape: ${d.error.message}`),[];let m=d.data.data?.viewer?.assignedIssues?.nodes;return m?.length?(t&&(m=m.filter(h=>!h.labels?.nodes?.some(y=>y.name==="clancy:hitl"))),m=m.slice(0,r),m.map(h=>({key:h.identifier,title:h.title,description:h.description??"",provider:"linear",issueId:h.id,parentIdentifier:h.parent?.identifier}))):[]}async function Pr(e,t){let n=await Je(e,`
143
+ `,u={teamId:e.LINEAR_TEAM_ID};o&&(u.label=n);let p=await q(e.LINEAR_API_KEY,a,u),d=wl.safeParse(p);if(!d.success)return console.warn(`\u26A0 Unexpected Linear response shape: ${d.error.message}`),[];let m=d.data.data?.viewer?.assignedIssues?.nodes;return m?.length?(t&&(m=m.filter(h=>!h.labels?.nodes?.some(b=>b.name==="clancy:hitl"))),m=m.slice(0,r),m.map(h=>({key:h.identifier,title:h.title,description:h.description??"",provider:"linear",issueId:h.id,parentIdentifier:h.parent?.identifier,labels:h.labels?.nodes?.map(b=>b.name).filter(b=>!!b)}))):[]}async function Pr(e,t){let n=await q(e,`
144
144
  query($issueId: String!) {
145
145
  issue(id: $issueId) {
146
146
  relations {
@@ -153,7 +153,7 @@ ${n}`:n}return{ok:!0,env:t,warning:r}}import{execFileSync as $t}from"node:child_
153
153
  }
154
154
  }
155
155
  }
156
- `,{issueId:t}),o=vl.safeParse(n);if(!o.success)return!1;let i=o.data.data?.issue?.relations?.nodes??[],s=new Set(["completed","canceled"]);return i.some(c=>{if(c.type!=="blockedBy")return!1;let a=c.relatedIssue?.state?.type;return a?!s.has(a):!1})}async function El(e,t,r){try{if(r){let n=await Kh(e,`Epic: ${r}`);if(n&&n.total>0)return n}return await Yh(e,t)}catch{return}}async function Kh(e,t){let n=await Je(e,`
156
+ `,{issueId:t}),o=Sl.safeParse(n);if(!o.success)return!1;let i=o.data.data?.issue?.relations?.nodes??[],s=new Set(["completed","canceled"]);return i.some(c=>{if(c.type!=="blockedBy")return!1;let a=c.relatedIssue?.state?.type;return a?!s.has(a):!1})}async function Zl(e,t,r){try{if(r){let n=await Wh(e,`Epic: ${r}`);if(n&&n.total>0)return n}return await Qh(e,t)}catch{return}}async function Wh(e,t){let n=await q(e,`
157
157
  query($filter: String!) {
158
158
  issueSearch(query: $filter) {
159
159
  nodes {
@@ -161,7 +161,7 @@ ${n}`:n}return{ok:!0,env:t,warning:r}}import{execFileSync as $t}from"node:child_
161
161
  }
162
162
  }
163
163
  }
164
- `,{filter:t}),o=kl.safeParse(n);if(!o.success)return;let i=o.data.data?.issueSearch?.nodes??[],s=i.length,c=new Set(["completed","canceled"]),a=i.filter(u=>!u.state?.type||!c.has(u.state.type)).length;return{total:s,incomplete:a}}async function Yh(e,t){let n=await Je(e,`
164
+ `,{filter:t}),o=Pl.safeParse(n);if(!o.success)return;let i=o.data.data?.issueSearch?.nodes??[],s=i.length,c=new Set(["completed","canceled"]),a=i.filter(u=>!u.state?.type||!c.has(u.state.type)).length;return{total:s,incomplete:a}}async function Qh(e,t){let n=await q(e,`
165
165
  query($issueId: String!) {
166
166
  issue(id: $issueId) {
167
167
  children {
@@ -171,7 +171,7 @@ ${n}`:n}return{ok:!0,env:t,warning:r}}import{execFileSync as $t}from"node:child_
171
171
  }
172
172
  }
173
173
  }
174
- `,{issueId:t});if(!n||typeof n!="object")return;let i=n.data?.issue?.children?.nodes;if(!i)return;let s=i.length,c=new Set(["completed","canceled"]),a=i.filter(u=>!u.state?.type||!c.has(u.state.type)).length;return{total:s,incomplete:a}}async function Gh(e,t,r){let o=await Je(e,`
174
+ `,{issueId:t});if(!n||typeof n!="object")return;let i=n.data?.issue?.children?.nodes;if(!i)return;let s=i.length,c=new Set(["completed","canceled"]),a=i.filter(u=>!u.state?.type||!c.has(u.state.type)).length;return{total:s,incomplete:a}}async function Xh(e,t,r){let o=await q(e,`
175
175
  query($teamId: String!, $name: String!) {
176
176
  workflowStates(filter: {
177
177
  team: { id: { eq: $teamId } }
@@ -180,10 +180,59 @@ ${n}`:n}return{ok:!0,env:t,warning:r}}import{execFileSync as $t}from"node:child_
180
180
  nodes { id }
181
181
  }
182
182
  }
183
- `,{teamId:t,name:r}),i=xl.safeParse(o);if(!i.success){console.warn(`\u26A0 Unexpected Linear workflowStates response: ${i.error.message}`);return}return i.data.data?.workflowStates?.nodes?.[0]?.id}async function qh(e,t,r){let o=await Je(e,`
183
+ `,{teamId:t,name:r}),i=vl.safeParse(o);if(!i.success){console.warn(`\u26A0 Unexpected Linear workflowStates response: ${i.error.message}`);return}return i.data.data?.workflowStates?.nodes?.[0]?.id}async function eg(e,t,r){let o=await q(e,`
184
184
  mutation($issueId: String!, $stateId: String!) {
185
185
  issueUpdate(id: $issueId, input: { stateId: $stateId }) {
186
186
  success
187
187
  }
188
188
  }
189
- `,{issueId:t,stateId:r}),i=wl.safeParse(o);return i.success?i.data.data?.issueUpdate?.success===!0:(console.warn(`\u26A0 Unexpected Linear issueUpdate response: ${i.error.message}`),!1)}async function Il(e,t,r,n){try{let o=await Gh(e,t,n);return o?await qh(e,r,o):(console.warn(`\u26A0 Linear workflow state "${n}" not found \u2014 check team configuration`),!1)}catch{return!1}}function Tl(e){return{async ping(){return Pl(e.LINEAR_API_KEY)},validateInputs(){if(!Sl(e.LINEAR_TEAM_ID))return"\u2717 LINEAR_TEAM_ID contains invalid characters"},async fetchTicket(t){return(await this.fetchTickets(t))[0]},async fetchTickets(t){return(await Sr({LINEAR_API_KEY:e.LINEAR_API_KEY,LINEAR_TEAM_ID:e.LINEAR_TEAM_ID,CLANCY_LABEL:e.CLANCY_LABEL},t.excludeHitl)).map(n=>({key:n.key,title:n.title,description:n.description,parentInfo:n.parentIdentifier??"none",blockers:"None",linearIssueId:n.issueId,issueId:n.issueId}))},async fetchBlockerStatus(t){return t.issueId?Pr(e.LINEAR_API_KEY,t.issueId):!1},async fetchChildrenStatus(t,r){return El(e.LINEAR_API_KEY,r??t,t)},async transitionTicket(t,r){if(!t.linearIssueId)return!1;let n=await Il(e.LINEAR_API_KEY,e.LINEAR_TEAM_ID,t.linearIssueId,r);return n&&console.log(` \u2192 Transitioned to ${r}`),n},sharedEnv(){return e}}}function Al(e){switch(e.provider){case"jira":return yl(e.env);case"github":return ll(e.env);case"linear":return Tl(e.env)}}async function Rl(e){console.log(x("\u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510")),console.log(x("\u2502")+Ie(" \u{1F916} Clancy \u2014 once mode ")+x("\u2502")),console.log(x("\u2502")+x(` "Let's roll." `)+x("\u2502")),console.log(x("\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518")),console.log("");let t=wr(e.cwd);if(!t.ok)return console.log(t.error),!1;t.warning&&console.log(t.warning);let r=fr(t.env);if(typeof r=="string")return console.log(r),!1;let n=r,o=Al(n),i=o.validateInputs();if(i)return console.log(i),!1;let s=await o.ping();return s.ok?(console.log(N("\u2705 Preflight passed")),e.config=n,e.board=o,!0):(console.log(s.error),!1)}async function Cl(e){let t=e.config;try{let r=await Yu(t);r&&(e.isRework=!0,e.ticket=r.ticket,e.prFeedback=r.feedback,e.reworkPrNumber=r.prNumber,e.reworkDiscussionIds=r.discussionIds,e.reworkReviewers=r.reviewers,console.log(S(` \u21BB PR rework: [${e.ticket.key}] ${e.ticket.title}`)))}catch{}return!0}function Hh(e){return e?.isAfk??process.env.CLANCY_AFK_MODE==="1"}async function Vh(e,t){switch(e.provider){case"jira":{let{env:r}=e,n=xt(r.JIRA_USER,r.JIRA_API_TOKEN);return(await kr(r.JIRA_BASE_URL,n,r.JIRA_PROJECT_KEY,r.CLANCY_JQL_STATUS??"To Do",r.CLANCY_JQL_SPRINT,r.CLANCY_LABEL,t)).map(i=>{let s=i.blockers.length?`Blocked by: ${i.blockers.join(", ")}`:"None";return{key:i.key,title:i.title,description:i.description,parentInfo:i.epicKey??"none",blockers:s}})}case"github":{let{env:r}=e,n=await Fe(r.GITHUB_TOKEN);return(await yr(r.GITHUB_TOKEN,r.GITHUB_REPO,r.CLANCY_LABEL,n,t)).map(i=>({key:i.key,title:i.title,description:i.description,parentInfo:i.milestone??"none",blockers:"None"}))}case"linear":{let{env:r}=e;return(await Sr({LINEAR_API_KEY:r.LINEAR_API_KEY,LINEAR_TEAM_ID:r.LINEAR_TEAM_ID,CLANCY_LABEL:r.CLANCY_LABEL},t)).map(o=>({key:o.key,title:o.title,description:o.description,parentInfo:o.parentIdentifier??"none",blockers:"None",linearIssueId:o.issueId,issueId:o.issueId}))}}}async function Wh(e,t){switch(e.provider){case"jira":{let{env:r}=e,n=xt(r.JIRA_USER,r.JIRA_API_TOKEN);return zr(r.JIRA_BASE_URL,n,t.key)}case"github":{let{env:r}=e,n=parseInt(t.key.replace("#",""),10);return Number.isNaN(n)?!1:br(r.GITHUB_TOKEN,r.GITHUB_REPO,n,t.description)}case"linear":{let{env:r}=e;return t.issueId?Pr(r.LINEAR_API_KEY,t.issueId):!1}}}async function Zl(e,t){let r=Hh(t),n=await Vh(e,r);if(n.length)for(let o of n){if(!await Wh(e,o))return o;console.log(`Skipping ${o.key} \u2014 blocked`)}}async function Nl(e){let t=e.config;if(e.ticket||(e.ticket=await Zl(t)),!e.ticket)return console.log(x("No tickets found. All done!")),!1;if(e.isRework){let c=parseInt(L(t).CLANCY_MAX_REWORK??"3",10),a=Number.isFinite(c)&&c>0?c:3;if(uu(e.cwd,e.ticket.key)>=a)return console.log(S(`\u26A0 ${e.ticket.key} has reached max rework cycles (${a}) \u2014 needs human intervention`)),C(e.cwd,e.ticket.key,e.ticket.title,"SKIPPED"),!1}let r=t.env.CLANCY_BASE_BRANCH??"main",n=e.ticket.parentInfo!=="none"?e.ticket.parentInfo:void 0,o=$r(t.provider,e.ticket.key),i=xr(t.provider,r,n);e.baseBranch=r,e.ticketBranch=o,e.targetBranch=i,e.hasParent=e.ticket.parentInfo!=="none";let s=t.provider==="github"?"Milestone":"Epic";return console.log(""),console.log(`\u{1F3AB} ${Ie(`[${e.ticket.key}]`)} ${e.ticket.title}`),console.log(x(` ${s}: ${e.ticket.parentInfo} | Branch: ${o} \u2192 ${i}`)),t.provider!=="github"&&e.ticket.blockers!=="None"&&console.log(S(` Blockers: ${e.ticket.blockers}`)),console.log(""),!0}async function Ol(e){let t=e.config,r=e.board,n=e.ticket,o=t.env.CLANCY_STATUS_IN_PROGRESS;return o&&await r.transitionTicket(n,o),!0}async function eg(e){let t=dc(e);if(await ul(t))try{if(!await Rl(t)||!await Vu(t)||!await Cl(t)||!await Nl(t)||!Hu(t)||!tl(t)||!await Lu(t)||!await Ol(t)||!il(t)||!await qu(t))return;Uu(t),await Bu(t)}catch(r){let n=r instanceof Error?r.message:String(r),o=Ee(Date.now()-t.startTime);if(console.error(""),console.error(Te("\u274C Clancy stopped")+x(` (${o})`)),console.error(Te(` ${n}`)),console.error(x(` "I'd rather let Herman go."`)),t.originalBranch)try{Z(t.originalBranch)}catch{}}finally{t.lockOwner&&(St(t.cwd),Pt(t.cwd))}}process.argv[1]&&Qh(import.meta.url)===Xh(process.argv[1])&&eg(process.argv);export{eg as run};
189
+ `,{issueId:t,stateId:r}),i=zl.safeParse(o);return i.success?i.data.data?.issueUpdate?.success===!0:(console.warn(`\u26A0 Unexpected Linear issueUpdate response: ${i.error.message}`),!1)}async function Nl(e,t,r,n){try{let o=await Xh(e,t,n);return o?await eg(e,r,o):(console.warn(`\u26A0 Linear workflow state "${n}" not found \u2014 check team configuration`),!1)}catch{return!1}}function Ll(e){let t=new Map;return{async ping(){return Cl(e.LINEAR_API_KEY)},validateInputs(){if(!Rl(e.LINEAR_TEAM_ID))return"\u2717 LINEAR_TEAM_ID contains invalid characters"},async fetchTicket(r){return(await this.fetchTickets(r))[0]},async fetchTickets(r){return(await Sr({LINEAR_API_KEY:e.LINEAR_API_KEY,LINEAR_TEAM_ID:e.LINEAR_TEAM_ID,CLANCY_LABEL:e.CLANCY_LABEL},r.excludeHitl)).map(o=>({key:o.key,title:o.title,description:o.description,parentInfo:o.parentIdentifier??"none",blockers:"None",linearIssueId:o.issueId,issueId:o.issueId}))},async fetchBlockerStatus(r){return r.issueId?Pr(e.LINEAR_API_KEY,r.issueId):!1},async fetchChildrenStatus(r,n){return Zl(e.LINEAR_API_KEY,n??r,r)},async transitionTicket(r,n){if(!r.linearIssueId)return!1;let o=await Nl(e.LINEAR_API_KEY,e.LINEAR_TEAM_ID,r.linearIssueId,n);return o&&console.log(` \u2192 Transitioned to ${n}`),o},async ensureLabel(r){try{if(t.has(r))return;let o=await q(e.LINEAR_API_KEY,`
190
+ query($teamId: String!) {
191
+ team(id: $teamId) {
192
+ labels { nodes { id name } }
193
+ }
194
+ }
195
+ `,{teamId:e.LINEAR_TEAM_ID}),s=Il.parse(o)?.data?.team?.labels?.nodes?.find(_=>_.name===r);if(s){t.set(r,s.id);return}let a=await q(e.LINEAR_API_KEY,`
196
+ query($name: String!) {
197
+ issueLabels(filter: { name: { eq: $name } }) {
198
+ nodes { id name }
199
+ }
200
+ }
201
+ `,{name:r}),p=El.parse(a)?.data?.issueLabels?.nodes?.[0];if(p){t.set(r,p.id);return}let m=await q(e.LINEAR_API_KEY,`
202
+ mutation($teamId: String!, $name: String!) {
203
+ issueLabelCreate(input: { teamId: $teamId, name: $name, color: "#0075ca" }) {
204
+ issueLabel { id }
205
+ success
206
+ }
207
+ }
208
+ `,{teamId:e.LINEAR_TEAM_ID,name:r}),b=Al.parse(m)?.data?.issueLabelCreate?.issueLabel?.id;b&&t.set(r,b)}catch(n){console.warn(`\u26A0 ensureLabel failed: ${n instanceof Error?n.message:String(n)}`)}},async addLabel(r,n){try{await this.ensureLabel(n);let o=t.get(n);if(!o)return;let s=await q(e.LINEAR_API_KEY,`
209
+ query($identifier: String!) {
210
+ issueSearch: issues(filter: { identifier: { eq: $identifier } }, first: 1) {
211
+ nodes {
212
+ id
213
+ labels { nodes { id } }
214
+ }
215
+ }
216
+ }
217
+ `,{identifier:r}),a=uc.parse(s)?.data?.issueSearch?.nodes?.[0];if(!a)return;let u=a.labels?.nodes?.map(d=>d.id)??[];if(u.includes(o))return;await q(e.LINEAR_API_KEY,`
218
+ mutation($issueId: String!, $labelIds: [String!]!) {
219
+ issueUpdate(id: $issueId, input: { labelIds: $labelIds }) {
220
+ success
221
+ }
222
+ }
223
+ `,{issueId:a.id,labelIds:[...u,o]})}catch(o){console.warn(`\u26A0 addLabel failed: ${o instanceof Error?o.message:String(o)}`)}},async removeLabel(r,n){try{let o=t.get(n),s=await q(e.LINEAR_API_KEY,`
224
+ query($identifier: String!) {
225
+ issueSearch: issues(filter: { identifier: { eq: $identifier } }, first: 1) {
226
+ nodes {
227
+ id
228
+ labels { nodes { id name } }
229
+ }
230
+ }
231
+ }
232
+ `,{identifier:r}),a=uc.parse(s)?.data?.issueSearch?.nodes?.[0];if(!a)return;let u=a.labels?.nodes??[],p=o??u.find(h=>h.name===n)?.id;if(!p)return;let d=u.map(h=>h.id).filter(h=>h!==p);if(d.length===u.length)return;await q(e.LINEAR_API_KEY,`
233
+ mutation($issueId: String!, $labelIds: [String!]!) {
234
+ issueUpdate(id: $issueId, input: { labelIds: $labelIds }) {
235
+ success
236
+ }
237
+ }
238
+ `,{issueId:a.id,labelIds:d})}catch(o){console.warn(`\u26A0 removeLabel failed: ${o instanceof Error?o.message:String(o)}`)}},sharedEnv(){return e}}}function jl(e){switch(e.provider){case"jira":return xl(e.env);case"github":return dl(e.env);case"linear":return Ll(e.env)}}async function Ol(e){console.log(x("\u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510")),console.log(x("\u2502")+Ae(" \u{1F916} Clancy \u2014 once mode ")+x("\u2502")),console.log(x("\u2502")+x(` "Let's roll." `)+x("\u2502")),console.log(x("\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518")),console.log("");let t=kr(e.cwd);if(!t.ok)return console.log(t.error),!1;t.warning&&console.log(t.warning);let r=dr(t.env);if(typeof r=="string")return console.log(r),!1;let n=r,o=jl(n),i=o.validateInputs();if(i)return console.log(i),!1;let s=await o.ping();return s.ok?(console.log(N("\u2705 Preflight passed")),e.config=n,e.board=o,!0):(console.log(s.error),!1)}async function Ml(e){let t=e.config;try{let r=await qu(t);r&&(e.isRework=!0,e.ticket=r.ticket,e.prFeedback=r.feedback,e.reworkPrNumber=r.prNumber,e.reworkDiscussionIds=r.discussionIds,e.reworkReviewers=r.reviewers,console.log(S(` \u21BB PR rework: [${e.ticket.key}] ${e.ticket.title}`)))}catch{}return!0}function lc(e){return e.CLANCY_LABEL_BUILD||e.CLANCY_LABEL||void 0}function tg(e){return e.CLANCY_LABEL_PLAN||e.CLANCY_PLAN_LABEL||void 0}function rg(e){return e?.isAfk??process.env.CLANCY_AFK_MODE==="1"}async function ng(e,t){switch(e.provider){case"jira":{let{env:r}=e,n=xt(r.JIRA_USER,r.JIRA_API_TOKEN),o=lc(r);return(await vr(r.JIRA_BASE_URL,n,r.JIRA_PROJECT_KEY,r.CLANCY_JQL_STATUS??"To Do",r.CLANCY_JQL_SPRINT,o,t)).map(s=>{let c=s.blockers.length?`Blocked by: ${s.blockers.join(", ")}`:"None";return{key:s.key,title:s.title,description:s.description,parentInfo:s.epicKey??"none",blockers:c,labels:s.labels??[]}})}case"github":{let{env:r}=e,n=lc(r),o=await Je(r.GITHUB_TOKEN);return(await yr(r.GITHUB_TOKEN,r.GITHUB_REPO,n,o,t)).map(s=>({key:s.key,title:s.title,description:s.description,parentInfo:s.milestone??"none",blockers:"None",labels:s.labels??[]}))}case"linear":{let{env:r}=e,n=lc(r);return(await Sr({LINEAR_API_KEY:r.LINEAR_API_KEY,LINEAR_TEAM_ID:r.LINEAR_TEAM_ID,CLANCY_LABEL:n},t)).map(i=>({key:i.key,title:i.title,description:i.description,parentInfo:i.parentIdentifier??"none",blockers:"None",linearIssueId:i.issueId,issueId:i.issueId,labels:i.labels??[]}))}}}async function og(e,t){switch(e.provider){case"jira":{let{env:r}=e,n=xt(r.JIRA_USER,r.JIRA_API_TOKEN);return zr(r.JIRA_BASE_URL,n,t.key)}case"github":{let{env:r}=e,n=parseInt(t.key.replace("#",""),10);return Number.isNaN(n)?!1:$r(r.GITHUB_TOKEN,r.GITHUB_REPO,n,t.description)}case"linear":{let{env:r}=e;return t.issueId?Pr(r.LINEAR_API_KEY,t.issueId):!1}}}async function Bl(e,t){let r=rg(t),n=tg(e.env),o=await ng(e,r);if(o.length)for(let i of o){if(n&&i.labels?.includes(n)){console.log(`Skipping ${i.key} \u2014 still has plan label`);continue}if(!await og(e,i))return i;console.log(`Skipping ${i.key} \u2014 blocked`)}}async function Dl(e){let t=e.config;if(e.ticket||(e.ticket=await Bl(t)),!e.ticket)return console.log(x("No tickets found. All done!")),!1;if(e.isRework){let c=parseInt(M(t).CLANCY_MAX_REWORK??"3",10),a=Number.isFinite(c)&&c>0?c:3;if(fu(e.cwd,e.ticket.key)>=a)return console.log(S(`\u26A0 ${e.ticket.key} has reached max rework cycles (${a}) \u2014 needs human intervention`)),C(e.cwd,e.ticket.key,e.ticket.title,"SKIPPED"),!1}let r=t.env.CLANCY_BASE_BRANCH??"main",n=e.ticket.parentInfo!=="none"?e.ticket.parentInfo:void 0,o=xr(t.provider,e.ticket.key),i=wr(t.provider,r,n);e.baseBranch=r,e.ticketBranch=o,e.targetBranch=i,e.hasParent=e.ticket.parentInfo!=="none";let s=t.provider==="github"?"Milestone":"Epic";return console.log(""),console.log(`\u{1F3AB} ${Ae(`[${e.ticket.key}]`)} ${e.ticket.title}`),console.log(x(` ${s}: ${e.ticket.parentInfo} | Branch: ${o} \u2192 ${i}`)),t.provider!=="github"&&e.ticket.blockers!=="None"&&console.log(S(` Blockers: ${e.ticket.blockers}`)),console.log(""),!0}async function Ul(e){let t=e.config,r=e.board,n=e.ticket,o=t.env.CLANCY_STATUS_IN_PROGRESS;return o&&await r.transitionTicket(n,o),!0}async function cg(e){let t=gc(e);if(await fl(t))try{if(!await Ol(t)||!await Xu(t)||!await Ml(t)||!await Dl(t)||!Qu(t)||!ol(t)||!await Du(t)||!await Ul(t)||!al(t)||!await Wu(t))return;Yu(t),await Fu(t)}catch(r){let n=r instanceof Error?r.message:String(r),o=Ee(Date.now()-t.startTime);if(console.error(""),console.error(Te("\u274C Clancy stopped")+x(` (${o})`)),console.error(Te(` ${n}`)),console.error(x(` "I'd rather let Herman go."`)),t.originalBranch)try{Z(t.originalBranch)}catch{}}finally{t.lockOwner&&(Pt(t.cwd),It(t.cwd))}}process.argv[1]&&sg(import.meta.url)===ig(process.argv[1])&&cg(process.argv);export{cg as run};