@sourcegraph/amp 0.0.1751602048-gad8f2f → 0.0.1751616119-gdb2756

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.
Files changed (2) hide show
  1. package/dist/main.js +7 -7
  2. package/package.json +1 -1
package/dist/main.js CHANGED
@@ -2957,7 +2957,7 @@ Zig LSP implementation + Zig Language Server
2957
2957
 
2958
2958
  Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`);else if(B.cycles==="ref")z(G);continue}if(q.count>1){if(B.reused==="ref"){z(G);continue}}}let Z=(G,q)=>{let Y=this.seen.get(G),F=Y.def??Y.schema,E={...F};if(Y.ref===null)return;let w=Y.ref;if(Y.ref=null,w){Z(w,q);let H=this.seen.get(w).schema;if(H.$ref&&q.target==="draft-7")F.allOf=F.allOf??[],F.allOf.push(H);else Object.assign(F,H),Object.assign(F,E)}if(!Y.isParent)this.override({zodSchema:G,jsonSchema:F})};for(let G of[...this.seen.entries()].reverse())Z(G[0],{target:this.target});let X={...J.def},K=B.external?.defs??{};for(let G of this.seen.entries()){let q=G[1];if(q.def&&q.defId)K[q.defId]=q.def}if(!B.external&&Object.keys(K).length>0)if(this.target==="draft-2020-12")X.$defs=K;else X.definitions=K;if(this.target==="draft-2020-12")X.$schema="https://json-schema.org/draft/2020-12/schema";else if(this.target==="draft-7")X.$schema="http://json-schema.org/draft-07/schema#";else console.warn(`Invalid target: ${this.target}`);try{return JSON.parse(JSON.stringify(X))}catch(G){throw new Error("Error converting schema to JSON.")}}}function LZ1(A,Q){if(A instanceof Ey){let J=new Ua(Q),D={};for(let X of A._idmap.entries()){let[K,G]=X;J.process(G)}let z={},Z={registry:A,uri:Q?.uri||((X)=>X),defs:D};for(let X of A._idmap.entries()){let[K,G]=X;z[K]=J.emit(G,{...Q,external:Z})}if(Object.keys(D).length>0){let X=J.target==="draft-2020-12"?"$defs":"definitions";z.__shared={[X]:D}}return{schemas:z}}let B=new Ua(Q);return B.process(A),B.emit(A,Q)}var QYA;var wp1=x1(()=>{xz1();QYA={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string"}});var Hp1={};var Mp1=()=>{};var Sw={};J2(Sw,{version:()=>rJ1,util:()=>L6,treeifyError:()=>AJ1,toJSONSchema:()=>LZ1,toDotPath:()=>vm1,safeParseAsync:()=>DJ1,safeParse:()=>JJ1,registry:()=>li,regexes:()=>iV,prettifyError:()=>QJ1,parseAsync:()=>_i,parse:()=>Ri,locales:()=>Fy,isValidJWT:()=>sm1,isValidBase64URL:()=>nm1,isValidBase64:()=>WD1,globalRegistry:()=>dU,globalConfig:()=>rk,function:()=>RZ1,formatError:()=>Zy,flattenError:()=>zy,config:()=>oQ,clone:()=>OX,_xid:()=>Ba,_void:()=>qZ1,_uuidv7:()=>si,_uuidv6:()=>ni,_uuidv4:()=>ai,_uuid:()=>ii,_url:()=>ri,_uppercase:()=>Iy,_unknown:()=>KZ1,_union:()=>fqA,_undefined:()=>zZ1,_ulid:()=>Qa,_uint64:()=>JZ1,_uint32:()=>oz1,_tuple:()=>NZ1,_trim:()=>Ly,_transform:()=>pqA,_toUpperCase:()=>Ty,_toLowerCase:()=>_y,_templateLiteral:()=>oqA,_symbol:()=>DZ1,_success:()=>aqA,_stringbool:()=>VZ1,_string:()=>hz1,_startsWith:()=>Cy,_size:()=>Hy,_set:()=>xqA,_safeParseAsync:()=>ji,_safeParse:()=>Ti,_regex:()=>My,_refine:()=>AYA,_record:()=>gqA,_readonly:()=>rqA,_property:()=>WZ1,_promise:()=>eqA,_positive:()=>EZ1,_pipe:()=>sqA,_parseAsync:()=>Li,_parse:()=>Oi,_overwrite:()=>Pw,_optional:()=>cqA,_number:()=>dz1,_nullable:()=>lqA,_null:()=>ZZ1,_normalize:()=>Ry,_nonpositive:()=>HZ1,_nonoptional:()=>iqA,_nonnegative:()=>MZ1,_never:()=>GZ1,_negative:()=>wZ1,_nativeEnum:()=>mqA,_nanoid:()=>ti,_nan:()=>FZ1,_multipleOf:()=>nV,_minSize:()=>sV,_minLength:()=>uW,_min:()=>UZ,_mime:()=>Oy,_maxSize:()=>wT,_maxLength:()=>HT,_max:()=>pK,_map:()=>bqA,_lte:()=>pK,_lt:()=>Tw,_lowercase:()=>Wy,_literal:()=>uqA,_length:()=>MT,_lazy:()=>tqA,_ksuid:()=>Ja,_jwt:()=>Ya,_isoTime:()=>cz1,_isoDuration:()=>lz1,_isoDateTime:()=>uz1,_isoDate:()=>pz1,_ipv6:()=>za,_ipv4:()=>Da,_intersection:()=>yqA,_int64:()=>BZ1,_int32:()=>rz1,_int:()=>az1,_includes:()=>Ny,_guid:()=>wy,_gte:()=>UZ,_gt:()=>jw,_float64:()=>sz1,_float32:()=>nz1,_file:()=>CZ1,_enum:()=>hqA,_endsWith:()=>Vy,_emoji:()=>oi,_email:()=>di,_e164:()=>qa,_discriminatedUnion:()=>kqA,_default:()=>dqA,_date:()=>YZ1,_custom:()=>jy,_cuid2:()=>Aa,_cuid:()=>ei,_coercedString:()=>mz1,_coercedNumber:()=>iz1,_coercedDate:()=>UZ1,_coercedBoolean:()=>ez1,_coercedBigint:()=>QZ1,_cidrv6:()=>Xa,_cidrv4:()=>Za,_catch:()=>nqA,_boolean:()=>tz1,_bigint:()=>AZ1,_base64url:()=>Ga,_base64:()=>Ka,_array:()=>IZ1,_any:()=>XZ1,JSONSchemaGenerator:()=>Ua,JSONSchema:()=>Hp1,Doc:()=>xi,$output:()=>gz1,$input:()=>bz1,$constructor:()=>p0,$brand:()=>cB1,$ZodXID:()=>KD1,$ZodVoid:()=>SD1,$ZodUnknown:()=>Gy,$ZodUnion:()=>ci,$ZodUndefined:()=>_D1,$ZodUUID:()=>AD1,$ZodURL:()=>BD1,$ZodULID:()=>XD1,$ZodType:()=>P8,$ZodTuple:()=>aV,$ZodTransform:()=>pD1,$ZodTemplateLiteral:()=>tD1,$ZodSymbol:()=>LD1,$ZodSuccess:()=>nD1,$ZodStringFormat:()=>g5,$ZodString:()=>Xy,$ZodSet:()=>xD1,$ZodRegistry:()=>Ey,$ZodRecord:()=>gD1,$ZodRealError:()=>FT,$ZodReadonly:()=>oD1,$ZodPromise:()=>eD1,$ZodPrefault:()=>iD1,$ZodPipe:()=>qy,$ZodOptional:()=>cD1,$ZodObject:()=>fD1,$ZodNumberFormat:()=>OD1,$ZodNumber:()=>ui,$ZodNullable:()=>lD1,$ZodNull:()=>TD1,$ZodNonOptional:()=>aD1,$ZodNever:()=>PD1,$ZodNanoID:()=>DD1,$ZodNaN:()=>rD1,$ZodMap:()=>bD1,$ZodLiteral:()=>mD1,$ZodLazy:()=>Az1,$ZodKSUID:()=>GD1,$ZodJWT:()=>VD1,$ZodIntersection:()=>yD1,$ZodISOTime:()=>UD1,$ZodISODuration:()=>FD1,$ZodISODateTime:()=>qD1,$ZodISODate:()=>YD1,$ZodIPv6:()=>wD1,$ZodIPv4:()=>ED1,$ZodGUID:()=>eJ1,$ZodFunction:()=>WT,$ZodFile:()=>uD1,$ZodError:()=>Dy,$ZodEnum:()=>hD1,$ZodEmoji:()=>JD1,$ZodEmail:()=>QD1,$ZodE164:()=>CD1,$ZodDiscriminatedUnion:()=>kD1,$ZodDefault:()=>dD1,$ZodDate:()=>vD1,$ZodCustom:()=>Qz1,$ZodCheckUpperCase:()=>cJ1,$ZodCheckStringFormat:()=>ET,$ZodCheckStartsWith:()=>dJ1,$ZodCheckSizeEquals:()=>bJ1,$ZodCheckRegex:()=>uJ1,$ZodCheckProperty:()=>aJ1,$ZodCheckOverwrite:()=>sJ1,$ZodCheckNumberFormat:()=>fJ1,$ZodCheckMultipleOf:()=>$J1,$ZodCheckMinSize:()=>gJ1,$ZodCheckMinLength:()=>hJ1,$ZodCheckMimeType:()=>nJ1,$ZodCheckMaxSize:()=>yJ1,$ZodCheckMaxLength:()=>xJ1,$ZodCheckLowerCase:()=>pJ1,$ZodCheckLessThan:()=>yi,$ZodCheckLengthEquals:()=>mJ1,$ZodCheckIncludes:()=>lJ1,$ZodCheckGreaterThan:()=>gi,$ZodCheckEndsWith:()=>iJ1,$ZodCheckBigIntFormat:()=>kJ1,$ZodCheck:()=>k7,$ZodCatch:()=>sD1,$ZodCUID2:()=>ZD1,$ZodCUID:()=>zD1,$ZodCIDRv6:()=>MD1,$ZodCIDRv4:()=>HD1,$ZodBoolean:()=>Ky,$ZodBigIntFormat:()=>RD1,$ZodBigInt:()=>pi,$ZodBase64URL:()=>ND1,$ZodBase64:()=>ID1,$ZodAsyncError:()=>_w,$ZodArray:()=>$D1,$ZodAny:()=>jD1});var LX=x1(()=>{UT();Pi();BJ1();Yy();bi();oJ1();u8();ki();Fp1();xz1();Ep1();OZ1();wp1();Mp1()});var _Z1=x1(()=>{LX()});var Fa={};J2(Fa,{time:()=>PZ1,duration:()=>SZ1,datetime:()=>TZ1,date:()=>jZ1,ZodISOTime:()=>Np1,ZodISODuration:()=>Cp1,ZodISODateTime:()=>Wp1,ZodISODate:()=>Ip1});function TZ1(A){return uz1(Wp1,A)}function jZ1(A){return pz1(Ip1,A)}function PZ1(A){return cz1(Np1,A)}function SZ1(A){return lz1(Cp1,A)}var Wp1,Ip1,Np1,Cp1;var vZ1=x1(()=>{LX();Ea();Wp1=p0("ZodISODateTime",(A,Q)=>{qD1.init(A,Q),t5.init(A,Q)});Ip1=p0("ZodISODate",(A,Q)=>{YD1.init(A,Q),t5.init(A,Q)});Np1=p0("ZodISOTime",(A,Q)=>{UD1.init(A,Q),t5.init(A,Q)});Cp1=p0("ZodISODuration",(A,Q)=>{FD1.init(A,Q),t5.init(A,Q)})});var Op1=(A,Q)=>{Dy.init(A,Q),A.name="ZodError",Object.defineProperties(A,{format:{value:(B)=>Zy(A,B)},flatten:{value:(B)=>zy(A,B)},addIssue:{value:(B)=>A.issues.push(B)},addIssues:{value:(B)=>A.issues.push(...B)},isEmpty:{get(){return A.issues.length===0}}})},JYA,IT;var $Z1=x1(()=>{LX();LX();JYA=p0("ZodError",Op1),IT=p0("ZodError",Op1,{Parent:Error})});var fZ1,kZ1,yZ1,gZ1;var bZ1=x1(()=>{LX();$Z1();fZ1=Oi(IT),kZ1=Li(IT),yZ1=Ti(IT),gZ1=ji(IT)});var xZ1={};J2(xZ1,{string:()=>zYA,number:()=>ZYA,date:()=>GYA,boolean:()=>XYA,bigint:()=>KYA});function zYA(A){return mz1(wa,A)}function ZYA(A){return iz1(Py,A)}function XYA(A){return ez1(Sy,A)}function KYA(A){return QZ1(vy,A)}function GYA(A){return UZ1(Ha,A)}var Rp1=x1(()=>{LX();Ea()});function hZ1(A){return hz1(wa,A)}function qYA(A){return di(pZ1,A)}function YYA(A){return wy(Ma,A)}function UYA(A){return ii(vw,A)}function FYA(A){return ai(vw,A)}function EYA(A){return ni(vw,A)}function wYA(A){return si(vw,A)}function HYA(A){return ri(cZ1,A)}function MYA(A){return oi(lZ1,A)}function WYA(A){return ti(dZ1,A)}function IYA(A){return ei(iZ1,A)}function NYA(A){return Aa(aZ1,A)}function CYA(A){return Qa(nZ1,A)}function VYA(A){return Ba(sZ1,A)}function OYA(A){return Ja(rZ1,A)}function RYA(A){return Da(oZ1,A)}function LYA(A){return za(tZ1,A)}function _YA(A){return Za(eZ1,A)}function TYA(A){return Xa(AX1,A)}function jYA(A){return Ka(QX1,A)}function PYA(A){return Ga(BX1,A)}function SYA(A){return qa(JX1,A)}function vYA(A){return Ya(DX1,A)}function Lp1(A){return dz1(Py,A)}function mZ1(A){return az1(NT,A)}function $YA(A){return nz1(NT,A)}function fYA(A){return sz1(NT,A)}function kYA(A){return rz1(NT,A)}function yYA(A){return oz1(NT,A)}function _p1(A){return tz1(Sy,A)}function gYA(A){return AZ1(vy,A)}function bYA(A){return BZ1(zX1,A)}function xYA(A){return JZ1(zX1,A)}function hYA(A){return DZ1(Tp1,A)}function mYA(A){return zZ1(jp1,A)}function Sp1(A){return ZZ1(Pp1,A)}function uYA(){return XZ1(vp1)}function Wa(){return KZ1(ZX1)}function Va(A){return GZ1($p1,A)}function pYA(A){return qZ1(fp1,A)}function cYA(A){return YZ1(Ha,A)}function XX1(A,Q){return IZ1(kp1,A,Q)}function lYA(A){let Q=A._zod.def.shape;return lp1(Object.keys(Q))}function dYA(A,Q){let B={type:"object",get shape(){return L6.assignProp(this,"shape",{...A}),this.shape},...L6.normalizeParams(Q)};return new Oa(B)}function iYA(A,Q){return new Oa({type:"object",get shape(){return L6.assignProp(this,"shape",{...A}),this.shape},catchall:Va(),...L6.normalizeParams(Q)})}function aYA(A,Q){return new Oa({type:"object",get shape(){return L6.assignProp(this,"shape",{...A}),this.shape},catchall:Wa(),...L6.normalizeParams(Q)})}function Ra(A,Q){return new KX1({type:"union",options:A,...L6.normalizeParams(Q)})}function nYA(A,Q,B){return new yp1({type:"union",options:Q,discriminator:A,...L6.normalizeParams(B)})}function bp1(A,Q){return new gp1({type:"intersection",left:A,right:Q})}function sYA(A,Q,B){let J=Q instanceof P8,D=J?B:Q;return new xp1({type:"tuple",items:A,rest:J?Q:null,...L6.normalizeParams(D)})}function hp1(A,Q,B){return new GX1({type:"record",keyType:A,valueType:Q,...L6.normalizeParams(B)})}function rYA(A,Q,B){return new GX1({type:"record",keyType:Ra([A,Va()]),valueType:Q,...L6.normalizeParams(B)})}function oYA(A,Q,B){return new mp1({type:"map",keyType:A,valueType:Q,...L6.normalizeParams(B)})}function tYA(A,Q){return new up1({type:"set",valueType:A,...L6.normalizeParams(Q)})}function pp1(A,Q){let B=Array.isArray(A)?Object.fromEntries(A.map((J)=>[J,J])):A;return new $y({type:"enum",entries:B,...L6.normalizeParams(Q)})}function eYA(A,Q){return new $y({type:"enum",entries:A,...L6.normalizeParams(Q)})}function lp1(A,Q){return new cp1({type:"literal",values:Array.isArray(A)?A:[A],...L6.normalizeParams(Q)})}function AUA(A){return CZ1(dp1,A)}function qX1(A){return new ip1({type:"transform",transform:A})}function Ia(A){return new YX1({type:"optional",innerType:A})}function Na(A){return new ap1({type:"nullable",innerType:A})}function QUA(A){return Ia(Na(A))}function sp1(A,Q){return new np1({type:"default",innerType:A,get defaultValue(){return typeof Q==="function"?Q():Q}})}function op1(A,Q){return new rp1({type:"prefault",innerType:A,get defaultValue(){return typeof Q==="function"?Q():Q}})}function tp1(A,Q){return new UX1({type:"nonoptional",innerType:A,...L6.normalizeParams(Q)})}function BUA(A){return new ep1({type:"success",innerType:A})}function Qc1(A,Q){return new Ac1({type:"catch",innerType:A,catchValue:typeof Q==="function"?Q:()=>Q})}function JUA(A){return FZ1(Bc1,A)}function Ca(A,Q){return new FX1({type:"pipe",in:A,out:Q})}function Dc1(A){return new Jc1({type:"readonly",innerType:A})}function DUA(A,Q){return new zc1({type:"template_literal",parts:A,...L6.normalizeParams(Q)})}function Xc1(A){return new Zc1({type:"lazy",getter:A})}function zUA(A){return new Kc1({type:"promise",innerType:A})}function Gc1(A,Q){let B=new k7({check:"custom",...L6.normalizeParams(Q)});return B._zod.check=A,B}function ZUA(A,Q){return jy(La,A??(()=>!0),Q)}function qc1(A,Q={}){return jy(La,A,Q)}function Yc1(A,Q){let B=Gc1((J)=>{return J.addIssue=(D)=>{if(typeof D==="string")J.issues.push(L6.issue(D,J.value,B._zod.def));else{let z=D;if(z.fatal)z.continue=!1;z.code??(z.code="custom"),z.input??(z.input=J.value),z.inst??(z.inst=B),z.continue??(z.continue=!B._zod.def.abort),J.issues.push(L6.issue(z))}},A(J.value,J)},Q);return B}function XUA(A,Q={error:`Input not instance of ${A.name}`}){let B=new La({type:"custom",check:"custom",fn:(J)=>J instanceof A,abort:!0,...L6.normalizeParams(Q)});return B._zod.bag.Class=A,B}function GUA(A){let Q=Xc1(()=>{return Ra([hZ1(A),Lp1(),_p1(),Sp1(),XX1(Q),hp1(hZ1(),Q)])});return Q}function qUA(A,Q){return Ca(qX1(A),Q)}var J9,uZ1,wa,t5,pZ1,Ma,vw,cZ1,lZ1,dZ1,iZ1,aZ1,nZ1,sZ1,rZ1,oZ1,tZ1,eZ1,AX1,QX1,BX1,JX1,DX1,Py,NT,Sy,vy,zX1,Tp1,jp1,Pp1,vp1,ZX1,$p1,fp1,Ha,kp1,Oa,KX1,yp1,gp1,xp1,GX1,mp1,up1,$y,cp1,dp1,ip1,YX1,ap1,np1,rp1,UX1,ep1,Ac1,Bc1,FX1,Jc1,zc1,Zc1,Kc1,La,KUA;var Ea=x1(()=>{LX();LX();_Z1();vZ1();bZ1();vZ1();Rp1();J9=p0("ZodType",(A,Q)=>{return P8.init(A,Q),A.def=Q,Object.defineProperty(A,"_def",{value:Q}),A.check=(...B)=>{return A.clone({...Q,checks:[...Q.checks??[],...B.map((J)=>typeof J==="function"?{_zod:{check:J,def:{check:"custom"},onattach:[]}}:J)]})},A.clone=(B,J)=>OX(A,B,J),A.brand=()=>A,A.register=(B,J)=>{return B.add(A,J),A},A.parse=(B,J)=>fZ1(A,B,J,{callee:A.parse}),A.safeParse=(B,J)=>yZ1(A,B,J),A.parseAsync=async(B,J)=>kZ1(A,B,J,{callee:A.parseAsync}),A.safeParseAsync=async(B,J)=>gZ1(A,B,J),A.spa=A.safeParseAsync,A.refine=(B,J)=>A.check(qc1(B,J)),A.superRefine=(B)=>A.check(Yc1(B)),A.overwrite=(B)=>A.check(Pw(B)),A.optional=()=>Ia(A),A.nullable=()=>Na(A),A.nullish=()=>Ia(Na(A)),A.nonoptional=(B)=>tp1(A,B),A.array=()=>XX1(A),A.or=(B)=>Ra([A,B]),A.and=(B)=>bp1(A,B),A.transform=(B)=>Ca(A,qX1(B)),A.default=(B)=>sp1(A,B),A.prefault=(B)=>op1(A,B),A.catch=(B)=>Qc1(A,B),A.pipe=(B)=>Ca(A,B),A.readonly=()=>Dc1(A),A.describe=(B)=>{let J=A.clone();return dU.add(J,{description:B}),J},Object.defineProperty(A,"description",{get(){return dU.get(A)?.description},configurable:!0}),A.meta=(...B)=>{if(B.length===0)return dU.get(A);let J=A.clone();return dU.add(J,B[0]),J},A.isOptional=()=>A.safeParse(void 0).success,A.isNullable=()=>A.safeParse(null).success,A}),uZ1=p0("_ZodString",(A,Q)=>{Xy.init(A,Q),J9.init(A,Q);let B=A._zod.bag;A.format=B.format??null,A.minLength=B.minimum??null,A.maxLength=B.maximum??null,A.regex=(...J)=>A.check(My(...J)),A.includes=(...J)=>A.check(Ny(...J)),A.startsWith=(...J)=>A.check(Cy(...J)),A.endsWith=(...J)=>A.check(Vy(...J)),A.min=(...J)=>A.check(uW(...J)),A.max=(...J)=>A.check(HT(...J)),A.length=(...J)=>A.check(MT(...J)),A.nonempty=(...J)=>A.check(uW(1,...J)),A.lowercase=(J)=>A.check(Wy(J)),A.uppercase=(J)=>A.check(Iy(J)),A.trim=()=>A.check(Ly()),A.normalize=(...J)=>A.check(Ry(...J)),A.toLowerCase=()=>A.check(_y()),A.toUpperCase=()=>A.check(Ty())}),wa=p0("ZodString",(A,Q)=>{Xy.init(A,Q),uZ1.init(A,Q),A.email=(B)=>A.check(di(pZ1,B)),A.url=(B)=>A.check(ri(cZ1,B)),A.jwt=(B)=>A.check(Ya(DX1,B)),A.emoji=(B)=>A.check(oi(lZ1,B)),A.guid=(B)=>A.check(wy(Ma,B)),A.uuid=(B)=>A.check(ii(vw,B)),A.uuidv4=(B)=>A.check(ai(vw,B)),A.uuidv6=(B)=>A.check(ni(vw,B)),A.uuidv7=(B)=>A.check(si(vw,B)),A.nanoid=(B)=>A.check(ti(dZ1,B)),A.guid=(B)=>A.check(wy(Ma,B)),A.cuid=(B)=>A.check(ei(iZ1,B)),A.cuid2=(B)=>A.check(Aa(aZ1,B)),A.ulid=(B)=>A.check(Qa(nZ1,B)),A.base64=(B)=>A.check(Ka(QX1,B)),A.base64url=(B)=>A.check(Ga(BX1,B)),A.xid=(B)=>A.check(Ba(sZ1,B)),A.ksuid=(B)=>A.check(Ja(rZ1,B)),A.ipv4=(B)=>A.check(Da(oZ1,B)),A.ipv6=(B)=>A.check(za(tZ1,B)),A.cidrv4=(B)=>A.check(Za(eZ1,B)),A.cidrv6=(B)=>A.check(Xa(AX1,B)),A.e164=(B)=>A.check(qa(JX1,B)),A.datetime=(B)=>A.check(TZ1(B)),A.date=(B)=>A.check(jZ1(B)),A.time=(B)=>A.check(PZ1(B)),A.duration=(B)=>A.check(SZ1(B))});t5=p0("ZodStringFormat",(A,Q)=>{g5.init(A,Q),uZ1.init(A,Q)}),pZ1=p0("ZodEmail",(A,Q)=>{QD1.init(A,Q),t5.init(A,Q)});Ma=p0("ZodGUID",(A,Q)=>{eJ1.init(A,Q),t5.init(A,Q)});vw=p0("ZodUUID",(A,Q)=>{AD1.init(A,Q),t5.init(A,Q)});cZ1=p0("ZodURL",(A,Q)=>{BD1.init(A,Q),t5.init(A,Q)});lZ1=p0("ZodEmoji",(A,Q)=>{JD1.init(A,Q),t5.init(A,Q)});dZ1=p0("ZodNanoID",(A,Q)=>{DD1.init(A,Q),t5.init(A,Q)});iZ1=p0("ZodCUID",(A,Q)=>{zD1.init(A,Q),t5.init(A,Q)});aZ1=p0("ZodCUID2",(A,Q)=>{ZD1.init(A,Q),t5.init(A,Q)});nZ1=p0("ZodULID",(A,Q)=>{XD1.init(A,Q),t5.init(A,Q)});sZ1=p0("ZodXID",(A,Q)=>{KD1.init(A,Q),t5.init(A,Q)});rZ1=p0("ZodKSUID",(A,Q)=>{GD1.init(A,Q),t5.init(A,Q)});oZ1=p0("ZodIPv4",(A,Q)=>{ED1.init(A,Q),t5.init(A,Q)});tZ1=p0("ZodIPv6",(A,Q)=>{wD1.init(A,Q),t5.init(A,Q)});eZ1=p0("ZodCIDRv4",(A,Q)=>{HD1.init(A,Q),t5.init(A,Q)});AX1=p0("ZodCIDRv6",(A,Q)=>{MD1.init(A,Q),t5.init(A,Q)});QX1=p0("ZodBase64",(A,Q)=>{ID1.init(A,Q),t5.init(A,Q)});BX1=p0("ZodBase64URL",(A,Q)=>{ND1.init(A,Q),t5.init(A,Q)});JX1=p0("ZodE164",(A,Q)=>{CD1.init(A,Q),t5.init(A,Q)});DX1=p0("ZodJWT",(A,Q)=>{VD1.init(A,Q),t5.init(A,Q)});Py=p0("ZodNumber",(A,Q)=>{ui.init(A,Q),J9.init(A,Q),A.gt=(J,D)=>A.check(jw(J,D)),A.gte=(J,D)=>A.check(UZ(J,D)),A.min=(J,D)=>A.check(UZ(J,D)),A.lt=(J,D)=>A.check(Tw(J,D)),A.lte=(J,D)=>A.check(pK(J,D)),A.max=(J,D)=>A.check(pK(J,D)),A.int=(J)=>A.check(mZ1(J)),A.safe=(J)=>A.check(mZ1(J)),A.positive=(J)=>A.check(jw(0,J)),A.nonnegative=(J)=>A.check(UZ(0,J)),A.negative=(J)=>A.check(Tw(0,J)),A.nonpositive=(J)=>A.check(pK(0,J)),A.multipleOf=(J,D)=>A.check(nV(J,D)),A.step=(J,D)=>A.check(nV(J,D)),A.finite=()=>A;let B=A._zod.bag;A.minValue=Math.max(B.minimum??Number.NEGATIVE_INFINITY,B.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,A.maxValue=Math.min(B.maximum??Number.POSITIVE_INFINITY,B.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,A.isInt=(B.format??"").includes("int")||Number.isSafeInteger(B.multipleOf??0.5),A.isFinite=!0,A.format=B.format??null});NT=p0("ZodNumberFormat",(A,Q)=>{OD1.init(A,Q),Py.init(A,Q)});Sy=p0("ZodBoolean",(A,Q)=>{Ky.init(A,Q),J9.init(A,Q)});vy=p0("ZodBigInt",(A,Q)=>{pi.init(A,Q),J9.init(A,Q),A.gte=(J,D)=>A.check(UZ(J,D)),A.min=(J,D)=>A.check(UZ(J,D)),A.gt=(J,D)=>A.check(jw(J,D)),A.gte=(J,D)=>A.check(UZ(J,D)),A.min=(J,D)=>A.check(UZ(J,D)),A.lt=(J,D)=>A.check(Tw(J,D)),A.lte=(J,D)=>A.check(pK(J,D)),A.max=(J,D)=>A.check(pK(J,D)),A.positive=(J)=>A.check(jw(BigInt(0),J)),A.negative=(J)=>A.check(Tw(BigInt(0),J)),A.nonpositive=(J)=>A.check(pK(BigInt(0),J)),A.nonnegative=(J)=>A.check(UZ(BigInt(0),J)),A.multipleOf=(J,D)=>A.check(nV(J,D));let B=A._zod.bag;A.minValue=B.minimum??null,A.maxValue=B.maximum??null,A.format=B.format??null});zX1=p0("ZodBigIntFormat",(A,Q)=>{RD1.init(A,Q),vy.init(A,Q)});Tp1=p0("ZodSymbol",(A,Q)=>{LD1.init(A,Q),J9.init(A,Q)});jp1=p0("ZodUndefined",(A,Q)=>{_D1.init(A,Q),J9.init(A,Q)});Pp1=p0("ZodNull",(A,Q)=>{TD1.init(A,Q),J9.init(A,Q)});vp1=p0("ZodAny",(A,Q)=>{jD1.init(A,Q),J9.init(A,Q)});ZX1=p0("ZodUnknown",(A,Q)=>{Gy.init(A,Q),J9.init(A,Q)});$p1=p0("ZodNever",(A,Q)=>{PD1.init(A,Q),J9.init(A,Q)});fp1=p0("ZodVoid",(A,Q)=>{SD1.init(A,Q),J9.init(A,Q)});Ha=p0("ZodDate",(A,Q)=>{vD1.init(A,Q),J9.init(A,Q),A.min=(J,D)=>A.check(UZ(J,D)),A.max=(J,D)=>A.check(pK(J,D));let B=A._zod.bag;A.minDate=B.minimum?new Date(B.minimum):null,A.maxDate=B.maximum?new Date(B.maximum):null});kp1=p0("ZodArray",(A,Q)=>{$D1.init(A,Q),J9.init(A,Q),A.element=Q.element,A.min=(B,J)=>A.check(uW(B,J)),A.nonempty=(B)=>A.check(uW(1,B)),A.max=(B,J)=>A.check(HT(B,J)),A.length=(B,J)=>A.check(MT(B,J)),A.unwrap=()=>A.element});Oa=p0("ZodObject",(A,Q)=>{fD1.init(A,Q),J9.init(A,Q),L6.defineLazy(A,"shape",()=>{return Object.fromEntries(Object.entries(A._zod.def.shape))}),A.keyof=()=>pp1(Object.keys(A._zod.def.shape)),A.catchall=(B)=>A.clone({...A._zod.def,catchall:B}),A.passthrough=()=>A.clone({...A._zod.def,catchall:Wa()}),A.loose=()=>A.clone({...A._zod.def,catchall:Wa()}),A.strict=()=>A.clone({...A._zod.def,catchall:Va()}),A.strip=()=>A.clone({...A._zod.def,catchall:void 0}),A.extend=(B)=>{return L6.extend(A,B)},A.merge=(B)=>L6.merge(A,B),A.pick=(B)=>L6.pick(A,B),A.omit=(B)=>L6.omit(A,B),A.partial=(...B)=>L6.partial(YX1,A,B[0]),A.required=(...B)=>L6.required(UX1,A,B[0])});KX1=p0("ZodUnion",(A,Q)=>{ci.init(A,Q),J9.init(A,Q),A.options=Q.options});yp1=p0("ZodDiscriminatedUnion",(A,Q)=>{KX1.init(A,Q),kD1.init(A,Q)});gp1=p0("ZodIntersection",(A,Q)=>{yD1.init(A,Q),J9.init(A,Q)});xp1=p0("ZodTuple",(A,Q)=>{aV.init(A,Q),J9.init(A,Q),A.rest=(B)=>A.clone({...A._zod.def,rest:B})});GX1=p0("ZodRecord",(A,Q)=>{gD1.init(A,Q),J9.init(A,Q),A.keyType=Q.keyType,A.valueType=Q.valueType});mp1=p0("ZodMap",(A,Q)=>{bD1.init(A,Q),J9.init(A,Q),A.keyType=Q.keyType,A.valueType=Q.valueType});up1=p0("ZodSet",(A,Q)=>{xD1.init(A,Q),J9.init(A,Q),A.min=(...B)=>A.check(sV(...B)),A.nonempty=(B)=>A.check(sV(1,B)),A.max=(...B)=>A.check(wT(...B)),A.size=(...B)=>A.check(Hy(...B))});$y=p0("ZodEnum",(A,Q)=>{hD1.init(A,Q),J9.init(A,Q),A.enum=Q.entries,A.options=Object.values(Q.entries);let B=new Set(Object.keys(Q.entries));A.extract=(J,D)=>{let z={};for(let Z of J)if(B.has(Z))z[Z]=Q.entries[Z];else throw new Error(`Key ${Z} not found in enum`);return new $y({...Q,checks:[],...L6.normalizeParams(D),entries:z})},A.exclude=(J,D)=>{let z={...Q.entries};for(let Z of J)if(B.has(Z))delete z[Z];else throw new Error(`Key ${Z} not found in enum`);return new $y({...Q,checks:[],...L6.normalizeParams(D),entries:z})}});cp1=p0("ZodLiteral",(A,Q)=>{mD1.init(A,Q),J9.init(A,Q),A.values=new Set(Q.values),Object.defineProperty(A,"value",{get(){if(Q.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return Q.values[0]}})});dp1=p0("ZodFile",(A,Q)=>{uD1.init(A,Q),J9.init(A,Q),A.min=(B,J)=>A.check(sV(B,J)),A.max=(B,J)=>A.check(wT(B,J)),A.mime=(B,J)=>A.check(Oy(B,J))});ip1=p0("ZodTransform",(A,Q)=>{pD1.init(A,Q),J9.init(A,Q),A._zod.parse=(B,J)=>{B.addIssue=(z)=>{if(typeof z==="string")B.issues.push(L6.issue(z,B.value,Q));else{let Z=z;if(Z.fatal)Z.continue=!1;Z.code??(Z.code="custom"),Z.input??(Z.input=B.value),Z.inst??(Z.inst=A),Z.continue??(Z.continue=!0),B.issues.push(L6.issue(Z))}};let D=Q.transform(B.value,B);if(D instanceof Promise)return D.then((z)=>{return B.value=z,B});return B.value=D,B}});YX1=p0("ZodOptional",(A,Q)=>{cD1.init(A,Q),J9.init(A,Q),A.unwrap=()=>A._zod.def.innerType});ap1=p0("ZodNullable",(A,Q)=>{lD1.init(A,Q),J9.init(A,Q),A.unwrap=()=>A._zod.def.innerType});np1=p0("ZodDefault",(A,Q)=>{dD1.init(A,Q),J9.init(A,Q),A.unwrap=()=>A._zod.def.innerType,A.removeDefault=A.unwrap});rp1=p0("ZodPrefault",(A,Q)=>{iD1.init(A,Q),J9.init(A,Q),A.unwrap=()=>A._zod.def.innerType});UX1=p0("ZodNonOptional",(A,Q)=>{aD1.init(A,Q),J9.init(A,Q),A.unwrap=()=>A._zod.def.innerType});ep1=p0("ZodSuccess",(A,Q)=>{nD1.init(A,Q),J9.init(A,Q),A.unwrap=()=>A._zod.def.innerType});Ac1=p0("ZodCatch",(A,Q)=>{sD1.init(A,Q),J9.init(A,Q),A.unwrap=()=>A._zod.def.innerType,A.removeCatch=A.unwrap});Bc1=p0("ZodNaN",(A,Q)=>{rD1.init(A,Q),J9.init(A,Q)});FX1=p0("ZodPipe",(A,Q)=>{qy.init(A,Q),J9.init(A,Q),A.in=Q.in,A.out=Q.out});Jc1=p0("ZodReadonly",(A,Q)=>{oD1.init(A,Q),J9.init(A,Q)});zc1=p0("ZodTemplateLiteral",(A,Q)=>{tD1.init(A,Q),J9.init(A,Q)});Zc1=p0("ZodLazy",(A,Q)=>{Az1.init(A,Q),J9.init(A,Q),A.unwrap=()=>A._zod.def.getter()});Kc1=p0("ZodPromise",(A,Q)=>{eD1.init(A,Q),J9.init(A,Q),A.unwrap=()=>A._zod.def.innerType});La=p0("ZodCustom",(A,Q)=>{Qz1.init(A,Q),J9.init(A,Q)});KUA=VZ1.bind(null,{Pipe:FX1,Boolean:Sy,Unknown:ZX1})});function EUA(A){oQ({customError:A})}function wUA(){return oQ().customError}var YUA,UUA,FUA;var Uc1=x1(()=>{LX();YUA={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"},UUA=Object.freeze({status:"aborted"}),FUA=UUA});var M4={};J2(M4,{xid:()=>VYA,void:()=>pYA,uuidv7:()=>wYA,uuidv6:()=>EYA,uuidv4:()=>FYA,uuid:()=>UYA,url:()=>HYA,uppercase:()=>Iy,unknown:()=>Wa,union:()=>Ra,undefined:()=>mYA,ulid:()=>CYA,uint64:()=>xYA,uint32:()=>yYA,tuple:()=>sYA,trim:()=>Ly,treeifyError:()=>AJ1,transform:()=>qX1,toUpperCase:()=>Ty,toLowerCase:()=>_y,toJSONSchema:()=>LZ1,templateLiteral:()=>DUA,symbol:()=>hYA,superRefine:()=>Yc1,success:()=>BUA,stringbool:()=>KUA,string:()=>hZ1,strictObject:()=>iYA,startsWith:()=>Cy,size:()=>Hy,setErrorMap:()=>EUA,set:()=>tYA,safeParseAsync:()=>gZ1,safeParse:()=>yZ1,registry:()=>li,regexes:()=>iV,regex:()=>My,refine:()=>qc1,record:()=>hp1,readonly:()=>Dc1,property:()=>WZ1,promise:()=>zUA,prettifyError:()=>QJ1,preprocess:()=>qUA,prefault:()=>op1,positive:()=>EZ1,pipe:()=>Ca,partialRecord:()=>rYA,parseAsync:()=>kZ1,parse:()=>fZ1,overwrite:()=>Pw,optional:()=>Ia,object:()=>dYA,number:()=>Lp1,nullish:()=>QUA,nullable:()=>Na,null:()=>Sp1,normalize:()=>Ry,nonpositive:()=>HZ1,nonoptional:()=>tp1,nonnegative:()=>MZ1,never:()=>Va,negative:()=>wZ1,nativeEnum:()=>eYA,nanoid:()=>WYA,nan:()=>JUA,multipleOf:()=>nV,minSize:()=>sV,minLength:()=>uW,mime:()=>Oy,maxSize:()=>wT,maxLength:()=>HT,map:()=>oYA,lte:()=>pK,lt:()=>Tw,lowercase:()=>Wy,looseObject:()=>aYA,locales:()=>Fy,literal:()=>lp1,length:()=>MT,lazy:()=>Xc1,ksuid:()=>OYA,keyof:()=>lYA,jwt:()=>vYA,json:()=>GUA,iso:()=>Fa,ipv6:()=>LYA,ipv4:()=>RYA,intersection:()=>bp1,int64:()=>bYA,int32:()=>kYA,int:()=>mZ1,instanceof:()=>XUA,includes:()=>Ny,guid:()=>YYA,gte:()=>UZ,gt:()=>jw,globalRegistry:()=>dU,getErrorMap:()=>wUA,function:()=>RZ1,formatError:()=>Zy,float64:()=>fYA,float32:()=>$YA,flattenError:()=>zy,file:()=>AUA,enum:()=>pp1,endsWith:()=>Vy,emoji:()=>MYA,email:()=>qYA,e164:()=>SYA,discriminatedUnion:()=>nYA,date:()=>cYA,custom:()=>ZUA,cuid2:()=>NYA,cuid:()=>IYA,core:()=>Sw,config:()=>oQ,coerce:()=>xZ1,clone:()=>OX,cidrv6:()=>TYA,cidrv4:()=>_YA,check:()=>Gc1,catch:()=>Qc1,boolean:()=>_p1,bigint:()=>gYA,base64url:()=>PYA,base64:()=>jYA,array:()=>XX1,any:()=>uYA,_default:()=>sp1,_ZodString:()=>uZ1,ZodXID:()=>sZ1,ZodVoid:()=>fp1,ZodUnknown:()=>ZX1,ZodUnion:()=>KX1,ZodUndefined:()=>jp1,ZodUUID:()=>vw,ZodURL:()=>cZ1,ZodULID:()=>nZ1,ZodType:()=>J9,ZodTuple:()=>xp1,ZodTransform:()=>ip1,ZodTemplateLiteral:()=>zc1,ZodSymbol:()=>Tp1,ZodSuccess:()=>ep1,ZodStringFormat:()=>t5,ZodString:()=>wa,ZodSet:()=>up1,ZodRecord:()=>GX1,ZodRealError:()=>IT,ZodReadonly:()=>Jc1,ZodPromise:()=>Kc1,ZodPrefault:()=>rp1,ZodPipe:()=>FX1,ZodOptional:()=>YX1,ZodObject:()=>Oa,ZodNumberFormat:()=>NT,ZodNumber:()=>Py,ZodNullable:()=>ap1,ZodNull:()=>Pp1,ZodNonOptional:()=>UX1,ZodNever:()=>$p1,ZodNanoID:()=>dZ1,ZodNaN:()=>Bc1,ZodMap:()=>mp1,ZodLiteral:()=>cp1,ZodLazy:()=>Zc1,ZodKSUID:()=>rZ1,ZodJWT:()=>DX1,ZodIssueCode:()=>YUA,ZodIntersection:()=>gp1,ZodIPv6:()=>tZ1,ZodIPv4:()=>oZ1,ZodGUID:()=>Ma,ZodFile:()=>dp1,ZodError:()=>JYA,ZodEnum:()=>$y,ZodEmoji:()=>lZ1,ZodEmail:()=>pZ1,ZodE164:()=>JX1,ZodDiscriminatedUnion:()=>yp1,ZodDefault:()=>np1,ZodDate:()=>Ha,ZodCustom:()=>La,ZodCatch:()=>Ac1,ZodCUID2:()=>aZ1,ZodCUID:()=>iZ1,ZodCIDRv6:()=>AX1,ZodCIDRv4:()=>eZ1,ZodBoolean:()=>Sy,ZodBigIntFormat:()=>zX1,ZodBigInt:()=>vy,ZodBase64URL:()=>BX1,ZodBase64:()=>QX1,ZodArray:()=>kp1,ZodAny:()=>vp1,NEVER:()=>FUA,$output:()=>gz1,$input:()=>bz1,$brand:()=>cB1});var EX1=x1(()=>{LX();Ea();_Z1();$Z1();bZ1();Uc1();LX();Kz1();LX();oQ(Uy())});var Fc1=x1(()=>{EX1();EX1()});var wX1=x1(()=>{Fc1()});function Ec1(A){return new Promise((Q)=>setTimeout(Q,A))}function CT(){return new Promise((A)=>setTimeout(A,0))}import HUA from"node:fs";import rV from"path";function Wc1(A){return Boolean(A["jetbrains.enabled"])&&Boolean($w)}async function cK(A){try{return await IUA(A)}catch(Q){return k1.error("jetbrains-mcp: uncaught error checking enablement",{error:Q instanceof Error?Q.message:String(Q)}),!1}}async function IUA(A){if(!A["jetbrains.enabled"])return k1.error('JetBrains is disabled because the setting "jetbrains.enabled" is set to false'),!1;let Q=await CUA(),B=Q!==void 0&&rV.resolve(Q)===rV.resolve(process.cwd());if(!B)k1.warn("jetbrains-mcp: current workspace does not match JetBrains project",{workspaceRoot:Q,processCwd:process.cwd()});return B}async function fy(A){let Q=rV.relative(process.cwd(),A);return await fw("get_file_text_by_path",{pathInProject:Q},M4.string())}async function Ic1(A){let Q=await fw("open_file_in_editor",{filePath:A},M4.enum(["file is opened"]));return Boolean(Q)}async function Ta(A,Q){let B=await SUA(A,Q),J=await Pa();if(J===void 0)return;let D=rV.relative(A,J),z=await PUA(B,D),Z=[];for(let X of z.slice(0,WUA))try{let K=await NUA(X);Z.push(...K??[])}catch(K){k1.error("jetbrains-mcp: failed to get errors for a single file",{pathInProject:X,error:K})}return await Ic1(J),Z}async function NUA(A){if(!await Ic1(A)){k1.error("jetbrains-mcp: failed to open file in editor",{pathInProject:A});return}let Q=await fy(A);if(!Q)return;await Ec1(MUA);let B=await fw("get_current_file_errors",{},M4.string());if(!B)return;let J=Tm1.parse(B),D=M4.array(M4.object({filePath:M4.string(),severity:M4.string(),description:M4.string(),lineContent:M4.string()})).safeParse(J);if(D.error){k1.error("jetbrains-mcp: error parsing diagnostics from the server",M4.prettifyError(D.error),B);return}let z=Q.split(`
2959
2959
  `);return D.data.map((Z)=>({message:Z.description,path:Z.filePath,range:{type:"legacy",start:{line:z.indexOf(Z.lineContent)??0}},severity:OUA(Z.severity),source:"jetbrains"}))}async function Nc1(){return fw("get_selected_in_editor_text",{},M4.string())}async function ja(A){await fw("replace_file_text_by_path",A,M4.enum(["ok"]))}async function Cc1(){return fw("get_open_in_editor_file_text",{},M4.string())}async function MX1(){return fw("get_all_open_file_paths",{},M4.string().transform((A)=>A.split(`
2960
- `)))}async function Pa(){return fw("get_open_in_editor_file_path",{},M4.string())}async function CUA(){return VUA().catch(()=>{return})}async function VUA(){if(await TUA(),!$w)return;let A=await Pa();if(!A)return;let Q=await MX1()??[];for(let B of Q)if(A.endsWith(B))return rV.resolve(A.slice(0,-B.length))}async function fw(A,Q,B){if(k1.debug("jetbrains-mcp: handling tool call",{name:A,args:Q}),!$w)throw new Error("No working IDE endpoint available.");let J=await fetch(`${$w}/mcp/${A}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Q)});if(!J.ok)throw k1.error("jetbrains-mcp: Response failed with status",{status:J.status,tool:A}),new Error(`Response failed: ${J.status}`);let{status:D,error:z}=await J.json();if(k1.debug("jetbrains-mcp response",{status:D,error:z}),z)throw new Error(JSON.stringify({error:z,toolName:A,args:Q},null,2));let Z=B.safeParse(D);if(Z.error)k1.error("jetbrains-mcp: error parsing response",{status:D,error:M4.prettifyError(Z.error)});return Z.data}async function HX1(A){let Q=`${A}/mcp/list_tools`;k1.debug("jetbrains-mcp: sending test request",{endpoint:Q});try{let B=await fetch(Q);if(!B.ok)return k1.error("jetbrains-mcp: test request failed",{endpoint:Q,status:B.status}),!1;let J=await B.text();if(k1.debug("jetbrains-mcp: received response",{endpoint:Q,response:J.substring(0,100)}),_a!==null&&_a!==J)k1.debug("jetbrains-mcp: response has changed since the last check"),LUA.next();return _a=J,!0}catch(B){return!1}}function OUA(A){A=A.toLowerCase();for(let Q of Oc1)if(A.includes(Q))return Q;return"error"}async function _UA(){if(k1.debug("jetbrains-mcp: attempting to find a working IDE endpoint..."),VT){k1.debug("jetbrains-mcp: testing JETBRAINS_IDE_PORT environment variable",{port:VT});let A=`http://${wc1}:${VT}/api`;if(await HX1(A))return k1.debug(`JETBRAINS_IDE_PORT ${VT} is working.`),A;else throw k1.error(`Specified JETBRAINS_IDE_PORT=${VT} but it is not responding correctly.`),new Error(`Specified JETBRAINS_IDE_PORT=${VT} but it is not responding correctly.`)}if($w!=null&&await HX1($w))return k1.debug("Using cached endpoint, it's still working"),$w;for(let A=63342;A<=63352;A++){let Q=`http://${wc1}:${A}/api`;if(k1.debug(`Testing port ${A}...`),await HX1(Q))return k1.debug(`Found working IDE endpoint at ${Q}`),Q;else k1.debug(`Port ${A} is not responding correctly.`)}_a="",k1.error("No working IDE endpoint found in range 63342-63352")}async function TUA(){if(Date.now()-Hc1<RUA)return;if(Mc1>3)return;Hc1=Date.now();try{let A=await _UA();if(A)return $w=A,k1.debug("jetbrains-mcp: updated cachedEndpoint",{cachedEndpoint:$w}),A}catch(A){k1.error("Failed to update IDE endpoint:",A)}Mc1++}async function jUA(A){let Q=await fw("list_files_in_folder",{pathInProject:A},M4.string());if(!Q)return[];let B=JSON.parse(Q),J=M4.array(M4.object({path:M4.string(),type:M4.string()})).safeParse(B);if(J.error)throw new Error(`error parsing list_files_in_folder data: ${JSON.stringify({data:B,error:M4.prettifyError(J.error)},null,2)}`);return J.data.filter(({type:D})=>D==="file").map(({path:D})=>D)}async function PUA(A,Q){if(A.type==="file")return[A.pathInProject];let B=await jUA(A.pathInProject);if(B.includes(Q))return[Q,...B.filter((J)=>J!==Q)];return B}async function SUA(A,Q){let B=rV.resolve(A,Q),J=await HUA.promises.stat(B),D=J.isFile()?"file":J.isDirectory()?"directory":"unknown";if(D==="unknown")throw new Error(`Not a file and not a directory: ${JSON.stringify({dir:A,relativeOrAbsolutePath:Q,absolutePath:B,stat:J})}`);return{type:D,pathInProject:rV.relative(A,B)}}function Vc1(A){let Q=process.env[A];if(Q){let B=Number.parseInt(Q);if(Number.isFinite(B))return B}}var wc1,VT,MUA,WUA,$w=null,Hc1=0,RUA=1e4,_a=null,LUA,Mc1=0;var pW=x1(()=>{D2();jm1();wX1();$2();kw();wc1=process.env.JETBRAINS_HOST??"127.0.0.1",VT=process.env.JETBRAINS_IDE_PORT,MUA=Vc1("JETBRAINS_DIAGNOSTIC_TIMEOUT")??1000,WUA=Vc1("JETBRAINS_DIAGNOSTIC_MAX_FILE_COUNT")??5;LUA=new C8});var Rc1=({args:A},{config:Q,filesystem:B,dir:J,dirs:D})=>{return N9(async()=>{if(y5(J),!await cK(Q.settings))return{status:"error",error:{message:`JetBrains MCP plugin is either not running, or the open JetBrains project does not match the workspace directory '${J.fsPath}'`}};return{status:"done",result:await Ta(J.fsPath,A.path)??[]}})};var Lc1=x1(()=>{D2();pW();Ez()});var jc1={};J2(jc1,{lspGetDiagnosticsTool:()=>fUA,getLSPManager:()=>OT,convertLSPSeverity:()=>_c1,convertLSPDiagnostic:()=>Sa});import{stat as vUA}from"node:fs/promises";import $UA from"node:path";function OT(){if(!oV)oV=new hW;return oV}function _c1(A){switch(A){case 1:return"error";case 2:return"warning";case 3:return"info";case 4:return"hint";default:return"error"}}function Sa(A,Q){return{path:Q,message:A.message,severity:_c1(A.severity),source:A.source,range:{type:"full",start:{line:A.range.start.line,character:A.range.start.character},end:{line:A.range.end.line,character:A.range.end.character}}}}var oV=null,fUA=(A,Q)=>{let{args:B}=A;return N9(async()=>{if(await cK(Q.config.settings))return l6(Rc1(A,Q));let{path:J}=B;try{if(!await hW.isLSPEnabled())throw new Error("LSP is disabled");let D=$UA.resolve(J),z=await vUA(D);if(!z.isFile()&&!z.isDirectory())throw new Error(`Path ${J} is neither a file nor a directory`);let X=await OT().getDiagnostics(D),K=[];for(let G of X)for(let q of G.diagnostics)K.push(Sa(q,G.filePath));return{status:"done",result:K}}catch(D){let z=D instanceof Error?D.message:String(D);throw k1.error(`LSP diagnostics tool failed for path ${J}`,D),new Error(`Failed to get diagnostics: ${z}`)}})},Tc1=async()=>{if(process.removeListener("SIGINT",Tc1),oV)oV.stopAllServers().catch(()=>{});process.kill(process.pid,"SIGINT")};var va=x1(()=>{D2();$2();pB1();pW();Lc1();process.on("exit",()=>{if(oV)oV.stopAllServers().catch(()=>{})});process.prependListener("SIGINT",Tc1)});function Pc1(A){let Q={error:0,warning:1,info:2,hint:3};return[...A].sort((B,J)=>{let D=Q[B.severity]??4,z=Q[J.severity]??4;return D-z})}var Oc1,kq="get_diagnostics",$a;var kw=x1(()=>{Oc1=["error","warning","info","hint"];$a={spec:{name:kq,description:"Get the diagnostics (errors, warnings, etc.) for a file or directory (prefer running for directories rather than files one by one!) Output is shown in the UI so do not repeat/summarize the diagnostics.",inputSchema:{type:"object",properties:{path:{type:"string",description:"The path to the file or directory to get the diagnostics for"}},required:["path"]},source:"builtin"},fn:Promise.resolve().then(() => (va(),jc1)).then(({lspGetDiagnosticsTool:A})=>A)}});function FZ(A){return["done","error","rejected-by-user","cancelled"].includes(A.status)}function yq(){let A=[],Q=new C8;function B(D,z){let Z=A.filter((X)=>X.spec.name===D);for(let X of Z)if(ky(X.spec,z).enabled)return X;return}function J(D,z,Z){if(!D)throw new Error("spec is required");let X={spec:D,fn:Promise.resolve(z),preprocessArgs:Z};return A.push(X),Q.next(),{dispose:()=>{let K=A.indexOf(X);if(K!==-1)A.splice(K,1),Q.next()}}}return{registerTool({spec:D,fn:z,preprocessArgs:Z}){if(!z)return kUA;return J(D,z,Z)},tools:w7(r8,Q.pipe(CB(void 0))).pipe(r6(([D])=>{return A.map((z)=>({spec:z.spec,...ky(z.spec,D)})).sort((z,Z)=>z.spec.name.localeCompare(Z.spec.name))})),invokeTool(D,z,Z){let X=performance.now(),K=()=>gUA.record(performance.now()-X,{toolName:D});if(D===WX1&&z.args&&"invalid_tool_name"in z.args&&typeof z.args.invalid_tool_name==="string"){fa.add(1,{toolName:D,error:"invalid"});let q=yUA(z.args.invalid_tool_name);return new UA((Y)=>{Y.error(new Error(q))})}let G=B(D,Z.config);if(!G){let q=A.filter((w)=>w.spec.name===D);if(q.length===0)return fa.add(1,{toolName:D,error:"not_found"}),new UA((w)=>{w.error(new Error(`tool ${JSON.stringify(D)} not found`))});let Y=q[0],F=ky(Y.spec,Z.config);fa.add(1,{toolName:D,error:"disabled"});let E=F.enabled?"unknown":F.disabledReason;return new UA((w)=>{w.error(new Error(`tool ${JSON.stringify(D)} is disabled: ${E}`))})}return fa.add(1,{toolName:D}),N9(()=>G.fn).pipe(W5((q)=>{if(G.spec.meta?.disableTimeout)return q(z,Z);return Rh1(q(z,Z),Vh1())}),qZ(()=>K()))},preprocessArgs(D,z,Z){let X=B(D,Z.config);if(!X||!X.preprocessArgs)return;let K=X.preprocessArgs;try{return K(z,Z)}catch(G){k1.error("preprocessArgs",{id:D,args:z,error:String(G)});return}},dispose(){}}}function ky(A,Q){let B=Q.settings?.["tools.disable"]??[];if(B.includes(A.name))return{enabled:!1,disabledReason:"settings"};if(typeof A.source==="object"&&"mcp"in A.source){let[,J,D]=A.name.split(/mcp__([^ ]+)__([^ ]+)/);if(J&&D&&A.source.mcp===J&&B.includes(D))return{enabled:!1,disabledReason:"settings"}}if(A.source==="builtin"&&B.includes(`builtin:${A.name}`))return{enabled:!1,disabledReason:"settings"};if(A.name===_Q||A.name===uK){if(Q.settings?.["todos.enabled"])return{enabled:!0};return{enabled:!1,disabledReason:"feature-flag"}}if(A.name===kq){let J=Q.settings["lsp.enabled"]||Q.settings["jetbrains.enabled"];if(k1.info("Checking LSP diagnostics tool feature flag",{isDiagnosticToolEnabled:J}),J)return{enabled:!0};return{enabled:!1,disabledReason:"feature-flag"}}return{enabled:!0}}function yUA(A){return`Invalid tool name ${JSON.stringify(A)}. Tool names must match the pattern ${IX1.toString()}. Try again with a valid tool name.`}var Sc1,kUA,WX1="invalid_tool",IX1,vc1,fa,gUA;var lK=x1(()=>{D2();$2();Oh1();VD();Lh1();Sc1=G6(zT(),1);kw();uV();kUA={dispose(){}};IX1=/^[a-zA-Z0-9_]{1,64}$/,vc1=Sc1.metrics.getMeter("tool_service"),fa=vc1.createCounter("tool_service.invocation_count",{description:"Number of tool invocations"}),gUA=vc1.createHistogram("tool_service.invocation_latency",{description:"Latency of tool invocations",unit:"ms"})});function RD(A,...Q){throw new Error(`[Immer] minified error nr: ${A}. Full error at: https://bit.ly/3cXEKWf`)}function AO(A){return!!A&&!!A[_X]}function cW(A){if(!A)return!1;return gc1(A)||Array.isArray(A)||!!A[yy]||!!A.constructor?.[yy]||my(A)||uy(A)}function gc1(A){if(!A||typeof A!=="object")return!1;let Q=eV(A);if(Q===null)return!0;let B=Object.hasOwnProperty.call(Q,"constructor")&&Q.constructor;if(B===Object)return!0;return typeof B=="function"&&Function.toString.call(B)===bUA}function gy(A,Q){if(QO(A)===0)Reflect.ownKeys(A).forEach((B)=>{Q(B,A[B],A)});else A.forEach((B,J)=>Q(J,B,A))}function QO(A){let Q=A[_X];return Q?Q.type_:Array.isArray(A)?1:my(A)?2:uy(A)?3:0}function by(A,Q){return QO(A)===2?A.has(Q):Object.prototype.hasOwnProperty.call(A,Q)}function NX1(A,Q){return QO(A)===2?A.get(Q):A[Q]}function bc1(A,Q,B){let J=QO(A);if(J===2)A.set(Q,B);else if(J===3)A.add(B);else A[Q]=B}function xUA(A,Q){if(A===Q)return A!==0||1/A===1/Q;else return A!==A&&Q!==Q}function my(A){return A instanceof Map}function uy(A){return A instanceof Set}function tV(A){return A.copy_||A.base_}function OX1(A,Q){if(my(A))return new Map(A);if(uy(A))return new Set(A);if(Array.isArray(A))return Array.prototype.slice.call(A);let B=gc1(A);if(Q===!0||Q==="class_only"&&!B){let J=Object.getOwnPropertyDescriptors(A);delete J[_X];let D=Reflect.ownKeys(J);for(let z=0;z<D.length;z++){let Z=D[z],X=J[Z];if(X.writable===!1)X.writable=!0,X.configurable=!0;if(X.get||X.set)J[Z]={configurable:!0,writable:!0,enumerable:X.enumerable,value:A[Z]}}return Object.create(eV(A),J)}else{let J=eV(A);if(J!==null&&B)return{...A};let D=Object.create(J);return Object.assign(D,A)}}function RT(A,Q=!1){if(ga(A)||AO(A)||!cW(A))return A;if(QO(A)>1)A.set=A.add=A.clear=A.delete=hUA;if(Object.freeze(A),Q)Object.entries(A).forEach(([B,J])=>RT(J,!0));return A}function hUA(){RD(2)}function ga(A){return Object.isFrozen(A)}function BO(A){let Q=RX1[A];if(!Q)RD(0,A);return Q}function mUA(A,Q){if(!RX1[A])RX1[A]=Q}function xc1(){return xy}function uUA(A,Q){return{drafts_:[],parent_:A,immer_:Q,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function $c1(A,Q){if(Q)BO("Patches"),A.patches_=[],A.inversePatches_=[],A.patchListener_=Q}function LX1(A){_X1(A),A.drafts_.forEach(pUA),A.drafts_=null}function _X1(A){if(A===xy)xy=A.parent_}function fc1(A){return xy=uUA(xy,A)}function pUA(A){let Q=A[_X];if(Q.type_===0||Q.type_===1)Q.revoke_();else Q.revoked_=!0}function kc1(A,Q){Q.unfinalizedDrafts_=Q.drafts_.length;let B=Q.drafts_[0];if(A!==void 0&&A!==B){if(B[_X].modified_)LX1(Q),RD(4);if(cW(A)){if(A=ka(Q,A),!Q.parent_)ya(Q,A)}if(Q.patches_)BO("Patches").generateReplacementPatches_(B[_X].base_,A,Q.patches_,Q.inversePatches_)}else A=ka(Q,B,[]);if(LX1(Q),Q.patches_)Q.patchListener_(Q.patches_,Q.inversePatches_);return A!==PX1?A:void 0}function ka(A,Q,B){if(ga(Q))return Q;let J=Q[_X];if(!J)return gy(Q,(D,z)=>yc1(A,J,Q,D,z,B)),Q;if(J.scope_!==A)return Q;if(!J.modified_)return ya(A,J.base_,!0),J.base_;if(!J.finalized_){J.finalized_=!0,J.scope_.unfinalizedDrafts_--;let D=J.copy_,z=D,Z=!1;if(J.type_===3)z=new Set(D),D.clear(),Z=!0;if(gy(z,(X,K)=>yc1(A,J,D,X,K,B,Z)),ya(A,D,!1),B&&A.patches_)BO("Patches").generatePatches_(J,B,A.patches_,A.inversePatches_)}return J.copy_}function yc1(A,Q,B,J,D,z,Z){if(AO(D)){let X=z&&Q&&Q.type_!==3&&!by(Q.assigned_,J)?z.concat(J):void 0,K=ka(A,D,X);if(bc1(B,J,K),AO(K))A.canAutoFreeze_=!1;else return}else if(Z)B.add(D);if(cW(D)&&!ga(D)){if(!A.immer_.autoFreeze_&&A.unfinalizedDrafts_<1)return;if(ka(A,D),(!Q||!Q.scope_.parent_)&&typeof J!=="symbol"&&Object.prototype.propertyIsEnumerable.call(B,J))ya(A,D)}}function ya(A,Q,B=!1){if(!A.parent_&&A.immer_.autoFreeze_&&A.canAutoFreeze_)RT(Q,B)}function cUA(A,Q){let B=Array.isArray(A),J={type_:B?1:0,scope_:Q?Q.scope_:xc1(),modified_:!1,finalized_:!1,assigned_:{},parent_:Q,base_:A,draft_:null,copy_:null,revoke_:null,isManual_:!1},D=J,z=SX1;if(B)D=[J],z=hy;let{revoke:Z,proxy:X}=Proxy.revocable(D,z);return J.draft_=X,J.revoke_=Z,X}function CX1(A,Q){let B=A[_X];return(B?tV(B):A)[Q]}function lUA(A,Q,B){let J=hc1(Q,B);return J?"value"in J?J.value:J.get?.call(A.draft_):void 0}function hc1(A,Q){if(!(Q in A))return;let B=eV(A);while(B){let J=Object.getOwnPropertyDescriptor(B,Q);if(J)return J;B=eV(B)}return}function TX1(A){if(!A.modified_){if(A.modified_=!0,A.parent_)TX1(A.parent_)}}function VX1(A){if(!A.copy_)A.copy_=OX1(A.base_,A.scope_.immer_.useStrictShallowCopy_)}function jX1(A,Q){let B=my(A)?BO("MapSet").proxyMap_(A,Q):uy(A)?BO("MapSet").proxySet_(A,Q):cUA(A,Q);return(Q?Q.scope_:xc1()).drafts_.push(B),B}function iUA(A){if(!AO(A))RD(10,A);return mc1(A)}function mc1(A){if(!cW(A)||ga(A))return A;let Q=A[_X],B;if(Q){if(!Q.modified_)return Q.base_;Q.finalized_=!0,B=OX1(A,Q.scope_.immer_.useStrictShallowCopy_)}else B=OX1(A,!0);if(gy(B,(J,D)=>{bc1(B,J,mc1(D))}),Q)Q.finalized_=!1;return B}function ba(){let Q="replace",B="add",J="remove";function D(F,E,w,H){switch(F.type_){case 0:case 2:return Z(F,E,w,H);case 1:return z(F,E,w,H);case 3:return X(F,E,w,H)}}function z(F,E,w,H){let{base_:M,assigned_:W}=F,I=F.copy_;if(I.length<M.length)[M,I]=[I,M],[w,H]=[H,w];for(let N=0;N<M.length;N++)if(W[N]&&I[N]!==M[N]){let V=E.concat([N]);w.push({op:Q,path:V,value:Y(I[N])}),H.push({op:Q,path:V,value:Y(M[N])})}for(let N=M.length;N<I.length;N++){let V=E.concat([N]);w.push({op:B,path:V,value:Y(I[N])})}for(let N=I.length-1;M.length<=N;--N){let V=E.concat([N]);H.push({op:J,path:V})}}function Z(F,E,w,H){let{base_:M,copy_:W}=F;gy(F.assigned_,(I,N)=>{let V=NX1(M,I),_=NX1(W,I),T=!N?J:by(M,I)?Q:B;if(V===_&&T===Q)return;let R=E.concat(I);w.push(T===J?{op:T,path:R}:{op:T,path:R,value:_}),H.push(T===B?{op:J,path:R}:T===J?{op:B,path:R,value:Y(V)}:{op:Q,path:R,value:Y(V)})})}function X(F,E,w,H){let{base_:M,copy_:W}=F,I=0;M.forEach((N)=>{if(!W.has(N)){let V=E.concat([I]);w.push({op:J,path:V,value:N}),H.unshift({op:B,path:V,value:N})}I++}),I=0,W.forEach((N)=>{if(!M.has(N)){let V=E.concat([I]);w.push({op:B,path:V,value:N}),H.unshift({op:J,path:V,value:N})}I++})}function K(F,E,w,H){w.push({op:Q,path:[],value:E===PX1?void 0:E}),H.push({op:Q,path:[],value:F})}function G(F,E){return E.forEach((w)=>{let{path:H,op:M}=w,W=F;for(let _=0;_<H.length-1;_++){let T=QO(W),R=H[_];if(typeof R!=="string"&&typeof R!=="number")R=""+R;if((T===0||T===1)&&(R==="__proto__"||R==="constructor"))RD(19);if(typeof W==="function"&&R==="prototype")RD(19);if(W=NX1(W,R),typeof W!=="object")RD(18,H.join("/"))}let I=QO(W),N=q(w.value),V=H[H.length-1];switch(M){case Q:switch(I){case 2:return W.set(V,N);case 3:RD(16);default:return W[V]=N}case B:switch(I){case 1:return V==="-"?W.push(N):W.splice(V,0,N);case 2:return W.set(V,N);case 3:return W.add(N);default:return W[V]=N}case J:switch(I){case 1:return W.splice(V,1);case 2:return W.delete(V);case 3:return W.delete(w.value);default:return delete W[V]}default:RD(17,M)}}),F}function q(F){if(!cW(F))return F;if(Array.isArray(F))return F.map(q);if(my(F))return new Map(Array.from(F.entries()).map(([w,H])=>[w,q(H)]));if(uy(F))return new Set(Array.from(F).map(q));let E=Object.create(eV(F));for(let w in F)E[w]=q(F[w]);if(by(F,yy))E[yy]=F[yy];return E}function Y(F){if(AO(F))return q(F);else return F}mUA("Patches",{applyPatches_:G,generatePatches_:D,generateReplacementPatches_:K})}function z5(A){return A}function $X1(A){return A}var PX1,yy,_X,eV,bUA,RX1,xy,SX1,hy,dUA=class{constructor(A){if(this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(Q,B,J)=>{if(typeof Q==="function"&&typeof B!=="function"){let z=B;B=Q;let Z=this;return function X(K=z,...G){return Z.produce(K,(q)=>B.call(this,q,...G))}}if(typeof B!=="function")RD(6);if(J!==void 0&&typeof J!=="function")RD(7);let D;if(cW(Q)){let z=fc1(this),Z=jX1(Q,void 0),X=!0;try{D=B(Z),X=!1}finally{if(X)LX1(z);else _X1(z)}return $c1(z,J),kc1(D,z)}else if(!Q||typeof Q!=="object"){if(D=B(Q),D===void 0)D=Q;if(D===PX1)D=void 0;if(this.autoFreeze_)RT(D,!0);if(J){let z=[],Z=[];BO("Patches").generateReplacementPatches_(Q,D,z,Z),J(z,Z)}return D}else RD(1,Q)},this.produceWithPatches=(Q,B)=>{if(typeof Q==="function")return(Z,...X)=>this.produceWithPatches(Z,(K)=>Q(K,...X));let J,D;return[this.produce(Q,B,(Z,X)=>{J=Z,D=X}),J,D]},typeof A?.autoFreeze==="boolean")this.setAutoFreeze(A.autoFreeze);if(typeof A?.useStrictShallowCopy==="boolean")this.setUseStrictShallowCopy(A.useStrictShallowCopy)}createDraft(A){if(!cW(A))RD(8);if(AO(A))A=iUA(A);let Q=fc1(this),B=jX1(A,void 0);return B[_X].isManual_=!0,_X1(Q),B}finishDraft(A,Q){let B=A&&A[_X];if(!B||!B.isManual_)RD(9);let{scope_:J}=B;return $c1(J,Q),kc1(void 0,J)}setAutoFreeze(A){this.autoFreeze_=A}setUseStrictShallowCopy(A){this.useStrictShallowCopy_=A}applyPatches(A,Q){let B;for(B=Q.length-1;B>=0;B--){let D=Q[B];if(D.path.length===0&&D.op==="replace"){A=D.value;break}}if(B>-1)Q=Q.slice(B+1);let J=BO("Patches").applyPatches_;if(AO(A))return J(A,Q);return this.produce(A,(D)=>J(D,Q))}},TX,py,vX1,u92,p92,aUA,c92,l92;var gq=x1(()=>{PX1=Symbol.for("immer-nothing"),yy=Symbol.for("immer-draftable"),_X=Symbol.for("immer-state");eV=Object.getPrototypeOf;bUA=Object.prototype.constructor.toString();RX1={};SX1={get(A,Q){if(Q===_X)return A;let B=tV(A);if(!by(B,Q))return lUA(A,B,Q);let J=B[Q];if(A.finalized_||!cW(J))return J;if(J===CX1(A.base_,Q))return VX1(A),A.copy_[Q]=jX1(J,A);return J},has(A,Q){return Q in tV(A)},ownKeys(A){return Reflect.ownKeys(tV(A))},set(A,Q,B){let J=hc1(tV(A),Q);if(J?.set)return J.set.call(A.draft_,B),!0;if(!A.modified_){let D=CX1(tV(A),Q),z=D?.[_X];if(z&&z.base_===B)return A.copy_[Q]=B,A.assigned_[Q]=!1,!0;if(xUA(B,D)&&(B!==void 0||by(A.base_,Q)))return!0;VX1(A),TX1(A)}if(A.copy_[Q]===B&&(B!==void 0||(Q in A.copy_))||Number.isNaN(B)&&Number.isNaN(A.copy_[Q]))return!0;return A.copy_[Q]=B,A.assigned_[Q]=!0,!0},deleteProperty(A,Q){if(CX1(A.base_,Q)!==void 0||Q in A.base_)A.assigned_[Q]=!1,VX1(A),TX1(A);else delete A.assigned_[Q];if(A.copy_)delete A.copy_[Q];return!0},getOwnPropertyDescriptor(A,Q){let B=tV(A),J=Reflect.getOwnPropertyDescriptor(B,Q);if(!J)return J;return{writable:!0,configurable:A.type_!==1||Q!=="length",enumerable:J.enumerable,value:B[Q]}},defineProperty(){RD(11)},getPrototypeOf(A){return eV(A.base_)},setPrototypeOf(){RD(12)}},hy={};gy(SX1,(A,Q)=>{hy[A]=function(){return arguments[0]=arguments[0][0],Q.apply(this,arguments)}});hy.deleteProperty=function(A,Q){return hy.set.call(this,A,Q,void 0)};hy.set=function(A,Q,B){return SX1.set.call(this,A[0],Q,B,A[0])};TX=new dUA,py=TX.produce,vX1=TX.produceWithPatches.bind(TX),u92=TX.setAutoFreeze.bind(TX),p92=TX.setUseStrictShallowCopy.bind(TX),aUA=TX.applyPatches.bind(TX),c92=TX.createDraft.bind(TX),l92=TX.finishDraft.bind(TX)});function yw(){return`T-${crypto.randomUUID()}`}function JO(A){return A.startsWith("T-")}function uc1(){return`toolu_${crypto.randomUUID()}`}function xa(A){for(let Q=A.messages.length-1;Q>=0;Q--){let B=A.messages[Q];if(B?.role==="info"){let J=B.content[0];if(J?.type==="summary"&&J?.summary.type==="message")return}if(B?.role==="assistant"&&B.usage)return B.usage}return A["~debug"]?.lastInferenceUsage}function y7(A,Q){for(let B of A.messages){if(B.role!=="assistant")continue;for(let J of B.content)if(J.type==="tool_use"&&J.id===Q)return J}return}function fX1(A,Q){for(let[B,J]of A.messages.entries()){if(J.role!=="assistant")continue;for(let[D,z]of J.content.entries())if(z.type==="tool_use"&&z.id===Q)return{message:J,messageIndex:B,block:z,blockIndex:D}}return null}function cy(A,Q){for(let B of A.messages){if(B.role!=="user")continue;for(let J of B.content)if(J.type==="tool_result"&&J.toolUseID===Q)return J}return}function gw(A){return A.messages.filter((Q)=>Q.role==="user").flatMap((Q)=>Q.content).filter((Q)=>Q.type==="tool_result").reduce((Q,B)=>{return Q.set(B.toolUseID,B),Q},new Map)}function ly(A){if(A&&typeof A==="object"&&"threadID"in A){let Q=A.threadID;if(typeof Q==="string"&&JO(Q))return Q}return}function ha(A){if(!A)return!1;if(A.role==="assistant")return A.state?.type==="cancelled";if(A.role==="user")return A.content.some((Q)=>Q.type==="tool_result"&&Q.run.status==="cancelled");return!1}function kX1(A){if(!A)return!1;return A.role==="info"}function nUA(A){return A.replace(/u([0-9A-Fa-f]{4})(\s)/gi,(Q,B,J)=>{try{return String.fromCodePoint(parseInt(B,16))+J}catch{return`u${B}${J}`}})}function ma(A){for(let Q=A.messages.length-1;Q>=0;Q--){let B=A.messages[Q];if(B?.role==="info"){if(B.content.some((D)=>D.type==="summary"&&D.summary.type==="message"))break}if(B?.role!=="assistant"||!B.state||B.state.type!=="complete"||B.state.stopReason!=="tool_use")continue;for(let J of B.content)if(J.type==="tool_use"&&J.name===_Q&&J.input){let D=J.input.todos;if(Array.isArray(D))return D;let z=J.input.content;if(typeof z==="string")return nUA(z)}}return}function LT(A){return A.map((Q)=>Q.type==="text"?Q.text:null).filter((Q)=>Q!==null).join(`
2960
+ `)))}async function Pa(){return fw("get_open_in_editor_file_path",{},M4.string())}async function CUA(){return VUA().catch(()=>{return})}async function VUA(){if(await TUA(),!$w)return;let A=await Pa();if(!A)return;let Q=await MX1()??[];for(let B of Q)if(A.endsWith(B))return rV.resolve(A.slice(0,-B.length))}async function fw(A,Q,B){if(k1.debug("jetbrains-mcp: handling tool call",{name:A,args:Q}),!$w)throw new Error("No working IDE endpoint available.");let J=await fetch(`${$w}/mcp/${A}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Q)});if(!J.ok)throw k1.error("jetbrains-mcp: Response failed with status",{status:J.status,tool:A}),new Error(`Response failed: ${J.status}`);let{status:D,error:z}=await J.json();if(k1.debug("jetbrains-mcp response",{status:D,error:z}),z)throw new Error(JSON.stringify({error:z,toolName:A,args:Q},null,2));let Z=B.safeParse(D);if(Z.error)k1.error("jetbrains-mcp: error parsing response",{status:D,error:M4.prettifyError(Z.error)});return Z.data}async function HX1(A){let Q=`${A}/mcp/list_tools`;k1.debug("jetbrains-mcp: sending test request",{endpoint:Q});try{let B=await fetch(Q);if(!B.ok)return k1.error("jetbrains-mcp: test request failed",{endpoint:Q,status:B.status}),!1;let J=await B.text();if(k1.debug("jetbrains-mcp: received response",{endpoint:Q,response:J.substring(0,100)}),_a!==null&&_a!==J)k1.debug("jetbrains-mcp: response has changed since the last check"),LUA.next();return _a=J,!0}catch(B){return!1}}function OUA(A){A=A.toLowerCase();for(let Q of Oc1)if(A.includes(Q))return Q;return"error"}async function _UA(){if(k1.debug("jetbrains-mcp: attempting to find a working IDE endpoint..."),VT){k1.debug("jetbrains-mcp: testing JETBRAINS_IDE_PORT environment variable",{port:VT});let A=`http://${wc1}:${VT}/api`;if(await HX1(A))return k1.debug(`JETBRAINS_IDE_PORT ${VT} is working.`),A;else throw k1.error(`Specified JETBRAINS_IDE_PORT=${VT} but it is not responding correctly.`),new Error(`Specified JETBRAINS_IDE_PORT=${VT} but it is not responding correctly.`)}if($w!=null&&await HX1($w))return k1.debug("Using cached endpoint, it's still working"),$w;for(let A=63342;A<=63352;A++){let Q=`http://${wc1}:${A}/api`;if(k1.debug(`Testing port ${A}...`),await HX1(Q))return k1.debug(`Found working IDE endpoint at ${Q}`),Q;else k1.debug(`Port ${A} is not responding correctly.`)}_a="",k1.error("No working IDE endpoint found in range 63342-63352")}async function TUA(){if(Date.now()-Hc1<RUA)return;if(Mc1>3)return;Hc1=Date.now();try{let A=await _UA();if(A)return $w=A,k1.debug("jetbrains-mcp: updated cachedEndpoint",{cachedEndpoint:$w}),A}catch(A){k1.error("Failed to update IDE endpoint:",A)}Mc1++}async function jUA(A){let Q=await fw("list_files_in_folder",{pathInProject:A},M4.string());if(!Q)return[];let B=JSON.parse(Q),J=M4.array(M4.object({path:M4.string(),type:M4.string()})).safeParse(B);if(J.error)throw new Error(`error parsing list_files_in_folder data: ${JSON.stringify({data:B,error:M4.prettifyError(J.error)},null,2)}`);return J.data.filter(({type:D})=>D==="file").map(({path:D})=>D)}async function PUA(A,Q){if(A.type==="file")return[A.pathInProject];let B=await jUA(A.pathInProject);if(B.includes(Q))return[Q,...B.filter((J)=>J!==Q)];return B}async function SUA(A,Q){let B=rV.resolve(A,Q),J=await HUA.promises.stat(B),D=J.isFile()?"file":J.isDirectory()?"directory":"unknown";if(D==="unknown")throw new Error(`Not a file and not a directory: ${JSON.stringify({dir:A,relativeOrAbsolutePath:Q,absolutePath:B,stat:J})}`);return{type:D,pathInProject:rV.relative(A,B)}}function Vc1(A){let Q=process.env[A];if(Q){let B=Number.parseInt(Q);if(Number.isFinite(B))return B}}var wc1,VT,MUA,WUA,$w=null,Hc1=0,RUA=1e4,_a=null,LUA,Mc1=0;var pW=x1(()=>{D2();jm1();wX1();$2();kw();wc1=process.env.JETBRAINS_HOST??"127.0.0.1",VT=process.env.JETBRAINS_IDE_PORT,MUA=Vc1("JETBRAINS_DIAGNOSTIC_TIMEOUT")??1000,WUA=Vc1("JETBRAINS_DIAGNOSTIC_MAX_FILE_COUNT")??5;LUA=new C8});var Rc1=({args:A},{config:Q,filesystem:B,dir:J,dirs:D})=>{return N9(async()=>{if(y5(J),!await cK(Q.settings))return{status:"error",error:{message:`JetBrains MCP plugin is either not running, or the open JetBrains project does not match the workspace directory '${J.fsPath}'`}};return{status:"done",result:await Ta(J.fsPath,A.path)??[]}})};var Lc1=x1(()=>{D2();pW();Ez()});var jc1={};J2(jc1,{lspGetDiagnosticsTool:()=>fUA,getLSPManager:()=>OT,convertLSPSeverity:()=>_c1,convertLSPDiagnostic:()=>Sa});import{stat as vUA}from"node:fs/promises";import $UA from"node:path";function OT(){if(!oV)oV=new hW;return oV}function _c1(A){switch(A){case 1:return"error";case 2:return"warning";case 3:return"info";case 4:return"hint";default:return"error"}}function Sa(A,Q){return{path:Q,message:A.message,severity:_c1(A.severity),source:A.source,range:{type:"full",start:{line:A.range.start.line,character:A.range.start.character},end:{line:A.range.end.line,character:A.range.end.character}}}}var oV=null,fUA=(A,Q)=>{let{args:B}=A;return N9(async()=>{if(await cK(Q.config.settings))return l6(Rc1(A,Q));let{path:J}=B;try{if(!await hW.isLSPEnabled())throw new Error("LSP is disabled");let D=$UA.resolve(J),z=await vUA(D);if(!z.isFile()&&!z.isDirectory())throw new Error(`Path ${J} is neither a file nor a directory`);let X=await OT().getDiagnostics(D),K=[];for(let G of X)for(let q of G.diagnostics)K.push(Sa(q,G.filePath));return{status:"done",result:K}}catch(D){let z=D instanceof Error?D.message:String(D);throw k1.error(`LSP diagnostics tool failed for path ${J}`,D),new Error(`Failed to get diagnostics: ${z}`)}})},Tc1=async()=>{if(process.removeListener("SIGINT",Tc1),oV)oV.stopAllServers().catch(()=>{});process.kill(process.pid,"SIGINT")};var va=x1(()=>{D2();$2();pB1();pW();Lc1();process.on("exit",()=>{if(oV)oV.stopAllServers().catch(()=>{})});process.prependListener("SIGINT",Tc1)});function Pc1(A){let Q={error:0,warning:1,info:2,hint:3};return[...A].sort((B,J)=>{let D=Q[B.severity]??4,z=Q[J.severity]??4;return D-z})}var Oc1,kq="get_diagnostics",$a;var kw=x1(()=>{Oc1=["error","warning","info","hint"];$a={spec:{name:kq,description:"Get the diagnostics (errors, warnings, etc.) for a file or directory (prefer running for directories rather than files one by one!) Output is shown in the UI so do not repeat/summarize the diagnostics.",inputSchema:{type:"object",properties:{path:{type:"string",description:"The path to the file or directory to get the diagnostics for"}},required:["path"]},source:"builtin"},fn:Promise.resolve().then(() => (va(),jc1)).then(({lspGetDiagnosticsTool:A})=>A)}});function FZ(A){return["done","error","rejected-by-user","cancelled"].includes(A.status)}function yq(){let A=[],Q=new C8;function B(D,z){let Z=A.filter((X)=>X.spec.name===D);for(let X of Z)if(ky(X.spec,z).enabled)return X;return}function J(D,z,Z){if(!D)throw new Error("spec is required");let X={spec:D,fn:Promise.resolve(z),preprocessArgs:Z};return A.push(X),Q.next(),{dispose:()=>{let K=A.indexOf(X);if(K!==-1)A.splice(K,1),Q.next()}}}return{registerTool({spec:D,fn:z,preprocessArgs:Z}){if(!z)return kUA;return J(D,z,Z)},tools:w7(r8,Q.pipe(CB(void 0))).pipe(r6(([D])=>{return A.map((z)=>({spec:z.spec,...ky(z.spec,D)})).sort((z,Z)=>z.spec.name.localeCompare(Z.spec.name))})),invokeTool(D,z,Z){let X=performance.now(),K=()=>gUA.record(performance.now()-X,{toolName:D});if(D===WX1&&z.args&&"invalid_tool_name"in z.args&&typeof z.args.invalid_tool_name==="string"){fa.add(1,{toolName:D,error:"invalid"});let q=yUA(z.args.invalid_tool_name);return new UA((Y)=>{Y.error(new Error(q))})}let G=B(D,Z.config);if(!G){let q=A.filter((w)=>w.spec.name===D);if(q.length===0)return fa.add(1,{toolName:D,error:"not_found"}),new UA((w)=>{w.error(new Error(`tool ${JSON.stringify(D)} not found`))});let Y=q[0],F=ky(Y.spec,Z.config);fa.add(1,{toolName:D,error:"disabled"});let E=F.enabled?"unknown":F.disabledReason;return new UA((w)=>{w.error(new Error(`tool ${JSON.stringify(D)} is disabled: ${E}`))})}return fa.add(1,{toolName:D}),N9(()=>G.fn).pipe(W5((q)=>{if(G.spec.meta?.disableTimeout)return q(z,Z);return Rh1(q(z,Z),Vh1())}),qZ(()=>K()))},preprocessArgs(D,z,Z){let X=B(D,Z.config);if(!X||!X.preprocessArgs)return;let K=X.preprocessArgs;try{return K(z,Z)}catch(G){k1.error("preprocessArgs",{id:D,args:z,error:String(G)});return}},dispose(){}}}function ky(A,Q){let B=Q.settings?.["tools.disable"]??[];if(B.includes(A.name))return{enabled:!1,disabledReason:"settings"};if(typeof A.source==="object"&&"mcp"in A.source){let[,J,D]=A.name.split(/mcp__([^ ]+)__([^ ]+)/);if(J&&D&&A.source.mcp===J&&B.includes(D))return{enabled:!1,disabledReason:"settings"}}if(A.source==="builtin"&&B.includes(`builtin:${A.name}`))return{enabled:!1,disabledReason:"settings"};if(A.name===_Q||A.name===uK){if(Q.settings?.["todos.enabled"])return{enabled:!0};return{enabled:!1,disabledReason:"feature-flag"}}if(A.name===kq){let J=Q.settings["lsp.enabled"]||Q.settings["jetbrains.enabled"];if(k1.info("Checking LSP diagnostics tool feature flag",{isDiagnosticToolEnabled:J}),J)return{enabled:!0};return{enabled:!1,disabledReason:"feature-flag"}}return{enabled:!0}}function yUA(A){return`Invalid tool name ${JSON.stringify(A)}. Tool names must match the pattern ${IX1.toString()}. Try again with a valid tool name.`}var Sc1,kUA,WX1="invalid_tool",IX1,vc1,fa,gUA;var lK=x1(()=>{D2();$2();Oh1();VD();Lh1();Sc1=G6(zT(),1);kw();uV();kUA={dispose(){}};IX1=/^[a-zA-Z0-9_]{1,64}$/,vc1=Sc1.metrics.getMeter("tool_service"),fa=vc1.createCounter("tool_service.invocation_count",{description:"Number of tool invocations"}),gUA=vc1.createHistogram("tool_service.invocation_latency",{description:"Latency of tool invocations",unit:"ms"})});function RD(A,...Q){throw new Error(`[Immer] minified error nr: ${A}. Full error at: https://bit.ly/3cXEKWf`)}function AO(A){return!!A&&!!A[_X]}function cW(A){if(!A)return!1;return gc1(A)||Array.isArray(A)||!!A[yy]||!!A.constructor?.[yy]||my(A)||uy(A)}function gc1(A){if(!A||typeof A!=="object")return!1;let Q=eV(A);if(Q===null)return!0;let B=Object.hasOwnProperty.call(Q,"constructor")&&Q.constructor;if(B===Object)return!0;return typeof B=="function"&&Function.toString.call(B)===bUA}function gy(A,Q){if(QO(A)===0)Reflect.ownKeys(A).forEach((B)=>{Q(B,A[B],A)});else A.forEach((B,J)=>Q(J,B,A))}function QO(A){let Q=A[_X];return Q?Q.type_:Array.isArray(A)?1:my(A)?2:uy(A)?3:0}function by(A,Q){return QO(A)===2?A.has(Q):Object.prototype.hasOwnProperty.call(A,Q)}function NX1(A,Q){return QO(A)===2?A.get(Q):A[Q]}function bc1(A,Q,B){let J=QO(A);if(J===2)A.set(Q,B);else if(J===3)A.add(B);else A[Q]=B}function xUA(A,Q){if(A===Q)return A!==0||1/A===1/Q;else return A!==A&&Q!==Q}function my(A){return A instanceof Map}function uy(A){return A instanceof Set}function tV(A){return A.copy_||A.base_}function OX1(A,Q){if(my(A))return new Map(A);if(uy(A))return new Set(A);if(Array.isArray(A))return Array.prototype.slice.call(A);let B=gc1(A);if(Q===!0||Q==="class_only"&&!B){let J=Object.getOwnPropertyDescriptors(A);delete J[_X];let D=Reflect.ownKeys(J);for(let z=0;z<D.length;z++){let Z=D[z],X=J[Z];if(X.writable===!1)X.writable=!0,X.configurable=!0;if(X.get||X.set)J[Z]={configurable:!0,writable:!0,enumerable:X.enumerable,value:A[Z]}}return Object.create(eV(A),J)}else{let J=eV(A);if(J!==null&&B)return{...A};let D=Object.create(J);return Object.assign(D,A)}}function RT(A,Q=!1){if(ga(A)||AO(A)||!cW(A))return A;if(QO(A)>1)A.set=A.add=A.clear=A.delete=hUA;if(Object.freeze(A),Q)Object.entries(A).forEach(([B,J])=>RT(J,!0));return A}function hUA(){RD(2)}function ga(A){return Object.isFrozen(A)}function BO(A){let Q=RX1[A];if(!Q)RD(0,A);return Q}function mUA(A,Q){if(!RX1[A])RX1[A]=Q}function xc1(){return xy}function uUA(A,Q){return{drafts_:[],parent_:A,immer_:Q,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function $c1(A,Q){if(Q)BO("Patches"),A.patches_=[],A.inversePatches_=[],A.patchListener_=Q}function LX1(A){_X1(A),A.drafts_.forEach(pUA),A.drafts_=null}function _X1(A){if(A===xy)xy=A.parent_}function fc1(A){return xy=uUA(xy,A)}function pUA(A){let Q=A[_X];if(Q.type_===0||Q.type_===1)Q.revoke_();else Q.revoked_=!0}function kc1(A,Q){Q.unfinalizedDrafts_=Q.drafts_.length;let B=Q.drafts_[0];if(A!==void 0&&A!==B){if(B[_X].modified_)LX1(Q),RD(4);if(cW(A)){if(A=ka(Q,A),!Q.parent_)ya(Q,A)}if(Q.patches_)BO("Patches").generateReplacementPatches_(B[_X].base_,A,Q.patches_,Q.inversePatches_)}else A=ka(Q,B,[]);if(LX1(Q),Q.patches_)Q.patchListener_(Q.patches_,Q.inversePatches_);return A!==PX1?A:void 0}function ka(A,Q,B){if(ga(Q))return Q;let J=Q[_X];if(!J)return gy(Q,(D,z)=>yc1(A,J,Q,D,z,B)),Q;if(J.scope_!==A)return Q;if(!J.modified_)return ya(A,J.base_,!0),J.base_;if(!J.finalized_){J.finalized_=!0,J.scope_.unfinalizedDrafts_--;let D=J.copy_,z=D,Z=!1;if(J.type_===3)z=new Set(D),D.clear(),Z=!0;if(gy(z,(X,K)=>yc1(A,J,D,X,K,B,Z)),ya(A,D,!1),B&&A.patches_)BO("Patches").generatePatches_(J,B,A.patches_,A.inversePatches_)}return J.copy_}function yc1(A,Q,B,J,D,z,Z){if(AO(D)){let X=z&&Q&&Q.type_!==3&&!by(Q.assigned_,J)?z.concat(J):void 0,K=ka(A,D,X);if(bc1(B,J,K),AO(K))A.canAutoFreeze_=!1;else return}else if(Z)B.add(D);if(cW(D)&&!ga(D)){if(!A.immer_.autoFreeze_&&A.unfinalizedDrafts_<1)return;if(ka(A,D),(!Q||!Q.scope_.parent_)&&typeof J!=="symbol"&&Object.prototype.propertyIsEnumerable.call(B,J))ya(A,D)}}function ya(A,Q,B=!1){if(!A.parent_&&A.immer_.autoFreeze_&&A.canAutoFreeze_)RT(Q,B)}function cUA(A,Q){let B=Array.isArray(A),J={type_:B?1:0,scope_:Q?Q.scope_:xc1(),modified_:!1,finalized_:!1,assigned_:{},parent_:Q,base_:A,draft_:null,copy_:null,revoke_:null,isManual_:!1},D=J,z=SX1;if(B)D=[J],z=hy;let{revoke:Z,proxy:X}=Proxy.revocable(D,z);return J.draft_=X,J.revoke_=Z,X}function CX1(A,Q){let B=A[_X];return(B?tV(B):A)[Q]}function lUA(A,Q,B){let J=hc1(Q,B);return J?"value"in J?J.value:J.get?.call(A.draft_):void 0}function hc1(A,Q){if(!(Q in A))return;let B=eV(A);while(B){let J=Object.getOwnPropertyDescriptor(B,Q);if(J)return J;B=eV(B)}return}function TX1(A){if(!A.modified_){if(A.modified_=!0,A.parent_)TX1(A.parent_)}}function VX1(A){if(!A.copy_)A.copy_=OX1(A.base_,A.scope_.immer_.useStrictShallowCopy_)}function jX1(A,Q){let B=my(A)?BO("MapSet").proxyMap_(A,Q):uy(A)?BO("MapSet").proxySet_(A,Q):cUA(A,Q);return(Q?Q.scope_:xc1()).drafts_.push(B),B}function iUA(A){if(!AO(A))RD(10,A);return mc1(A)}function mc1(A){if(!cW(A)||ga(A))return A;let Q=A[_X],B;if(Q){if(!Q.modified_)return Q.base_;Q.finalized_=!0,B=OX1(A,Q.scope_.immer_.useStrictShallowCopy_)}else B=OX1(A,!0);if(gy(B,(J,D)=>{bc1(B,J,mc1(D))}),Q)Q.finalized_=!1;return B}function ba(){let Q="replace",B="add",J="remove";function D(F,E,w,H){switch(F.type_){case 0:case 2:return Z(F,E,w,H);case 1:return z(F,E,w,H);case 3:return X(F,E,w,H)}}function z(F,E,w,H){let{base_:M,assigned_:W}=F,I=F.copy_;if(I.length<M.length)[M,I]=[I,M],[w,H]=[H,w];for(let N=0;N<M.length;N++)if(W[N]&&I[N]!==M[N]){let V=E.concat([N]);w.push({op:Q,path:V,value:Y(I[N])}),H.push({op:Q,path:V,value:Y(M[N])})}for(let N=M.length;N<I.length;N++){let V=E.concat([N]);w.push({op:B,path:V,value:Y(I[N])})}for(let N=I.length-1;M.length<=N;--N){let V=E.concat([N]);H.push({op:J,path:V})}}function Z(F,E,w,H){let{base_:M,copy_:W}=F;gy(F.assigned_,(I,N)=>{let V=NX1(M,I),_=NX1(W,I),T=!N?J:by(M,I)?Q:B;if(V===_&&T===Q)return;let R=E.concat(I);w.push(T===J?{op:T,path:R}:{op:T,path:R,value:_}),H.push(T===B?{op:J,path:R}:T===J?{op:B,path:R,value:Y(V)}:{op:Q,path:R,value:Y(V)})})}function X(F,E,w,H){let{base_:M,copy_:W}=F,I=0;M.forEach((N)=>{if(!W.has(N)){let V=E.concat([I]);w.push({op:J,path:V,value:N}),H.unshift({op:B,path:V,value:N})}I++}),I=0,W.forEach((N)=>{if(!M.has(N)){let V=E.concat([I]);w.push({op:B,path:V,value:N}),H.unshift({op:J,path:V,value:N})}I++})}function K(F,E,w,H){w.push({op:Q,path:[],value:E===PX1?void 0:E}),H.push({op:Q,path:[],value:F})}function G(F,E){return E.forEach((w)=>{let{path:H,op:M}=w,W=F;for(let _=0;_<H.length-1;_++){let T=QO(W),R=H[_];if(typeof R!=="string"&&typeof R!=="number")R=""+R;if((T===0||T===1)&&(R==="__proto__"||R==="constructor"))RD(19);if(typeof W==="function"&&R==="prototype")RD(19);if(W=NX1(W,R),typeof W!=="object")RD(18,H.join("/"))}let I=QO(W),N=q(w.value),V=H[H.length-1];switch(M){case Q:switch(I){case 2:return W.set(V,N);case 3:RD(16);default:return W[V]=N}case B:switch(I){case 1:return V==="-"?W.push(N):W.splice(V,0,N);case 2:return W.set(V,N);case 3:return W.add(N);default:return W[V]=N}case J:switch(I){case 1:return W.splice(V,1);case 2:return W.delete(V);case 3:return W.delete(w.value);default:return delete W[V]}default:RD(17,M)}}),F}function q(F){if(!cW(F))return F;if(Array.isArray(F))return F.map(q);if(my(F))return new Map(Array.from(F.entries()).map(([w,H])=>[w,q(H)]));if(uy(F))return new Set(Array.from(F).map(q));let E=Object.create(eV(F));for(let w in F)E[w]=q(F[w]);if(by(F,yy))E[yy]=F[yy];return E}function Y(F){if(AO(F))return q(F);else return F}mUA("Patches",{applyPatches_:G,generatePatches_:D,generateReplacementPatches_:K})}function z5(A){return A}function $X1(A){return A}var PX1,yy,_X,eV,bUA,RX1,xy,SX1,hy,dUA=class{constructor(A){if(this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(Q,B,J)=>{if(typeof Q==="function"&&typeof B!=="function"){let z=B;B=Q;let Z=this;return function X(K=z,...G){return Z.produce(K,(q)=>B.call(this,q,...G))}}if(typeof B!=="function")RD(6);if(J!==void 0&&typeof J!=="function")RD(7);let D;if(cW(Q)){let z=fc1(this),Z=jX1(Q,void 0),X=!0;try{D=B(Z),X=!1}finally{if(X)LX1(z);else _X1(z)}return $c1(z,J),kc1(D,z)}else if(!Q||typeof Q!=="object"){if(D=B(Q),D===void 0)D=Q;if(D===PX1)D=void 0;if(this.autoFreeze_)RT(D,!0);if(J){let z=[],Z=[];BO("Patches").generateReplacementPatches_(Q,D,z,Z),J(z,Z)}return D}else RD(1,Q)},this.produceWithPatches=(Q,B)=>{if(typeof Q==="function")return(Z,...X)=>this.produceWithPatches(Z,(K)=>Q(K,...X));let J,D;return[this.produce(Q,B,(Z,X)=>{J=Z,D=X}),J,D]},typeof A?.autoFreeze==="boolean")this.setAutoFreeze(A.autoFreeze);if(typeof A?.useStrictShallowCopy==="boolean")this.setUseStrictShallowCopy(A.useStrictShallowCopy)}createDraft(A){if(!cW(A))RD(8);if(AO(A))A=iUA(A);let Q=fc1(this),B=jX1(A,void 0);return B[_X].isManual_=!0,_X1(Q),B}finishDraft(A,Q){let B=A&&A[_X];if(!B||!B.isManual_)RD(9);let{scope_:J}=B;return $c1(J,Q),kc1(void 0,J)}setAutoFreeze(A){this.autoFreeze_=A}setUseStrictShallowCopy(A){this.useStrictShallowCopy_=A}applyPatches(A,Q){let B;for(B=Q.length-1;B>=0;B--){let D=Q[B];if(D.path.length===0&&D.op==="replace"){A=D.value;break}}if(B>-1)Q=Q.slice(B+1);let J=BO("Patches").applyPatches_;if(AO(A))return J(A,Q);return this.produce(A,(D)=>J(D,Q))}},TX,py,vX1,u92,p92,aUA,c92,l92;var gq=x1(()=>{PX1=Symbol.for("immer-nothing"),yy=Symbol.for("immer-draftable"),_X=Symbol.for("immer-state");eV=Object.getPrototypeOf;bUA=Object.prototype.constructor.toString();RX1={};SX1={get(A,Q){if(Q===_X)return A;let B=tV(A);if(!by(B,Q))return lUA(A,B,Q);let J=B[Q];if(A.finalized_||!cW(J))return J;if(J===CX1(A.base_,Q))return VX1(A),A.copy_[Q]=jX1(J,A);return J},has(A,Q){return Q in tV(A)},ownKeys(A){return Reflect.ownKeys(tV(A))},set(A,Q,B){let J=hc1(tV(A),Q);if(J?.set)return J.set.call(A.draft_,B),!0;if(!A.modified_){let D=CX1(tV(A),Q),z=D?.[_X];if(z&&z.base_===B)return A.copy_[Q]=B,A.assigned_[Q]=!1,!0;if(xUA(B,D)&&(B!==void 0||by(A.base_,Q)))return!0;VX1(A),TX1(A)}if(A.copy_[Q]===B&&(B!==void 0||(Q in A.copy_))||Number.isNaN(B)&&Number.isNaN(A.copy_[Q]))return!0;return A.copy_[Q]=B,A.assigned_[Q]=!0,!0},deleteProperty(A,Q){if(CX1(A.base_,Q)!==void 0||Q in A.base_)A.assigned_[Q]=!1,VX1(A),TX1(A);else delete A.assigned_[Q];if(A.copy_)delete A.copy_[Q];return!0},getOwnPropertyDescriptor(A,Q){let B=tV(A),J=Reflect.getOwnPropertyDescriptor(B,Q);if(!J)return J;return{writable:!0,configurable:A.type_!==1||Q!=="length",enumerable:J.enumerable,value:B[Q]}},defineProperty(){RD(11)},getPrototypeOf(A){return eV(A.base_)},setPrototypeOf(){RD(12)}},hy={};gy(SX1,(A,Q)=>{hy[A]=function(){return arguments[0]=arguments[0][0],Q.apply(this,arguments)}});hy.deleteProperty=function(A,Q){return hy.set.call(this,A,Q,void 0)};hy.set=function(A,Q,B){return SX1.set.call(this,A[0],Q,B,A[0])};TX=new dUA,py=TX.produce,vX1=TX.produceWithPatches.bind(TX),u92=TX.setAutoFreeze.bind(TX),p92=TX.setUseStrictShallowCopy.bind(TX),aUA=TX.applyPatches.bind(TX),c92=TX.createDraft.bind(TX),l92=TX.finishDraft.bind(TX)});function yw(){return`T-${crypto.randomUUID()}`}function JO(A){if(!A.startsWith("T-"))return!1;let Q=A.slice(2);return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(Q)}function uc1(){return`toolu_${crypto.randomUUID()}`}function xa(A){for(let Q=A.messages.length-1;Q>=0;Q--){let B=A.messages[Q];if(B?.role==="info"){let J=B.content[0];if(J?.type==="summary"&&J?.summary.type==="message")return}if(B?.role==="assistant"&&B.usage)return B.usage}return A["~debug"]?.lastInferenceUsage}function y7(A,Q){for(let B of A.messages){if(B.role!=="assistant")continue;for(let J of B.content)if(J.type==="tool_use"&&J.id===Q)return J}return}function fX1(A,Q){for(let[B,J]of A.messages.entries()){if(J.role!=="assistant")continue;for(let[D,z]of J.content.entries())if(z.type==="tool_use"&&z.id===Q)return{message:J,messageIndex:B,block:z,blockIndex:D}}return null}function cy(A,Q){for(let B of A.messages){if(B.role!=="user")continue;for(let J of B.content)if(J.type==="tool_result"&&J.toolUseID===Q)return J}return}function gw(A){return A.messages.filter((Q)=>Q.role==="user").flatMap((Q)=>Q.content).filter((Q)=>Q.type==="tool_result").reduce((Q,B)=>{return Q.set(B.toolUseID,B),Q},new Map)}function ly(A){if(A&&typeof A==="object"&&"threadID"in A){let Q=A.threadID;if(typeof Q==="string"&&JO(Q))return Q}return}function ha(A){if(!A)return!1;if(A.role==="assistant")return A.state?.type==="cancelled";if(A.role==="user")return A.content.some((Q)=>Q.type==="tool_result"&&Q.run.status==="cancelled");return!1}function kX1(A){if(!A)return!1;return A.role==="info"}function nUA(A){return A.replace(/u([0-9A-Fa-f]{4})(\s)/gi,(Q,B,J)=>{try{return String.fromCodePoint(parseInt(B,16))+J}catch{return`u${B}${J}`}})}function ma(A){for(let Q=A.messages.length-1;Q>=0;Q--){let B=A.messages[Q];if(B?.role==="info"){if(B.content.some((D)=>D.type==="summary"&&D.summary.type==="message"))break}if(B?.role!=="assistant"||!B.state||B.state.type!=="complete"||B.state.stopReason!=="tool_use")continue;for(let J of B.content)if(J.type==="tool_use"&&J.name===_Q&&J.input){let D=J.input.todos;if(Array.isArray(D))return D;let z=J.input.content;if(typeof z==="string")return nUA(z)}}return}function LT(A){return A.map((Q)=>Q.type==="text"?Q.text:null).filter((Q)=>Q!==null).join(`
2961
2961
 
2962
2962
  `)}function pc1(A){return A.content.every((Q)=>!(Q.type==="tool_result"&&!FZ(Q.run)))}function wz(A,Q){return A.messages.findLast((B)=>B.role===Q)}function cc1(A){for(let Q=A.messages.length-1;Q>=0;Q--){let B=A.messages[Q];if(B&&"role"in B&&B.role==="info"){for(let J of B.content)if(J.type==="summary"&&J.summary.type==="message")return{summaryBlock:J,index:Q}}}return}var Hz=x1(()=>{uV();lK();gq();ba()});var _T="x-amp-feature",lW="x-amp-thread-id",lc1="X-Amp-Client-Application",dc1="X-Amp-Client-Type",ic1="X-Amp-Client-Version",ac1="X-Amp-Client-Bundle";var TT=()=>{};function sc1(A){nc1=A}function dy(){return{type:"cli",name:"CLI",version:nc1}}function jT(){let A=dy(),Q={};if(Q[lc1]=A.name,Q[dc1]=A.type,Q[ac1]="cli",A.version)Q[ic1]=A.version;return Q}var sUA,e92,nc1=null;var DO=x1(()=>{TT();sUA={"VS Code":{type:"vscode-derived",scheme:"vscode",marketplace:"vscode"},"VS Code Insiders":{type:"vscode-derived",scheme:"vscode-insiders",marketplace:"vscode"},"VS Code Web":{type:"vscode-derived",scheme:null,marketplace:"vscode",hideFromOnboarding:!0},Cursor:{type:"vscode-derived",scheme:"cursor",marketplace:"openvsx"},Windsurf:{type:"vscode-derived",scheme:"windsurf",marketplace:"openvsx"},VSCodium:{type:"vscode-derived",scheme:"vscodium",hideFromOnboarding:!0,marketplace:"openvsx"},CLI:{type:"cli",install:{instructions:"npm install -g @sourcegraph/amp"},configure:{url:"https://www.npmjs.com/package/@sourcegraph/amp"}}},e92=Object.entries(sUA).map(([A,Q])=>({name:A,...Q}))});function PT(){if(!yX1){let Q=!(typeof process!=="undefined"&&process.versions&&process.versions.node),B="linux";if(typeof navigator!=="undefined"){let J=navigator.platform.toLowerCase();if(J.includes("mac")||J.includes("ios"))B="darwin";else if(J.includes("win"))B="windows"}else if(typeof process!=="undefined"){if(process.platform==="darwin")B="darwin";else if(process.platform==="win32")B="windows"}yX1={webBrowser:Q,os:B,client:dy().name,optionAltKeyShort:B==="darwin"?"⌥":"Alt",ctrlCmdKeyShort:B==="darwin"?"⌘":"⌃",ctrlCmdKey:B==="darwin"?"⌘":"Ctrl"}}return yX1}var yX1;var ua=x1(()=>{DO()});var C9,bX1,F6,iU=(A)=>{switch(typeof A){case"undefined":return F6.undefined;case"string":return F6.string;case"number":return Number.isNaN(A)?F6.nan:F6.number;case"boolean":return F6.boolean;case"function":return F6.function;case"bigint":return F6.bigint;case"symbol":return F6.symbol;case"object":if(Array.isArray(A))return F6.array;if(A===null)return F6.null;if(A.then&&typeof A.then==="function"&&A.catch&&typeof A.catch==="function")return F6.promise;if(typeof Map!=="undefined"&&A instanceof Map)return F6.map;if(typeof Set!=="undefined"&&A instanceof Set)return F6.set;if(typeof Date!=="undefined"&&A instanceof Date)return F6.date;return F6.object;default:return F6.unknown}};var iy=x1(()=>{(function(A){A.assertEqual=(D)=>{};function Q(D){}A.assertIs=Q;function B(D){throw new Error}A.assertNever=B,A.arrayToEnum=(D)=>{let z={};for(let Z of D)z[Z]=Z;return z},A.getValidEnumValues=(D)=>{let z=A.objectKeys(D).filter((X)=>typeof D[D[X]]!=="number"),Z={};for(let X of z)Z[X]=D[X];return A.objectValues(Z)},A.objectValues=(D)=>{return A.objectKeys(D).map(function(z){return D[z]})},A.objectKeys=typeof Object.keys==="function"?(D)=>Object.keys(D):(D)=>{let z=[];for(let Z in D)if(Object.prototype.hasOwnProperty.call(D,Z))z.push(Z);return z},A.find=(D,z)=>{for(let Z of D)if(z(Z))return Z;return},A.isInteger=typeof Number.isInteger==="function"?(D)=>Number.isInteger(D):(D)=>typeof D==="number"&&Number.isFinite(D)&&Math.floor(D)===D;function J(D,z=" | "){return D.map((Z)=>typeof Z==="string"?`'${Z}'`:Z).join(z)}A.joinValues=J,A.jsonStringifyReplacer=(D,z)=>{if(typeof z==="bigint")return z.toString();return z}})(C9||(C9={}));(function(A){A.mergeShapes=(Q,B)=>{return{...Q,...B}}})(bX1||(bX1={}));F6=C9.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"])});var tA,rUA=(A)=>{return JSON.stringify(A,null,2).replace(/"([^"]+)":/g,"$1:")},EZ;var pa=x1(()=>{iy();tA=C9.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);EZ=class EZ extends Error{get errors(){return this.issues}constructor(A){super();this.issues=[],this.addIssue=(B)=>{this.issues=[...this.issues,B]},this.addIssues=(B=[])=>{this.issues=[...this.issues,...B]};let Q=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,Q);else this.__proto__=Q;this.name="ZodError",this.issues=A}format(A){let Q=A||function(D){return D.message},B={_errors:[]},J=(D)=>{for(let z of D.issues)if(z.code==="invalid_union")z.unionErrors.map(J);else if(z.code==="invalid_return_type")J(z.returnTypeError);else if(z.code==="invalid_arguments")J(z.argumentsError);else if(z.path.length===0)B._errors.push(Q(z));else{let Z=B,X=0;while(X<z.path.length){let K=z.path[X];if(X!==z.path.length-1)Z[K]=Z[K]||{_errors:[]};else Z[K]=Z[K]||{_errors:[]},Z[K]._errors.push(Q(z));Z=Z[K],X++}}};return J(this),B}static assert(A){if(!(A instanceof EZ))throw new Error(`Not a ZodError: ${A}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,C9.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(A=(Q)=>Q.message){let Q={},B=[];for(let J of this.issues)if(J.path.length>0)Q[J.path[0]]=Q[J.path[0]]||[],Q[J.path[0]].push(A(J));else B.push(A(J));return{formErrors:B,fieldErrors:Q}}get formErrors(){return this.flatten()}};EZ.create=(A)=>{return new EZ(A)}});var oUA=(A,Q)=>{let B;switch(A.code){case tA.invalid_type:if(A.received===F6.undefined)B="Required";else B=`Expected ${A.expected}, received ${A.received}`;break;case tA.invalid_literal:B=`Invalid literal value, expected ${JSON.stringify(A.expected,C9.jsonStringifyReplacer)}`;break;case tA.unrecognized_keys:B=`Unrecognized key(s) in object: ${C9.joinValues(A.keys,", ")}`;break;case tA.invalid_union:B="Invalid input";break;case tA.invalid_union_discriminator:B=`Invalid discriminator value. Expected ${C9.joinValues(A.options)}`;break;case tA.invalid_enum_value:B=`Invalid enum value. Expected ${C9.joinValues(A.options)}, received '${A.received}'`;break;case tA.invalid_arguments:B="Invalid function arguments";break;case tA.invalid_return_type:B="Invalid function return type";break;case tA.invalid_date:B="Invalid date";break;case tA.invalid_string:if(typeof A.validation==="object")if("includes"in A.validation){if(B=`Invalid input: must include "${A.validation.includes}"`,typeof A.validation.position==="number")B=`${B} at one or more positions greater than or equal to ${A.validation.position}`}else if("startsWith"in A.validation)B=`Invalid input: must start with "${A.validation.startsWith}"`;else if("endsWith"in A.validation)B=`Invalid input: must end with "${A.validation.endsWith}"`;else C9.assertNever(A.validation);else if(A.validation!=="regex")B=`Invalid ${A.validation}`;else B="Invalid";break;case tA.too_small:if(A.type==="array")B=`Array must contain ${A.exact?"exactly":A.inclusive?"at least":"more than"} ${A.minimum} element(s)`;else if(A.type==="string")B=`String must contain ${A.exact?"exactly":A.inclusive?"at least":"over"} ${A.minimum} character(s)`;else if(A.type==="number")B=`Number must be ${A.exact?"exactly equal to ":A.inclusive?"greater than or equal to ":"greater than "}${A.minimum}`;else if(A.type==="date")B=`Date must be ${A.exact?"exactly equal to ":A.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(A.minimum))}`;else B="Invalid input";break;case tA.too_big:if(A.type==="array")B=`Array must contain ${A.exact?"exactly":A.inclusive?"at most":"less than"} ${A.maximum} element(s)`;else if(A.type==="string")B=`String must contain ${A.exact?"exactly":A.inclusive?"at most":"under"} ${A.maximum} character(s)`;else if(A.type==="number")B=`Number must be ${A.exact?"exactly":A.inclusive?"less than or equal to":"less than"} ${A.maximum}`;else if(A.type==="bigint")B=`BigInt must be ${A.exact?"exactly":A.inclusive?"less than or equal to":"less than"} ${A.maximum}`;else if(A.type==="date")B=`Date must be ${A.exact?"exactly":A.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(A.maximum))}`;else B="Invalid input";break;case tA.custom:B="Invalid input";break;case tA.invalid_intersection_types:B="Intersection results could not be merged";break;case tA.not_multiple_of:B=`Number must be a multiple of ${A.multipleOf}`;break;case tA.not_finite:B="Number must be finite";break;default:B=Q.defaultError,C9.assertNever(A)}return{message:B}},bw;var xX1=x1(()=>{pa();iy();bw=oUA});function tUA(A){oc1=A}function ST(){return oc1}var oc1;var ca=x1(()=>{xX1();oc1=bw});function _6(A,Q){let B=ST(),J=ay({issueData:Q,data:A.data,path:A.path,errorMaps:[A.common.contextualErrorMap,A.schemaErrorMap,B,B===bw?void 0:bw].filter((D)=>!!D)});A.common.issues.push(J)}class lJ{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(A,Q){let B=[];for(let J of Q){if(J.status==="aborted")return G8;if(J.status==="dirty")A.dirty();B.push(J.value)}return{status:A.value,value:B}}static async mergeObjectAsync(A,Q){let B=[];for(let J of Q){let D=await J.key,z=await J.value;B.push({key:D,value:z})}return lJ.mergeObjectSync(A,B)}static mergeObjectSync(A,Q){let B={};for(let J of Q){let{key:D,value:z}=J;if(D.status==="aborted")return G8;if(z.status==="aborted")return G8;if(D.status==="dirty")A.dirty();if(z.status==="dirty")A.dirty();if(D.value!=="__proto__"&&(typeof z.value!=="undefined"||J.alwaysSet))B[D.value]=z.value}return{status:A.value,value:B}}}var ay=(A)=>{let{data:Q,path:B,errorMaps:J,issueData:D}=A,z=[...B,...D.path||[]],Z={...D,path:z};if(D.message!==void 0)return{...D,path:z,message:D.message};let X="",K=J.filter((G)=>!!G).slice().reverse();for(let G of K)X=G(Z,{data:Q,defaultError:X}).message;return{...D,path:z,message:X}},eUA,G8,zO=(A)=>({status:"dirty",value:A}),LD=(A)=>({status:"valid",value:A}),la=(A)=>A.status==="aborted",da=(A)=>A.status==="dirty",dW=(A)=>A.status==="valid",vT=(A)=>typeof Promise!=="undefined"&&A instanceof Promise;var hX1=x1(()=>{ca();xX1();eUA=[];G8=Object.freeze({status:"aborted"})});var tc1=()=>{};var H2;var ec1=x1(()=>{(function(A){A.errToObj=(Q)=>typeof Q==="string"?{message:Q}:Q||{},A.toString=(Q)=>typeof Q==="string"?Q:Q?.message})(H2||(H2={}))});class mq{constructor(A,Q,B,J){this._cachedPath=[],this.parent=A,this.data=Q,this._path=B,this._key=J}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}function p8(A){if(!A)return{};let{errorMap:Q,invalid_type_error:B,required_error:J,description:D}=A;if(Q&&(B||J))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(Q)return{errorMap:Q,description:D};return{errorMap:(Z,X)=>{let{message:K}=A;if(Z.code==="invalid_enum_value")return{message:K??X.defaultError};if(typeof X.data==="undefined")return{message:K??J??X.defaultError};if(Z.code!=="invalid_type")return{message:X.defaultError};return{message:K??B??X.defaultError}},description:D}}class D9{get description(){return this._def.description}_getType(A){return iU(A.data)}_getOrReturnCtx(A,Q){return Q||{common:A.parent.common,data:A.data,parsedType:iU(A.data),schemaErrorMap:this._def.errorMap,path:A.path,parent:A.parent}}_processInputParams(A){return{status:new lJ,ctx:{common:A.parent.common,data:A.data,parsedType:iU(A.data),schemaErrorMap:this._def.errorMap,path:A.path,parent:A.parent}}}_parseSync(A){let Q=this._parse(A);if(vT(Q))throw new Error("Synchronous parse encountered promise.");return Q}_parseAsync(A){let Q=this._parse(A);return Promise.resolve(Q)}parse(A,Q){let B=this.safeParse(A,Q);if(B.success)return B.data;throw B.error}safeParse(A,Q){let B={common:{issues:[],async:Q?.async??!1,contextualErrorMap:Q?.errorMap},path:Q?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:A,parsedType:iU(A)},J=this._parseSync({data:A,path:B.path,parent:B});return Al1(B,J)}"~validate"(A){let Q={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:A,parsedType:iU(A)};if(!this["~standard"].async)try{let B=this._parseSync({data:A,path:[],parent:Q});return dW(B)?{value:B.value}:{issues:Q.common.issues}}catch(B){if(B?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;Q.common={issues:[],async:!0}}return this._parseAsync({data:A,path:[],parent:Q}).then((B)=>dW(B)?{value:B.value}:{issues:Q.common.issues})}async parseAsync(A,Q){let B=await this.safeParseAsync(A,Q);if(B.success)return B.data;throw B.error}async safeParseAsync(A,Q){let B={common:{issues:[],contextualErrorMap:Q?.errorMap,async:!0},path:Q?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:A,parsedType:iU(A)},J=this._parse({data:A,path:B.path,parent:B}),D=await(vT(J)?J:Promise.resolve(J));return Al1(B,D)}refine(A,Q){let B=(J)=>{if(typeof Q==="string"||typeof Q==="undefined")return{message:Q};else if(typeof Q==="function")return Q(J);else return Q};return this._refinement((J,D)=>{let z=A(J),Z=()=>D.addIssue({code:tA.custom,...B(J)});if(typeof Promise!=="undefined"&&z instanceof Promise)return z.then((X)=>{if(!X)return Z(),!1;else return!0});if(!z)return Z(),!1;else return!0})}refinement(A,Q){return this._refinement((B,J)=>{if(!A(B))return J.addIssue(typeof Q==="function"?Q(B,J):Q),!1;else return!0})}_refinement(A){return new uq({schema:this,typeName:q8.ZodEffects,effect:{type:"refinement",refinement:A}})}superRefine(A){return this._refinement(A)}constructor(A){this.spa=this.safeParseAsync,this._def=A,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(Q)=>this["~validate"](Q)}}optional(){return hq.create(this,this._def)}nullable(){return hw.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return xq.create(this)}promise(){return GO.create(this,this._def)}or(A){return bT.create([this,A],this._def)}and(A){return xT.create(this,A,this._def)}transform(A){return new uq({...p8(this._def),schema:this,typeName:q8.ZodEffects,effect:{type:"transform",transform:A}})}default(A){let Q=typeof A==="function"?A:()=>A;return new pT({...p8(this._def),innerType:this,defaultValue:Q,typeName:q8.ZodDefault})}brand(){return new na({typeName:q8.ZodBranded,type:this,...p8(this._def)})}catch(A){let Q=typeof A==="function"?A:()=>A;return new cT({...p8(this._def),innerType:this,catchValue:Q,typeName:q8.ZodCatch})}describe(A){return new this.constructor({...this._def,description:A})}pipe(A){return Qg.create(this,A)}readonly(){return lT.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}function Dl1(A){let Q="[0-5]\\d";if(A.precision)Q=`${Q}\\.\\d{${A.precision}}`;else if(A.precision==null)Q=`${Q}(\\.\\d+)?`;let B=A.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${Q})${B}`}function HFA(A){return new RegExp(`^${Dl1(A)}$`)}function zl1(A){let Q=`${Jl1}T${Dl1(A)}`,B=[];if(B.push(A.local?"Z?":"Z"),A.offset)B.push("([+-]\\d{2}:?\\d{2})");return Q=`${Q}(${B.join("|")})`,new RegExp(`^${Q}$`)}function MFA(A,Q){if((Q==="v4"||!Q)&&GFA.test(A))return!0;if((Q==="v6"||!Q)&&YFA.test(A))return!0;return!1}function WFA(A,Q){if(!zFA.test(A))return!1;try{let[B]=A.split("."),J=B.replace(/-/g,"+").replace(/_/g,"/").padEnd(B.length+(4-B.length%4)%4,"="),D=JSON.parse(atob(J));if(typeof D!=="object"||D===null)return!1;if("typ"in D&&D?.typ!=="JWT")return!1;if(!D.alg)return!1;if(Q&&D.alg!==Q)return!1;return!0}catch{return!1}}function IFA(A,Q){if((Q==="v4"||!Q)&&qFA.test(A))return!0;if((Q==="v6"||!Q)&&UFA.test(A))return!0;return!1}function NFA(A,Q){let B=(A.toString().split(".")[1]||"").length,J=(Q.toString().split(".")[1]||"").length,D=B>J?B:J,z=Number.parseInt(A.toFixed(D).replace(".","")),Z=Number.parseInt(Q.toFixed(D).replace(".",""));return z%Z/10**D}function $T(A){if(A instanceof g7){let Q={};for(let B in A.shape){let J=A.shape[B];Q[B]=hq.create($T(J))}return new g7({...A._def,shape:()=>Q})}else if(A instanceof xq)return new xq({...A._def,type:$T(A.element)});else if(A instanceof hq)return hq.create($T(A.unwrap()));else if(A instanceof hw)return hw.create($T(A.unwrap()));else if(A instanceof nU)return nU.create(A.items.map((Q)=>$T(Q)));else return A}function uX1(A,Q){let B=iU(A),J=iU(Q);if(A===Q)return{valid:!0,data:A};else if(B===F6.object&&J===F6.object){let D=C9.objectKeys(Q),z=C9.objectKeys(A).filter((X)=>D.indexOf(X)!==-1),Z={...A,...Q};for(let X of z){let K=uX1(A[X],Q[X]);if(!K.valid)return{valid:!1};Z[X]=K.data}return{valid:!0,data:Z}}else if(B===F6.array&&J===F6.array){if(A.length!==Q.length)return{valid:!1};let D=[];for(let z=0;z<A.length;z++){let Z=A[z],X=Q[z],K=uX1(Z,X);if(!K.valid)return{valid:!1};D.push(K.data)}return{valid:!0,data:D}}else if(B===F6.date&&J===F6.date&&+A===+Q)return{valid:!0,data:A};else return{valid:!1}}function Zl1(A,Q){return new sW({values:A,typeName:q8.ZodEnum,...p8(Q)})}function Ql1(A,Q){let B=typeof A==="function"?A(Q):typeof A==="string"?{message:A}:A;return typeof B==="string"?{message:B}:B}function Xl1(A,Q={},B){if(A)return XO.create().superRefine((J,D)=>{let z=A(J);if(z instanceof Promise)return z.then((Z)=>{if(!Z){let X=Ql1(Q,J),K=X.fatal??B??!0;D.addIssue({code:"custom",...X,fatal:K})}});if(!z){let Z=Ql1(Q,J),X=Z.fatal??B??!0;D.addIssue({code:"custom",...Z,fatal:X})}return});return XO.create()}var ia=function(A,Q,B,J){if(B==="a"&&!J)throw new TypeError("Private accessor was defined without a getter");if(typeof Q==="function"?A!==Q||!J:!Q.has(A))throw new TypeError("Cannot read private member from an object whose class did not declare it");return B==="m"?J:B==="a"?J.call(A):J?J.value:Q.get(A)},Bl1=function(A,Q,B,J,D){if(J==="m")throw new TypeError("Private method is not writable");if(J==="a"&&!D)throw new TypeError("Private accessor was defined without a setter");if(typeof Q==="function"?A!==Q||!D:!Q.has(A))throw new TypeError("Cannot write private member to an object whose class did not declare it");return J==="a"?D.call(A,B):D?D.value=B:Q.set(A,B),B},ny,sy,Al1=(A,Q)=>{if(dW(Q))return{success:!0,data:Q.value};else{if(!A.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let B=new EZ(A.common.issues);return this._error=B,this._error}}}},AFA,QFA,BFA,JFA,DFA,zFA,ZFA,XFA,KFA="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",mX1,GFA,qFA,YFA,UFA,FFA,EFA,Jl1="((\\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])))",wFA,bq,aW,nW,kT,ZO,ry,yT,gT,XO,iW,aU,oy,xq,g7,bT,xw=(A)=>{if(A instanceof hT)return xw(A.schema);else if(A instanceof uq)return xw(A.innerType());else if(A instanceof mT)return[A.value];else if(A instanceof sW)return A.options;else if(A instanceof uT)return C9.objectValues(A.enum);else if(A instanceof pT)return xw(A._def.innerType);else if(A instanceof yT)return[void 0];else if(A instanceof gT)return[null];else if(A instanceof hq)return[void 0,...xw(A.unwrap())];else if(A instanceof hw)return[null,...xw(A.unwrap())];else if(A instanceof na)return xw(A.unwrap());else if(A instanceof lT)return xw(A.unwrap());else if(A instanceof cT)return xw(A._def.innerType);else return[]},aa,xT,nU,ty,ey,KO,fT,hT,mT,sW,uT,GO,uq,hq,hw,pT,cT,Ag,CFA,na,Qg,lT,VFA,q8,OFA=(A,Q={message:`Input not instance of ${A.name}`})=>Xl1((B)=>B instanceof A,Q),Kl1,Gl1,RFA,LFA,ql1,_FA,TFA,jFA,PFA,SFA,vFA,$FA,fFA,kFA,yFA,gFA,bFA,xFA,hFA,mFA,uFA,pFA,cFA,lFA,dFA,iFA,aFA,nFA,sFA,rFA,oFA,tFA,eFA,AEA,QEA=()=>Kl1().optional(),BEA=()=>Gl1().optional(),JEA=()=>ql1().optional(),DEA,zEA;var Yl1=x1(()=>{pa();ca();ec1();hX1();iy();AFA=/^c[^\s-]{8,}$/i,QFA=/^[0-9a-z]+$/,BFA=/^[0-9A-HJKMNP-TV-Z]{26}$/i,JFA=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,DFA=/^[a-z0-9_-]{21}$/i,zFA=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,ZFA=/^[-+]?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)?)??$/,XFA=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,GFA=/^(?:(?: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])$/,qFA=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,YFA=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,UFA=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,FFA=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,EFA=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,wFA=new RegExp(`^${Jl1}$`);bq=class bq extends D9{_parse(A){if(this._def.coerce)A.data=String(A.data);if(this._getType(A)!==F6.string){let D=this._getOrReturnCtx(A);return _6(D,{code:tA.invalid_type,expected:F6.string,received:D.parsedType}),G8}let B=new lJ,J=void 0;for(let D of this._def.checks)if(D.kind==="min"){if(A.data.length<D.value)J=this._getOrReturnCtx(A,J),_6(J,{code:tA.too_small,minimum:D.value,type:"string",inclusive:!0,exact:!1,message:D.message}),B.dirty()}else if(D.kind==="max"){if(A.data.length>D.value)J=this._getOrReturnCtx(A,J),_6(J,{code:tA.too_big,maximum:D.value,type:"string",inclusive:!0,exact:!1,message:D.message}),B.dirty()}else if(D.kind==="length"){let z=A.data.length>D.value,Z=A.data.length<D.value;if(z||Z){if(J=this._getOrReturnCtx(A,J),z)_6(J,{code:tA.too_big,maximum:D.value,type:"string",inclusive:!0,exact:!0,message:D.message});else if(Z)_6(J,{code:tA.too_small,minimum:D.value,type:"string",inclusive:!0,exact:!0,message:D.message});B.dirty()}}else if(D.kind==="email"){if(!XFA.test(A.data))J=this._getOrReturnCtx(A,J),_6(J,{validation:"email",code:tA.invalid_string,message:D.message}),B.dirty()}else if(D.kind==="emoji"){if(!mX1)mX1=new RegExp(KFA,"u");if(!mX1.test(A.data))J=this._getOrReturnCtx(A,J),_6(J,{validation:"emoji",code:tA.invalid_string,message:D.message}),B.dirty()}else if(D.kind==="uuid"){if(!JFA.test(A.data))J=this._getOrReturnCtx(A,J),_6(J,{validation:"uuid",code:tA.invalid_string,message:D.message}),B.dirty()}else if(D.kind==="nanoid"){if(!DFA.test(A.data))J=this._getOrReturnCtx(A,J),_6(J,{validation:"nanoid",code:tA.invalid_string,message:D.message}),B.dirty()}else if(D.kind==="cuid"){if(!AFA.test(A.data))J=this._getOrReturnCtx(A,J),_6(J,{validation:"cuid",code:tA.invalid_string,message:D.message}),B.dirty()}else if(D.kind==="cuid2"){if(!QFA.test(A.data))J=this._getOrReturnCtx(A,J),_6(J,{validation:"cuid2",code:tA.invalid_string,message:D.message}),B.dirty()}else if(D.kind==="ulid"){if(!BFA.test(A.data))J=this._getOrReturnCtx(A,J),_6(J,{validation:"ulid",code:tA.invalid_string,message:D.message}),B.dirty()}else if(D.kind==="url")try{new URL(A.data)}catch{J=this._getOrReturnCtx(A,J),_6(J,{validation:"url",code:tA.invalid_string,message:D.message}),B.dirty()}else if(D.kind==="regex"){if(D.regex.lastIndex=0,!D.regex.test(A.data))J=this._getOrReturnCtx(A,J),_6(J,{validation:"regex",code:tA.invalid_string,message:D.message}),B.dirty()}else if(D.kind==="trim")A.data=A.data.trim();else if(D.kind==="includes"){if(!A.data.includes(D.value,D.position))J=this._getOrReturnCtx(A,J),_6(J,{code:tA.invalid_string,validation:{includes:D.value,position:D.position},message:D.message}),B.dirty()}else if(D.kind==="toLowerCase")A.data=A.data.toLowerCase();else if(D.kind==="toUpperCase")A.data=A.data.toUpperCase();else if(D.kind==="startsWith"){if(!A.data.startsWith(D.value))J=this._getOrReturnCtx(A,J),_6(J,{code:tA.invalid_string,validation:{startsWith:D.value},message:D.message}),B.dirty()}else if(D.kind==="endsWith"){if(!A.data.endsWith(D.value))J=this._getOrReturnCtx(A,J),_6(J,{code:tA.invalid_string,validation:{endsWith:D.value},message:D.message}),B.dirty()}else if(D.kind==="datetime"){if(!zl1(D).test(A.data))J=this._getOrReturnCtx(A,J),_6(J,{code:tA.invalid_string,validation:"datetime",message:D.message}),B.dirty()}else if(D.kind==="date"){if(!wFA.test(A.data))J=this._getOrReturnCtx(A,J),_6(J,{code:tA.invalid_string,validation:"date",message:D.message}),B.dirty()}else if(D.kind==="time"){if(!HFA(D).test(A.data))J=this._getOrReturnCtx(A,J),_6(J,{code:tA.invalid_string,validation:"time",message:D.message}),B.dirty()}else if(D.kind==="duration"){if(!ZFA.test(A.data))J=this._getOrReturnCtx(A,J),_6(J,{validation:"duration",code:tA.invalid_string,message:D.message}),B.dirty()}else if(D.kind==="ip"){if(!MFA(A.data,D.version))J=this._getOrReturnCtx(A,J),_6(J,{validation:"ip",code:tA.invalid_string,message:D.message}),B.dirty()}else if(D.kind==="jwt"){if(!WFA(A.data,D.alg))J=this._getOrReturnCtx(A,J),_6(J,{validation:"jwt",code:tA.invalid_string,message:D.message}),B.dirty()}else if(D.kind==="cidr"){if(!IFA(A.data,D.version))J=this._getOrReturnCtx(A,J),_6(J,{validation:"cidr",code:tA.invalid_string,message:D.message}),B.dirty()}else if(D.kind==="base64"){if(!FFA.test(A.data))J=this._getOrReturnCtx(A,J),_6(J,{validation:"base64",code:tA.invalid_string,message:D.message}),B.dirty()}else if(D.kind==="base64url"){if(!EFA.test(A.data))J=this._getOrReturnCtx(A,J),_6(J,{validation:"base64url",code:tA.invalid_string,message:D.message}),B.dirty()}else C9.assertNever(D);return{status:B.value,value:A.data}}_regex(A,Q,B){return this.refinement((J)=>A.test(J),{validation:Q,code:tA.invalid_string,...H2.errToObj(B)})}_addCheck(A){return new bq({...this._def,checks:[...this._def.checks,A]})}email(A){return this._addCheck({kind:"email",...H2.errToObj(A)})}url(A){return this._addCheck({kind:"url",...H2.errToObj(A)})}emoji(A){return this._addCheck({kind:"emoji",...H2.errToObj(A)})}uuid(A){return this._addCheck({kind:"uuid",...H2.errToObj(A)})}nanoid(A){return this._addCheck({kind:"nanoid",...H2.errToObj(A)})}cuid(A){return this._addCheck({kind:"cuid",...H2.errToObj(A)})}cuid2(A){return this._addCheck({kind:"cuid2",...H2.errToObj(A)})}ulid(A){return this._addCheck({kind:"ulid",...H2.errToObj(A)})}base64(A){return this._addCheck({kind:"base64",...H2.errToObj(A)})}base64url(A){return this._addCheck({kind:"base64url",...H2.errToObj(A)})}jwt(A){return this._addCheck({kind:"jwt",...H2.errToObj(A)})}ip(A){return this._addCheck({kind:"ip",...H2.errToObj(A)})}cidr(A){return this._addCheck({kind:"cidr",...H2.errToObj(A)})}datetime(A){if(typeof A==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:A});return this._addCheck({kind:"datetime",precision:typeof A?.precision==="undefined"?null:A?.precision,offset:A?.offset??!1,local:A?.local??!1,...H2.errToObj(A?.message)})}date(A){return this._addCheck({kind:"date",message:A})}time(A){if(typeof A==="string")return this._addCheck({kind:"time",precision:null,message:A});return this._addCheck({kind:"time",precision:typeof A?.precision==="undefined"?null:A?.precision,...H2.errToObj(A?.message)})}duration(A){return this._addCheck({kind:"duration",...H2.errToObj(A)})}regex(A,Q){return this._addCheck({kind:"regex",regex:A,...H2.errToObj(Q)})}includes(A,Q){return this._addCheck({kind:"includes",value:A,position:Q?.position,...H2.errToObj(Q?.message)})}startsWith(A,Q){return this._addCheck({kind:"startsWith",value:A,...H2.errToObj(Q)})}endsWith(A,Q){return this._addCheck({kind:"endsWith",value:A,...H2.errToObj(Q)})}min(A,Q){return this._addCheck({kind:"min",value:A,...H2.errToObj(Q)})}max(A,Q){return this._addCheck({kind:"max",value:A,...H2.errToObj(Q)})}length(A,Q){return this._addCheck({kind:"length",value:A,...H2.errToObj(Q)})}nonempty(A){return this.min(1,H2.errToObj(A))}trim(){return new bq({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new bq({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new bq({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((A)=>A.kind==="datetime")}get isDate(){return!!this._def.checks.find((A)=>A.kind==="date")}get isTime(){return!!this._def.checks.find((A)=>A.kind==="time")}get isDuration(){return!!this._def.checks.find((A)=>A.kind==="duration")}get isEmail(){return!!this._def.checks.find((A)=>A.kind==="email")}get isURL(){return!!this._def.checks.find((A)=>A.kind==="url")}get isEmoji(){return!!this._def.checks.find((A)=>A.kind==="emoji")}get isUUID(){return!!this._def.checks.find((A)=>A.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((A)=>A.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((A)=>A.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((A)=>A.kind==="cuid2")}get isULID(){return!!this._def.checks.find((A)=>A.kind==="ulid")}get isIP(){return!!this._def.checks.find((A)=>A.kind==="ip")}get isCIDR(){return!!this._def.checks.find((A)=>A.kind==="cidr")}get isBase64(){return!!this._def.checks.find((A)=>A.kind==="base64")}get isBase64url(){return!!this._def.checks.find((A)=>A.kind==="base64url")}get minLength(){let A=null;for(let Q of this._def.checks)if(Q.kind==="min"){if(A===null||Q.value>A)A=Q.value}return A}get maxLength(){let A=null;for(let Q of this._def.checks)if(Q.kind==="max"){if(A===null||Q.value<A)A=Q.value}return A}};bq.create=(A)=>{return new bq({checks:[],typeName:q8.ZodString,coerce:A?.coerce??!1,...p8(A)})};aW=class aW extends D9{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(A){if(this._def.coerce)A.data=Number(A.data);if(this._getType(A)!==F6.number){let D=this._getOrReturnCtx(A);return _6(D,{code:tA.invalid_type,expected:F6.number,received:D.parsedType}),G8}let B=void 0,J=new lJ;for(let D of this._def.checks)if(D.kind==="int"){if(!C9.isInteger(A.data))B=this._getOrReturnCtx(A,B),_6(B,{code:tA.invalid_type,expected:"integer",received:"float",message:D.message}),J.dirty()}else if(D.kind==="min"){if(D.inclusive?A.data<D.value:A.data<=D.value)B=this._getOrReturnCtx(A,B),_6(B,{code:tA.too_small,minimum:D.value,type:"number",inclusive:D.inclusive,exact:!1,message:D.message}),J.dirty()}else if(D.kind==="max"){if(D.inclusive?A.data>D.value:A.data>=D.value)B=this._getOrReturnCtx(A,B),_6(B,{code:tA.too_big,maximum:D.value,type:"number",inclusive:D.inclusive,exact:!1,message:D.message}),J.dirty()}else if(D.kind==="multipleOf"){if(NFA(A.data,D.value)!==0)B=this._getOrReturnCtx(A,B),_6(B,{code:tA.not_multiple_of,multipleOf:D.value,message:D.message}),J.dirty()}else if(D.kind==="finite"){if(!Number.isFinite(A.data))B=this._getOrReturnCtx(A,B),_6(B,{code:tA.not_finite,message:D.message}),J.dirty()}else C9.assertNever(D);return{status:J.value,value:A.data}}gte(A,Q){return this.setLimit("min",A,!0,H2.toString(Q))}gt(A,Q){return this.setLimit("min",A,!1,H2.toString(Q))}lte(A,Q){return this.setLimit("max",A,!0,H2.toString(Q))}lt(A,Q){return this.setLimit("max",A,!1,H2.toString(Q))}setLimit(A,Q,B,J){return new aW({...this._def,checks:[...this._def.checks,{kind:A,value:Q,inclusive:B,message:H2.toString(J)}]})}_addCheck(A){return new aW({...this._def,checks:[...this._def.checks,A]})}int(A){return this._addCheck({kind:"int",message:H2.toString(A)})}positive(A){return this._addCheck({kind:"min",value:0,inclusive:!1,message:H2.toString(A)})}negative(A){return this._addCheck({kind:"max",value:0,inclusive:!1,message:H2.toString(A)})}nonpositive(A){return this._addCheck({kind:"max",value:0,inclusive:!0,message:H2.toString(A)})}nonnegative(A){return this._addCheck({kind:"min",value:0,inclusive:!0,message:H2.toString(A)})}multipleOf(A,Q){return this._addCheck({kind:"multipleOf",value:A,message:H2.toString(Q)})}finite(A){return this._addCheck({kind:"finite",message:H2.toString(A)})}safe(A){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:H2.toString(A)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:H2.toString(A)})}get minValue(){let A=null;for(let Q of this._def.checks)if(Q.kind==="min"){if(A===null||Q.value>A)A=Q.value}return A}get maxValue(){let A=null;for(let Q of this._def.checks)if(Q.kind==="max"){if(A===null||Q.value<A)A=Q.value}return A}get isInt(){return!!this._def.checks.find((A)=>A.kind==="int"||A.kind==="multipleOf"&&C9.isInteger(A.value))}get isFinite(){let A=null,Q=null;for(let B of this._def.checks)if(B.kind==="finite"||B.kind==="int"||B.kind==="multipleOf")return!0;else if(B.kind==="min"){if(Q===null||B.value>Q)Q=B.value}else if(B.kind==="max"){if(A===null||B.value<A)A=B.value}return Number.isFinite(Q)&&Number.isFinite(A)}};aW.create=(A)=>{return new aW({checks:[],typeName:q8.ZodNumber,coerce:A?.coerce||!1,...p8(A)})};nW=class nW extends D9{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(A){if(this._def.coerce)try{A.data=BigInt(A.data)}catch{return this._getInvalidInput(A)}if(this._getType(A)!==F6.bigint)return this._getInvalidInput(A);let B=void 0,J=new lJ;for(let D of this._def.checks)if(D.kind==="min"){if(D.inclusive?A.data<D.value:A.data<=D.value)B=this._getOrReturnCtx(A,B),_6(B,{code:tA.too_small,type:"bigint",minimum:D.value,inclusive:D.inclusive,message:D.message}),J.dirty()}else if(D.kind==="max"){if(D.inclusive?A.data>D.value:A.data>=D.value)B=this._getOrReturnCtx(A,B),_6(B,{code:tA.too_big,type:"bigint",maximum:D.value,inclusive:D.inclusive,message:D.message}),J.dirty()}else if(D.kind==="multipleOf"){if(A.data%D.value!==BigInt(0))B=this._getOrReturnCtx(A,B),_6(B,{code:tA.not_multiple_of,multipleOf:D.value,message:D.message}),J.dirty()}else C9.assertNever(D);return{status:J.value,value:A.data}}_getInvalidInput(A){let Q=this._getOrReturnCtx(A);return _6(Q,{code:tA.invalid_type,expected:F6.bigint,received:Q.parsedType}),G8}gte(A,Q){return this.setLimit("min",A,!0,H2.toString(Q))}gt(A,Q){return this.setLimit("min",A,!1,H2.toString(Q))}lte(A,Q){return this.setLimit("max",A,!0,H2.toString(Q))}lt(A,Q){return this.setLimit("max",A,!1,H2.toString(Q))}setLimit(A,Q,B,J){return new nW({...this._def,checks:[...this._def.checks,{kind:A,value:Q,inclusive:B,message:H2.toString(J)}]})}_addCheck(A){return new nW({...this._def,checks:[...this._def.checks,A]})}positive(A){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:H2.toString(A)})}negative(A){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:H2.toString(A)})}nonpositive(A){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:H2.toString(A)})}nonnegative(A){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:H2.toString(A)})}multipleOf(A,Q){return this._addCheck({kind:"multipleOf",value:A,message:H2.toString(Q)})}get minValue(){let A=null;for(let Q of this._def.checks)if(Q.kind==="min"){if(A===null||Q.value>A)A=Q.value}return A}get maxValue(){let A=null;for(let Q of this._def.checks)if(Q.kind==="max"){if(A===null||Q.value<A)A=Q.value}return A}};nW.create=(A)=>{return new nW({checks:[],typeName:q8.ZodBigInt,coerce:A?.coerce??!1,...p8(A)})};kT=class kT extends D9{_parse(A){if(this._def.coerce)A.data=Boolean(A.data);if(this._getType(A)!==F6.boolean){let B=this._getOrReturnCtx(A);return _6(B,{code:tA.invalid_type,expected:F6.boolean,received:B.parsedType}),G8}return LD(A.data)}};kT.create=(A)=>{return new kT({typeName:q8.ZodBoolean,coerce:A?.coerce||!1,...p8(A)})};ZO=class ZO extends D9{_parse(A){if(this._def.coerce)A.data=new Date(A.data);if(this._getType(A)!==F6.date){let D=this._getOrReturnCtx(A);return _6(D,{code:tA.invalid_type,expected:F6.date,received:D.parsedType}),G8}if(Number.isNaN(A.data.getTime())){let D=this._getOrReturnCtx(A);return _6(D,{code:tA.invalid_date}),G8}let B=new lJ,J=void 0;for(let D of this._def.checks)if(D.kind==="min"){if(A.data.getTime()<D.value)J=this._getOrReturnCtx(A,J),_6(J,{code:tA.too_small,message:D.message,inclusive:!0,exact:!1,minimum:D.value,type:"date"}),B.dirty()}else if(D.kind==="max"){if(A.data.getTime()>D.value)J=this._getOrReturnCtx(A,J),_6(J,{code:tA.too_big,message:D.message,inclusive:!0,exact:!1,maximum:D.value,type:"date"}),B.dirty()}else C9.assertNever(D);return{status:B.value,value:new Date(A.data.getTime())}}_addCheck(A){return new ZO({...this._def,checks:[...this._def.checks,A]})}min(A,Q){return this._addCheck({kind:"min",value:A.getTime(),message:H2.toString(Q)})}max(A,Q){return this._addCheck({kind:"max",value:A.getTime(),message:H2.toString(Q)})}get minDate(){let A=null;for(let Q of this._def.checks)if(Q.kind==="min"){if(A===null||Q.value>A)A=Q.value}return A!=null?new Date(A):null}get maxDate(){let A=null;for(let Q of this._def.checks)if(Q.kind==="max"){if(A===null||Q.value<A)A=Q.value}return A!=null?new Date(A):null}};ZO.create=(A)=>{return new ZO({checks:[],coerce:A?.coerce||!1,typeName:q8.ZodDate,...p8(A)})};ry=class ry extends D9{_parse(A){if(this._getType(A)!==F6.symbol){let B=this._getOrReturnCtx(A);return _6(B,{code:tA.invalid_type,expected:F6.symbol,received:B.parsedType}),G8}return LD(A.data)}};ry.create=(A)=>{return new ry({typeName:q8.ZodSymbol,...p8(A)})};yT=class yT extends D9{_parse(A){if(this._getType(A)!==F6.undefined){let B=this._getOrReturnCtx(A);return _6(B,{code:tA.invalid_type,expected:F6.undefined,received:B.parsedType}),G8}return LD(A.data)}};yT.create=(A)=>{return new yT({typeName:q8.ZodUndefined,...p8(A)})};gT=class gT extends D9{_parse(A){if(this._getType(A)!==F6.null){let B=this._getOrReturnCtx(A);return _6(B,{code:tA.invalid_type,expected:F6.null,received:B.parsedType}),G8}return LD(A.data)}};gT.create=(A)=>{return new gT({typeName:q8.ZodNull,...p8(A)})};XO=class XO extends D9{constructor(){super(...arguments);this._any=!0}_parse(A){return LD(A.data)}};XO.create=(A)=>{return new XO({typeName:q8.ZodAny,...p8(A)})};iW=class iW extends D9{constructor(){super(...arguments);this._unknown=!0}_parse(A){return LD(A.data)}};iW.create=(A)=>{return new iW({typeName:q8.ZodUnknown,...p8(A)})};aU=class aU extends D9{_parse(A){let Q=this._getOrReturnCtx(A);return _6(Q,{code:tA.invalid_type,expected:F6.never,received:Q.parsedType}),G8}};aU.create=(A)=>{return new aU({typeName:q8.ZodNever,...p8(A)})};oy=class oy extends D9{_parse(A){if(this._getType(A)!==F6.undefined){let B=this._getOrReturnCtx(A);return _6(B,{code:tA.invalid_type,expected:F6.void,received:B.parsedType}),G8}return LD(A.data)}};oy.create=(A)=>{return new oy({typeName:q8.ZodVoid,...p8(A)})};xq=class xq extends D9{_parse(A){let{ctx:Q,status:B}=this._processInputParams(A),J=this._def;if(Q.parsedType!==F6.array)return _6(Q,{code:tA.invalid_type,expected:F6.array,received:Q.parsedType}),G8;if(J.exactLength!==null){let z=Q.data.length>J.exactLength.value,Z=Q.data.length<J.exactLength.value;if(z||Z)_6(Q,{code:z?tA.too_big:tA.too_small,minimum:Z?J.exactLength.value:void 0,maximum:z?J.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:J.exactLength.message}),B.dirty()}if(J.minLength!==null){if(Q.data.length<J.minLength.value)_6(Q,{code:tA.too_small,minimum:J.minLength.value,type:"array",inclusive:!0,exact:!1,message:J.minLength.message}),B.dirty()}if(J.maxLength!==null){if(Q.data.length>J.maxLength.value)_6(Q,{code:tA.too_big,maximum:J.maxLength.value,type:"array",inclusive:!0,exact:!1,message:J.maxLength.message}),B.dirty()}if(Q.common.async)return Promise.all([...Q.data].map((z,Z)=>{return J.type._parseAsync(new mq(Q,z,Q.path,Z))})).then((z)=>{return lJ.mergeArray(B,z)});let D=[...Q.data].map((z,Z)=>{return J.type._parseSync(new mq(Q,z,Q.path,Z))});return lJ.mergeArray(B,D)}get element(){return this._def.type}min(A,Q){return new xq({...this._def,minLength:{value:A,message:H2.toString(Q)}})}max(A,Q){return new xq({...this._def,maxLength:{value:A,message:H2.toString(Q)}})}length(A,Q){return new xq({...this._def,exactLength:{value:A,message:H2.toString(Q)}})}nonempty(A){return this.min(1,A)}};xq.create=(A,Q)=>{return new xq({type:A,minLength:null,maxLength:null,exactLength:null,typeName:q8.ZodArray,...p8(Q)})};g7=class g7 extends D9{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let A=this._def.shape(),Q=C9.objectKeys(A);return this._cached={shape:A,keys:Q},this._cached}_parse(A){if(this._getType(A)!==F6.object){let K=this._getOrReturnCtx(A);return _6(K,{code:tA.invalid_type,expected:F6.object,received:K.parsedType}),G8}let{status:B,ctx:J}=this._processInputParams(A),{shape:D,keys:z}=this._getCached(),Z=[];if(!(this._def.catchall instanceof aU&&this._def.unknownKeys==="strip")){for(let K in J.data)if(!z.includes(K))Z.push(K)}let X=[];for(let K of z){let G=D[K],q=J.data[K];X.push({key:{status:"valid",value:K},value:G._parse(new mq(J,q,J.path,K)),alwaysSet:K in J.data})}if(this._def.catchall instanceof aU){let K=this._def.unknownKeys;if(K==="passthrough")for(let G of Z)X.push({key:{status:"valid",value:G},value:{status:"valid",value:J.data[G]}});else if(K==="strict"){if(Z.length>0)_6(J,{code:tA.unrecognized_keys,keys:Z}),B.dirty()}else if(K==="strip");else throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let K=this._def.catchall;for(let G of Z){let q=J.data[G];X.push({key:{status:"valid",value:G},value:K._parse(new mq(J,q,J.path,G)),alwaysSet:G in J.data})}}if(J.common.async)return Promise.resolve().then(async()=>{let K=[];for(let G of X){let q=await G.key,Y=await G.value;K.push({key:q,value:Y,alwaysSet:G.alwaysSet})}return K}).then((K)=>{return lJ.mergeObjectSync(B,K)});else return lJ.mergeObjectSync(B,X)}get shape(){return this._def.shape()}strict(A){return H2.errToObj,new g7({...this._def,unknownKeys:"strict",...A!==void 0?{errorMap:(Q,B)=>{let J=this._def.errorMap?.(Q,B).message??B.defaultError;if(Q.code==="unrecognized_keys")return{message:H2.errToObj(A).message??J};return{message:J}}}:{}})}strip(){return new g7({...this._def,unknownKeys:"strip"})}passthrough(){return new g7({...this._def,unknownKeys:"passthrough"})}extend(A){return new g7({...this._def,shape:()=>({...this._def.shape(),...A})})}merge(A){return new g7({unknownKeys:A._def.unknownKeys,catchall:A._def.catchall,shape:()=>({...this._def.shape(),...A._def.shape()}),typeName:q8.ZodObject})}setKey(A,Q){return this.augment({[A]:Q})}catchall(A){return new g7({...this._def,catchall:A})}pick(A){let Q={};for(let B of C9.objectKeys(A))if(A[B]&&this.shape[B])Q[B]=this.shape[B];return new g7({...this._def,shape:()=>Q})}omit(A){let Q={};for(let B of C9.objectKeys(this.shape))if(!A[B])Q[B]=this.shape[B];return new g7({...this._def,shape:()=>Q})}deepPartial(){return $T(this)}partial(A){let Q={};for(let B of C9.objectKeys(this.shape)){let J=this.shape[B];if(A&&!A[B])Q[B]=J;else Q[B]=J.optional()}return new g7({...this._def,shape:()=>Q})}required(A){let Q={};for(let B of C9.objectKeys(this.shape))if(A&&!A[B])Q[B]=this.shape[B];else{let D=this.shape[B];while(D instanceof hq)D=D._def.innerType;Q[B]=D}return new g7({...this._def,shape:()=>Q})}keyof(){return Zl1(C9.objectKeys(this.shape))}};g7.create=(A,Q)=>{return new g7({shape:()=>A,unknownKeys:"strip",catchall:aU.create(),typeName:q8.ZodObject,...p8(Q)})};g7.strictCreate=(A,Q)=>{return new g7({shape:()=>A,unknownKeys:"strict",catchall:aU.create(),typeName:q8.ZodObject,...p8(Q)})};g7.lazycreate=(A,Q)=>{return new g7({shape:A,unknownKeys:"strip",catchall:aU.create(),typeName:q8.ZodObject,...p8(Q)})};bT=class bT extends D9{_parse(A){let{ctx:Q}=this._processInputParams(A),B=this._def.options;function J(D){for(let Z of D)if(Z.result.status==="valid")return Z.result;for(let Z of D)if(Z.result.status==="dirty")return Q.common.issues.push(...Z.ctx.common.issues),Z.result;let z=D.map((Z)=>new EZ(Z.ctx.common.issues));return _6(Q,{code:tA.invalid_union,unionErrors:z}),G8}if(Q.common.async)return Promise.all(B.map(async(D)=>{let z={...Q,common:{...Q.common,issues:[]},parent:null};return{result:await D._parseAsync({data:Q.data,path:Q.path,parent:z}),ctx:z}})).then(J);else{let D=void 0,z=[];for(let X of B){let K={...Q,common:{...Q.common,issues:[]},parent:null},G=X._parseSync({data:Q.data,path:Q.path,parent:K});if(G.status==="valid")return G;else if(G.status==="dirty"&&!D)D={result:G,ctx:K};if(K.common.issues.length)z.push(K.common.issues)}if(D)return Q.common.issues.push(...D.ctx.common.issues),D.result;let Z=z.map((X)=>new EZ(X));return _6(Q,{code:tA.invalid_union,unionErrors:Z}),G8}}get options(){return this._def.options}};bT.create=(A,Q)=>{return new bT({options:A,typeName:q8.ZodUnion,...p8(Q)})};aa=class aa extends D9{_parse(A){let{ctx:Q}=this._processInputParams(A);if(Q.parsedType!==F6.object)return _6(Q,{code:tA.invalid_type,expected:F6.object,received:Q.parsedType}),G8;let B=this.discriminator,J=Q.data[B],D=this.optionsMap.get(J);if(!D)return _6(Q,{code:tA.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[B]}),G8;if(Q.common.async)return D._parseAsync({data:Q.data,path:Q.path,parent:Q});else return D._parseSync({data:Q.data,path:Q.path,parent:Q})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(A,Q,B){let J=new Map;for(let D of Q){let z=xw(D.shape[A]);if(!z.length)throw new Error(`A discriminator value for key \`${A}\` could not be extracted from all schema options`);for(let Z of z){if(J.has(Z))throw new Error(`Discriminator property ${String(A)} has duplicate value ${String(Z)}`);J.set(Z,D)}}return new aa({typeName:q8.ZodDiscriminatedUnion,discriminator:A,options:Q,optionsMap:J,...p8(B)})}};xT=class xT extends D9{_parse(A){let{status:Q,ctx:B}=this._processInputParams(A),J=(D,z)=>{if(la(D)||la(z))return G8;let Z=uX1(D.value,z.value);if(!Z.valid)return _6(B,{code:tA.invalid_intersection_types}),G8;if(da(D)||da(z))Q.dirty();return{status:Q.value,value:Z.data}};if(B.common.async)return Promise.all([this._def.left._parseAsync({data:B.data,path:B.path,parent:B}),this._def.right._parseAsync({data:B.data,path:B.path,parent:B})]).then(([D,z])=>J(D,z));else return J(this._def.left._parseSync({data:B.data,path:B.path,parent:B}),this._def.right._parseSync({data:B.data,path:B.path,parent:B}))}};xT.create=(A,Q,B)=>{return new xT({left:A,right:Q,typeName:q8.ZodIntersection,...p8(B)})};nU=class nU extends D9{_parse(A){let{status:Q,ctx:B}=this._processInputParams(A);if(B.parsedType!==F6.array)return _6(B,{code:tA.invalid_type,expected:F6.array,received:B.parsedType}),G8;if(B.data.length<this._def.items.length)return _6(B,{code:tA.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),G8;if(!this._def.rest&&B.data.length>this._def.items.length)_6(B,{code:tA.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),Q.dirty();let D=[...B.data].map((z,Z)=>{let X=this._def.items[Z]||this._def.rest;if(!X)return null;return X._parse(new mq(B,z,B.path,Z))}).filter((z)=>!!z);if(B.common.async)return Promise.all(D).then((z)=>{return lJ.mergeArray(Q,z)});else return lJ.mergeArray(Q,D)}get items(){return this._def.items}rest(A){return new nU({...this._def,rest:A})}};nU.create=(A,Q)=>{if(!Array.isArray(A))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new nU({items:A,typeName:q8.ZodTuple,rest:null,...p8(Q)})};ty=class ty extends D9{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(A){let{status:Q,ctx:B}=this._processInputParams(A);if(B.parsedType!==F6.object)return _6(B,{code:tA.invalid_type,expected:F6.object,received:B.parsedType}),G8;let J=[],D=this._def.keyType,z=this._def.valueType;for(let Z in B.data)J.push({key:D._parse(new mq(B,Z,B.path,Z)),value:z._parse(new mq(B,B.data[Z],B.path,Z)),alwaysSet:Z in B.data});if(B.common.async)return lJ.mergeObjectAsync(Q,J);else return lJ.mergeObjectSync(Q,J)}get element(){return this._def.valueType}static create(A,Q,B){if(Q instanceof D9)return new ty({keyType:A,valueType:Q,typeName:q8.ZodRecord,...p8(B)});return new ty({keyType:bq.create(),valueType:A,typeName:q8.ZodRecord,...p8(Q)})}};ey=class ey extends D9{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(A){let{status:Q,ctx:B}=this._processInputParams(A);if(B.parsedType!==F6.map)return _6(B,{code:tA.invalid_type,expected:F6.map,received:B.parsedType}),G8;let J=this._def.keyType,D=this._def.valueType,z=[...B.data.entries()].map(([Z,X],K)=>{return{key:J._parse(new mq(B,Z,B.path,[K,"key"])),value:D._parse(new mq(B,X,B.path,[K,"value"]))}});if(B.common.async){let Z=new Map;return Promise.resolve().then(async()=>{for(let X of z){let K=await X.key,G=await X.value;if(K.status==="aborted"||G.status==="aborted")return G8;if(K.status==="dirty"||G.status==="dirty")Q.dirty();Z.set(K.value,G.value)}return{status:Q.value,value:Z}})}else{let Z=new Map;for(let X of z){let{key:K,value:G}=X;if(K.status==="aborted"||G.status==="aborted")return G8;if(K.status==="dirty"||G.status==="dirty")Q.dirty();Z.set(K.value,G.value)}return{status:Q.value,value:Z}}}};ey.create=(A,Q,B)=>{return new ey({valueType:Q,keyType:A,typeName:q8.ZodMap,...p8(B)})};KO=class KO extends D9{_parse(A){let{status:Q,ctx:B}=this._processInputParams(A);if(B.parsedType!==F6.set)return _6(B,{code:tA.invalid_type,expected:F6.set,received:B.parsedType}),G8;let J=this._def;if(J.minSize!==null){if(B.data.size<J.minSize.value)_6(B,{code:tA.too_small,minimum:J.minSize.value,type:"set",inclusive:!0,exact:!1,message:J.minSize.message}),Q.dirty()}if(J.maxSize!==null){if(B.data.size>J.maxSize.value)_6(B,{code:tA.too_big,maximum:J.maxSize.value,type:"set",inclusive:!0,exact:!1,message:J.maxSize.message}),Q.dirty()}let D=this._def.valueType;function z(X){let K=new Set;for(let G of X){if(G.status==="aborted")return G8;if(G.status==="dirty")Q.dirty();K.add(G.value)}return{status:Q.value,value:K}}let Z=[...B.data.values()].map((X,K)=>D._parse(new mq(B,X,B.path,K)));if(B.common.async)return Promise.all(Z).then((X)=>z(X));else return z(Z)}min(A,Q){return new KO({...this._def,minSize:{value:A,message:H2.toString(Q)}})}max(A,Q){return new KO({...this._def,maxSize:{value:A,message:H2.toString(Q)}})}size(A,Q){return this.min(A,Q).max(A,Q)}nonempty(A){return this.min(1,A)}};KO.create=(A,Q)=>{return new KO({valueType:A,minSize:null,maxSize:null,typeName:q8.ZodSet,...p8(Q)})};fT=class fT extends D9{constructor(){super(...arguments);this.validate=this.implement}_parse(A){let{ctx:Q}=this._processInputParams(A);if(Q.parsedType!==F6.function)return _6(Q,{code:tA.invalid_type,expected:F6.function,received:Q.parsedType}),G8;function B(Z,X){return ay({data:Z,path:Q.path,errorMaps:[Q.common.contextualErrorMap,Q.schemaErrorMap,ST(),bw].filter((K)=>!!K),issueData:{code:tA.invalid_arguments,argumentsError:X}})}function J(Z,X){return ay({data:Z,path:Q.path,errorMaps:[Q.common.contextualErrorMap,Q.schemaErrorMap,ST(),bw].filter((K)=>!!K),issueData:{code:tA.invalid_return_type,returnTypeError:X}})}let D={errorMap:Q.common.contextualErrorMap},z=Q.data;if(this._def.returns instanceof GO){let Z=this;return LD(async function(...X){let K=new EZ([]),G=await Z._def.args.parseAsync(X,D).catch((F)=>{throw K.addIssue(B(X,F)),K}),q=await Reflect.apply(z,this,G);return await Z._def.returns._def.type.parseAsync(q,D).catch((F)=>{throw K.addIssue(J(q,F)),K})})}else{let Z=this;return LD(function(...X){let K=Z._def.args.safeParse(X,D);if(!K.success)throw new EZ([B(X,K.error)]);let G=Reflect.apply(z,this,K.data),q=Z._def.returns.safeParse(G,D);if(!q.success)throw new EZ([J(G,q.error)]);return q.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...A){return new fT({...this._def,args:nU.create(A).rest(iW.create())})}returns(A){return new fT({...this._def,returns:A})}implement(A){return this.parse(A)}strictImplement(A){return this.parse(A)}static create(A,Q,B){return new fT({args:A?A:nU.create([]).rest(iW.create()),returns:Q||iW.create(),typeName:q8.ZodFunction,...p8(B)})}};hT=class hT extends D9{get schema(){return this._def.getter()}_parse(A){let{ctx:Q}=this._processInputParams(A);return this._def.getter()._parse({data:Q.data,path:Q.path,parent:Q})}};hT.create=(A,Q)=>{return new hT({getter:A,typeName:q8.ZodLazy,...p8(Q)})};mT=class mT extends D9{_parse(A){if(A.data!==this._def.value){let Q=this._getOrReturnCtx(A);return _6(Q,{received:Q.data,code:tA.invalid_literal,expected:this._def.value}),G8}return{status:"valid",value:A.data}}get value(){return this._def.value}};mT.create=(A,Q)=>{return new mT({value:A,typeName:q8.ZodLiteral,...p8(Q)})};sW=class sW extends D9{constructor(){super(...arguments);ny.set(this,void 0)}_parse(A){if(typeof A.data!=="string"){let Q=this._getOrReturnCtx(A),B=this._def.values;return _6(Q,{expected:C9.joinValues(B),received:Q.parsedType,code:tA.invalid_type}),G8}if(!ia(this,ny,"f"))Bl1(this,ny,new Set(this._def.values),"f");if(!ia(this,ny,"f").has(A.data)){let Q=this._getOrReturnCtx(A),B=this._def.values;return _6(Q,{received:Q.data,code:tA.invalid_enum_value,options:B}),G8}return LD(A.data)}get options(){return this._def.values}get enum(){let A={};for(let Q of this._def.values)A[Q]=Q;return A}get Values(){let A={};for(let Q of this._def.values)A[Q]=Q;return A}get Enum(){let A={};for(let Q of this._def.values)A[Q]=Q;return A}extract(A,Q=this._def){return sW.create(A,{...this._def,...Q})}exclude(A,Q=this._def){return sW.create(this.options.filter((B)=>!A.includes(B)),{...this._def,...Q})}};ny=new WeakMap;sW.create=Zl1;uT=class uT extends D9{constructor(){super(...arguments);sy.set(this,void 0)}_parse(A){let Q=C9.getValidEnumValues(this._def.values),B=this._getOrReturnCtx(A);if(B.parsedType!==F6.string&&B.parsedType!==F6.number){let J=C9.objectValues(Q);return _6(B,{expected:C9.joinValues(J),received:B.parsedType,code:tA.invalid_type}),G8}if(!ia(this,sy,"f"))Bl1(this,sy,new Set(C9.getValidEnumValues(this._def.values)),"f");if(!ia(this,sy,"f").has(A.data)){let J=C9.objectValues(Q);return _6(B,{received:B.data,code:tA.invalid_enum_value,options:J}),G8}return LD(A.data)}get enum(){return this._def.values}};sy=new WeakMap;uT.create=(A,Q)=>{return new uT({values:A,typeName:q8.ZodNativeEnum,...p8(Q)})};GO=class GO extends D9{unwrap(){return this._def.type}_parse(A){let{ctx:Q}=this._processInputParams(A);if(Q.parsedType!==F6.promise&&Q.common.async===!1)return _6(Q,{code:tA.invalid_type,expected:F6.promise,received:Q.parsedType}),G8;let B=Q.parsedType===F6.promise?Q.data:Promise.resolve(Q.data);return LD(B.then((J)=>{return this._def.type.parseAsync(J,{path:Q.path,errorMap:Q.common.contextualErrorMap})}))}};GO.create=(A,Q)=>{return new GO({type:A,typeName:q8.ZodPromise,...p8(Q)})};uq=class uq extends D9{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===q8.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(A){let{status:Q,ctx:B}=this._processInputParams(A),J=this._def.effect||null,D={addIssue:(z)=>{if(_6(B,z),z.fatal)Q.abort();else Q.dirty()},get path(){return B.path}};if(D.addIssue=D.addIssue.bind(D),J.type==="preprocess"){let z=J.transform(B.data,D);if(B.common.async)return Promise.resolve(z).then(async(Z)=>{if(Q.value==="aborted")return G8;let X=await this._def.schema._parseAsync({data:Z,path:B.path,parent:B});if(X.status==="aborted")return G8;if(X.status==="dirty")return zO(X.value);if(Q.value==="dirty")return zO(X.value);return X});else{if(Q.value==="aborted")return G8;let Z=this._def.schema._parseSync({data:z,path:B.path,parent:B});if(Z.status==="aborted")return G8;if(Z.status==="dirty")return zO(Z.value);if(Q.value==="dirty")return zO(Z.value);return Z}}if(J.type==="refinement"){let z=(Z)=>{let X=J.refinement(Z,D);if(B.common.async)return Promise.resolve(X);if(X instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return Z};if(B.common.async===!1){let Z=this._def.schema._parseSync({data:B.data,path:B.path,parent:B});if(Z.status==="aborted")return G8;if(Z.status==="dirty")Q.dirty();return z(Z.value),{status:Q.value,value:Z.value}}else return this._def.schema._parseAsync({data:B.data,path:B.path,parent:B}).then((Z)=>{if(Z.status==="aborted")return G8;if(Z.status==="dirty")Q.dirty();return z(Z.value).then(()=>{return{status:Q.value,value:Z.value}})})}if(J.type==="transform")if(B.common.async===!1){let z=this._def.schema._parseSync({data:B.data,path:B.path,parent:B});if(!dW(z))return z;let Z=J.transform(z.value,D);if(Z instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:Q.value,value:Z}}else return this._def.schema._parseAsync({data:B.data,path:B.path,parent:B}).then((z)=>{if(!dW(z))return z;return Promise.resolve(J.transform(z.value,D)).then((Z)=>({status:Q.value,value:Z}))});C9.assertNever(J)}};uq.create=(A,Q,B)=>{return new uq({schema:A,typeName:q8.ZodEffects,effect:Q,...p8(B)})};uq.createWithPreprocess=(A,Q,B)=>{return new uq({schema:Q,effect:{type:"preprocess",transform:A},typeName:q8.ZodEffects,...p8(B)})};hq=class hq extends D9{_parse(A){if(this._getType(A)===F6.undefined)return LD(void 0);return this._def.innerType._parse(A)}unwrap(){return this._def.innerType}};hq.create=(A,Q)=>{return new hq({innerType:A,typeName:q8.ZodOptional,...p8(Q)})};hw=class hw extends D9{_parse(A){if(this._getType(A)===F6.null)return LD(null);return this._def.innerType._parse(A)}unwrap(){return this._def.innerType}};hw.create=(A,Q)=>{return new hw({innerType:A,typeName:q8.ZodNullable,...p8(Q)})};pT=class pT extends D9{_parse(A){let{ctx:Q}=this._processInputParams(A),B=Q.data;if(Q.parsedType===F6.undefined)B=this._def.defaultValue();return this._def.innerType._parse({data:B,path:Q.path,parent:Q})}removeDefault(){return this._def.innerType}};pT.create=(A,Q)=>{return new pT({innerType:A,typeName:q8.ZodDefault,defaultValue:typeof Q.default==="function"?Q.default:()=>Q.default,...p8(Q)})};cT=class cT extends D9{_parse(A){let{ctx:Q}=this._processInputParams(A),B={...Q,common:{...Q.common,issues:[]}},J=this._def.innerType._parse({data:B.data,path:B.path,parent:{...B}});if(vT(J))return J.then((D)=>{return{status:"valid",value:D.status==="valid"?D.value:this._def.catchValue({get error(){return new EZ(B.common.issues)},input:B.data})}});else return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new EZ(B.common.issues)},input:B.data})}}removeCatch(){return this._def.innerType}};cT.create=(A,Q)=>{return new cT({innerType:A,typeName:q8.ZodCatch,catchValue:typeof Q.catch==="function"?Q.catch:()=>Q.catch,...p8(Q)})};Ag=class Ag extends D9{_parse(A){if(this._getType(A)!==F6.nan){let B=this._getOrReturnCtx(A);return _6(B,{code:tA.invalid_type,expected:F6.nan,received:B.parsedType}),G8}return{status:"valid",value:A.data}}};Ag.create=(A)=>{return new Ag({typeName:q8.ZodNaN,...p8(A)})};CFA=Symbol("zod_brand");na=class na extends D9{_parse(A){let{ctx:Q}=this._processInputParams(A),B=Q.data;return this._def.type._parse({data:B,path:Q.path,parent:Q})}unwrap(){return this._def.type}};Qg=class Qg extends D9{_parse(A){let{status:Q,ctx:B}=this._processInputParams(A);if(B.common.async)return(async()=>{let D=await this._def.in._parseAsync({data:B.data,path:B.path,parent:B});if(D.status==="aborted")return G8;if(D.status==="dirty")return Q.dirty(),zO(D.value);else return this._def.out._parseAsync({data:D.value,path:B.path,parent:B})})();else{let J=this._def.in._parseSync({data:B.data,path:B.path,parent:B});if(J.status==="aborted")return G8;if(J.status==="dirty")return Q.dirty(),{status:"dirty",value:J.value};else return this._def.out._parseSync({data:J.value,path:B.path,parent:B})}}static create(A,Q){return new Qg({in:A,out:Q,typeName:q8.ZodPipeline})}};lT=class lT extends D9{_parse(A){let Q=this._def.innerType._parse(A),B=(J)=>{if(dW(J))J.value=Object.freeze(J.value);return J};return vT(Q)?Q.then((J)=>B(J)):B(Q)}unwrap(){return this._def.innerType}};lT.create=(A,Q)=>{return new lT({innerType:A,typeName:q8.ZodReadonly,...p8(Q)})};VFA={object:g7.lazycreate};(function(A){A.ZodString="ZodString",A.ZodNumber="ZodNumber",A.ZodNaN="ZodNaN",A.ZodBigInt="ZodBigInt",A.ZodBoolean="ZodBoolean",A.ZodDate="ZodDate",A.ZodSymbol="ZodSymbol",A.ZodUndefined="ZodUndefined",A.ZodNull="ZodNull",A.ZodAny="ZodAny",A.ZodUnknown="ZodUnknown",A.ZodNever="ZodNever",A.ZodVoid="ZodVoid",A.ZodArray="ZodArray",A.ZodObject="ZodObject",A.ZodUnion="ZodUnion",A.ZodDiscriminatedUnion="ZodDiscriminatedUnion",A.ZodIntersection="ZodIntersection",A.ZodTuple="ZodTuple",A.ZodRecord="ZodRecord",A.ZodMap="ZodMap",A.ZodSet="ZodSet",A.ZodFunction="ZodFunction",A.ZodLazy="ZodLazy",A.ZodLiteral="ZodLiteral",A.ZodEnum="ZodEnum",A.ZodEffects="ZodEffects",A.ZodNativeEnum="ZodNativeEnum",A.ZodOptional="ZodOptional",A.ZodNullable="ZodNullable",A.ZodDefault="ZodDefault",A.ZodCatch="ZodCatch",A.ZodPromise="ZodPromise",A.ZodBranded="ZodBranded",A.ZodPipeline="ZodPipeline",A.ZodReadonly="ZodReadonly"})(q8||(q8={}));Kl1=bq.create,Gl1=aW.create,RFA=Ag.create,LFA=nW.create,ql1=kT.create,_FA=ZO.create,TFA=ry.create,jFA=yT.create,PFA=gT.create,SFA=XO.create,vFA=iW.create,$FA=aU.create,fFA=oy.create,kFA=xq.create,yFA=g7.create,gFA=g7.strictCreate,bFA=bT.create,xFA=aa.create,hFA=xT.create,mFA=nU.create,uFA=ty.create,pFA=ey.create,cFA=KO.create,lFA=fT.create,dFA=hT.create,iFA=mT.create,aFA=sW.create,nFA=uT.create,sFA=GO.create,rFA=uq.create,oFA=hq.create,tFA=hw.create,eFA=uq.createWithPreprocess,AEA=Qg.create,DEA={string:(A)=>bq.create({...A,coerce:!0}),number:(A)=>aW.create({...A,coerce:!0}),boolean:(A)=>kT.create({...A,coerce:!0}),bigint:(A)=>nW.create({...A,coerce:!0}),date:(A)=>ZO.create({...A,coerce:!0})},zEA=G8});var f1={};J2(f1,{void:()=>fFA,util:()=>C9,unknown:()=>vFA,union:()=>bFA,undefined:()=>jFA,tuple:()=>mFA,transformer:()=>rFA,symbol:()=>TFA,string:()=>Kl1,strictObject:()=>gFA,setErrorMap:()=>tUA,set:()=>cFA,record:()=>uFA,quotelessJson:()=>rUA,promise:()=>sFA,preprocess:()=>eFA,pipeline:()=>AEA,ostring:()=>QEA,optional:()=>oFA,onumber:()=>BEA,oboolean:()=>JEA,objectUtil:()=>bX1,object:()=>yFA,number:()=>Gl1,nullable:()=>tFA,null:()=>PFA,never:()=>$FA,nativeEnum:()=>nFA,nan:()=>RFA,map:()=>pFA,makeIssue:()=>ay,literal:()=>iFA,lazy:()=>dFA,late:()=>VFA,isValid:()=>dW,isDirty:()=>da,isAsync:()=>vT,isAborted:()=>la,intersection:()=>hFA,instanceof:()=>OFA,getParsedType:()=>iU,getErrorMap:()=>ST,function:()=>lFA,enum:()=>aFA,effect:()=>rFA,discriminatedUnion:()=>xFA,defaultErrorMap:()=>bw,datetimeRegex:()=>zl1,date:()=>_FA,custom:()=>Xl1,coerce:()=>DEA,boolean:()=>ql1,bigint:()=>LFA,array:()=>kFA,any:()=>SFA,addIssueToContext:()=>_6,ZodVoid:()=>oy,ZodUnknown:()=>iW,ZodUnion:()=>bT,ZodUndefined:()=>yT,ZodType:()=>D9,ZodTuple:()=>nU,ZodTransformer:()=>uq,ZodSymbol:()=>ry,ZodString:()=>bq,ZodSet:()=>KO,ZodSchema:()=>D9,ZodRecord:()=>ty,ZodReadonly:()=>lT,ZodPromise:()=>GO,ZodPipeline:()=>Qg,ZodParsedType:()=>F6,ZodOptional:()=>hq,ZodObject:()=>g7,ZodNumber:()=>aW,ZodNullable:()=>hw,ZodNull:()=>gT,ZodNever:()=>aU,ZodNativeEnum:()=>uT,ZodNaN:()=>Ag,ZodMap:()=>ey,ZodLiteral:()=>mT,ZodLazy:()=>hT,ZodIssueCode:()=>tA,ZodIntersection:()=>xT,ZodFunction:()=>fT,ZodFirstPartyTypeKind:()=>q8,ZodError:()=>EZ,ZodEnum:()=>sW,ZodEffects:()=>uq,ZodDiscriminatedUnion:()=>aa,ZodDefault:()=>pT,ZodDate:()=>ZO,ZodCatch:()=>cT,ZodBranded:()=>na,ZodBoolean:()=>kT,ZodBigInt:()=>nW,ZodArray:()=>xq,ZodAny:()=>XO,Schema:()=>D9,ParseStatus:()=>lJ,OK:()=>LD,NEVER:()=>zEA,INVALID:()=>G8,EMPTY_PATH:()=>eUA,DIRTY:()=>zO,BRAND:()=>CFA});var pX1=x1(()=>{ca();hX1();tc1();iy();Yl1();pa()});var Ul1=x1(()=>{pX1();pX1()});var sa=x1(()=>{Ul1()});var dT="2025-03-26",Fl1,ra="2.0",El1,wl1,ZEA,pq,jX,Bg,sU,cq,oa,Hl1,Ml1=(A)=>Hl1.safeParse(A).success,Wl1,Il1=(A)=>Wl1.safeParse(A).success,Nl1,cX1=(A)=>Nl1.safeParse(A).success,dK,Cl1,Vl1=(A)=>Cl1.safeParse(A).success,ta,qO,ea,Ol1,XEA,KEA,GEA,lX1,qEA,An,YEA,Qn,Bn,Jn,Rl1,Ll1,_l1,UEA,FEA,EEA,dX1,wEA,iX1,HEA,aX1,MEA,WEA,IEA,NEA,CEA,VEA,OEA,nX1,REA,Dn,zn,Zn,Tl1,LEA,sX1,_EA,TEA,jEA,PEA,rX1,Xn,u42,SEA,oX1,jl1,vEA,$EA,fEA,kEA,yEA,gEA,bEA,xEA,hEA,mEA,tX1,uEA,pEA,cEA,lEA,p42,c42,l42,d42,i42,a42,lq;var YO=x1(()=>{sa();Fl1=[dT,"2024-11-05","2024-10-07"],El1=f1.union([f1.string(),f1.number().int()]),wl1=f1.string(),ZEA=f1.object({progressToken:f1.optional(El1)}).passthrough(),pq=f1.object({_meta:f1.optional(ZEA)}).passthrough(),jX=f1.object({method:f1.string(),params:f1.optional(pq)}),Bg=f1.object({_meta:f1.optional(f1.object({}).passthrough())}).passthrough(),sU=f1.object({method:f1.string(),params:f1.optional(Bg)}),cq=f1.object({_meta:f1.optional(f1.object({}).passthrough())}).passthrough(),oa=f1.union([f1.string(),f1.number().int()]),Hl1=f1.object({jsonrpc:f1.literal(ra),id:oa}).merge(jX).strict(),Wl1=f1.object({jsonrpc:f1.literal(ra)}).merge(sU).strict(),Nl1=f1.object({jsonrpc:f1.literal(ra),id:oa,result:cq}).strict();(function(A){A[A.ConnectionClosed=-32000]="ConnectionClosed",A[A.RequestTimeout=-32001]="RequestTimeout",A[A.ParseError=-32700]="ParseError",A[A.InvalidRequest=-32600]="InvalidRequest",A[A.MethodNotFound=-32601]="MethodNotFound",A[A.InvalidParams=-32602]="InvalidParams",A[A.InternalError=-32603]="InternalError"})(dK||(dK={}));Cl1=f1.object({jsonrpc:f1.literal(ra),id:oa,error:f1.object({code:f1.number().int(),message:f1.string(),data:f1.optional(f1.unknown())})}).strict(),ta=f1.union([Hl1,Wl1,Nl1,Cl1]),qO=cq.strict(),ea=sU.extend({method:f1.literal("notifications/cancelled"),params:Bg.extend({requestId:oa,reason:f1.string().optional()})}),Ol1=f1.object({name:f1.string(),version:f1.string()}).passthrough(),XEA=f1.object({experimental:f1.optional(f1.object({}).passthrough()),sampling:f1.optional(f1.object({}).passthrough()),roots:f1.optional(f1.object({listChanged:f1.optional(f1.boolean())}).passthrough())}).passthrough(),KEA=jX.extend({method:f1.literal("initialize"),params:pq.extend({protocolVersion:f1.string(),capabilities:XEA,clientInfo:Ol1})}),GEA=f1.object({experimental:f1.optional(f1.object({}).passthrough()),logging:f1.optional(f1.object({}).passthrough()),completions:f1.optional(f1.object({}).passthrough()),prompts:f1.optional(f1.object({listChanged:f1.optional(f1.boolean())}).passthrough()),resources:f1.optional(f1.object({subscribe:f1.optional(f1.boolean()),listChanged:f1.optional(f1.boolean())}).passthrough()),tools:f1.optional(f1.object({listChanged:f1.optional(f1.boolean())}).passthrough())}).passthrough(),lX1=cq.extend({protocolVersion:f1.string(),capabilities:GEA,serverInfo:Ol1,instructions:f1.optional(f1.string())}),qEA=sU.extend({method:f1.literal("notifications/initialized")}),An=jX.extend({method:f1.literal("ping")}),YEA=f1.object({progress:f1.number(),total:f1.optional(f1.number()),message:f1.optional(f1.string())}).passthrough(),Qn=sU.extend({method:f1.literal("notifications/progress"),params:Bg.merge(YEA).extend({progressToken:El1})}),Bn=jX.extend({params:pq.extend({cursor:f1.optional(wl1)}).optional()}),Jn=cq.extend({nextCursor:f1.optional(wl1)}),Rl1=f1.object({uri:f1.string(),mimeType:f1.optional(f1.string())}).passthrough(),Ll1=Rl1.extend({text:f1.string()}),_l1=Rl1.extend({blob:f1.string().base64()}),UEA=f1.object({uri:f1.string(),name:f1.string(),description:f1.optional(f1.string()),mimeType:f1.optional(f1.string())}).passthrough(),FEA=f1.object({uriTemplate:f1.string(),name:f1.string(),description:f1.optional(f1.string()),mimeType:f1.optional(f1.string())}).passthrough(),EEA=Bn.extend({method:f1.literal("resources/list")}),dX1=Jn.extend({resources:f1.array(UEA)}),wEA=Bn.extend({method:f1.literal("resources/templates/list")}),iX1=Jn.extend({resourceTemplates:f1.array(FEA)}),HEA=jX.extend({method:f1.literal("resources/read"),params:pq.extend({uri:f1.string()})}),aX1=cq.extend({contents:f1.array(f1.union([Ll1,_l1]))}),MEA=sU.extend({method:f1.literal("notifications/resources/list_changed")}),WEA=jX.extend({method:f1.literal("resources/subscribe"),params:pq.extend({uri:f1.string()})}),IEA=jX.extend({method:f1.literal("resources/unsubscribe"),params:pq.extend({uri:f1.string()})}),NEA=sU.extend({method:f1.literal("notifications/resources/updated"),params:Bg.extend({uri:f1.string()})}),CEA=f1.object({name:f1.string(),description:f1.optional(f1.string()),required:f1.optional(f1.boolean())}).passthrough(),VEA=f1.object({name:f1.string(),description:f1.optional(f1.string()),arguments:f1.optional(f1.array(CEA))}).passthrough(),OEA=Bn.extend({method:f1.literal("prompts/list")}),nX1=Jn.extend({prompts:f1.array(VEA)}),REA=jX.extend({method:f1.literal("prompts/get"),params:pq.extend({name:f1.string(),arguments:f1.optional(f1.record(f1.string()))})}),Dn=f1.object({type:f1.literal("text"),text:f1.string()}).passthrough(),zn=f1.object({type:f1.literal("image"),data:f1.string().base64(),mimeType:f1.string()}).passthrough(),Zn=f1.object({type:f1.literal("audio"),data:f1.string().base64(),mimeType:f1.string()}).passthrough(),Tl1=f1.object({type:f1.literal("resource"),resource:f1.union([Ll1,_l1])}).passthrough(),LEA=f1.object({role:f1.enum(["user","assistant"]),content:f1.union([Dn,zn,Zn,Tl1])}).passthrough(),sX1=cq.extend({description:f1.optional(f1.string()),messages:f1.array(LEA)}),_EA=sU.extend({method:f1.literal("notifications/prompts/list_changed")}),TEA=f1.object({title:f1.optional(f1.string()),readOnlyHint:f1.optional(f1.boolean()),destructiveHint:f1.optional(f1.boolean()),idempotentHint:f1.optional(f1.boolean()),openWorldHint:f1.optional(f1.boolean())}).passthrough(),jEA=f1.object({name:f1.string(),description:f1.optional(f1.string()),inputSchema:f1.object({type:f1.literal("object"),properties:f1.optional(f1.object({}).passthrough()),required:f1.optional(f1.array(f1.string()))}).passthrough(),outputSchema:f1.optional(f1.object({type:f1.literal("object"),properties:f1.optional(f1.object({}).passthrough()),required:f1.optional(f1.array(f1.string()))}).passthrough()),annotations:f1.optional(TEA)}).passthrough(),PEA=Bn.extend({method:f1.literal("tools/list")}),rX1=Jn.extend({tools:f1.array(jEA)}),Xn=cq.extend({content:f1.array(f1.union([Dn,zn,Zn,Tl1])).default([]),structuredContent:f1.object({}).passthrough().optional(),isError:f1.optional(f1.boolean())}),u42=Xn.or(cq.extend({toolResult:f1.unknown()})),SEA=jX.extend({method:f1.literal("tools/call"),params:pq.extend({name:f1.string(),arguments:f1.optional(f1.record(f1.unknown()))})}),oX1=sU.extend({method:f1.literal("notifications/tools/list_changed")}),jl1=f1.enum(["debug","info","notice","warning","error","critical","alert","emergency"]),vEA=jX.extend({method:f1.literal("logging/setLevel"),params:pq.extend({level:jl1})}),$EA=sU.extend({method:f1.literal("notifications/message"),params:Bg.extend({level:jl1,logger:f1.optional(f1.string()),data:f1.unknown()})}),fEA=f1.object({name:f1.string().optional()}).passthrough(),kEA=f1.object({hints:f1.optional(f1.array(fEA)),costPriority:f1.optional(f1.number().min(0).max(1)),speedPriority:f1.optional(f1.number().min(0).max(1)),intelligencePriority:f1.optional(f1.number().min(0).max(1))}).passthrough(),yEA=f1.object({role:f1.enum(["user","assistant"]),content:f1.union([Dn,zn,Zn])}).passthrough(),gEA=jX.extend({method:f1.literal("sampling/createMessage"),params:pq.extend({messages:f1.array(yEA),systemPrompt:f1.optional(f1.string()),includeContext:f1.optional(f1.enum(["none","thisServer","allServers"])),temperature:f1.optional(f1.number()),maxTokens:f1.number().int(),stopSequences:f1.optional(f1.array(f1.string())),metadata:f1.optional(f1.object({}).passthrough()),modelPreferences:f1.optional(kEA)})}),bEA=cq.extend({model:f1.string(),stopReason:f1.optional(f1.enum(["endTurn","stopSequence","maxTokens"]).or(f1.string())),role:f1.enum(["user","assistant"]),content:f1.discriminatedUnion("type",[Dn,zn,Zn])}),xEA=f1.object({type:f1.literal("ref/resource"),uri:f1.string()}).passthrough(),hEA=f1.object({type:f1.literal("ref/prompt"),name:f1.string()}).passthrough(),mEA=jX.extend({method:f1.literal("completion/complete"),params:pq.extend({ref:f1.union([hEA,xEA]),argument:f1.object({name:f1.string(),value:f1.string()}).passthrough()})}),tX1=cq.extend({completion:f1.object({values:f1.array(f1.string()).max(100),total:f1.optional(f1.number().int()),hasMore:f1.optional(f1.boolean())}).passthrough()}),uEA=f1.object({uri:f1.string().startsWith("file://"),name:f1.optional(f1.string())}).passthrough(),pEA=jX.extend({method:f1.literal("roots/list")}),cEA=cq.extend({roots:f1.array(uEA)}),lEA=sU.extend({method:f1.literal("notifications/roots/list_changed")}),p42=f1.union([An,KEA,mEA,vEA,REA,OEA,EEA,wEA,HEA,WEA,IEA,SEA,PEA]),c42=f1.union([ea,Qn,qEA,lEA]),l42=f1.union([qO,bEA,cEA]),d42=f1.union([An,gEA,pEA]),i42=f1.union([ea,Qn,$EA,NEA,MEA,oX1,_EA]),a42=f1.union([qO,lX1,tX1,sX1,nX1,dX1,iX1,aX1,Xn,rX1]);lq=class lq extends Error{constructor(A,Q,B){super(`MCP error ${A}: ${Q}`);this.code=A,this.data=B,this.name="McpError"}}});var vl1=Q1((Kn,Sl1)=>{(function(A,Q){typeof Kn==="object"&&typeof Sl1!=="undefined"?Q(Kn):typeof define==="function"&&define.amd?define(["exports"],Q):Q(A.URI=A.URI||{})})(Kn,function(A){function Q(){for(var e1=arguments.length,h1=Array(e1),Q0=0;Q0<e1;Q0++)h1[Q0]=arguments[Q0];if(h1.length>1){h1[0]=h1[0].slice(0,-1);var M0=h1.length-1;for(var K0=1;K0<M0;++K0)h1[K0]=h1[K0].slice(1,-1);return h1[M0]=h1[M0].slice(1),h1.join("")}else return h1[0]}function B(e1){return"(?:"+e1+")"}function J(e1){return e1===void 0?"undefined":e1===null?"null":Object.prototype.toString.call(e1).split(" ").pop().split("]").shift().toLowerCase()}function D(e1){return e1.toUpperCase()}function z(e1){return e1!==void 0&&e1!==null?e1 instanceof Array?e1:typeof e1.length!=="number"||e1.split||e1.setInterval||e1.call?[e1]:Array.prototype.slice.call(e1):[]}function Z(e1,h1){var Q0=e1;if(h1)for(var M0 in h1)Q0[M0]=h1[M0];return Q0}function X(e1){var h1="[A-Za-z]",Q0="[\\x0D]",M0="[0-9]",K0="[\\x22]",EA=Q(M0,"[A-Fa-f]"),AA="[\\x0A]",v6="[\\x20]",$6=B(B("%[EFef]"+EA+"%"+EA+EA+"%"+EA+EA)+"|"+B("%[89A-Fa-f]"+EA+"%"+EA+EA)+"|"+B("%"+EA+EA)),i6="[\\:\\/\\?\\#\\[\\]\\@]",U6="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",F2=Q(i6,U6),jA=e1?"[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]":"[]",Z0=e1?"[\\uE000-\\uF8FF]":"[]",s0=Q(h1,M0,"[\\-\\.\\_\\~]",jA),NA=B(h1+Q(h1,M0,"[\\+\\-\\.]")+"*"),q6=B(B($6+"|"+Q(s0,U6,"[\\:]"))+"*"),x2=B(B("25[0-5]")+"|"+B("2[0-4]"+M0)+"|"+B("1"+M0+M0)+"|"+B("[1-9]"+M0)+"|"+M0),h2=B(B("25[0-5]")+"|"+B("2[0-4]"+M0)+"|"+B("1"+M0+M0)+"|"+B("0?[1-9]"+M0)+"|0?0?"+M0),v2=B(h2+"\\."+h2+"\\."+h2+"\\."+h2),Y2=B(EA+"{1,4}"),z8=B(B(Y2+"\\:"+Y2)+"|"+v2),Q2=B(B(Y2+"\\:")+"{6}"+z8),o6=B("\\:\\:"+B(Y2+"\\:")+"{5}"+z8),B6=B(B(Y2)+"?\\:\\:"+B(Y2+"\\:")+"{4}"+z8),kA=B(B(B(Y2+"\\:")+"{0,1}"+Y2)+"?\\:\\:"+B(Y2+"\\:")+"{3}"+z8),PA=B(B(B(Y2+"\\:")+"{0,2}"+Y2)+"?\\:\\:"+B(Y2+"\\:")+"{2}"+z8),ZA=B(B(B(Y2+"\\:")+"{0,3}"+Y2)+"?\\:\\:"+Y2+"\\:"+z8),a6=B(B(B(Y2+"\\:")+"{0,4}"+Y2)+"?\\:\\:"+z8),n1=B(B(B(Y2+"\\:")+"{0,5}"+Y2)+"?\\:\\:"+Y2),w4=B(B(B(Y2+"\\:")+"{0,6}"+Y2)+"?\\:\\:"),E1=B([Q2,o6,B6,kA,PA,ZA,a6,n1,w4].join("|")),b1=B(B(s0+"|"+$6)+"+"),R0=B(E1+"\\%25"+b1),P0=B(E1+B("\\%25|\\%(?!"+EA+"{2})")+b1),u0=B("[vV]"+EA+"+\\."+Q(s0,U6,"[\\:]")+"+"),XA=B("\\["+B(P0+"|"+E1+"|"+u0)+"\\]"),_A=B(B($6+"|"+Q(s0,U6))+"*"),KA=B(XA+"|"+v2+"(?!"+_A+")|"+_A),pA=B(M0+"*"),lA=B(B(q6+"@")+"?"+KA+B("\\:"+pA)+"?"),Z6=B($6+"|"+Q(s0,U6,"[\\:\\@]")),X2=B(Z6+"*"),Q8=B(Z6+"+"),g9=B(B($6+"|"+Q(s0,U6,"[\\@]"))+"+"),K2=B(B("\\/"+X2)+"*"),C4=B("\\/"+B(Q8+K2)+"?"),Z4=B(g9+K2),X4=B(Q8+K2),t4="(?!"+Z6+")",tD=B(K2+"|"+C4+"|"+Z4+"|"+X4+"|"+t4),G7=B(B(Z6+"|"+Q("[\\/\\?]",Z0))+"*"),T7=B(B(Z6+"|[\\/\\?]")+"*"),Y5=B(B("\\/\\/"+lA+K2)+"|"+C4+"|"+X4+"|"+t4),UD=B(NA+"\\:"+Y5+B("\\?"+G7)+"?"+B("\\#"+T7)+"?"),jJ=B(B("\\/\\/"+lA+K2)+"|"+C4+"|"+Z4+"|"+t4),U5=B(jJ+B("\\?"+G7)+"?"+B("\\#"+T7)+"?"),a5=B(UD+"|"+U5),FD=B(NA+"\\:"+Y5+B("\\?"+G7)+"?"),eD="^("+NA+")\\:"+B(B("\\/\\/("+B("("+q6+")@")+"?("+KA+")"+B("\\:("+pA+")")+"?)")+"?("+K2+"|"+C4+"|"+X4+"|"+t4+")")+B("\\?("+G7+")")+"?"+B("\\#("+T7+")")+"?$",Zq="^(){0}"+B(B("\\/\\/("+B("("+q6+")@")+"?("+KA+")"+B("\\:("+pA+")")+"?)")+"?("+K2+"|"+C4+"|"+Z4+"|"+t4+")")+B("\\?("+G7+")")+"?"+B("\\#("+T7+")")+"?$",qK="^("+NA+")\\:"+B(B("\\/\\/("+B("("+q6+")@")+"?("+KA+")"+B("\\:("+pA+")")+"?)")+"?("+K2+"|"+C4+"|"+X4+"|"+t4+")")+B("\\?("+G7+")")+"?$",PJ="^"+B("\\#("+T7+")")+"?$",oM="^"+B("("+q6+")@")+"?("+KA+")"+B("\\:("+pA+")")+"?$";return{NOT_SCHEME:new RegExp(Q("[^]",h1,M0,"[\\+\\-\\.]"),"g"),NOT_USERINFO:new RegExp(Q("[^\\%\\:]",s0,U6),"g"),NOT_HOST:new RegExp(Q("[^\\%\\[\\]\\:]",s0,U6),"g"),NOT_PATH:new RegExp(Q("[^\\%\\/\\:\\@]",s0,U6),"g"),NOT_PATH_NOSCHEME:new RegExp(Q("[^\\%\\/\\@]",s0,U6),"g"),NOT_QUERY:new RegExp(Q("[^\\%]",s0,U6,"[\\:\\@\\/\\?]",Z0),"g"),NOT_FRAGMENT:new RegExp(Q("[^\\%]",s0,U6,"[\\:\\@\\/\\?]"),"g"),ESCAPE:new RegExp(Q("[^]",s0,U6),"g"),UNRESERVED:new RegExp(s0,"g"),OTHER_CHARS:new RegExp(Q("[^\\%]",s0,F2),"g"),PCT_ENCODED:new RegExp($6,"g"),IPV4ADDRESS:new RegExp("^("+v2+")$"),IPV6ADDRESS:new RegExp("^\\[?("+E1+")"+B(B("\\%25|\\%(?!"+EA+"{2})")+"("+b1+")")+"?\\]?$")}}var K=X(!1),G=X(!0),q=function(){function e1(h1,Q0){var M0=[],K0=!0,EA=!1,AA=void 0;try{for(var v6=h1[Symbol.iterator](),$6;!(K0=($6=v6.next()).done);K0=!0)if(M0.push($6.value),Q0&&M0.length===Q0)break}catch(i6){EA=!0,AA=i6}finally{try{if(!K0&&v6.return)v6.return()}finally{if(EA)throw AA}}return M0}return function(h1,Q0){if(Array.isArray(h1))return h1;else if(Symbol.iterator in Object(h1))return e1(h1,Q0);else throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),Y=function(e1){if(Array.isArray(e1)){for(var h1=0,Q0=Array(e1.length);h1<e1.length;h1++)Q0[h1]=e1[h1];return Q0}else return Array.from(e1)},F=2147483647,E=36,w=1,H=26,M=38,W=700,I=72,N=128,V="-",_=/^xn--/,T=/[^\0-\x7E]/,R=/[\x2E\u3002\uFF0E\uFF61]/g,j={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},P=E-w,$=Math.floor,f=String.fromCharCode;function m(e1){throw new RangeError(j[e1])}function l(e1,h1){var Q0=[],M0=e1.length;while(M0--)Q0[M0]=h1(e1[M0]);return Q0}function v(e1,h1){var Q0=e1.split("@"),M0="";if(Q0.length>1)M0=Q0[0]+"@",e1=Q0[1];e1=e1.replace(R,".");var K0=e1.split("."),EA=l(K0,h1).join(".");return M0+EA}function g(e1){var h1=[],Q0=0,M0=e1.length;while(Q0<M0){var K0=e1.charCodeAt(Q0++);if(K0>=55296&&K0<=56319&&Q0<M0){var EA=e1.charCodeAt(Q0++);if((EA&64512)==56320)h1.push(((K0&1023)<<10)+(EA&1023)+65536);else h1.push(K0),Q0--}else h1.push(K0)}return h1}var b=function e1(h1){return String.fromCodePoint.apply(String,Y(h1))},u=function e1(h1){if(h1-48<10)return h1-22;if(h1-65<26)return h1-65;if(h1-97<26)return h1-97;return E},S=function e1(h1,Q0){return h1+22+75*(h1<26)-((Q0!=0)<<5)},y=function e1(h1,Q0,M0){var K0=0;h1=M0?$(h1/W):h1>>1,h1+=$(h1/Q0);for(;h1>P*H>>1;K0+=E)h1=$(h1/P);return $(K0+(P+1)*h1/(h1+M))},d=function e1(h1){var Q0=[],M0=h1.length,K0=0,EA=N,AA=I,v6=h1.lastIndexOf(V);if(v6<0)v6=0;for(var $6=0;$6<v6;++$6){if(h1.charCodeAt($6)>=128)m("not-basic");Q0.push(h1.charCodeAt($6))}for(var i6=v6>0?v6+1:0;i6<M0;){var U6=K0;for(var F2=1,jA=E;;jA+=E){if(i6>=M0)m("invalid-input");var Z0=u(h1.charCodeAt(i6++));if(Z0>=E||Z0>$((F-K0)/F2))m("overflow");K0+=Z0*F2;var s0=jA<=AA?w:jA>=AA+H?H:jA-AA;if(Z0<s0)break;var NA=E-s0;if(F2>$(F/NA))m("overflow");F2*=NA}var q6=Q0.length+1;if(AA=y(K0-U6,q6,U6==0),$(K0/q6)>F-EA)m("overflow");EA+=$(K0/q6),K0%=q6,Q0.splice(K0++,0,EA)}return String.fromCodePoint.apply(String,Q0)},a=function e1(h1){var Q0=[];h1=g(h1);var M0=h1.length,K0=N,EA=0,AA=I,v6=!0,$6=!1,i6=void 0;try{for(var U6=h1[Symbol.iterator](),F2;!(v6=(F2=U6.next()).done);v6=!0){var jA=F2.value;if(jA<128)Q0.push(f(jA))}}catch(P0){$6=!0,i6=P0}finally{try{if(!v6&&U6.return)U6.return()}finally{if($6)throw i6}}var Z0=Q0.length,s0=Z0;if(Z0)Q0.push(V);while(s0<M0){var NA=F,q6=!0,x2=!1,h2=void 0;try{for(var v2=h1[Symbol.iterator](),Y2;!(q6=(Y2=v2.next()).done);q6=!0){var z8=Y2.value;if(z8>=K0&&z8<NA)NA=z8}}catch(P0){x2=!0,h2=P0}finally{try{if(!q6&&v2.return)v2.return()}finally{if(x2)throw h2}}var Q2=s0+1;if(NA-K0>$((F-EA)/Q2))m("overflow");EA+=(NA-K0)*Q2,K0=NA;var o6=!0,B6=!1,kA=void 0;try{for(var PA=h1[Symbol.iterator](),ZA;!(o6=(ZA=PA.next()).done);o6=!0){var a6=ZA.value;if(a6<K0&&++EA>F)m("overflow");if(a6==K0){var n1=EA;for(var w4=E;;w4+=E){var E1=w4<=AA?w:w4>=AA+H?H:w4-AA;if(n1<E1)break;var b1=n1-E1,R0=E-E1;Q0.push(f(S(E1+b1%R0,0))),n1=$(b1/R0)}Q0.push(f(S(n1,0))),AA=y(EA,Q2,s0==Z0),EA=0,++s0}}}catch(P0){B6=!0,kA=P0}finally{try{if(!o6&&PA.return)PA.return()}finally{if(B6)throw kA}}++EA,++K0}return Q0.join("")},z1=function e1(h1){return v(h1,function(Q0){return _.test(Q0)?d(Q0.slice(4).toLowerCase()):Q0})},t=function e1(h1){return v(h1,function(Q0){return T.test(Q0)?"xn--"+a(Q0):Q0})},D1={version:"2.1.0",ucs2:{decode:g,encode:b},decode:d,encode:a,toASCII:t,toUnicode:z1},A1={};function K1(e1){var h1=e1.charCodeAt(0),Q0=void 0;if(h1<16)Q0="%0"+h1.toString(16).toUpperCase();else if(h1<128)Q0="%"+h1.toString(16).toUpperCase();else if(h1<2048)Q0="%"+(h1>>6|192).toString(16).toUpperCase()+"%"+(h1&63|128).toString(16).toUpperCase();else Q0="%"+(h1>>12|224).toString(16).toUpperCase()+"%"+(h1>>6&63|128).toString(16).toUpperCase()+"%"+(h1&63|128).toString(16).toUpperCase();return Q0}function X1(e1){var h1="",Q0=0,M0=e1.length;while(Q0<M0){var K0=parseInt(e1.substr(Q0+1,2),16);if(K0<128)h1+=String.fromCharCode(K0),Q0+=3;else if(K0>=194&&K0<224){if(M0-Q0>=6){var EA=parseInt(e1.substr(Q0+4,2),16);h1+=String.fromCharCode((K0&31)<<6|EA&63)}else h1+=e1.substr(Q0,6);Q0+=6}else if(K0>=224){if(M0-Q0>=9){var AA=parseInt(e1.substr(Q0+4,2),16),v6=parseInt(e1.substr(Q0+7,2),16);h1+=String.fromCharCode((K0&15)<<12|(AA&63)<<6|v6&63)}else h1+=e1.substr(Q0,9);Q0+=9}else h1+=e1.substr(Q0,3),Q0+=3}return h1}function N1(e1,h1){function Q0(M0){var K0=X1(M0);return!K0.match(h1.UNRESERVED)?M0:K0}if(e1.scheme)e1.scheme=String(e1.scheme).replace(h1.PCT_ENCODED,Q0).toLowerCase().replace(h1.NOT_SCHEME,"");if(e1.userinfo!==void 0)e1.userinfo=String(e1.userinfo).replace(h1.PCT_ENCODED,Q0).replace(h1.NOT_USERINFO,K1).replace(h1.PCT_ENCODED,D);if(e1.host!==void 0)e1.host=String(e1.host).replace(h1.PCT_ENCODED,Q0).toLowerCase().replace(h1.NOT_HOST,K1).replace(h1.PCT_ENCODED,D);if(e1.path!==void 0)e1.path=String(e1.path).replace(h1.PCT_ENCODED,Q0).replace(e1.scheme?h1.NOT_PATH:h1.NOT_PATH_NOSCHEME,K1).replace(h1.PCT_ENCODED,D);if(e1.query!==void 0)e1.query=String(e1.query).replace(h1.PCT_ENCODED,Q0).replace(h1.NOT_QUERY,K1).replace(h1.PCT_ENCODED,D);if(e1.fragment!==void 0)e1.fragment=String(e1.fragment).replace(h1.PCT_ENCODED,Q0).replace(h1.NOT_FRAGMENT,K1).replace(h1.PCT_ENCODED,D);return e1}function s(e1){return e1.replace(/^0*(.*)/,"$1")||"0"}function r(e1,h1){var Q0=e1.match(h1.IPV4ADDRESS)||[],M0=q(Q0,2),K0=M0[1];if(K0)return K0.split(".").map(s).join(".");else return e1}function e(e1,h1){var Q0=e1.match(h1.IPV6ADDRESS)||[],M0=q(Q0,3),K0=M0[1],EA=M0[2];if(K0){var AA=K0.toLowerCase().split("::").reverse(),v6=q(AA,2),$6=v6[0],i6=v6[1],U6=i6?i6.split(":").map(s):[],F2=$6.split(":").map(s),jA=h1.IPV4ADDRESS.test(F2[F2.length-1]),Z0=jA?7:8,s0=F2.length-Z0,NA=Array(Z0);for(var q6=0;q6<Z0;++q6)NA[q6]=U6[q6]||F2[s0+q6]||"";if(jA)NA[Z0-1]=r(NA[Z0-1],h1);var x2=NA.reduce(function(Q2,o6,B6){if(!o6||o6==="0"){var kA=Q2[Q2.length-1];if(kA&&kA.index+kA.length===B6)kA.length++;else Q2.push({index:B6,length:1})}return Q2},[]),h2=x2.sort(function(Q2,o6){return o6.length-Q2.length})[0],v2=void 0;if(h2&&h2.length>1){var Y2=NA.slice(0,h2.index),z8=NA.slice(h2.index+h2.length);v2=Y2.join(":")+"::"+z8.join(":")}else v2=NA.join(":");if(EA)v2+="%"+EA;return v2}else return e1}var G1=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,q1="".match(/(){0}/)[1]===void 0;function Y1(e1){var h1=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Q0={},M0=h1.iri!==!1?G:K;if(h1.reference==="suffix")e1=(h1.scheme?h1.scheme+":":"")+"//"+e1;var K0=e1.match(G1);if(K0){if(q1){if(Q0.scheme=K0[1],Q0.userinfo=K0[3],Q0.host=K0[4],Q0.port=parseInt(K0[5],10),Q0.path=K0[6]||"",Q0.query=K0[7],Q0.fragment=K0[8],isNaN(Q0.port))Q0.port=K0[5]}else if(Q0.scheme=K0[1]||void 0,Q0.userinfo=e1.indexOf("@")!==-1?K0[3]:void 0,Q0.host=e1.indexOf("//")!==-1?K0[4]:void 0,Q0.port=parseInt(K0[5],10),Q0.path=K0[6]||"",Q0.query=e1.indexOf("?")!==-1?K0[7]:void 0,Q0.fragment=e1.indexOf("#")!==-1?K0[8]:void 0,isNaN(Q0.port))Q0.port=e1.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?K0[4]:void 0;if(Q0.host)Q0.host=e(r(Q0.host,M0),M0);if(Q0.scheme===void 0&&Q0.userinfo===void 0&&Q0.host===void 0&&Q0.port===void 0&&!Q0.path&&Q0.query===void 0)Q0.reference="same-document";else if(Q0.scheme===void 0)Q0.reference="relative";else if(Q0.fragment===void 0)Q0.reference="absolute";else Q0.reference="uri";if(h1.reference&&h1.reference!=="suffix"&&h1.reference!==Q0.reference)Q0.error=Q0.error||"URI is not a "+h1.reference+" reference.";var EA=A1[(h1.scheme||Q0.scheme||"").toLowerCase()];if(!h1.unicodeSupport&&(!EA||!EA.unicodeSupport)){if(Q0.host&&(h1.domainHost||EA&&EA.domainHost))try{Q0.host=D1.toASCII(Q0.host.replace(M0.PCT_ENCODED,X1).toLowerCase())}catch(AA){Q0.error=Q0.error||"Host's domain name can not be converted to ASCII via punycode: "+AA}N1(Q0,K)}else N1(Q0,M0);if(EA&&EA.parse)EA.parse(Q0,h1)}else Q0.error=Q0.error||"URI can not be parsed.";return Q0}function U1(e1,h1){var Q0=h1.iri!==!1?G:K,M0=[];if(e1.userinfo!==void 0)M0.push(e1.userinfo),M0.push("@");if(e1.host!==void 0)M0.push(e(r(String(e1.host),Q0),Q0).replace(Q0.IPV6ADDRESS,function(K0,EA,AA){return"["+EA+(AA?"%25"+AA:"")+"]"}));if(typeof e1.port==="number"||typeof e1.port==="string")M0.push(":"),M0.push(String(e1.port));return M0.length?M0.join(""):void 0}var P1=/^\.\.?\//,R1=/^\/\.(\/|$)/,T1=/^\/\.\.(\/|$)/,V1=/^\/?(?:.|\n)*?(?=\/|$)/;function I1(e1){var h1=[];while(e1.length)if(e1.match(P1))e1=e1.replace(P1,"");else if(e1.match(R1))e1=e1.replace(R1,"/");else if(e1.match(T1))e1=e1.replace(T1,"/"),h1.pop();else if(e1==="."||e1==="..")e1="";else{var Q0=e1.match(V1);if(Q0){var M0=Q0[0];e1=e1.slice(M0.length),h1.push(M0)}else throw new Error("Unexpected dot segment condition")}return h1.join("")}function t1(e1){var h1=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Q0=h1.iri?G:K,M0=[],K0=A1[(h1.scheme||e1.scheme||"").toLowerCase()];if(K0&&K0.serialize)K0.serialize(e1,h1);if(e1.host){if(Q0.IPV6ADDRESS.test(e1.host));else if(h1.domainHost||K0&&K0.domainHost)try{e1.host=!h1.iri?D1.toASCII(e1.host.replace(Q0.PCT_ENCODED,X1).toLowerCase()):D1.toUnicode(e1.host)}catch(v6){e1.error=e1.error||"Host's domain name can not be converted to "+(!h1.iri?"ASCII":"Unicode")+" via punycode: "+v6}}if(N1(e1,Q0),h1.reference!=="suffix"&&e1.scheme)M0.push(e1.scheme),M0.push(":");var EA=U1(e1,h1);if(EA!==void 0){if(h1.reference!=="suffix")M0.push("//");if(M0.push(EA),e1.path&&e1.path.charAt(0)!=="/")M0.push("/")}if(e1.path!==void 0){var AA=e1.path;if(!h1.absolutePath&&(!K0||!K0.absolutePath))AA=I1(AA);if(EA===void 0)AA=AA.replace(/^\/\//,"/%2F");M0.push(AA)}if(e1.query!==void 0)M0.push("?"),M0.push(e1.query);if(e1.fragment!==void 0)M0.push("#"),M0.push(e1.fragment);return M0.join("")}function J0(e1,h1){var Q0=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},M0=arguments[3],K0={};if(!M0)e1=Y1(t1(e1,Q0),Q0),h1=Y1(t1(h1,Q0),Q0);if(Q0=Q0||{},!Q0.tolerant&&h1.scheme)K0.scheme=h1.scheme,K0.userinfo=h1.userinfo,K0.host=h1.host,K0.port=h1.port,K0.path=I1(h1.path||""),K0.query=h1.query;else{if(h1.userinfo!==void 0||h1.host!==void 0||h1.port!==void 0)K0.userinfo=h1.userinfo,K0.host=h1.host,K0.port=h1.port,K0.path=I1(h1.path||""),K0.query=h1.query;else{if(!h1.path)if(K0.path=e1.path,h1.query!==void 0)K0.query=h1.query;else K0.query=e1.query;else{if(h1.path.charAt(0)==="/")K0.path=I1(h1.path);else{if((e1.userinfo!==void 0||e1.host!==void 0||e1.port!==void 0)&&!e1.path)K0.path="/"+h1.path;else if(!e1.path)K0.path=h1.path;else K0.path=e1.path.slice(0,e1.path.lastIndexOf("/")+1)+h1.path;K0.path=I1(K0.path)}K0.query=h1.query}K0.userinfo=e1.userinfo,K0.host=e1.host,K0.port=e1.port}K0.scheme=e1.scheme}return K0.fragment=h1.fragment,K0}function H0(e1,h1,Q0){var M0=Z({scheme:"null"},Q0);return t1(J0(Y1(e1,M0),Y1(h1,M0),M0,!0),M0)}function D0(e1,h1){if(typeof e1==="string")e1=t1(Y1(e1,h1),h1);else if(J(e1)==="object")e1=Y1(t1(e1,h1),h1);return e1}function X0(e1,h1,Q0){if(typeof e1==="string")e1=t1(Y1(e1,Q0),Q0);else if(J(e1)==="object")e1=t1(e1,Q0);if(typeof h1==="string")h1=t1(Y1(h1,Q0),Q0);else if(J(h1)==="object")h1=t1(h1,Q0);return e1===h1}function u1(e1,h1){return e1&&e1.toString().replace(!h1||!h1.iri?K.ESCAPE:G.ESCAPE,K1)}function M1(e1,h1){return e1&&e1.toString().replace(!h1||!h1.iri?K.PCT_ENCODED:G.PCT_ENCODED,X1)}var p1={scheme:"http",domainHost:!0,parse:function e1(h1,Q0){if(!h1.host)h1.error=h1.error||"HTTP URIs must have a host.";return h1},serialize:function e1(h1,Q0){var M0=String(h1.scheme).toLowerCase()==="https";if(h1.port===(M0?443:80)||h1.port==="")h1.port=void 0;if(!h1.path)h1.path="/";return h1}},v1={scheme:"https",domainHost:p1.domainHost,parse:p1.parse,serialize:p1.serialize};function m1(e1){return typeof e1.secure==="boolean"?e1.secure:String(e1.scheme).toLowerCase()==="wss"}var H1={scheme:"ws",domainHost:!0,parse:function e1(h1,Q0){var M0=h1;return M0.secure=m1(M0),M0.resourceName=(M0.path||"/")+(M0.query?"?"+M0.query:""),M0.path=void 0,M0.query=void 0,M0},serialize:function e1(h1,Q0){if(h1.port===(m1(h1)?443:80)||h1.port==="")h1.port=void 0;if(typeof h1.secure==="boolean")h1.scheme=h1.secure?"wss":"ws",h1.secure=void 0;if(h1.resourceName){var M0=h1.resourceName.split("?"),K0=q(M0,2),EA=K0[0],AA=K0[1];h1.path=EA&&EA!=="/"?EA:void 0,h1.query=AA,h1.resourceName=void 0}return h1.fragment=void 0,h1}},l1={scheme:"wss",domainHost:H1.domainHost,parse:H1.parse,serialize:H1.serialize},L1={},i1=!0,o1="[A-Za-z0-9\\-\\.\\_\\~"+(i1?"\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF":"")+"]",q0="[0-9A-Fa-f]",F0=B(B("%[EFef]"+q0+"%"+q0+q0+"%"+q0+q0)+"|"+B("%[89A-Fa-f]"+q0+"%"+q0+q0)+"|"+B("%"+q0+q0)),E0="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]",t0="[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",Y0=Q(t0,"[\\\"\\\\]"),YA="[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]",HA=new RegExp(o1,"g"),qA=new RegExp(F0,"g"),$A=new RegExp(Q("[^]",E0,"[\\.]","[\\\"]",Y0),"g"),IA=new RegExp(Q("[^]",o1,YA),"g"),MA=IA;function e0(e1){var h1=X1(e1);return!h1.match(HA)?e1:h1}var TA={scheme:"mailto",parse:function e1(h1,Q0){var M0=h1,K0=M0.to=M0.path?M0.path.split(","):[];if(M0.path=void 0,M0.query){var EA=!1,AA={},v6=M0.query.split("&");for(var $6=0,i6=v6.length;$6<i6;++$6){var U6=v6[$6].split("=");switch(U6[0]){case"to":var F2=U6[1].split(",");for(var jA=0,Z0=F2.length;jA<Z0;++jA)K0.push(F2[jA]);break;case"subject":M0.subject=M1(U6[1],Q0);break;case"body":M0.body=M1(U6[1],Q0);break;default:EA=!0,AA[M1(U6[0],Q0)]=M1(U6[1],Q0);break}}if(EA)M0.headers=AA}M0.query=void 0;for(var s0=0,NA=K0.length;s0<NA;++s0){var q6=K0[s0].split("@");if(q6[0]=M1(q6[0]),!Q0.unicodeSupport)try{q6[1]=D1.toASCII(M1(q6[1],Q0).toLowerCase())}catch(x2){M0.error=M0.error||"Email address's domain name can not be converted to ASCII via punycode: "+x2}else q6[1]=M1(q6[1],Q0).toLowerCase();K0[s0]=q6.join("@")}return M0},serialize:function e1(h1,Q0){var M0=h1,K0=z(h1.to);if(K0){for(var EA=0,AA=K0.length;EA<AA;++EA){var v6=String(K0[EA]),$6=v6.lastIndexOf("@"),i6=v6.slice(0,$6).replace(qA,e0).replace(qA,D).replace($A,K1),U6=v6.slice($6+1);try{U6=!Q0.iri?D1.toASCII(M1(U6,Q0).toLowerCase()):D1.toUnicode(U6)}catch(s0){M0.error=M0.error||"Email address's domain name can not be converted to "+(!Q0.iri?"ASCII":"Unicode")+" via punycode: "+s0}K0[EA]=i6+"@"+U6}M0.path=K0.join(",")}var F2=h1.headers=h1.headers||{};if(h1.subject)F2.subject=h1.subject;if(h1.body)F2.body=h1.body;var jA=[];for(var Z0 in F2)if(F2[Z0]!==L1[Z0])jA.push(Z0.replace(qA,e0).replace(qA,D).replace(IA,K1)+"="+F2[Z0].replace(qA,e0).replace(qA,D).replace(MA,K1));if(jA.length)M0.query=jA.join("&");return M0}},LA=/^([^\:]+)\:(.*)/,DA={scheme:"urn",parse:function e1(h1,Q0){var M0=h1.path&&h1.path.match(LA),K0=h1;if(M0){var EA=Q0.scheme||K0.scheme||"urn",AA=M0[1].toLowerCase(),v6=M0[2],$6=EA+":"+(Q0.nid||AA),i6=A1[$6];if(K0.nid=AA,K0.nss=v6,K0.path=void 0,i6)K0=i6.parse(K0,Q0)}else K0.error=K0.error||"URN can not be parsed.";return K0},serialize:function e1(h1,Q0){var M0=Q0.scheme||h1.scheme||"urn",K0=h1.nid,EA=M0+":"+(Q0.nid||K0),AA=A1[EA];if(AA)h1=AA.serialize(h1,Q0);var v6=h1,$6=h1.nss;return v6.path=(K0||Q0.nid)+":"+$6,v6}},rA=/^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/,yA={scheme:"urn:uuid",parse:function e1(h1,Q0){var M0=h1;if(M0.uuid=M0.nss,M0.nss=void 0,!Q0.tolerant&&(!M0.uuid||!M0.uuid.match(rA)))M0.error=M0.error||"UUID is not valid.";return M0},serialize:function e1(h1,Q0){var M0=h1;return M0.nss=(h1.uuid||"").toLowerCase(),M0}};A1[p1.scheme]=p1,A1[v1.scheme]=v1,A1[H1.scheme]=H1,A1[l1.scheme]=l1,A1[TA.scheme]=TA,A1[DA.scheme]=DA,A1[yA.scheme]=yA,A.SCHEMES=A1,A.pctEncChar=K1,A.pctDecChars=X1,A.parse=Y1,A.removeDotSegments=I1,A.serialize=t1,A.resolveComponents=J0,A.resolve=H0,A.normalize=D0,A.equal=X0,A.escapeComponent=u1,A.unescapeComponent=M1,Object.defineProperty(A,"__esModule",{value:!0})})});var Gn=Q1((o42,$l1)=>{$l1.exports=function A(Q,B){if(Q===B)return!0;if(Q&&B&&typeof Q=="object"&&typeof B=="object"){if(Q.constructor!==B.constructor)return!1;var J,D,z;if(Array.isArray(Q)){if(J=Q.length,J!=B.length)return!1;for(D=J;D--!==0;)if(!A(Q[D],B[D]))return!1;return!0}if(Q.constructor===RegExp)return Q.source===B.source&&Q.flags===B.flags;if(Q.valueOf!==Object.prototype.valueOf)return Q.valueOf()===B.valueOf();if(Q.toString!==Object.prototype.toString)return Q.toString()===B.toString();if(z=Object.keys(Q),J=z.length,J!==Object.keys(B).length)return!1;for(D=J;D--!==0;)if(!Object.prototype.hasOwnProperty.call(B,z[D]))return!1;for(D=J;D--!==0;){var Z=z[D];if(!A(Q[Z],B[Z]))return!1}return!0}return Q!==Q&&B!==B}});var kl1=Q1((t42,fl1)=>{fl1.exports=function A(Q){var B=0,J=Q.length,D=0,z;while(D<J)if(B++,z=Q.charCodeAt(D++),z>=55296&&z<=56319&&D<J){if(z=Q.charCodeAt(D),(z&64512)==56320)D++}return B}});var UO=Q1((e42,bl1)=>{bl1.exports={copy:iEA,checkDataType:AK1,checkDataTypes:aEA,coerceToTypes:nEA,toHash:BK1,getProperty:JK1,escapeQuotes:DK1,equal:Gn(),ucs2length:kl1(),varOccurences:oEA,varReplace:tEA,schemaHasRules:eEA,schemaHasRulesExcept:AwA,schemaUnknownRules:QwA,toQuotedString:QK1,getPathExpr:BwA,getPath:JwA,getData:ZwA,unescapeFragment:XwA,unescapeJsonPointer:ZK1,escapeFragment:KwA,escapeJsonPointer:zK1};function iEA(A,Q){Q=Q||{};for(var B in A)Q[B]=A[B];return Q}function AK1(A,Q,B,J){var D=J?" !== ":" === ",z=J?" || ":" && ",Z=J?"!":"",X=J?"":"!";switch(A){case"null":return Q+D+"null";case"array":return Z+"Array.isArray("+Q+")";case"object":return"("+Z+Q+z+"typeof "+Q+D+'"object"'+z+X+"Array.isArray("+Q+"))";case"integer":return"(typeof "+Q+D+'"number"'+z+X+"("+Q+" % 1)"+z+Q+D+Q+(B?z+Z+"isFinite("+Q+")":"")+")";case"number":return"(typeof "+Q+D+'"'+A+'"'+(B?z+Z+"isFinite("+Q+")":"")+")";default:return"typeof "+Q+D+'"'+A+'"'}}function aEA(A,Q,B){switch(A.length){case 1:return AK1(A[0],Q,B,!0);default:var J="",D=BK1(A);if(D.array&&D.object)J=D.null?"(":"(!"+Q+" || ",J+="typeof "+Q+' !== "object")',delete D.null,delete D.array,delete D.object;if(D.number)delete D.integer;for(var z in D)J+=(J?" && ":"")+AK1(z,Q,B,!0);return J}}var yl1=BK1(["string","number","integer","boolean","null"]);function nEA(A,Q){if(Array.isArray(Q)){var B=[];for(var J=0;J<Q.length;J++){var D=Q[J];if(yl1[D])B[B.length]=D;else if(A==="array"&&D==="array")B[B.length]=D}if(B.length)return B}else if(yl1[Q])return[Q];else if(A==="array"&&Q==="array")return["array"]}function BK1(A){var Q={};for(var B=0;B<A.length;B++)Q[A[B]]=!0;return Q}var sEA=/^[a-z$_][a-z$_0-9]*$/i,rEA=/'|\\/g;function JK1(A){return typeof A=="number"?"["+A+"]":sEA.test(A)?"."+A:"['"+DK1(A)+"']"}function DK1(A){return A.replace(rEA,"\\$&").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\f/g,"\\f").replace(/\t/g,"\\t")}function oEA(A,Q){Q+="[^0-9]";var B=A.match(new RegExp(Q,"g"));return B?B.length:0}function tEA(A,Q,B){return Q+="([^0-9])",B=B.replace(/\$/g,"$$$$"),A.replace(new RegExp(Q,"g"),B+"$1")}function eEA(A,Q){if(typeof A=="boolean")return!A;for(var B in A)if(Q[B])return!0}function AwA(A,Q,B){if(typeof A=="boolean")return!A&&B!="not";for(var J in A)if(J!=B&&Q[J])return!0}function QwA(A,Q){if(typeof A=="boolean")return;for(var B in A)if(!Q[B])return B}function QK1(A){return"'"+DK1(A)+"'"}function BwA(A,Q,B,J){var D=B?"'/' + "+Q+(J?"":".replace(/~/g, '~0').replace(/\\//g, '~1')"):J?"'[' + "+Q+" + ']'":"'[\\'' + "+Q+" + '\\']'";return gl1(A,D)}function JwA(A,Q,B){var J=B?QK1("/"+zK1(Q)):QK1(JK1(Q));return gl1(A,J)}var DwA=/^\/(?:[^~]|~0|~1)*$/,zwA=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function ZwA(A,Q,B){var J,D,z,Z;if(A==="")return"rootData";if(A[0]=="/"){if(!DwA.test(A))throw new Error("Invalid JSON-pointer: "+A);D=A,z="rootData"}else{if(Z=A.match(zwA),!Z)throw new Error("Invalid JSON-pointer: "+A);if(J=+Z[1],D=Z[2],D=="#"){if(J>=Q)throw new Error("Cannot access property/index "+J+" levels up, current level is "+Q);return B[Q-J]}if(J>Q)throw new Error("Cannot access data "+J+" levels up, current level is "+Q);if(z="data"+(Q-J||""),!D)return z}var X=z,K=D.split("/");for(var G=0;G<K.length;G++){var q=K[G];if(q)z+=JK1(ZK1(q)),X+=" && "+z}return X}function gl1(A,Q){if(A=='""')return Q;return(A+" + "+Q).replace(/([^\\])' \+ '/g,"$1")}function XwA(A){return ZK1(decodeURIComponent(A))}function KwA(A){return encodeURIComponent(zK1(A))}function zK1(A){return A.replace(/~/g,"~0").replace(/\//g,"~1")}function ZK1(A){return A.replace(/~1/g,"/").replace(/~0/g,"~")}});var XK1=Q1((A52,xl1)=>{var GwA=UO();xl1.exports=qwA;function qwA(A){GwA.copy(A,this)}});var ml1=Q1((Q52,hl1)=>{var rW=hl1.exports=function(A,Q,B){if(typeof Q=="function")B=Q,Q={};B=Q.cb||B;var J=typeof B=="function"?B:B.pre||function(){},D=B.post||function(){};qn(Q,J,D,A,"",A)};rW.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0};rW.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};rW.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};rW.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function qn(A,Q,B,J,D,z,Z,X,K,G){if(J&&typeof J=="object"&&!Array.isArray(J)){Q(J,D,z,Z,X,K,G);for(var q in J){var Y=J[q];if(Array.isArray(Y)){if(q in rW.arrayKeywords)for(var F=0;F<Y.length;F++)qn(A,Q,B,Y[F],D+"/"+q+"/"+F,z,D,q,J,F)}else if(q in rW.propsKeywords){if(Y&&typeof Y=="object")for(var E in Y)qn(A,Q,B,Y[E],D+"/"+q+"/"+YwA(E),z,D,q,J,E)}else if(q in rW.keywords||A.allKeys&&!(q in rW.skipKeywords))qn(A,Q,B,Y,D+"/"+q,z,D,q,J)}B(J,D,z,Z,X,K,G)}}function YwA(A){return A.replace(/~/g,"~0").replace(/\//g,"~1")}});var Hn=Q1((B52,ll1)=>{var Jg=vl1(),ul1=Gn(),En=UO(),Yn=XK1(),UwA=ml1();ll1.exports=tW;tW.normalizeId=oW;tW.fullPath=Un;tW.url=Fn;tW.ids=MwA;tW.inlineRef=KK1;tW.schema=wn;function tW(A,Q,B){var J=this._refs[B];if(typeof J=="string")if(this._refs[J])J=this._refs[J];else return tW.call(this,A,Q,J);if(J=J||this._schemas[B],J instanceof Yn)return KK1(J.schema,this._opts.inlineRefs)?J.schema:J.validate||this._compile(J);var D=wn.call(this,Q,B),z,Z,X;if(D)z=D.schema,Q=D.root,X=D.baseId;if(z instanceof Yn)Z=z.validate||A.call(this,z.schema,Q,void 0,X);else if(z!==void 0)Z=KK1(z,this._opts.inlineRefs)?z:A.call(this,z,Q,void 0,X);return Z}function wn(A,Q){var B=Jg.parse(Q),J=cl1(B),D=Un(this._getId(A.schema));if(Object.keys(A.schema).length===0||J!==D){var z=oW(J),Z=this._refs[z];if(typeof Z=="string")return FwA.call(this,A,Z,B);else if(Z instanceof Yn){if(!Z.validate)this._compile(Z);A=Z}else if(Z=this._schemas[z],Z instanceof Yn){if(!Z.validate)this._compile(Z);if(z==oW(Q))return{schema:Z,root:A,baseId:D};A=Z}else return;if(!A.schema)return;D=Un(this._getId(A.schema))}return pl1.call(this,B,D,A.schema,A)}function FwA(A,Q,B){var J=wn.call(this,A,Q);if(J){var{schema:D,baseId:z}=J;A=J.root;var Z=this._getId(D);if(Z)z=Fn(z,Z);return pl1.call(this,B,z,D,A)}}var EwA=En.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function pl1(A,Q,B,J){if(A.fragment=A.fragment||"",A.fragment.slice(0,1)!="/")return;var D=A.fragment.split("/");for(var z=1;z<D.length;z++){var Z=D[z];if(Z){if(Z=En.unescapeFragment(Z),B=B[Z],B===void 0)break;var X;if(!EwA[Z]){if(X=this._getId(B),X)Q=Fn(Q,X);if(B.$ref){var K=Fn(Q,B.$ref),G=wn.call(this,J,K);if(G)B=G.schema,J=G.root,Q=G.baseId}}}}if(B!==void 0&&B!==J.schema)return{schema:B,root:J,baseId:Q}}var wwA=En.toHash(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum"]);function KK1(A,Q){if(Q===!1)return!1;if(Q===void 0||Q===!0)return GK1(A);else if(Q)return qK1(A)<=Q}function GK1(A){var Q;if(Array.isArray(A)){for(var B=0;B<A.length;B++)if(Q=A[B],typeof Q=="object"&&!GK1(Q))return!1}else for(var J in A){if(J=="$ref")return!1;if(Q=A[J],typeof Q=="object"&&!GK1(Q))return!1}return!0}function qK1(A){var Q=0,B;if(Array.isArray(A))for(var J=0;J<A.length;J++){if(B=A[J],typeof B=="object")Q+=qK1(B);if(Q==1/0)return 1/0}else for(var D in A){if(D=="$ref")return 1/0;if(wwA[D])Q++;else{if(B=A[D],typeof B=="object")Q+=qK1(B)+1;if(Q==1/0)return 1/0}}return Q}function Un(A,Q){if(Q!==!1)A=oW(A);var B=Jg.parse(A);return cl1(B)}function cl1(A){return Jg.serialize(A).split("#")[0]+"#"}var HwA=/#\/?$/;function oW(A){return A?A.replace(HwA,""):""}function Fn(A,Q){return Q=oW(Q),Jg.resolve(A,Q)}function MwA(A){var Q=oW(this._getId(A)),B={"":Q},J={"":Un(Q,!1)},D={},z=this;return UwA(A,{allKeys:!0},function(Z,X,K,G,q,Y,F){if(X==="")return;var E=z._getId(Z),w=B[G],H=J[G]+"/"+q;if(F!==void 0)H+="/"+(typeof F=="number"?F:En.escapeFragment(F));if(typeof E=="string"){E=w=oW(w?Jg.resolve(w,E):E);var M=z._refs[E];if(typeof M=="string")M=z._refs[M];if(M&&M.schema){if(!ul1(Z,M.schema))throw new Error('id "'+E+'" resolves to more than one schema')}else if(E!=oW(H))if(E[0]=="#"){if(D[E]&&!ul1(Z,D[E]))throw new Error('id "'+E+'" resolves to more than one schema');D[E]=Z}else z._refs[E]=H}B[X]=w,J[X]=H}),D}});var Mn=Q1((J52,il1)=>{var YK1=Hn();il1.exports={Validation:dl1(WwA),MissingRef:dl1(UK1)};function WwA(A){this.message="validation failed",this.errors=A,this.ajv=this.validation=!0}UK1.message=function(A,Q){return"can't resolve reference "+Q+" from id "+A};function UK1(A,Q,B){this.message=B||UK1.message(A,Q),this.missingRef=YK1.url(A,Q),this.missingSchema=YK1.normalizeId(YK1.fullPath(this.missingRef))}function dl1(A){return A.prototype=Object.create(Error.prototype),A.prototype.constructor=A,A}});var FK1=Q1((D52,al1)=>{al1.exports=function(A,Q){if(!Q)Q={};if(typeof Q==="function")Q={cmp:Q};var B=typeof Q.cycles==="boolean"?Q.cycles:!1,J=Q.cmp&&function(z){return function(Z){return function(X,K){var G={key:X,value:Z[X]},q={key:K,value:Z[K]};return z(G,q)}}}(Q.cmp),D=[];return function z(Z){if(Z&&Z.toJSON&&typeof Z.toJSON==="function")Z=Z.toJSON();if(Z===void 0)return;if(typeof Z=="number")return isFinite(Z)?""+Z:"null";if(typeof Z!=="object")return JSON.stringify(Z);var X,K;if(Array.isArray(Z)){K="[";for(X=0;X<Z.length;X++){if(X)K+=",";K+=z(Z[X])||"null"}return K+"]"}if(Z===null)return"null";if(D.indexOf(Z)!==-1){if(B)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var G=D.push(Z)-1,q=Object.keys(Z).sort(J&&J(Z));K="";for(X=0;X<q.length;X++){var Y=q[X],F=z(Z[Y]);if(!F)continue;if(K)K+=",";K+=JSON.stringify(Y)+":"+F}return D.splice(G,1),"{"+K+"}"}(A)}});var EK1=Q1((z52,nl1)=>{nl1.exports=function A(Q,B,J){var D="",z=Q.schema.$async===!0,Z=Q.util.schemaHasRulesExcept(Q.schema,Q.RULES.all,"$ref"),X=Q.self._getId(Q.schema);if(Q.opts.strictKeywords){var K=Q.util.schemaUnknownRules(Q.schema,Q.RULES.keywords);if(K){var G="unknown keyword: "+K;if(Q.opts.strictKeywords==="log")Q.logger.warn(G);else throw new Error(G)}}if(Q.isTop){if(D+=" var validate = ",z)Q.async=!0,D+="async ";if(D+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",X&&(Q.opts.sourceCode||Q.opts.processCode))D+=" "+("/*# sourceURL="+X+" */")+" "}if(typeof Q.schema=="boolean"||!(Z||Q.schema.$ref)){var B="false schema",q=Q.level,Y=Q.dataLevel,F=Q.schema[B],E=Q.schemaPath+Q.util.getProperty(B),w=Q.errSchemaPath+"/"+B,_=!Q.opts.allErrors,j,H="data"+(Y||""),V="valid"+q;if(Q.schema===!1){if(Q.isTop)_=!0;else D+=" var "+V+" = false; ";var M=M||[];if(M.push(D),D="",Q.createErrors!==!1){if(D+=" { keyword: '"+(j||"false schema")+"' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(w)+" , params: {} ",Q.opts.messages!==!1)D+=" , message: 'boolean schema is false' ";if(Q.opts.verbose)D+=" , schema: false , parentSchema: validate.schema"+Q.schemaPath+" , data: "+H+" ";D+=" } "}else D+=" {} ";var W=D;if(D=M.pop(),!Q.compositeRule&&_)if(Q.async)D+=" throw new ValidationError(["+W+"]); ";else D+=" validate.errors = ["+W+"]; return false; ";else D+=" var err = "+W+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else if(Q.isTop)if(z)D+=" return data; ";else D+=" validate.errors = null; return true; ";else D+=" var "+V+" = true; ";if(Q.isTop)D+=" }; return validate; ";return D}if(Q.isTop){var I=Q.isTop,q=Q.level=0,Y=Q.dataLevel=0,H="data";if(Q.rootId=Q.resolve.fullPath(Q.self._getId(Q.root.schema)),Q.baseId=Q.baseId||Q.rootId,delete Q.isTop,Q.dataPathArr=[""],Q.schema.default!==void 0&&Q.opts.useDefaults&&Q.opts.strictDefaults){var N="default is ignored in the schema root";if(Q.opts.strictDefaults==="log")Q.logger.warn(N);else throw new Error(N)}D+=" var vErrors = null; ",D+=" var errors = 0; ",D+=" if (rootData === undefined) rootData = data; "}else{var{level:q,dataLevel:Y}=Q,H="data"+(Y||"");if(X)Q.baseId=Q.resolve.url(Q.baseId,X);if(z&&!Q.async)throw new Error("async schema in sync schema");D+=" var errs_"+q+" = errors;"}var V="valid"+q,_=!Q.opts.allErrors,T="",R="",j,P=Q.schema.type,$=Array.isArray(P);if(P&&Q.opts.nullable&&Q.schema.nullable===!0){if($){if(P.indexOf("null")==-1)P=P.concat("null")}else if(P!="null")P=[P,"null"],$=!0}if($&&P.length==1)P=P[0],$=!1;if(Q.schema.$ref&&Z){if(Q.opts.extendRefs=="fail")throw new Error('$ref: validation keywords used in schema at path "'+Q.errSchemaPath+'" (see option extendRefs)');else if(Q.opts.extendRefs!==!0)Z=!1,Q.logger.warn('$ref: keywords ignored in schema at path "'+Q.errSchemaPath+'"')}if(Q.schema.$comment&&Q.opts.$comment)D+=" "+Q.RULES.all.$comment.code(Q,"$comment");if(P){if(Q.opts.coerceTypes)var f=Q.util.coerceToTypes(Q.opts.coerceTypes,P);var m=Q.RULES.types[P];if(f||$||m===!0||m&&!V1(m)){var E=Q.schemaPath+".type",w=Q.errSchemaPath+"/type",E=Q.schemaPath+".type",w=Q.errSchemaPath+"/type",l=$?"checkDataTypes":"checkDataType";if(D+=" if ("+Q.util[l](P,H,Q.opts.strictNumbers,!0)+") { ",f){var v="dataType"+q,g="coerced"+q;if(D+=" var "+v+" = typeof "+H+"; var "+g+" = undefined; ",Q.opts.coerceTypes=="array")D+=" if ("+v+" == 'object' && Array.isArray("+H+") && "+H+".length == 1) { "+H+" = "+H+"[0]; "+v+" = typeof "+H+"; if ("+Q.util.checkDataType(Q.schema.type,H,Q.opts.strictNumbers)+") "+g+" = "+H+"; } ";D+=" if ("+g+" !== undefined) ; ";var b=f;if(b){var u,S=-1,y=b.length-1;while(S<y)if(u=b[S+=1],u=="string")D+=" else if ("+v+" == 'number' || "+v+" == 'boolean') "+g+" = '' + "+H+"; else if ("+H+" === null) "+g+" = ''; ";else if(u=="number"||u=="integer"){if(D+=" else if ("+v+" == 'boolean' || "+H+" === null || ("+v+" == 'string' && "+H+" && "+H+" == +"+H+" ",u=="integer")D+=" && !("+H+" % 1)";D+=")) "+g+" = +"+H+"; "}else if(u=="boolean")D+=" else if ("+H+" === 'false' || "+H+" === 0 || "+H+" === null) "+g+" = false; else if ("+H+" === 'true' || "+H+" === 1) "+g+" = true; ";else if(u=="null")D+=" else if ("+H+" === '' || "+H+" === 0 || "+H+" === false) "+g+" = null; ";else if(Q.opts.coerceTypes=="array"&&u=="array")D+=" else if ("+v+" == 'string' || "+v+" == 'number' || "+v+" == 'boolean' || "+H+" == null) "+g+" = ["+H+"]; "}D+=" else { ";var M=M||[];if(M.push(D),D="",Q.createErrors!==!1){if(D+=" { keyword: '"+(j||"type")+"' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(w)+" , params: { type: '",$)D+=""+P.join(",");else D+=""+P;if(D+="' } ",Q.opts.messages!==!1){if(D+=" , message: 'should be ",$)D+=""+P.join(",");else D+=""+P;D+="' "}if(Q.opts.verbose)D+=" , schema: validate.schema"+E+" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+H+" ";D+=" } "}else D+=" {} ";var W=D;if(D=M.pop(),!Q.compositeRule&&_)if(Q.async)D+=" throw new ValidationError(["+W+"]); ";else D+=" validate.errors = ["+W+"]; return false; ";else D+=" var err = "+W+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";D+=" } if ("+g+" !== undefined) { ";var d=Y?"data"+(Y-1||""):"parentData",a=Y?Q.dataPathArr[Y]:"parentDataProperty";if(D+=" "+H+" = "+g+"; ",!Y)D+="if ("+d+" !== undefined)";D+=" "+d+"["+a+"] = "+g+"; } "}else{var M=M||[];if(M.push(D),D="",Q.createErrors!==!1){if(D+=" { keyword: '"+(j||"type")+"' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(w)+" , params: { type: '",$)D+=""+P.join(",");else D+=""+P;if(D+="' } ",Q.opts.messages!==!1){if(D+=" , message: 'should be ",$)D+=""+P.join(",");else D+=""+P;D+="' "}if(Q.opts.verbose)D+=" , schema: validate.schema"+E+" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+H+" ";D+=" } "}else D+=" {} ";var W=D;if(D=M.pop(),!Q.compositeRule&&_)if(Q.async)D+=" throw new ValidationError(["+W+"]); ";else D+=" validate.errors = ["+W+"]; return false; ";else D+=" var err = "+W+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}D+=" } "}}if(Q.schema.$ref&&!Z){if(D+=" "+Q.RULES.all.$ref.code(Q,"$ref")+" ",_){if(D+=" } if (errors === ",I)D+="0";else D+="errs_"+q;D+=") { ",R+="}"}}else{var z1=Q.RULES;if(z1){var m,t=-1,D1=z1.length-1;while(t<D1)if(m=z1[t+=1],V1(m)){if(m.type)D+=" if ("+Q.util.checkDataType(m.type,H,Q.opts.strictNumbers)+") { ";if(Q.opts.useDefaults){if(m.type=="object"&&Q.schema.properties){var F=Q.schema.properties,A1=Object.keys(F),K1=A1;if(K1){var X1,N1=-1,s=K1.length-1;while(N1<s){X1=K1[N1+=1];var r=F[X1];if(r.default!==void 0){var e=H+Q.util.getProperty(X1);if(Q.compositeRule){if(Q.opts.strictDefaults){var N="default is ignored for: "+e;if(Q.opts.strictDefaults==="log")Q.logger.warn(N);else throw new Error(N)}}else{if(D+=" if ("+e+" === undefined ",Q.opts.useDefaults=="empty")D+=" || "+e+" === null || "+e+" === '' ";if(D+=" ) "+e+" = ",Q.opts.useDefaults=="shared")D+=" "+Q.useDefault(r.default)+" ";else D+=" "+JSON.stringify(r.default)+" ";D+="; "}}}}}else if(m.type=="array"&&Array.isArray(Q.schema.items)){var G1=Q.schema.items;if(G1){var r,S=-1,q1=G1.length-1;while(S<q1)if(r=G1[S+=1],r.default!==void 0){var e=H+"["+S+"]";if(Q.compositeRule){if(Q.opts.strictDefaults){var N="default is ignored for: "+e;if(Q.opts.strictDefaults==="log")Q.logger.warn(N);else throw new Error(N)}}else{if(D+=" if ("+e+" === undefined ",Q.opts.useDefaults=="empty")D+=" || "+e+" === null || "+e+" === '' ";if(D+=" ) "+e+" = ",Q.opts.useDefaults=="shared")D+=" "+Q.useDefault(r.default)+" ";else D+=" "+JSON.stringify(r.default)+" ";D+="; "}}}}}var Y1=m.rules;if(Y1){var U1,P1=-1,R1=Y1.length-1;while(P1<R1)if(U1=Y1[P1+=1],I1(U1)){var T1=U1.code(Q,U1.keyword,m.type);if(T1){if(D+=" "+T1+" ",_)T+="}"}}}if(_)D+=" "+T+" ",T="";if(m.type){if(D+=" } ",P&&P===m.type&&!f){D+=" else { ";var E=Q.schemaPath+".type",w=Q.errSchemaPath+"/type",M=M||[];if(M.push(D),D="",Q.createErrors!==!1){if(D+=" { keyword: '"+(j||"type")+"' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(w)+" , params: { type: '",$)D+=""+P.join(",");else D+=""+P;if(D+="' } ",Q.opts.messages!==!1){if(D+=" , message: 'should be ",$)D+=""+P.join(",");else D+=""+P;D+="' "}if(Q.opts.verbose)D+=" , schema: validate.schema"+E+" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+H+" ";D+=" } "}else D+=" {} ";var W=D;if(D=M.pop(),!Q.compositeRule&&_)if(Q.async)D+=" throw new ValidationError(["+W+"]); ";else D+=" validate.errors = ["+W+"]; return false; ";else D+=" var err = "+W+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";D+=" } "}}if(_){if(D+=" if (errors === ",I)D+="0";else D+="errs_"+q;D+=") { ",R+="}"}}}}if(_)D+=" "+R+" ";if(I){if(z)D+=" if (errors === 0) return data; ",D+=" else throw new ValidationError(vErrors); ";else D+=" validate.errors = vErrors; ",D+=" return errors === 0; ";D+=" }; return validate;"}else D+=" var "+V+" = errors === errs_"+q+";";function V1(J0){var H0=J0.rules;for(var D0=0;D0<H0.length;D0++)if(I1(H0[D0]))return!0}function I1(J0){return Q.schema[J0.keyword]!==void 0||J0.implements&&t1(J0)}function t1(J0){var H0=J0.implements;for(var D0=0;D0<H0.length;D0++)if(Q.schema[H0[D0]]!==void 0)return!0}return D}});var el1=Q1((Z52,tl1)=>{var Wn=Hn(),Nn=UO(),rl1=Mn(),IwA=FK1(),sl1=EK1(),NwA=Nn.ucs2length,CwA=Gn(),VwA=rl1.Validation;tl1.exports=wK1;function wK1(A,Q,B,J){var D=this,z=this._opts,Z=[void 0],X={},K=[],G={},q=[],Y={},F=[];Q=Q||{schema:A,refVal:Z,refs:X};var E=OwA.call(this,A,Q,J),w=this._compilations[E.index];if(E.compiling)return w.callValidate=N;var H=this._formats,M=this.RULES;try{var W=V(A,Q,B,J);w.validate=W;var I=w.callValidate;if(I){if(I.schema=W.schema,I.errors=null,I.refs=W.refs,I.refVal=W.refVal,I.root=W.root,I.$async=W.$async,z.sourceCode)I.source=W.source}return W}finally{RwA.call(this,A,Q,J)}function N(){var l=w.validate,v=l.apply(this,arguments);return N.errors=l.errors,v}function V(l,v,g,b){var u=!v||v&&v.schema==l;if(v.schema!=Q.schema)return wK1.call(D,l,v,g,b);var S=l.$async===!0,y=sl1({isTop:!0,schema:l,isRoot:u,baseId:b,root:v,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:rl1.MissingRef,RULES:M,validate:sl1,util:Nn,resolve:Wn,resolveRef:_,usePattern:$,useDefault:f,useCustomRule:m,opts:z,formats:H,logger:D.logger,self:D});if(y=In(Z,TwA)+In(K,LwA)+In(q,_wA)+In(F,jwA)+y,z.processCode)y=z.processCode(y,l);var d;try{var a=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",y);d=a(D,M,H,Q,Z,q,F,CwA,NwA,VwA),Z[0]=d}catch(z1){throw D.logger.error("Error compiling schema, function code:",y),z1}if(d.schema=l,d.errors=null,d.refs=X,d.refVal=Z,d.root=u?d:v,S)d.$async=!0;if(z.sourceCode===!0)d.source={code:y,patterns:K,defaults:q};return d}function _(l,v,g){v=Wn.url(l,v);var b=X[v],u,S;if(b!==void 0)return u=Z[b],S="refVal["+b+"]",P(u,S);if(!g&&Q.refs){var y=Q.refs[v];if(y!==void 0)return u=Q.refVal[y],S=T(v,u),P(u,S)}S=T(v);var d=Wn.call(D,V,Q,v);if(d===void 0){var a=B&&B[v];if(a)d=Wn.inlineRef(a,z.inlineRefs)?a:wK1.call(D,a,Q,B,l)}if(d===void 0)R(v);else return j(v,d),P(d,S)}function T(l,v){var g=Z.length;return Z[g]=v,X[l]=g,"refVal"+g}function R(l){delete X[l]}function j(l,v){var g=X[l];Z[g]=v}function P(l,v){return typeof l=="object"||typeof l=="boolean"?{code:v,schema:l,inline:!0}:{code:v,$async:l&&!!l.$async}}function $(l){var v=G[l];if(v===void 0)v=G[l]=K.length,K[v]=l;return"pattern"+v}function f(l){switch(typeof l){case"boolean":case"number":return""+l;case"string":return Nn.toQuotedString(l);case"object":if(l===null)return"null";var v=IwA(l),g=Y[v];if(g===void 0)g=Y[v]=q.length,q[g]=l;return"default"+g}}function m(l,v,g,b){if(D._opts.validateSchema!==!1){var u=l.definition.dependencies;if(u&&!u.every(function(K1){return Object.prototype.hasOwnProperty.call(g,K1)}))throw new Error("parent schema must have all required keywords: "+u.join(","));var S=l.definition.validateSchema;if(S){var y=S(v);if(!y){var d="keyword schema is invalid: "+D.errorsText(S.errors);if(D._opts.validateSchema=="log")D.logger.error(d);else throw new Error(d)}}}var a=l.definition.compile,z1=l.definition.inline,t=l.definition.macro,D1;if(a)D1=a.call(D,v,g,b);else if(t){if(D1=t.call(D,v,g,b),z.validateSchema!==!1)D.validateSchema(D1,!0)}else if(z1)D1=z1.call(D,b,l.keyword,v,g);else if(D1=l.definition.validate,!D1)return;if(D1===void 0)throw new Error('custom keyword "'+l.keyword+'"failed to compile');var A1=F.length;return F[A1]=D1,{code:"customRule"+A1,validate:D1}}}function OwA(A,Q,B){var J=ol1.call(this,A,Q,B);if(J>=0)return{index:J,compiling:!0};return J=this._compilations.length,this._compilations[J]={schema:A,root:Q,baseId:B},{index:J,compiling:!1}}function RwA(A,Q,B){var J=ol1.call(this,A,Q,B);if(J>=0)this._compilations.splice(J,1)}function ol1(A,Q,B){for(var J=0;J<this._compilations.length;J++){var D=this._compilations[J];if(D.schema==A&&D.root==Q&&D.baseId==B)return J}return-1}function LwA(A,Q){return"var pattern"+A+" = new RegExp("+Nn.toQuotedString(Q[A])+");"}function _wA(A){return"var default"+A+" = defaults["+A+"];"}function TwA(A,Q){return Q[A]===void 0?"":"var refVal"+A+" = refVal["+A+"];"}function jwA(A){return"var customRule"+A+" = customRules["+A+"];"}function In(A,Q){if(!A.length)return"";var B="";for(var J=0;J<A.length;J++)B+=Q(J,A);return B}});var Qd1=Q1((X52,Ad1)=>{var Cn=Ad1.exports=function A(){this._cache={}};Cn.prototype.put=function A(Q,B){this._cache[Q]=B};Cn.prototype.get=function A(Q){return this._cache[Q]};Cn.prototype.del=function A(Q){delete this._cache[Q]};Cn.prototype.clear=function A(){this._cache={}}});var Fd1=Q1((K52,Ud1)=>{var PwA=UO(),SwA=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,vwA=[0,31,28,31,30,31,30,31,31,30,31,30,31],$wA=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,Bd1=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,fwA=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,kwA=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,Jd1=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,Dd1=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,zd1=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,Zd1=/^(?:\/(?:[^~/]|~0|~1)*)*$/,Xd1=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,Kd1=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;Ud1.exports=Vn;function Vn(A){return A=A=="full"?"full":"fast",PwA.copy(Vn[A])}Vn.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":Jd1,url:Dd1,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:Bd1,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:Yd1,uuid:zd1,"json-pointer":Zd1,"json-pointer-uri-fragment":Xd1,"relative-json-pointer":Kd1};Vn.full={date:Gd1,time:qd1,"date-time":bwA,uri:hwA,"uri-reference":kwA,"uri-template":Jd1,url:Dd1,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:Bd1,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:Yd1,uuid:zd1,"json-pointer":Zd1,"json-pointer-uri-fragment":Xd1,"relative-json-pointer":Kd1};function ywA(A){return A%4===0&&(A%100!==0||A%400===0)}function Gd1(A){var Q=A.match(SwA);if(!Q)return!1;var B=+Q[1],J=+Q[2],D=+Q[3];return J>=1&&J<=12&&D>=1&&D<=(J==2&&ywA(B)?29:vwA[J])}function qd1(A,Q){var B=A.match($wA);if(!B)return!1;var J=B[1],D=B[2],z=B[3],Z=B[5];return(J<=23&&D<=59&&z<=59||J==23&&D==59&&z==60)&&(!Q||Z)}var gwA=/t|\s/i;function bwA(A){var Q=A.split(gwA);return Q.length==2&&Gd1(Q[0])&&qd1(Q[1],!0)}var xwA=/\/|:/;function hwA(A){return xwA.test(A)&&fwA.test(A)}var mwA=/[^\\]\\Z/;function Yd1(A){if(mwA.test(A))return!1;try{return new RegExp(A),!0}catch(Q){return!1}}});var wd1=Q1((G52,Ed1)=>{Ed1.exports=function A(Q,B,J){var D=" ",z=Q.level,Z=Q.dataLevel,X=Q.schema[B],K=Q.errSchemaPath+"/"+B,G=!Q.opts.allErrors,q="data"+(Z||""),Y="valid"+z,F,E;if(X=="#"||X=="#/")if(Q.isRoot)F=Q.async,E="validate";else F=Q.root.schema.$async===!0,E="root.refVal[0]";else{var w=Q.resolveRef(Q.baseId,X,Q.isRoot);if(w===void 0){var H=Q.MissingRefError.message(Q.baseId,X);if(Q.opts.missingRefs=="fail"){Q.logger.error(H);var M=M||[];if(M.push(D),D="",Q.createErrors!==!1){if(D+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(K)+" , params: { ref: '"+Q.util.escapeQuotes(X)+"' } ",Q.opts.messages!==!1)D+=" , message: 'can\\'t resolve reference "+Q.util.escapeQuotes(X)+"' ";if(Q.opts.verbose)D+=" , schema: "+Q.util.toQuotedString(X)+" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+q+" ";D+=" } "}else D+=" {} ";var W=D;if(D=M.pop(),!Q.compositeRule&&G)if(Q.async)D+=" throw new ValidationError(["+W+"]); ";else D+=" validate.errors = ["+W+"]; return false; ";else D+=" var err = "+W+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(G)D+=" if (false) { "}else if(Q.opts.missingRefs=="ignore"){if(Q.logger.warn(H),G)D+=" if (true) { "}else throw new Q.MissingRefError(Q.baseId,X,H)}else if(w.inline){var I=Q.util.copy(Q);I.level++;var N="valid"+I.level;I.schema=w.schema,I.schemaPath="",I.errSchemaPath=X;var V=Q.validate(I).replace(/validate\.schema/g,w.code);if(D+=" "+V+" ",G)D+=" if ("+N+") { "}else F=w.$async===!0||Q.async&&w.$async!==!1,E=w.code}if(E){var M=M||[];if(M.push(D),D="",Q.opts.passContext)D+=" "+E+".call(this, ";else D+=" "+E+"( ";if(D+=" "+q+", (dataPath || '')",Q.errorPath!='""')D+=" + "+Q.errorPath;var _=Z?"data"+(Z-1||""):"parentData",T=Z?Q.dataPathArr[Z]:"parentDataProperty";D+=" , "+_+" , "+T+", rootData) ";var R=D;if(D=M.pop(),F){if(!Q.async)throw new Error("async schema referenced by sync schema");if(G)D+=" var "+Y+"; ";if(D+=" try { await "+R+"; ",G)D+=" "+Y+" = true; ";if(D+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",G)D+=" "+Y+" = false; ";if(D+=" } ",G)D+=" if ("+Y+") { "}else if(D+=" if (!"+R+") { if (vErrors === null) vErrors = "+E+".errors; else vErrors = vErrors.concat("+E+".errors); errors = vErrors.length; } ",G)D+=" else { "}return D}});var Md1=Q1((q52,Hd1)=>{Hd1.exports=function A(Q,B,J){var D=" ",z=Q.schema[B],Z=Q.schemaPath+Q.util.getProperty(B),X=Q.errSchemaPath+"/"+B,K=!Q.opts.allErrors,G=Q.util.copy(Q),q="";G.level++;var Y="valid"+G.level,F=G.baseId,E=!0,w=z;if(w){var H,M=-1,W=w.length-1;while(M<W)if(H=w[M+=1],Q.opts.strictKeywords?typeof H=="object"&&Object.keys(H).length>0||H===!1:Q.util.schemaHasRules(H,Q.RULES.all)){if(E=!1,G.schema=H,G.schemaPath=Z+"["+M+"]",G.errSchemaPath=X+"/"+M,D+=" "+Q.validate(G)+" ",G.baseId=F,K)D+=" if ("+Y+") { ",q+="}"}}if(K)if(E)D+=" if (true) { ";else D+=" "+q.slice(0,-1)+" ";return D}});var Id1=Q1((Y52,Wd1)=>{Wd1.exports=function A(Q,B,J){var D=" ",z=Q.level,Z=Q.dataLevel,X=Q.schema[B],K=Q.schemaPath+Q.util.getProperty(B),G=Q.errSchemaPath+"/"+B,q=!Q.opts.allErrors,Y="data"+(Z||""),F="valid"+z,E="errs__"+z,w=Q.util.copy(Q),H="";w.level++;var M="valid"+w.level,W=X.every(function(j){return Q.opts.strictKeywords?typeof j=="object"&&Object.keys(j).length>0||j===!1:Q.util.schemaHasRules(j,Q.RULES.all)});if(W){var I=w.baseId;D+=" var "+E+" = errors; var "+F+" = false; ";var N=Q.compositeRule;Q.compositeRule=w.compositeRule=!0;var V=X;if(V){var _,T=-1,R=V.length-1;while(T<R)_=V[T+=1],w.schema=_,w.schemaPath=K+"["+T+"]",w.errSchemaPath=G+"/"+T,D+=" "+Q.validate(w)+" ",w.baseId=I,D+=" "+F+" = "+F+" || "+M+"; if (!"+F+") { ",H+="}"}if(Q.compositeRule=w.compositeRule=N,D+=" "+H+" if (!"+F+") { var err = ",Q.createErrors!==!1){if(D+=" { keyword: 'anyOf' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: {} ",Q.opts.messages!==!1)D+=" , message: 'should match some schema in anyOf' ";if(Q.opts.verbose)D+=" , schema: validate.schema"+K+" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+Y+" ";D+=" } "}else D+=" {} ";if(D+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!Q.compositeRule&&q)if(Q.async)D+=" throw new ValidationError(vErrors); ";else D+=" validate.errors = vErrors; return false; ";if(D+=" } else { errors = "+E+"; if (vErrors !== null) { if ("+E+") vErrors.length = "+E+"; else vErrors = null; } ",Q.opts.allErrors)D+=" } "}else if(q)D+=" if (true) { ";return D}});var Cd1=Q1((U52,Nd1)=>{Nd1.exports=function A(Q,B,J){var D=" ",z=Q.schema[B],Z=Q.errSchemaPath+"/"+B,X=!Q.opts.allErrors,K=Q.util.toQuotedString(z);if(Q.opts.$comment===!0)D+=" console.log("+K+");";else if(typeof Q.opts.$comment=="function")D+=" self._opts.$comment("+K+", "+Q.util.toQuotedString(Z)+", validate.root.schema);";return D}});var Od1=Q1((F52,Vd1)=>{Vd1.exports=function A(Q,B,J){var D=" ",z=Q.level,Z=Q.dataLevel,X=Q.schema[B],K=Q.schemaPath+Q.util.getProperty(B),G=Q.errSchemaPath+"/"+B,q=!Q.opts.allErrors,Y="data"+(Z||""),F="valid"+z,E=Q.opts.$data&&X&&X.$data,w;if(E)D+=" var schema"+z+" = "+Q.util.getData(X.$data,Z,Q.dataPathArr)+"; ",w="schema"+z;else w=X;if(!E)D+=" var schema"+z+" = validate.schema"+K+";";D+="var "+F+" = equal("+Y+", schema"+z+"); if (!"+F+") { ";var H=H||[];if(H.push(D),D="",Q.createErrors!==!1){if(D+=" { keyword: 'const' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: { allowedValue: schema"+z+" } ",Q.opts.messages!==!1)D+=" , message: 'should be equal to constant' ";if(Q.opts.verbose)D+=" , schema: validate.schema"+K+" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+Y+" ";D+=" } "}else D+=" {} ";var M=D;if(D=H.pop(),!Q.compositeRule&&q)if(Q.async)D+=" throw new ValidationError(["+M+"]); ";else D+=" validate.errors = ["+M+"]; return false; ";else D+=" var err = "+M+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(D+=" }",q)D+=" else { ";return D}});var Ld1=Q1((E52,Rd1)=>{Rd1.exports=function A(Q,B,J){var D=" ",z=Q.level,Z=Q.dataLevel,X=Q.schema[B],K=Q.schemaPath+Q.util.getProperty(B),G=Q.errSchemaPath+"/"+B,q=!Q.opts.allErrors,Y="data"+(Z||""),F="valid"+z,E="errs__"+z,w=Q.util.copy(Q),H="";w.level++;var M="valid"+w.level,W="i"+z,I=w.dataLevel=Q.dataLevel+1,N="data"+I,V=Q.baseId,_=Q.opts.strictKeywords?typeof X=="object"&&Object.keys(X).length>0||X===!1:Q.util.schemaHasRules(X,Q.RULES.all);if(D+="var "+E+" = errors;var "+F+";",_){var T=Q.compositeRule;Q.compositeRule=w.compositeRule=!0,w.schema=X,w.schemaPath=K,w.errSchemaPath=G,D+=" var "+M+" = false; for (var "+W+" = 0; "+W+" < "+Y+".length; "+W+"++) { ",w.errorPath=Q.util.getPathExpr(Q.errorPath,W,Q.opts.jsonPointers,!0);var R=Y+"["+W+"]";w.dataPathArr[I]=W;var j=Q.validate(w);if(w.baseId=V,Q.util.varOccurences(j,N)<2)D+=" "+Q.util.varReplace(j,N,R)+" ";else D+=" var "+N+" = "+R+"; "+j+" ";D+=" if ("+M+") break; } ",Q.compositeRule=w.compositeRule=T,D+=" "+H+" if (!"+M+") {"}else D+=" if ("+Y+".length == 0) {";var P=P||[];if(P.push(D),D="",Q.createErrors!==!1){if(D+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: {} ",Q.opts.messages!==!1)D+=" , message: 'should contain a valid item' ";if(Q.opts.verbose)D+=" , schema: validate.schema"+K+" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+Y+" ";D+=" } "}else D+=" {} ";var $=D;if(D=P.pop(),!Q.compositeRule&&q)if(Q.async)D+=" throw new ValidationError(["+$+"]); ";else D+=" validate.errors = ["+$+"]; return false; ";else D+=" var err = "+$+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(D+=" } else { ",_)D+=" errors = "+E+"; if (vErrors !== null) { if ("+E+") vErrors.length = "+E+"; else vErrors = null; } ";if(Q.opts.allErrors)D+=" } ";return D}});var Td1=Q1((w52,_d1)=>{_d1.exports=function A(Q,B,J){var D=" ",z=Q.level,Z=Q.dataLevel,X=Q.schema[B],K=Q.schemaPath+Q.util.getProperty(B),G=Q.errSchemaPath+"/"+B,q=!Q.opts.allErrors,Y="data"+(Z||""),F="errs__"+z,E=Q.util.copy(Q),w="";E.level++;var H="valid"+E.level,M={},W={},I=Q.opts.ownProperties;for(T in X){if(T=="__proto__")continue;var N=X[T],V=Array.isArray(N)?W:M;V[T]=N}D+="var "+F+" = errors;";var _=Q.errorPath;D+="var missing"+z+";";for(var T in W)if(V=W[T],V.length){if(D+=" if ( "+Y+Q.util.getProperty(T)+" !== undefined ",I)D+=" && Object.prototype.hasOwnProperty.call("+Y+", '"+Q.util.escapeQuotes(T)+"') ";if(q){D+=" && ( ";var R=V;if(R){var j,P=-1,$=R.length-1;while(P<$){if(j=R[P+=1],P)D+=" || ";var f=Q.util.getProperty(j),m=Y+f;if(D+=" ( ( "+m+" === undefined ",I)D+=" || ! Object.prototype.hasOwnProperty.call("+Y+", '"+Q.util.escapeQuotes(j)+"') ";D+=") && (missing"+z+" = "+Q.util.toQuotedString(Q.opts.jsonPointers?j:f)+") ) "}}D+=")) { ";var l="missing"+z,v="' + "+l+" + '";if(Q.opts._errorDataPathProperty)Q.errorPath=Q.opts.jsonPointers?Q.util.getPathExpr(_,l,!0):_+" + "+l;var g=g||[];if(g.push(D),D="",Q.createErrors!==!1){if(D+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: { property: '"+Q.util.escapeQuotes(T)+"', missingProperty: '"+v+"', depsCount: "+V.length+", deps: '"+Q.util.escapeQuotes(V.length==1?V[0]:V.join(", "))+"' } ",Q.opts.messages!==!1){if(D+=" , message: 'should have ",V.length==1)D+="property "+Q.util.escapeQuotes(V[0]);else D+="properties "+Q.util.escapeQuotes(V.join(", "));D+=" when property "+Q.util.escapeQuotes(T)+" is present' "}if(Q.opts.verbose)D+=" , schema: validate.schema"+K+" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+Y+" ";D+=" } "}else D+=" {} ";var b=D;if(D=g.pop(),!Q.compositeRule&&q)if(Q.async)D+=" throw new ValidationError(["+b+"]); ";else D+=" validate.errors = ["+b+"]; return false; ";else D+=" var err = "+b+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else{D+=" ) { ";var u=V;if(u){var j,S=-1,y=u.length-1;while(S<y){j=u[S+=1];var f=Q.util.getProperty(j),v=Q.util.escapeQuotes(j),m=Y+f;if(Q.opts._errorDataPathProperty)Q.errorPath=Q.util.getPath(_,j,Q.opts.jsonPointers);if(D+=" if ( "+m+" === undefined ",I)D+=" || ! Object.prototype.hasOwnProperty.call("+Y+", '"+Q.util.escapeQuotes(j)+"') ";if(D+=") { var err = ",Q.createErrors!==!1){if(D+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: { property: '"+Q.util.escapeQuotes(T)+"', missingProperty: '"+v+"', depsCount: "+V.length+", deps: '"+Q.util.escapeQuotes(V.length==1?V[0]:V.join(", "))+"' } ",Q.opts.messages!==!1){if(D+=" , message: 'should have ",V.length==1)D+="property "+Q.util.escapeQuotes(V[0]);else D+="properties "+Q.util.escapeQuotes(V.join(", "));D+=" when property "+Q.util.escapeQuotes(T)+" is present' "}if(Q.opts.verbose)D+=" , schema: validate.schema"+K+" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+Y+" ";D+=" } "}else D+=" {} ";D+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}}if(D+=" } ",q)w+="}",D+=" else { "}Q.errorPath=_;var d=E.baseId;for(var T in M){var N=M[T];if(Q.opts.strictKeywords?typeof N=="object"&&Object.keys(N).length>0||N===!1:Q.util.schemaHasRules(N,Q.RULES.all)){if(D+=" "+H+" = true; if ( "+Y+Q.util.getProperty(T)+" !== undefined ",I)D+=" && Object.prototype.hasOwnProperty.call("+Y+", '"+Q.util.escapeQuotes(T)+"') ";if(D+=") { ",E.schema=N,E.schemaPath=K+Q.util.getProperty(T),E.errSchemaPath=G+"/"+Q.util.escapeFragment(T),D+=" "+Q.validate(E)+" ",E.baseId=d,D+=" } ",q)D+=" if ("+H+") { ",w+="}"}}if(q)D+=" "+w+" if ("+F+" == errors) {";return D}});var Pd1=Q1((H52,jd1)=>{jd1.exports=function A(Q,B,J){var D=" ",z=Q.level,Z=Q.dataLevel,X=Q.schema[B],K=Q.schemaPath+Q.util.getProperty(B),G=Q.errSchemaPath+"/"+B,q=!Q.opts.allErrors,Y="data"+(Z||""),F="valid"+z,E=Q.opts.$data&&X&&X.$data,w;if(E)D+=" var schema"+z+" = "+Q.util.getData(X.$data,Z,Q.dataPathArr)+"; ",w="schema"+z;else w=X;var H="i"+z,M="schema"+z;if(!E)D+=" var "+M+" = validate.schema"+K+";";if(D+="var "+F+";",E)D+=" if (schema"+z+" === undefined) "+F+" = true; else if (!Array.isArray(schema"+z+")) "+F+" = false; else {";if(D+=""+F+" = false;for (var "+H+"=0; "+H+"<"+M+".length; "+H+"++) if (equal("+Y+", "+M+"["+H+"])) { "+F+" = true; break; }",E)D+=" } ";D+=" if (!"+F+") { ";var W=W||[];if(W.push(D),D="",Q.createErrors!==!1){if(D+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: { allowedValues: schema"+z+" } ",Q.opts.messages!==!1)D+=" , message: 'should be equal to one of the allowed values' ";if(Q.opts.verbose)D+=" , schema: validate.schema"+K+" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+Y+" ";D+=" } "}else D+=" {} ";var I=D;if(D=W.pop(),!Q.compositeRule&&q)if(Q.async)D+=" throw new ValidationError(["+I+"]); ";else D+=" validate.errors = ["+I+"]; return false; ";else D+=" var err = "+I+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(D+=" }",q)D+=" else { ";return D}});var vd1=Q1((M52,Sd1)=>{Sd1.exports=function A(Q,B,J){var D=" ",z=Q.level,Z=Q.dataLevel,X=Q.schema[B],K=Q.schemaPath+Q.util.getProperty(B),G=Q.errSchemaPath+"/"+B,q=!Q.opts.allErrors,Y="data"+(Z||"");if(Q.opts.format===!1){if(q)D+=" if (true) { ";return D}var F=Q.opts.$data&&X&&X.$data,E;if(F)D+=" var schema"+z+" = "+Q.util.getData(X.$data,Z,Q.dataPathArr)+"; ",E="schema"+z;else E=X;var w=Q.opts.unknownFormats,H=Array.isArray(w);if(F){var M="format"+z,W="isObject"+z,I="formatType"+z;if(D+=" var "+M+" = formats["+E+"]; var "+W+" = typeof "+M+" == 'object' && !("+M+" instanceof RegExp) && "+M+".validate; var "+I+" = "+W+" && "+M+".type || 'string'; if ("+W+") { ",Q.async)D+=" var async"+z+" = "+M+".async; ";if(D+=" "+M+" = "+M+".validate; } if ( ",F)D+=" ("+E+" !== undefined && typeof "+E+" != 'string') || ";if(D+=" (",w!="ignore"){if(D+=" ("+E+" && !"+M+" ",H)D+=" && self._opts.unknownFormats.indexOf("+E+") == -1 ";D+=") || "}if(D+=" ("+M+" && "+I+" == '"+J+"' && !(typeof "+M+" == 'function' ? ",Q.async)D+=" (async"+z+" ? await "+M+"("+Y+") : "+M+"("+Y+")) ";else D+=" "+M+"("+Y+") ";D+=" : "+M+".test("+Y+"))))) {"}else{var M=Q.formats[X];if(!M)if(w=="ignore"){if(Q.logger.warn('unknown format "'+X+'" ignored in schema at path "'+Q.errSchemaPath+'"'),q)D+=" if (true) { ";return D}else if(H&&w.indexOf(X)>=0){if(q)D+=" if (true) { ";return D}else throw new Error('unknown format "'+X+'" is used in schema at path "'+Q.errSchemaPath+'"');var W=typeof M=="object"&&!(M instanceof RegExp)&&M.validate,I=W&&M.type||"string";if(W){var N=M.async===!0;M=M.validate}if(I!=J){if(q)D+=" if (true) { ";return D}if(N){if(!Q.async)throw new Error("async format in sync schema");var V="formats"+Q.util.getProperty(X)+".validate";D+=" if (!(await "+V+"("+Y+"))) { "}else{D+=" if (! ";var V="formats"+Q.util.getProperty(X);if(W)V+=".validate";if(typeof M=="function")D+=" "+V+"("+Y+") ";else D+=" "+V+".test("+Y+") ";D+=") { "}}var _=_||[];if(_.push(D),D="",Q.createErrors!==!1){if(D+=" { keyword: 'format' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: { format: ",F)D+=""+E;else D+=""+Q.util.toQuotedString(X);if(D+=" } ",Q.opts.messages!==!1){if(D+=` , message: 'should match format "`,F)D+="' + "+E+" + '";else D+=""+Q.util.escapeQuotes(X);D+=`"' `}if(Q.opts.verbose){if(D+=" , schema: ",F)D+="validate.schema"+K;else D+=""+Q.util.toQuotedString(X);D+=" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+Y+" "}D+=" } "}else D+=" {} ";var T=D;if(D=_.pop(),!Q.compositeRule&&q)if(Q.async)D+=" throw new ValidationError(["+T+"]); ";else D+=" validate.errors = ["+T+"]; return false; ";else D+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(D+=" } ",q)D+=" else { ";return D}});var fd1=Q1((W52,$d1)=>{$d1.exports=function A(Q,B,J){var D=" ",z=Q.level,Z=Q.dataLevel,X=Q.schema[B],K=Q.schemaPath+Q.util.getProperty(B),G=Q.errSchemaPath+"/"+B,q=!Q.opts.allErrors,Y="data"+(Z||""),F="valid"+z,E="errs__"+z,w=Q.util.copy(Q);w.level++;var H="valid"+w.level,M=Q.schema.then,W=Q.schema.else,I=M!==void 0&&(Q.opts.strictKeywords?typeof M=="object"&&Object.keys(M).length>0||M===!1:Q.util.schemaHasRules(M,Q.RULES.all)),N=W!==void 0&&(Q.opts.strictKeywords?typeof W=="object"&&Object.keys(W).length>0||W===!1:Q.util.schemaHasRules(W,Q.RULES.all)),V=w.baseId;if(I||N){var _;w.createErrors=!1,w.schema=X,w.schemaPath=K,w.errSchemaPath=G,D+=" var "+E+" = errors; var "+F+" = true; ";var T=Q.compositeRule;if(Q.compositeRule=w.compositeRule=!0,D+=" "+Q.validate(w)+" ",w.baseId=V,w.createErrors=!0,D+=" errors = "+E+"; if (vErrors !== null) { if ("+E+") vErrors.length = "+E+"; else vErrors = null; } ",Q.compositeRule=w.compositeRule=T,I){if(D+=" if ("+H+") { ",w.schema=Q.schema.then,w.schemaPath=Q.schemaPath+".then",w.errSchemaPath=Q.errSchemaPath+"/then",D+=" "+Q.validate(w)+" ",w.baseId=V,D+=" "+F+" = "+H+"; ",I&&N)_="ifClause"+z,D+=" var "+_+" = 'then'; ";else _="'then'";if(D+=" } ",N)D+=" else { "}else D+=" if (!"+H+") { ";if(N){if(w.schema=Q.schema.else,w.schemaPath=Q.schemaPath+".else",w.errSchemaPath=Q.errSchemaPath+"/else",D+=" "+Q.validate(w)+" ",w.baseId=V,D+=" "+F+" = "+H+"; ",I&&N)_="ifClause"+z,D+=" var "+_+" = 'else'; ";else _="'else'";D+=" } "}if(D+=" if (!"+F+") { var err = ",Q.createErrors!==!1){if(D+=" { keyword: 'if' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: { failingKeyword: "+_+" } ",Q.opts.messages!==!1)D+=` , message: 'should match "' + `+_+` + '" schema' `;if(Q.opts.verbose)D+=" , schema: validate.schema"+K+" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+Y+" ";D+=" } "}else D+=" {} ";if(D+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!Q.compositeRule&&q)if(Q.async)D+=" throw new ValidationError(vErrors); ";else D+=" validate.errors = vErrors; return false; ";if(D+=" } ",q)D+=" else { "}else if(q)D+=" if (true) { ";return D}});var yd1=Q1((I52,kd1)=>{kd1.exports=function A(Q,B,J){var D=" ",z=Q.level,Z=Q.dataLevel,X=Q.schema[B],K=Q.schemaPath+Q.util.getProperty(B),G=Q.errSchemaPath+"/"+B,q=!Q.opts.allErrors,Y="data"+(Z||""),F="valid"+z,E="errs__"+z,w=Q.util.copy(Q),H="";w.level++;var M="valid"+w.level,W="i"+z,I=w.dataLevel=Q.dataLevel+1,N="data"+I,V=Q.baseId;if(D+="var "+E+" = errors;var "+F+";",Array.isArray(X)){var _=Q.schema.additionalItems;if(_===!1){D+=" "+F+" = "+Y+".length <= "+X.length+"; ";var T=G;G=Q.errSchemaPath+"/additionalItems",D+=" if (!"+F+") { ";var R=R||[];if(R.push(D),D="",Q.createErrors!==!1){if(D+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: { limit: "+X.length+" } ",Q.opts.messages!==!1)D+=" , message: 'should NOT have more than "+X.length+" items' ";if(Q.opts.verbose)D+=" , schema: false , parentSchema: validate.schema"+Q.schemaPath+" , data: "+Y+" ";D+=" } "}else D+=" {} ";var j=D;if(D=R.pop(),!Q.compositeRule&&q)if(Q.async)D+=" throw new ValidationError(["+j+"]); ";else D+=" validate.errors = ["+j+"]; return false; ";else D+=" var err = "+j+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(D+=" } ",G=T,q)H+="}",D+=" else { "}var P=X;if(P){var $,f=-1,m=P.length-1;while(f<m)if($=P[f+=1],Q.opts.strictKeywords?typeof $=="object"&&Object.keys($).length>0||$===!1:Q.util.schemaHasRules($,Q.RULES.all)){D+=" "+M+" = true; if ("+Y+".length > "+f+") { ";var l=Y+"["+f+"]";w.schema=$,w.schemaPath=K+"["+f+"]",w.errSchemaPath=G+"/"+f,w.errorPath=Q.util.getPathExpr(Q.errorPath,f,Q.opts.jsonPointers,!0),w.dataPathArr[I]=f;var v=Q.validate(w);if(w.baseId=V,Q.util.varOccurences(v,N)<2)D+=" "+Q.util.varReplace(v,N,l)+" ";else D+=" var "+N+" = "+l+"; "+v+" ";if(D+=" } ",q)D+=" if ("+M+") { ",H+="}"}}if(typeof _=="object"&&(Q.opts.strictKeywords?typeof _=="object"&&Object.keys(_).length>0||_===!1:Q.util.schemaHasRules(_,Q.RULES.all))){w.schema=_,w.schemaPath=Q.schemaPath+".additionalItems",w.errSchemaPath=Q.errSchemaPath+"/additionalItems",D+=" "+M+" = true; if ("+Y+".length > "+X.length+") { for (var "+W+" = "+X.length+"; "+W+" < "+Y+".length; "+W+"++) { ",w.errorPath=Q.util.getPathExpr(Q.errorPath,W,Q.opts.jsonPointers,!0);var l=Y+"["+W+"]";w.dataPathArr[I]=W;var v=Q.validate(w);if(w.baseId=V,Q.util.varOccurences(v,N)<2)D+=" "+Q.util.varReplace(v,N,l)+" ";else D+=" var "+N+" = "+l+"; "+v+" ";if(q)D+=" if (!"+M+") break; ";if(D+=" } } ",q)D+=" if ("+M+") { ",H+="}"}}else if(Q.opts.strictKeywords?typeof X=="object"&&Object.keys(X).length>0||X===!1:Q.util.schemaHasRules(X,Q.RULES.all)){w.schema=X,w.schemaPath=K,w.errSchemaPath=G,D+=" for (var "+W+" = 0; "+W+" < "+Y+".length; "+W+"++) { ",w.errorPath=Q.util.getPathExpr(Q.errorPath,W,Q.opts.jsonPointers,!0);var l=Y+"["+W+"]";w.dataPathArr[I]=W;var v=Q.validate(w);if(w.baseId=V,Q.util.varOccurences(v,N)<2)D+=" "+Q.util.varReplace(v,N,l)+" ";else D+=" var "+N+" = "+l+"; "+v+" ";if(q)D+=" if (!"+M+") break; ";D+=" }"}if(q)D+=" "+H+" if ("+E+" == errors) {";return D}});var HK1=Q1((N52,gd1)=>{gd1.exports=function A(Q,B,J){var D=" ",z=Q.level,Z=Q.dataLevel,X=Q.schema[B],K=Q.schemaPath+Q.util.getProperty(B),G=Q.errSchemaPath+"/"+B,q=!Q.opts.allErrors,V,Y="data"+(Z||""),F=Q.opts.$data&&X&&X.$data,E;if(F)D+=" var schema"+z+" = "+Q.util.getData(X.$data,Z,Q.dataPathArr)+"; ",E="schema"+z;else E=X;var w=B=="maximum",H=w?"exclusiveMaximum":"exclusiveMinimum",M=Q.schema[H],W=Q.opts.$data&&M&&M.$data,I=w?"<":">",N=w?">":"<",V=void 0;if(!(F||typeof X=="number"||X===void 0))throw new Error(B+" must be number");if(!(W||M===void 0||typeof M=="number"||typeof M=="boolean"))throw new Error(H+" must be number or boolean");if(W){var _=Q.util.getData(M.$data,Z,Q.dataPathArr),T="exclusive"+z,R="exclType"+z,j="exclIsNumber"+z,P="op"+z,$="' + "+P+" + '";D+=" var schemaExcl"+z+" = "+_+"; ",_="schemaExcl"+z,D+=" var "+T+"; var "+R+" = typeof "+_+"; if ("+R+" != 'boolean' && "+R+" != 'undefined' && "+R+" != 'number') { ";var V=H,f=f||[];if(f.push(D),D="",Q.createErrors!==!1){if(D+=" { keyword: '"+(V||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: {} ",Q.opts.messages!==!1)D+=" , message: '"+H+" should be boolean' ";if(Q.opts.verbose)D+=" , schema: validate.schema"+K+" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+Y+" ";D+=" } "}else D+=" {} ";var m=D;if(D=f.pop(),!Q.compositeRule&&q)if(Q.async)D+=" throw new ValidationError(["+m+"]); ";else D+=" validate.errors = ["+m+"]; return false; ";else D+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(D+=" } else if ( ",F)D+=" ("+E+" !== undefined && typeof "+E+" != 'number') || ";if(D+=" "+R+" == 'number' ? ( ("+T+" = "+E+" === undefined || "+_+" "+I+"= "+E+") ? "+Y+" "+N+"= "+_+" : "+Y+" "+N+" "+E+" ) : ( ("+T+" = "+_+" === true) ? "+Y+" "+N+"= "+E+" : "+Y+" "+N+" "+E+" ) || "+Y+" !== "+Y+") { var op"+z+" = "+T+" ? '"+I+"' : '"+I+"='; ",X===void 0)V=H,G=Q.errSchemaPath+"/"+H,E=_,F=W}else{var j=typeof M=="number",$=I;if(j&&F){var P="'"+$+"'";if(D+=" if ( ",F)D+=" ("+E+" !== undefined && typeof "+E+" != 'number') || ";D+=" ( "+E+" === undefined || "+M+" "+I+"= "+E+" ? "+Y+" "+N+"= "+M+" : "+Y+" "+N+" "+E+" ) || "+Y+" !== "+Y+") { "}else{if(j&&X===void 0)T=!0,V=H,G=Q.errSchemaPath+"/"+H,E=M,N+="=";else{if(j)E=Math[w?"min":"max"](M,X);if(M===(j?E:!0))T=!0,V=H,G=Q.errSchemaPath+"/"+H,N+="=";else T=!1,$+="="}var P="'"+$+"'";if(D+=" if ( ",F)D+=" ("+E+" !== undefined && typeof "+E+" != 'number') || ";D+=" "+Y+" "+N+" "+E+" || "+Y+" !== "+Y+") { "}}V=V||B;var f=f||[];if(f.push(D),D="",Q.createErrors!==!1){if(D+=" { keyword: '"+(V||"_limit")+"' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: { comparison: "+P+", limit: "+E+", exclusive: "+T+" } ",Q.opts.messages!==!1)if(D+=" , message: 'should be "+$+" ",F)D+="' + "+E;else D+=""+E+"'";if(Q.opts.verbose){if(D+=" , schema: ",F)D+="validate.schema"+K;else D+=""+X;D+=" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+Y+" "}D+=" } "}else D+=" {} ";var m=D;if(D=f.pop(),!Q.compositeRule&&q)if(Q.async)D+=" throw new ValidationError(["+m+"]); ";else D+=" validate.errors = ["+m+"]; return false; ";else D+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(D+=" } ",q)D+=" else { ";return D}});var MK1=Q1((C52,bd1)=>{bd1.exports=function A(Q,B,J){var D=" ",z=Q.level,Z=Q.dataLevel,X=Q.schema[B],K=Q.schemaPath+Q.util.getProperty(B),G=Q.errSchemaPath+"/"+B,q=!Q.opts.allErrors,H,Y="data"+(Z||""),F=Q.opts.$data&&X&&X.$data,E;if(F)D+=" var schema"+z+" = "+Q.util.getData(X.$data,Z,Q.dataPathArr)+"; ",E="schema"+z;else E=X;if(!(F||typeof X=="number"))throw new Error(B+" must be number");var w=B=="maxItems"?">":"<";if(D+="if ( ",F)D+=" ("+E+" !== undefined && typeof "+E+" != 'number') || ";D+=" "+Y+".length "+w+" "+E+") { ";var H=B,M=M||[];if(M.push(D),D="",Q.createErrors!==!1){if(D+=" { keyword: '"+(H||"_limitItems")+"' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: { limit: "+E+" } ",Q.opts.messages!==!1){if(D+=" , message: 'should NOT have ",B=="maxItems")D+="more";else D+="fewer";if(D+=" than ",F)D+="' + "+E+" + '";else D+=""+X;D+=" items' "}if(Q.opts.verbose){if(D+=" , schema: ",F)D+="validate.schema"+K;else D+=""+X;D+=" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+Y+" "}D+=" } "}else D+=" {} ";var W=D;if(D=M.pop(),!Q.compositeRule&&q)if(Q.async)D+=" throw new ValidationError(["+W+"]); ";else D+=" validate.errors = ["+W+"]; return false; ";else D+=" var err = "+W+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(D+="} ",q)D+=" else { ";return D}});var WK1=Q1((V52,xd1)=>{xd1.exports=function A(Q,B,J){var D=" ",z=Q.level,Z=Q.dataLevel,X=Q.schema[B],K=Q.schemaPath+Q.util.getProperty(B),G=Q.errSchemaPath+"/"+B,q=!Q.opts.allErrors,H,Y="data"+(Z||""),F=Q.opts.$data&&X&&X.$data,E;if(F)D+=" var schema"+z+" = "+Q.util.getData(X.$data,Z,Q.dataPathArr)+"; ",E="schema"+z;else E=X;if(!(F||typeof X=="number"))throw new Error(B+" must be number");var w=B=="maxLength"?">":"<";if(D+="if ( ",F)D+=" ("+E+" !== undefined && typeof "+E+" != 'number') || ";if(Q.opts.unicode===!1)D+=" "+Y+".length ";else D+=" ucs2length("+Y+") ";D+=" "+w+" "+E+") { ";var H=B,M=M||[];if(M.push(D),D="",Q.createErrors!==!1){if(D+=" { keyword: '"+(H||"_limitLength")+"' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: { limit: "+E+" } ",Q.opts.messages!==!1){if(D+=" , message: 'should NOT be ",B=="maxLength")D+="longer";else D+="shorter";if(D+=" than ",F)D+="' + "+E+" + '";else D+=""+X;D+=" characters' "}if(Q.opts.verbose){if(D+=" , schema: ",F)D+="validate.schema"+K;else D+=""+X;D+=" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+Y+" "}D+=" } "}else D+=" {} ";var W=D;if(D=M.pop(),!Q.compositeRule&&q)if(Q.async)D+=" throw new ValidationError(["+W+"]); ";else D+=" validate.errors = ["+W+"]; return false; ";else D+=" var err = "+W+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(D+="} ",q)D+=" else { ";return D}});var IK1=Q1((O52,hd1)=>{hd1.exports=function A(Q,B,J){var D=" ",z=Q.level,Z=Q.dataLevel,X=Q.schema[B],K=Q.schemaPath+Q.util.getProperty(B),G=Q.errSchemaPath+"/"+B,q=!Q.opts.allErrors,H,Y="data"+(Z||""),F=Q.opts.$data&&X&&X.$data,E;if(F)D+=" var schema"+z+" = "+Q.util.getData(X.$data,Z,Q.dataPathArr)+"; ",E="schema"+z;else E=X;if(!(F||typeof X=="number"))throw new Error(B+" must be number");var w=B=="maxProperties"?">":"<";if(D+="if ( ",F)D+=" ("+E+" !== undefined && typeof "+E+" != 'number') || ";D+=" Object.keys("+Y+").length "+w+" "+E+") { ";var H=B,M=M||[];if(M.push(D),D="",Q.createErrors!==!1){if(D+=" { keyword: '"+(H||"_limitProperties")+"' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: { limit: "+E+" } ",Q.opts.messages!==!1){if(D+=" , message: 'should NOT have ",B=="maxProperties")D+="more";else D+="fewer";if(D+=" than ",F)D+="' + "+E+" + '";else D+=""+X;D+=" properties' "}if(Q.opts.verbose){if(D+=" , schema: ",F)D+="validate.schema"+K;else D+=""+X;D+=" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+Y+" "}D+=" } "}else D+=" {} ";var W=D;if(D=M.pop(),!Q.compositeRule&&q)if(Q.async)D+=" throw new ValidationError(["+W+"]); ";else D+=" validate.errors = ["+W+"]; return false; ";else D+=" var err = "+W+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(D+="} ",q)D+=" else { ";return D}});var ud1=Q1((R52,md1)=>{md1.exports=function A(Q,B,J){var D=" ",z=Q.level,Z=Q.dataLevel,X=Q.schema[B],K=Q.schemaPath+Q.util.getProperty(B),G=Q.errSchemaPath+"/"+B,q=!Q.opts.allErrors,Y="data"+(Z||""),F=Q.opts.$data&&X&&X.$data,E;if(F)D+=" var schema"+z+" = "+Q.util.getData(X.$data,Z,Q.dataPathArr)+"; ",E="schema"+z;else E=X;if(!(F||typeof X=="number"))throw new Error(B+" must be number");if(D+="var division"+z+";if (",F)D+=" "+E+" !== undefined && ( typeof "+E+" != 'number' || ";if(D+=" (division"+z+" = "+Y+" / "+E+", ",Q.opts.multipleOfPrecision)D+=" Math.abs(Math.round(division"+z+") - division"+z+") > 1e-"+Q.opts.multipleOfPrecision+" ";else D+=" division"+z+" !== parseInt(division"+z+") ";if(D+=" ) ",F)D+=" ) ";D+=" ) { ";var w=w||[];if(w.push(D),D="",Q.createErrors!==!1){if(D+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: { multipleOf: "+E+" } ",Q.opts.messages!==!1)if(D+=" , message: 'should be multiple of ",F)D+="' + "+E;else D+=""+E+"'";if(Q.opts.verbose){if(D+=" , schema: ",F)D+="validate.schema"+K;else D+=""+X;D+=" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+Y+" "}D+=" } "}else D+=" {} ";var H=D;if(D=w.pop(),!Q.compositeRule&&q)if(Q.async)D+=" throw new ValidationError(["+H+"]); ";else D+=" validate.errors = ["+H+"]; return false; ";else D+=" var err = "+H+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(D+="} ",q)D+=" else { ";return D}});var cd1=Q1((L52,pd1)=>{pd1.exports=function A(Q,B,J){var D=" ",z=Q.level,Z=Q.dataLevel,X=Q.schema[B],K=Q.schemaPath+Q.util.getProperty(B),G=Q.errSchemaPath+"/"+B,q=!Q.opts.allErrors,Y="data"+(Z||""),F="errs__"+z,E=Q.util.copy(Q);E.level++;var w="valid"+E.level;if(Q.opts.strictKeywords?typeof X=="object"&&Object.keys(X).length>0||X===!1:Q.util.schemaHasRules(X,Q.RULES.all)){E.schema=X,E.schemaPath=K,E.errSchemaPath=G,D+=" var "+F+" = errors; ";var H=Q.compositeRule;Q.compositeRule=E.compositeRule=!0,E.createErrors=!1;var M;if(E.opts.allErrors)M=E.opts.allErrors,E.opts.allErrors=!1;if(D+=" "+Q.validate(E)+" ",E.createErrors=!0,M)E.opts.allErrors=M;Q.compositeRule=E.compositeRule=H,D+=" if ("+w+") { ";var W=W||[];if(W.push(D),D="",Q.createErrors!==!1){if(D+=" { keyword: 'not' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: {} ",Q.opts.messages!==!1)D+=" , message: 'should NOT be valid' ";if(Q.opts.verbose)D+=" , schema: validate.schema"+K+" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+Y+" ";D+=" } "}else D+=" {} ";var I=D;if(D=W.pop(),!Q.compositeRule&&q)if(Q.async)D+=" throw new ValidationError(["+I+"]); ";else D+=" validate.errors = ["+I+"]; return false; ";else D+=" var err = "+I+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(D+=" } else { errors = "+F+"; if (vErrors !== null) { if ("+F+") vErrors.length = "+F+"; else vErrors = null; } ",Q.opts.allErrors)D+=" } "}else{if(D+=" var err = ",Q.createErrors!==!1){if(D+=" { keyword: 'not' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: {} ",Q.opts.messages!==!1)D+=" , message: 'should NOT be valid' ";if(Q.opts.verbose)D+=" , schema: validate.schema"+K+" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+Y+" ";D+=" } "}else D+=" {} ";if(D+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",q)D+=" if (false) { "}return D}});var dd1=Q1((_52,ld1)=>{ld1.exports=function A(Q,B,J){var D=" ",z=Q.level,Z=Q.dataLevel,X=Q.schema[B],K=Q.schemaPath+Q.util.getProperty(B),G=Q.errSchemaPath+"/"+B,q=!Q.opts.allErrors,Y="data"+(Z||""),F="valid"+z,E="errs__"+z,w=Q.util.copy(Q),H="";w.level++;var M="valid"+w.level,W=w.baseId,I="prevValid"+z,N="passingSchemas"+z;D+="var "+E+" = errors , "+I+" = false , "+F+" = false , "+N+" = null; ";var V=Q.compositeRule;Q.compositeRule=w.compositeRule=!0;var _=X;if(_){var T,R=-1,j=_.length-1;while(R<j){if(T=_[R+=1],Q.opts.strictKeywords?typeof T=="object"&&Object.keys(T).length>0||T===!1:Q.util.schemaHasRules(T,Q.RULES.all))w.schema=T,w.schemaPath=K+"["+R+"]",w.errSchemaPath=G+"/"+R,D+=" "+Q.validate(w)+" ",w.baseId=W;else D+=" var "+M+" = true; ";if(R)D+=" if ("+M+" && "+I+") { "+F+" = false; "+N+" = ["+N+", "+R+"]; } else { ",H+="}";D+=" if ("+M+") { "+F+" = "+I+" = true; "+N+" = "+R+"; }"}}if(Q.compositeRule=w.compositeRule=V,D+=""+H+"if (!"+F+") { var err = ",Q.createErrors!==!1){if(D+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: { passingSchemas: "+N+" } ",Q.opts.messages!==!1)D+=" , message: 'should match exactly one schema in oneOf' ";if(Q.opts.verbose)D+=" , schema: validate.schema"+K+" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+Y+" ";D+=" } "}else D+=" {} ";if(D+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!Q.compositeRule&&q)if(Q.async)D+=" throw new ValidationError(vErrors); ";else D+=" validate.errors = vErrors; return false; ";if(D+="} else { errors = "+E+"; if (vErrors !== null) { if ("+E+") vErrors.length = "+E+"; else vErrors = null; }",Q.opts.allErrors)D+=" } ";return D}});var ad1=Q1((T52,id1)=>{id1.exports=function A(Q,B,J){var D=" ",z=Q.level,Z=Q.dataLevel,X=Q.schema[B],K=Q.schemaPath+Q.util.getProperty(B),G=Q.errSchemaPath+"/"+B,q=!Q.opts.allErrors,Y="data"+(Z||""),F=Q.opts.$data&&X&&X.$data,E;if(F)D+=" var schema"+z+" = "+Q.util.getData(X.$data,Z,Q.dataPathArr)+"; ",E="schema"+z;else E=X;var w=F?"(new RegExp("+E+"))":Q.usePattern(X);if(D+="if ( ",F)D+=" ("+E+" !== undefined && typeof "+E+" != 'string') || ";D+=" !"+w+".test("+Y+") ) { ";var H=H||[];if(H.push(D),D="",Q.createErrors!==!1){if(D+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: { pattern: ",F)D+=""+E;else D+=""+Q.util.toQuotedString(X);if(D+=" } ",Q.opts.messages!==!1){if(D+=` , message: 'should match pattern "`,F)D+="' + "+E+" + '";else D+=""+Q.util.escapeQuotes(X);D+=`"' `}if(Q.opts.verbose){if(D+=" , schema: ",F)D+="validate.schema"+K;else D+=""+Q.util.toQuotedString(X);D+=" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+Y+" "}D+=" } "}else D+=" {} ";var M=D;if(D=H.pop(),!Q.compositeRule&&q)if(Q.async)D+=" throw new ValidationError(["+M+"]); ";else D+=" validate.errors = ["+M+"]; return false; ";else D+=" var err = "+M+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(D+="} ",q)D+=" else { ";return D}});var sd1=Q1((j52,nd1)=>{nd1.exports=function A(Q,B,J){var D=" ",z=Q.level,Z=Q.dataLevel,X=Q.schema[B],K=Q.schemaPath+Q.util.getProperty(B),G=Q.errSchemaPath+"/"+B,q=!Q.opts.allErrors,Y="data"+(Z||""),F="errs__"+z,E=Q.util.copy(Q),w="";E.level++;var H="valid"+E.level,M="key"+z,W="idx"+z,I=E.dataLevel=Q.dataLevel+1,N="data"+I,V="dataProperties"+z,_=Object.keys(X||{}).filter(S),T=Q.schema.patternProperties||{},R=Object.keys(T).filter(S),j=Q.schema.additionalProperties,P=_.length||R.length,$=j===!1,f=typeof j=="object"&&Object.keys(j).length,m=Q.opts.removeAdditional,l=$||f||m,v=Q.opts.ownProperties,g=Q.baseId,b=Q.schema.required;if(b&&!(Q.opts.$data&&b.$data)&&b.length<Q.opts.loopRequired)var u=Q.util.toHash(b);function S(M1){return M1!=="__proto__"}if(D+="var "+F+" = errors;var "+H+" = true;",v)D+=" var "+V+" = undefined;";if(l){if(v)D+=" "+V+" = "+V+" || Object.keys("+Y+"); for (var "+W+"=0; "+W+"<"+V+".length; "+W+"++) { var "+M+" = "+V+"["+W+"]; ";else D+=" for (var "+M+" in "+Y+") { ";if(P){if(D+=" var isAdditional"+z+" = !(false ",_.length)if(_.length>8)D+=" || validate.schema"+K+".hasOwnProperty("+M+") ";else{var y=_;if(y){var d,a=-1,z1=y.length-1;while(a<z1)d=y[a+=1],D+=" || "+M+" == "+Q.util.toQuotedString(d)+" "}}if(R.length){var t=R;if(t){var D1,A1=-1,K1=t.length-1;while(A1<K1)D1=t[A1+=1],D+=" || "+Q.usePattern(D1)+".test("+M+") "}}D+=" ); if (isAdditional"+z+") { "}if(m=="all")D+=" delete "+Y+"["+M+"]; ";else{var X1=Q.errorPath,N1="' + "+M+" + '";if(Q.opts._errorDataPathProperty)Q.errorPath=Q.util.getPathExpr(Q.errorPath,M,Q.opts.jsonPointers);if($)if(m)D+=" delete "+Y+"["+M+"]; ";else{D+=" "+H+" = false; ";var s=G;G=Q.errSchemaPath+"/additionalProperties";var r=r||[];if(r.push(D),D="",Q.createErrors!==!1){if(D+=" { keyword: 'additionalProperties' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: { additionalProperty: '"+N1+"' } ",Q.opts.messages!==!1){if(D+=" , message: '",Q.opts._errorDataPathProperty)D+="is an invalid additional property";else D+="should NOT have additional properties";D+="' "}if(Q.opts.verbose)D+=" , schema: false , parentSchema: validate.schema"+Q.schemaPath+" , data: "+Y+" ";D+=" } "}else D+=" {} ";var e=D;if(D=r.pop(),!Q.compositeRule&&q)if(Q.async)D+=" throw new ValidationError(["+e+"]); ";else D+=" validate.errors = ["+e+"]; return false; ";else D+=" var err = "+e+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(G=s,q)D+=" break; "}else if(f)if(m=="failing"){D+=" var "+F+" = errors; ";var G1=Q.compositeRule;Q.compositeRule=E.compositeRule=!0,E.schema=j,E.schemaPath=Q.schemaPath+".additionalProperties",E.errSchemaPath=Q.errSchemaPath+"/additionalProperties",E.errorPath=Q.opts._errorDataPathProperty?Q.errorPath:Q.util.getPathExpr(Q.errorPath,M,Q.opts.jsonPointers);var q1=Y+"["+M+"]";E.dataPathArr[I]=M;var Y1=Q.validate(E);if(E.baseId=g,Q.util.varOccurences(Y1,N)<2)D+=" "+Q.util.varReplace(Y1,N,q1)+" ";else D+=" var "+N+" = "+q1+"; "+Y1+" ";D+=" if (!"+H+") { errors = "+F+"; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete "+Y+"["+M+"]; } ",Q.compositeRule=E.compositeRule=G1}else{E.schema=j,E.schemaPath=Q.schemaPath+".additionalProperties",E.errSchemaPath=Q.errSchemaPath+"/additionalProperties",E.errorPath=Q.opts._errorDataPathProperty?Q.errorPath:Q.util.getPathExpr(Q.errorPath,M,Q.opts.jsonPointers);var q1=Y+"["+M+"]";E.dataPathArr[I]=M;var Y1=Q.validate(E);if(E.baseId=g,Q.util.varOccurences(Y1,N)<2)D+=" "+Q.util.varReplace(Y1,N,q1)+" ";else D+=" var "+N+" = "+q1+"; "+Y1+" ";if(q)D+=" if (!"+H+") break; "}Q.errorPath=X1}if(P)D+=" } ";if(D+=" } ",q)D+=" if ("+H+") { ",w+="}"}var U1=Q.opts.useDefaults&&!Q.compositeRule;if(_.length){var P1=_;if(P1){var d,R1=-1,T1=P1.length-1;while(R1<T1){d=P1[R1+=1];var V1=X[d];if(Q.opts.strictKeywords?typeof V1=="object"&&Object.keys(V1).length>0||V1===!1:Q.util.schemaHasRules(V1,Q.RULES.all)){var I1=Q.util.getProperty(d),q1=Y+I1,t1=U1&&V1.default!==void 0;E.schema=V1,E.schemaPath=K+I1,E.errSchemaPath=G+"/"+Q.util.escapeFragment(d),E.errorPath=Q.util.getPath(Q.errorPath,d,Q.opts.jsonPointers),E.dataPathArr[I]=Q.util.toQuotedString(d);var Y1=Q.validate(E);if(E.baseId=g,Q.util.varOccurences(Y1,N)<2){Y1=Q.util.varReplace(Y1,N,q1);var J0=q1}else{var J0=N;D+=" var "+N+" = "+q1+"; "}if(t1)D+=" "+Y1+" ";else{if(u&&u[d]){if(D+=" if ( "+J0+" === undefined ",v)D+=" || ! Object.prototype.hasOwnProperty.call("+Y+", '"+Q.util.escapeQuotes(d)+"') ";D+=") { "+H+" = false; ";var X1=Q.errorPath,s=G,H0=Q.util.escapeQuotes(d);if(Q.opts._errorDataPathProperty)Q.errorPath=Q.util.getPath(X1,d,Q.opts.jsonPointers);G=Q.errSchemaPath+"/required";var r=r||[];if(r.push(D),D="",Q.createErrors!==!1){if(D+=" { keyword: 'required' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: { missingProperty: '"+H0+"' } ",Q.opts.messages!==!1){if(D+=" , message: '",Q.opts._errorDataPathProperty)D+="is a required property";else D+="should have required property \\'"+H0+"\\'";D+="' "}if(Q.opts.verbose)D+=" , schema: validate.schema"+K+" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+Y+" ";D+=" } "}else D+=" {} ";var e=D;if(D=r.pop(),!Q.compositeRule&&q)if(Q.async)D+=" throw new ValidationError(["+e+"]); ";else D+=" validate.errors = ["+e+"]; return false; ";else D+=" var err = "+e+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";G=s,Q.errorPath=X1,D+=" } else { "}else if(q){if(D+=" if ( "+J0+" === undefined ",v)D+=" || ! Object.prototype.hasOwnProperty.call("+Y+", '"+Q.util.escapeQuotes(d)+"') ";D+=") { "+H+" = true; } else { "}else{if(D+=" if ("+J0+" !== undefined ",v)D+=" && Object.prototype.hasOwnProperty.call("+Y+", '"+Q.util.escapeQuotes(d)+"') ";D+=" ) { "}D+=" "+Y1+" } "}}if(q)D+=" if ("+H+") { ",w+="}"}}}if(R.length){var D0=R;if(D0){var D1,X0=-1,u1=D0.length-1;while(X0<u1){D1=D0[X0+=1];var V1=T[D1];if(Q.opts.strictKeywords?typeof V1=="object"&&Object.keys(V1).length>0||V1===!1:Q.util.schemaHasRules(V1,Q.RULES.all)){if(E.schema=V1,E.schemaPath=Q.schemaPath+".patternProperties"+Q.util.getProperty(D1),E.errSchemaPath=Q.errSchemaPath+"/patternProperties/"+Q.util.escapeFragment(D1),v)D+=" "+V+" = "+V+" || Object.keys("+Y+"); for (var "+W+"=0; "+W+"<"+V+".length; "+W+"++) { var "+M+" = "+V+"["+W+"]; ";else D+=" for (var "+M+" in "+Y+") { ";D+=" if ("+Q.usePattern(D1)+".test("+M+")) { ",E.errorPath=Q.util.getPathExpr(Q.errorPath,M,Q.opts.jsonPointers);var q1=Y+"["+M+"]";E.dataPathArr[I]=M;var Y1=Q.validate(E);if(E.baseId=g,Q.util.varOccurences(Y1,N)<2)D+=" "+Q.util.varReplace(Y1,N,q1)+" ";else D+=" var "+N+" = "+q1+"; "+Y1+" ";if(q)D+=" if (!"+H+") break; ";if(D+=" } ",q)D+=" else "+H+" = true; ";if(D+=" } ",q)D+=" if ("+H+") { ",w+="}"}}}}if(q)D+=" "+w+" if ("+F+" == errors) {";return D}});var od1=Q1((P52,rd1)=>{rd1.exports=function A(Q,B,J){var D=" ",z=Q.level,Z=Q.dataLevel,X=Q.schema[B],K=Q.schemaPath+Q.util.getProperty(B),G=Q.errSchemaPath+"/"+B,q=!Q.opts.allErrors,Y="data"+(Z||""),F="errs__"+z,E=Q.util.copy(Q),w="";E.level++;var H="valid"+E.level;if(D+="var "+F+" = errors;",Q.opts.strictKeywords?typeof X=="object"&&Object.keys(X).length>0||X===!1:Q.util.schemaHasRules(X,Q.RULES.all)){E.schema=X,E.schemaPath=K,E.errSchemaPath=G;var M="key"+z,W="idx"+z,I="i"+z,N="' + "+M+" + '",V=E.dataLevel=Q.dataLevel+1,_="data"+V,T="dataProperties"+z,R=Q.opts.ownProperties,j=Q.baseId;if(R)D+=" var "+T+" = undefined; ";if(R)D+=" "+T+" = "+T+" || Object.keys("+Y+"); for (var "+W+"=0; "+W+"<"+T+".length; "+W+"++) { var "+M+" = "+T+"["+W+"]; ";else D+=" for (var "+M+" in "+Y+") { ";D+=" var startErrs"+z+" = errors; ";var P=M,$=Q.compositeRule;Q.compositeRule=E.compositeRule=!0;var f=Q.validate(E);if(E.baseId=j,Q.util.varOccurences(f,_)<2)D+=" "+Q.util.varReplace(f,_,P)+" ";else D+=" var "+_+" = "+P+"; "+f+" ";if(Q.compositeRule=E.compositeRule=$,D+=" if (!"+H+") { for (var "+I+"=startErrs"+z+"; "+I+"<errors; "+I+"++) { vErrors["+I+"].propertyName = "+M+"; } var err = ",Q.createErrors!==!1){if(D+=" { keyword: 'propertyNames' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: { propertyName: '"+N+"' } ",Q.opts.messages!==!1)D+=" , message: 'property name \\'"+N+"\\' is invalid' ";if(Q.opts.verbose)D+=" , schema: validate.schema"+K+" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+Y+" ";D+=" } "}else D+=" {} ";if(D+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!Q.compositeRule&&q)if(Q.async)D+=" throw new ValidationError(vErrors); ";else D+=" validate.errors = vErrors; return false; ";if(q)D+=" break; ";D+=" } }"}if(q)D+=" "+w+" if ("+F+" == errors) {";return D}});var ed1=Q1((S52,td1)=>{td1.exports=function A(Q,B,J){var D=" ",z=Q.level,Z=Q.dataLevel,X=Q.schema[B],K=Q.schemaPath+Q.util.getProperty(B),G=Q.errSchemaPath+"/"+B,q=!Q.opts.allErrors,Y="data"+(Z||""),F="valid"+z,E=Q.opts.$data&&X&&X.$data,w;if(E)D+=" var schema"+z+" = "+Q.util.getData(X.$data,Z,Q.dataPathArr)+"; ",w="schema"+z;else w=X;var H="schema"+z;if(!E)if(X.length<Q.opts.loopRequired&&Q.schema.properties&&Object.keys(Q.schema.properties).length){var M=[],W=X;if(W){var I,N=-1,V=W.length-1;while(N<V){I=W[N+=1];var _=Q.schema.properties[I];if(!(_&&(Q.opts.strictKeywords?typeof _=="object"&&Object.keys(_).length>0||_===!1:Q.util.schemaHasRules(_,Q.RULES.all))))M[M.length]=I}}}else var M=X;if(E||M.length){var T=Q.errorPath,R=E||M.length>=Q.opts.loopRequired,j=Q.opts.ownProperties;if(q)if(D+=" var missing"+z+"; ",R){if(!E)D+=" var "+H+" = validate.schema"+K+"; ";var P="i"+z,$="schema"+z+"["+P+"]",f="' + "+$+" + '";if(Q.opts._errorDataPathProperty)Q.errorPath=Q.util.getPathExpr(T,$,Q.opts.jsonPointers);if(D+=" var "+F+" = true; ",E)D+=" if (schema"+z+" === undefined) "+F+" = true; else if (!Array.isArray(schema"+z+")) "+F+" = false; else {";if(D+=" for (var "+P+" = 0; "+P+" < "+H+".length; "+P+"++) { "+F+" = "+Y+"["+H+"["+P+"]] !== undefined ",j)D+=" && Object.prototype.hasOwnProperty.call("+Y+", "+H+"["+P+"]) ";if(D+="; if (!"+F+") break; } ",E)D+=" } ";D+=" if (!"+F+") { ";var m=m||[];if(m.push(D),D="",Q.createErrors!==!1){if(D+=" { keyword: 'required' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: { missingProperty: '"+f+"' } ",Q.opts.messages!==!1){if(D+=" , message: '",Q.opts._errorDataPathProperty)D+="is a required property";else D+="should have required property \\'"+f+"\\'";D+="' "}if(Q.opts.verbose)D+=" , schema: validate.schema"+K+" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+Y+" ";D+=" } "}else D+=" {} ";var l=D;if(D=m.pop(),!Q.compositeRule&&q)if(Q.async)D+=" throw new ValidationError(["+l+"]); ";else D+=" validate.errors = ["+l+"]; return false; ";else D+=" var err = "+l+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";D+=" } else { "}else{D+=" if ( ";var v=M;if(v){var g,P=-1,b=v.length-1;while(P<b){if(g=v[P+=1],P)D+=" || ";var u=Q.util.getProperty(g),S=Y+u;if(D+=" ( ( "+S+" === undefined ",j)D+=" || ! Object.prototype.hasOwnProperty.call("+Y+", '"+Q.util.escapeQuotes(g)+"') ";D+=") && (missing"+z+" = "+Q.util.toQuotedString(Q.opts.jsonPointers?g:u)+") ) "}}D+=") { ";var $="missing"+z,f="' + "+$+" + '";if(Q.opts._errorDataPathProperty)Q.errorPath=Q.opts.jsonPointers?Q.util.getPathExpr(T,$,!0):T+" + "+$;var m=m||[];if(m.push(D),D="",Q.createErrors!==!1){if(D+=" { keyword: 'required' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: { missingProperty: '"+f+"' } ",Q.opts.messages!==!1){if(D+=" , message: '",Q.opts._errorDataPathProperty)D+="is a required property";else D+="should have required property \\'"+f+"\\'";D+="' "}if(Q.opts.verbose)D+=" , schema: validate.schema"+K+" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+Y+" ";D+=" } "}else D+=" {} ";var l=D;if(D=m.pop(),!Q.compositeRule&&q)if(Q.async)D+=" throw new ValidationError(["+l+"]); ";else D+=" validate.errors = ["+l+"]; return false; ";else D+=" var err = "+l+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";D+=" } else { "}else if(R){if(!E)D+=" var "+H+" = validate.schema"+K+"; ";var P="i"+z,$="schema"+z+"["+P+"]",f="' + "+$+" + '";if(Q.opts._errorDataPathProperty)Q.errorPath=Q.util.getPathExpr(T,$,Q.opts.jsonPointers);if(E){if(D+=" if ("+H+" && !Array.isArray("+H+")) { var err = ",Q.createErrors!==!1){if(D+=" { keyword: 'required' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: { missingProperty: '"+f+"' } ",Q.opts.messages!==!1){if(D+=" , message: '",Q.opts._errorDataPathProperty)D+="is a required property";else D+="should have required property \\'"+f+"\\'";D+="' "}if(Q.opts.verbose)D+=" , schema: validate.schema"+K+" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+Y+" ";D+=" } "}else D+=" {} ";D+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if ("+H+" !== undefined) { "}if(D+=" for (var "+P+" = 0; "+P+" < "+H+".length; "+P+"++) { if ("+Y+"["+H+"["+P+"]] === undefined ",j)D+=" || ! Object.prototype.hasOwnProperty.call("+Y+", "+H+"["+P+"]) ";if(D+=") { var err = ",Q.createErrors!==!1){if(D+=" { keyword: 'required' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: { missingProperty: '"+f+"' } ",Q.opts.messages!==!1){if(D+=" , message: '",Q.opts._errorDataPathProperty)D+="is a required property";else D+="should have required property \\'"+f+"\\'";D+="' "}if(Q.opts.verbose)D+=" , schema: validate.schema"+K+" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+Y+" ";D+=" } "}else D+=" {} ";if(D+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ",E)D+=" } "}else{var y=M;if(y){var g,d=-1,a=y.length-1;while(d<a){g=y[d+=1];var u=Q.util.getProperty(g),f=Q.util.escapeQuotes(g),S=Y+u;if(Q.opts._errorDataPathProperty)Q.errorPath=Q.util.getPath(T,g,Q.opts.jsonPointers);if(D+=" if ( "+S+" === undefined ",j)D+=" || ! Object.prototype.hasOwnProperty.call("+Y+", '"+Q.util.escapeQuotes(g)+"') ";if(D+=") { var err = ",Q.createErrors!==!1){if(D+=" { keyword: 'required' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: { missingProperty: '"+f+"' } ",Q.opts.messages!==!1){if(D+=" , message: '",Q.opts._errorDataPathProperty)D+="is a required property";else D+="should have required property \\'"+f+"\\'";D+="' "}if(Q.opts.verbose)D+=" , schema: validate.schema"+K+" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+Y+" ";D+=" } "}else D+=" {} ";D+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}}Q.errorPath=T}else if(q)D+=" if (true) {";return D}});var Qi1=Q1((v52,Ai1)=>{Ai1.exports=function A(Q,B,J){var D=" ",z=Q.level,Z=Q.dataLevel,X=Q.schema[B],K=Q.schemaPath+Q.util.getProperty(B),G=Q.errSchemaPath+"/"+B,q=!Q.opts.allErrors,Y="data"+(Z||""),F="valid"+z,E=Q.opts.$data&&X&&X.$data,w;if(E)D+=" var schema"+z+" = "+Q.util.getData(X.$data,Z,Q.dataPathArr)+"; ",w="schema"+z;else w=X;if((X||E)&&Q.opts.uniqueItems!==!1){if(E)D+=" var "+F+"; if ("+w+" === false || "+w+" === undefined) "+F+" = true; else if (typeof "+w+" != 'boolean') "+F+" = false; else { ";D+=" var i = "+Y+".length , "+F+" = true , j; if (i > 1) { ";var H=Q.schema.items&&Q.schema.items.type,M=Array.isArray(H);if(!H||H=="object"||H=="array"||M&&(H.indexOf("object")>=0||H.indexOf("array")>=0))D+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+Y+"[i], "+Y+"[j])) { "+F+" = false; break outer; } } } ";else{D+=" var itemIndices = {}, item; for (;i--;) { var item = "+Y+"[i]; ";var W="checkDataType"+(M?"s":"");if(D+=" if ("+Q.util[W](H,"item",Q.opts.strictNumbers,!0)+") continue; ",M)D+=` if (typeof item == 'string') item = '"' + item; `;D+=" if (typeof itemIndices[item] == 'number') { "+F+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}if(D+=" } ",E)D+=" } ";D+=" if (!"+F+") { ";var I=I||[];if(I.push(D),D="",Q.createErrors!==!1){if(D+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: { i: i, j: j } ",Q.opts.messages!==!1)D+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' ";if(Q.opts.verbose){if(D+=" , schema: ",E)D+="validate.schema"+K;else D+=""+X;D+=" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+Y+" "}D+=" } "}else D+=" {} ";var N=D;if(D=I.pop(),!Q.compositeRule&&q)if(Q.async)D+=" throw new ValidationError(["+N+"]); ";else D+=" validate.errors = ["+N+"]; return false; ";else D+=" var err = "+N+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(D+=" } ",q)D+=" else { "}else if(q)D+=" if (true) { ";return D}});var Ji1=Q1(($52,Bi1)=>{Bi1.exports={$ref:wd1(),allOf:Md1(),anyOf:Id1(),$comment:Cd1(),const:Od1(),contains:Ld1(),dependencies:Td1(),enum:Pd1(),format:vd1(),if:fd1(),items:yd1(),maximum:HK1(),minimum:HK1(),maxItems:MK1(),minItems:MK1(),maxLength:WK1(),minLength:WK1(),maxProperties:IK1(),minProperties:IK1(),multipleOf:ud1(),not:cd1(),oneOf:dd1(),pattern:ad1(),properties:sd1(),propertyNames:od1(),required:ed1(),uniqueItems:Qi1(),validate:EK1()}});var Zi1=Q1((f52,zi1)=>{var Di1=Ji1(),NK1=UO().toHash;zi1.exports=function A(){var Q=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],B=["type","$comment"],J=["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"],D=["number","integer","string","array","object","boolean","null"];return Q.all=NK1(B),Q.types=NK1(D),Q.forEach(function(z){if(z.rules=z.rules.map(function(Z){var X;if(typeof Z=="object"){var K=Object.keys(Z)[0];X=Z[K],Z=K,X.forEach(function(q){B.push(q),Q.all[q]=!0})}B.push(Z);var G=Q.all[Z]={keyword:Z,code:Di1[Z],implements:X};return G}),Q.all.$comment={keyword:"$comment",code:Di1.$comment},z.type)Q.types[z.type]=z}),Q.keywords=NK1(B.concat(J)),Q.custom={},Q}});var Gi1=Q1((k52,Ki1)=>{var Xi1=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];Ki1.exports=function(A,Q){for(var B=0;B<Q.length;B++){A=JSON.parse(JSON.stringify(A));var J=Q[B].split("/"),D=A,z;for(z=1;z<J.length;z++)D=D[J[z]];for(z=0;z<Xi1.length;z++){var Z=Xi1[z],X=D[Z];if(X)D[Z]={anyOf:[X,{$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"}]}}}return A}});var Ui1=Q1((y52,Yi1)=>{var uwA=Mn().MissingRef;Yi1.exports=qi1;function qi1(A,Q,B){var J=this;if(typeof this._opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");if(typeof Q=="function")B=Q,Q=void 0;var D=z(A).then(function(){var X=J._addSchema(A,void 0,Q);return X.validate||Z(X)});if(B)D.then(function(X){B(null,X)},B);return D;function z(X){var K=X.$schema;return K&&!J.getSchema(K)?qi1.call(J,{$ref:K},!0):Promise.resolve()}function Z(X){try{return J._compile(X)}catch(G){if(G instanceof uwA)return K(G);throw G}function K(G){var q=G.missingSchema;if(E(q))throw new Error("Schema "+q+" is loaded but "+G.missingRef+" cannot be resolved");var Y=J._loadingSchemas[q];if(!Y)Y=J._loadingSchemas[q]=J._opts.loadSchema(q),Y.then(F,F);return Y.then(function(w){if(!E(q))return z(w).then(function(){if(!E(q))J.addSchema(w,q,void 0,Q)})}).then(function(){return Z(X)});function F(){delete J._loadingSchemas[q]}function E(w){return J._refs[w]||J._schemas[w]}}}}});var Ei1=Q1((g52,Fi1)=>{Fi1.exports=function A(Q,B,J){var D=" ",z=Q.level,Z=Q.dataLevel,X=Q.schema[B],K=Q.schemaPath+Q.util.getProperty(B),G=Q.errSchemaPath+"/"+B,q=!Q.opts.allErrors,Y,F="data"+(Z||""),E="valid"+z,w="errs__"+z,H=Q.opts.$data&&X&&X.$data,M;if(H)D+=" var schema"+z+" = "+Q.util.getData(X.$data,Z,Q.dataPathArr)+"; ",M="schema"+z;else M=X;var W=this,I="definition"+z,N=W.definition,V="",_,T,R,j,P;if(H&&N.$data){P="keywordValidate"+z;var $=N.validateSchema;D+=" var "+I+" = RULES.custom['"+B+"'].definition; var "+P+" = "+I+".validate;"}else{if(j=Q.useCustomRule(W,X,Q.schema,Q),!j)return;M="validate.schema"+K,P=j.code,_=N.compile,T=N.inline,R=N.macro}var f=P+".errors",m="i"+z,l="ruleErr"+z,v=N.async;if(v&&!Q.async)throw new Error("async keyword in sync schema");if(!(T||R))D+=""+f+" = null;";if(D+="var "+w+" = errors;var "+E+";",H&&N.$data){if(V+="}",D+=" if ("+M+" === undefined) { "+E+" = true; } else { ",$)V+="}",D+=" "+E+" = "+I+".validateSchema("+M+"); if ("+E+") { "}if(T)if(N.statements)D+=" "+j.validate+" ";else D+=" "+E+" = "+j.validate+"; ";else if(R){var g=Q.util.copy(Q),V="";g.level++;var b="valid"+g.level;g.schema=j.validate,g.schemaPath="";var u=Q.compositeRule;Q.compositeRule=g.compositeRule=!0;var S=Q.validate(g).replace(/validate\.schema/g,P);Q.compositeRule=g.compositeRule=u,D+=" "+S}else{var y=y||[];if(y.push(D),D="",D+=" "+P+".call( ",Q.opts.passContext)D+="this";else D+="self";if(_||N.schema===!1)D+=" , "+F+" ";else D+=" , "+M+" , "+F+" , validate.schema"+Q.schemaPath+" ";if(D+=" , (dataPath || '')",Q.errorPath!='""')D+=" + "+Q.errorPath;var d=Z?"data"+(Z-1||""):"parentData",a=Z?Q.dataPathArr[Z]:"parentDataProperty";D+=" , "+d+" , "+a+" , rootData ) ";var z1=D;if(D=y.pop(),N.errors===!1){if(D+=" "+E+" = ",v)D+="await ";D+=""+z1+"; "}else if(v)f="customErrors"+z,D+=" var "+f+" = null; try { "+E+" = await "+z1+"; } catch (e) { "+E+" = false; if (e instanceof ValidationError) "+f+" = e.errors; else throw e; } ";else D+=" "+f+" = null; "+E+" = "+z1+"; "}if(N.modifying)D+=" if ("+d+") "+F+" = "+d+"["+a+"];";if(D+=""+V,N.valid){if(q)D+=" if (true) { "}else{if(D+=" if ( ",N.valid===void 0)if(D+=" !",R)D+=""+b;else D+=""+E;else D+=" "+!N.valid+" ";D+=") { ",Y=W.keyword;var y=y||[];y.push(D),D="";var y=y||[];if(y.push(D),D="",Q.createErrors!==!1){if(D+=" { keyword: '"+(Y||"custom")+"' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: { keyword: '"+W.keyword+"' } ",Q.opts.messages!==!1)D+=` , message: 'should pass "`+W.keyword+`" keyword validation' `;if(Q.opts.verbose)D+=" , schema: validate.schema"+K+" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+F+" ";D+=" } "}else D+=" {} ";var t=D;if(D=y.pop(),!Q.compositeRule&&q)if(Q.async)D+=" throw new ValidationError(["+t+"]); ";else D+=" validate.errors = ["+t+"]; return false; ";else D+=" var err = "+t+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";var D1=D;if(D=y.pop(),T)if(N.errors){if(N.errors!="full"){if(D+=" for (var "+m+"="+w+"; "+m+"<errors; "+m+"++) { var "+l+" = vErrors["+m+"]; if ("+l+".dataPath === undefined) "+l+".dataPath = (dataPath || '') + "+Q.errorPath+"; if ("+l+".schemaPath === undefined) { "+l+'.schemaPath = "'+G+'"; } ',Q.opts.verbose)D+=" "+l+".schema = "+M+"; "+l+".data = "+F+"; ";D+=" } "}}else if(N.errors===!1)D+=" "+D1+" ";else{if(D+=" if ("+w+" == errors) { "+D1+" } else { for (var "+m+"="+w+"; "+m+"<errors; "+m+"++) { var "+l+" = vErrors["+m+"]; if ("+l+".dataPath === undefined) "+l+".dataPath = (dataPath || '') + "+Q.errorPath+"; if ("+l+".schemaPath === undefined) { "+l+'.schemaPath = "'+G+'"; } ',Q.opts.verbose)D+=" "+l+".schema = "+M+"; "+l+".data = "+F+"; ";D+=" } } "}else if(R){if(D+=" var err = ",Q.createErrors!==!1){if(D+=" { keyword: '"+(Y||"custom")+"' , dataPath: (dataPath || '') + "+Q.errorPath+" , schemaPath: "+Q.util.toQuotedString(G)+" , params: { keyword: '"+W.keyword+"' } ",Q.opts.messages!==!1)D+=` , message: 'should pass "`+W.keyword+`" keyword validation' `;if(Q.opts.verbose)D+=" , schema: validate.schema"+K+" , parentSchema: validate.schema"+Q.schemaPath+" , data: "+F+" ";D+=" } "}else D+=" {} ";if(D+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!Q.compositeRule&&q)if(Q.async)D+=" throw new ValidationError(vErrors); ";else D+=" validate.errors = vErrors; return false; "}else if(N.errors===!1)D+=" "+D1+" ";else{if(D+=" if (Array.isArray("+f+")) { if (vErrors === null) vErrors = "+f+"; else vErrors = vErrors.concat("+f+"); errors = vErrors.length; for (var "+m+"="+w+"; "+m+"<errors; "+m+"++) { var "+l+" = vErrors["+m+"]; if ("+l+".dataPath === undefined) "+l+".dataPath = (dataPath || '') + "+Q.errorPath+"; "+l+'.schemaPath = "'+G+'"; ',Q.opts.verbose)D+=" "+l+".schema = "+M+"; "+l+".data = "+F+"; ";D+=" } } else { "+D1+" } "}if(D+=" } ",q)D+=" else { "}return D}});var CK1=Q1((b52,pwA)=>{pwA.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var Mi1=Q1((x52,Hi1)=>{var wi1=CK1();Hi1.exports={$id:"https://github.com/ajv-validator/ajv/blob/master/lib/definition_schema.js",definitions:{simpleTypes:wi1.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:wi1.properties.type,schema:{type:"boolean"},statements:{type:"boolean"},dependencies:{type:"array",items:{type:"string"}},metaSchema:{type:"object"},modifying:{type:"boolean"},valid:{type:"boolean"},$data:{type:"boolean"},async:{type:"boolean"},errors:{anyOf:[{type:"boolean"},{const:"full"}]}}}});var Ii1=Q1((h52,Wi1)=>{var cwA=/^[a-z_$][a-z0-9_$-]*$/i,lwA=Ei1(),dwA=Mi1();Wi1.exports={add:iwA,get:awA,remove:nwA,validate:VK1};function iwA(A,Q){var B=this.RULES;if(B.keywords[A])throw new Error("Keyword "+A+" is already defined");if(!cwA.test(A))throw new Error("Keyword "+A+" is not a valid identifier");if(Q){this.validateKeyword(Q,!0);var J=Q.type;if(Array.isArray(J))for(var D=0;D<J.length;D++)Z(A,J[D],Q);else Z(A,J,Q);var z=Q.metaSchema;if(z){if(Q.$data&&this._opts.$data)z={anyOf:[z,{$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"}]};Q.validateSchema=this.compile(z,!0)}}B.keywords[A]=B.all[A]=!0;function Z(X,K,G){var q;for(var Y=0;Y<B.length;Y++){var F=B[Y];if(F.type==K){q=F;break}}if(!q)q={type:K,rules:[]},B.push(q);var E={keyword:X,definition:G,custom:!0,code:lwA,implements:G.implements};q.rules.push(E),B.custom[X]=E}return this}function awA(A){var Q=this.RULES.custom[A];return Q?Q.definition:this.RULES.keywords[A]||!1}function nwA(A){var Q=this.RULES;delete Q.keywords[A],delete Q.all[A],delete Q.custom[A];for(var B=0;B<Q.length;B++){var J=Q[B].rules;for(var D=0;D<J.length;D++)if(J[D].keyword==A){J.splice(D,1);break}}return this}function VK1(A,Q){VK1.errors=null;var B=this._validateKeyword=this._validateKeyword||this.compile(dwA,!0);if(B(A))return!0;if(VK1.errors=B.errors,Q)throw new Error("custom keyword definition is invalid: "+this.errorsText(B.errors));else return!1}});var Ni1=Q1((m52,swA)=>{swA.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON Schema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var Si1=Q1((u52,Pi1)=>{var Vi1=el1(),FO=Hn(),rwA=Qd1(),Oi1=XK1(),owA=FK1(),twA=Fd1(),ewA=Zi1(),Ri1=Gi1(),Li1=UO();Pi1.exports=e7;e7.prototype.validate=QHA;e7.prototype.compile=BHA;e7.prototype.addSchema=JHA;e7.prototype.addMetaSchema=DHA;e7.prototype.validateSchema=zHA;e7.prototype.getSchema=XHA;e7.prototype.removeSchema=GHA;e7.prototype.addFormat=MHA;e7.prototype.errorsText=HHA;e7.prototype._addSchema=qHA;e7.prototype._compile=YHA;e7.prototype.compileAsync=Ui1();var Ln=Ii1();e7.prototype.addKeyword=Ln.add;e7.prototype.getKeyword=Ln.get;e7.prototype.removeKeyword=Ln.remove;e7.prototype.validateKeyword=Ln.validate;var _i1=Mn();e7.ValidationError=_i1.Validation;e7.MissingRefError=_i1.MissingRef;e7.$dataMetaSchema=Ri1;var Rn="http://json-schema.org/draft-07/schema",Ci1=["removeAdditional","useDefaults","coerceTypes","strictDefaults"],AHA=["/properties"];function e7(A){if(!(this instanceof e7))return new e7(A);if(A=this._opts=Li1.copy(A)||{},OHA(this),this._schemas={},this._refs={},this._fragments={},this._formats=twA(A.format),this._cache=A.cache||new rwA,this._loadingSchemas={},this._compilations=[],this.RULES=ewA(),this._getId=UHA(A),A.loopRequired=A.loopRequired||1/0,A.errorDataPath=="property")A._errorDataPathProperty=!0;if(A.serialize===void 0)A.serialize=owA;if(this._metaOpts=VHA(this),A.formats)NHA(this);if(A.keywords)CHA(this);if(WHA(this),typeof A.meta=="object")this.addMetaSchema(A.meta);if(A.nullable)this.addKeyword("nullable",{metaSchema:{type:"boolean"}});IHA(this)}function QHA(A,Q){var B;if(typeof A=="string"){if(B=this.getSchema(A),!B)throw new Error('no schema with key or ref "'+A+'"')}else{var J=this._addSchema(A);B=J.validate||this._compile(J)}var D=B(Q);if(B.$async!==!0)this.errors=B.errors;return D}function BHA(A,Q){var B=this._addSchema(A,void 0,Q);return B.validate||this._compile(B)}function JHA(A,Q,B,J){if(Array.isArray(A)){for(var D=0;D<A.length;D++)this.addSchema(A[D],void 0,B,J);return this}var z=this._getId(A);if(z!==void 0&&typeof z!="string")throw new Error("schema id must be string");return Q=FO.normalizeId(Q||z),ji1(this,Q),this._schemas[Q]=this._addSchema(A,B,J,!0),this}function DHA(A,Q,B){return this.addSchema(A,Q,B,!0),this}function zHA(A,Q){var B=A.$schema;if(B!==void 0&&typeof B!="string")throw new Error("$schema must be a string");if(B=B||this._opts.defaultMeta||ZHA(this),!B)return this.logger.warn("meta-schema not available"),this.errors=null,!0;var J=this.validate(B,A);if(!J&&Q){var D="schema is invalid: "+this.errorsText();if(this._opts.validateSchema=="log")this.logger.error(D);else throw new Error(D)}return J}function ZHA(A){var Q=A._opts.meta;return A._opts.defaultMeta=typeof Q=="object"?A._getId(Q)||Q:A.getSchema(Rn)?Rn:void 0,A._opts.defaultMeta}function XHA(A){var Q=Ti1(this,A);switch(typeof Q){case"object":return Q.validate||this._compile(Q);case"string":return this.getSchema(Q);case"undefined":return KHA(this,A)}}function KHA(A,Q){var B=FO.schema.call(A,{schema:{}},Q);if(B){var{schema:J,root:D,baseId:z}=B,Z=Vi1.call(A,J,D,void 0,z);return A._fragments[Q]=new Oi1({ref:Q,fragment:!0,schema:J,root:D,baseId:z,validate:Z}),Z}}function Ti1(A,Q){return Q=FO.normalizeId(Q),A._schemas[Q]||A._refs[Q]||A._fragments[Q]}function GHA(A){if(A instanceof RegExp)return On(this,this._schemas,A),On(this,this._refs,A),this;switch(typeof A){case"undefined":return On(this,this._schemas),On(this,this._refs),this._cache.clear(),this;case"string":var Q=Ti1(this,A);if(Q)this._cache.del(Q.cacheKey);return delete this._schemas[A],delete this._refs[A],this;case"object":var B=this._opts.serialize,J=B?B(A):A;this._cache.del(J);var D=this._getId(A);if(D)D=FO.normalizeId(D),delete this._schemas[D],delete this._refs[D]}return this}function On(A,Q,B){for(var J in Q){var D=Q[J];if(!D.meta&&(!B||B.test(J)))A._cache.del(D.cacheKey),delete Q[J]}}function qHA(A,Q,B,J){if(typeof A!="object"&&typeof A!="boolean")throw new Error("schema should be object or boolean");var D=this._opts.serialize,z=D?D(A):A,Z=this._cache.get(z);if(Z)return Z;J=J||this._opts.addUsedSchema!==!1;var X=FO.normalizeId(this._getId(A));if(X&&J)ji1(this,X);var K=this._opts.validateSchema!==!1&&!Q,G;if(K&&!(G=X&&X==FO.normalizeId(A.$schema)))this.validateSchema(A,!0);var q=FO.ids.call(this,A),Y=new Oi1({id:X,schema:A,localRefs:q,cacheKey:z,meta:B});if(X[0]!="#"&&J)this._refs[X]=Y;if(this._cache.put(z,Y),K&&G)this.validateSchema(A,!0);return Y}function YHA(A,Q){if(A.compiling){if(A.validate=D,D.schema=A.schema,D.errors=null,D.root=Q?Q:D,A.schema.$async===!0)D.$async=!0;return D}A.compiling=!0;var B;if(A.meta)B=this._opts,this._opts=this._metaOpts;var J;try{J=Vi1.call(this,A.schema,Q,A.localRefs)}catch(z){throw delete A.validate,z}finally{if(A.compiling=!1,A.meta)this._opts=B}return A.validate=J,A.refs=J.refs,A.refVal=J.refVal,A.root=J.root,J;function D(){var z=A.validate,Z=z.apply(this,arguments);return D.errors=z.errors,Z}}function UHA(A){switch(A.schemaId){case"auto":return wHA;case"id":return FHA;default:return EHA}}function FHA(A){if(A.$id)this.logger.warn("schema $id ignored",A.$id);return A.id}function EHA(A){if(A.id)this.logger.warn("schema id ignored",A.id);return A.$id}function wHA(A){if(A.$id&&A.id&&A.$id!=A.id)throw new Error("schema $id is different from id");return A.$id||A.id}function HHA(A,Q){if(A=A||this.errors,!A)return"No errors";Q=Q||{};var B=Q.separator===void 0?", ":Q.separator,J=Q.dataVar===void 0?"data":Q.dataVar,D="";for(var z=0;z<A.length;z++){var Z=A[z];if(Z)D+=J+Z.dataPath+" "+Z.message+B}return D.slice(0,-B.length)}function MHA(A,Q){if(typeof Q=="string")Q=new RegExp(Q);return this._formats[A]=Q,this}function WHA(A){var Q;if(A._opts.$data)Q=Ni1(),A.addMetaSchema(Q,Q.$id,!0);if(A._opts.meta===!1)return;var B=CK1();if(A._opts.$data)B=Ri1(B,AHA);A.addMetaSchema(B,Rn,!0),A._refs["http://json-schema.org/schema"]=Rn}function IHA(A){var Q=A._opts.schemas;if(!Q)return;if(Array.isArray(Q))A.addSchema(Q);else for(var B in Q)A.addSchema(Q[B],B)}function NHA(A){for(var Q in A._opts.formats){var B=A._opts.formats[Q];A.addFormat(Q,B)}}function CHA(A){for(var Q in A._opts.keywords){var B=A._opts.keywords[Q];A.addKeyword(Q,B)}}function ji1(A,Q){if(A._schemas[Q]||A._refs[Q])throw new Error('schema with key or id "'+Q+'" already exists')}function VHA(A){var Q=Li1.copy(A._opts);for(var B=0;B<Ci1.length;B++)delete Q[Ci1[B]];return Q}function OHA(A){var Q=A._opts.logger;if(Q===!1)A.logger={log:OK1,warn:OK1,error:OK1};else{if(Q===void 0)Q=console;if(!(typeof Q=="object"&&Q.log&&Q.warn&&Q.error))throw new Error("logger must implement log, warn and error methods");A.logger=Q}}function OK1(){}});var pi1={};J2(pi1,{loadProfileEnvironmentVariables:()=>mK1});import{spawn as uHA}from"node:child_process";import vn from"node:os";function mK1(A,Q="always"){if(Q==="never")return UA.of(uw);return UA.of(uw)}function ui1(A){if(vn.platform()!=="darwin"&&vn.platform()!=="linux")return UA.of(uw);let Q=Date.now();return new UA((B)=>{let J=vn.userInfo().shell??process.env.SHELL??"/bin/bash",D="AMP_SHELL_ENV_MARKER",Z=`${A?`cd '${A.replace(/'/g,"\\'")}';`:""}printf '%s' AMP_SHELL_ENV_MARKER; /usr/bin/env;`,X=setTimeout(()=>{k1.error("Shell environment collection timed out"),G.kill(),B.next(uw),B.complete()},5000),K=["-l","-i","-c",Z],G=uHA(J,K,{stdio:["ignore","pipe","pipe"],detached:!0,env:{...process.env,NONINTERACTIVE:"1",DEBIAN_FRONTEND:"noninteractive"}}),q="",Y="";if(G.stdout)G.stdout.on("data",(F)=>{q+=F.toString()});if(G.stderr)G.stderr.on("data",(F)=>{Y+=F.toString()});return G.on("error",(F)=>{k1.error("Failed to spawn shell:",{err:F}),clearTimeout(X),B.next(uw),B.complete()}),G.on("close",(F)=>{clearTimeout(X);let w=Date.now()-Q;if(F!==0){k1.error(`Shell process exited with code ${F}`),B.next(uw),B.complete();return}let H={},M=q.indexOf("AMP_SHELL_ENV_MARKER");if(M!==-1)q.substring(M+20).split(`
2963
2963
  `).forEach((I)=>{let N=I.match(/^([^=]+)=(.*)$/);if(N&&N[1]&&N[2]){let V=N[1],_=N[2];H[V]=_}});else k1.warn("Failed to detect Amp marker while loading the login shell",{marker:"AMP_SHELL_ENV_MARKER"}),Object.assign(H,uw);k1.info("Loaded login shell environment",{shell:J,shellArgs:K,durationMillis:w,directory:A,loadedVariableCount:Object.keys(H).length}),B.next(H),B.complete()}),()=>{clearTimeout(X),G.kill()}})}function cHA(){for(let[A,Q]of Object.entries($n))if(lHA(Q))$n.delete(A)}function lHA(A){return A.timestamp+pHA>Date.now()}function iHA(){if(process.env.IN_NIX_SHELL==="false")return!1;if(process.env.IN_NIX_SHELL)return!0;return(process.env.PATH??"").split(dHA).some((Q)=>Q.startsWith("/nix/store"))}var pHA=86400000,$n,uw,dHA;var uK1=x1(()=>{D2();$2();$n=new Map,uw=process.env;dHA=vn.platform()==="win32"?";":":"});var ai1=Q1((U72,ii1)=>{ii1.exports=di1;di1.sync=nHA;var ci1=c0("fs");function aHA(A,Q){var B=Q.pathExt!==void 0?Q.pathExt:process.env.PATHEXT;if(!B)return!0;if(B=B.split(";"),B.indexOf("")!==-1)return!0;for(var J=0;J<B.length;J++){var D=B[J].toLowerCase();if(D&&A.substr(-D.length).toLowerCase()===D)return!0}return!1}function li1(A,Q,B){if(!A.isSymbolicLink()&&!A.isFile())return!1;return aHA(Q,B)}function di1(A,Q,B){ci1.stat(A,function(J,D){B(J,J?!1:li1(D,A,Q))})}function nHA(A,Q){return li1(ci1.statSync(A),A,Q)}});var ti1=Q1((F72,oi1)=>{oi1.exports=si1;si1.sync=sHA;var ni1=c0("fs");function si1(A,Q,B){ni1.stat(A,function(J,D){B(J,J?!1:ri1(D,Q))})}function sHA(A,Q){return ri1(ni1.statSync(A),Q)}function ri1(A,Q){return A.isFile()&&rHA(A,Q)}function rHA(A,Q){var{mode:B,uid:J,gid:D}=A,z=Q.uid!==void 0?Q.uid:process.getuid&&process.getuid(),Z=Q.gid!==void 0?Q.gid:process.getgid&&process.getgid(),X=parseInt("100",8),K=parseInt("010",8),G=parseInt("001",8),q=X|K,Y=B&G||B&K&&D===Z||B&X&&J===z||B&q&&z===0;return Y}});var Aa1=Q1((w72,ei1)=>{var E72=c0("fs"),fn;if(process.platform==="win32"||global.TESTING_WINDOWS)fn=ai1();else fn=ti1();ei1.exports=pK1;pK1.sync=oHA;function pK1(A,Q,B){if(typeof Q==="function")B=Q,Q={};if(!B){if(typeof Promise!=="function")throw new TypeError("callback not provided");return new Promise(function(J,D){pK1(A,Q||{},function(z,Z){if(z)D(z);else J(Z)})})}fn(A,Q||{},function(J,D){if(J){if(J.code==="EACCES"||Q&&Q.ignoreErrors)J=null,D=!1}B(J,D)})}function oHA(A,Q){try{return fn.sync(A,Q||{})}catch(B){if(Q&&Q.ignoreErrors||B.code==="EACCES")return!1;else throw B}}});var Xa1=Q1((H72,Za1)=>{var tT=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Qa1=c0("path"),tHA=tT?";":":",Ba1=Aa1(),Ja1=(A)=>Object.assign(new Error(`not found: ${A}`),{code:"ENOENT"}),Da1=(A,Q)=>{let B=Q.colon||tHA,J=A.match(/\//)||tT&&A.match(/\\/)?[""]:[...tT?[process.cwd()]:[],...(Q.path||process.env.PATH||"").split(B)],D=tT?Q.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",z=tT?D.split(B):[""];if(tT){if(A.indexOf(".")!==-1&&z[0]!=="")z.unshift("")}return{pathEnv:J,pathExt:z,pathExtExe:D}},za1=(A,Q,B)=>{if(typeof Q==="function")B=Q,Q={};if(!Q)Q={};let{pathEnv:J,pathExt:D,pathExtExe:z}=Da1(A,Q),Z=[],X=(G)=>new Promise((q,Y)=>{if(G===J.length)return Q.all&&Z.length?q(Z):Y(Ja1(A));let F=J[G],E=/^".*"$/.test(F)?F.slice(1,-1):F,w=Qa1.join(E,A),H=!E&&/^\.[\\\/]/.test(A)?A.slice(0,2)+w:w;q(K(H,G,0))}),K=(G,q,Y)=>new Promise((F,E)=>{if(Y===D.length)return F(X(q+1));let w=D[Y];Ba1(G+w,{pathExt:z},(H,M)=>{if(!H&&M)if(Q.all)Z.push(G+w);else return F(G+w);return F(K(G,q,Y+1))})});return B?X(0).then((G)=>B(null,G),B):X(0)},eHA=(A,Q)=>{Q=Q||{};let{pathEnv:B,pathExt:J,pathExtExe:D}=Da1(A,Q),z=[];for(let Z=0;Z<B.length;Z++){let X=B[Z],K=/^".*"$/.test(X)?X.slice(1,-1):X,G=Qa1.join(K,A),q=!K&&/^\.[\\\/]/.test(A)?A.slice(0,2)+G:G;for(let Y=0;Y<J.length;Y++){let F=q+J[Y];try{if(Ba1.sync(F,{pathExt:D}))if(Q.all)z.push(F);else return F}catch(E){}}}if(Q.all&&z.length)return z;if(Q.nothrow)return null;throw Ja1(A)};Za1.exports=za1;za1.sync=eHA});var Ga1=Q1((M72,cK1)=>{var Ka1=(A={})=>{let Q=A.env||process.env;if((A.platform||process.platform)!=="win32")return"PATH";return Object.keys(Q).reverse().find((J)=>J.toUpperCase()==="PATH")||"Path"};cK1.exports=Ka1;cK1.exports.default=Ka1});var Fa1=Q1((W72,Ua1)=>{var qa1=c0("path"),AMA=Xa1(),QMA=Ga1();function Ya1(A,Q){let B=A.options.env||process.env,J=process.cwd(),D=A.options.cwd!=null,z=D&&process.chdir!==void 0&&!process.chdir.disabled;if(z)try{process.chdir(A.options.cwd)}catch(X){}let Z;try{Z=AMA.sync(A.command,{path:B[QMA({env:B})],pathExt:Q?qa1.delimiter:void 0})}catch(X){}finally{if(z)process.chdir(J)}if(Z)Z=qa1.resolve(D?A.options.cwd:"",Z);return Z}function BMA(A){return Ya1(A)||Ya1(A,!0)}Ua1.exports=BMA});var Ea1=Q1((zMA,dK1)=>{var lK1=/([()\][%!^"`<>&|;, *?])/g;function JMA(A){return A=A.replace(lK1,"^$1"),A}function DMA(A,Q){if(A=`${A}`,A=A.replace(/(?=(\\+?)?)\1"/g,"$1$1\\\""),A=A.replace(/(?=(\\+?)?)\1$/,"$1$1"),A=`"${A}"`,A=A.replace(lK1,"^$1"),Q)A=A.replace(lK1,"^$1");return A}zMA.command=JMA;zMA.argument=DMA});var Ha1=Q1((I72,wa1)=>{wa1.exports=/^#!(.*)/});var Wa1=Q1((N72,Ma1)=>{var KMA=Ha1();Ma1.exports=(A="")=>{let Q=A.match(KMA);if(!Q)return null;let[B,J]=Q[0].replace(/#! ?/,"").split(" "),D=B.split("/").pop();if(D==="env")return J;return J?`${D} ${J}`:D}});var Na1=Q1((C72,Ia1)=>{var iK1=c0("fs"),GMA=Wa1();function qMA(A){let B=Buffer.alloc(150),J;try{J=iK1.openSync(A,"r"),iK1.readSync(J,B,0,150,0),iK1.closeSync(J)}catch(D){}return GMA(B.toString())}Ia1.exports=qMA});var Ra1=Q1((V72,Oa1)=>{var YMA=c0("path"),Ca1=Fa1(),Va1=Ea1(),UMA=Na1(),FMA=process.platform==="win32",EMA=/\.(?:com|exe)$/i,wMA=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function HMA(A){A.file=Ca1(A);let Q=A.file&&UMA(A.file);if(Q)return A.args.unshift(A.file),A.command=Q,Ca1(A);return A.file}function MMA(A){if(!FMA)return A;let Q=HMA(A),B=!EMA.test(Q);if(A.options.forceShell||B){let J=wMA.test(Q);A.command=YMA.normalize(A.command),A.command=Va1.command(A.command),A.args=A.args.map((z)=>Va1.argument(z,J));let D=[A.command].concat(A.args).join(" ");A.args=["/d","/s","/c",`"${D}"`],A.command=process.env.comspec||"cmd.exe",A.options.windowsVerbatimArguments=!0}return A}function WMA(A,Q,B){if(Q&&!Array.isArray(Q))B=Q,Q=null;Q=Q?Q.slice(0):[],B=Object.assign({},B);let J={command:A,args:Q,options:B,file:void 0,original:{command:A,args:Q}};return B.shell?J:MMA(J)}Oa1.exports=WMA});var Ta1=Q1((O72,_a1)=>{var aK1=process.platform==="win32";function nK1(A,Q){return Object.assign(new Error(`${Q} ${A.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${Q} ${A.command}`,path:A.command,spawnargs:A.args})}function IMA(A,Q){if(!aK1)return;let B=A.emit;A.emit=function(J,D){if(J==="exit"){let z=La1(D,Q);if(z)return B.call(A,"error",z)}return B.apply(A,arguments)}}function La1(A,Q){if(aK1&&A===1&&!Q.file)return nK1(Q.original,"spawn");return null}function NMA(A,Q){if(aK1&&A===1&&!Q.file)return nK1(Q.original,"spawnSync");return null}_a1.exports={hookChildProcess:IMA,verifyENOENT:La1,verifyENOENTSync:NMA,notFoundError:nK1}});var Sa1=Q1((R72,eT)=>{var ja1=c0("child_process"),sK1=Ra1(),rK1=Ta1();function Pa1(A,Q,B){let J=sK1(A,Q,B),D=ja1.spawn(J.command,J.args,J.options);return rK1.hookChildProcess(D,J),D}function CMA(A,Q,B){let J=sK1(A,Q,B),D=ja1.spawnSync(J.command,J.args,J.options);return D.error=D.error||rK1.verifyENOENTSync(D.status,J),D}eT.exports=Pa1;eT.exports.spawn=Pa1;eT.exports.sync=CMA;eT.exports._parse=sK1;eT.exports._enoent=rK1});class oK1{append(A){this._buffer=this._buffer?Buffer.concat([this._buffer,A]):A}readMessage(){if(!this._buffer)return null;let A=this._buffer.indexOf(`
@@ -7339,10 +7339,10 @@ Please report this to https://github.com/markedjs/marked.`,A){let J="<p>An error
7339
7339
  `)}function mv1(A){return{public:A==="public",private:A==="private"}}$2();import{readlinkSync as _p6,fstatSync as Tp6,openSync as jp6}from"node:fs";import WAA from"node:tty";class ol extends Error{cause;constructor(A,Q){super(A);this.cause=Q;this.name="StdinReadError"}}async function IAA(){let A=jp6("/dev/tty","r");if(!WAA.isatty(A))throw new ol("/dev/tty is not a a TTY device");return new WAA.ReadStream(A)}async function Pp6(A={}){let{maxSizeBytes:Q=1048576,timeoutMs:B=30000}=A;if(process.stdin.isTTY)return{content:"",truncated:!1,timedOut:!1,bytesRead:0};try{if(Tp6(process.stdin.fd).isCharacterDevice()){let D=`/proc/self/fd/${process.stdin.fd}`;try{let z=_p6(D);if(z==="/dev/zero")return k1.warn("Detected /dev/zero input, returning empty content to avoid infinite read"),{content:"",truncated:!1,timedOut:!1,bytesRead:0};if(z==="/dev/random"||z==="/dev/urandom")throw new ol(`Refusing to read from special device: ${z}. This would cause infinite data consumption.`)}catch{}}}catch{}return new Promise((J,D)=>{let z="",Z=0,X=!1,K=!1,G=null,q=()=>{if(G)clearTimeout(G),G=null;process.stdin.removeAllListeners("data"),process.stdin.removeAllListeners("end"),process.stdin.removeAllListeners("error")},Y=()=>{q(),J({content:z,truncated:X,timedOut:K,bytesRead:Z})};G=setTimeout(()=>{K=!0,Y()},B),process.stdin.once("error",(F)=>{q(),D(new ol("Failed to read from stdin",F))}),process.stdin.once("end",()=>{Y()}),process.stdin.on("data",(F)=>{let E=F.length;if(Z+E>Q){let w=Q-Z;if(w>0)z+=F.subarray(0,w).toString("utf8"),Z=Q;X=!0,Y();return}z+=F.toString("utf8"),Z+=E}),process.stdin.resume()})}async function NAA(){let A=await Pp6();if(A.timedOut)throw new ol("Timeout while reading from stdin");if(A.truncated)k1.warn(`Warning: stdin input was truncated at ${A.bytesRead} bytes`);return A.content}$2();D2();import Of from"node:fs/promises";import{homedir as OAA}from"node:os";import yC from"node:path";import Sp6 from"os";import o41 from"path";var kC=Sp6.homedir(),{env:f3}=process,Vf=f3.XDG_DATA_HOME||(kC?o41.join(kC,".local","share"):void 0),r41=f3.XDG_CONFIG_HOME||(kC?o41.join(kC,".config"):void 0),CAA=f3.XDG_STATE_HOME||(kC?o41.join(kC,".local","state"):void 0),VAA=f3.XDG_CACHE_HOME||(kC?o41.join(kC,".cache"):void 0),dl2=f3.XDG_RUNTIME_DIR||void 0,vp6=(f3.XDG_DATA_DIRS||"/usr/local/share/:/usr/share/").split(":");if(Vf)vp6.unshift(Vf);var $p6=(f3.XDG_CONFIG_DIRS||"/etc/xdg").split(":");if(r41)$p6.unshift(r41);var RAA=yC.join(Vf||yC.join(OAA(),".local/share"),"amp"),jE=yC.join(r41||yC.join(OAA(),".config"),"amp","settings.json"),uv1="secrets.json",t41=yC.join(RAA,uv1);function pv1(A){let Q=A?.settingsFile??jE,B=new C8,J;async function D(){try{let X=yC.dirname(Q);await Of.mkdir(X,{recursive:!0})}catch(X){throw k1.error(`Failed to create config directory: ${X}`),X}}async function z(){if(J)return J;try{await D();let X=await Of.readFile(Q,"utf-8"),K;try{K=JSON.parse(X)}catch(q){throw new Error(`Invalid JSON in settings file: ${Q}`)}let G={};for(let[q,Y]of Object.entries(K))if(q.startsWith("amp.")){let F=q.substring(4);G[F]=Y}return J=G,G}catch(X){if(X.code==="ENOENT")return J={},J;throw k1.error(`Failed to read settings: ${X}`),X}}async function Z(X){try{await D();let K={};for(let[G,q]of Object.entries(X))K[`amp.${G}`]=q;await Of.writeFile(Q,JSON.stringify(K,null,2),"utf-8"),J=X}catch(K){throw k1.error(`Failed to write settings: ${K}`),K}}return{async get(X){return(await z())[X]},async set(X,K,G){if(G==="workspace")throw new Error(`Unsupported target: ${G}`);let q=await z();q[X]=K,await Z(q),B.next([X])},async delete(X,K){if(K==="workspace")throw new Error(`Unsupported target: ${K}`);let G=await z();delete G[X],await Z(G),B.next([X])},async keys(){let X=await z();return Object.keys(X)},changes:B}}function tl(A){let Q=A?.dataDir||RAA,B=new C8,J;async function D(){try{await Of.mkdir(Q,{recursive:!0})}catch(X){throw k1.error(`Failed to create data directory: ${X}`),X}}async function z(){if(J)return J;try{await D();let X=A?.dataDir?yC.join(Q,uv1):t41,K=await Of.readFile(X,"utf-8");return J=JSON.parse(K),J}catch(X){if(X.code==="ENOENT")return J={},J;throw k1.error(`Failed to read secrets: ${X}`),X}}async function Z(X){try{await D();let K=A?.dataDir?yC.join(Q,uv1):t41;await Of.writeFile(K,JSON.stringify(X,null,2),"utf-8"),J=X}catch(K){throw k1.error(`Failed to write secrets: ${K}`),K}}return{async get(X,K){return(await z())[`${X}@${K}`]},async set(X,K,G){let q=`${X}@${G}`,Y=await z();Y[q]=K,await Z(Y),B.next(q)},changes:B}}DO();Wg();import{arch as fp6,cpus as kp6,freemem as yp6,platform as gp6,release as bp6,totalmem as xp6}from"node:os";import{promises as hp6}from"node:fs";class cv1{async collect(){let A=kp6(),Q=xp6(),B=yp6(),J={platform:gp6(),version:bp6(),architecture:fp6(),memory:{total:Q,free:B,used:Q-B},cpu:{model:A[0]?.model||"Unknown",cores:A.length,speed:A[0]?.speed||0},node:{version:process.version,execPath:process.execPath}};try{let D=await this.getDiskSpace();if(D)J.diskSpace=D}catch{}return J}async getDiskSpace(){try{let A=await hp6.statfs(".");return{free:A.bavail*A.bsize,total:A.blocks*A.bsize}}catch{return null}}}import{execFile as mp6}from"node:child_process";import{promises as gC}from"node:fs";import{homedir as lv1}from"node:os";import{join as BU}from"node:path";import{promisify as up6}from"node:util";var Rf=up6(mp6);class dv1{async collect(){let[A,Q,B,J,D]=await Promise.all([this.collectInstallationInfo(),this.collectEnvironmentInfo(),this.collectConfigInfo(),this.collectCliTestInfo(),this.collectLogsInfo()]);return{installation:A,environment:Q,config:B,logs:D,cliTest:J}}async collectInstallationInfo(){let A={installMethod:"unknown",packageManager:"unknown"};try{A.cliVersion=await this.getCliVersion()}catch{}try{A.installMethod=await this.detectInstallMethod()}catch{}try{A.packageManager=await this.detectPackageManager()}catch{}try{A.executablePath=process.execPath}catch{}return A}async collectEnvironmentInfo(){let A={};for(let[Q,B]of Object.entries(process.env))if(Q.startsWith("AMP_")&&B!==void 0)A[Q]=B;return{variables:A}}async collectConfigInfo(){let A={};try{let Q=this.getSettingsPath(),B=await gC.readFile(Q,"utf8");A.settings=JSON.parse(B)}catch(Q){A.configError=Q instanceof Error?Q.message:String(Q)}try{let Q=this.getSecretsPath(),B=await gC.readFile(Q,"utf8");A.secrets=JSON.parse(B)}catch(Q){A.secretsError=Q instanceof Error?Q.message:String(Q)}return A}async collectCliTestInfo(){let A=new Date().toISOString();try{await Rf("which",["amp"],{timeout:5000})}catch{return{executedAt:A,initialTest:{command:`echo "what is today's date" | amp`,stdout:"",stderr:"",exitCode:127,error:"amp command not found in PATH"},additionalTests:[]}}let Q=await this.runCliCommand(`echo "what is today's date" | amp`),B=[];if(Q.exitCode===0){let J=["amp threads list","amp tools show"];for(let D of J){let z=await this.runCliCommand(D);B.push(z)}}return{executedAt:A,initialTest:Q,additionalTests:B}}async runCliCommand(A){let Q={command:A,stdout:"",stderr:"",exitCode:-1};try{let{spawn:B}=await import("node:child_process");return new Promise((J)=>{let D=B("sh",["-c",A],{stdio:["pipe","pipe","pipe"],timeout:30000}),z="",Z="";D.stdout?.on("data",(X)=>{z+=X.toString()}),D.stderr?.on("data",(X)=>{Z+=X.toString()}),D.on("close",(X)=>{Q.stdout=z,Q.stderr=Z,Q.exitCode=X??-1,J(Q)}),D.on("error",(X)=>{Q.error=X.message,Q.exitCode=-1,J(Q)}),setTimeout(()=>{D.kill("SIGTERM"),Q.error="Command timed out after 30 seconds",Q.exitCode=-1,J(Q)},30000)})}catch(B){return Q.error=B instanceof Error?B.message:String(B),Q.exitCode=-1,Q}}async collectLogsInfo(){let A={recentLogs:[]};try{let Q=this.getLogPath(),J=(await gC.readFile(Q,"utf8")).split(`
7340
7340
  `).filter((D)=>D.trim());A.recentLogs=J.slice(-1000)}catch(Q){A.logError=Q instanceof Error?Q.message:String(Q)}return A}async getCliVersion(){try{let{stdout:A}=await Rf("npm",["list","-g","@sourcegraph/amp","--depth=0","--json"],{timeout:5000}),B=JSON.parse(A).dependencies?.["@sourcegraph/amp"];if(B?.version)return B.version}catch{}try{let A=BU(process.cwd(),"node_modules","@sourcegraph","amp","package.json"),Q=await gC.readFile(A,"utf8"),B=JSON.parse(Q);if(B.version)return B.version}catch{}try{let{stdout:A}=await Rf("pnpm",["list","-g","@sourcegraph/amp","--depth=0","--json"],{timeout:5000}),Q=JSON.parse(A),B=Array.isArray(Q)?Q:[Q];for(let J of B){let D=J.dependencies?.["@sourcegraph/amp"];if(D?.version)return D.version}}catch{}try{let{stdout:A}=await Rf("yarn",["global","list","--pattern","@sourcegraph/amp","--json"],{timeout:5000}),Q=A.split(`
7341
7341
  `).filter((B)=>B.trim());for(let B of Q)try{let J=JSON.parse(B);if(J.type==="info"&&J.data&&typeof J.data==="string"){let D=J.data.match(/"@sourcegraph\/amp@(.+?)"/);if(D?.[1])return D[1]}}catch{}}catch{}try{let{stdout:A}=await Rf("amp",["--version"],{timeout:5000}),Q=A.trim().match(/(\d+\.\d+\.\d+[\w\-.]*)/g);if(Q?.[0])return Q[0]}catch{}return}async detectInstallMethod(){try{return await Rf("npm",["list","-g","@sourcegraph/amp"],{timeout:5000}),"global"}catch{}try{let A=BU(process.cwd(),"node_modules","@sourcegraph","amp");return await gC.access(A),"local"}catch{}if(process.argv[0]?.includes("npx")||process.env.npm_execpath?.includes("npx"))return"npx";return"unknown"}async detectPackageManager(){try{return await gC.access(BU(process.cwd(),"pnpm-lock.yaml")),"pnpm"}catch{}try{return await gC.access(BU(process.cwd(),"yarn.lock")),"yarn"}catch{}try{return await gC.access(BU(process.cwd(),"package-lock.json")),"npm"}catch{}return"unknown"}getSettingsPath(){let A=process.env.XDG_CONFIG_HOME||BU(lv1(),".config");return BU(A,"amp","settings.json")}getSecretsPath(){let A=process.env.XDG_DATA_HOME||BU(lv1(),".local","share");return BU(A,"amp","secrets.json")}getLogPath(){let A=process.env.XDG_CACHE_HOME||BU(lv1(),".cache");return BU(A,"amp","logs","cli.log")}}import{lookup as pp6}from"node:dns";import{promisify as cp6}from"node:util";var lp6=cp6(pp6);class iv1{testUrls=["https://ampcode.com","https://sourcegraph.com","https://ampcodestatus.com"];testDomains=["ampcode.com","sourcegraph.com","ampcodestatus.com","github.com"];async collect(){let[A,Q]=await Promise.all([this.runConnectivityTests(),this.runDnsTests()]);return{connectivity:A,dns:Q,proxy:this.detectProxy(),timestamp:new Date().toISOString()}}async runConnectivityTests(){return(await Promise.allSettled(this.testUrls.map((Q)=>this.testConnectivity(Q)))).map((Q,B)=>{if(Q.status==="fulfilled")return Q.value;else return{url:this.testUrls[B],success:!1,responseTime:0,error:Q.reason instanceof Error?Q.reason.message:String(Q.reason)}})}async runDnsTests(){return(await Promise.allSettled(this.testDomains.map((Q)=>this.testDnsResolution(Q)))).map((Q,B)=>{if(Q.status==="fulfilled")return Q.value;else return{domain:this.testDomains[B],success:!1,responseTime:0,error:Q.reason instanceof Error?Q.reason.message:String(Q.reason)}})}async testConnectivity(A){let Q=Date.now();try{let B=new AbortController,J=setTimeout(()=>B.abort(),1e4),D=await fetch(A,{method:"HEAD",signal:B.signal});clearTimeout(J);let z=Date.now()-Q,Z={};return D.headers.forEach((X,K)=>{Z[K]=X}),{url:A,success:D.ok,status:D.status,statusText:D.statusText,responseTime:z,headers:Z}}catch(B){let J=Date.now()-Q;return{url:A,success:!1,responseTime:J,error:B instanceof Error?B.message:String(B)}}}async testDnsResolution(A){let Q=Date.now();try{let B=await lp6(A,{all:!0}),J=Date.now()-Q;return{domain:A,success:!0,addresses:B.map((D)=>D.address),responseTime:J}}catch(B){let J=Date.now()-Q;return{domain:A,success:!1,responseTime:J,error:B instanceof Error?B.message:String(B)}}}detectProxy(){let A={detected:!1},Q=process.env.HTTP_PROXY||process.env.http_proxy,B=process.env.HTTPS_PROXY||process.env.https_proxy,J=process.env.NO_PROXY||process.env.no_proxy,D=process.env.NODE_EXTRA_CA_CERTS;if(Q||B||D)A.httpProxy=Q,A.httpsProxy=B,A.noProxy=J,A.nodeExtraCaCerts=D,A.detected=!0;return A}}import{execFile as dp6}from"node:child_process";import{promises as e41}from"node:fs";import{platform as LAA}from"node:os";import{promisify as ip6}from"node:util";var av1=ip6(dp6);class nv1{testUrls=["https://ampcode.com","https://sourcegraph.com"];async collect(){let[A,Q]=await Promise.all([this.collectTrustedCertificates(),this.testCertificateChains()]);return{trustedCertificates:A,certificateTests:Q,platform:LAA(),timestamp:new Date().toISOString()}}async collectTrustedCertificates(){let A={count:0,sources:[],sampleCertificates:[]};try{let Q=LAA();switch(Q){case"darwin":await this.collectMacOSCertificates(A);break;case"win32":await this.collectWindowsCertificates(A);break;case"linux":await this.collectLinuxCertificates(A);break;default:A.error=`Unsupported platform: ${Q}`}}catch(Q){A.error=Q instanceof Error?Q.message:String(Q)}return A}async testCertificateChains(){return(await Promise.allSettled(this.testUrls.map((Q)=>this.testCertificateChain(Q)))).map((Q,B)=>{if(Q.status==="fulfilled")return Q.value;else return{url:this.testUrls[B],success:!1,error:Q.reason instanceof Error?Q.reason.message:String(Q.reason)}})}async collectMacOSCertificates(A){try{let{stdout:Q}=await av1("security",["find-certificate","-a","-p","/System/Library/Keychains/SystemRootCertificates.keychain"],{timeout:1e4}),B=this.parsePEMCertificates(Q);A.count=B.length,A.sources.push("/System/Library/Keychains/SystemRootCertificates.keychain"),A.sampleCertificates=B.slice(0,3);try{let{stdout:J}=await av1("security",["find-certificate","-a","-p","login.keychain"],{timeout:5000}),D=this.parsePEMCertificates(J);if(D.length>0)A.count+=D.length,A.sources.push("login.keychain"),A.sampleCertificates.push(...D.slice(0,2))}catch{}}catch(Q){throw new Error(`Failed to collect macOS certificates: ${Q instanceof Error?Q.message:String(Q)}`)}}async collectWindowsCertificates(A){try{let{stdout:Q}=await av1("powershell",["-Command","Get-ChildItem -Path Cert:\\LocalMachine\\Root | Select-Object Subject, Issuer, SerialNumber, NotBefore, NotAfter, Thumbprint | ConvertTo-Json"],{timeout:1e4}),B=JSON.parse(Q),J=Array.isArray(B)?B:[B];A.count=J.length,A.sources.push("Cert:\\LocalMachine\\Root"),A.sampleCertificates=J.slice(0,3).map((D)=>({subject:D.Subject,issuer:D.Issuer,serialNumber:D.SerialNumber,notBefore:D.NotBefore,notAfter:D.NotAfter,fingerprint:D.Thumbprint}))}catch(Q){throw new Error(`Failed to collect Windows certificates: ${Q instanceof Error?Q.message:String(Q)}`)}}async collectLinuxCertificates(A){let Q=["/etc/ssl/certs","/usr/local/share/ca-certificates","/etc/pki/tls/certs","/etc/ssl/ca-bundle.pem"],B=0,J=[],D=[];for(let z of Q)try{let Z=await e41.stat(z);if(Z.isDirectory()){let K=(await e41.readdir(z)).filter((G)=>G.endsWith(".crt")||G.endsWith(".pem"));if(K.length>0){if(B+=K.length,J.push(z),D.length<3)try{let G=await e41.readFile(`${z}/${K[0]}`,"utf8"),q=this.parsePEMCertificates(G);D.push(...q.slice(0,1))}catch{}}}else if(Z.isFile()){let X=await e41.readFile(z,"utf8"),K=this.parsePEMCertificates(X);if(K.length>0)B+=K.length,J.push(z),D.push(...K.slice(0,2))}}catch{}if(A.count=B,A.sources=J,A.sampleCertificates=D.slice(0,3),B===0)throw new Error("No certificate sources found")}async testCertificateChain(A){try{let Q=new URL(A),B=await import("node:https");return new Promise((J,D)=>{let z=B.request({hostname:Q.hostname,port:Q.port||443,method:"HEAD",timeout:1e4},(Z)=>{if(process.versions.bun)return J({url:A,success:!1,error:"The binary version of Amp does not support certificate testing"});let X=Z.socket,K=X.getPeerCertificate(!0),G=X.getCipher();if(K&&Object.keys(K).length>0){let q=this.extractCertificateChain(K);J({url:A,success:!0,certificates:q,tlsVersion:X.getProtocol(),cipherSuite:G?`${G.name} (${G.version})`:void 0})}else J({url:A,success:!1,error:"No certificate information available"})});z.on("error",(Z)=>{J({url:A,success:!1,error:Z.message})}),z.on("timeout",()=>{z.destroy(),J({url:A,success:!1,error:"Connection timeout"})}),z.end()})}catch(Q){return{url:A,success:!1,error:Q instanceof Error?Q.message:String(Q)}}}parsePEMCertificates(A){let Q=[],B=/-----BEGIN CERTIFICATE-----[\s\S]*?-----END CERTIFICATE-----/g,J=A.match(B);if(J)for(let D of J.slice(0,5))try{let z=D.split(`
7342
- `),Z={subject:"Unknown",issuer:"Unknown"};for(let X of z){if(X.includes("Subject:"))Z.subject=X.split("Subject:")[1]?.trim()||"Unknown";if(X.includes("Issuer:"))Z.issuer=X.split("Issuer:")[1]?.trim()||"Unknown"}Q.push(Z)}catch{}return Q}extractCertificateChain(A){let Q=[],B=A;while(B&&Q.length<10)if(Q.push({subject:B.subject?.CN||B.subject?.O||"Unknown",issuer:B.issuer?.CN||B.issuer?.O||"Unknown",serialNumber:B.serialNumber,notBefore:B.valid_from,notAfter:B.valid_to,fingerprint:B.fingerprint}),B=B.issuerCertificate,B===A)break;return Q}}import{createWriteStream as ap6}from"node:fs";import{join as np6}from"node:path";import{pipeline as sp6}from"node:stream/promises";import{createGzip as rp6}from"node:zlib";SP1();class A51{systemCollector=new cv1;ampCollector=new dv1;networkCollector=new iv1;sslCollector=new nv1;async generate(A={}){let Q=new Date().toISOString().replace(/[:.]/g,"-"),B=A.outputDir||process.cwd(),J=await this.collectData(),D=o$(J),z=np6(B,`amp-support-bundle-${Q}.json.gz`);return await this.createBundle(D,z),z}async collectData(){let[A,Q,B,J]=await Promise.all([this.systemCollector.collect(),this.ampCollector.collect(),this.networkCollector.collect(),this.sslCollector.collect()]);return{systemInfo:A,ampInfo:Q,networkDiagnostics:B,sslCertificates:J,timestamp:new Date().toISOString(),metadata:{generatedAt:new Date().toISOString(),generatedBy:"amp-doctor",redacted:!0}}}async createBundle(A,Q){let B=JSON.stringify(A,null,2),J=ap6(Q),D=rp6();await sp6(async function*(){yield B},D,J)}}aF1();$2();var l3=G6(f9A(),1);import as6 from"node:fs";import{homedir as ns6}from"node:os";import P51 from"node:path";var k9A=Object.keys(k1);function Cd(A){let Q=P51.join(VAA||P51.join(ns6(),".cache"),"amp","logs"),B=A?.logFile||P51.join(Q,"cli.log"),J=A?.logLevel||"info";if(!k9A.includes(J))console.warn(`Invalid log level: ${J}. Using 'info' instead.`);try{as6.mkdirSync(P51.dirname(B),{recursive:!0})}catch(z){console.error(`Failed to create log directory: ${z}`)}let D=l3.default.createLogger({level:k9A.includes(J)?J:"info",format:l3.default.format.combine(l3.default.format.timestamp(),l3.default.format.json(),l3.default.format.errors({stack:!0})),transports:[new l3.default.transports.File({filename:B})]});kx1({error:D.error.bind(D),warn:D.warn.bind(D),info:D.info.bind(D),debug:D.debug.bind(D),audit:(z,...Z)=>D.info(z,{audit:!0,...Z[0]})})}var y9A={url:{value:"https://ampcode.com",visible:!1,description:"The Amp server URL to connect to"},"anthropic.thinking.enabled":{value:!1,visible:!1,description:"Enable Claude thinking process output for debugging"},"anthropic.temperature":{value:1,visible:!1,description:"Temperature setting for Anthropic models (0.0 = deterministic, 1.0 = creative). Note: Only takes effect when thinking is disabled. Internal use only."},"notifications.enabled":{value:!0,visible:!0,description:"Enable system sound notifications when agent completes tasks"},"todos.enabled":{value:!0,visible:!1,description:"Enable TODO tracking and management features"},mcpServers:{value:{filesystem:{command:"npx",args:["@modelcontextprotocol/server-filesystem","/path/to/allowed/dir"]}},visible:!0,description:"Model Context Protocol servers to connect to for additional tools"},"tools.disable":{value:["browser_navigate","builtin:edit_file"],visible:!0,description:"Array of tool names to disable. Use 'builtin:toolname' to disable only the builtin tool with that name (allowing an MCP server to provide a tool by that name)."},"tools.stopTimeout":{value:300,visible:!1,description:"Timeout for stopping tools"},"commands.allowlist":{value:["git status","ls -la","npm run build"],visible:!0,description:"Array of shell commands that can be executed without confirmation"},"commands.strict":{value:!1,visible:!0,description:"Enable strict command validation. When disabled, certain commands like Bazel get relaxed path validation."},dangerouslyAllowAll:{value:!1,visible:!0,description:"Disable all command confirmation prompts (agent will execute all commands without asking)"},submitOnEnter:{value:!0,visible:!1,description:"Whether to submit messages on Enter (true) or require Ctrl+Enter (false)"},"terminal.commands.environment":{value:"vscode-terminal",visible:!1,description:"Terminal environment for executing commands (vscode-terminal or node-spawn)"},"terminal.commands.hide":{value:!1,visible:!1,description:"Hide terminal command output from the user"},"terminal.commands.vscodeTerminal.detachTimeout":{value:90,visible:!1,description:"Timeout for detaching from a terminal in milliseconds"},"terminal.commands.vscodeTerminal.shellPath":{value:void 0,visible:!1,description:"Path to the shell to use in vscode-terminal mode"},"terminal.commands.vscodeTerminal.shellArgs":{value:void 0,visible:!1,description:"Arguments to pass to the custom shell in vscode-terminal mode. Only used when terminal.commands.vscodeTerminal.shellPath is set"},"terminal.commands.nodeSpawn.loadProfile":{value:"daily",visible:!1,description:"How often to load shell profile in node-spawn mode (always, daily, never)"},"terminal.commands.nodeSpawn.detachedLogsDirectory":{value:void 0,visible:!1,description:"Directory to store detached logs in node-spawn mode"},"tab.enabled":{value:!0,visible:!1,description:"Enable tab completion features"},"tab.disabledLanguages":{value:[],visible:!1,description:"List of language IDs for which tab completion is disabled"},"tab.disableOnComment":{value:!1,visible:!1,description:"Dsiable tab completion on comment lines"},"tab.autoImport.enabled":{value:!1,visible:!1,description:"Enable auto-import feature for tab completion"},"tab.verboseLogs":{value:!1,visible:!1,description:"Enable verbose logging for tab completion"},debugLogs:{value:!1,visible:!1,description:"Enable debug logging output"},hooks:{value:[],visible:!1,description:"Custom hooks for extending Amp functionality"},"gemini.enabled":{value:!1,visible:!1,description:"Whether to use Gemini 2.5 pro as the primary model"},"vertexai.enabled":{value:!1,visible:!1,description:"Whether to use Vertex AI for Anthropic Claude inference"},"experimental.run_javascript.enabled":{value:!1,visible:!1,description:"Whether to enable the experimental run_javascript tool"},"lsp.enabled":{value:!1,visible:!1,description:"Enable LSP-based diagnostics"},"jetbrains.enabled":{value:!1,visible:!1,description:"Enable integrated support for JetBrains-based IDE through the official JetBrains MCP plugin. When this setting is enabled, Amp will automatically try to include the currently open file and selected text (if any) before sending messages."},"experimental.reviewTool":{value:!1,visible:!1,description:"Experimental: Enable the summarize_git_diff tool."},"experimental.tools":{value:[],visible:!1,description:"Enable experimental tools by name. Available tools: chat_llm, commit_attribution"},"summary.provider":{value:"gemini",visible:!1,description:"Summary provider to use (anthropic or gemini)"}},ss6=Object.fromEntries(Object.entries(y9A).filter(([,A])=>A.visible).map(([A,Q])=>[`amp.${A}`,Q.value])),Vd={examples:[{description:"Start an interactive session:",command:"amp"},{description:"Run a command in a non-interactive session:",command:'echo "commit all my unstaged changes" | amp'},{description:"Run from a prompt file in a non-interactive session and store output in a file:",command:"amp < prompt.txt > output.txt"}],configuration:{description:`Amp can be configured using a JSON settings file located at ${jE}. All settings use the "amp." prefix.`,sampleConfig:JSON.stringify(ss6,null,2),keyDescriptions:Object.entries(y9A).filter(([,A])=>A.visible).map(([A,Q])=>({key:`amp.${A}`,description:Q.description}))}};$2();Mi();D2();import{spawn as x9A}from"node:child_process";import yf1 from"node:fs";import h9A from"node:os";import d3 from"node:path";class kf1{cache=new Map;maxSize;constructor(A=100){this.maxSize=A}get(A){let Q=this.cache.get(A);if(Q!==void 0)this.cache.delete(A),this.cache.set(A,Q);return Q}set(A,Q){if(this.cache.has(A))this.cache.delete(A);else if(this.cache.size>=this.maxSize){let B=this.cache.keys().next().value;if(B!==void 0)this.cache.delete(B)}this.cache.set(A,Q)}has(A){return this.cache.has(A)}clear(){this.cache.clear()}get size(){return this.cache.size}}var gf1=500000,g9A=60000,m9A=["!node_modules/","!target/","!build/","!dist/","!out/","!\\.next/","!coverage/","!venv/","!\\.venv/","!vendor/","!deps/","!\\_build/","!\\.elixir_ls/","!\\.elixir-tools/","!\\.git/"],rs6=m9A.map((A)=>A.substring(1).replace(/\\/g,""));function b9A(A){let Q=A.replace(/\\/g,"/");return rs6.some((B)=>{let J=B.endsWith("/")?B.slice(0,-1):B;return Q.startsWith(B)||Q.includes("/"+B)||Q.startsWith(J+"/")||Q.includes("/"+J+"/")})}class S51{process=null;messageId=0;pendingRequests=new Map;queryCache=new kf1(50);messageSubject=new CD(null);subscription=this.messageSubject.pipe($q(250),t7((A)=>A!==null),W5((A)=>{return this.sendMessageObservable(A)})).subscribe((A)=>{k1.debug("Sending message",{pendingMessage:A})});constructor(){}sendMessageObservable(A){return new UA(()=>{return this.sendMessageDirect(A)})}sendMessageDirect(A){if(k1.debug("Sending message directly",{pendingMessage:A}),!this.process?.stdin){A.reject(new Error("Fuzzy server not started"));return}this.pendingRequests.set(A.id,{resolve:A.resolve,reject:A.reject}),this.process.stdin.write(JSON.stringify({...A.message,id:A.id})+`
7342
+ `),Z={subject:"Unknown",issuer:"Unknown"};for(let X of z){if(X.includes("Subject:"))Z.subject=X.split("Subject:")[1]?.trim()||"Unknown";if(X.includes("Issuer:"))Z.issuer=X.split("Issuer:")[1]?.trim()||"Unknown"}Q.push(Z)}catch{}return Q}extractCertificateChain(A){let Q=[],B=A;while(B&&Q.length<10)if(Q.push({subject:B.subject?.CN||B.subject?.O||"Unknown",issuer:B.issuer?.CN||B.issuer?.O||"Unknown",serialNumber:B.serialNumber,notBefore:B.valid_from,notAfter:B.valid_to,fingerprint:B.fingerprint}),B=B.issuerCertificate,B===A)break;return Q}}import{createWriteStream as ap6}from"node:fs";import{join as np6}from"node:path";import{pipeline as sp6}from"node:stream/promises";import{createGzip as rp6}from"node:zlib";SP1();class A51{systemCollector=new cv1;ampCollector=new dv1;networkCollector=new iv1;sslCollector=new nv1;async generate(A={}){let Q=new Date().toISOString().replace(/[:.]/g,"-"),B=A.outputDir||process.cwd(),J=await this.collectData(),D=o$(J),z=np6(B,`amp-support-bundle-${Q}.json.gz`);return await this.createBundle(D,z),z}async collectData(){let[A,Q,B,J]=await Promise.all([this.systemCollector.collect(),this.ampCollector.collect(),this.networkCollector.collect(),this.sslCollector.collect()]);return{systemInfo:A,ampInfo:Q,networkDiagnostics:B,sslCertificates:J,timestamp:new Date().toISOString(),metadata:{generatedAt:new Date().toISOString(),generatedBy:"amp-doctor",redacted:!0}}}async createBundle(A,Q){let B=JSON.stringify(A,null,2),J=ap6(Q),D=rp6();await sp6(async function*(){yield B},D,J)}}aF1();$2();var l3=G6(f9A(),1);import as6 from"node:fs";import{homedir as ns6}from"node:os";import P51 from"node:path";var k9A=Object.keys(k1);function Cd(A){let Q=P51.join(VAA||P51.join(ns6(),".cache"),"amp","logs"),B=A?.logFile||P51.join(Q,"cli.log"),J=A?.logLevel||"info";if(!k9A.includes(J))console.warn(`Invalid log level: ${J}. Using 'info' instead.`);try{as6.mkdirSync(P51.dirname(B),{recursive:!0})}catch(z){console.error(`Failed to create log directory: ${z}`)}let D=l3.default.createLogger({level:k9A.includes(J)?J:"info",format:l3.default.format.combine(l3.default.format.timestamp(),l3.default.format.json(),l3.default.format.errors({stack:!0})),transports:[new l3.default.transports.File({filename:B})]});kx1({error:D.error.bind(D),warn:D.warn.bind(D),info:D.info.bind(D),debug:D.debug.bind(D),audit:(z,...Z)=>D.info(z,{audit:!0,...Z[0]})})}var y9A={url:{value:"https://ampcode.com",visible:!1,description:"The Amp server URL to connect to"},"anthropic.thinking.enabled":{value:!1,visible:!1,description:"Enable Claude thinking process output for debugging"},"anthropic.temperature":{value:1,visible:!1,description:"Temperature setting for Anthropic models (0.0 = deterministic, 1.0 = creative). Note: Only takes effect when thinking is disabled. Internal use only."},"notifications.enabled":{value:!0,visible:!0,description:"Enable system sound notifications when agent completes tasks"},"todos.enabled":{value:!0,visible:!1,description:"Enable TODO tracking and management features"},mcpServers:{value:{filesystem:{command:"npx",args:["@modelcontextprotocol/server-filesystem","/path/to/allowed/dir"]}},visible:!0,description:"Model Context Protocol servers to connect to for additional tools"},"tools.disable":{value:["browser_navigate","builtin:edit_file"],visible:!0,description:"Array of tool names to disable. Use 'builtin:toolname' to disable only the builtin tool with that name (allowing an MCP server to provide a tool by that name)."},"tools.stopTimeout":{value:300,visible:!1,description:"Timeout for stopping tools"},"commands.allowlist":{value:["git status","ls -la","npm run build"],visible:!0,description:"Array of shell commands that can be executed without confirmation"},"commands.strict":{value:!1,visible:!0,description:"Enable strict command validation. When disabled, certain commands like Bazel get relaxed path validation."},dangerouslyAllowAll:{value:!1,visible:!0,description:"Disable all command confirmation prompts (agent will execute all commands without asking)"},submitOnEnter:{value:!0,visible:!1,description:"Whether to submit messages on Enter (true) or require Ctrl+Enter (false)"},"terminal.commands.environment":{value:"vscode-terminal",visible:!1,description:"Terminal environment for executing commands (vscode-terminal or node-spawn)"},"terminal.commands.hide":{value:!1,visible:!1,description:"Hide terminal command output from the user"},"terminal.commands.vscodeTerminal.detachTimeout":{value:90,visible:!1,description:"Timeout for detaching from a terminal in milliseconds"},"terminal.commands.vscodeTerminal.shellPath":{value:void 0,visible:!1,description:"Path to the shell to use in vscode-terminal mode"},"terminal.commands.vscodeTerminal.shellArgs":{value:void 0,visible:!1,description:"Arguments to pass to the custom shell in vscode-terminal mode. Only used when terminal.commands.vscodeTerminal.shellPath is set"},"terminal.commands.nodeSpawn.loadProfile":{value:"daily",visible:!1,description:"How often to load shell profile in node-spawn mode (always, daily, never)"},"terminal.commands.nodeSpawn.detachedLogsDirectory":{value:void 0,visible:!1,description:"Directory to store detached logs in node-spawn mode"},"tab.enabled":{value:!0,visible:!1,description:"Enable tab completion features"},"tab.disabledLanguages":{value:[],visible:!1,description:"List of language IDs for which tab completion is disabled"},"tab.disableOnComment":{value:!1,visible:!1,description:"Dsiable tab completion on comment lines"},"tab.autoImport.enabled":{value:!1,visible:!1,description:"Enable auto-import feature for tab completion"},"tab.verboseLogs":{value:!1,visible:!1,description:"Enable verbose logging for tab completion"},debugLogs:{value:!1,visible:!1,description:"Enable debug logging output"},hooks:{value:[],visible:!1,description:"Custom hooks for extending Amp functionality"},"gemini.enabled":{value:!1,visible:!1,description:"Whether to use Gemini 2.5 pro as the primary model"},"vertexai.enabled":{value:!1,visible:!1,description:"Whether to use Vertex AI for Anthropic Claude inference"},"experimental.run_javascript.enabled":{value:!1,visible:!1,description:"Whether to enable the experimental run_javascript tool"},"lsp.enabled":{value:!1,visible:!1,description:"Enable LSP-based diagnostics"},"jetbrains.enabled":{value:!1,visible:!1,description:"Enable integrated support for JetBrains-based IDE through the official JetBrains MCP plugin. When this setting is enabled, Amp will automatically try to include the currently open file and selected text (if any) before sending messages."},"experimental.reviewTool":{value:!1,visible:!1,description:"Experimental: Enable the summarize_git_diff tool."},"experimental.tools":{value:[],visible:!1,description:"Enable experimental tools by name. Available tools: chat_llm, commit_attribution"},"summary.provider":{value:"gemini",visible:!1,description:"Summary provider to use (anthropic or gemini)"}},ss6=Object.fromEntries(Object.entries(y9A).filter(([,A])=>A.visible).map(([A,Q])=>[`amp.${A}`,Q.value])),Vd={examples:[{description:"Start an interactive session:",command:"amp"},{description:"Run a command in a non-interactive session:",command:'echo "commit all my unstaged changes" | amp'},{description:"Run from a prompt file in a non-interactive session and store output in a file:",command:"amp < prompt.txt > output.txt"}],configuration:{description:`Amp can be configured using a JSON settings file located at ${jE}. All settings use the "amp." prefix.`,sampleConfig:JSON.stringify(ss6,null,2),keyDescriptions:Object.entries(y9A).filter(([,A])=>A.visible).map(([A,Q])=>({key:`amp.${A}`,description:Q.description}))}};$2();Mi();D2();import{spawn as x9A}from"node:child_process";import yf1 from"node:fs";import h9A from"node:os";import d3 from"node:path";class kf1{cache=new Map;maxSize;constructor(A=100){this.maxSize=A}get(A){let Q=this.cache.get(A);if(Q!==void 0)this.cache.delete(A),this.cache.set(A,Q);return Q}set(A,Q){if(this.cache.has(A))this.cache.delete(A);else if(this.cache.size>=this.maxSize){let B=this.cache.keys().next().value;if(B!==void 0)this.cache.delete(B)}this.cache.set(A,Q)}has(A){return this.cache.has(A)}clear(){this.cache.clear()}get size(){return this.cache.size}}var gf1=500000,g9A=60000,m9A=["!node_modules/","!target/","!build/","!dist/","!out/","!\\.next/","!coverage/","!venv/","!\\.venv/","!vendor/","!deps/","!\\_build/","!\\.elixir_ls/","!\\.elixir-tools/","!\\.git/"],rs6=m9A.map((A)=>A.substring(1).replace(/\\/g,""));function b9A(A){let Q=A.replace(/\\/g,"/");return rs6.some((B)=>{let J=B.endsWith("/")?B.slice(0,-1):B;return Q.startsWith(B)||Q.includes("/"+B)||Q.startsWith(J+"/")||Q.includes("/"+J+"/")})}class S51{process=null;messageId=0;pendingRequests=new Map;queryCache=new kf1(50);messageSubject=new CD(null);subscription=this.messageSubject.pipe($q(250),t7((A)=>A!==null),W5((A)=>{return this.sendMessageObservable(A)})).subscribe((A)=>{this.sendMessageDirect(A)});constructor(){}sendMessageObservable(A){return UA.of(A)}sendMessageDirect(A){if(k1.debug("Sending message directly",{pendingMessage:A}),!this.process?.stdin){A.reject(new Error("Fuzzy server not started"));return}this.pendingRequests.set(A.id,{resolve:A.resolve,reject:A.reject}),this.process.stdin.write(JSON.stringify({...A.message,id:A.id})+`
7343
7343
  `)}async start(){let A=!!process.versions.bun,Q,B;if(k1.info("Starting fuzzy server",{isCompiledBinary:A,argv:process.argv}),A)Q=process.execPath,B=["fuzzy-server"];else if(process.argv[1])Q="node",B=[process.argv[1],"fuzzy-server"];else throw k1.error("Failed to determine command and args for fuzzy server",{argv:process.argv}),new Error("Failed to determine command and args for fuzzy server");if(this.process=x9A(Q,B,{stdio:["pipe","pipe","inherit"]}),!this.process.stdout)throw new Error("Failed to create fuzzy server process");let J="";this.process.stdout.on("data",(D)=>{J+=D.toString();let z=J.split(`
7344
7344
  `);J=z.pop()||"";for(let Z of z)if(Z.trim())try{let X=JSON.parse(Z),K=this.pendingRequests.get(X.id);if(K)this.pendingRequests.delete(X.id),K.resolve(X)}catch(X){k1.error("Failed to parse fuzzy server response",X)}}),this.process.on("error",(D)=>{k1.error("Fuzzy server process error",D)}),this.process.on("exit",(D)=>{k1.debug("Fuzzy server process exited",{code:D})})}async sendMessage(A){let Q=++this.messageId;return new Promise((B,J)=>{this.messageSubject.next({message:A,id:Q,resolve:B,reject:J})})}async addFiles(A){await this.sendMessage({type:"index:add",files:A}),this.queryCache.clear()}async removeFiles(A){await this.sendMessage({type:"index:remove",files:A}),this.queryCache.clear()}async query(A){k1.debug("Processing completion for pattern",{pattern:A});let Q=this.queryCache.get(A);if(Q)return Q;let J=(await this.sendMessage({type:"query",text:A})).results||[];return this.queryCache.set(A,J),J}dispose(){if(this.subscription.unsubscribe(),this.messageSubject.complete(),this.process)this.process.kill(),this.process=null}}async function u9A(A,Q){let B=h9A.homedir();if(d3.resolve(Q)===d3.resolve(B)){k1.debug("Skipping indexing for home directory");return}let J=new Promise((D,z)=>{let Z=qT(),X=["--files","--color","never","--no-require-git","--hidden",...m9A.flatMap((Y)=>["--glob",Y])],K=x9A(Z,X,{cwd:Q,stdio:["ignore","pipe","inherit"]});if(!K.stdout){z(new Error("Failed to start ripgrep process"));return}let G="",q=[];K.stdout.on("data",(Y)=>{G+=Y.toString();let F=G.split(`
7345
- `);G=F.pop()||"";for(let E of F)if(E.trim()&&q.length<gf1)q.push(E.trim());if(q.length>=gf1)K.kill("SIGTERM"),k1.debug(`File indexing stopped at ${gf1} files limit`)}),K.on("error",(Y)=>{k1.error("Ripgrep process error",Y),z(Y)}),K.on("exit",async(Y)=>{if(Y===null){k1.warn("Ripgrep process was terminated during file indexing");try{if(q.length>0)await A.addFiles(q),k1.debug(`Indexed ${q.length} files before termination`);D()}catch(F){z(F)}return}if(Y===0||Y===1)try{await A.addFiles(q),k1.debug(`Indexed ${q.length} files`),D()}catch(F){z(F)}else z(new Error(`Ripgrep exited with code ${Y}`))})});return Promise.race([J,new Promise((D,z)=>setTimeout(()=>z(new Error(`File indexing timed out after ${g9A/1000} seconds`)),g9A))])}function p9A(A,Q){let B=h9A.homedir();if(d3.resolve(Q)===d3.resolve(B))return k1.debug("Skipping file watching for home directory"),{[Symbol.dispose]:()=>{}};let J=[],D=new Set,z=null,Z=async()=>{if(D.size===0)return;let G=Array.from(D);D.clear();let q=[],Y=[];for(let F of G){let E=d3.join(Q,F);try{let w=await yf1.promises.lstat(E);if(w.isFile()||w.isSymbolicLink()&&!b9A(F))if(w.isSymbolicLink())try{await yf1.promises.stat(E),q.push(F)}catch(H){k1.debug("Skipping broken symlink",{file:F,error:H})}else q.push(F)}catch(w){if(w.code==="ENOENT")k1.debug("File not found during indexing",{file:F});else k1.debug("Error accessing file during indexing",{file:F,error:w});Y.push(F)}}try{if(q.length>0)await A.addFiles(q),k1.debug(`Added ${q.length} files to index`);if(Y.length>0)await A.removeFiles(Y),k1.debug(`Removed ${Y.length} files from index`)}catch(F){k1.error("Failed to update fuzzy server index",F)}},X=()=>{if(z)clearTimeout(z);z=setTimeout(Z,100)};return((G)=>{try{let q=yf1.watch(G,{recursive:!0},(Y,F)=>{if(!F)return;if(k1.debug("File system event",{eventType:Y,filename:F,dirPath:G}),Y!=="rename"){k1.debug("Ignoring change event",{eventType:Y,filename:F});return}if(F.includes("/.")||F.startsWith("."))return;let E=d3.relative(Q,d3.join(G,F));if(E.startsWith(".."))return;if(b9A(E)){k1.debug("Skipping excluded path",{relativePath:E});return}D.add(E),X()});J.push(q),q.on("error",(Y)=>{k1.error(`File watcher error for ${G}`,Y)})}catch(q){k1.error(`Failed to watch directory ${G}`,q)}})(Q),{[Symbol.dispose]:()=>{if(z)clearTimeout(z);for(let G of J)G.close();J.length=0}}}function pM(A){return!Array.isArray?r9A(A)==="[object Array]":Array.isArray(A)}var os6=1/0;function ts6(A){if(typeof A=="string")return A;let Q=A+"";return Q=="0"&&1/A==-os6?"-0":Q}function es6(A){return A==null?"":ts6(A)}function $E(A){return typeof A==="string"}function n9A(A){return typeof A==="number"}function Ar6(A){return A===!0||A===!1||Qr6(A)&&r9A(A)=="[object Boolean]"}function s9A(A){return typeof A==="object"}function Qr6(A){return s9A(A)&&A!==null}function KK(A){return A!==void 0&&A!==null}function bf1(A){return!A.trim().length}function r9A(A){return A==null?A===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(A)}var Br6="Incorrect 'index' type",Jr6=(A)=>`Invalid value for key ${A}`,Dr6=(A)=>`Pattern length exceeds max of ${A}.`,zr6=(A)=>`Missing ${A} property in key`,Zr6=(A)=>`Property 'weight' in key '${A}' must be a positive integer`,c9A=Object.prototype.hasOwnProperty;class o9A{constructor(A){this._keys=[],this._keyMap={};let Q=0;A.forEach((B)=>{let J=t9A(B);this._keys.push(J),this._keyMap[J.id]=J,Q+=J.weight}),this._keys.forEach((B)=>{B.weight/=Q})}get(A){return this._keyMap[A]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function t9A(A){let Q=null,B=null,J=null,D=1,z=null;if($E(A)||pM(A))J=A,Q=l9A(A),B=xf1(A);else{if(!c9A.call(A,"name"))throw new Error(zr6("name"));let Z=A.name;if(J=Z,c9A.call(A,"weight")){if(D=A.weight,D<=0)throw new Error(Zr6(Z))}Q=l9A(Z),B=xf1(Z),z=A.getFn}return{path:Q,id:B,weight:D,src:J,getFn:z}}function l9A(A){return pM(A)?A:A.split(".")}function xf1(A){return pM(A)?A.join("."):A}function Xr6(A,Q){let B=[],J=!1,D=(z,Z,X)=>{if(!KK(z))return;if(!Z[X])B.push(z);else{let K=Z[X],G=z[K];if(!KK(G))return;if(X===Z.length-1&&($E(G)||n9A(G)||Ar6(G)))B.push(es6(G));else if(pM(G)){J=!0;for(let q=0,Y=G.length;q<Y;q+=1)D(G[q],Z,X+1)}else if(Z.length)D(G,Z,X+1)}};return D(A,$E(Q)?Q.split("."):Q,0),J?B:B[0]}var Kr6={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},Gr6={isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(A,Q)=>A.score===Q.score?A.idx<Q.idx?-1:1:A.score<Q.score?-1:1},qr6={location:0,threshold:0.6,distance:100},Yr6={useExtendedSearch:!1,getFn:Xr6,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},I8={...Gr6,...Kr6,...qr6,...Yr6},Ur6=/[^ ]+/g;function Fr6(A=1,Q=3){let B=new Map,J=Math.pow(10,Q);return{get(D){let z=D.match(Ur6).length;if(B.has(z))return B.get(z);let Z=1/Math.pow(z,0.5*A),X=parseFloat(Math.round(Z*J)/J);return B.set(z,X),X},clear(){B.clear()}}}class k51{constructor({getFn:A=I8.getFn,fieldNormWeight:Q=I8.fieldNormWeight}={}){this.norm=Fr6(Q,3),this.getFn=A,this.isCreated=!1,this.setIndexRecords()}setSources(A=[]){this.docs=A}setIndexRecords(A=[]){this.records=A}setKeys(A=[]){this.keys=A,this._keysMap={},A.forEach((Q,B)=>{this._keysMap[Q.id]=B})}create(){if(this.isCreated||!this.docs.length)return;if(this.isCreated=!0,$E(this.docs[0]))this.docs.forEach((A,Q)=>{this._addString(A,Q)});else this.docs.forEach((A,Q)=>{this._addObject(A,Q)});this.norm.clear()}add(A){let Q=this.size();if($E(A))this._addString(A,Q);else this._addObject(A,Q)}removeAt(A){this.records.splice(A,1);for(let Q=A,B=this.size();Q<B;Q+=1)this.records[Q].i-=1}getValueForItemAtKeyId(A,Q){return A[this._keysMap[Q]]}size(){return this.records.length}_addString(A,Q){if(!KK(A)||bf1(A))return;let B={v:A,i:Q,n:this.norm.get(A)};this.records.push(B)}_addObject(A,Q){let B={i:Q,$:{}};this.keys.forEach((J,D)=>{let z=J.getFn?J.getFn(A):this.getFn(A,J.path);if(!KK(z))return;if(pM(z)){let Z=[],X=[{nestedArrIndex:-1,value:z}];while(X.length){let{nestedArrIndex:K,value:G}=X.pop();if(!KK(G))continue;if($E(G)&&!bf1(G)){let q={v:G,i:K,n:this.norm.get(G)};Z.push(q)}else if(pM(G))G.forEach((q,Y)=>{X.push({nestedArrIndex:Y,value:q})})}B.$[D]=Z}else if($E(z)&&!bf1(z)){let Z={v:z,n:this.norm.get(z)};B.$[D]=Z}}),this.records.push(B)}toJSON(){return{keys:this.keys,records:this.records}}}function e9A(A,Q,{getFn:B=I8.getFn,fieldNormWeight:J=I8.fieldNormWeight}={}){let D=new k51({getFn:B,fieldNormWeight:J});return D.setKeys(A.map(t9A)),D.setSources(Q),D.create(),D}function Er6(A,{getFn:Q=I8.getFn,fieldNormWeight:B=I8.fieldNormWeight}={}){let{keys:J,records:D}=A,z=new k51({getFn:Q,fieldNormWeight:B});return z.setKeys(J),z.setIndexRecords(D),z}function v51(A,{errors:Q=0,currentLocation:B=0,expectedLocation:J=0,distance:D=I8.distance,ignoreLocation:z=I8.ignoreLocation}={}){let Z=Q/A.length;if(z)return Z;let X=Math.abs(J-B);if(!D)return X?1:Z;return Z+X/D}function wr6(A=[],Q=I8.minMatchCharLength){let B=[],J=-1,D=-1,z=0;for(let Z=A.length;z<Z;z+=1){let X=A[z];if(X&&J===-1)J=z;else if(!X&&J!==-1){if(D=z-1,D-J+1>=Q)B.push([J,D]);J=-1}}if(A[z-1]&&z-J>=Q)B.push([J,z-1]);return B}var i3=32;function Hr6(A,Q,B,{location:J=I8.location,distance:D=I8.distance,threshold:z=I8.threshold,findAllMatches:Z=I8.findAllMatches,minMatchCharLength:X=I8.minMatchCharLength,includeMatches:K=I8.includeMatches,ignoreLocation:G=I8.ignoreLocation}={}){if(Q.length>i3)throw new Error(Dr6(i3));let q=Q.length,Y=A.length,F=Math.max(0,Math.min(J,Y)),E=z,w=F,H=X>1||K,M=H?Array(Y):[],W;while((W=A.indexOf(Q,w))>-1){let R=v51(Q,{currentLocation:W,expectedLocation:F,distance:D,ignoreLocation:G});if(E=Math.min(R,E),w=W+q,H){let j=0;while(j<q)M[W+j]=1,j+=1}}w=-1;let I=[],N=1,V=q+Y,_=1<<q-1;for(let R=0;R<q;R+=1){let j=0,P=V;while(j<P){if(v51(Q,{errors:R,currentLocation:F+P,expectedLocation:F,distance:D,ignoreLocation:G})<=E)j=P;else V=P;P=Math.floor((V-j)/2+j)}V=P;let $=Math.max(1,F-P+1),f=Z?Y:Math.min(F+P,Y)+q,m=Array(f+2);m[f+1]=(1<<R)-1;for(let v=f;v>=$;v-=1){let g=v-1,b=B[A.charAt(g)];if(H)M[g]=+!!b;if(m[v]=(m[v+1]<<1|1)&b,R)m[v]|=(I[v+1]|I[v])<<1|1|I[v+1];if(m[v]&_){if(N=v51(Q,{errors:R,currentLocation:g,expectedLocation:F,distance:D,ignoreLocation:G}),N<=E){if(E=N,w=g,w<=F)break;$=Math.max(1,2*F-w)}}}if(v51(Q,{errors:R+1,currentLocation:F,expectedLocation:F,distance:D,ignoreLocation:G})>E)break;I=m}let T={isMatch:w>=0,score:Math.max(0.001,N)};if(H){let R=wr6(M,X);if(!R.length)T.isMatch=!1;else if(K)T.indices=R}return T}function Mr6(A){let Q={};for(let B=0,J=A.length;B<J;B+=1){let D=A.charAt(B);Q[D]=(Q[D]||0)|1<<J-B-1}return Q}var $51=String.prototype.normalize?(A)=>A.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,""):(A)=>A;class lf1{constructor(A,{location:Q=I8.location,threshold:B=I8.threshold,distance:J=I8.distance,includeMatches:D=I8.includeMatches,findAllMatches:z=I8.findAllMatches,minMatchCharLength:Z=I8.minMatchCharLength,isCaseSensitive:X=I8.isCaseSensitive,ignoreDiacritics:K=I8.ignoreDiacritics,ignoreLocation:G=I8.ignoreLocation}={}){if(this.options={location:Q,threshold:B,distance:J,includeMatches:D,findAllMatches:z,minMatchCharLength:Z,isCaseSensitive:X,ignoreDiacritics:K,ignoreLocation:G},A=X?A:A.toLowerCase(),A=K?$51(A):A,this.pattern=A,this.chunks=[],!this.pattern.length)return;let q=(F,E)=>{this.chunks.push({pattern:F,alphabet:Mr6(F),startIndex:E})},Y=this.pattern.length;if(Y>i3){let F=0,E=Y%i3,w=Y-E;while(F<w)q(this.pattern.substr(F,i3),F),F+=i3;if(E){let H=Y-i3;q(this.pattern.substr(H),H)}}else q(this.pattern,0)}searchIn(A){let{isCaseSensitive:Q,ignoreDiacritics:B,includeMatches:J}=this.options;if(A=Q?A:A.toLowerCase(),A=B?$51(A):A,this.pattern===A){let w={isMatch:!0,score:0};if(J)w.indices=[[0,A.length-1]];return w}let{location:D,distance:z,threshold:Z,findAllMatches:X,minMatchCharLength:K,ignoreLocation:G}=this.options,q=[],Y=0,F=!1;this.chunks.forEach(({pattern:w,alphabet:H,startIndex:M})=>{let{isMatch:W,score:I,indices:N}=Hr6(A,w,H,{location:D+M,distance:z,threshold:Z,findAllMatches:X,minMatchCharLength:K,includeMatches:J,ignoreLocation:G});if(W)F=!0;if(Y+=I,W&&N)q=[...q,...N]});let E={isMatch:F,score:F?Y/this.chunks.length:1};if(F&&J)E.indices=q;return E}}class cM{constructor(A){this.pattern=A}static isMultiMatch(A){return d9A(A,this.multiRegex)}static isSingleMatch(A){return d9A(A,this.singleRegex)}search(){}}function d9A(A,Q){let B=A.match(Q);return B?B[1]:null}class A4A extends cM{constructor(A){super(A)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(A){let Q=A===this.pattern;return{isMatch:Q,score:Q?0:1,indices:[0,this.pattern.length-1]}}}class Q4A extends cM{constructor(A){super(A)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(A){let B=A.indexOf(this.pattern)===-1;return{isMatch:B,score:B?0:1,indices:[0,A.length-1]}}}class B4A extends cM{constructor(A){super(A)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(A){let Q=A.startsWith(this.pattern);return{isMatch:Q,score:Q?0:1,indices:[0,this.pattern.length-1]}}}class J4A extends cM{constructor(A){super(A)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(A){let Q=!A.startsWith(this.pattern);return{isMatch:Q,score:Q?0:1,indices:[0,A.length-1]}}}class D4A extends cM{constructor(A){super(A)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(A){let Q=A.endsWith(this.pattern);return{isMatch:Q,score:Q?0:1,indices:[A.length-this.pattern.length,A.length-1]}}}class z4A extends cM{constructor(A){super(A)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(A){let Q=!A.endsWith(this.pattern);return{isMatch:Q,score:Q?0:1,indices:[0,A.length-1]}}}class df1 extends cM{constructor(A,{location:Q=I8.location,threshold:B=I8.threshold,distance:J=I8.distance,includeMatches:D=I8.includeMatches,findAllMatches:z=I8.findAllMatches,minMatchCharLength:Z=I8.minMatchCharLength,isCaseSensitive:X=I8.isCaseSensitive,ignoreDiacritics:K=I8.ignoreDiacritics,ignoreLocation:G=I8.ignoreLocation}={}){super(A);this._bitapSearch=new lf1(A,{location:Q,threshold:B,distance:J,includeMatches:D,findAllMatches:z,minMatchCharLength:Z,isCaseSensitive:X,ignoreDiacritics:K,ignoreLocation:G})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(A){return this._bitapSearch.searchIn(A)}}class if1 extends cM{constructor(A){super(A)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(A){let Q=0,B,J=[],D=this.pattern.length;while((B=A.indexOf(this.pattern,Q))>-1)Q=B+D,J.push([B,Q-1]);let z=!!J.length;return{isMatch:z,score:z?0:1,indices:J}}}var hf1=[A4A,if1,B4A,J4A,z4A,D4A,Q4A,df1],i9A=hf1.length,Wr6=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,Ir6="|";function Nr6(A,Q={}){return A.split(Ir6).map((B)=>{let J=B.trim().split(Wr6).filter((z)=>z&&!!z.trim()),D=[];for(let z=0,Z=J.length;z<Z;z+=1){let X=J[z],K=!1,G=-1;while(!K&&++G<i9A){let q=hf1[G],Y=q.isMultiMatch(X);if(Y)D.push(new q(Y,Q)),K=!0}if(K)continue;G=-1;while(++G<i9A){let q=hf1[G],Y=q.isSingleMatch(X);if(Y){D.push(new q(Y,Q));break}}}return D})}var Cr6=new Set([df1.type,if1.type]);class Z4A{constructor(A,{isCaseSensitive:Q=I8.isCaseSensitive,ignoreDiacritics:B=I8.ignoreDiacritics,includeMatches:J=I8.includeMatches,minMatchCharLength:D=I8.minMatchCharLength,ignoreLocation:z=I8.ignoreLocation,findAllMatches:Z=I8.findAllMatches,location:X=I8.location,threshold:K=I8.threshold,distance:G=I8.distance}={}){this.query=null,this.options={isCaseSensitive:Q,ignoreDiacritics:B,includeMatches:J,minMatchCharLength:D,findAllMatches:Z,ignoreLocation:z,location:X,threshold:K,distance:G},A=Q?A:A.toLowerCase(),A=B?$51(A):A,this.pattern=A,this.query=Nr6(this.pattern,this.options)}static condition(A,Q){return Q.useExtendedSearch}searchIn(A){let Q=this.query;if(!Q)return{isMatch:!1,score:1};let{includeMatches:B,isCaseSensitive:J,ignoreDiacritics:D}=this.options;A=J?A:A.toLowerCase(),A=D?$51(A):A;let z=0,Z=[],X=0;for(let K=0,G=Q.length;K<G;K+=1){let q=Q[K];Z.length=0,z=0;for(let Y=0,F=q.length;Y<F;Y+=1){let E=q[Y],{isMatch:w,indices:H,score:M}=E.search(A);if(w){if(z+=1,X+=M,B){let W=E.constructor.type;if(Cr6.has(W))Z=[...Z,...H];else Z.push(H)}}else{X=0,z=0,Z.length=0;break}}if(z){let Y={isMatch:!0,score:X/z};if(B)Y.indices=Z;return Y}}return{isMatch:!1,score:1}}}var mf1=[];function Vr6(...A){mf1.push(...A)}function uf1(A,Q){for(let B=0,J=mf1.length;B<J;B+=1){let D=mf1[B];if(D.condition(A,Q))return new D(A,Q)}return new lf1(A,Q)}var f51={AND:"$and",OR:"$or"},pf1={PATH:"$path",PATTERN:"$val"},cf1=(A)=>!!(A[f51.AND]||A[f51.OR]),Or6=(A)=>!!A[pf1.PATH],Rr6=(A)=>!pM(A)&&s9A(A)&&!cf1(A),a9A=(A)=>({[f51.AND]:Object.keys(A).map((Q)=>({[Q]:A[Q]}))});function X4A(A,Q,{auto:B=!0}={}){let J=(D)=>{let z=Object.keys(D),Z=Or6(D);if(!Z&&z.length>1&&!cf1(D))return J(a9A(D));if(Rr6(D)){let K=Z?D[pf1.PATH]:z[0],G=Z?D[pf1.PATTERN]:D[K];if(!$E(G))throw new Error(Jr6(K));let q={keyId:xf1(K),pattern:G};if(B)q.searcher=uf1(G,Q);return q}let X={children:[],operator:z[0]};return z.forEach((K)=>{let G=D[K];if(pM(G))G.forEach((q)=>{X.children.push(J(q))})}),X};if(!cf1(A))A=a9A(A);return J(A)}function Lr6(A,{ignoreFieldNorm:Q=I8.ignoreFieldNorm}){A.forEach((B)=>{let J=1;B.matches.forEach(({key:D,norm:z,score:Z})=>{let X=D?D.weight:null;J*=Math.pow(Z===0&&X?Number.EPSILON:Z,(X||1)*(Q?1:z))}),B.score=J})}function _r6(A,Q){let B=A.matches;if(Q.matches=[],!KK(B))return;B.forEach((J)=>{if(!KK(J.indices)||!J.indices.length)return;let{indices:D,value:z}=J,Z={indices:D,value:z};if(J.key)Z.key=J.key.src;if(J.idx>-1)Z.refIndex=J.idx;Q.matches.push(Z)})}function Tr6(A,Q){Q.score=A.score}function jr6(A,Q,{includeMatches:B=I8.includeMatches,includeScore:J=I8.includeScore}={}){let D=[];if(B)D.push(_r6);if(J)D.push(Tr6);return A.map((z)=>{let{idx:Z}=z,X={item:Q[Z],refIndex:Z};if(D.length)D.forEach((K)=>{K(z,X)});return X})}class cC{constructor(A,Q={},B){this.options={...I8,...Q},this.options.useExtendedSearch,this._keyStore=new o9A(this.options.keys),this.setCollection(A,B)}setCollection(A,Q){if(this._docs=A,Q&&!(Q instanceof k51))throw new Error(Br6);this._myIndex=Q||e9A(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(A){if(!KK(A))return;this._docs.push(A),this._myIndex.add(A)}remove(A=()=>!1){let Q=[];for(let B=0,J=this._docs.length;B<J;B+=1){let D=this._docs[B];if(A(D,B))this.removeAt(B),B-=1,J-=1,Q.push(D)}return Q}removeAt(A){this._docs.splice(A,1),this._myIndex.removeAt(A)}getIndex(){return this._myIndex}search(A,{limit:Q=-1}={}){let{includeMatches:B,includeScore:J,shouldSort:D,sortFn:z,ignoreFieldNorm:Z}=this.options,X=$E(A)?$E(this._docs[0])?this._searchStringList(A):this._searchObjectList(A):this._searchLogical(A);if(Lr6(X,{ignoreFieldNorm:Z}),D)X.sort(z);if(n9A(Q)&&Q>-1)X=X.slice(0,Q);return jr6(X,this._docs,{includeMatches:B,includeScore:J})}_searchStringList(A){let Q=uf1(A,this.options),{records:B}=this._myIndex,J=[];return B.forEach(({v:D,i:z,n:Z})=>{if(!KK(D))return;let{isMatch:X,score:K,indices:G}=Q.searchIn(D);if(X)J.push({item:D,idx:z,matches:[{score:K,value:D,norm:Z,indices:G}]})}),J}_searchLogical(A){let Q=X4A(A,this.options),B=(Z,X,K)=>{if(!Z.children){let{keyId:q,searcher:Y}=Z,F=this._findMatches({key:this._keyStore.get(q),value:this._myIndex.getValueForItemAtKeyId(X,q),searcher:Y});if(F&&F.length)return[{idx:K,item:X,matches:F}];return[]}let G=[];for(let q=0,Y=Z.children.length;q<Y;q+=1){let F=Z.children[q],E=B(F,X,K);if(E.length)G.push(...E);else if(Z.operator===f51.AND)return[]}return G},J=this._myIndex.records,D={},z=[];return J.forEach(({$:Z,i:X})=>{if(KK(Z)){let K=B(Q,Z,X);if(K.length){if(!D[X])D[X]={idx:X,item:Z,matches:[]},z.push(D[X]);K.forEach(({matches:G})=>{D[X].matches.push(...G)})}}}),z}_searchObjectList(A){let Q=uf1(A,this.options),{keys:B,records:J}=this._myIndex,D=[];return J.forEach(({$:z,i:Z})=>{if(!KK(z))return;let X=[];if(B.forEach((K,G)=>{X.push(...this._findMatches({key:K,value:z[G],searcher:Q}))}),X.length)D.push({idx:Z,item:z,matches:X})}),D}_findMatches({key:A,value:Q,searcher:B}){if(!KK(Q))return[];let J=[];if(pM(Q))Q.forEach(({v:D,i:z,n:Z})=>{if(!KK(D))return;let{isMatch:X,score:K,indices:G}=B.searchIn(D);if(X)J.push({score:K,key:A,value:D,idx:z,norm:Z,indices:G})});else{let{v:D,n:z}=Q,{isMatch:Z,score:X,indices:K}=B.searchIn(D);if(Z)J.push({score:X,key:A,value:D,norm:z,indices:K})}return J}}cC.version="7.1.0";cC.createIndex=e9A;cC.parseIndex=Er6;cC.config=I8;cC.parseQuery=X4A;Vr6(Z4A);import*as K4A from"node:readline";class af1{fuse;rootLevelFiles=[];constructor(){this.fuse=new cC([],{keys:["value"],includeScore:!0,location:0,threshold:0.7,distance:256,ignoreLocation:!0,findAllMatches:!0,isCaseSensitive:!1})}addFiles(A){for(let Q of A){let B={value:Q.toLowerCase(),original:Q};if(this.fuse.add(B),!Q.includes("/"))this.rootLevelFiles.push(Q)}}removeFiles(A){for(let Q of A)if(this.fuse.remove((B)=>B.value===Q),!Q.includes("/"))this.rootLevelFiles=this.rootLevelFiles.filter((B)=>B!==Q)}query(A,Q=50){if(!A.trim())return this.rootLevelFiles.slice(0,Q);return this.fuse.search(A,{limit:Q}).map((J)=>J.item.original)}handleMessage(A){try{let{id:Q,type:B}=A;switch(B){case"index:add":return this.addFiles(A.files||[]),{id:Q,type:"response",status:"ok"};case"index:remove":return this.removeFiles(A.files||[]),{id:Q,type:"response",status:"ok"};case"query":{let J=this.query(A.text||"");return{id:Q,type:"response",results:J}}default:return{id:Q,type:"error",message:`Unknown type: ${B}`}}}catch(Q){return{id:A.id,type:"error",message:Q instanceof Error?Q.message:String(Q)}}}start(){let A=K4A.createInterface({input:process.stdin,output:process.stdout,terminal:!1});A.on("line",(Q)=>{try{let B=JSON.parse(Q),J=this.handleMessage(B);process.stdout.write(JSON.stringify(J)+`
7345
+ `);G=F.pop()||"";for(let E of F)if(E.trim()&&q.length<gf1)q.push(E.trim());if(q.length>=gf1)K.kill("SIGTERM"),k1.debug(`File indexing stopped at ${gf1} files limit`)}),K.on("error",(Y)=>{k1.error("Ripgrep process error",Y),z(Y)}),K.on("exit",async(Y)=>{if(Y===null){k1.warn("Ripgrep process was terminated during file indexing");try{if(q.length>0)await A.addFiles(q),k1.debug(`Indexed ${q.length} files before termination`);D()}catch(F){z(F)}return}if(Y===0||Y===1)try{await A.addFiles(q),k1.debug(`Indexed ${q.length} files`),D()}catch(F){z(F)}else z(new Error(`Ripgrep exited with code ${Y}`))})});return Promise.race([J,new Promise((D,z)=>setTimeout(()=>z(new Error(`File indexing timed out after ${g9A/1000} seconds`)),g9A))])}function p9A(A,Q){let B=h9A.homedir();if(d3.resolve(Q)===d3.resolve(B))return k1.debug("Skipping file watching for home directory"),{[Symbol.dispose]:()=>{}};let J=[],D=new Set,z=null,Z=async()=>{if(D.size===0)return;let G=Array.from(D);D.clear();let q=[],Y=[];for(let F of G){let E=d3.join(Q,F);try{let w=await yf1.promises.lstat(E);if(w.isFile()||w.isSymbolicLink()&&!b9A(F))if(w.isSymbolicLink())try{await yf1.promises.stat(E),q.push(F)}catch(H){k1.debug("Skipping broken symlink",{file:F,error:H})}else q.push(F)}catch(w){if(w.code==="ENOENT")k1.debug("File not found during indexing",{file:F});else k1.debug("Error accessing file during indexing",{file:F,error:w});Y.push(F)}}try{if(q.length>0)await A.addFiles(q),k1.debug(`Added ${q.length} files to index`);if(Y.length>0)await A.removeFiles(Y),k1.debug(`Removed ${Y.length} files from index`)}catch(F){k1.error("Failed to update fuzzy server index",F)}},X=()=>{if(z)clearTimeout(z);z=setTimeout(Z,100)};return((G)=>{try{let q=yf1.watch(G,{recursive:!0},(Y,F)=>{if(!F)return;if(F.includes(".git/")||F===".git")return;if(k1.debug("File system event",{eventType:Y,filename:F,dirPath:G}),Y!=="rename"){k1.debug("Ignoring change event",{eventType:Y,filename:F});return}if(F.includes("/.")||F.startsWith("."))return;let E=d3.relative(Q,d3.join(G,F));if(E.startsWith(".."))return;if(b9A(E)){k1.debug("Skipping excluded path",{relativePath:E});return}D.add(E),X()});J.push(q),q.on("error",(Y)=>{k1.error(`File watcher error for ${G}`,Y)})}catch(q){k1.error(`Failed to watch directory ${G}`,q)}})(Q),{[Symbol.dispose]:()=>{if(z)clearTimeout(z);for(let G of J)G.close();J.length=0}}}function pM(A){return!Array.isArray?r9A(A)==="[object Array]":Array.isArray(A)}var os6=1/0;function ts6(A){if(typeof A=="string")return A;let Q=A+"";return Q=="0"&&1/A==-os6?"-0":Q}function es6(A){return A==null?"":ts6(A)}function $E(A){return typeof A==="string"}function n9A(A){return typeof A==="number"}function Ar6(A){return A===!0||A===!1||Qr6(A)&&r9A(A)=="[object Boolean]"}function s9A(A){return typeof A==="object"}function Qr6(A){return s9A(A)&&A!==null}function KK(A){return A!==void 0&&A!==null}function bf1(A){return!A.trim().length}function r9A(A){return A==null?A===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(A)}var Br6="Incorrect 'index' type",Jr6=(A)=>`Invalid value for key ${A}`,Dr6=(A)=>`Pattern length exceeds max of ${A}.`,zr6=(A)=>`Missing ${A} property in key`,Zr6=(A)=>`Property 'weight' in key '${A}' must be a positive integer`,c9A=Object.prototype.hasOwnProperty;class o9A{constructor(A){this._keys=[],this._keyMap={};let Q=0;A.forEach((B)=>{let J=t9A(B);this._keys.push(J),this._keyMap[J.id]=J,Q+=J.weight}),this._keys.forEach((B)=>{B.weight/=Q})}get(A){return this._keyMap[A]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function t9A(A){let Q=null,B=null,J=null,D=1,z=null;if($E(A)||pM(A))J=A,Q=l9A(A),B=xf1(A);else{if(!c9A.call(A,"name"))throw new Error(zr6("name"));let Z=A.name;if(J=Z,c9A.call(A,"weight")){if(D=A.weight,D<=0)throw new Error(Zr6(Z))}Q=l9A(Z),B=xf1(Z),z=A.getFn}return{path:Q,id:B,weight:D,src:J,getFn:z}}function l9A(A){return pM(A)?A:A.split(".")}function xf1(A){return pM(A)?A.join("."):A}function Xr6(A,Q){let B=[],J=!1,D=(z,Z,X)=>{if(!KK(z))return;if(!Z[X])B.push(z);else{let K=Z[X],G=z[K];if(!KK(G))return;if(X===Z.length-1&&($E(G)||n9A(G)||Ar6(G)))B.push(es6(G));else if(pM(G)){J=!0;for(let q=0,Y=G.length;q<Y;q+=1)D(G[q],Z,X+1)}else if(Z.length)D(G,Z,X+1)}};return D(A,$E(Q)?Q.split("."):Q,0),J?B:B[0]}var Kr6={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},Gr6={isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(A,Q)=>A.score===Q.score?A.idx<Q.idx?-1:1:A.score<Q.score?-1:1},qr6={location:0,threshold:0.6,distance:100},Yr6={useExtendedSearch:!1,getFn:Xr6,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},I8={...Gr6,...Kr6,...qr6,...Yr6},Ur6=/[^ ]+/g;function Fr6(A=1,Q=3){let B=new Map,J=Math.pow(10,Q);return{get(D){let z=D.match(Ur6).length;if(B.has(z))return B.get(z);let Z=1/Math.pow(z,0.5*A),X=parseFloat(Math.round(Z*J)/J);return B.set(z,X),X},clear(){B.clear()}}}class k51{constructor({getFn:A=I8.getFn,fieldNormWeight:Q=I8.fieldNormWeight}={}){this.norm=Fr6(Q,3),this.getFn=A,this.isCreated=!1,this.setIndexRecords()}setSources(A=[]){this.docs=A}setIndexRecords(A=[]){this.records=A}setKeys(A=[]){this.keys=A,this._keysMap={},A.forEach((Q,B)=>{this._keysMap[Q.id]=B})}create(){if(this.isCreated||!this.docs.length)return;if(this.isCreated=!0,$E(this.docs[0]))this.docs.forEach((A,Q)=>{this._addString(A,Q)});else this.docs.forEach((A,Q)=>{this._addObject(A,Q)});this.norm.clear()}add(A){let Q=this.size();if($E(A))this._addString(A,Q);else this._addObject(A,Q)}removeAt(A){this.records.splice(A,1);for(let Q=A,B=this.size();Q<B;Q+=1)this.records[Q].i-=1}getValueForItemAtKeyId(A,Q){return A[this._keysMap[Q]]}size(){return this.records.length}_addString(A,Q){if(!KK(A)||bf1(A))return;let B={v:A,i:Q,n:this.norm.get(A)};this.records.push(B)}_addObject(A,Q){let B={i:Q,$:{}};this.keys.forEach((J,D)=>{let z=J.getFn?J.getFn(A):this.getFn(A,J.path);if(!KK(z))return;if(pM(z)){let Z=[],X=[{nestedArrIndex:-1,value:z}];while(X.length){let{nestedArrIndex:K,value:G}=X.pop();if(!KK(G))continue;if($E(G)&&!bf1(G)){let q={v:G,i:K,n:this.norm.get(G)};Z.push(q)}else if(pM(G))G.forEach((q,Y)=>{X.push({nestedArrIndex:Y,value:q})})}B.$[D]=Z}else if($E(z)&&!bf1(z)){let Z={v:z,n:this.norm.get(z)};B.$[D]=Z}}),this.records.push(B)}toJSON(){return{keys:this.keys,records:this.records}}}function e9A(A,Q,{getFn:B=I8.getFn,fieldNormWeight:J=I8.fieldNormWeight}={}){let D=new k51({getFn:B,fieldNormWeight:J});return D.setKeys(A.map(t9A)),D.setSources(Q),D.create(),D}function Er6(A,{getFn:Q=I8.getFn,fieldNormWeight:B=I8.fieldNormWeight}={}){let{keys:J,records:D}=A,z=new k51({getFn:Q,fieldNormWeight:B});return z.setKeys(J),z.setIndexRecords(D),z}function v51(A,{errors:Q=0,currentLocation:B=0,expectedLocation:J=0,distance:D=I8.distance,ignoreLocation:z=I8.ignoreLocation}={}){let Z=Q/A.length;if(z)return Z;let X=Math.abs(J-B);if(!D)return X?1:Z;return Z+X/D}function wr6(A=[],Q=I8.minMatchCharLength){let B=[],J=-1,D=-1,z=0;for(let Z=A.length;z<Z;z+=1){let X=A[z];if(X&&J===-1)J=z;else if(!X&&J!==-1){if(D=z-1,D-J+1>=Q)B.push([J,D]);J=-1}}if(A[z-1]&&z-J>=Q)B.push([J,z-1]);return B}var i3=32;function Hr6(A,Q,B,{location:J=I8.location,distance:D=I8.distance,threshold:z=I8.threshold,findAllMatches:Z=I8.findAllMatches,minMatchCharLength:X=I8.minMatchCharLength,includeMatches:K=I8.includeMatches,ignoreLocation:G=I8.ignoreLocation}={}){if(Q.length>i3)throw new Error(Dr6(i3));let q=Q.length,Y=A.length,F=Math.max(0,Math.min(J,Y)),E=z,w=F,H=X>1||K,M=H?Array(Y):[],W;while((W=A.indexOf(Q,w))>-1){let R=v51(Q,{currentLocation:W,expectedLocation:F,distance:D,ignoreLocation:G});if(E=Math.min(R,E),w=W+q,H){let j=0;while(j<q)M[W+j]=1,j+=1}}w=-1;let I=[],N=1,V=q+Y,_=1<<q-1;for(let R=0;R<q;R+=1){let j=0,P=V;while(j<P){if(v51(Q,{errors:R,currentLocation:F+P,expectedLocation:F,distance:D,ignoreLocation:G})<=E)j=P;else V=P;P=Math.floor((V-j)/2+j)}V=P;let $=Math.max(1,F-P+1),f=Z?Y:Math.min(F+P,Y)+q,m=Array(f+2);m[f+1]=(1<<R)-1;for(let v=f;v>=$;v-=1){let g=v-1,b=B[A.charAt(g)];if(H)M[g]=+!!b;if(m[v]=(m[v+1]<<1|1)&b,R)m[v]|=(I[v+1]|I[v])<<1|1|I[v+1];if(m[v]&_){if(N=v51(Q,{errors:R,currentLocation:g,expectedLocation:F,distance:D,ignoreLocation:G}),N<=E){if(E=N,w=g,w<=F)break;$=Math.max(1,2*F-w)}}}if(v51(Q,{errors:R+1,currentLocation:F,expectedLocation:F,distance:D,ignoreLocation:G})>E)break;I=m}let T={isMatch:w>=0,score:Math.max(0.001,N)};if(H){let R=wr6(M,X);if(!R.length)T.isMatch=!1;else if(K)T.indices=R}return T}function Mr6(A){let Q={};for(let B=0,J=A.length;B<J;B+=1){let D=A.charAt(B);Q[D]=(Q[D]||0)|1<<J-B-1}return Q}var $51=String.prototype.normalize?(A)=>A.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,""):(A)=>A;class lf1{constructor(A,{location:Q=I8.location,threshold:B=I8.threshold,distance:J=I8.distance,includeMatches:D=I8.includeMatches,findAllMatches:z=I8.findAllMatches,minMatchCharLength:Z=I8.minMatchCharLength,isCaseSensitive:X=I8.isCaseSensitive,ignoreDiacritics:K=I8.ignoreDiacritics,ignoreLocation:G=I8.ignoreLocation}={}){if(this.options={location:Q,threshold:B,distance:J,includeMatches:D,findAllMatches:z,minMatchCharLength:Z,isCaseSensitive:X,ignoreDiacritics:K,ignoreLocation:G},A=X?A:A.toLowerCase(),A=K?$51(A):A,this.pattern=A,this.chunks=[],!this.pattern.length)return;let q=(F,E)=>{this.chunks.push({pattern:F,alphabet:Mr6(F),startIndex:E})},Y=this.pattern.length;if(Y>i3){let F=0,E=Y%i3,w=Y-E;while(F<w)q(this.pattern.substr(F,i3),F),F+=i3;if(E){let H=Y-i3;q(this.pattern.substr(H),H)}}else q(this.pattern,0)}searchIn(A){let{isCaseSensitive:Q,ignoreDiacritics:B,includeMatches:J}=this.options;if(A=Q?A:A.toLowerCase(),A=B?$51(A):A,this.pattern===A){let w={isMatch:!0,score:0};if(J)w.indices=[[0,A.length-1]];return w}let{location:D,distance:z,threshold:Z,findAllMatches:X,minMatchCharLength:K,ignoreLocation:G}=this.options,q=[],Y=0,F=!1;this.chunks.forEach(({pattern:w,alphabet:H,startIndex:M})=>{let{isMatch:W,score:I,indices:N}=Hr6(A,w,H,{location:D+M,distance:z,threshold:Z,findAllMatches:X,minMatchCharLength:K,includeMatches:J,ignoreLocation:G});if(W)F=!0;if(Y+=I,W&&N)q=[...q,...N]});let E={isMatch:F,score:F?Y/this.chunks.length:1};if(F&&J)E.indices=q;return E}}class cM{constructor(A){this.pattern=A}static isMultiMatch(A){return d9A(A,this.multiRegex)}static isSingleMatch(A){return d9A(A,this.singleRegex)}search(){}}function d9A(A,Q){let B=A.match(Q);return B?B[1]:null}class A4A extends cM{constructor(A){super(A)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(A){let Q=A===this.pattern;return{isMatch:Q,score:Q?0:1,indices:[0,this.pattern.length-1]}}}class Q4A extends cM{constructor(A){super(A)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(A){let B=A.indexOf(this.pattern)===-1;return{isMatch:B,score:B?0:1,indices:[0,A.length-1]}}}class B4A extends cM{constructor(A){super(A)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(A){let Q=A.startsWith(this.pattern);return{isMatch:Q,score:Q?0:1,indices:[0,this.pattern.length-1]}}}class J4A extends cM{constructor(A){super(A)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(A){let Q=!A.startsWith(this.pattern);return{isMatch:Q,score:Q?0:1,indices:[0,A.length-1]}}}class D4A extends cM{constructor(A){super(A)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(A){let Q=A.endsWith(this.pattern);return{isMatch:Q,score:Q?0:1,indices:[A.length-this.pattern.length,A.length-1]}}}class z4A extends cM{constructor(A){super(A)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(A){let Q=!A.endsWith(this.pattern);return{isMatch:Q,score:Q?0:1,indices:[0,A.length-1]}}}class df1 extends cM{constructor(A,{location:Q=I8.location,threshold:B=I8.threshold,distance:J=I8.distance,includeMatches:D=I8.includeMatches,findAllMatches:z=I8.findAllMatches,minMatchCharLength:Z=I8.minMatchCharLength,isCaseSensitive:X=I8.isCaseSensitive,ignoreDiacritics:K=I8.ignoreDiacritics,ignoreLocation:G=I8.ignoreLocation}={}){super(A);this._bitapSearch=new lf1(A,{location:Q,threshold:B,distance:J,includeMatches:D,findAllMatches:z,minMatchCharLength:Z,isCaseSensitive:X,ignoreDiacritics:K,ignoreLocation:G})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(A){return this._bitapSearch.searchIn(A)}}class if1 extends cM{constructor(A){super(A)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(A){let Q=0,B,J=[],D=this.pattern.length;while((B=A.indexOf(this.pattern,Q))>-1)Q=B+D,J.push([B,Q-1]);let z=!!J.length;return{isMatch:z,score:z?0:1,indices:J}}}var hf1=[A4A,if1,B4A,J4A,z4A,D4A,Q4A,df1],i9A=hf1.length,Wr6=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,Ir6="|";function Nr6(A,Q={}){return A.split(Ir6).map((B)=>{let J=B.trim().split(Wr6).filter((z)=>z&&!!z.trim()),D=[];for(let z=0,Z=J.length;z<Z;z+=1){let X=J[z],K=!1,G=-1;while(!K&&++G<i9A){let q=hf1[G],Y=q.isMultiMatch(X);if(Y)D.push(new q(Y,Q)),K=!0}if(K)continue;G=-1;while(++G<i9A){let q=hf1[G],Y=q.isSingleMatch(X);if(Y){D.push(new q(Y,Q));break}}}return D})}var Cr6=new Set([df1.type,if1.type]);class Z4A{constructor(A,{isCaseSensitive:Q=I8.isCaseSensitive,ignoreDiacritics:B=I8.ignoreDiacritics,includeMatches:J=I8.includeMatches,minMatchCharLength:D=I8.minMatchCharLength,ignoreLocation:z=I8.ignoreLocation,findAllMatches:Z=I8.findAllMatches,location:X=I8.location,threshold:K=I8.threshold,distance:G=I8.distance}={}){this.query=null,this.options={isCaseSensitive:Q,ignoreDiacritics:B,includeMatches:J,minMatchCharLength:D,findAllMatches:Z,ignoreLocation:z,location:X,threshold:K,distance:G},A=Q?A:A.toLowerCase(),A=B?$51(A):A,this.pattern=A,this.query=Nr6(this.pattern,this.options)}static condition(A,Q){return Q.useExtendedSearch}searchIn(A){let Q=this.query;if(!Q)return{isMatch:!1,score:1};let{includeMatches:B,isCaseSensitive:J,ignoreDiacritics:D}=this.options;A=J?A:A.toLowerCase(),A=D?$51(A):A;let z=0,Z=[],X=0;for(let K=0,G=Q.length;K<G;K+=1){let q=Q[K];Z.length=0,z=0;for(let Y=0,F=q.length;Y<F;Y+=1){let E=q[Y],{isMatch:w,indices:H,score:M}=E.search(A);if(w){if(z+=1,X+=M,B){let W=E.constructor.type;if(Cr6.has(W))Z=[...Z,...H];else Z.push(H)}}else{X=0,z=0,Z.length=0;break}}if(z){let Y={isMatch:!0,score:X/z};if(B)Y.indices=Z;return Y}}return{isMatch:!1,score:1}}}var mf1=[];function Vr6(...A){mf1.push(...A)}function uf1(A,Q){for(let B=0,J=mf1.length;B<J;B+=1){let D=mf1[B];if(D.condition(A,Q))return new D(A,Q)}return new lf1(A,Q)}var f51={AND:"$and",OR:"$or"},pf1={PATH:"$path",PATTERN:"$val"},cf1=(A)=>!!(A[f51.AND]||A[f51.OR]),Or6=(A)=>!!A[pf1.PATH],Rr6=(A)=>!pM(A)&&s9A(A)&&!cf1(A),a9A=(A)=>({[f51.AND]:Object.keys(A).map((Q)=>({[Q]:A[Q]}))});function X4A(A,Q,{auto:B=!0}={}){let J=(D)=>{let z=Object.keys(D),Z=Or6(D);if(!Z&&z.length>1&&!cf1(D))return J(a9A(D));if(Rr6(D)){let K=Z?D[pf1.PATH]:z[0],G=Z?D[pf1.PATTERN]:D[K];if(!$E(G))throw new Error(Jr6(K));let q={keyId:xf1(K),pattern:G};if(B)q.searcher=uf1(G,Q);return q}let X={children:[],operator:z[0]};return z.forEach((K)=>{let G=D[K];if(pM(G))G.forEach((q)=>{X.children.push(J(q))})}),X};if(!cf1(A))A=a9A(A);return J(A)}function Lr6(A,{ignoreFieldNorm:Q=I8.ignoreFieldNorm}){A.forEach((B)=>{let J=1;B.matches.forEach(({key:D,norm:z,score:Z})=>{let X=D?D.weight:null;J*=Math.pow(Z===0&&X?Number.EPSILON:Z,(X||1)*(Q?1:z))}),B.score=J})}function _r6(A,Q){let B=A.matches;if(Q.matches=[],!KK(B))return;B.forEach((J)=>{if(!KK(J.indices)||!J.indices.length)return;let{indices:D,value:z}=J,Z={indices:D,value:z};if(J.key)Z.key=J.key.src;if(J.idx>-1)Z.refIndex=J.idx;Q.matches.push(Z)})}function Tr6(A,Q){Q.score=A.score}function jr6(A,Q,{includeMatches:B=I8.includeMatches,includeScore:J=I8.includeScore}={}){let D=[];if(B)D.push(_r6);if(J)D.push(Tr6);return A.map((z)=>{let{idx:Z}=z,X={item:Q[Z],refIndex:Z};if(D.length)D.forEach((K)=>{K(z,X)});return X})}class cC{constructor(A,Q={},B){this.options={...I8,...Q},this.options.useExtendedSearch,this._keyStore=new o9A(this.options.keys),this.setCollection(A,B)}setCollection(A,Q){if(this._docs=A,Q&&!(Q instanceof k51))throw new Error(Br6);this._myIndex=Q||e9A(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(A){if(!KK(A))return;this._docs.push(A),this._myIndex.add(A)}remove(A=()=>!1){let Q=[];for(let B=0,J=this._docs.length;B<J;B+=1){let D=this._docs[B];if(A(D,B))this.removeAt(B),B-=1,J-=1,Q.push(D)}return Q}removeAt(A){this._docs.splice(A,1),this._myIndex.removeAt(A)}getIndex(){return this._myIndex}search(A,{limit:Q=-1}={}){let{includeMatches:B,includeScore:J,shouldSort:D,sortFn:z,ignoreFieldNorm:Z}=this.options,X=$E(A)?$E(this._docs[0])?this._searchStringList(A):this._searchObjectList(A):this._searchLogical(A);if(Lr6(X,{ignoreFieldNorm:Z}),D)X.sort(z);if(n9A(Q)&&Q>-1)X=X.slice(0,Q);return jr6(X,this._docs,{includeMatches:B,includeScore:J})}_searchStringList(A){let Q=uf1(A,this.options),{records:B}=this._myIndex,J=[];return B.forEach(({v:D,i:z,n:Z})=>{if(!KK(D))return;let{isMatch:X,score:K,indices:G}=Q.searchIn(D);if(X)J.push({item:D,idx:z,matches:[{score:K,value:D,norm:Z,indices:G}]})}),J}_searchLogical(A){let Q=X4A(A,this.options),B=(Z,X,K)=>{if(!Z.children){let{keyId:q,searcher:Y}=Z,F=this._findMatches({key:this._keyStore.get(q),value:this._myIndex.getValueForItemAtKeyId(X,q),searcher:Y});if(F&&F.length)return[{idx:K,item:X,matches:F}];return[]}let G=[];for(let q=0,Y=Z.children.length;q<Y;q+=1){let F=Z.children[q],E=B(F,X,K);if(E.length)G.push(...E);else if(Z.operator===f51.AND)return[]}return G},J=this._myIndex.records,D={},z=[];return J.forEach(({$:Z,i:X})=>{if(KK(Z)){let K=B(Q,Z,X);if(K.length){if(!D[X])D[X]={idx:X,item:Z,matches:[]},z.push(D[X]);K.forEach(({matches:G})=>{D[X].matches.push(...G)})}}}),z}_searchObjectList(A){let Q=uf1(A,this.options),{keys:B,records:J}=this._myIndex,D=[];return J.forEach(({$:z,i:Z})=>{if(!KK(z))return;let X=[];if(B.forEach((K,G)=>{X.push(...this._findMatches({key:K,value:z[G],searcher:Q}))}),X.length)D.push({idx:Z,item:z,matches:X})}),D}_findMatches({key:A,value:Q,searcher:B}){if(!KK(Q))return[];let J=[];if(pM(Q))Q.forEach(({v:D,i:z,n:Z})=>{if(!KK(D))return;let{isMatch:X,score:K,indices:G}=B.searchIn(D);if(X)J.push({score:K,key:A,value:D,idx:z,norm:Z,indices:G})});else{let{v:D,n:z}=Q,{isMatch:Z,score:X,indices:K}=B.searchIn(D);if(Z)J.push({score:X,key:A,value:D,norm:z,indices:K})}return J}}cC.version="7.1.0";cC.createIndex=e9A;cC.parseIndex=Er6;cC.config=I8;cC.parseQuery=X4A;Vr6(Z4A);import*as K4A from"node:readline";class af1{fuse;rootLevelFiles=[];constructor(){this.fuse=new cC([],{keys:["value"],includeScore:!0,location:0,threshold:0.7,distance:256,ignoreLocation:!0,findAllMatches:!0,isCaseSensitive:!1})}addFiles(A){for(let Q of A){let B={value:Q.toLowerCase(),original:Q};if(this.fuse.add(B),!Q.includes("/"))this.rootLevelFiles.push(Q)}}removeFiles(A){for(let Q of A)if(this.fuse.remove((B)=>B.value===Q),!Q.includes("/"))this.rootLevelFiles=this.rootLevelFiles.filter((B)=>B!==Q)}query(A,Q=50){if(!A.trim())return this.rootLevelFiles.slice(0,Q);return this.fuse.search(A,{limit:Q}).map((J)=>J.item.original)}handleMessage(A){try{let{id:Q,type:B}=A;switch(B){case"index:add":return this.addFiles(A.files||[]),{id:Q,type:"response",status:"ok"};case"index:remove":return this.removeFiles(A.files||[]),{id:Q,type:"response",status:"ok"};case"query":{let J=this.query(A.text||"");return{id:Q,type:"response",results:J}}default:return{id:Q,type:"error",message:`Unknown type: ${B}`}}}catch(Q){return{id:A.id,type:"error",message:Q instanceof Error?Q.message:String(Q)}}}start(){let A=K4A.createInterface({input:process.stdin,output:process.stdout,terminal:!1});A.on("line",(Q)=>{try{let B=JSON.parse(Q),J=this.handleMessage(B);process.stdout.write(JSON.stringify(J)+`
7346
7346
  `)}catch(B){process.stderr.write(JSON.stringify({id:-1,type:"error",message:`Parse error: ${B instanceof Error?B.message:String(B)}`})+`
7347
7347
  `)}}),A.on("close",()=>{process.exit(0)})}}$2();hk();import{exec as Pr6}from"node:child_process";import{createServer as G4A}from"node:http";import{platform as Sr6}from"node:os";import{promisify as vr6}from"node:util";var nf1=vr6(Pr6),y51=null;async function q4A(A=hK,Q){y51=await $r6(35789);let B=`${y51}`;return k1.info(`Generated callback port: ${B}`),`${A.endsWith("/")?A.slice(0,-1):A}/auth/cli-login?authToken=${encodeURIComponent(Q)}&callbackPort=${encodeURIComponent(B)}`}async function $r6(A,Q=10){k1.info(`Finding available port starting from ${A}`);for(let B=0;B<Q;B++){let J=A+B;try{return await new Promise((D,z)=>{let Z=G4A();Z.once("error",(X)=>{if(X.code==="EADDRINUSE")z(new Error(`Port ${J} is in use`));else z(X)}),Z.once("listening",()=>{Z.close(()=>D())}),Z.listen(J,"127.0.0.1")}),k1.info(`Found available port: ${J}`),J}catch(D){k1.info(`Port ${J} is in use, trying port ${J+1}`);continue}}throw new Error(`Could not find an available port after ${Q} attempts`)}async function Y4A(A,Q=300000){if(k1.info("Starting local HTTP server to receive API key from browser"),!y51)throw new Error("No port selected. Call generateLoginLink first.");let B=y51;return k1.info(`Using selected port: ${B}`),new Promise((J,D)=>{let z=G4A((X,K)=>{if(K.setHeader("Access-Control-Allow-Origin","ampcode.com"),K.setHeader("Access-Control-Allow-Methods","GET"),X.url?.startsWith("/auth/callback")){let q=new URL(X.url,`http://127.0.0.1:${B}`),Y=q.searchParams.get("apiKey");if(q.searchParams.get("authToken")!==A){D(new Error("Invalid authentication token"));return}if(Y)k1.info(`Received API key from server: ${Y.substring(0,8)}...`),K.writeHead(200,{"Content-Type":"text/html"}),K.end(`
7348
7348
  \t\t\t\t\t\t<!DOCTYPE html>
@@ -7410,7 +7410,7 @@ ${B.join(`
7410
7410
  `)}function br6(A,Q){if(A.state!=="active")return{type:"idle"};let B=lC(Q);if(B)return B;if(A.state==="active"){let J=[];for(let D of Q.messages)if(D.role==="user"){for(let z of D.content)if(z.type==="tool_result"&&z.run.status==="in-progress")J.push(z)}if(J.length>0){let D=J[0],z=y7(Q,D.toolUseID);if(z){let Z=J.slice(1).map((X)=>{return y7(Q,X.toolUseID)?.name||"tool"}).filter(Boolean);return b51(z.name,J.length,Date.now(),z.input,Z.length>0?Z:void 0)}}}return{type:"idle"}}class ef1{dependencies;subthreads=new Map;nextAgentNumber=1;events=new C8;constructor(A){this.dependencies=A}get events$(){return this.events}async trackSubthread(A,Q,B){if(this.subthreads.has(A))return;try{let J=await sZ.getOrCreateForThread({configService:this.dependencies.configService,threadService:this.dependencies.threadService,toolService:this.dependencies.toolService,getThreadEnvironment:Nf,systemPromptService:this.dependencies.systemPromptService,threadSummaryService:this.dependencies.threadSummaryService,createFileSystem:await Rd,threadHistoryService:this.dependencies.threadHistoryService,mcpService:this.dependencies.mcpService},A);await J.resume();let D=this.nextAgentNumber++,z={threadID:A,worker:J,agentNumber:D,printedMessageIndexes:new Set,printedToolRuns:new Set,requestedToolConfirmations:new Set,taskDescription:Q,isCompleted:!1};if(this.subthreads.set(A,z),Q&&B)this.events.next({type:"subagent-started",subThreadID:A,agentNumber:D,taskDescription:Q,taskPrompt:B});J.status.subscribe(async(X)=>{if(!z.isCompleted){if(X.state==="active"&&X.inferenceState==="cancelled"){z.isCompleted=!0,this.events.next({type:"subagent-cancelled",subThreadID:A,agentNumber:z.agentNumber,taskDescription:z.taskDescription||"Task cancelled"});return}if(X.state==="active"&&X.ephemeralError){z.isCompleted=!0,this.events.next({type:"subagent-error",subThreadID:A,agentNumber:z.agentNumber,taskDescription:z.taskDescription||"Task failed",error:X.ephemeralError.message||"Unknown error occurred"});return}try{let K=await l6(this.dependencies.threadService.observe(A).pipe(t7((G)=>G!==void 0)));if(K){let G=br6(X,K);if(this.events.next({type:"subagent-status",subThreadID:A,agentNumber:z.agentNumber,taskDescription:z.taskDescription||"Running task",agentState:G}),X.state==="active"){let q=[];for(let Y of K.messages)if(Y.role==="user"){for(let F of Y.content)if(F.type==="tool_result"&&F.run.status==="in-progress")q.push(F)}for(let Y of q){let F=y7(K,Y.toolUseID);if(F){let E=`${A}-${F.id}`;if(!z.toolStartTimes)z.toolStartTimes=new Map;if(!z.toolStartTimes.has(E))z.toolStartTimes.set(E,Date.now());this.events.next({type:"tool-status",toolUse:F,status:"running",startTime:z.toolStartTimes.get(E),subthreadID:A})}}}}}catch(K){k1.error(`Failed to get thread for status update: ${A}`,K)}}}),gW(this.dependencies.threadService.observe(A).pipe(t7((X)=>X!==void 0))).observable.subscribe((X)=>{if(!X)return;let K=wz(X,"assistant");if(ha(K)&&!z.isCompleted){z.isCompleted=!0,this.events.next({type:"subagent-cancelled",subThreadID:A,agentNumber:z.agentNumber,taskDescription:z.taskDescription||"Task cancelled"});return}if(K?.state?.type==="error"&&!z.isCompleted){z.isCompleted=!0,this.events.next({type:"subagent-error",subThreadID:A,agentNumber:z.agentNumber,taskDescription:z.taskDescription||"Task failed",error:K.state.error.message||"Unknown error occurred"});return}for(let F of X.messages)if(F.role==="user"){for(let E of F.content)if(E.type==="tool_result"){let w=y7(X,E.toolUseID);if(w&&!z.printedToolRuns.has(E.toolUseID)){let H=E.run.status==="done"?"completed":E.run.status==="error"?"error":E.run.status==="cancelled"?"cancelled":void 0;if(H){z.printedToolRuns.add(E.toolUseID);let M=`${A}-${w.id}`,W=z.toolStartTimes?.get(M);if(this.events.next({type:"tool-status",toolUse:w,status:H,startTime:W,endTime:Date.now(),subthreadID:A}),z.toolStartTimes)z.toolStartTimes.delete(M)}}}}let q=wz(X,"user")?.content.filter((F)=>F.type==="tool_result"&&F.run.status==="blocked-on-user")??[];if(q.length>0&&!z.isCompleted){let F=[];for(let E of q){let w=y7(X,E.toolUseID);if(w&&w.name===o4&&E.run.status==="blocked-on-user"&&E.userInput===void 0&&!z.requestedToolConfirmations.has(E.toolUseID))F.push({useBlock:w,toAllow:E.run.toAllow}),z.requestedToolConfirmations.add(E.toolUseID)}if(F.length>0)this.events.next({type:"subthread-tool-request",subThreadID:A,agentNumber:z.agentNumber,taskDescription:z.taskDescription||"Running task",tools:F})}if(K?.state.type==="complete"&&K?.state.stopReason==="end_turn"&&!z.isCompleted){z.isCompleted=!0;let F=K.content.filter((E)=>E.type==="text").map((E)=>E.text).join(`
7411
7411
 
7412
7412
  `);this.events.next({type:"subagent-finished",subThreadID:A,agentNumber:z.agentNumber,taskDescription:z.taskDescription||"Task completed",result:F})}if(!z.isCompleted){let F=gf(X,z.printedMessageIndexes,z.printedToolRuns);if(F.blocks.length>0)this.events.next({type:"subthread-message",subThreadID:A,agentNumber:z.agentNumber,blocks:F.blocks})}}),k1.debug(`Started tracking subthread ${A}`)}catch(J){k1.error(`Failed to track subthread ${A}`,J)}}scanForTaskToolSubthreads(A){for(let Q of A.messages)if(Q.role==="user"){for(let B of Q.content)if(B.type==="tool_result"){let J=y7(A,B.toolUseID);if(J?.name===FQ&&(B.run.status==="in-progress"||B.run.status==="done"||B.run.status==="cancelled")){let D="progress"in B.run?B.run.progress:void 0,z=ly(D);if(z)this.trackSubthread(z,J.input?.description,J.input?.prompt).catch((Z)=>{k1.error(`Failed to track Task tool subthread ${z}`,Z)})}}}}async handleToolConfirmations(A,Q){let B=this.subthreads.get(A);if(!B){k1.error(`No tracker found for subthread ${A}`);return}k1.info(`Sending tool confirmations to subthread ${A}`,{toolCount:Q.size,responses:Array.from(Q.entries()).map(([J,D])=>({id:J,accepted:D}))});for(let[J,D]of Q)k1.info("Sending tool confirmation to subthread worker",{subThreadID:A,toolUseID:J,accepted:D}),await B.worker.handle({type:"user:tool-input",toolUse:J,value:{accepted:D}})}dispose(){for(let A of this.subthreads.values())A.worker.dispose();this.subthreads.clear(),this.events.complete()}}$2();function M4A(A){let Q=["prompt is too long","exceed context limit"],B=A.error?.type==="invalid_request_error"&&Q.some((D)=>A.error?.message?.includes(D)),J=Q.some((D)=>A.message?.includes(D));return B||J}var W4A="Out of credits";Hz();ql();va();D2();x51();AK();Q81();nL();import{readdir as xr6}from"node:fs/promises";import{homedir as hr6}from"node:os";async function I4A(A,Q){let J=!(await B81(A,Q)).some((z)=>z.type==="project"),D=await mr6();return{shouldGenerate:J&&D}}async function mr6(){let A=process.cwd(),Q=hr6();if(A===Q)return!1;try{return(await xr6(A)).length>0}catch{return!1}}async function N4A(A){await A.handle({type:"user:message",message:{content:[{type:"text",text:mu0}]}})}$2();function n3(A,Q){return(B,J)=>{let D=Q(B,J);if(J.type!=="tick")k1.debug("Transition",{name:A,before:B,event:J,after:D});return D}}$2();import{spawn as V4A}from"node:child_process";import{readlink as ur6,stat as pr6}from"node:fs/promises";import{dirname as C4A,join as cr6}from"node:path";async function O4A(A){try{let Q=new AbortController,B=setTimeout(()=>Q.abort(),500),J=await fetch("https://registry.npmjs.org/@sourcegraph/amp/latest",{signal:Q.signal});if(clearTimeout(B),!J.ok)return{hasUpdate:!1};let z=(await J.json()).version;if(z===void 0)return{hasUpdate:!1};let Z=lr6(A,z),X=Z<0;return k1.info("Version comparison",{currentVersion:A,latestVersion:z,compareResult:Z,hasUpdate:X}),{hasUpdate:X,latestVersion:z}}catch(Q){return{hasUpdate:!1}}}function lr6(A,Q){let B=(Z)=>{let[X,K]=Z.split("-");return{parts:X?.split(".").map(Number)||[],label:K}},J=B(A),D=B(Q),z=Math.max(J.parts.length,D.parts.length);for(let Z=0;Z<z;Z++){let X=J.parts[Z]||0,K=D.parts[Z]||0;if(X<K)return-1;if(X>K)return 1}if(J.label===D.label)return 0;if(!J.label&&D.label)return 1;if(J.label&&!D.label)return-1;if(J.label&&D.label)return J.label<D.label?-1:1;return 0}async function dr6(){try{let A=process.argv[1]||"";k1.debug("Detecting package manager from script path",{currentScript:A});let Q=A;try{let z=await ur6(A);if(z)Q=z,k1.debug("Resolved symlink",{from:A,to:Q});else k1.debug("Not a symlink or readlink returned empty")}catch(z){k1.debug("Error reading symlink (probably not a symlink)",{error:z})}if(k1.debug("Resolved installation path",{actualPath:Q}),Q.includes("/.local/share/pnpm/"))return k1.debug("Detected pnpm from path pattern: /.local/share/pnpm/"),"pnpm";if(Q.includes("/.config/yarn/global/"))return k1.debug("Detected yarn from path pattern: /.config/yarn/global/"),"yarn";if(Q.includes("/.bun/install/global/"))return k1.debug("Detected bun from path pattern: /.bun/install/global/"),"bun";if(Q.includes("/node_modules/@sourcegraph/amp/")){if(k1.debug("Found generic node_modules path, checking for specific patterns"),Q.includes("/.local/share/pnpm/"))return k1.debug("Detected pnpm from node_modules with pnpm-specific path"),"pnpm";if(Q.includes("/.config/yarn/"))return k1.debug("Detected yarn from node_modules with yarn-specific path"),"yarn";if(Q.includes("/.bun/"))return k1.debug("Detected bun from node_modules with bun-specific path"),"bun";return k1.debug("Defaulting to npm for generic node_modules path"),"npm"}k1.debug("No path pattern matched, checking installation directory for lockfiles");let B=C4A(C4A(Q));k1.debug("Checking installation directory",{installDir:B});let J=[{file:"pnpm-lock.yaml",manager:"pnpm"},{file:"yarn.lock",manager:"yarn"},{file:"bun.lockb",manager:"bun"},{file:"package-lock.json",manager:"npm"}];for(let{file:z,manager:Z}of J)try{let X=cr6(B,z);return k1.debug("Checking for lockfile",{filePath:X}),await pr6(X),k1.debug("Found package manager lockfile",{file:z,manager:Z,filePath:X}),Z}catch(X){k1.debug("Lockfile not found",{file:z,error:X})}k1.debug("No lockfiles found, falling back to environment-based detection");let D=await R4A();return k1.debug("Environment-based detection result",{envDetected:D}),D}catch(A){return k1.debug("Error detecting installed package manager",{error:A}),null}}async function R4A(){let A=process.env.npm_config_user_agent;if(A){if(A.includes("pnpm"))return"pnpm";if(A.includes("yarn"))return"yarn";if(A.includes("bun"))return"bun";if(A.includes("npm"))return"npm"}if(process.env.PNPM_HOME||process.env.PNPM_SCRIPT_SRC_DIR)return"pnpm";if(process.env.YARN_WRAP_OUTPUT||process.env.YARNPKG_LOCKFILE_VERSION)return"yarn";if(process.env.BUN_INSTALL)return"bun";let[Q,B,J,D]=await Promise.allSettled([h51("pnpm"),h51("yarn"),h51("bun"),h51("npm")]);if(Q?.status==="fulfilled"&&Q?.value)return"pnpm";if(B?.status==="fulfilled"&&B?.value)return"yarn";if(J?.status==="fulfilled"&&J?.value)return"bun";if(D?.status==="fulfilled"&&D?.value)return"npm";return null}async function h51(A){return new Promise((Q)=>{try{let B=process.env.HOME||process.env.USERPROFILE||"/",D=`env -i ${process.env.SHELL||"/bin/sh"} -l -c 'cd ${B} && ${A} --version'`;k1.debug("Checking command existence",{command:A,fullCommand:D});let z=V4A("/bin/sh",["-c",D],{stdio:"ignore",cwd:process.env.HOME});z.on("close",(Z)=>{k1.debug("Command check result",{command:A,code:Z}),Q(Z===0)}),z.on("error",(Z)=>{k1.debug("Command check error",{command:A,error:Z}),Q(!1)})}catch(B){k1.debug("Error checking command existencer",{command:A,error:B}),Q(!1)}})}function ir6(A,Q){let B=Q?`@sourcegraph/amp@${Q}`:"@sourcegraph/amp";switch(A){case"pnpm":return["pnpm",["add","-g",B]];case"yarn":return["yarn",["global","add",B]];case"bun":return["bun",["add","-g",B]];case"npm":default:return["npm",["install","-g",B]]}}async function L4A(A){let Q=await dr6();if(!Q)Q=await R4A();if(!Q)Q="npm",k1.debug("Falling back to npm for update");k1.debug("Using package manager for update",{packageManager:Q,targetVersion:A});let[B,J]=ir6(Q,A);return new Promise((D,z)=>{let Z=process.env.HOME||process.env.USERPROFILE||"/",X=process.env.SHELL||"/bin/sh",K=`${B} ${J.join(" ")}`,G=`env -i ${X} -l -c 'cd ${Z} && ${K}'`;k1.debug("Running update command",{packageManager:Q,command:B,args:J,fullCommand:G});let q=V4A("/bin/sh",["-c",G],{stdio:"pipe",cwd:process.env.HOME}),Y="",F="";q.stdout?.on("data",(E)=>{Y+=E.toString()}),q.stderr?.on("data",(E)=>{F+=E.toString()}),q.on("close",(E)=>{if(E===0)D();else{let w=F||Y||"No output";z(new Error(`${B} ${J.join(" ")} failed with code ${E}:
7413
- ${w}`))}}),q.on("error",(E)=>{z(new Error(`Failed to spawn ${B}: ${E.message}`))})})}async function _4A({threadSyncService:A,configService:Q,threadService:B,threadHistoryService:J,mcpService:D,fileWatcher:z,fuzzyServer:Z,summaryService:X,settingsStorage:K,threadStorage:G,toolService:q,systemPromptService:Y,subthreadTracker:F},{threadID:E,isContinued:w,ui:H}){let M=OT(),W=new Set,I=gW(B.observe(E).pipe(t7((S)=>S!==void 0))),N=new Set,V=new Map;await l6(I.observable);let _=await Rd,T=await sZ.getOrCreateForThread({configService:Q,threadService:B,toolService:q,getThreadEnvironment:Nf,systemPromptService:Y,threadSummaryService:X,createFileSystem:_,threadHistoryService:J,mcpService:D},E);await T.resume().catch((S)=>{k1.error("Initial resume",S)});let R=T.status.pipe(r6((S)=>{return{type:"worker-state",status:S}})),j=I.observable.pipe(r6((S)=>{return{type:"thread-state",thread:S}})),P=new C8,$=new C8,f=H(UA.from($)).pipe(r6((S)=>({type:"ui-input",input:S}))),m=F.events$.pipe(r6((S)=>S)),l=M.status.pipe(r6((S)=>({type:"lsp-status",lspState:S}))),v=hU(R,j,hU(P,f,m,l)),g=new C8;async function b(){if($.next({type:"state",state:{type:"shutting-down"}}),await A?.sync().catch((S)=>{k1.error("Thread sync error",S,{threadID:E})}),F.dispose(),await M.stopAllServers(),T.dispose(),A)A.dispose();B.dispose(),await D.dispose(),z[Symbol.dispose](),Z.dispose(),$.complete(),g.next()}let u=v.pipe(qZ(()=>{b()})).pipe(KT(n3("threadSession",function(S,y){function d(D1){k1.info(`Processing user message: ${D1.slice(0,50)}${D1.length>50?"...":""}`);let A1="tokenUsage"in S?S.tokenUsage:void 0;if(A1&&A1.used/A1.maxAvailable>m51.CRITICAL)return k1.info("Blocking message at worker boundary - critical token usage"),$.next({type:"confirm",confirmation:{type:"compaction",severity:"critical"}}),{type:"confirming-compaction",severity:"critical",tokenUsage:S.tokenUsage,compactionPromptState:"final",updateState:"updateState"in S?S.updateState:"none",toolConfirmationStatus:"toolConfirmationStatus"in S?S.toolConfirmationStatus:new Map,currentAssistantMessageIndex:("currentAssistantMessageIndex"in S?S.currentAssistantMessageIndex:null)??null,hasBeenIdle:"hasBeenIdle"in S?S.hasBeenIdle:!1,threadTitle:"threadTitle"in S?S.threadTitle:null,confirmationQueue:"confirmationQueue"in S?S.confirmationQueue:[]};T.handle({type:"user:message",message:{content:[{type:"text",text:D1}]}}).then(()=>{if(A)A.sync().catch((X1)=>{k1.error("Thread sync after submit error",X1,{threadID:E})})}).catch((X1)=>{k1.error("Handle user message failed",X1)}),$.next({type:"state",state:{type:"waiting-on-model",startTime:Date.now()}});let K1=I.value.last;if(K1){let X1=lC(K1);if(X1)$.next({type:"state",state:X1})}return{...S,type:"awaiting-agent",displayedError:null}}async function a(){$.next({type:"state",state:{type:"compacting"}});let D1=await X.summarizeThread(E);await T.handle({type:"summary:created",summary:{type:"internal",summary:D1.summary}})}function z1(){if(S.type==="awaiting-user-message")return k1.debug("already accepting, ignoring event",{state:S,event:y}),S;let D1="tokenUsage"in S?S.tokenUsage:void 0;if(A?.sync()?.catch((A1)=>{k1.error("Thread sync error",A1,{threadID:E})}),D1&&S.type!=="confirming-compaction"&&S.type!=="compacting"){let A1=D1.used/D1.maxAvailable,K1=void 0,X1=S.compactionPromptState;if(A1>m51.CRITICAL)K1="critical",X1="final";else if(A1>m51.WARNING&&S.compactionPromptState==="none")K1="moderate",X1="first";else if(A1>m51.SEVERE&&S.compactionPromptState==="first")K1="severe",X1="final";if(K1)return $.next({type:"confirm",confirmation:{type:"compaction",severity:K1}}),{type:"confirming-compaction",severity:K1,tokenUsage:S.tokenUsage,compactionPromptState:X1,updateState:S.updateState,toolConfirmationStatus:S.toolConfirmationStatus,currentAssistantMessageIndex:S.currentAssistantMessageIndex,hasBeenIdle:S.hasBeenIdle,threadTitle:S.threadTitle,confirmationQueue:S.confirmationQueue}}if($.next({type:"accept-message",initial:!S.hasBeenIdle&&!w}),S.type==="awaiting-agent")S.cancelledWithMessage=void 0;if(D1)$.next({type:"token-usage",tokenUsage:D1});return{...S,type:"awaiting-user-message",hasBeenIdle:!0,tokenUsage:D1??null}}function t(D1){if(D1.length>0)k1.info(`Updating allowlist with ${D1.length} entries`,{entries:D1}),K.get("commands.allowlist","global").then((A1)=>{let K1=[...A1??[],...D1];return K.set("commands.allowlist",K1,"global")}).catch((A1)=>{k1.error("Failed to update allowlist",A1)})}if(S.type==="closing")return S;if(y.type==="thread-state"){let D1=y.thread.title||null;if(S.threadTitle!==D1&&D1!==null)$.next({type:"thread-title",title:D1});if(F.scanForTaskToolSubthreads(y.thread),w&&W.size===0&&y.thread.messages.length>0){let K1=gf(y.thread,W,N);if(K1.blocks.length>0)$.next({type:"messages",blocks:K1.blocks})}let A1=S.tokenUsage;if(y.thread){let K1=xa(y.thread);if(K1)A1={used:K1.totalInputTokens,maxAvailable:K1.maxInputTokens},$.next({type:"token-usage",tokenUsage:A1})}if(S.type==="awaiting-user-confirmation")if(y.thread.messages.at(-1)?.content.some((K1)=>K1.type==="tool_result"&&(K1.run.status==="in-progress"||K1.run.status==="done"))){let K1=lC(y.thread);if(K1)$.next({type:"state",state:K1});else $.next({type:"state",state:{type:"waiting-on-model",startTime:Date.now()}});return{...S,type:"awaiting-agent",displayedError:null,tokenUsage:A1}}else return{...S,type:"awaiting-user-confirmation",tokenUsage:A1};if(S.type==="awaiting-agent"||S.type==="compacting"){let K1=y.thread.messages.at(-1),X1=gf(y.thread,W,N),N1=X1.blocks;if(K1?.role==="assistant"&&K1.state.type==="streaming"&&X1.blocks.length===0){N1=[{type:"message",data:[y.thread.messages.length-1,K1]}];let U1=lC(y.thread);if(U1)$.next({type:"state",state:U1})}if(N1.length>0){for(let Y1 of N1)if(Y1.type==="toolResult"){let[U1,P1]=Y1.data,R1=P1.run.status==="done"?"completed":P1.run.status==="error"?"error":P1.run.status==="cancelled"?"cancelled":"running";if(R1!=="running")$.next({type:"tool-status",toolUse:U1,status:R1,startTime:V.get(U1.id),endTime:Date.now()}),V.delete(U1.id)}$.next({type:"messages",blocks:N1})}if(y.thread.messages.at(-1)?.content.some((Y1)=>Y1.type==="summary"))return{...z1(),tokenUsage:null,compactionPromptState:"none"};if(K1?.role==="assistant"&&K1?.state.type==="complete"&&K1?.state.stopReason==="end_turn"){$.next({type:"state",state:{type:"idle"}});let Y1=z1();return{...Y1,tokenUsage:A1??Y1.tokenUsage}}if(!I)throw new Error("unexpected: thread is required when waiting for tool input");let s=wz(y.thread,"assistant"),r=s?y.thread.messages.indexOf(s):null;if(r!==null&&r!==S.currentAssistantMessageIndex)k1.info("New assistant message detected, clearing tool confirmations",{oldIndex:S.currentAssistantMessageIndex,newIndex:r,previousToolCount:S.toolConfirmationStatus.size}),S.toolConfirmationStatus.clear(),S.currentAssistantMessageIndex=r;let e=wz(y.thread,"user")?.content.filter((Y1)=>Y1.type==="tool_result"&&Y1.run.status==="blocked-on-user")??[],G1=new Set(s?.content.filter((Y1)=>Y1.type==="tool_use").map((Y1)=>Y1.id)??[]),q1=!1;for(let Y1 of e){if(!G1.has(Y1.toolUseID))continue;let U1=y7(y.thread,Y1.toolUseID),P1=S.toolConfirmationStatus.get(Y1.toolUseID);if(U1&&U1.name===o4&&Y1.run.status==="blocked-on-user"&&P1===void 0){if(S.toolConfirmationStatus.set(Y1.toolUseID,"awaiting"),q1=!0,k1.info("Added new tool to confirmation tracking",{toolUseID:Y1.toolUseID,toolName:U1.name}),!V.has(U1.id))V.set(U1.id,Date.now());$.next({type:"tool-status",toolUse:U1,status:"blocked-on-user",startTime:V.get(U1.id)})}}if(q1){let Y1=Array.from(S.toolConfirmationStatus.entries()).filter(([U1,P1])=>P1==="awaiting");if(Y1.length>0){let[U1]=Y1[0],P1=e.find((T1)=>T1.toolUseID===U1),R1=P1?y7(y.thread,P1.toolUseID):null;if(P1&&R1)return k1.info(`Starting tool confirmation process for ${Y1.length} tools`,{firstToolID:U1,toolName:R1.name}),$.next({type:"confirm",confirmation:{type:"tool-use",tools:[{useBlock:R1,toAllow:P1.run.status==="blocked-on-user"?P1.run.toAllow:void 0}]}}),{...S,type:"collecting-tool-confirmations",currentToolID:U1,tokenUsage:A1}}}}}else if(y.type==="worker-state"){if(S.type==="awaiting-user-confirmation"&&y.status.state==="active"&&y.status.ephemeralError)return S;if(S.type==="collecting-tool-confirmations")return k1.info("Already collecting tool confirmations, ignoring worker-state event"),S;let D1=I.value.last?.messages.at(-1),A1=S.tokenUsage;if(y.status.state==="active"){let K1=I.value.last;if(K1){let X1=xa(K1);if(X1)A1={used:X1.totalInputTokens,maxAvailable:X1.maxInputTokens},$.next({type:"token-usage",tokenUsage:A1})}}if(S.type==="confirming-compaction"||S.type==="compacting")return{...S,tokenUsage:A1};switch(y.status.state){case"initial":if(S.type==="initializing")return S;return z1();case"active":if(y.status.ephemeralError)if(y.status.ephemeralError.message.includes(W4A)){if(S.type==="out-of-credits")return S;return $.next({type:"confirm",confirmation:{type:"out-of-credits"}}),{...S,type:"out-of-credits",tokenUsage:A1}}else if(M4A(y.status.ephemeralError))return k1.info("Context limit error, triggering compaction",{error:y.status.ephemeralError,tokenUsage:A1}),$.next({type:"confirm",confirmation:{type:"compaction",severity:"critical"}}),{type:"confirming-compaction",severity:"critical",tokenUsage:S.tokenUsage,compactionPromptState:S.compactionPromptState,updateState:S.updateState,toolConfirmationStatus:S.toolConfirmationStatus,currentAssistantMessageIndex:S.currentAssistantMessageIndex,hasBeenIdle:S.hasBeenIdle,threadTitle:S.threadTitle,confirmationQueue:S.confirmationQueue};else if(y.status.ephemeralError.message.includes("401 unauthorized"))return $.next({type:"error",error:{type:"unauthorized"},retryable:!1}),u.unsubscribe(),{...S,type:"closing"};else{let K1=y.status.ephemeralError.message;if(k1.error("Ephemeral error",{error:K1}),S.type==="awaiting-agent"&&S.displayedError!==K1)return $.next({type:"error",error:{type:"other",error:K1},retryable:!1}),{...S,type:"awaiting-user-confirmation",tokenUsage:A1};else return S}switch(y.status.inferenceState){case"running":{let K1=I.value.last;if(K1){let X1=lC(K1);if(X1)$.next({type:"state",state:X1});else $.next({type:"state",state:{type:"waiting-on-model",startTime:Date.now()}})}else $.next({type:"state",state:{type:"waiting-on-model",startTime:Date.now()}})}if(S.type==="initializing")return{...S,tokenUsage:A1};return{...S,type:"awaiting-agent",displayedError:null,tokenUsage:A1};case"cancelled":if(S.type==="initializing")return{...S,tokenUsage:A1};if($.next({type:"cancelled"}),$.next({type:"state",state:{type:"idle"}}),S.type==="awaiting-agent"&&S.cancelledWithMessage)return S.cancelledWithMessage=void 0,{...S,tokenUsage:A1};else return{...z1(),tokenUsage:A1};case"idle":if(S.type==="initializing")return{...S,tokenUsage:A1};if(D1?.content.some((K1)=>K1.type==="tool_result"&&K1.run.status==="blocked-on-user"))return{...S,type:"awaiting-user-confirmation",tokenUsage:A1};else if(I.value.last?.messages.some((K1)=>K1.role==="user"&&K1.content.some((X1)=>X1.type==="tool_result"&&X1.run.status==="in-progress"))??!1){let K1=I.value.last?.messages.flatMap((N1)=>N1.content).filter((N1)=>N1.type==="tool_result"&&("run"in N1)&&("status"in N1.run)&&N1.run.status==="in-progress"),X1=K1?.length??0;if(X1>0){for(let e of K1||[]){let G1=y7(I.value.last,e.toolUseID);if(G1){if(!V.has(e.toolUseID))V.set(e.toolUseID,Date.now());$.next({type:"tool-status",toolUse:G1,status:"running",startTime:V.get(e.toolUseID)})}}let N1=X1===1&&K1?.[0]&&I.value.last?y7(I.value.last,K1[0].toolUseID):void 0,s=X1>1&&K1&&I.value.last?K1.slice(1,Math.min(4,K1.length)).map((e)=>{return y7(I.value.last,e.toolUseID)?.name||"tool"}).filter(Boolean):void 0,r=N1?b51(N1.name,X1,Date.now(),N1.input,s):{type:"running-tools",toolCount:X1,startTime:Date.now(),queuedTools:s};$.next({type:"state",state:r})}else{let N1=I.value.last;if(N1){let s=lC(N1);if(s)$.next({type:"state",state:s});else $.next({type:"state",state:{type:"idle"}})}else $.next({type:"state",state:{type:"idle"}})}return{...S,type:"awaiting-agent",displayedError:null,tokenUsage:A1}}else if(D1?.role==="assistant"&&D1?.state.type==="complete"&&D1?.state.stopReason==="end_turn")return $.next({type:"state",state:{type:"idle"}}),{...z1(),tokenUsage:A1}}}}else if(y.type==="batch-tool-confirmations-complete")if(S.type==="collecting-tool-confirmations"&&S.subthreadContext)return k1.info("Sending batch tool confirmations to subthread",{subThreadID:S.subthreadContext.subThreadID,toolCount:y.responses.size,responses:Array.from(y.responses.entries()).map(([D1,A1])=>({id:D1,accepted:A1}))}),F.handleToolConfirmations(S.subthreadContext.subThreadID,y.responses).catch((D1)=>{k1.error("Failed to send subthread tool confirmations",D1)}),k1.info("Transitioning to awaiting-agent after sending subthread confirmations"),$.next({type:"state",state:{type:"running-tools",startTime:Date.now()}}),{...S,type:"awaiting-agent",displayedError:null};else return k1.info("Sending batch tool confirmations to worker",{toolCount:y.responses.size,responses:Array.from(y.responses.entries()).map(([D1,A1])=>({id:D1,accepted:A1}))}),y.responses.forEach((D1,A1)=>{k1.info("Sending individual tool confirmation to worker",{toolUseID:A1,accepted:D1}),T.handle({type:"user:tool-input",toolUse:A1,value:{accepted:D1}}),S.toolConfirmationStatus.set(A1,"sent")}),k1.info("Transitioning to awaiting-agent after sending batch confirmations"),$.next({type:"state",state:{type:"running-tools",startTime:Date.now()}}),{...S,type:"awaiting-agent",displayedError:null};else if(y.type==="summary:created"){let D1=I.value.last;if(D1){let A1=xa(D1);if(A1){let K1={used:A1.totalInputTokens,maxAvailable:A1.maxInputTokens},X1=S.type==="compacting"?S.preCompactionTokenUsage:null;if(X1){let N1=X1.used,s=K1.used,r=N1-s,e=N1>0?r/N1*100:0;if(r<=0)k1.warn("Compaction did not reduce token usage",{preUsed:N1,postUsed:s,reduction:r,threadID:E});else if(e<10)k1.warn("Compaction reduction was minimal",{preUsed:N1,postUsed:s,reduction:r,reductionPercent:e.toFixed(1),threadID:E});else k1.info("Compaction successful",{preUsed:N1,postUsed:s,reduction:r,reductionPercent:e.toFixed(1),threadID:E})}else k1.warn("No pre-compaction token usage available for validation",{threadID:E});$.next({type:"token-usage",tokenUsage:K1})}}return z1()}else if(y.type==="compaction-result")if(y.result)return z1();else return $.next({type:"error",error:{type:"other",error:"Compaction failed"},retryable:!1}),$.next({type:"confirm",confirmation:{type:"compaction",severity:y.severity}}),{...S,type:"confirming-compaction",severity:y.severity};else if(y.type==="update-start-updating")return{...S,updateState:"updating"};else if(y.type==="update-result")if(y.success)return setTimeout(()=>{P.next({type:"clear-update-status"})},1e4),{...S,updateState:"success"};else return setTimeout(()=>{P.next({type:"clear-update-status"})},1e4),{...S,updateState:"error"};else if(y.type==="clear-update-status")return{...S,updateState:"none"};else if(y.type==="agent-file-check-complete"){if(S.type==="checking-agent-file")if(y.shouldGenerate)return $.next({type:"confirm",confirmation:{type:"agent-file-creation"}}),{...S,type:"confirming-agent-file-creation"};else return z1()}else if(y.type==="tool-status")return $.next({type:"tool-status",toolUse:y.toolUse,status:y.status,startTime:y.startTime,endTime:y.endTime,subthreadID:y.subthreadID}),S;else if(y.type==="subagent-started"){if(S.type==="initializing")return S;return $.next({type:"subagent-started",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription}),S}else if(y.type==="subagent-status")return $.next({type:"subagent-status",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription,agentState:y.agentState}),S;else if(y.type==="subthread-message"){if(y.blocks.length>0)$.next({type:"subthread-messages",subThreadID:y.subThreadID,blocks:y.blocks});return S}else if(y.type==="historic-thread"){if(S.type!=="initializing")throw new Error(`Historic thread event received in unexpected state: ${S.type}`);if(w&&W.size===0&&y.messages.length>0){let A1=gf({id:E,messages:y.messages},W,N);if(A1.blocks.length>0)$.next({type:"messages",blocks:A1.blocks})}let D1={...S,hasThread:!0};if(D1.hasUI&&D1.hasThread)return z1();return D1}else if(y.type==="subagent-finished")return $.next({type:"subagent-finished",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription,result:y.result}),S;else if(y.type==="subagent-cancelled")return $.next({type:"subagent-cancelled",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription}),S;else if(y.type==="subagent-error")return $.next({type:"subagent-error",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription,error:y.error}),S;else if(y.type==="subthread-tool-request"){if(y.tools.length>0){if(k1.info(`Received tool confirmation request from subthread ${y.subThreadID}`,{subThreadID:y.subThreadID,agentNumber:y.agentNumber,toolCount:y.tools.length,tools:y.tools.map((D1)=>D1.useBlock.name),queueLength:S.confirmationQueue.length}),S.type==="collecting-tool-confirmations"||S.confirmationQueue.length>0)return k1.info("Queueing tool confirmation request",{subThreadID:y.subThreadID,agentNumber:y.agentNumber,currentQueueLength:S.confirmationQueue.length}),{...S,confirmationQueue:[...S.confirmationQueue,{type:"subthread-tool-request",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription,tools:y.tools}]};return $.next({type:"confirm",confirmation:{type:"tool-use",tools:y.tools,subthreadID:y.subThreadID,agentNumber:y.agentNumber}}),{...S,type:"collecting-tool-confirmations",currentToolID:y.tools[0]?.useBlock.id||null,subthreadContext:{subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription}}}return S}else if(y.type==="lsp-status")return $.next({type:"lsp-status",lspState:y.lspState}),S;else if(y.type==="ui-input"){if(y.input.type==="initialized")if(S.type==="initializing"){let D1={...S,hasUI:!0};if(D1.hasUI&&D1.hasThread)if(I.value.last?.messages.length===0)return k1.info("Checking agent file status"),I4A({filesystem:_(E),configService:Q,threadService:B},I.value.last).then((K1)=>{P.next({type:"agent-file-check-complete",shouldGenerate:K1.shouldGenerate})}).catch((K1)=>{k1.error("Agent file check failed",K1),P.next({type:"agent-file-check-complete",shouldGenerate:!1})}),{...S,type:"checking-agent-file"};else return z1();return D1}else throw new Error(`UI initialized event received in unexpected state: ${S.type}`);else if(y.input.type=="message"){let{message:D1}=y.input;return d(D1)}else if(y.input.type==="interrupt")if(S.type==="awaiting-agent"){if($.next({type:"cancelled"}),sZ.cancel(E),y.input.message)S.cancelledWithMessage=y.input.message;return S}else return S;else if(y.input.type==="exit")return u.unsubscribe(),{...S,type:"closing"};else if(y.input.type==="retry")return sZ.retry(E),{...S,type:"awaiting-agent",displayedError:null};else if(y.input.type==="confirmation"){if(S.type==="out-of-credits"&&y.input.confirmation.type==="out-of-credits")sZ.retry(E);else if(S.type==="confirming-compaction"&&y.input.confirmation.type==="compaction")if(y.input.allow){let D1="tokenUsage"in S?S.tokenUsage:void 0;return $.next({type:"state",state:{type:"compacting"}}),a().then(()=>{k1.info("Compaction completed successfully",{preCompactionTokenUsage:D1}),P.next({type:"compaction-result",result:!0,severity:S.severity})}).catch((A1)=>{k1.error("Compaction failed",A1),P.next({type:"compaction-result",result:!1,severity:S.severity})}),{...S,type:"compacting",preCompactionTokenUsage:D1}}else return k1.info("Compaction cancelled"),z1();else if(S.type==="collecting-tool-confirmations"&&y.input.confirmation.type==="tool-use"){if(!S.currentToolID)return k1.error("No current tool ID in collecting-tool-confirmations state"),S;if(k1.info(`Received confirmation for tool: ${y.input.allow?"accepted":"rejected"}`,{toolUseID:S.currentToolID,subthreadID:y.input.confirmation.subthreadID}),y.input.confirmation.subthreadID&&S.subthreadContext){k1.info("Sending tool confirmation to subthread",{subThreadID:S.subthreadContext.subThreadID,toolUseID:S.currentToolID,accepted:y.input.allow});let X1=new Map([[S.currentToolID,y.input.allow]]);if(F.handleToolConfirmations(S.subthreadContext.subThreadID,X1).catch((N1)=>{k1.error("Failed to send subthread tool confirmation",N1)}),S.confirmationQueue.length>0){let N1=S.confirmationQueue[0],s=S.confirmationQueue.slice(1);return k1.info("Processing next queued confirmation request",{subThreadID:N1.subThreadID,agentNumber:N1.agentNumber,remainingQueueLength:s.length}),$.next({type:"confirm",confirmation:{type:"tool-use",tools:N1.tools,subthreadID:N1.subThreadID,agentNumber:N1.agentNumber}}),{...S,type:"collecting-tool-confirmations",currentToolID:N1.tools[0]?.useBlock.id||null,subthreadContext:{subThreadID:N1.subThreadID,agentNumber:N1.agentNumber,taskDescription:N1.taskDescription},confirmationQueue:s}}return k1.info("Transitioning to awaiting-agent after sending subthread confirmation"),$.next({type:"state",state:{type:"running-tools",startTime:Date.now()}}),{...S,type:"awaiting-agent",displayedError:null}}S.toolConfirmationStatus.set(S.currentToolID,y.input.allow?"confirmed":"rejected"),t(y.input.confirmation.addToAllowList);let D1=Array.from(S.toolConfirmationStatus.entries()).filter(([X1,N1])=>N1==="awaiting");if(D1.length>0){let[X1]=D1[0];if(!I.value.isSet)return k1.error("Thread not available for finding next tool"),S;let r=(I.value.last.messages.at(-1)?.content.filter((G1)=>G1.type==="tool_result"&&G1.run.status==="blocked-on-user")??[]).find((G1)=>G1.toolUseID===X1),e=r?y7(I.value.last,r.toolUseID):null;if(r&&e)return k1.info(`Asking confirmation for next tool: ${e.name}`,{toolUseID:X1,remainingCount:D1.length}),$.next({type:"confirm",confirmation:{type:"tool-use",tools:[{useBlock:e,toAllow:r.run.status==="blocked-on-user"?r.run.toAllow:void 0}]}}),{...S,currentToolID:X1}}let A1=Array.from(S.toolConfirmationStatus.entries()).filter(([X1,N1])=>N1==="confirmed"||N1==="rejected");k1.info("All tool confirmations collected, sending batch response",{totalTools:A1.length,responses:A1.map(([X1,N1])=>({id:X1,accepted:N1==="confirmed"}))});let K1=new Map(A1.map(([X1,N1])=>[X1,N1==="confirmed"]));return P.next({type:"batch-tool-confirmations-complete",responses:K1}),$.next({type:"state",state:{type:"running-tools",startTime:Date.now()}}),{...S,type:"awaiting-agent",displayedError:null}}else if(y.input.confirmation.type==="agent-file-creation"&&S.type==="confirming-agent-file-creation")if(y.input.allow)return N4A(T).catch((D1)=>{k1.error("Agent file generation failed",D1)}),$.next({type:"state",state:{type:"generating-agent-file"}}),{...S,type:"awaiting-agent",displayedError:null};else return z1();return S}}return S}),{type:"initializing",hasUI:!1,hasThread:!1,tokenUsage:null,compactionPromptState:"none",updateState:"none",toolConfirmationStatus:new Map,currentAssistantMessageIndex:null,hasBeenIdle:!1,threadTitle:null,confirmationQueue:[]})).subscribe({error:(S)=>{k1.error("Error in state machine",S),b()}});if(w)G.get(E).then((S)=>{if(S&&S.messages)k1.info("Sending historic messages for initialization",{threadId:E,messageCount:S.messages.length}),P.next({type:"historic-thread",messages:S.messages});else k1.info("Sending empty messages for continued thread without stored messages",{threadId:E}),P.next({type:"historic-thread",messages:[]})});else k1.info("Sending empty messages for new thread initialization",{threadId:E}),P.next({type:"historic-thread",messages:[]});return ar6(P).catch((S)=>{k1.debug("Update check startup failed",S)}),await l6(g)}async function ar6(A){try{let Q=await O4A("0.0.1751602048-gad8f2f");if(Q.hasUpdate&&Q.latestVersion)A.next({type:"update-start-updating"}),setTimeout(async()=>{try{await L4A(Q.latestVersion),A.next({type:"update-result",success:!0,version:Q.latestVersion})}catch(B){k1.info("Update failed",B),A.next({type:"update-result",success:!1,version:Q.latestVersion})}},100);else k1.info("No update available")}catch(Q){k1.debug("Update check failed",Q)}}var m51={WARNING:0.8,SEVERE:0.9,CRITICAL:0.98};$2();AK();D2();gq();function T4A(A){let{stdout:Q,threadID:B,pipedInput:J}=A;function D(z){Q.write(JSON.stringify(z)+`
7413
+ ${w}`))}}),q.on("error",(E)=>{z(new Error(`Failed to spawn ${B}: ${E.message}`))})})}async function _4A({threadSyncService:A,configService:Q,threadService:B,threadHistoryService:J,mcpService:D,fileWatcher:z,fuzzyServer:Z,summaryService:X,settingsStorage:K,threadStorage:G,toolService:q,systemPromptService:Y,subthreadTracker:F},{threadID:E,isContinued:w,ui:H}){let M=OT(),W=new Set,I=gW(B.observe(E).pipe(t7((S)=>S!==void 0))),N=new Set,V=new Map;await l6(I.observable);let _=await Rd,T=await sZ.getOrCreateForThread({configService:Q,threadService:B,toolService:q,getThreadEnvironment:Nf,systemPromptService:Y,threadSummaryService:X,createFileSystem:_,threadHistoryService:J,mcpService:D},E);await T.resume().catch((S)=>{k1.error("Initial resume",S)});let R=T.status.pipe(r6((S)=>{return{type:"worker-state",status:S}})),j=I.observable.pipe(r6((S)=>{return{type:"thread-state",thread:S}})),P=new C8,$=new C8,f=H(UA.from($)).pipe(r6((S)=>({type:"ui-input",input:S}))),m=F.events$.pipe(r6((S)=>S)),l=M.status.pipe(r6((S)=>({type:"lsp-status",lspState:S}))),v=hU(R,j,hU(P,f,m,l)),g=new C8;async function b(){if($.next({type:"state",state:{type:"shutting-down"}}),await A?.sync().catch((S)=>{k1.error("Thread sync error",S,{threadID:E})}),F.dispose(),await M.stopAllServers(),T.dispose(),A)A.dispose();B.dispose(),await D.dispose(),z[Symbol.dispose](),Z.dispose(),$.complete(),g.next()}let u=v.pipe(qZ(()=>{b()})).pipe(KT(n3("threadSession",function(S,y){function d(D1){k1.info(`Processing user message: ${D1.slice(0,50)}${D1.length>50?"...":""}`);let A1="tokenUsage"in S?S.tokenUsage:void 0;if(A1&&A1.used/A1.maxAvailable>m51.CRITICAL)return k1.info("Blocking message at worker boundary - critical token usage"),$.next({type:"confirm",confirmation:{type:"compaction",severity:"critical"}}),{type:"confirming-compaction",severity:"critical",tokenUsage:S.tokenUsage,compactionPromptState:"final",updateState:"updateState"in S?S.updateState:"none",toolConfirmationStatus:"toolConfirmationStatus"in S?S.toolConfirmationStatus:new Map,currentAssistantMessageIndex:("currentAssistantMessageIndex"in S?S.currentAssistantMessageIndex:null)??null,hasBeenIdle:"hasBeenIdle"in S?S.hasBeenIdle:!1,threadTitle:"threadTitle"in S?S.threadTitle:null,confirmationQueue:"confirmationQueue"in S?S.confirmationQueue:[]};T.handle({type:"user:message",message:{content:[{type:"text",text:D1}]}}).then(()=>{if(A)A.sync().catch((X1)=>{k1.error("Thread sync after submit error",X1,{threadID:E})})}).catch((X1)=>{k1.error("Handle user message failed",X1)}),$.next({type:"state",state:{type:"waiting-on-model",startTime:Date.now()}});let K1=I.value.last;if(K1){let X1=lC(K1);if(X1)$.next({type:"state",state:X1})}return{...S,type:"awaiting-agent",displayedError:null}}async function a(){$.next({type:"state",state:{type:"compacting"}});let D1=await X.summarizeThread(E);await T.handle({type:"summary:created",summary:{type:"internal",summary:D1.summary}})}function z1(){if(S.type==="awaiting-user-message")return k1.debug("already accepting, ignoring event",{state:S,event:y}),S;let D1="tokenUsage"in S?S.tokenUsage:void 0;if(A?.sync()?.catch((A1)=>{k1.error("Thread sync error",A1,{threadID:E})}),D1&&S.type!=="confirming-compaction"&&S.type!=="compacting"){let A1=D1.used/D1.maxAvailable,K1=void 0,X1=S.compactionPromptState;if(A1>m51.CRITICAL)K1="critical",X1="final";else if(A1>m51.WARNING&&S.compactionPromptState==="none")K1="moderate",X1="first";else if(A1>m51.SEVERE&&S.compactionPromptState==="first")K1="severe",X1="final";if(K1)return $.next({type:"confirm",confirmation:{type:"compaction",severity:K1}}),{type:"confirming-compaction",severity:K1,tokenUsage:S.tokenUsage,compactionPromptState:X1,updateState:S.updateState,toolConfirmationStatus:S.toolConfirmationStatus,currentAssistantMessageIndex:S.currentAssistantMessageIndex,hasBeenIdle:S.hasBeenIdle,threadTitle:S.threadTitle,confirmationQueue:S.confirmationQueue}}if($.next({type:"accept-message",initial:!S.hasBeenIdle&&!w}),S.type==="awaiting-agent")S.cancelledWithMessage=void 0;if(D1)$.next({type:"token-usage",tokenUsage:D1});return{...S,type:"awaiting-user-message",hasBeenIdle:!0,tokenUsage:D1??null}}function t(D1){if(D1.length>0)k1.info(`Updating allowlist with ${D1.length} entries`,{entries:D1}),K.get("commands.allowlist","global").then((A1)=>{let K1=[...A1??[],...D1];return K.set("commands.allowlist",K1,"global")}).catch((A1)=>{k1.error("Failed to update allowlist",A1)})}if(S.type==="closing")return S;if(y.type==="thread-state"){let D1=y.thread.title||null;if(S.threadTitle!==D1&&D1!==null)$.next({type:"thread-title",title:D1});if(F.scanForTaskToolSubthreads(y.thread),w&&W.size===0&&y.thread.messages.length>0){let K1=gf(y.thread,W,N);if(K1.blocks.length>0)$.next({type:"messages",blocks:K1.blocks})}let A1=S.tokenUsage;if(y.thread){let K1=xa(y.thread);if(K1)A1={used:K1.totalInputTokens,maxAvailable:K1.maxInputTokens},$.next({type:"token-usage",tokenUsage:A1})}if(S.type==="awaiting-user-confirmation")if(y.thread.messages.at(-1)?.content.some((K1)=>K1.type==="tool_result"&&(K1.run.status==="in-progress"||K1.run.status==="done"))){let K1=lC(y.thread);if(K1)$.next({type:"state",state:K1});else $.next({type:"state",state:{type:"waiting-on-model",startTime:Date.now()}});return{...S,type:"awaiting-agent",displayedError:null,tokenUsage:A1}}else return{...S,type:"awaiting-user-confirmation",tokenUsage:A1};if(S.type==="awaiting-agent"||S.type==="compacting"){let K1=y.thread.messages.at(-1),X1=gf(y.thread,W,N),N1=X1.blocks;if(K1?.role==="assistant"&&K1.state.type==="streaming"&&X1.blocks.length===0){N1=[{type:"message",data:[y.thread.messages.length-1,K1]}];let U1=lC(y.thread);if(U1)$.next({type:"state",state:U1})}if(N1.length>0){for(let Y1 of N1)if(Y1.type==="toolResult"){let[U1,P1]=Y1.data,R1=P1.run.status==="done"?"completed":P1.run.status==="error"?"error":P1.run.status==="cancelled"?"cancelled":"running";if(R1!=="running")$.next({type:"tool-status",toolUse:U1,status:R1,startTime:V.get(U1.id),endTime:Date.now()}),V.delete(U1.id)}$.next({type:"messages",blocks:N1})}if(y.thread.messages.at(-1)?.content.some((Y1)=>Y1.type==="summary"))return{...z1(),tokenUsage:null,compactionPromptState:"none"};if(K1?.role==="assistant"&&K1?.state.type==="complete"&&K1?.state.stopReason==="end_turn"){$.next({type:"state",state:{type:"idle"}});let Y1=z1();return{...Y1,tokenUsage:A1??Y1.tokenUsage}}if(!I)throw new Error("unexpected: thread is required when waiting for tool input");let s=wz(y.thread,"assistant"),r=s?y.thread.messages.indexOf(s):null;if(r!==null&&r!==S.currentAssistantMessageIndex)k1.info("New assistant message detected, clearing tool confirmations",{oldIndex:S.currentAssistantMessageIndex,newIndex:r,previousToolCount:S.toolConfirmationStatus.size}),S.toolConfirmationStatus.clear(),S.currentAssistantMessageIndex=r;let e=wz(y.thread,"user")?.content.filter((Y1)=>Y1.type==="tool_result"&&Y1.run.status==="blocked-on-user")??[],G1=new Set(s?.content.filter((Y1)=>Y1.type==="tool_use").map((Y1)=>Y1.id)??[]),q1=!1;for(let Y1 of e){if(!G1.has(Y1.toolUseID))continue;let U1=y7(y.thread,Y1.toolUseID),P1=S.toolConfirmationStatus.get(Y1.toolUseID);if(U1&&U1.name===o4&&Y1.run.status==="blocked-on-user"&&P1===void 0){if(S.toolConfirmationStatus.set(Y1.toolUseID,"awaiting"),q1=!0,k1.info("Added new tool to confirmation tracking",{toolUseID:Y1.toolUseID,toolName:U1.name}),!V.has(U1.id))V.set(U1.id,Date.now());$.next({type:"tool-status",toolUse:U1,status:"blocked-on-user",startTime:V.get(U1.id)})}}if(q1){let Y1=Array.from(S.toolConfirmationStatus.entries()).filter(([U1,P1])=>P1==="awaiting");if(Y1.length>0){let[U1]=Y1[0],P1=e.find((T1)=>T1.toolUseID===U1),R1=P1?y7(y.thread,P1.toolUseID):null;if(P1&&R1)return k1.info(`Starting tool confirmation process for ${Y1.length} tools`,{firstToolID:U1,toolName:R1.name}),$.next({type:"confirm",confirmation:{type:"tool-use",tools:[{useBlock:R1,toAllow:P1.run.status==="blocked-on-user"?P1.run.toAllow:void 0}]}}),{...S,type:"collecting-tool-confirmations",currentToolID:U1,tokenUsage:A1}}}}}else if(y.type==="worker-state"){if(S.type==="awaiting-user-confirmation"&&y.status.state==="active"&&y.status.ephemeralError)return S;if(S.type==="collecting-tool-confirmations")return k1.info("Already collecting tool confirmations, ignoring worker-state event"),S;let D1=I.value.last?.messages.at(-1),A1=S.tokenUsage;if(y.status.state==="active"){let K1=I.value.last;if(K1){let X1=xa(K1);if(X1)A1={used:X1.totalInputTokens,maxAvailable:X1.maxInputTokens},$.next({type:"token-usage",tokenUsage:A1})}}if(S.type==="confirming-compaction"||S.type==="compacting")return{...S,tokenUsage:A1};switch(y.status.state){case"initial":if(S.type==="initializing")return S;return z1();case"active":if(y.status.ephemeralError)if(y.status.ephemeralError.message.includes(W4A)){if(S.type==="out-of-credits")return S;return $.next({type:"confirm",confirmation:{type:"out-of-credits"}}),{...S,type:"out-of-credits",tokenUsage:A1}}else if(M4A(y.status.ephemeralError))return k1.info("Context limit error, triggering compaction",{error:y.status.ephemeralError,tokenUsage:A1}),$.next({type:"confirm",confirmation:{type:"compaction",severity:"critical"}}),{type:"confirming-compaction",severity:"critical",tokenUsage:S.tokenUsage,compactionPromptState:S.compactionPromptState,updateState:S.updateState,toolConfirmationStatus:S.toolConfirmationStatus,currentAssistantMessageIndex:S.currentAssistantMessageIndex,hasBeenIdle:S.hasBeenIdle,threadTitle:S.threadTitle,confirmationQueue:S.confirmationQueue};else if(y.status.ephemeralError.message.includes("401 unauthorized"))return $.next({type:"error",error:{type:"unauthorized"},retryable:!1}),u.unsubscribe(),{...S,type:"closing"};else{let K1=y.status.ephemeralError.message;if(k1.error("Ephemeral error",{error:K1}),S.type==="awaiting-agent"&&S.displayedError!==K1)return $.next({type:"error",error:{type:"other",error:K1},retryable:!1}),{...S,type:"awaiting-user-confirmation",tokenUsage:A1};else return S}switch(y.status.inferenceState){case"running":{let K1=I.value.last;if(K1){let X1=lC(K1);if(X1)$.next({type:"state",state:X1});else $.next({type:"state",state:{type:"waiting-on-model",startTime:Date.now()}})}else $.next({type:"state",state:{type:"waiting-on-model",startTime:Date.now()}})}if(S.type==="initializing")return{...S,tokenUsage:A1};return{...S,type:"awaiting-agent",displayedError:null,tokenUsage:A1};case"cancelled":if(S.type==="initializing")return{...S,tokenUsage:A1};if($.next({type:"cancelled"}),$.next({type:"state",state:{type:"idle"}}),S.type==="awaiting-agent"&&S.cancelledWithMessage)return S.cancelledWithMessage=void 0,{...S,tokenUsage:A1};else return{...z1(),tokenUsage:A1};case"idle":if(S.type==="initializing")return{...S,tokenUsage:A1};if(D1?.content.some((K1)=>K1.type==="tool_result"&&K1.run.status==="blocked-on-user"))return{...S,type:"awaiting-user-confirmation",tokenUsage:A1};else if(I.value.last?.messages.some((K1)=>K1.role==="user"&&K1.content.some((X1)=>X1.type==="tool_result"&&X1.run.status==="in-progress"))??!1){let K1=I.value.last?.messages.flatMap((N1)=>N1.content).filter((N1)=>N1.type==="tool_result"&&("run"in N1)&&("status"in N1.run)&&N1.run.status==="in-progress"),X1=K1?.length??0;if(X1>0){for(let e of K1||[]){let G1=y7(I.value.last,e.toolUseID);if(G1){if(!V.has(e.toolUseID))V.set(e.toolUseID,Date.now());$.next({type:"tool-status",toolUse:G1,status:"running",startTime:V.get(e.toolUseID)})}}let N1=X1===1&&K1?.[0]&&I.value.last?y7(I.value.last,K1[0].toolUseID):void 0,s=X1>1&&K1&&I.value.last?K1.slice(1,Math.min(4,K1.length)).map((e)=>{return y7(I.value.last,e.toolUseID)?.name||"tool"}).filter(Boolean):void 0,r=N1?b51(N1.name,X1,Date.now(),N1.input,s):{type:"running-tools",toolCount:X1,startTime:Date.now(),queuedTools:s};$.next({type:"state",state:r})}else{let N1=I.value.last;if(N1){let s=lC(N1);if(s)$.next({type:"state",state:s});else $.next({type:"state",state:{type:"idle"}})}else $.next({type:"state",state:{type:"idle"}})}return{...S,type:"awaiting-agent",displayedError:null,tokenUsage:A1}}else if(D1?.role==="assistant"&&D1?.state.type==="complete"&&D1?.state.stopReason==="end_turn")return $.next({type:"state",state:{type:"idle"}}),{...z1(),tokenUsage:A1}}}}else if(y.type==="batch-tool-confirmations-complete")if(S.type==="collecting-tool-confirmations"&&S.subthreadContext)return k1.info("Sending batch tool confirmations to subthread",{subThreadID:S.subthreadContext.subThreadID,toolCount:y.responses.size,responses:Array.from(y.responses.entries()).map(([D1,A1])=>({id:D1,accepted:A1}))}),F.handleToolConfirmations(S.subthreadContext.subThreadID,y.responses).catch((D1)=>{k1.error("Failed to send subthread tool confirmations",D1)}),k1.info("Transitioning to awaiting-agent after sending subthread confirmations"),$.next({type:"state",state:{type:"running-tools",startTime:Date.now()}}),{...S,type:"awaiting-agent",displayedError:null};else return k1.info("Sending batch tool confirmations to worker",{toolCount:y.responses.size,responses:Array.from(y.responses.entries()).map(([D1,A1])=>({id:D1,accepted:A1}))}),y.responses.forEach((D1,A1)=>{k1.info("Sending individual tool confirmation to worker",{toolUseID:A1,accepted:D1}),T.handle({type:"user:tool-input",toolUse:A1,value:{accepted:D1}}),S.toolConfirmationStatus.set(A1,"sent")}),k1.info("Transitioning to awaiting-agent after sending batch confirmations"),$.next({type:"state",state:{type:"running-tools",startTime:Date.now()}}),{...S,type:"awaiting-agent",displayedError:null};else if(y.type==="summary:created"){let D1=I.value.last;if(D1){let A1=xa(D1);if(A1){let K1={used:A1.totalInputTokens,maxAvailable:A1.maxInputTokens},X1=S.type==="compacting"?S.preCompactionTokenUsage:null;if(X1){let N1=X1.used,s=K1.used,r=N1-s,e=N1>0?r/N1*100:0;if(r<=0)k1.warn("Compaction did not reduce token usage",{preUsed:N1,postUsed:s,reduction:r,threadID:E});else if(e<10)k1.warn("Compaction reduction was minimal",{preUsed:N1,postUsed:s,reduction:r,reductionPercent:e.toFixed(1),threadID:E});else k1.info("Compaction successful",{preUsed:N1,postUsed:s,reduction:r,reductionPercent:e.toFixed(1),threadID:E})}else k1.warn("No pre-compaction token usage available for validation",{threadID:E});$.next({type:"token-usage",tokenUsage:K1})}}return z1()}else if(y.type==="compaction-result")if(y.result)return z1();else return $.next({type:"error",error:{type:"other",error:"Compaction failed"},retryable:!1}),$.next({type:"confirm",confirmation:{type:"compaction",severity:y.severity}}),{...S,type:"confirming-compaction",severity:y.severity};else if(y.type==="update-start-updating")return{...S,updateState:"updating"};else if(y.type==="update-result")if(y.success)return setTimeout(()=>{P.next({type:"clear-update-status"})},1e4),{...S,updateState:"success"};else return setTimeout(()=>{P.next({type:"clear-update-status"})},1e4),{...S,updateState:"error"};else if(y.type==="clear-update-status")return{...S,updateState:"none"};else if(y.type==="agent-file-check-complete"){if(S.type==="checking-agent-file")if(y.shouldGenerate)return $.next({type:"confirm",confirmation:{type:"agent-file-creation"}}),{...S,type:"confirming-agent-file-creation"};else return z1()}else if(y.type==="tool-status")return $.next({type:"tool-status",toolUse:y.toolUse,status:y.status,startTime:y.startTime,endTime:y.endTime,subthreadID:y.subthreadID}),S;else if(y.type==="subagent-started"){if(S.type==="initializing")return S;return $.next({type:"subagent-started",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription}),S}else if(y.type==="subagent-status")return $.next({type:"subagent-status",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription,agentState:y.agentState}),S;else if(y.type==="subthread-message"){if(y.blocks.length>0)$.next({type:"subthread-messages",subThreadID:y.subThreadID,blocks:y.blocks});return S}else if(y.type==="historic-thread"){if(S.type!=="initializing")throw new Error(`Historic thread event received in unexpected state: ${S.type}`);if(w&&W.size===0&&y.messages.length>0){let A1=gf({id:E,messages:y.messages},W,N);if(A1.blocks.length>0)$.next({type:"messages",blocks:A1.blocks})}let D1={...S,hasThread:!0};if(D1.hasUI&&D1.hasThread)return z1();return D1}else if(y.type==="subagent-finished")return $.next({type:"subagent-finished",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription,result:y.result}),S;else if(y.type==="subagent-cancelled")return $.next({type:"subagent-cancelled",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription}),S;else if(y.type==="subagent-error")return $.next({type:"subagent-error",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription,error:y.error}),S;else if(y.type==="subthread-tool-request"){if(y.tools.length>0){if(k1.info(`Received tool confirmation request from subthread ${y.subThreadID}`,{subThreadID:y.subThreadID,agentNumber:y.agentNumber,toolCount:y.tools.length,tools:y.tools.map((D1)=>D1.useBlock.name),queueLength:S.confirmationQueue.length}),S.type==="collecting-tool-confirmations"||S.confirmationQueue.length>0)return k1.info("Queueing tool confirmation request",{subThreadID:y.subThreadID,agentNumber:y.agentNumber,currentQueueLength:S.confirmationQueue.length}),{...S,confirmationQueue:[...S.confirmationQueue,{type:"subthread-tool-request",subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription,tools:y.tools}]};return $.next({type:"confirm",confirmation:{type:"tool-use",tools:y.tools,subthreadID:y.subThreadID,agentNumber:y.agentNumber}}),{...S,type:"collecting-tool-confirmations",currentToolID:y.tools[0]?.useBlock.id||null,subthreadContext:{subThreadID:y.subThreadID,agentNumber:y.agentNumber,taskDescription:y.taskDescription}}}return S}else if(y.type==="lsp-status")return $.next({type:"lsp-status",lspState:y.lspState}),S;else if(y.type==="ui-input"){if(y.input.type==="initialized")if(S.type==="initializing"){let D1={...S,hasUI:!0};if(D1.hasUI&&D1.hasThread)if(I.value.last?.messages.length===0)return k1.info("Checking agent file status"),I4A({filesystem:_(E),configService:Q,threadService:B},I.value.last).then((K1)=>{P.next({type:"agent-file-check-complete",shouldGenerate:K1.shouldGenerate})}).catch((K1)=>{k1.error("Agent file check failed",K1),P.next({type:"agent-file-check-complete",shouldGenerate:!1})}),{...S,type:"checking-agent-file"};else return z1();return D1}else throw new Error(`UI initialized event received in unexpected state: ${S.type}`);else if(y.input.type=="message"){let{message:D1}=y.input;return d(D1)}else if(y.input.type==="interrupt")if(S.type==="awaiting-agent"){if($.next({type:"cancelled"}),sZ.cancel(E),y.input.message)S.cancelledWithMessage=y.input.message;return S}else return S;else if(y.input.type==="exit")return u.unsubscribe(),{...S,type:"closing"};else if(y.input.type==="retry")return sZ.retry(E),{...S,type:"awaiting-agent",displayedError:null};else if(y.input.type==="confirmation"){if(S.type==="out-of-credits"&&y.input.confirmation.type==="out-of-credits")sZ.retry(E);else if(S.type==="confirming-compaction"&&y.input.confirmation.type==="compaction")if(y.input.allow){let D1="tokenUsage"in S?S.tokenUsage:void 0;return $.next({type:"state",state:{type:"compacting"}}),a().then(()=>{k1.info("Compaction completed successfully",{preCompactionTokenUsage:D1}),P.next({type:"compaction-result",result:!0,severity:S.severity})}).catch((A1)=>{k1.error("Compaction failed",A1),P.next({type:"compaction-result",result:!1,severity:S.severity})}),{...S,type:"compacting",preCompactionTokenUsage:D1}}else return k1.info("Compaction cancelled"),z1();else if(S.type==="collecting-tool-confirmations"&&y.input.confirmation.type==="tool-use"){if(!S.currentToolID)return k1.error("No current tool ID in collecting-tool-confirmations state"),S;if(k1.info(`Received confirmation for tool: ${y.input.allow?"accepted":"rejected"}`,{toolUseID:S.currentToolID,subthreadID:y.input.confirmation.subthreadID}),y.input.confirmation.subthreadID&&S.subthreadContext){k1.info("Sending tool confirmation to subthread",{subThreadID:S.subthreadContext.subThreadID,toolUseID:S.currentToolID,accepted:y.input.allow});let X1=new Map([[S.currentToolID,y.input.allow]]);if(F.handleToolConfirmations(S.subthreadContext.subThreadID,X1).catch((N1)=>{k1.error("Failed to send subthread tool confirmation",N1)}),S.confirmationQueue.length>0){let N1=S.confirmationQueue[0],s=S.confirmationQueue.slice(1);return k1.info("Processing next queued confirmation request",{subThreadID:N1.subThreadID,agentNumber:N1.agentNumber,remainingQueueLength:s.length}),$.next({type:"confirm",confirmation:{type:"tool-use",tools:N1.tools,subthreadID:N1.subThreadID,agentNumber:N1.agentNumber}}),{...S,type:"collecting-tool-confirmations",currentToolID:N1.tools[0]?.useBlock.id||null,subthreadContext:{subThreadID:N1.subThreadID,agentNumber:N1.agentNumber,taskDescription:N1.taskDescription},confirmationQueue:s}}return k1.info("Transitioning to awaiting-agent after sending subthread confirmation"),$.next({type:"state",state:{type:"running-tools",startTime:Date.now()}}),{...S,type:"awaiting-agent",displayedError:null}}S.toolConfirmationStatus.set(S.currentToolID,y.input.allow?"confirmed":"rejected"),t(y.input.confirmation.addToAllowList);let D1=Array.from(S.toolConfirmationStatus.entries()).filter(([X1,N1])=>N1==="awaiting");if(D1.length>0){let[X1]=D1[0];if(!I.value.isSet)return k1.error("Thread not available for finding next tool"),S;let r=(I.value.last.messages.at(-1)?.content.filter((G1)=>G1.type==="tool_result"&&G1.run.status==="blocked-on-user")??[]).find((G1)=>G1.toolUseID===X1),e=r?y7(I.value.last,r.toolUseID):null;if(r&&e)return k1.info(`Asking confirmation for next tool: ${e.name}`,{toolUseID:X1,remainingCount:D1.length}),$.next({type:"confirm",confirmation:{type:"tool-use",tools:[{useBlock:e,toAllow:r.run.status==="blocked-on-user"?r.run.toAllow:void 0}]}}),{...S,currentToolID:X1}}let A1=Array.from(S.toolConfirmationStatus.entries()).filter(([X1,N1])=>N1==="confirmed"||N1==="rejected");k1.info("All tool confirmations collected, sending batch response",{totalTools:A1.length,responses:A1.map(([X1,N1])=>({id:X1,accepted:N1==="confirmed"}))});let K1=new Map(A1.map(([X1,N1])=>[X1,N1==="confirmed"]));return P.next({type:"batch-tool-confirmations-complete",responses:K1}),$.next({type:"state",state:{type:"running-tools",startTime:Date.now()}}),{...S,type:"awaiting-agent",displayedError:null}}else if(y.input.confirmation.type==="agent-file-creation"&&S.type==="confirming-agent-file-creation")if(y.input.allow)return N4A(T).catch((D1)=>{k1.error("Agent file generation failed",D1)}),$.next({type:"state",state:{type:"generating-agent-file"}}),{...S,type:"awaiting-agent",displayedError:null};else return z1();return S}}return S}),{type:"initializing",hasUI:!1,hasThread:!1,tokenUsage:null,compactionPromptState:"none",updateState:"none",toolConfirmationStatus:new Map,currentAssistantMessageIndex:null,hasBeenIdle:!1,threadTitle:null,confirmationQueue:[]})).subscribe({error:(S)=>{k1.error("Error in state machine",S),b()}});if(w)G.get(E).then((S)=>{if(S&&S.messages)k1.info("Sending historic messages for initialization",{threadId:E,messageCount:S.messages.length}),P.next({type:"historic-thread",messages:S.messages});else k1.info("Sending empty messages for continued thread without stored messages",{threadId:E}),P.next({type:"historic-thread",messages:[]})});else k1.info("Sending empty messages for new thread initialization",{threadId:E}),P.next({type:"historic-thread",messages:[]});return ar6(P).catch((S)=>{k1.debug("Update check startup failed",S)}),await l6(g)}async function ar6(A){try{let Q=await O4A("0.0.1751616119-gdb2756");if(Q.hasUpdate&&Q.latestVersion)A.next({type:"update-start-updating"}),setTimeout(async()=>{try{await L4A(Q.latestVersion),A.next({type:"update-result",success:!0,version:Q.latestVersion})}catch(B){k1.info("Update failed",B),A.next({type:"update-result",success:!1,version:Q.latestVersion})}},100);else k1.info("No update available")}catch(Q){k1.debug("Update check failed",Q)}}var m51={WARNING:0.8,SEVERE:0.9,CRITICAL:0.98};$2();AK();D2();gq();function T4A(A){let{stdout:Q,threadID:B,pipedInput:J}=A;function D(z){Q.write(JSON.stringify(z)+`
7414
7414
  `)}return(z)=>{let Z=new C8;if(!J)throw new Error("JSONL UI requires piped input (non-interactive mode)");return k1.debug("setting up JSONL UI"),z.pipe(Zi({onSubscribe:()=>{D({type:"initial",threadID:B}),CT().then(()=>{Z.next({type:"initialized"})})},onUnsubscribe:()=>{k1.debug("JSONL UI stopped")}})).pipe(qZ(()=>{Z.complete()})).pipe(KT(n3("JSONL",(X,K)=>{if(k1.debug("JSONL UI event",{event:K}),X.type==="shutting-down")return X;switch(K.type){case"messages":{let G=(E)=>{return E.map((w)=>{if(w.type==="text"){let{type:H,text:M}=w;return{type:H,text:M}}else if(w.type==="image"){let{type:H,source:M}=w;return{type:H,source:M}}else if(w.type==="tool_result"){let{type:H,toolUseID:M,run:W,userInput:I}=w;return{type:H,toolUseID:M,run:W,userInput:I}}else if(w.type==="thinking"){let{type:H,thinking:M}=w;return{type:H,thinking:M}}else if(w.type==="redacted_thinking"){let{type:H,data:M}=w;return{type:H,data:M}}else if(w.type==="tool_use"){let{type:H,id:M,name:W,input:I}=w,N={type:H,id:M,name:W};if(I!==void 0)N.input=I;return N}else if(w.type==="server_tool_use"){let{type:H,id:M,name:W,input:I}=w;return{type:H,id:M,name:W,input:I}}else if(w.type==="web_search_tool_result"){let{type:H,content:M}=w;return{type:H,content:M}}else if(w.type==="summary"){let{type:H,summary:M}=w;return{type:H,summary:M}}return w})},q=(E)=>{switch(E.status){case"blocked-on-user":case"rejected-by-user":return{status:E.status,toAllow:E.toAllow};case"error":return{status:"error",error:typeof E.error==="object"&&"message"in E.error?E.error:{message:String(E.error)}};case"cancelled":case"in-progress":return{status:E.status,progress:E.progress};case"done":return{status:"done",progress:E.progress,result:E.result,files:E.files};default:return{status:E.status}}},Y=[],F=[];for(let E of K.blocks)if(E.type==="message"){let[w,H]=E.data;if(H.role==="user"){let{role:M,content:W,meta:I}=H,N={role:M,content:G(W),meta:I};Y.push([w,N])}else if(H.role==="assistant"){let{role:M,content:W,state:I}=H,N={role:M,content:G(W),state:I};Y.push([w,N])}else if(H.role==="info"){let{role:M,content:W}=H,I={role:M,content:G(W)};Y.push([w,I])}else Y.push([w,H])}else if(E.type==="toolResult"){let[w,H]=E.data;if(w.input&&H.run!==void 0){let M={type:w.type,id:w.id,name:w.name,input:{}},W={type:H.type,toolUseID:H.toolUseID,run:q(z5(H.run))};F.push([M,W])}else k1.warn("Skipping tool result",{useBlock:w,resultBlock:H})}return D({type:"messages",messages:Y,toolResults:F}),X}case"cancelled":return D({type:"cancelled"}),X;case"tool-status":return D({type:"tool-status",toolUse:{id:K.toolUse.id,name:K.toolUse.name,input:K.toolUse.input},status:K.status,startTime:K.startTime,endTime:K.endTime,subthreadID:K.subthreadID}),X;case"token-usage":return D({type:"token-usage",tokenUsage:K.tokenUsage}),X;case"accept-message":if(X.type==="initializing")return k1.info("Sending piped input",{pipedInput:J}),Z.next({type:"message",message:J}),{type:"running"};else return Z.next({type:"exit"}),X;case"error":return D({type:"error",error:K.error}),Z.next({type:"exit"}),X;case"confirm":{if(K.confirmation.type==="tool-use")for(let{useBlock:G}of K.confirmation.tools){if(G.name===o4&&G.input&&typeof G.input==="object"&&"cmd"in G.input)D({type:"tool-rejected",tool:G.name,command:String(G.input.cmd),message:`Tool call rejected. To allow automatically, add to ${jE}: {"amp.commands.allowlist": [${JSON.stringify(G.input.cmd)}]}`});Z.next({type:"confirmation",confirmation:{type:"tool-use",toolUseID:G.id,addToAllowList:[]},allow:!1})}else if(K.confirmation.type==="compaction")Z.next({type:"confirmation",confirmation:K.confirmation,allow:!0});else if(K.confirmation.type==="agent-file-creation")Z.next({type:"confirmation",confirmation:K.confirmation,allow:!1});else if(K.confirmation.type==="out-of-credits")D({type:"out-of-credits",message:"Insufficient usage balance. Visit https://ampcode.com/pay to buy more usage."}),Z.next({type:"exit"});else Z.next({type:"confirmation",confirmation:K.confirmation,allow:!1});return X}case"subagent-started":return D({type:"subagent-started",subThreadID:K.subThreadID,agentNumber:K.agentNumber,taskDescription:K.taskDescription}),X;case"subagent-finished":return D({type:"subagent-finished",subThreadID:K.subThreadID,agentNumber:K.agentNumber,taskDescription:K.taskDescription,result:K.result}),X;case"subagent-cancelled":return D({type:"subagent-cancelled",subThreadID:K.subThreadID,agentNumber:K.agentNumber,taskDescription:K.taskDescription}),X;case"subagent-error":return D({type:"subagent-error",subThreadID:K.subThreadID,agentNumber:K.agentNumber,taskDescription:K.taskDescription,error:K.error}),X;case"subagent-status":return D({type:"subagent-status",subThreadID:K.subThreadID,agentNumber:K.agentNumber,taskDescription:K.taskDescription,agentState:K.agentState}),X;case"subthread-messages":{let G=K.blocks.filter((Y)=>Y.type==="message").length,q=K.blocks.filter((Y)=>Y.type==="toolResult").length;return D({type:"subthread-activity",subThreadID:K.subThreadID,messageCount:G,toolResultCount:q}),X}case"state":switch(K.state.type){case"shutting-down":return D({type:"shutdown"}),{type:"shutting-down"};default:return D({type:"state",state:K.state.type}),X}case"lsp-status":return D({type:"lsp-status",lspState:K.lspState}),X}return X}),{type:"initializing"})).subscribe({error:(X)=>{k1.error("Error in JSONL UI:",X),D({type:"error",error:{type:"other",error:X.toString()}}),Z.next({type:"exit"})}}),UA.from(Z)}}$2();AK();$2();import{exec as bf}from"node:child_process";function xf(A="idle"){try{if(A==="idle"){if(process.platform==="darwin")bf("afplay /System/Library/Sounds/Submarine.aiff");else if(process.platform==="win32")bf("powershell [console]::beep(800,200)");else if(process.platform==="linux")bf("paplay /usr/share/sounds/freedesktop/stereo/message.oga || beep")}else if(A==="requires-user-input"){if(process.platform==="darwin")bf("afplay /System/Library/Sounds/Ping.aiff");else if(process.platform==="win32")bf("powershell [console]::beep(1000,300)");else if(process.platform==="linux")bf("paplay /usr/share/sounds/freedesktop/stereo/dialog-information.oga || beep -f 1000 -l 100")}}catch(Q){k1.error(`Failed to play notification sound (${A}):`,Q)}}D2();$2();import{mkdir as j4A,readFile as P4A,writeFile as Ak1,open as nr6}from"node:fs/promises";import{homedir as sr6}from"node:os";import Ld from"node:path";var rr6=Ld.join(Vf||Ld.join(sr6(),".local/share"),"amp"),or6=Ld.join(rr6,"history.jsonl"),tr6=1000;class _d{history=[];index=-1;loaded=!1;historyFile;maxSize;constructor(A){this.historyFile=A?.historyFile||or6,this.maxSize=A?.maxSize||tr6,this.ensureLoaded()}async ensureLoaded(){if(!this.loaded)this.history=await this.readHistoryFromDisk(),this.loaded=!0}async readHistoryFromDisk(){try{let A=await P4A(this.historyFile,"utf-8");if(!A.trim())return[];return this.parseJsonlContent(A)}catch(A){if(A.code!=="ENOENT")return k1.warn("Failed to read history file",{error:A.message}),[];if(this.historyFile.endsWith(".jsonl")){let Q=this.historyFile.replace(".jsonl",".json");try{let B=await P4A(Q,"utf-8");if(B.trim()){let J=JSON.parse(B);k1.info("Migrating from old history.json to history.jsonl",{oldFile:Q,newFile:this.historyFile,size:J.length}),await this.writeHistoryToDisk(J);try{await import("node:fs/promises").then((D)=>D.unlink(Q))}catch{}return J}}catch{}}return[]}}parseJsonlContent(A){let Q=A.trim().split(`
7415
7415
  `),B=[];for(let J of Q)if(J.trim())try{let D=JSON.parse(J);if(typeof D==="string")B.push(D);else k1.warn("Skipping non-string entry in history",{line:J,type:typeof D})}catch(D){k1.warn("Skipping invalid JSONL line in history",{line:J})}return k1.info("Loaded history from JSONL file",{file:this.historyFile,size:B.length}),B}async writeHistoryToDisk(A){await j4A(Ld.dirname(this.historyFile),{recursive:!0});let Q=A.map((B)=>JSON.stringify(B)).join(`
7416
7416
  `)+`
@@ -7538,7 +7538,7 @@ Read about how to prevent this error on https://github.com/vadimdemedes/ink/#isr
7538
7538
  `),d=0,a=0;for(let z1=0;z1<y.length;z1++){let t=g6.default(y[z1]).length;if(d+t>=Y){a=d;break}d+=t+1}if(Y>a){let z1=g6.default.substr(G,a,Y-a);N((t)=>[z1,...t.slice(0,9)]),q((t)=>{let D1=g6.default(t);return D1.slice(0,a).join("")+D1.slice(Y).join("")}),F(a)}return}if(u.ctrl&&b==="k"){let y=G.split(`
7539
7539
  `),d=0,a=g6.default(G).length;for(let z1=0;z1<y.length;z1++){let t=g6.default(y[z1]).length;if(d+t>=Y){a=d+t;break}d+=t+1}if(Y<a){let z1=g6.default.substr(G,Y,a-Y);N((t)=>[z1,...t.slice(0,9)]),q((t)=>{let D1=g6.default(t);return D1.slice(0,Y).join("")+D1.slice(a).join("")})}return}if(u.ctrl&&b==="w"||u.alt&&u.backspace||u.ctrl&&u.backspace){if(Y>0){let y=VQA(G,Y),d=g6.default.substr(G,y,Y-y);N((a)=>[d,...a.slice(0,9)]),q((a)=>{let z1=g6.default(a);return z1.slice(0,y).join("")+z1.slice(Y).join("")}),F(y)}return}if(u.ctrl&&b==="d"||u.delete){if(Y<g6.default(G).length){let y=g6.default.substr(G,Y,1);N((d)=>[y,...d.slice(0,9)]),q((d)=>{let a=g6.default(d);return a.slice(0,Y).join("")+a.slice(Y+1).join("")})}return}if(u.alt&&b==="d"){if(Y<g6.default(G).length){let y=OQA(G,Y),d=g6.default.substr(G,Y,y-Y);N((a)=>[d,...a.slice(0,9)]),q((a)=>{let z1=g6.default(a);return z1.slice(0,Y).join("")+z1.slice(y).join("")})}return}if(u.ctrl&&b==="y"){if(I.length>0){let y=I[0];q((d)=>{let a=g6.default(d);return a.slice(0,Y).join("")+y+a.slice(Y).join("")}),F((d)=>d+g6.default(y).length)}return}let S=u.return&&(u.shift||u.meta||u.ctrl)||!u.return&&b==="\r"||u.escape&&u.meta&&!b||b==="\x1B[27;2;13~"||b==="[27;2;13~"||b==="\x1B[13;2u";if(k1.debug("Modified Enter detection",{isModifiedEnter:S,"key.return":u.return,"key.shift":u.shift,"key.meta":u.meta,"key.ctrl":u.ctrl,keyInput:JSON.stringify(b),hasContent:G.trim().length>0}),S){if($)return;q((y)=>{let d=g6.default(y);return d.slice(0,Y).join("")+`
7540
7540
  `+d.slice(Y).join("")}),F((y)=>y+1);return}if(u.return&&!u.shift&&!u.meta&&!u.ctrl){if($)return;if(G.trim().length>0)g(G.trim());else return;return}if(!u.ctrl&&!u.meta&&!u.tab&&b)q((y)=>{let d=g6.default(y);return d.slice(0,Y).join("")+b+d.slice(Y).join("")}),F((y)=>y+g6.default(b).length)});let g=async(b)=>{if(K({virtualLine:0,column:0}),F(0),w(!0),q(""),N([]),_(!1),R(null),Q)Q.add(b),Q.reset();try{A(b)}catch(u){k1.error("Failed to submit message",u)}finally{w(!1)}};return fA(y6,{flexDirection:"column",width:"100%",flexGrow:1,flexShrink:0,ref:Z,children:M.map((b,u)=>fA(y6,{flexShrink:0,flexDirection:"row",children:fA(y6,{flexGrow:1,flexShrink:0,width:"100%",children:u===X.virtualLine?j9(Wy1,{children:[fA(h6,{dimColor:B,children:g6.default.substr(b.content,0,X.column)||""}),fA(h6,{inverse:!B,dimColor:B,children:g6.default(b.content)[X.column]??" "}),fA(h6,{dimColor:B,children:g6.default.substr(b.content,X.column+1)||""})]}):fA(h6,{dimColor:B,children:b.content||" "})})},u))})}function S12(A,Q){let B=A.split(`
7541
- `),J=[],D=0;for(let z of B){let Z=g6.default(z);if(Z.length<=Q)J.push({type:"start",content:z,originalLine:D,start:0,end:Z.length});else{let X=z.match(/\S+| +/g)||[""],K="",G=0,q=0,Y=!0;for(let F of X){let E=/^ +$/.test(F),w=g6.default(F).length;if(g6.default(K).length+w<=Q)K+=F;else{if(K){let H=K.replace(/ +$/,""),M=g6.default(K),W=g6.default(H);J.push({type:Y?"start":"continuation",content:H,originalLine:D,start:G,end:G+W.length}),q=G+M.length,Y=!1}if(E){q+=w,G=q,K="";continue}if(G=q,w>Q){let H=g6.default(F);for(let M=0;M<H.length;M+=Q){let W=H.slice(M,M+Q).join("");J.push({type:Y?"start":"continuation",content:W,originalLine:D,start:G+M,end:G+M+g6.default(W).length}),Y=!1}q+=w,G=q,K=""}else K=F}if(!E||g6.default(K).length>0)q+=w}if(K){let F=g6.default(K);J.push({type:Y?"start":"continuation",content:K,originalLine:D,start:G,end:G+F.length})}}D++}return J}var o71=G6(z4(),1);function Oy1({options:A,onSelect:Q,title:B}){let[J,D]=o71.useState(0);if(rM((z,Z)=>{if(Z.downArrow||Z.ctrl&&z.toLowerCase()==="n"||Z.tab&&!Z.shift)D((X)=>(X+1)%A.length);else if(Z.upArrow||Z.ctrl&&z.toLowerCase()==="p"||Z.shift&&Z.tab)D((X)=>(X-1+A.length)%A.length);else if(Z.return&&A[J])Q(A[J].value);else if(Z.escape)Q(null);else if(Z.ctrlC)Q(null)}),o71.useEffect(()=>{D(0)},[A]),A.length===0)return null;return j9(y6,{flexDirection:"column",borderStyle:"round",paddingX:1,children:[B&&fA(y6,{marginBottom:1,children:fA(h6,{bold:!0,children:B})}),A.map((z,Z)=>fA(y6,{children:j9(h6,{bold:Z===J,color:Z===J?"blue":void 0,children:[Z===J?"» ":" ",z.label]})},Z))]})}async function v12(A,Q){try{return await A.query(Q)}catch(B){return k1.error("Completion failed",B),[]}}var LQA=10;function $12({messages:A,agentState:Q}){if(Q.type!=="streaming-thinking"&&Q.type!=="streaming-text")return null;let B=A.findLast((z)=>z.type==="message"&&z.data[1].role==="assistant"&&z.data[1].state?.type==="streaming");if(!B||B.type!=="message")return null;let[,J]=B.data;if(!J.content.some((z)=>z.type==="thinking"||z.type==="text"))return null;return fA(y6,{flexDirection:"column",marginBottom:1,children:J.content.map((z,Z)=>{if(z.type==="thinking"){let X=z.thinking,K=cd(X,!0);return fA(y6,{flexDirection:"column",marginTop:Z>0?1:0,children:K.map((G,q)=>fA(y6,{children:fA(h6,{children:G})},q))},Z)}else if(z.type==="text")return fA(y6,{marginTop:Z>0?1:0,children:fA(Vy1,{children:z.text})},Z);return null})})}function f12(A,Q){let B;switch(A.type){case"tool-use":{if(A.tools.length===1){let J=A.tools[0];if(J?.useBlock)B=k12(J.useBlock);else B="Confirm tool call"}else B=`Confirm ${A.tools.length} tool calls`;break}case"compaction":B=`Compact thread? (${A.severity} token usage)`;break;case"out-of-credits":B="Insufficient usage balance. Retry?";break;case"agent-file-creation":B="Create AGENT.md file for this codebase?";break}if(Q&&Q.total>1)B=`[${Q.current}/${Q.total}] ${B}`;return B}function k12(A){if(A.name===o4){let Q=A.input;return"Run "+al.print(Q.cmd,{foreground:"green",style:"bold"})+`${Q.cwd?` in ${Q.cwd}`:""}?`}else return al.print(`Invoke tool ${A.name} with args ${JSON.stringify(A.input)}?`,{foreground:"yellow"})}function y12(A){switch(A.type){case"tool-use":{let B=A.subthreadID===void 0&&A.tools.some((D)=>D.toAllow),J=[{value:"yes",label:"Yes"},{value:"no",label:"No"}];if(B)J.push({value:"always",label:"Always (add to allowlist)"});return J}case"compaction":return[{value:"yes",label:"Yes"},...A.severity!=="critical"?[{value:"no",label:"No"}]:[]];case"out-of-credits":case"agent-file-creation":return[{value:"yes",label:"Yes"},{value:"no",label:"No"}]}}function g12({todos:A}){if(!Array.isArray(A)||A.length===0)return null;return j9(y6,{borderStyle:"round",paddingX:1,flexDirection:"column",flexGrow:1,flexShrink:0,children:[fA(y6,{children:j9(h6,{bold:!0,children:["TODOs (",A.length,")"]})}),A.map((Q,B)=>fA(y6,{gap:1,children:j9(h6,{wrap:"truncate",children:[fA(h6,{children:"• "}),fA(h6,{bold:Q.status==="in-progress",strikethrough:Q.status==="completed",children:Q.content})]})},Q.id))]})}function _QA(A){return A.filter((Q)=>Q.type==="message").map((Q)=>Q.data[1])}function TQA({outputs:A,inputs:Q,history:B,fuzzyServer:J,useNotifications:D}){let z=Ey1(),[Z,X]=Jk(),[K]=Q_.useState(()=>new C8);Q_.useEffect(()=>{return()=>{K.complete()}},[K]);let[G,q]=Q_.useState({type:"running",agentState:{type:"idle"},tokenUsage:null,lspState:null,todos:[],showCancelled:!1,rerendering:!1,confirmationQueue:[],currentConfirmation:void 0,totalConfirmations:0,threadTitle:"Untitled",messages:[],activeTools:new Map,subagents:new Map,completions:[],selectedCompletionIndex:0,currentMention:void 0}),Y=(M)=>{q((W)=>{if(W.type!=="confirming"||!W.currentConfirmation)return W;let I=W.currentConfirmation,N=W.confirmationQueue.slice(1),V=M===null?"no":M;if(I.type==="tool-use")for(let{useBlock:T,toAllow:R}of I.tools){let j=V==="yes"||V==="always",P=V==="always"&&R?R:[];Q.next({type:"confirmation",allow:j,confirmation:{type:"tool-use",toolUseID:T.id,addToAllowList:P,subthreadID:I.subthreadID}})}else{let T=V==="yes";Q.next({type:"confirmation",allow:T,confirmation:{type:I.type}})}let _=N[0];if(_)return{...W,type:"confirming",currentConfirmation:_,confirmationQueue:N};else return{...W,type:"running",currentConfirmation:void 0,confirmationQueue:N,totalConfirmations:0}})};Q_.useEffect(()=>{let M=A.subscribe((W)=>{switch(W.type){case"state":{switch(W.state.type){case"shutting-down":q({...G,type:"exiting"}),CT().then(()=>{z.exit()});break;case"idle":if(D)xf("idle");q((I)=>({...I,agentState:W.state}));break;default:q((I)=>({...I,agentState:W.state}));break}break}case"messages":{q((I)=>{let N=[...I.messages,...W.blocks],V=_QA(N),_=ma({messages:V});return{...I,messages:N,todos:Array.isArray(_)?_:[],showCancelled:!1}});break}case"token-usage":{q((I)=>({...I,tokenUsage:W.tokenUsage}));break}case"lsp-status":{q((I)=>({...I,lspState:W.lspState}));break}case"cancelled":{q((I)=>({...I,showCancelled:!0,activeTools:new Map,subagents:new Map}));break}case"tool-status":{q((I)=>{let N=new Map(I.activeTools);if(W.toolUse.name===FQ)return{...I,activeTools:N};if(W.status==="completed"||W.status==="error"||W.status==="cancelled")N.delete(W.toolUse.id);else{let V=W.subthreadID;N.set(W.toolUse.id,{toolUse:W.toolUse,status:W.status,startTime:W.startTime,endTime:W.endTime,subthreadID:V})}return{...I,activeTools:N}});break}case"subthread-messages":break;case"subagent-started":{q((I)=>({...I,subagents:new Map(I.subagents).set(W.subThreadID,{subThreadID:W.subThreadID,agentNumber:W.agentNumber,taskDescription:W.taskDescription,status:"running",startTime:Date.now()})}));break}case"subagent-finished":{q((I)=>{let N=new Map(I.subagents);return N.delete(W.subThreadID),{...I,subagents:N}});break}case"subagent-cancelled":{q((I)=>{let N=new Map(I.subagents);return N.delete(W.subThreadID),{...I,subagents:N}});break}case"subagent-error":{q((I)=>{let N=new Map(I.subagents);return N.delete(W.subThreadID),{...I,subagents:N}});break}case"subagent-status":{q((I)=>{let N=new Map(I.subagents),V=N.get(W.subThreadID);if(V)N.set(W.subThreadID,{...V,agentState:W.agentState});return{...I,subagents:N}});break}case"confirm":{if(D)xf("requires-user-input");q((I)=>{let N=[...I.confirmationQueue,W.confirmation];if(I.type==="running"&&N.length===1)return{...I,type:"confirming",currentConfirmation:W.confirmation,confirmationQueue:N,totalConfirmations:N.length};else return{...I,confirmationQueue:N,totalConfirmations:Math.max(I.totalConfirmations,N.length)}});break}case"thread-title":{q((I)=>({...I,threadTitle:W.title}));break}default:k1.info("unhandled ui output",W);break}});return()=>{M.unsubscribe()}},[A,z]);let F=async(M,W)=>{let I=await v12(J,M);q((N)=>({...N,completions:I,selectedCompletionIndex:0,currentMention:W}))},E=()=>{q((M)=>({...M,completions:[],selectedCompletionIndex:0,currentMention:void 0}))},w=(M)=>{if(M!==null)K.next(M),q((W)=>({...W,completions:[],selectedCompletionIndex:0,currentMention:void 0}));else E()};Q_.useEffect(()=>{let M=null,W=()=>{q((I)=>({...I,rerendering:!0})),process.stdout.write("\x1B[2J"),process.stdout.write("\x1B[3J"),process.stdout.write("\x1B[H"),M=setTimeout(()=>{q((I)=>({...I,rerendering:!1}))},LQA)};return process.stdout.on("resize",W),()=>{if(M)clearTimeout(M);process.stdout.off("resize",W)}},[]),rM((M,W)=>{if(G.type==="expanded-view")return;if(G.type==="confirming")return;if(W.escape)Q.next({type:"interrupt"});else if(W.ctrl&&M.toLowerCase()==="r")q({...G,type:"expanded-view"});else if(W.ctrlL)q((I)=>({...I,rerendering:!0})),process.stdout.write("\x1B[2J"),process.stdout.write("\x1B[3J"),process.stdout.write("\x1B[H"),setTimeout(()=>{q((I)=>({...I,rerendering:!1}))},LQA);else if(W.ctrlC)if(G.type==="confirming-exit")Q.next({type:"exit"});else q({...G,type:"confirming-exit"}),setTimeout(()=>{q({...G,type:"running"})},1000)});let H=Z>100;if(G.type==="expanded-view"){let M=_QA(G.messages);return fA(CQA,{threadName:G.threadTitle,messages:M,onExit:()=>q({...G,type:"running"})})}return j9(y6,{flexDirection:"column",minHeight:"100%",flexGrow:1,height:G.rerendering&&G.messages.length==0?0:"auto",children:[!G.rerendering&&fA(c71,{items:G.messages,children:(M,W)=>fA(y6,{children:fA(b12,{block:M,marginTop:W===0?0:1},W)},W)}),G.showCancelled&&fA(y6,{marginTop:1,children:fA(h6,{color:"gray",children:"Cancelled"})}),G.type!=="exiting"&&j9(y6,{flexDirection:"column",marginTop:1,children:[fA($12,{messages:G.messages,agentState:G.agentState}),fA(GQA,{agentState:G.agentState,activeTools:G.activeTools,subagents:G.subagents}),fA(WQA,{activeTools:G.activeTools,subagents:G.subagents,messages:G.messages}),G.type==="confirming"&&G.currentConfirmation&&fA(y6,{marginBottom:1,children:fA(Oy1,{title:f12(G.currentConfirmation,{current:G.totalConfirmations-G.confirmationQueue.length,total:G.totalConfirmations}),options:y12(G.currentConfirmation),onSelect:Y})}),j9(y6,{flexDirection:H?"row-reverse":"column",children:[G.todos.length>0&&fA(y6,{flexGrow:0,flexShrink:0,width:H?"auto":"100%",children:fA(g12,{todos:G.todos})}),fA(y6,{flexGrow:1,borderStyle:"round",paddingX:1,children:fA(RQA,{onSubmit:(M)=>{Q.next({type:"message",message:M})},history:B,disabled:G.type==="confirming",onCompletionRequest:F,onCompletionCancel:E,selectedCompletions:K})})]}),G.completions.length>0&&(()=>{let M=Math.min(10,Math.max(3,Math.floor(X*0.4))),W=G.completions.slice(0,M);return fA(y6,{marginBottom:1,children:fA(Oy1,{title:`File mentions (${W.length}${G.completions.length>M?`/${G.completions.length}`:""})`,options:W.map((I)=>({value:I,label:I})),onSelect:w})})})(),j9(y6,{gap:2,children:[j9(y6,{flexGrow:1,children:[G.type==="confirming-exit"&&fA(h6,{dimColor:!0,children:"Ctrl+C again to exit"}),G.type==="confirming"&&fA(h6,{dimColor:!0,children:"Escape to cancel"}),G.type==="running"&&j9(y6,{gap:1,children:[fA(y6,{gap:1,children:fA(h6,{dimColor:!0,children:"Enter to submit,"})}),fA(y6,{gap:1,children:fA(h6,{dimColor:!0,children:"Ctrl+R to expand"})})]})]}),j9(y6,{flexGrow:0,gap:2,children:[fA(h12,{lspState:G.lspState}),G.tokenUsage&&fA(x12,{tokenUsage:G.tokenUsage})]})]})]})]})}function b12({block:A,marginTop:Q=0}){if(A.type==="message"){let[,B]=A.data;if(B.role==="assistant"&&B.state?.type==="streaming")return null;if(!B.content.some((D)=>D.type==="text"&&B.role!=="info"))return null;return fA(y6,{flexDirection:"column",gap:1,marginTop:Q,children:B.content.map((D,z)=>{if(D.type==="text")switch(B.role){case"assistant":return fA(y6,{children:fA(Vy1,{children:D.text})},z);case"user":return fA(y6,{borderStyle:"bold",borderColor:"green",borderLeft:!0,borderTop:!1,borderBottom:!1,borderRight:!1,paddingLeft:1,children:fA(h6,{color:"green",italic:!0,children:D.text})},z);case"info":return fA(y6,{children:fA(h6,{color:"gray",children:D.text})},z)}else if(D.type==="thinking"){let Z=D.thinking,X=cd(Z,!1);if(X.length===0)return null;return fA(y6,{flexDirection:"column",children:X.map((K,G)=>fA(y6,{children:fA(h6,{children:K})},G))},z)}return null})})}else if(A.type==="toolResult"){let[B,J]=A.data,D=r71(B,J,!1);if(D.length===0)return null;return fA(y6,{marginTop:Q,flexDirection:"column",children:D.map((z,Z)=>fA(y6,{children:fA(h6,{children:z})},Z))})}}function x12({tokenUsage:A}){let Q=A.used/A.maxAvailable,B=Math.round(Q*100),J=Math.max(0,Math.min(B,100)),D="▁▂▃▄▅▆▇█",z=Math.floor(J*8/100),X="▁▂▃▄▅▆▇█"[Math.max(0,Math.min(z,7))],K=`${J}% ┃${X}┃`,G=0.8,q=0.9,Y;if(Q>=0.9)Y="red";else if(Q>=0.8)Y="yellow";return fA(h6,{color:Y,children:K})}function h12({lspState:A}){if(!A||Object.keys(A.servers).length===0)return null;let Q=Object.values(A.servers).map((B)=>{let J=B.status==="active"?"✓":B.status==="starting"?"⧗":"×",D=B.status==="active"?"green":B.status==="starting"?"yellow":"red";return{symbol:J,serverName:B.serverName,color:D}});return fA(y6,{gap:1,children:Q.map(({symbol:B,serverName:J,color:D},z)=>j9(h6,{color:D,children:[B," ",J]},z))})}global.React=Ry1.default;function jQA(A){return JA.level=1,(Q)=>{let B=new C8;return Fy1(Ry1.default.createElement(TQA,{inputs:B,outputs:Q,history:A.history,fuzzyServer:A.fuzzyServer,useNotifications:A.useNotifications}),{patchConsole:!0,exitOnCtrlC:!1,stdout:A.stdout}).waitUntilExit().then(()=>{B.complete()}).catch((D)=>{B.next({type:"exit"})}),UA.from(B)}}var _y1=Ly1.join(CAA||Ly1.join(process.env.HOME||process.cwd(),".local","state"),"amp","last-thread-id");async function Ty1(A){try{await u12(Ly1.dirname(_y1),{recursive:!0}),await c12(_y1,A,"utf-8")}catch(Q){k1.debug("Failed to save last thread ID",Q)}}async function t71(){try{return(await p12(_y1,"utf-8")).trim()}catch(A){return null}}var l12=[{name:"notifications",long:"notifications",type:"flag",default:!1,description:(A)=>`${A?"Enable":"Disable"} sound notifications (enabled by default when interactive)`},{name:"interactive",long:"interactive",type:"switch",default:!1,description:"Force interactive mode"},{name:"color",long:"color",type:"flag",description:(A)=>`${A?"Enable":"Disable"} color output (enabled by default if stdout and stderr are sent to a TTY)`},{name:"settingsFile",long:"settings-file",type:"option",description:`Custom settings file path (overrides the default location ${jE})`},{name:"logLevel",long:"log-level",type:"option",description:`Set log level (${Object.keys(k1).join(", ")})`},{name:"logFile",long:"log-file",type:"option",description:"Set log file location"},{name:"format",long:"format",type:"option",default:"ui",description:"Output format (ui: interactive terminal, jsonl: JSON Lines for scripts)",choices:["ui","jsonl","new-ui"],hidden:!0},{name:"dangerouslyAllowAll",long:"dangerously-allow-all",type:"switch",default:!1,description:"Disable all command confirmation prompts (agent will execute all commands without asking)"},{name:"jetbrains",long:"jetbrains",type:"flag",default:process.env.TERMINAL_EMULATOR?.includes("JetBrains")??!1,description:(A)=>`${A?"Enable":"Disable"} JetBrains integration. Requires the JetBrains MCP plugin to be installed and you must start Amp in the same directory as your JetBrains project. When enabled, Amp CLI automatically includes your open JetBrains file and text selection with every message, just like it does in VS Code.`,hidden:!0}];function d12(A,Q){let B=Q.args[0],J=Q.commands.map((z)=>z.name());if(B&&!B.includes(" ")&&B.length<30&&!/[./\\]/.test(B)){let z=J.filter((X)=>B.includes(X)||X.includes(B)),Z="Run amp --help for a list of available commands.";if(z.length>0)Z=`Did you mean: ${z.join(", ")}? Or run amp --help for all commands.`;throw new eZ(Qq.unknownCommand(B),1,Z)}}class SQA{async environment(){let A=process.cwd(),Q=j8.file(A),B=tK1(null),J=await mn1(Q,B,{workingDirectory:Q});return{workspacePaths:[A],workingDirectory:A,rootDirectoryListing:J}}}async function B_(A,Q){Cd({logLevel:Q.logLevel||process.env.AMP_LOG_LEVEL,logFile:Q.logFile||process.env.AMP_LOG_FILE}),sc1("0.0.1751602048-gad8f2f");let B=Q.settingsFile??process.env.AMP_SETTINGS_FILE;k1.info("Using settings file",{settingsFile:B});let J=tl(),D=pv1({settingsFile:B}),z=process.env.AMP_API_KEY;if(z)await J.set("apiKey",z,A.ampURL);let Z=gX1({storage:D,secretStorage:J,workspaceRoots:UA.of([j8.file(process.cwd())]),defaultAmpURL:A.ampURL}),X=new SQA,K=yq(),G=ua1({configService:Z,toolService:K});try{await G.initialized}catch(_){k1.warn("Failed to wait for MCP servers, continuing anyway:",_)}let q=await l6(r8);if(Q.dangerouslyAllowAll)q.settings.dangerouslyAllowAll=!0;if(Q.jetbrains)q.settings["jetbrains.enabled"]=!0;let Y=q.settings["experimental.reviewTool"]??!1,F=q.settings["experimental.tools"]??[];mP1(K,!1,Y,F);let E,w;if(A.isInteractiveMode){E=new S51,await E.start();try{await u9A(E,process.cwd())}catch(_){k1.error("Failed to index files for fuzzy completion",_)}w=p9A(E,process.cwd())}else E=new class extends S51{async start(){}async query(){return[]}dispose(){}},w={[Symbol.dispose]:()=>{}};if(!await J.get("apiKey",A.ampURL)){if(K7.write(`No API key found. Starting login flow...
7541
+ `),J=[],D=0;for(let z of B){let Z=g6.default(z);if(Z.length<=Q)J.push({type:"start",content:z,originalLine:D,start:0,end:Z.length});else{let X=z.match(/\S+| +/g)||[""],K="",G=0,q=0,Y=!0;for(let F of X){let E=/^ +$/.test(F),w=g6.default(F).length;if(g6.default(K).length+w<=Q)K+=F;else{if(K){let H=K.replace(/ +$/,""),M=g6.default(K),W=g6.default(H);J.push({type:Y?"start":"continuation",content:H,originalLine:D,start:G,end:G+W.length}),q=G+M.length,Y=!1}if(E){q+=w,G=q,K="";continue}if(G=q,w>Q){let H=g6.default(F);for(let M=0;M<H.length;M+=Q){let W=H.slice(M,M+Q).join("");J.push({type:Y?"start":"continuation",content:W,originalLine:D,start:G+M,end:G+M+g6.default(W).length}),Y=!1}q+=w,G=q,K=""}else K=F}if(!E||g6.default(K).length>0)q+=w}if(K){let F=g6.default(K);J.push({type:Y?"start":"continuation",content:K,originalLine:D,start:G,end:G+F.length})}}D++}return J}var o71=G6(z4(),1);function Oy1({options:A,onSelect:Q,title:B}){let[J,D]=o71.useState(0);if(rM((z,Z)=>{if(Z.downArrow||Z.ctrl&&z.toLowerCase()==="n"||Z.tab&&!Z.shift)D((X)=>(X+1)%A.length);else if(Z.upArrow||Z.ctrl&&z.toLowerCase()==="p"||Z.shift&&Z.tab)D((X)=>(X-1+A.length)%A.length);else if(Z.return&&A[J])Q(A[J].value);else if(Z.escape)Q(null);else if(Z.ctrlC)Q(null)}),o71.useEffect(()=>{D(0)},[A]),A.length===0)return null;return j9(y6,{flexDirection:"column",borderStyle:"round",paddingX:1,children:[B&&fA(y6,{marginBottom:1,children:fA(h6,{bold:!0,children:B})}),A.map((z,Z)=>fA(y6,{children:j9(h6,{bold:Z===J,color:Z===J?"blue":void 0,children:[Z===J?"» ":" ",z.label]})},Z))]})}async function v12(A,Q){try{return await A.query(Q)}catch(B){return k1.error("Completion failed",B),[]}}var LQA=10;function $12({messages:A,agentState:Q}){if(Q.type!=="streaming-thinking"&&Q.type!=="streaming-text")return null;let B=A.findLast((z)=>z.type==="message"&&z.data[1].role==="assistant"&&z.data[1].state?.type==="streaming");if(!B||B.type!=="message")return null;let[,J]=B.data;if(!J.content.some((z)=>z.type==="thinking"||z.type==="text"))return null;return fA(y6,{flexDirection:"column",marginBottom:1,children:J.content.map((z,Z)=>{if(z.type==="thinking"){let X=z.thinking,K=cd(X,!0);return fA(y6,{flexDirection:"column",marginTop:Z>0?1:0,children:K.map((G,q)=>fA(y6,{children:fA(h6,{children:G})},q))},Z)}else if(z.type==="text")return fA(y6,{marginTop:Z>0?1:0,children:fA(Vy1,{children:z.text})},Z);return null})})}function f12(A,Q){let B;switch(A.type){case"tool-use":{if(A.tools.length===1){let J=A.tools[0];if(J?.useBlock)B=k12(J.useBlock);else B="Confirm tool call"}else B=`Confirm ${A.tools.length} tool calls`;break}case"compaction":B=`Compact thread? (${A.severity} token usage)`;break;case"out-of-credits":B="Insufficient usage balance. Retry?";break;case"agent-file-creation":B="Create AGENT.md file for this codebase?";break}if(Q&&Q.total>1)B=`[${Q.current}/${Q.total}] ${B}`;return B}function k12(A){if(A.name===o4){let Q=A.input;return"Run "+al.print(Q.cmd,{foreground:"green",style:"bold"})+`${Q.cwd?` in ${Q.cwd}`:""}?`}else return al.print(`Invoke tool ${A.name} with args ${JSON.stringify(A.input)}?`,{foreground:"yellow"})}function y12(A){switch(A.type){case"tool-use":{let B=A.subthreadID===void 0&&A.tools.some((D)=>D.toAllow),J=[{value:"yes",label:"Yes"},{value:"no",label:"No"}];if(B)J.push({value:"always",label:"Always (add to allowlist)"});return J}case"compaction":return[{value:"yes",label:"Yes"},...A.severity!=="critical"?[{value:"no",label:"No"}]:[]];case"out-of-credits":case"agent-file-creation":return[{value:"yes",label:"Yes"},{value:"no",label:"No"}]}}function g12({todos:A}){if(!Array.isArray(A)||A.length===0)return null;return j9(y6,{borderStyle:"round",paddingX:1,flexDirection:"column",flexGrow:1,flexShrink:0,children:[fA(y6,{children:j9(h6,{bold:!0,children:["TODOs (",A.length,")"]})}),A.map((Q,B)=>fA(y6,{gap:1,children:j9(h6,{wrap:"truncate",children:[fA(h6,{children:"• "}),fA(h6,{bold:Q.status==="in-progress",strikethrough:Q.status==="completed",children:Q.content})]})},Q.id))]})}function _QA(A){return A.filter((Q)=>Q.type==="message").map((Q)=>Q.data[1])}function TQA({outputs:A,inputs:Q,history:B,fuzzyServer:J,useNotifications:D}){let z=Ey1(),[Z,X]=Jk(),[K]=Q_.useState(()=>new C8);Q_.useEffect(()=>{return()=>{K.complete()}},[K]);let[G,q]=Q_.useState({type:"running",agentState:{type:"idle"},tokenUsage:null,lspState:null,todos:[],showCancelled:!1,rerendering:!1,confirmationQueue:[],currentConfirmation:void 0,totalConfirmations:0,threadTitle:"Untitled",messages:[],activeTools:new Map,subagents:new Map,completions:[],selectedCompletionIndex:0,currentMention:void 0}),Y=(M)=>{q((W)=>{if(W.type!=="confirming"||!W.currentConfirmation)return W;let I=W.currentConfirmation,N=W.confirmationQueue.slice(1),V=M===null?"no":M;if(I.type==="tool-use")for(let{useBlock:T,toAllow:R}of I.tools){let j=V==="yes"||V==="always",P=V==="always"&&R?R:[];Q.next({type:"confirmation",allow:j,confirmation:{type:"tool-use",toolUseID:T.id,addToAllowList:P,subthreadID:I.subthreadID}})}else{let T=V==="yes";Q.next({type:"confirmation",allow:T,confirmation:{type:I.type}})}let _=N[0];if(_)return{...W,type:"confirming",currentConfirmation:_,confirmationQueue:N};else return{...W,type:"running",currentConfirmation:void 0,confirmationQueue:N,totalConfirmations:0}})};Q_.useEffect(()=>{let M=A.subscribe((W)=>{switch(W.type){case"state":{switch(W.state.type){case"shutting-down":q({...G,type:"exiting"}),CT().then(()=>{z.exit()});break;case"idle":if(D)xf("idle");q((I)=>({...I,agentState:W.state}));break;default:q((I)=>({...I,agentState:W.state}));break}break}case"messages":{q((I)=>{let N=[...I.messages,...W.blocks],V=_QA(N),_=ma({messages:V});return{...I,messages:N,todos:Array.isArray(_)?_:[],showCancelled:!1}});break}case"token-usage":{q((I)=>({...I,tokenUsage:W.tokenUsage}));break}case"lsp-status":{q((I)=>({...I,lspState:W.lspState}));break}case"cancelled":{q((I)=>({...I,showCancelled:!0,activeTools:new Map,subagents:new Map}));break}case"tool-status":{q((I)=>{let N=new Map(I.activeTools);if(W.toolUse.name===FQ)return{...I,activeTools:N};if(W.status==="completed"||W.status==="error"||W.status==="cancelled")N.delete(W.toolUse.id);else{let V=W.subthreadID;N.set(W.toolUse.id,{toolUse:W.toolUse,status:W.status,startTime:W.startTime,endTime:W.endTime,subthreadID:V})}return{...I,activeTools:N}});break}case"subthread-messages":break;case"subagent-started":{q((I)=>({...I,subagents:new Map(I.subagents).set(W.subThreadID,{subThreadID:W.subThreadID,agentNumber:W.agentNumber,taskDescription:W.taskDescription,status:"running",startTime:Date.now()})}));break}case"subagent-finished":{q((I)=>{let N=new Map(I.subagents);return N.delete(W.subThreadID),{...I,subagents:N}});break}case"subagent-cancelled":{q((I)=>{let N=new Map(I.subagents);return N.delete(W.subThreadID),{...I,subagents:N}});break}case"subagent-error":{q((I)=>{let N=new Map(I.subagents);return N.delete(W.subThreadID),{...I,subagents:N}});break}case"subagent-status":{q((I)=>{let N=new Map(I.subagents),V=N.get(W.subThreadID);if(V)N.set(W.subThreadID,{...V,agentState:W.agentState});return{...I,subagents:N}});break}case"confirm":{if(D)xf("requires-user-input");q((I)=>{let N=[...I.confirmationQueue,W.confirmation];if(I.type==="running"&&N.length===1)return{...I,type:"confirming",currentConfirmation:W.confirmation,confirmationQueue:N,totalConfirmations:N.length};else return{...I,confirmationQueue:N,totalConfirmations:Math.max(I.totalConfirmations,N.length)}});break}case"thread-title":{q((I)=>({...I,threadTitle:W.title}));break}default:k1.info("unhandled ui output",W);break}});return()=>{M.unsubscribe()}},[A,z]);let F=async(M,W)=>{let I=await v12(J,M);q((N)=>({...N,completions:I,selectedCompletionIndex:0,currentMention:W}))},E=()=>{q((M)=>({...M,completions:[],selectedCompletionIndex:0,currentMention:void 0}))},w=(M)=>{if(M!==null)K.next(M),q((W)=>({...W,completions:[],selectedCompletionIndex:0,currentMention:void 0}));else E()};Q_.useEffect(()=>{let M=null,W=()=>{q((I)=>({...I,rerendering:!0})),process.stdout.write("\x1B[2J"),process.stdout.write("\x1B[3J"),process.stdout.write("\x1B[H"),M=setTimeout(()=>{q((I)=>({...I,rerendering:!1}))},LQA)};return process.stdout.on("resize",W),()=>{if(M)clearTimeout(M);process.stdout.off("resize",W)}},[]),rM((M,W)=>{if(G.type==="expanded-view")return;if(G.type==="confirming")return;if(W.escape)Q.next({type:"interrupt"});else if(W.ctrl&&M.toLowerCase()==="r")q({...G,type:"expanded-view"});else if(W.ctrlL)q((I)=>({...I,rerendering:!0})),process.stdout.write("\x1B[2J"),process.stdout.write("\x1B[3J"),process.stdout.write("\x1B[H"),setTimeout(()=>{q((I)=>({...I,rerendering:!1}))},LQA);else if(W.ctrlC)if(G.type==="confirming-exit")Q.next({type:"exit"});else q({...G,type:"confirming-exit"}),setTimeout(()=>{q({...G,type:"running"})},1000)});let H=Z>100;if(G.type==="expanded-view"){let M=_QA(G.messages);return fA(CQA,{threadName:G.threadTitle,messages:M,onExit:()=>q({...G,type:"running"})})}return j9(y6,{flexDirection:"column",minHeight:"100%",flexGrow:1,height:G.rerendering&&G.messages.length==0?0:"auto",children:[!G.rerendering&&fA(c71,{items:G.messages,children:(M,W)=>fA(y6,{children:fA(b12,{block:M,marginTop:W===0?0:1},W)},W)}),G.showCancelled&&fA(y6,{marginTop:1,children:fA(h6,{color:"gray",children:"Cancelled"})}),G.type!=="exiting"&&j9(y6,{flexDirection:"column",marginTop:1,children:[fA($12,{messages:G.messages,agentState:G.agentState}),fA(GQA,{agentState:G.agentState,activeTools:G.activeTools,subagents:G.subagents}),fA(WQA,{activeTools:G.activeTools,subagents:G.subagents,messages:G.messages}),G.type==="confirming"&&G.currentConfirmation&&fA(y6,{marginBottom:1,children:fA(Oy1,{title:f12(G.currentConfirmation,{current:G.totalConfirmations-G.confirmationQueue.length,total:G.totalConfirmations}),options:y12(G.currentConfirmation),onSelect:Y})}),j9(y6,{flexDirection:H?"row-reverse":"column",children:[G.todos.length>0&&fA(y6,{flexGrow:0,flexShrink:0,width:H?"auto":"100%",children:fA(g12,{todos:G.todos})}),fA(y6,{flexGrow:1,borderStyle:"round",paddingX:1,children:fA(RQA,{onSubmit:(M)=>{Q.next({type:"message",message:M})},history:B,disabled:G.type==="confirming",onCompletionRequest:F,onCompletionCancel:E,selectedCompletions:K})})]}),G.completions.length>0&&(()=>{let M=Math.min(10,Math.max(3,Math.floor(X*0.4))),W=G.completions.slice(0,M);return fA(y6,{marginBottom:1,children:fA(Oy1,{title:`File mentions (${W.length}${G.completions.length>M?`/${G.completions.length}`:""})`,options:W.map((I)=>({value:I,label:I})),onSelect:w})})})(),j9(y6,{gap:2,children:[j9(y6,{flexGrow:1,children:[G.type==="confirming-exit"&&fA(h6,{dimColor:!0,children:"Ctrl+C again to exit"}),G.type==="confirming"&&fA(h6,{dimColor:!0,children:"Escape to cancel"}),G.type==="running"&&j9(y6,{gap:1,children:[fA(y6,{gap:1,children:fA(h6,{dimColor:!0,children:"Enter to submit,"})}),fA(y6,{gap:1,children:fA(h6,{dimColor:!0,children:"Ctrl+R to expand"})})]})]}),j9(y6,{flexGrow:0,gap:2,children:[fA(h12,{lspState:G.lspState}),G.tokenUsage&&fA(x12,{tokenUsage:G.tokenUsage})]})]})]})]})}function b12({block:A,marginTop:Q=0}){if(A.type==="message"){let[,B]=A.data;if(B.role==="assistant"&&B.state?.type==="streaming")return null;if(!B.content.some((D)=>D.type==="text"&&B.role!=="info"))return null;return fA(y6,{flexDirection:"column",gap:1,marginTop:Q,children:B.content.map((D,z)=>{if(D.type==="text")switch(B.role){case"assistant":return fA(y6,{children:fA(Vy1,{children:D.text})},z);case"user":return fA(y6,{borderStyle:"bold",borderColor:"green",borderLeft:!0,borderTop:!1,borderBottom:!1,borderRight:!1,paddingLeft:1,children:fA(h6,{color:"green",italic:!0,children:D.text})},z);case"info":return fA(y6,{children:fA(h6,{color:"gray",children:D.text})},z)}else if(D.type==="thinking"){let Z=D.thinking,X=cd(Z,!1);if(X.length===0)return null;return fA(y6,{flexDirection:"column",children:X.map((K,G)=>fA(y6,{children:fA(h6,{children:K})},G))},z)}return null})})}else if(A.type==="toolResult"){let[B,J]=A.data,D=r71(B,J,!1);if(D.length===0)return null;return fA(y6,{marginTop:Q,flexDirection:"column",children:D.map((z,Z)=>fA(y6,{children:fA(h6,{children:z})},Z))})}}function x12({tokenUsage:A}){let Q=A.used/A.maxAvailable,B=Math.round(Q*100),J=Math.max(0,Math.min(B,100)),D="▁▂▃▄▅▆▇█",z=Math.floor(J*8/100),X="▁▂▃▄▅▆▇█"[Math.max(0,Math.min(z,7))],K=`${J}% ┃${X}┃`,G=0.8,q=0.9,Y;if(Q>=0.9)Y="red";else if(Q>=0.8)Y="yellow";return fA(h6,{color:Y,children:K})}function h12({lspState:A}){if(!A||Object.keys(A.servers).length===0)return null;let Q=Object.values(A.servers).map((B)=>{let J=B.status==="active"?"✓":B.status==="starting"?"⧗":"×",D=B.status==="active"?"green":B.status==="starting"?"yellow":"red";return{symbol:J,serverName:B.serverName,color:D}});return fA(y6,{gap:1,children:Q.map(({symbol:B,serverName:J,color:D},z)=>j9(h6,{color:D,children:[B," ",J]},z))})}global.React=Ry1.default;function jQA(A){return JA.level=1,(Q)=>{let B=new C8;return Fy1(Ry1.default.createElement(TQA,{inputs:B,outputs:Q,history:A.history,fuzzyServer:A.fuzzyServer,useNotifications:A.useNotifications}),{patchConsole:!0,exitOnCtrlC:!1,stdout:A.stdout}).waitUntilExit().then(()=>{B.complete()}).catch((D)=>{B.next({type:"exit"})}),UA.from(B)}}var _y1=Ly1.join(CAA||Ly1.join(process.env.HOME||process.cwd(),".local","state"),"amp","last-thread-id");async function Ty1(A){try{await u12(Ly1.dirname(_y1),{recursive:!0}),await c12(_y1,A,"utf-8")}catch(Q){k1.debug("Failed to save last thread ID",Q)}}async function t71(){try{return(await p12(_y1,"utf-8")).trim()}catch(A){return null}}var l12=[{name:"notifications",long:"notifications",type:"flag",default:!1,description:(A)=>`${A?"Enable":"Disable"} sound notifications (enabled by default when interactive)`},{name:"interactive",long:"interactive",type:"switch",default:!1,description:"Force interactive mode"},{name:"color",long:"color",type:"flag",description:(A)=>`${A?"Enable":"Disable"} color output (enabled by default if stdout and stderr are sent to a TTY)`},{name:"settingsFile",long:"settings-file",type:"option",description:`Custom settings file path (overrides the default location ${jE})`},{name:"logLevel",long:"log-level",type:"option",description:`Set log level (${Object.keys(k1).join(", ")})`},{name:"logFile",long:"log-file",type:"option",description:"Set log file location"},{name:"format",long:"format",type:"option",default:"ui",description:"Output format (ui: interactive terminal, jsonl: JSON Lines for scripts)",choices:["ui","jsonl","new-ui"],hidden:!0},{name:"dangerouslyAllowAll",long:"dangerously-allow-all",type:"switch",default:!1,description:"Disable all command confirmation prompts (agent will execute all commands without asking)"},{name:"jetbrains",long:"jetbrains",type:"flag",default:process.env.TERMINAL_EMULATOR?.includes("JetBrains")??!1,description:(A)=>`${A?"Enable":"Disable"} JetBrains integration. Requires the JetBrains MCP plugin to be installed and you must start Amp in the same directory as your JetBrains project. When enabled, Amp CLI automatically includes your open JetBrains file and text selection with every message, just like it does in VS Code.`,hidden:!0}];function d12(A,Q){let B=Q.args[0],J=Q.commands.map((z)=>z.name());if(B&&!B.includes(" ")&&B.length<30&&!/[./\\]/.test(B)){let z=J.filter((X)=>B.includes(X)||X.includes(B)),Z="Run amp --help for a list of available commands.";if(z.length>0)Z=`Did you mean: ${z.join(", ")}? Or run amp --help for all commands.`;throw new eZ(Qq.unknownCommand(B),1,Z)}}class SQA{async environment(){let A=process.cwd(),Q=j8.file(A),B=tK1(null),J=await mn1(Q,B,{workingDirectory:Q});return{workspacePaths:[A],workingDirectory:A,rootDirectoryListing:J}}}async function B_(A,Q){Cd({logLevel:Q.logLevel||process.env.AMP_LOG_LEVEL,logFile:Q.logFile||process.env.AMP_LOG_FILE}),sc1("0.0.1751616119-gdb2756");let B=Q.settingsFile??process.env.AMP_SETTINGS_FILE;k1.info("Using settings file",{settingsFile:B});let J=tl(),D=pv1({settingsFile:B}),z=process.env.AMP_API_KEY;if(z)await J.set("apiKey",z,A.ampURL);let Z=gX1({storage:D,secretStorage:J,workspaceRoots:UA.of([j8.file(process.cwd())]),defaultAmpURL:A.ampURL}),X=new SQA,K=yq(),G=ua1({configService:Z,toolService:K});try{await G.initialized}catch(_){k1.warn("Failed to wait for MCP servers, continuing anyway:",_)}let q=await l6(r8);if(Q.dangerouslyAllowAll)q.settings.dangerouslyAllowAll=!0;if(Q.jetbrains)q.settings["jetbrains.enabled"]=!0;let Y=q.settings["experimental.reviewTool"]??!1,F=q.settings["experimental.tools"]??[];mP1(K,!1,Y,F);let E,w;if(A.isInteractiveMode){E=new S51,await E.start();try{await u9A(E,process.cwd())}catch(_){k1.error("Failed to index files for fuzzy completion",_)}w=p9A(E,process.cwd())}else E=new class extends S51{async start(){}async query(){return[]}dispose(){}},w={[Symbol.dispose]:()=>{}};if(!await J.get("apiKey",A.ampURL)){if(K7.write(`No API key found. Starting login flow...
7542
7542
  `),!await i12(A,J))process.exit(1)}let H=oa1(),M=new _G1(H),W=new LG1(H),I=new dF1(M),N=new ef1({configService:Z,threadService:M,toolService:K,systemPromptService:X,threadSummaryService:I,threadHistoryService:W,mcpService:G}),V=void 0;return k1.info("Starting Amp background services"),V=dn1({threadService:M,threadHistoryService:W,isExtensionDevelopment:!1}),{configService:Z,systemPromptService:X,toolService:K,mcpService:G,threadService:M,threadHistoryService:W,summaryService:I,threadSyncService:V,threadStorage:H,secretStorage:J,settingsStorage:D,fileWatcher:w,fuzzyServer:E,subthreadTracker:N}}async function i12(A,Q){if(A.isInteractiveMode){if(await fE("Would you like to log in to Amp?",["(y)es","(n)o"])!="y")return K7.write(`Login cancelled. Run the command again to retry.
7543
7543
  `),!1}return await vQA(A,Q)}async function vQA(A,Q){let B=m12(32).toString("hex"),J=await q4A(A.ampURL,B);K7.write(`If your browser doesn't open automatically, visit:
7544
7544
 
@@ -7553,8 +7553,8 @@ ${A.printer.print(J,{foreground:"blue",style:"bold"})}
7553
7553
  Login successful! You can now use the Amp CLI.
7554
7554
  `),!0}catch(D){return L8.write(`
7555
7555
  Login failed: ${D instanceof Error?D.message:String(D)}
7556
- `),!1}}var a12=new Set(["fuzzy-server"]);function n12(A){let Q=new s41().name("amp").description("AI-powered coding assistant").option("--thread-id [THREAD_ID]","ID of the thread to continue running",void 0);Q.exitOverride((Z)=>{if(Z.code==="commander.help"||Z.code==="commander.version"||Z.exitCode===0)fC(),process.exit(0);let X=Z.originalError??Z;Cf(A,X)}),Q.option("-V, --version","output the version number",()=>{if(A.isTTY)K7.write(`0.0.1751602048-gad8f2f ${A.printer.print("(released 2025-07-04T04:11:44.962Z)",{foreground:"gray"})}
7557
- `);else K7.write(`0.0.1751602048-gad8f2f (released 2025-07-04T04:11:44.962Z)
7556
+ `),!1}}var a12=new Set(["fuzzy-server"]);function n12(A){let Q=new s41().name("amp").description("AI-powered coding assistant").option("--thread-id [THREAD_ID]","ID of the thread to continue running",void 0);Q.exitOverride((Z)=>{if(Z.code==="commander.help"||Z.code==="commander.version"||Z.exitCode===0)fC(),process.exit(0);let X=Z.originalError??Z;Cf(A,X)}),Q.option("-V, --version","output the version number",()=>{if(A.isTTY)K7.write(`0.0.1751616119-gdb2756 ${A.printer.print("(released 2025-07-04T08:06:12.794Z)",{foreground:"gray"})}
7557
+ `);else K7.write(`0.0.1751616119-gdb2756 (released 2025-07-04T08:06:12.794Z)
7558
7558
  `);process.exit(0)}),Q.addHelpText("after",(()=>{let Z="";Z+=A.printer.print("Environment variables:",{style:"bold"})+`
7559
7559
 
7560
7560
  `,Z+=" "+A.printer.print("AMP_API_KEY",{foreground:"green"})+` API key for Amp (see https://ampcode.com/settings)