@sourcegraph/amp 0.0.1779547160-g4a1cc9 → 0.0.1779567279-g6cae00

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 +11 -11
  2. package/package.json +2 -2
package/dist/main.js CHANGED
@@ -213,7 +213,7 @@ ${D}
213
213
  Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let F of A.seen.entries()){let E=F[1];if(Q===F[0]){J(F);continue}if(A.external){let Z=A.external.registry.get(F[0])?.id;if(Q!==F[0]&&Z){J(F);continue}}if(A.metadataRegistry.get(F[0])?.id){J(F);continue}if(E.cycle){J(F);continue}if(E.count>1){if(A.reused==="ref"){J(F);continue}}}}function PI(A,Q){let $=A.seen.get(Q);if(!$)throw Error("Unprocessed schema. This is a bug in Zod.");let B=(F)=>{let E=A.seen.get(F);if(E.ref===null)return;let Y=E.def??E.schema,Z={...Y},U=E.ref;if(E.ref=null,U){B(U);let G=A.seen.get(U),V=G.schema;if(V.$ref&&(A.target==="draft-07"||A.target==="draft-04"||A.target==="openapi-3.0"))Y.allOf=Y.allOf??[],Y.allOf.push(V);else Object.assign(Y,V);if(Object.assign(Y,Z),F._zod.parent===U)for(let z in Y){if(z==="$ref"||z==="allOf")continue;if(!(z in Z))delete Y[z]}if(V.$ref&&G.def)for(let z in Y){if(z==="$ref"||z==="allOf")continue;if(z in G.def&&JSON.stringify(Y[z])===JSON.stringify(G.def[z]))delete Y[z]}}let X=F._zod.parent;if(X&&X!==U){B(X);let G=A.seen.get(X);if(G?.schema.$ref){if(Y.$ref=G.schema.$ref,G.def)for(let V in Y){if(V==="$ref"||V==="allOf")continue;if(V in G.def&&JSON.stringify(Y[V])===JSON.stringify(G.def[V]))delete Y[V]}}}A.override({zodSchema:F,jsonSchema:Y,path:E.path??[]})};for(let F of[...A.seen.entries()].reverse())B(F[0]);let D={};if(A.target==="draft-2020-12")D.$schema="https://json-schema.org/draft/2020-12/schema";else if(A.target==="draft-07")D.$schema="http://json-schema.org/draft-07/schema#";else if(A.target==="draft-04")D.$schema="http://json-schema.org/draft-04/schema#";else if(A.target==="openapi-3.0");if(A.external?.uri){let F=A.external.registry.get(Q)?.id;if(!F)throw Error("Schema is missing an `id` property");D.$id=A.external.uri(F)}Object.assign(D,$.def??$.schema);let J=A.external?.defs??{};for(let F of A.seen.entries()){let E=F[1];if(E.def&&E.defId)J[E.defId]=E.def}if(A.external);else if(Object.keys(J).length>0)if(A.target==="draft-2020-12")D.$defs=J;else D.definitions=J;try{let F=JSON.parse(JSON.stringify(D));return Object.defineProperty(F,"~standard",{value:{...Q["~standard"],jsonSchema:{input:V_(Q,"input",A.processors),output:V_(Q,"output",A.processors)}},enumerable:!1,writable:!1}),F}catch(F){throw Error("Error converting schema to JSON.")}}function R$(A,Q){let $=Q??{seen:new Set};if($.seen.has(A))return!1;$.seen.add(A);let B=A._zod.def;if(B.type==="transform")return!0;if(B.type==="array")return R$(B.element,$);if(B.type==="set")return R$(B.valueType,$);if(B.type==="lazy")return R$(B.getter(),$);if(B.type==="promise"||B.type==="optional"||B.type==="nonoptional"||B.type==="nullable"||B.type==="readonly"||B.type==="default"||B.type==="prefault")return R$(B.innerType,$);if(B.type==="intersection")return R$(B.left,$)||R$(B.right,$);if(B.type==="record"||B.type==="map")return R$(B.keyType,$)||R$(B.valueType,$);if(B.type==="pipe")return R$(B.in,$)||R$(B.out,$);if(B.type==="object"){for(let D in B.shape)if(R$(B.shape[D],$))return!0;return!1}if(B.type==="union"){for(let D of B.options)if(R$(D,$))return!0;return!1}if(B.type==="tuple"){for(let D of B.items)if(R$(D,$))return!0;if(B.rest&&R$(B.rest,$))return!0;return!1}return!1}var NP0=(A,Q={})=>($)=>{let B=RI({...$,processors:Q});return s3(A,B),uI(B,A),PI(B,A)},V_=(A,Q,$={})=>(B)=>{let{libraryOptions:D,target:J}=B??{},F=RI({...D??{},target:J,io:Q,processors:$});return s3(A,F),uI(F,A),PI(F,A)};var Hm=r(()=>{zm()});function tA0(A,Q){if("_idmap"in A){let B=A,D=RI({...Q,processors:oA0}),J={};for(let Y of B._idmap.entries()){let[Z,U]=Y;s3(U,D)}let F={},E={registry:B,uri:Q?.uri,defs:J};D.external=E;for(let Y of B._idmap.entries()){let[Z,U]=Y;uI(D,U),F[Z]=PI(D,U)}if(Object.keys(J).length>0){let Y=D.target==="draft-2020-12"?"$defs":"definitions";F.__shared={[Y]:J}}return{schemas:F}}let $=RI({...Q,processors:oA0});return s3(A,$),uI($,A),PI($,A)}var b5A,CP0=(A,Q,$,B)=>{let D=$;D.type="string";let{minimum:J,maximum:F,format:E,patterns:Y,contentEncoding:Z}=A._zod.bag;if(typeof J==="number")D.minLength=J;if(typeof F==="number")D.maxLength=F;if(E){if(D.format=b5A[E]??E,D.format==="")delete D.format;if(E==="time")delete D.format}if(Z)D.contentEncoding=Z;if(Y&&Y.size>0){let U=[...Y];if(U.length===1)D.pattern=U[0].source;else if(U.length>1)D.allOf=[...U.map((X)=>({...Q.target==="draft-07"||Q.target==="draft-04"||Q.target==="openapi-3.0"?{type:"string"}:{},pattern:X.source}))]}},wP0=(A,Q,$,B)=>{let D=$,{minimum:J,maximum:F,format:E,multipleOf:Y,exclusiveMaximum:Z,exclusiveMinimum:U}=A._zod.bag;if(typeof E==="string"&&E.includes("int"))D.type="integer";else D.type="number";if(typeof U==="number")if(Q.target==="draft-04"||Q.target==="openapi-3.0")D.minimum=U,D.exclusiveMinimum=!0;else D.exclusiveMinimum=U;if(typeof J==="number"){if(D.minimum=J,typeof U==="number"&&Q.target!=="draft-04")if(U>=J)delete D.minimum;else delete D.exclusiveMinimum}if(typeof Z==="number")if(Q.target==="draft-04"||Q.target==="openapi-3.0")D.maximum=Z,D.exclusiveMaximum=!0;else D.exclusiveMaximum=Z;if(typeof F==="number"){if(D.maximum=F,typeof Z==="number"&&Q.target!=="draft-04")if(Z<=F)delete D.maximum;else delete D.exclusiveMaximum}if(typeof Y==="number")D.multipleOf=Y},MP0=(A,Q,$,B)=>{$.type="boolean"},LP0=(A,Q,$,B)=>{if(Q.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},OP0=(A,Q,$,B)=>{if(Q.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},jP0=(A,Q,$,B)=>{if(Q.target==="openapi-3.0")$.type="string",$.nullable=!0,$.enum=[null];else $.type="null"},RP0=(A,Q,$,B)=>{if(Q.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},uP0=(A,Q,$,B)=>{if(Q.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},PP0=(A,Q,$,B)=>{$.not={}},_P0=(A,Q,$,B)=>{},TP0=(A,Q,$,B)=>{},vP0=(A,Q,$,B)=>{if(Q.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},kP0=(A,Q,$,B)=>{let D=A._zod.def,J=ag(D.entries);if(J.every((F)=>typeof F==="number"))$.type="number";if(J.every((F)=>typeof F==="string"))$.type="string";$.enum=J},SP0=(A,Q,$,B)=>{let D=A._zod.def,J=[];for(let F of D.values)if(F===void 0){if(Q.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof F==="bigint")if(Q.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else J.push(Number(F));else J.push(F);if(J.length===0);else if(J.length===1){let F=J[0];if($.type=F===null?"null":typeof F,Q.target==="draft-04"||Q.target==="openapi-3.0")$.enum=[F];else $.const=F}else{if(J.every((F)=>typeof F==="number"))$.type="number";if(J.every((F)=>typeof F==="string"))$.type="string";if(J.every((F)=>typeof F==="boolean"))$.type="boolean";if(J.every((F)=>F===null))$.type="null";$.enum=J}},fP0=(A,Q,$,B)=>{if(Q.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},yP0=(A,Q,$,B)=>{let D=$,J=A._zod.pattern;if(!J)throw Error("Pattern not found in template literal");D.type="string",D.pattern=J.source},xP0=(A,Q,$,B)=>{let D=$,J={type:"string",format:"binary",contentEncoding:"binary"},{minimum:F,maximum:E,mime:Y}=A._zod.bag;if(F!==void 0)J.minLength=F;if(E!==void 0)J.maxLength=E;if(Y)if(Y.length===1)J.contentMediaType=Y[0],Object.assign(D,J);else Object.assign(D,J),D.anyOf=Y.map((Z)=>({contentMediaType:Z}));else Object.assign(D,J)},bP0=(A,Q,$,B)=>{$.type="boolean"},hP0=(A,Q,$,B)=>{if(Q.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},gP0=(A,Q,$,B)=>{if(Q.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},mP0=(A,Q,$,B)=>{if(Q.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},dP0=(A,Q,$,B)=>{if(Q.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},pP0=(A,Q,$,B)=>{if(Q.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},cP0=(A,Q,$,B)=>{let D=$,J=A._zod.def,{minimum:F,maximum:E}=A._zod.bag;if(typeof F==="number")D.minItems=F;if(typeof E==="number")D.maxItems=E;D.type="array",D.items=s3(J.element,Q,{...B,path:[...B.path,"items"]})},lP0=(A,Q,$,B)=>{let D=$,J=A._zod.def;D.type="object",D.properties={};let F=J.shape;for(let Z in F)D.properties[Z]=s3(F[Z],Q,{...B,path:[...B.path,"properties",Z]});let E=new Set(Object.keys(F)),Y=new Set([...E].filter((Z)=>{let U=J.shape[Z]._zod;if(Q.io==="input")return U.optin===void 0;else return U.optout===void 0}));if(Y.size>0)D.required=Array.from(Y);if(J.catchall?._zod.def.type==="never")D.additionalProperties=!1;else if(!J.catchall){if(Q.io==="output")D.additionalProperties=!1}else if(J.catchall)D.additionalProperties=s3(J.catchall,Q,{...B,path:[...B.path,"additionalProperties"]})},rA0=(A,Q,$,B)=>{let D=A._zod.def,J=D.inclusive===!1,F=D.options.map((E,Y)=>s3(E,Q,{...B,path:[...B.path,J?"oneOf":"anyOf",Y]}));if(J)$.oneOf=F;else $.anyOf=F},iP0=(A,Q,$,B)=>{let D=A._zod.def,J=s3(D.left,Q,{...B,path:[...B.path,"allOf",0]}),F=s3(D.right,Q,{...B,path:[...B.path,"allOf",1]}),E=(Z)=>("allOf"in Z)&&Object.keys(Z).length===1,Y=[...E(J)?J.allOf:[J],...E(F)?F.allOf:[F]];$.allOf=Y},nP0=(A,Q,$,B)=>{let D=$,J=A._zod.def;D.type="array";let F=Q.target==="draft-2020-12"?"prefixItems":"items",E=Q.target==="draft-2020-12"?"items":Q.target==="openapi-3.0"?"items":"additionalItems",Y=J.items.map((G,V)=>s3(G,Q,{...B,path:[...B.path,F,V]})),Z=J.rest?s3(J.rest,Q,{...B,path:[...B.path,E,...Q.target==="openapi-3.0"?[J.items.length]:[]]}):null;if(Q.target==="draft-2020-12"){if(D.prefixItems=Y,Z)D.items=Z}else if(Q.target==="openapi-3.0"){if(D.items={anyOf:Y},Z)D.items.anyOf.push(Z);if(D.minItems=Y.length,!Z)D.maxItems=Y.length}else if(D.items=Y,Z)D.additionalItems=Z;let{minimum:U,maximum:X}=A._zod.bag;if(typeof U==="number")D.minItems=U;if(typeof X==="number")D.maxItems=X},aP0=(A,Q,$,B)=>{let D=$,J=A._zod.def;D.type="object";let F=J.keyType,Y=F._zod.bag?.patterns;if(J.mode==="loose"&&Y&&Y.size>0){let U=s3(J.valueType,Q,{...B,path:[...B.path,"patternProperties","*"]});D.patternProperties={};for(let X of Y)D.patternProperties[X.source]=U}else{if(Q.target==="draft-07"||Q.target==="draft-2020-12")D.propertyNames=s3(J.keyType,Q,{...B,path:[...B.path,"propertyNames"]});D.additionalProperties=s3(J.valueType,Q,{...B,path:[...B.path,"additionalProperties"]})}let Z=F._zod.values;if(Z){let U=[...Z].filter((X)=>typeof X==="string"||typeof X==="number");if(U.length>0)D.required=U}},oP0=(A,Q,$,B)=>{let D=A._zod.def,J=s3(D.innerType,Q,B),F=Q.seen.get(A);if(Q.target==="openapi-3.0")F.ref=D.innerType,$.nullable=!0;else $.anyOf=[J,{type:"null"}]},rP0=(A,Q,$,B)=>{let D=A._zod.def;s3(D.innerType,Q,B);let J=Q.seen.get(A);J.ref=D.innerType},sP0=(A,Q,$,B)=>{let D=A._zod.def;s3(D.innerType,Q,B);let J=Q.seen.get(A);J.ref=D.innerType,$.default=JSON.parse(JSON.stringify(D.defaultValue))},tP0=(A,Q,$,B)=>{let D=A._zod.def;s3(D.innerType,Q,B);let J=Q.seen.get(A);if(J.ref=D.innerType,Q.io==="input")$._prefault=JSON.parse(JSON.stringify(D.defaultValue))},eP0=(A,Q,$,B)=>{let D=A._zod.def;s3(D.innerType,Q,B);let J=Q.seen.get(A);J.ref=D.innerType;let F;try{F=D.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}$.default=F},A_0=(A,Q,$,B)=>{let D=A._zod.def,J=Q.io==="input"?D.in._zod.def.type==="transform"?D.out:D.in:D.out;s3(J,Q,B);let F=Q.seen.get(A);F.ref=J},Q_0=(A,Q,$,B)=>{let D=A._zod.def;s3(D.innerType,Q,B);let J=Q.seen.get(A);J.ref=D.innerType,$.readOnly=!0},$_0=(A,Q,$,B)=>{let D=A._zod.def;s3(D.innerType,Q,B);let J=Q.seen.get(A);J.ref=D.innerType},sA0=(A,Q,$,B)=>{let D=A._zod.def;s3(D.innerType,Q,B);let J=Q.seen.get(A);J.ref=D.innerType},B_0=(A,Q,$,B)=>{let D=A._zod.innerType;s3(D,Q,B);let J=Q.seen.get(A);J.ref=D},oA0;var qm=r(()=>{Hm();J6();b5A={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},oA0={string:CP0,number:wP0,boolean:MP0,bigint:LP0,symbol:OP0,null:jP0,undefined:RP0,void:uP0,never:PP0,any:_P0,unknown:TP0,date:vP0,enum:kP0,literal:SP0,nan:fP0,template_literal:yP0,file:xP0,success:bP0,custom:hP0,function:gP0,transform:mP0,map:dP0,set:pP0,array:cP0,object:lP0,union:rA0,intersection:iP0,tuple:nP0,record:aP0,nullable:oP0,nonoptional:rP0,default:sP0,prefault:tP0,catch:eP0,pipe:A_0,readonly:Q_0,promise:$_0,optional:sA0,lazy:B_0}});class D_0{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter(A){this.ctx.counter=A}get seen(){return this.ctx.seen}constructor(A){let Q=A?.target??"draft-2020-12";if(Q==="draft-4")Q="draft-04";if(Q==="draft-7")Q="draft-07";this.ctx=RI({processors:oA0,target:Q,...A?.metadata&&{metadata:A.metadata},...A?.unrepresentable&&{unrepresentable:A.unrepresentable},...A?.override&&{override:A.override},...A?.io&&{io:A.io}})}process(A,Q={path:[],schemaPath:[]}){return s3(A,this.ctx,Q)}emit(A,Q){if(Q){if(Q.cycles)this.ctx.cycles=Q.cycles;if(Q.reused)this.ctx.reused=Q.reused;if(Q.external)this.ctx.external=Q.external}uI(this.ctx,A);let $=PI(this.ctx,A),{"~standard":B,...D}=$;return D}}var yo1=r(()=>{qm();Hm()});var xo1={};var bo1=()=>{};var rU={};H8(rU,{version:()=>Lj0,util:()=>D4,treeifyError:()=>uO0,toJSONSchema:()=>tA0,toDotPath:()=>Fa1,safeParseAsync:()=>Dm,safeParse:()=>oP,safeEncodeAsync:()=>Va1,safeEncode:()=>Xa1,safeDecodeAsync:()=>Ka1,safeDecode:()=>Ga1,registry:()=>MA0,regexes:()=>dF,process:()=>s3,prettifyError:()=>PO0,parseAsync:()=>Bm,parse:()=>$m,meta:()=>HP0,locales:()=>eP,isValidJWT:()=>ka1,isValidBase64URL:()=>va1,isValidBase64:()=>nj0,initializeContext:()=>RI,globalRegistry:()=>h7,globalConfig:()=>lg,formatError:()=>Qm,flattenError:()=>Am,finalize:()=>PI,extractDefs:()=>uI,encodeAsync:()=>Za1,encode:()=>Ea1,describe:()=>IP0,decodeAsync:()=>Ua1,decode:()=>Ya1,createToJSONSchemaMethod:()=>NP0,createStandardJSONSchemaMethod:()=>V_,config:()=>L8,clone:()=>O$,_xor:()=>W5A,_xid:()=>SA0,_void:()=>YP0,_uuidv7:()=>uA0,_uuidv6:()=>RA0,_uuidv4:()=>jA0,_uuid:()=>OA0,_url:()=>Im,_uppercase:()=>$_,_unknown:()=>FP0,_union:()=>z5A,_undefined:()=>BP0,_ulid:()=>kA0,_uint64:()=>QP0,_uint32:()=>ou0,_tuple:()=>q5A,_trim:()=>Y_,_transform:()=>j5A,_toUpperCase:()=>U_,_toLowerCase:()=>Z_,_templateLiteral:()=>f5A,_symbol:()=>$P0,_superRefine:()=>WP0,_success:()=>T5A,_stringbool:()=>qP0,_stringFormat:()=>G_,_string:()=>fu0,_startsWith:()=>D_,_slugify:()=>X_,_size:()=>wM,_set:()=>w5A,_safeParseAsync:()=>rP,_safeParse:()=>aP,_safeEncodeAsync:()=>JA0,_safeEncode:()=>BA0,_safeDecodeAsync:()=>FA0,_safeDecode:()=>DA0,_regex:()=>A_,_refine:()=>zP0,_record:()=>N5A,_readonly:()=>S5A,_property:()=>aA0,_promise:()=>x5A,_positive:()=>cA0,_pipe:()=>k5A,_parseAsync:()=>nP,_parse:()=>iP,_overwrite:()=>yY,_optional:()=>R5A,_number:()=>pu0,_nullable:()=>u5A,_null:()=>DP0,_normalize:()=>E_,_nonpositive:()=>iA0,_nonoptional:()=>_5A,_nonnegative:()=>nA0,_never:()=>EP0,_negative:()=>lA0,_nativeEnum:()=>L5A,_nanoid:()=>_A0,_nan:()=>XP0,_multipleOf:()=>OI,_minSize:()=>oU,_minLength:()=>iV,_min:()=>j$,_mime:()=>F_,_maxSize:()=>jI,_maxLength:()=>MM,_max:()=>EJ,_map:()=>C5A,_mac:()=>xu0,_lte:()=>EJ,_lt:()=>nU,_lowercase:()=>Q_,_literal:()=>O5A,_length:()=>LM,_lazy:()=>y5A,_ksuid:()=>fA0,_jwt:()=>pA0,_isoTime:()=>mu0,_isoDuration:()=>du0,_isoDateTime:()=>hu0,_isoDate:()=>gu0,_ipv6:()=>xA0,_ipv4:()=>yA0,_intersection:()=>H5A,_int64:()=>AP0,_int32:()=>au0,_int:()=>lu0,_includes:()=>B_,_guid:()=>Wm,_gte:()=>j$,_gt:()=>aU,_float64:()=>nu0,_float32:()=>iu0,_file:()=>VP0,_enum:()=>M5A,_endsWith:()=>J_,_encodeAsync:()=>QA0,_encode:()=>e60,_emoji:()=>PA0,_email:()=>LA0,_e164:()=>dA0,_discriminatedUnion:()=>I5A,_default:()=>P5A,_decodeAsync:()=>$A0,_decode:()=>AA0,_date:()=>ZP0,_custom:()=>KP0,_cuid2:()=>vA0,_cuid:()=>TA0,_coercedString:()=>yu0,_coercedNumber:()=>cu0,_coercedDate:()=>UP0,_coercedBoolean:()=>su0,_coercedBigint:()=>eu0,_cidrv6:()=>hA0,_cidrv4:()=>bA0,_check:()=>So1,_catch:()=>v5A,_boolean:()=>ru0,_bigint:()=>tu0,_base64url:()=>mA0,_base64:()=>gA0,_array:()=>GP0,_any:()=>JP0,TimePrecision:()=>bu0,NEVER:()=>ig,JSONSchemaGenerator:()=>D_0,JSONSchema:()=>xo1,Doc:()=>GA0,$output:()=>vu0,$input:()=>ku0,$constructor:()=>e0,$brand:()=>HO0,$ZodXor:()=>XR0,$ZodXID:()=>yj0,$ZodVoid:()=>ER0,$ZodUnknown:()=>JR0,$ZodUnion:()=>Zm,$ZodUndefined:()=>$R0,$ZodUUID:()=>uj0,$ZodURL:()=>_j0,$ZodULID:()=>fj0,$ZodType:()=>a6,$ZodTuple:()=>NA0,$ZodTransform:()=>NR0,$ZodTemplateLiteral:()=>TR0,$ZodSymbol:()=>QR0,$ZodSuccess:()=>jR0,$ZodStringFormat:()=>I5,$ZodString:()=>CM,$ZodSet:()=>WR0,$ZodRegistry:()=>Su0,$ZodRecord:()=>KR0,$ZodRealError:()=>dB,$ZodReadonly:()=>_R0,$ZodPromise:()=>kR0,$ZodPrefault:()=>LR0,$ZodPipe:()=>PR0,$ZodOptional:()=>CA0,$ZodObjectJIT:()=>UR0,$ZodObject:()=>ya1,$ZodNumberFormat:()=>ej0,$ZodNumber:()=>HA0,$ZodNullable:()=>wR0,$ZodNull:()=>BR0,$ZodNonOptional:()=>OR0,$ZodNever:()=>FR0,$ZodNanoID:()=>vj0,$ZodNaN:()=>uR0,$ZodMap:()=>zR0,$ZodMAC:()=>cj0,$ZodLiteral:()=>HR0,$ZodLazy:()=>SR0,$ZodKSUID:()=>xj0,$ZodJWT:()=>sj0,$ZodIntersection:()=>VR0,$ZodISOTime:()=>gj0,$ZodISODuration:()=>mj0,$ZodISODateTime:()=>bj0,$ZodISODate:()=>hj0,$ZodIPv6:()=>pj0,$ZodIPv4:()=>dj0,$ZodGUID:()=>Rj0,$ZodFunction:()=>vR0,$ZodFile:()=>qR0,$ZodExactOptional:()=>CR0,$ZodError:()=>eg,$ZodEnum:()=>IR0,$ZodEncodeError:()=>HM,$ZodEmoji:()=>Tj0,$ZodEmail:()=>Pj0,$ZodE164:()=>rj0,$ZodDiscriminatedUnion:()=>GR0,$ZodDefault:()=>MR0,$ZodDate:()=>YR0,$ZodCustomStringFormat:()=>tj0,$ZodCustom:()=>fR0,$ZodCodec:()=>Um,$ZodCheckUpperCase:()=>Ij0,$ZodCheckStringFormat:()=>sP,$ZodCheckStartsWith:()=>qj0,$ZodCheckSizeEquals:()=>Xj0,$ZodCheckRegex:()=>zj0,$ZodCheckProperty:()=>Cj0,$ZodCheckOverwrite:()=>Mj0,$ZodCheckNumberFormat:()=>Ej0,$ZodCheckMultipleOf:()=>Fj0,$ZodCheckMinSize:()=>Uj0,$ZodCheckMinLength:()=>Vj0,$ZodCheckMimeType:()=>wj0,$ZodCheckMaxSize:()=>Zj0,$ZodCheckMaxLength:()=>Gj0,$ZodCheckLowerCase:()=>Wj0,$ZodCheckLessThan:()=>ZA0,$ZodCheckLengthEquals:()=>Kj0,$ZodCheckIncludes:()=>Hj0,$ZodCheckGreaterThan:()=>UA0,$ZodCheckEndsWith:()=>Nj0,$ZodCheckBigIntFormat:()=>Yj0,$ZodCheck:()=>v5,$ZodCatch:()=>RR0,$ZodCUID2:()=>Sj0,$ZodCUID:()=>kj0,$ZodCIDRv6:()=>ij0,$ZodCIDRv4:()=>lj0,$ZodBoolean:()=>Ym,$ZodBigIntFormat:()=>AR0,$ZodBigInt:()=>qA0,$ZodBase64URL:()=>oj0,$ZodBase64:()=>aj0,$ZodAsyncError:()=>iU,$ZodArray:()=>ZR0,$ZodAny:()=>DR0});var u$=r(()=>{J6();YA0();wA0();qm();yo1();bo1();dP();TO0();_O0();yR0();XA0();Oj0();zm();fo1();Hm()});var eA0={};H8(eA0,{uppercase:()=>$_,trim:()=>Y_,toUpperCase:()=>U_,toLowerCase:()=>Z_,startsWith:()=>D_,slugify:()=>X_,size:()=>wM,regex:()=>A_,property:()=>aA0,positive:()=>cA0,overwrite:()=>yY,normalize:()=>E_,nonpositive:()=>iA0,nonnegative:()=>nA0,negative:()=>lA0,multipleOf:()=>OI,minSize:()=>oU,minLength:()=>iV,mime:()=>F_,maxSize:()=>jI,maxLength:()=>MM,lte:()=>EJ,lt:()=>nU,lowercase:()=>Q_,length:()=>LM,includes:()=>B_,gte:()=>j$,gt:()=>aU,endsWith:()=>J_});var A30=r(()=>{u$()});var _I={};H8(_I,{time:()=>E_0,duration:()=>Y_0,datetime:()=>J_0,date:()=>F_0,ZodISOTime:()=>B30,ZodISODuration:()=>D30,ZodISODateTime:()=>Q30,ZodISODate:()=>$30});function J_0(A){return hu0(Q30,A)}function F_0(A){return gu0($30,A)}function E_0(A){return mu0(B30,A)}function Y_0(A){return du0(D30,A)}var Q30,$30,B30,D30;var Nm=r(()=>{u$();wm();Q30=e0("ZodISODateTime",(A,Q)=>{bj0.init(A,Q),H5.init(A,Q)});$30=e0("ZodISODate",(A,Q)=>{hj0.init(A,Q),H5.init(A,Q)});B30=e0("ZodISOTime",(A,Q)=>{gj0.init(A,Q),H5.init(A,Q)});D30=e0("ZodISODuration",(A,Q)=>{mj0.init(A,Q),H5.init(A,Q)})});var ho1=(A,Q)=>{eg.init(A,Q),A.name="ZodError",Object.defineProperties(A,{format:{value:($)=>Qm(A,$)},flatten:{value:($)=>Am(A,$)},addIssue:{value:($)=>{A.issues.push($),A.message=JSON.stringify(A.issues,pP,2)}},addIssues:{value:($)=>{A.issues.push(...$),A.message=JSON.stringify(A.issues,pP,2)}},isEmpty:{get(){return A.issues.length===0}}})},g5A,pB;var Z_0=r(()=>{u$();u$();J6();g5A=e0("ZodError",ho1),pB=e0("ZodError",ho1,{Parent:Error})});var U_0,X_0,G_0,V_0,K_0,z_0,W_0,I_0,H_0,q_0,N_0,C_0;var w_0=r(()=>{u$();Z_0();U_0=iP(pB),X_0=nP(pB),G_0=aP(pB),V_0=rP(pB),K_0=e60(pB),z_0=AA0(pB),W_0=QA0(pB),I_0=$A0(pB),H_0=BA0(pB),q_0=DA0(pB),N_0=JA0(pB),C_0=FA0(pB)});var Cm={};H8(Cm,{xor:()=>jr1,xid:()=>to1,void:()=>wr1,uuidv7:()=>lo1,uuidv6:()=>co1,uuidv4:()=>po1,uuid:()=>do1,url:()=>Y30,unknown:()=>q5,union:()=>E5,undefined:()=>Cr1,ulid:()=>so1,uint64:()=>qr1,uint32:()=>Wr1,tuple:()=>y_0,transform:()=>R30,templateLiteral:()=>xr1,symbol:()=>Nr1,superRefine:()=>YT0,success:()=>Sr1,stringbool:()=>cr1,stringFormat:()=>Zr1,string:()=>c0,strictObject:()=>Or1,set:()=>_r1,refine:()=>ET0,record:()=>k5,readonly:()=>QT0,promise:()=>br1,preprocess:()=>km,prefault:()=>a_0,pipe:()=>Om,partialRecord:()=>Rr1,optional:()=>p5,object:()=>M4,number:()=>B3,nullish:()=>kr1,nullable:()=>Lm,null:()=>N_,nonoptional:()=>o_0,never:()=>j30,nativeEnum:()=>Tr1,nanoid:()=>ao1,nan:()=>fr1,meta:()=>dr1,map:()=>Pr1,mac:()=>Qr1,looseRecord:()=>ur1,looseObject:()=>O8,literal:()=>t4,lazy:()=>DT0,ksuid:()=>eo1,keyof:()=>Lr1,jwt:()=>Yr1,json:()=>lr1,ipv6:()=>$r1,ipv4:()=>Ar1,intersection:()=>C_,int64:()=>Hr1,int32:()=>zr1,int:()=>J30,instanceof:()=>pr1,httpUrl:()=>io1,hostname:()=>Ur1,hex:()=>Xr1,hash:()=>Gr1,guid:()=>mo1,function:()=>hr1,float64:()=>Kr1,float32:()=>Vr1,file:()=>vr1,exactOptional:()=>p_0,enum:()=>g7,emoji:()=>no1,email:()=>go1,e164:()=>Er1,discriminatedUnion:()=>_m,describe:()=>mr1,date:()=>Mr1,custom:()=>v30,cuid2:()=>ro1,cuid:()=>oo1,codec:()=>yr1,cidrv6:()=>Dr1,cidrv4:()=>Br1,check:()=>gr1,catch:()=>t_0,boolean:()=>t3,bigint:()=>Ir1,base64url:()=>Fr1,base64:()=>Jr1,array:()=>N4,any:()=>O30,_function:()=>hr1,_default:()=>i_0,_ZodString:()=>F30,ZodXor:()=>v_0,ZodXID:()=>K30,ZodVoid:()=>__0,ZodUnknown:()=>u_0,ZodUnion:()=>Pm,ZodUndefined:()=>O_0,ZodUUID:()=>sU,ZodURL:()=>jm,ZodULID:()=>V30,ZodType:()=>zA,ZodTuple:()=>f_0,ZodTransform:()=>m_0,ZodTemplateLiteral:()=>$T0,ZodSymbol:()=>L_0,ZodSuccess:()=>r_0,ZodStringFormat:()=>H5,ZodString:()=>z_,ZodSet:()=>b_0,ZodRecord:()=>Tm,ZodReadonly:()=>AT0,ZodPromise:()=>JT0,ZodPrefault:()=>n_0,ZodPipe:()=>_30,ZodOptional:()=>u30,ZodObject:()=>um,ZodNumberFormat:()=>OM,ZodNumber:()=>I_,ZodNullable:()=>c_0,ZodNull:()=>j_0,ZodNonOptional:()=>P30,ZodNever:()=>P_0,ZodNanoID:()=>U30,ZodNaN:()=>e_0,ZodMap:()=>x_0,ZodMAC:()=>M_0,ZodLiteral:()=>h_0,ZodLazy:()=>BT0,ZodKSUID:()=>z30,ZodJWT:()=>M30,ZodIntersection:()=>S_0,ZodIPv6:()=>I30,ZodIPv4:()=>W30,ZodGUID:()=>Mm,ZodFunction:()=>FT0,ZodFile:()=>g_0,ZodExactOptional:()=>d_0,ZodEnum:()=>K_,ZodEmoji:()=>Z30,ZodEmail:()=>E30,ZodE164:()=>w30,ZodDiscriminatedUnion:()=>k_0,ZodDefault:()=>l_0,ZodDate:()=>Rm,ZodCustomStringFormat:()=>W_,ZodCustom:()=>vm,ZodCodec:()=>T30,ZodCatch:()=>s_0,ZodCUID2:()=>G30,ZodCUID:()=>X30,ZodCIDRv6:()=>q30,ZodCIDRv4:()=>H30,ZodBoolean:()=>H_,ZodBigIntFormat:()=>L30,ZodBigInt:()=>q_,ZodBase64URL:()=>C30,ZodBase64:()=>N30,ZodArray:()=>T_0,ZodAny:()=>R_0});function c0(A){return fu0(z_,A)}function go1(A){return LA0(E30,A)}function mo1(A){return Wm(Mm,A)}function do1(A){return OA0(sU,A)}function po1(A){return jA0(sU,A)}function co1(A){return RA0(sU,A)}function lo1(A){return uA0(sU,A)}function Y30(A){return Im(jm,A)}function io1(A){return Im(jm,{protocol:/^https?$/,hostname:dF.domain,...D4.normalizeParams(A)})}function no1(A){return PA0(Z30,A)}function ao1(A){return _A0(U30,A)}function oo1(A){return TA0(X30,A)}function ro1(A){return vA0(G30,A)}function so1(A){return kA0(V30,A)}function to1(A){return SA0(K30,A)}function eo1(A){return fA0(z30,A)}function Ar1(A){return yA0(W30,A)}function Qr1(A){return xu0(M_0,A)}function $r1(A){return xA0(I30,A)}function Br1(A){return bA0(H30,A)}function Dr1(A){return hA0(q30,A)}function Jr1(A){return gA0(N30,A)}function Fr1(A){return mA0(C30,A)}function Er1(A){return dA0(w30,A)}function Yr1(A){return pA0(M30,A)}function Zr1(A,Q,$={}){return G_(W_,A,Q,$)}function Ur1(A){return G_(W_,"hostname",dF.hostname,A)}function Xr1(A){return G_(W_,"hex",dF.hex,A)}function Gr1(A,Q){let $=Q?.enc??"hex",B=`${A}_${$}`,D=dF[B];if(!D)throw Error(`Unrecognized hash format: ${B}`);return G_(W_,B,D,Q)}function B3(A){return pu0(I_,A)}function J30(A){return lu0(OM,A)}function Vr1(A){return iu0(OM,A)}function Kr1(A){return nu0(OM,A)}function zr1(A){return au0(OM,A)}function Wr1(A){return ou0(OM,A)}function t3(A){return ru0(H_,A)}function Ir1(A){return tu0(q_,A)}function Hr1(A){return AP0(L30,A)}function qr1(A){return QP0(L30,A)}function Nr1(A){return $P0(L_0,A)}function Cr1(A){return BP0(O_0,A)}function N_(A){return DP0(j_0,A)}function O30(){return JP0(R_0)}function q5(){return FP0(u_0)}function j30(A){return EP0(P_0,A)}function wr1(A){return YP0(__0,A)}function Mr1(A){return ZP0(Rm,A)}function N4(A,Q){return GP0(T_0,A,Q)}function Lr1(A){let Q=A._zod.def.shape;return g7(Object.keys(Q))}function M4(A,Q){let $={type:"object",shape:A??{},...D4.normalizeParams(Q)};return new um($)}function Or1(A,Q){return new um({type:"object",shape:A,catchall:j30(),...D4.normalizeParams(Q)})}function O8(A,Q){return new um({type:"object",shape:A,catchall:q5(),...D4.normalizeParams(Q)})}function E5(A,Q){return new Pm({type:"union",options:A,...D4.normalizeParams(Q)})}function jr1(A,Q){return new v_0({type:"union",options:A,inclusive:!1,...D4.normalizeParams(Q)})}function _m(A,Q,$){return new k_0({type:"union",options:Q,discriminator:A,...D4.normalizeParams($)})}function C_(A,Q){return new S_0({type:"intersection",left:A,right:Q})}function y_0(A,Q,$){let B=Q instanceof a6,D=B?$:Q;return new f_0({type:"tuple",items:A,rest:B?Q:null,...D4.normalizeParams(D)})}function k5(A,Q,$){return new Tm({type:"record",keyType:A,valueType:Q,...D4.normalizeParams($)})}function Rr1(A,Q,$){let B=O$(A);return B._zod.values=void 0,new Tm({type:"record",keyType:B,valueType:Q,...D4.normalizeParams($)})}function ur1(A,Q,$){return new Tm({type:"record",keyType:A,valueType:Q,mode:"loose",...D4.normalizeParams($)})}function Pr1(A,Q,$){return new x_0({type:"map",keyType:A,valueType:Q,...D4.normalizeParams($)})}function _r1(A,Q){return new b_0({type:"set",valueType:A,...D4.normalizeParams(Q)})}function g7(A,Q){let $=Array.isArray(A)?Object.fromEntries(A.map((B)=>[B,B])):A;return new K_({type:"enum",entries:$,...D4.normalizeParams(Q)})}function Tr1(A,Q){return new K_({type:"enum",entries:A,...D4.normalizeParams(Q)})}function t4(A,Q){return new h_0({type:"literal",values:Array.isArray(A)?A:[A],...D4.normalizeParams(Q)})}function vr1(A){return VP0(g_0,A)}function R30(A){return new m_0({type:"transform",transform:A})}function p5(A){return new u30({type:"optional",innerType:A})}function p_0(A){return new d_0({type:"optional",innerType:A})}function Lm(A){return new c_0({type:"nullable",innerType:A})}function kr1(A){return p5(Lm(A))}function i_0(A,Q){return new l_0({type:"default",innerType:A,get defaultValue(){return typeof Q==="function"?Q():D4.shallowClone(Q)}})}function a_0(A,Q){return new n_0({type:"prefault",innerType:A,get defaultValue(){return typeof Q==="function"?Q():D4.shallowClone(Q)}})}function o_0(A,Q){return new P30({type:"nonoptional",innerType:A,...D4.normalizeParams(Q)})}function Sr1(A){return new r_0({type:"success",innerType:A})}function t_0(A,Q){return new s_0({type:"catch",innerType:A,catchValue:typeof Q==="function"?Q:()=>Q})}function fr1(A){return XP0(e_0,A)}function Om(A,Q){return new _30({type:"pipe",in:A,out:Q})}function yr1(A,Q,$){return new T30({type:"pipe",in:A,out:Q,transform:$.decode,reverseTransform:$.encode})}function QT0(A){return new AT0({type:"readonly",innerType:A})}function xr1(A,Q){return new $T0({type:"template_literal",parts:A,...D4.normalizeParams(Q)})}function DT0(A){return new BT0({type:"lazy",getter:A})}function br1(A){return new JT0({type:"promise",innerType:A})}function hr1(A){return new FT0({type:"function",input:Array.isArray(A?.input)?y_0(A?.input):A?.input??N4(q5()),output:A?.output??q5()})}function gr1(A){let Q=new v5({check:"custom"});return Q._zod.check=A,Q}function v30(A,Q){return KP0(vm,A??(()=>!0),Q)}function ET0(A,Q={}){return zP0(vm,A,Q)}function YT0(A){return WP0(A)}function pr1(A,Q={}){let $=new vm({type:"custom",check:"custom",fn:(B)=>B instanceof A,abort:!0,...D4.normalizeParams(Q)});return $._zod.bag.Class=A,$._zod.check=(B)=>{if(!(B.value instanceof A))B.issues.push({code:"invalid_type",expected:A.name,input:B.value,inst:$,path:[...$._zod.def.path??[]]})},$}function lr1(A){let Q=DT0(()=>{return E5([c0(A),B3(),t3(),N_(),N4(Q),k5(c0(),Q)])});return Q}function km(A,Q){return Om(R30(A),Q)}var zA,F30,z_,H5,E30,Mm,sU,jm,Z30,U30,X30,G30,V30,K30,z30,W30,M_0,I30,H30,q30,N30,C30,w30,M30,W_,I_,OM,H_,q_,L30,L_0,O_0,j_0,R_0,u_0,P_0,__0,Rm,T_0,um,Pm,v_0,k_0,S_0,f_0,Tm,x_0,b_0,K_,h_0,g_0,m_0,u30,d_0,c_0,l_0,n_0,P30,r_0,s_0,e_0,_30,T30,AT0,$T0,BT0,JT0,FT0,vm,mr1,dr1,cr1=(...A)=>qP0({Codec:T30,Boolean:H_,String:z_},...A);var wm=r(()=>{u$();u$();qm();Hm();A30();Nm();w_0();zA=e0("ZodType",(A,Q)=>{return a6.init(A,Q),Object.assign(A["~standard"],{jsonSchema:{input:V_(A,"input"),output:V_(A,"output")}}),A.toJSONSchema=NP0(A,{}),A.def=Q,A.type=Q.type,Object.defineProperty(A,"_def",{value:Q}),A.check=(...$)=>{return A.clone(D4.mergeDefs(Q,{checks:[...Q.checks??[],...$.map((B)=>typeof B==="function"?{_zod:{check:B,def:{check:"custom"},onattach:[]}}:B)]}),{parent:!0})},A.with=A.check,A.clone=($,B)=>O$(A,$,B),A.brand=()=>A,A.register=($,B)=>{return $.add(A,B),A},A.parse=($,B)=>U_0(A,$,B,{callee:A.parse}),A.safeParse=($,B)=>G_0(A,$,B),A.parseAsync=async($,B)=>X_0(A,$,B,{callee:A.parseAsync}),A.safeParseAsync=async($,B)=>V_0(A,$,B),A.spa=A.safeParseAsync,A.encode=($,B)=>K_0(A,$,B),A.decode=($,B)=>z_0(A,$,B),A.encodeAsync=async($,B)=>W_0(A,$,B),A.decodeAsync=async($,B)=>I_0(A,$,B),A.safeEncode=($,B)=>H_0(A,$,B),A.safeDecode=($,B)=>q_0(A,$,B),A.safeEncodeAsync=async($,B)=>N_0(A,$,B),A.safeDecodeAsync=async($,B)=>C_0(A,$,B),A.refine=($,B)=>A.check(ET0($,B)),A.superRefine=($)=>A.check(YT0($)),A.overwrite=($)=>A.check(yY($)),A.optional=()=>p5(A),A.exactOptional=()=>p_0(A),A.nullable=()=>Lm(A),A.nullish=()=>p5(Lm(A)),A.nonoptional=($)=>o_0(A,$),A.array=()=>N4(A),A.or=($)=>E5([A,$]),A.and=($)=>C_(A,$),A.transform=($)=>Om(A,R30($)),A.default=($)=>i_0(A,$),A.prefault=($)=>a_0(A,$),A.catch=($)=>t_0(A,$),A.pipe=($)=>Om(A,$),A.readonly=()=>QT0(A),A.describe=($)=>{let B=A.clone();return h7.add(B,{description:$}),B},Object.defineProperty(A,"description",{get(){return h7.get(A)?.description},configurable:!0}),A.meta=(...$)=>{if($.length===0)return h7.get(A);let B=A.clone();return h7.add(B,$[0]),B},A.isOptional=()=>A.safeParse(void 0).success,A.isNullable=()=>A.safeParse(null).success,A.apply=($)=>$(A),A}),F30=e0("_ZodString",(A,Q)=>{CM.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=(B,D,J)=>CP0(A,B,D,J);let $=A._zod.bag;A.format=$.format??null,A.minLength=$.minimum??null,A.maxLength=$.maximum??null,A.regex=(...B)=>A.check(A_(...B)),A.includes=(...B)=>A.check(B_(...B)),A.startsWith=(...B)=>A.check(D_(...B)),A.endsWith=(...B)=>A.check(J_(...B)),A.min=(...B)=>A.check(iV(...B)),A.max=(...B)=>A.check(MM(...B)),A.length=(...B)=>A.check(LM(...B)),A.nonempty=(...B)=>A.check(iV(1,...B)),A.lowercase=(B)=>A.check(Q_(B)),A.uppercase=(B)=>A.check($_(B)),A.trim=()=>A.check(Y_()),A.normalize=(...B)=>A.check(E_(...B)),A.toLowerCase=()=>A.check(Z_()),A.toUpperCase=()=>A.check(U_()),A.slugify=()=>A.check(X_())}),z_=e0("ZodString",(A,Q)=>{CM.init(A,Q),F30.init(A,Q),A.email=($)=>A.check(LA0(E30,$)),A.url=($)=>A.check(Im(jm,$)),A.jwt=($)=>A.check(pA0(M30,$)),A.emoji=($)=>A.check(PA0(Z30,$)),A.guid=($)=>A.check(Wm(Mm,$)),A.uuid=($)=>A.check(OA0(sU,$)),A.uuidv4=($)=>A.check(jA0(sU,$)),A.uuidv6=($)=>A.check(RA0(sU,$)),A.uuidv7=($)=>A.check(uA0(sU,$)),A.nanoid=($)=>A.check(_A0(U30,$)),A.guid=($)=>A.check(Wm(Mm,$)),A.cuid=($)=>A.check(TA0(X30,$)),A.cuid2=($)=>A.check(vA0(G30,$)),A.ulid=($)=>A.check(kA0(V30,$)),A.base64=($)=>A.check(gA0(N30,$)),A.base64url=($)=>A.check(mA0(C30,$)),A.xid=($)=>A.check(SA0(K30,$)),A.ksuid=($)=>A.check(fA0(z30,$)),A.ipv4=($)=>A.check(yA0(W30,$)),A.ipv6=($)=>A.check(xA0(I30,$)),A.cidrv4=($)=>A.check(bA0(H30,$)),A.cidrv6=($)=>A.check(hA0(q30,$)),A.e164=($)=>A.check(dA0(w30,$)),A.datetime=($)=>A.check(J_0($)),A.date=($)=>A.check(F_0($)),A.time=($)=>A.check(E_0($)),A.duration=($)=>A.check(Y_0($))});H5=e0("ZodStringFormat",(A,Q)=>{I5.init(A,Q),F30.init(A,Q)}),E30=e0("ZodEmail",(A,Q)=>{Pj0.init(A,Q),H5.init(A,Q)});Mm=e0("ZodGUID",(A,Q)=>{Rj0.init(A,Q),H5.init(A,Q)});sU=e0("ZodUUID",(A,Q)=>{uj0.init(A,Q),H5.init(A,Q)});jm=e0("ZodURL",(A,Q)=>{_j0.init(A,Q),H5.init(A,Q)});Z30=e0("ZodEmoji",(A,Q)=>{Tj0.init(A,Q),H5.init(A,Q)});U30=e0("ZodNanoID",(A,Q)=>{vj0.init(A,Q),H5.init(A,Q)});X30=e0("ZodCUID",(A,Q)=>{kj0.init(A,Q),H5.init(A,Q)});G30=e0("ZodCUID2",(A,Q)=>{Sj0.init(A,Q),H5.init(A,Q)});V30=e0("ZodULID",(A,Q)=>{fj0.init(A,Q),H5.init(A,Q)});K30=e0("ZodXID",(A,Q)=>{yj0.init(A,Q),H5.init(A,Q)});z30=e0("ZodKSUID",(A,Q)=>{xj0.init(A,Q),H5.init(A,Q)});W30=e0("ZodIPv4",(A,Q)=>{dj0.init(A,Q),H5.init(A,Q)});M_0=e0("ZodMAC",(A,Q)=>{cj0.init(A,Q),H5.init(A,Q)});I30=e0("ZodIPv6",(A,Q)=>{pj0.init(A,Q),H5.init(A,Q)});H30=e0("ZodCIDRv4",(A,Q)=>{lj0.init(A,Q),H5.init(A,Q)});q30=e0("ZodCIDRv6",(A,Q)=>{ij0.init(A,Q),H5.init(A,Q)});N30=e0("ZodBase64",(A,Q)=>{aj0.init(A,Q),H5.init(A,Q)});C30=e0("ZodBase64URL",(A,Q)=>{oj0.init(A,Q),H5.init(A,Q)});w30=e0("ZodE164",(A,Q)=>{rj0.init(A,Q),H5.init(A,Q)});M30=e0("ZodJWT",(A,Q)=>{sj0.init(A,Q),H5.init(A,Q)});W_=e0("ZodCustomStringFormat",(A,Q)=>{tj0.init(A,Q),H5.init(A,Q)});I_=e0("ZodNumber",(A,Q)=>{HA0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=(B,D,J)=>wP0(A,B,D,J),A.gt=(B,D)=>A.check(aU(B,D)),A.gte=(B,D)=>A.check(j$(B,D)),A.min=(B,D)=>A.check(j$(B,D)),A.lt=(B,D)=>A.check(nU(B,D)),A.lte=(B,D)=>A.check(EJ(B,D)),A.max=(B,D)=>A.check(EJ(B,D)),A.int=(B)=>A.check(J30(B)),A.safe=(B)=>A.check(J30(B)),A.positive=(B)=>A.check(aU(0,B)),A.nonnegative=(B)=>A.check(j$(0,B)),A.negative=(B)=>A.check(nU(0,B)),A.nonpositive=(B)=>A.check(EJ(0,B)),A.multipleOf=(B,D)=>A.check(OI(B,D)),A.step=(B,D)=>A.check(OI(B,D)),A.finite=()=>A;let $=A._zod.bag;A.minValue=Math.max($.minimum??Number.NEGATIVE_INFINITY,$.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,A.maxValue=Math.min($.maximum??Number.POSITIVE_INFINITY,$.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,A.isInt=($.format??"").includes("int")||Number.isSafeInteger($.multipleOf??0.5),A.isFinite=!0,A.format=$.format??null});OM=e0("ZodNumberFormat",(A,Q)=>{ej0.init(A,Q),I_.init(A,Q)});H_=e0("ZodBoolean",(A,Q)=>{Ym.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>MP0(A,$,B,D)});q_=e0("ZodBigInt",(A,Q)=>{qA0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=(B,D,J)=>LP0(A,B,D,J),A.gte=(B,D)=>A.check(j$(B,D)),A.min=(B,D)=>A.check(j$(B,D)),A.gt=(B,D)=>A.check(aU(B,D)),A.gte=(B,D)=>A.check(j$(B,D)),A.min=(B,D)=>A.check(j$(B,D)),A.lt=(B,D)=>A.check(nU(B,D)),A.lte=(B,D)=>A.check(EJ(B,D)),A.max=(B,D)=>A.check(EJ(B,D)),A.positive=(B)=>A.check(aU(BigInt(0),B)),A.negative=(B)=>A.check(nU(BigInt(0),B)),A.nonpositive=(B)=>A.check(EJ(BigInt(0),B)),A.nonnegative=(B)=>A.check(j$(BigInt(0),B)),A.multipleOf=(B,D)=>A.check(OI(B,D));let $=A._zod.bag;A.minValue=$.minimum??null,A.maxValue=$.maximum??null,A.format=$.format??null});L30=e0("ZodBigIntFormat",(A,Q)=>{AR0.init(A,Q),q_.init(A,Q)});L_0=e0("ZodSymbol",(A,Q)=>{QR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>OP0(A,$,B,D)});O_0=e0("ZodUndefined",(A,Q)=>{$R0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>RP0(A,$,B,D)});j_0=e0("ZodNull",(A,Q)=>{BR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>jP0(A,$,B,D)});R_0=e0("ZodAny",(A,Q)=>{DR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>_P0(A,$,B,D)});u_0=e0("ZodUnknown",(A,Q)=>{JR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>TP0(A,$,B,D)});P_0=e0("ZodNever",(A,Q)=>{FR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>PP0(A,$,B,D)});__0=e0("ZodVoid",(A,Q)=>{ER0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>uP0(A,$,B,D)});Rm=e0("ZodDate",(A,Q)=>{YR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=(B,D,J)=>vP0(A,B,D,J),A.min=(B,D)=>A.check(j$(B,D)),A.max=(B,D)=>A.check(EJ(B,D));let $=A._zod.bag;A.minDate=$.minimum?new Date($.minimum):null,A.maxDate=$.maximum?new Date($.maximum):null});T_0=e0("ZodArray",(A,Q)=>{ZR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>cP0(A,$,B,D),A.element=Q.element,A.min=($,B)=>A.check(iV($,B)),A.nonempty=($)=>A.check(iV(1,$)),A.max=($,B)=>A.check(MM($,B)),A.length=($,B)=>A.check(LM($,B)),A.unwrap=()=>A.element});um=e0("ZodObject",(A,Q)=>{UR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>lP0(A,$,B,D),D4.defineLazy(A,"shape",()=>{return Q.shape}),A.keyof=()=>g7(Object.keys(A._zod.def.shape)),A.catchall=($)=>A.clone({...A._zod.def,catchall:$}),A.passthrough=()=>A.clone({...A._zod.def,catchall:q5()}),A.loose=()=>A.clone({...A._zod.def,catchall:q5()}),A.strict=()=>A.clone({...A._zod.def,catchall:j30()}),A.strip=()=>A.clone({...A._zod.def,catchall:void 0}),A.extend=($)=>{return D4.extend(A,$)},A.safeExtend=($)=>{return D4.safeExtend(A,$)},A.merge=($)=>D4.merge(A,$),A.pick=($)=>D4.pick(A,$),A.omit=($)=>D4.omit(A,$),A.partial=(...$)=>D4.partial(u30,A,$[0]),A.required=(...$)=>D4.required(P30,A,$[0])});Pm=e0("ZodUnion",(A,Q)=>{Zm.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>rA0(A,$,B,D),A.options=Q.options});v_0=e0("ZodXor",(A,Q)=>{Pm.init(A,Q),XR0.init(A,Q),A._zod.processJSONSchema=($,B,D)=>rA0(A,$,B,D),A.options=Q.options});k_0=e0("ZodDiscriminatedUnion",(A,Q)=>{Pm.init(A,Q),GR0.init(A,Q)});S_0=e0("ZodIntersection",(A,Q)=>{VR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>iP0(A,$,B,D)});f_0=e0("ZodTuple",(A,Q)=>{NA0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>nP0(A,$,B,D),A.rest=($)=>A.clone({...A._zod.def,rest:$})});Tm=e0("ZodRecord",(A,Q)=>{KR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>aP0(A,$,B,D),A.keyType=Q.keyType,A.valueType=Q.valueType});x_0=e0("ZodMap",(A,Q)=>{zR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>dP0(A,$,B,D),A.keyType=Q.keyType,A.valueType=Q.valueType,A.min=(...$)=>A.check(oU(...$)),A.nonempty=($)=>A.check(oU(1,$)),A.max=(...$)=>A.check(jI(...$)),A.size=(...$)=>A.check(wM(...$))});b_0=e0("ZodSet",(A,Q)=>{WR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>pP0(A,$,B,D),A.min=(...$)=>A.check(oU(...$)),A.nonempty=($)=>A.check(oU(1,$)),A.max=(...$)=>A.check(jI(...$)),A.size=(...$)=>A.check(wM(...$))});K_=e0("ZodEnum",(A,Q)=>{IR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=(B,D,J)=>kP0(A,B,D,J),A.enum=Q.entries,A.options=Object.values(Q.entries);let $=new Set(Object.keys(Q.entries));A.extract=(B,D)=>{let J={};for(let F of B)if($.has(F))J[F]=Q.entries[F];else throw Error(`Key ${F} not found in enum`);return new K_({...Q,checks:[],...D4.normalizeParams(D),entries:J})},A.exclude=(B,D)=>{let J={...Q.entries};for(let F of B)if($.has(F))delete J[F];else throw Error(`Key ${F} not found in enum`);return new K_({...Q,checks:[],...D4.normalizeParams(D),entries:J})}});h_0=e0("ZodLiteral",(A,Q)=>{HR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>SP0(A,$,B,D),A.values=new Set(Q.values),Object.defineProperty(A,"value",{get(){if(Q.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return Q.values[0]}})});g_0=e0("ZodFile",(A,Q)=>{qR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>xP0(A,$,B,D),A.min=($,B)=>A.check(oU($,B)),A.max=($,B)=>A.check(jI($,B)),A.mime=($,B)=>A.check(F_(Array.isArray($)?$:[$],B))});m_0=e0("ZodTransform",(A,Q)=>{NR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>mP0(A,$,B,D),A._zod.parse=($,B)=>{if(B.direction==="backward")throw new HM(A.constructor.name);$.addIssue=(J)=>{if(typeof J==="string")$.issues.push(D4.issue(J,$.value,Q));else{let F=J;if(F.fatal)F.continue=!1;F.code??(F.code="custom"),F.input??(F.input=$.value),F.inst??(F.inst=A),$.issues.push(D4.issue(F))}};let D=Q.transform($.value,$);if(D instanceof Promise)return D.then((J)=>{return $.value=J,$});return $.value=D,$}});u30=e0("ZodOptional",(A,Q)=>{CA0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>sA0(A,$,B,D),A.unwrap=()=>A._zod.def.innerType});d_0=e0("ZodExactOptional",(A,Q)=>{CR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>sA0(A,$,B,D),A.unwrap=()=>A._zod.def.innerType});c_0=e0("ZodNullable",(A,Q)=>{wR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>oP0(A,$,B,D),A.unwrap=()=>A._zod.def.innerType});l_0=e0("ZodDefault",(A,Q)=>{MR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>sP0(A,$,B,D),A.unwrap=()=>A._zod.def.innerType,A.removeDefault=A.unwrap});n_0=e0("ZodPrefault",(A,Q)=>{LR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>tP0(A,$,B,D),A.unwrap=()=>A._zod.def.innerType});P30=e0("ZodNonOptional",(A,Q)=>{OR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>rP0(A,$,B,D),A.unwrap=()=>A._zod.def.innerType});r_0=e0("ZodSuccess",(A,Q)=>{jR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>bP0(A,$,B,D),A.unwrap=()=>A._zod.def.innerType});s_0=e0("ZodCatch",(A,Q)=>{RR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>eP0(A,$,B,D),A.unwrap=()=>A._zod.def.innerType,A.removeCatch=A.unwrap});e_0=e0("ZodNaN",(A,Q)=>{uR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>fP0(A,$,B,D)});_30=e0("ZodPipe",(A,Q)=>{PR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>A_0(A,$,B,D),A.in=Q.in,A.out=Q.out});T30=e0("ZodCodec",(A,Q)=>{_30.init(A,Q),Um.init(A,Q)});AT0=e0("ZodReadonly",(A,Q)=>{_R0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>Q_0(A,$,B,D),A.unwrap=()=>A._zod.def.innerType});$T0=e0("ZodTemplateLiteral",(A,Q)=>{TR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>yP0(A,$,B,D)});BT0=e0("ZodLazy",(A,Q)=>{SR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>B_0(A,$,B,D),A.unwrap=()=>A._zod.def.getter()});JT0=e0("ZodPromise",(A,Q)=>{kR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>$_0(A,$,B,D),A.unwrap=()=>A._zod.def.innerType});FT0=e0("ZodFunction",(A,Q)=>{vR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>gP0(A,$,B,D)});vm=e0("ZodCustom",(A,Q)=>{fR0.init(A,Q),zA.init(A,Q),A._zod.processJSONSchema=($,B,D)=>hP0(A,$,B,D)});mr1=IP0,dr1=HP0});function d5A(A){L8({customError:A})}function p5A(){return L8().customError}var UT0,ZT0;var ir1=r(()=>{u$();UT0={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};(function(A){})(ZT0||(ZT0={}))});function l5A(A,Q){let $=A.$schema;if($==="https://json-schema.org/draft/2020-12/schema")return"draft-2020-12";if($==="http://json-schema.org/draft-07/schema#")return"draft-7";if($==="http://json-schema.org/draft-04/schema#")return"draft-4";return Q??"draft-2020-12"}function i5A(A,Q){if(!A.startsWith("#"))throw Error("External $ref is not supported, only local refs (#/...) are allowed");let $=A.slice(1).split("/").filter(Boolean);if($.length===0)return Q.rootSchema;let B=Q.version==="draft-2020-12"?"$defs":"definitions";if($[0]===B){let D=$[1];if(!D||!Q.defs[D])throw Error(`Reference not found: ${A}`);return Q.defs[D]}throw Error(`Reference not found: ${A}`)}function nr1(A,Q){if(A.not!==void 0){if(typeof A.not==="object"&&Object.keys(A.not).length===0)return P4.never();throw Error("not is not supported in Zod (except { not: {} } for never)")}if(A.unevaluatedItems!==void 0)throw Error("unevaluatedItems is not supported");if(A.unevaluatedProperties!==void 0)throw Error("unevaluatedProperties is not supported");if(A.if!==void 0||A.then!==void 0||A.else!==void 0)throw Error("Conditional schemas (if/then/else) are not supported");if(A.dependentSchemas!==void 0||A.dependentRequired!==void 0)throw Error("dependentSchemas and dependentRequired are not supported");if(A.$ref){let D=A.$ref;if(Q.refs.has(D))return Q.refs.get(D);if(Q.processing.has(D))return P4.lazy(()=>{if(!Q.refs.has(D))throw Error(`Circular reference not resolved: ${D}`);return Q.refs.get(D)});Q.processing.add(D);let J=i5A(D,Q),F=PQ(J,Q);return Q.refs.set(D,F),Q.processing.delete(D),F}if(A.enum!==void 0){let D=A.enum;if(Q.version==="openapi-3.0"&&A.nullable===!0&&D.length===1&&D[0]===null)return P4.null();if(D.length===0)return P4.never();if(D.length===1)return P4.literal(D[0]);if(D.every((F)=>typeof F==="string"))return P4.enum(D);let J=D.map((F)=>P4.literal(F));if(J.length<2)return J[0];return P4.union([J[0],J[1],...J.slice(2)])}if(A.const!==void 0)return P4.literal(A.const);let $=A.type;if(Array.isArray($)){let D=$.map((J)=>{let F={...A,type:J};return nr1(F,Q)});if(D.length===0)return P4.never();if(D.length===1)return D[0];return P4.union(D)}if(!$)return P4.any();let B;switch($){case"string":{let D=P4.string();if(A.format){let J=A.format;if(J==="email")D=D.check(P4.email());else if(J==="uri"||J==="uri-reference")D=D.check(P4.url());else if(J==="uuid"||J==="guid")D=D.check(P4.uuid());else if(J==="date-time")D=D.check(P4.iso.datetime());else if(J==="date")D=D.check(P4.iso.date());else if(J==="time")D=D.check(P4.iso.time());else if(J==="duration")D=D.check(P4.iso.duration());else if(J==="ipv4")D=D.check(P4.ipv4());else if(J==="ipv6")D=D.check(P4.ipv6());else if(J==="mac")D=D.check(P4.mac());else if(J==="cidr")D=D.check(P4.cidrv4());else if(J==="cidr-v6")D=D.check(P4.cidrv6());else if(J==="base64")D=D.check(P4.base64());else if(J==="base64url")D=D.check(P4.base64url());else if(J==="e164")D=D.check(P4.e164());else if(J==="jwt")D=D.check(P4.jwt());else if(J==="emoji")D=D.check(P4.emoji());else if(J==="nanoid")D=D.check(P4.nanoid());else if(J==="cuid")D=D.check(P4.cuid());else if(J==="cuid2")D=D.check(P4.cuid2());else if(J==="ulid")D=D.check(P4.ulid());else if(J==="xid")D=D.check(P4.xid());else if(J==="ksuid")D=D.check(P4.ksuid())}if(typeof A.minLength==="number")D=D.min(A.minLength);if(typeof A.maxLength==="number")D=D.max(A.maxLength);if(A.pattern)D=D.regex(new RegExp(A.pattern));B=D;break}case"number":case"integer":{let D=$==="integer"?P4.number().int():P4.number();if(typeof A.minimum==="number")D=D.min(A.minimum);if(typeof A.maximum==="number")D=D.max(A.maximum);if(typeof A.exclusiveMinimum==="number")D=D.gt(A.exclusiveMinimum);else if(A.exclusiveMinimum===!0&&typeof A.minimum==="number")D=D.gt(A.minimum);if(typeof A.exclusiveMaximum==="number")D=D.lt(A.exclusiveMaximum);else if(A.exclusiveMaximum===!0&&typeof A.maximum==="number")D=D.lt(A.maximum);if(typeof A.multipleOf==="number")D=D.multipleOf(A.multipleOf);B=D;break}case"boolean":{B=P4.boolean();break}case"null":{B=P4.null();break}case"object":{let D={},J=A.properties||{},F=new Set(A.required||[]);for(let[Y,Z]of Object.entries(J)){let U=PQ(Z,Q);D[Y]=F.has(Y)?U:U.optional()}if(A.propertyNames){let Y=PQ(A.propertyNames,Q),Z=A.additionalProperties&&typeof A.additionalProperties==="object"?PQ(A.additionalProperties,Q):P4.any();if(Object.keys(D).length===0){B=P4.record(Y,Z);break}let U=P4.object(D).passthrough(),X=P4.looseRecord(Y,Z);B=P4.intersection(U,X);break}if(A.patternProperties){let Y=A.patternProperties,Z=Object.keys(Y),U=[];for(let G of Z){let V=PQ(Y[G],Q),K=P4.string().regex(new RegExp(G));U.push(P4.looseRecord(K,V))}let X=[];if(Object.keys(D).length>0)X.push(P4.object(D).passthrough());if(X.push(...U),X.length===0)B=P4.object({}).passthrough();else if(X.length===1)B=X[0];else{let G=P4.intersection(X[0],X[1]);for(let V=2;V<X.length;V++)G=P4.intersection(G,X[V]);B=G}break}let E=P4.object(D);if(A.additionalProperties===!1)B=E.strict();else if(typeof A.additionalProperties==="object")B=E.catchall(PQ(A.additionalProperties,Q));else B=E.passthrough();break}case"array":{let{prefixItems:D,items:J}=A;if(D&&Array.isArray(D)){let F=D.map((Y)=>PQ(Y,Q)),E=J&&typeof J==="object"&&!Array.isArray(J)?PQ(J,Q):void 0;if(E)B=P4.tuple(F).rest(E);else B=P4.tuple(F);if(typeof A.minItems==="number")B=B.check(P4.minLength(A.minItems));if(typeof A.maxItems==="number")B=B.check(P4.maxLength(A.maxItems))}else if(Array.isArray(J)){let F=J.map((Y)=>PQ(Y,Q)),E=A.additionalItems&&typeof A.additionalItems==="object"?PQ(A.additionalItems,Q):void 0;if(E)B=P4.tuple(F).rest(E);else B=P4.tuple(F);if(typeof A.minItems==="number")B=B.check(P4.minLength(A.minItems));if(typeof A.maxItems==="number")B=B.check(P4.maxLength(A.maxItems))}else if(J!==void 0){let F=PQ(J,Q),E=P4.array(F);if(typeof A.minItems==="number")E=E.min(A.minItems);if(typeof A.maxItems==="number")E=E.max(A.maxItems);B=E}else B=P4.array(P4.any());break}default:throw Error(`Unsupported type: ${$}`)}if(A.description)B=B.describe(A.description);if(A.default!==void 0)B=B.default(A.default);return B}function PQ(A,Q){if(typeof A==="boolean")return A?P4.any():P4.never();let $=nr1(A,Q),B=A.type||A.enum!==void 0||A.const!==void 0;if(A.anyOf&&Array.isArray(A.anyOf)){let E=A.anyOf.map((Z)=>PQ(Z,Q)),Y=P4.union(E);$=B?P4.intersection($,Y):Y}if(A.oneOf&&Array.isArray(A.oneOf)){let E=A.oneOf.map((Z)=>PQ(Z,Q)),Y=P4.xor(E);$=B?P4.intersection($,Y):Y}if(A.allOf&&Array.isArray(A.allOf))if(A.allOf.length===0)$=B?$:P4.any();else{let E=B?$:PQ(A.allOf[0],Q),Y=B?0:1;for(let Z=Y;Z<A.allOf.length;Z++)E=P4.intersection(E,PQ(A.allOf[Z],Q));$=E}if(A.nullable===!0&&Q.version==="openapi-3.0")$=P4.nullable($);if(A.readOnly===!0)$=P4.readonly($);let D={},J=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let E of J)if(E in A)D[E]=A[E];let F=["contentEncoding","contentMediaType","contentSchema"];for(let E of F)if(E in A)D[E]=A[E];for(let E of Object.keys(A))if(!c5A.has(E))D[E]=A[E];if(Object.keys(D).length>0)Q.registry.add($,D);return $}function ar1(A,Q){if(typeof A==="boolean")return A?P4.any():P4.never();let $=l5A(A,Q?.defaultTarget),B=A.$defs||A.definitions||{},D={version:$,defs:B,refs:new Map,processing:new Set,rootSchema:A,registry:Q?.registry??h7};return PQ(A,D)}var P4,c5A;var or1=r(()=>{zm();A30();Nm();wm();P4={...Cm,...eA0,iso:_I},c5A=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"])});var Sm={};H8(Sm,{string:()=>n5A,number:()=>a5A,date:()=>s5A,boolean:()=>o5A,bigint:()=>r5A});function n5A(A){return yu0(z_,A)}function a5A(A){return cu0(I_,A)}function o5A(A){return su0(H_,A)}function r5A(A){return eu0(q_,A)}function s5A(A){return UP0(Rm,A)}var rr1=r(()=>{u$();wm()});var x={};H8(x,{xor:()=>jr1,xid:()=>to1,void:()=>wr1,uuidv7:()=>lo1,uuidv6:()=>co1,uuidv4:()=>po1,uuid:()=>do1,util:()=>D4,url:()=>Y30,uppercase:()=>$_,unknown:()=>q5,union:()=>E5,undefined:()=>Cr1,ulid:()=>so1,uint64:()=>qr1,uint32:()=>Wr1,tuple:()=>y_0,trim:()=>Y_,treeifyError:()=>uO0,transform:()=>R30,toUpperCase:()=>U_,toLowerCase:()=>Z_,toJSONSchema:()=>tA0,templateLiteral:()=>xr1,symbol:()=>Nr1,superRefine:()=>YT0,success:()=>Sr1,stringbool:()=>cr1,stringFormat:()=>Zr1,string:()=>c0,strictObject:()=>Or1,startsWith:()=>D_,slugify:()=>X_,size:()=>wM,setErrorMap:()=>d5A,set:()=>_r1,safeParseAsync:()=>V_0,safeParse:()=>G_0,safeEncodeAsync:()=>N_0,safeEncode:()=>H_0,safeDecodeAsync:()=>C_0,safeDecode:()=>q_0,registry:()=>MA0,regexes:()=>dF,regex:()=>A_,refine:()=>ET0,record:()=>k5,readonly:()=>QT0,property:()=>aA0,promise:()=>br1,prettifyError:()=>PO0,preprocess:()=>km,prefault:()=>a_0,positive:()=>cA0,pipe:()=>Om,partialRecord:()=>Rr1,parseAsync:()=>X_0,parse:()=>U_0,overwrite:()=>yY,optional:()=>p5,object:()=>M4,number:()=>B3,nullish:()=>kr1,nullable:()=>Lm,null:()=>N_,normalize:()=>E_,nonpositive:()=>iA0,nonoptional:()=>o_0,nonnegative:()=>nA0,never:()=>j30,negative:()=>lA0,nativeEnum:()=>Tr1,nanoid:()=>ao1,nan:()=>fr1,multipleOf:()=>OI,minSize:()=>oU,minLength:()=>iV,mime:()=>F_,meta:()=>dr1,maxSize:()=>jI,maxLength:()=>MM,map:()=>Pr1,mac:()=>Qr1,lte:()=>EJ,lt:()=>nU,lowercase:()=>Q_,looseRecord:()=>ur1,looseObject:()=>O8,locales:()=>eP,literal:()=>t4,length:()=>LM,lazy:()=>DT0,ksuid:()=>eo1,keyof:()=>Lr1,jwt:()=>Yr1,json:()=>lr1,iso:()=>_I,ipv6:()=>$r1,ipv4:()=>Ar1,intersection:()=>C_,int64:()=>Hr1,int32:()=>zr1,int:()=>J30,instanceof:()=>pr1,includes:()=>B_,httpUrl:()=>io1,hostname:()=>Ur1,hex:()=>Xr1,hash:()=>Gr1,guid:()=>mo1,gte:()=>j$,gt:()=>aU,globalRegistry:()=>h7,getErrorMap:()=>p5A,function:()=>hr1,fromJSONSchema:()=>ar1,formatError:()=>Qm,float64:()=>Kr1,float32:()=>Vr1,flattenError:()=>Am,file:()=>vr1,exactOptional:()=>p_0,enum:()=>g7,endsWith:()=>J_,encodeAsync:()=>W_0,encode:()=>K_0,emoji:()=>no1,email:()=>go1,e164:()=>Er1,discriminatedUnion:()=>_m,describe:()=>mr1,decodeAsync:()=>I_0,decode:()=>z_0,date:()=>Mr1,custom:()=>v30,cuid2:()=>ro1,cuid:()=>oo1,core:()=>rU,config:()=>L8,coerce:()=>Sm,codec:()=>yr1,clone:()=>O$,cidrv6:()=>Dr1,cidrv4:()=>Br1,check:()=>gr1,catch:()=>t_0,boolean:()=>t3,bigint:()=>Ir1,base64url:()=>Fr1,base64:()=>Jr1,array:()=>N4,any:()=>O30,_function:()=>hr1,_default:()=>i_0,_ZodString:()=>F30,ZodXor:()=>v_0,ZodXID:()=>K30,ZodVoid:()=>__0,ZodUnknown:()=>u_0,ZodUnion:()=>Pm,ZodUndefined:()=>O_0,ZodUUID:()=>sU,ZodURL:()=>jm,ZodULID:()=>V30,ZodType:()=>zA,ZodTuple:()=>f_0,ZodTransform:()=>m_0,ZodTemplateLiteral:()=>$T0,ZodSymbol:()=>L_0,ZodSuccess:()=>r_0,ZodStringFormat:()=>H5,ZodString:()=>z_,ZodSet:()=>b_0,ZodRecord:()=>Tm,ZodRealError:()=>pB,ZodReadonly:()=>AT0,ZodPromise:()=>JT0,ZodPrefault:()=>n_0,ZodPipe:()=>_30,ZodOptional:()=>u30,ZodObject:()=>um,ZodNumberFormat:()=>OM,ZodNumber:()=>I_,ZodNullable:()=>c_0,ZodNull:()=>j_0,ZodNonOptional:()=>P30,ZodNever:()=>P_0,ZodNanoID:()=>U30,ZodNaN:()=>e_0,ZodMap:()=>x_0,ZodMAC:()=>M_0,ZodLiteral:()=>h_0,ZodLazy:()=>BT0,ZodKSUID:()=>z30,ZodJWT:()=>M30,ZodIssueCode:()=>UT0,ZodIntersection:()=>S_0,ZodISOTime:()=>B30,ZodISODuration:()=>D30,ZodISODateTime:()=>Q30,ZodISODate:()=>$30,ZodIPv6:()=>I30,ZodIPv4:()=>W30,ZodGUID:()=>Mm,ZodFunction:()=>FT0,ZodFirstPartyTypeKind:()=>ZT0,ZodFile:()=>g_0,ZodExactOptional:()=>d_0,ZodError:()=>g5A,ZodEnum:()=>K_,ZodEmoji:()=>Z30,ZodEmail:()=>E30,ZodE164:()=>w30,ZodDiscriminatedUnion:()=>k_0,ZodDefault:()=>l_0,ZodDate:()=>Rm,ZodCustomStringFormat:()=>W_,ZodCustom:()=>vm,ZodCodec:()=>T30,ZodCatch:()=>s_0,ZodCUID2:()=>G30,ZodCUID:()=>X30,ZodCIDRv6:()=>q30,ZodCIDRv4:()=>H30,ZodBoolean:()=>H_,ZodBigIntFormat:()=>L30,ZodBigInt:()=>q_,ZodBase64URL:()=>C30,ZodBase64:()=>N30,ZodArray:()=>T_0,ZodAny:()=>R_0,TimePrecision:()=>bu0,NEVER:()=>ig,$output:()=>vu0,$input:()=>ku0,$brand:()=>HO0});var fm=r(()=>{u$();u$();lR0();u$();qm();or1();wA0();Nm();Nm();rr1();wm();A30();Z_0();w_0();ir1();L8(Xm())});var w_;var P$=r(()=>{fm();fm();w_=x});function sr1(){if(typeof process==="object")return process.platform==="win32"?"windows":"posix";else if(typeof navigator==="object")return navigator.userAgent.indexOf("Windows")>=0?"windows":"posix";return"posix"}function tr1(A,Q){if(!A.scheme&&Q)throw Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${A.authority}", path: "${A.path}", query: "${A.query}", fragment: "${A.fragment}"}`);if(A.scheme&&!t5A.test(A.scheme))throw Error("[UriError]: Scheme contains illegal characters.");if(A.path){if(A.authority){if(!e5A.test(A.path))throw Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(A2A.test(A.path))throw Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function Q2A(A,Q){if(!A&&!Q)return"file";return A}function $2A(A,Q){switch(A){case"https":case"http":case"file":if(!Q)Q=xY;else if(Q[0]!==xY)Q=xY+Q;break}return Q}class i0{static isUri(A){if(A instanceof i0)return!0;if(!A)return!1;let Q=A;return typeof Q.authority==="string"&&typeof Q.fragment==="string"&&typeof Q.path==="string"&&typeof Q.query==="string"&&typeof Q.scheme==="string"&&typeof Q.fsPath==="string"&&typeof Q.with==="function"&&typeof Q.toString==="function"}scheme;authority;path;query;fragment;platform;constructor(A,Q,$,B,D,J=!1,F){if(typeof A==="object")this.scheme=A.scheme||S5,this.authority=A.authority||S5,this.path=A.path||S5,this.query=A.query||S5,this.fragment=A.fragment||S5,this.platform=A.platform;else this.scheme=Q2A(A,J),this.authority=Q||S5,this.path=$2A(this.scheme,$||S5),this.query=B||S5,this.fragment=D||S5,this.platform=F,tr1(this,J)}get fsPath(){return Bs1(this,!1)}with(A){if(!A)return this;let{scheme:Q,authority:$,path:B,query:D,fragment:J,platform:F}=A;if(Q===void 0)Q=this.scheme;else if(Q===null)Q=S5;if($===void 0)$=this.authority;else if($===null)$=S5;if(B===void 0)B=this.path;else if(B===null)B=S5;if(D===void 0)D=this.query;else if(D===null)D=S5;if(J===void 0)J=this.fragment;else if(J===null)J=S5;if(F===void 0)F=this.platform;else if(F===null)F=void 0;if(Q===this.scheme&&$===this.authority&&B===this.path&&D===this.query&&J===this.fragment&&F===this.platform)return this;return new jM(Q,$,B,D,J,!1,F)}static parse(A,Q=!1){let $=B2A.exec(A);if(!$)return new jM(S5,S5,S5,S5,S5);return new jM($[2]||S5,k30($[4]||S5),k30($[5]||S5),k30($[7]||S5),k30($[9]||S5),Q)}static file(A,Q=sr1()){let $=S5;if(Q==="windows")A=A.replace(/\\/g,xY);if(A[0]===xY&&A[1]===xY){let B=A.indexOf(xY,2);if(B===-1)$=A.substring(2),A=xY;else $=A.substring(2,B),A=A.substring(B)||xY}return new jM("file",$,A,S5,S5,!1,Q)}static from(A){let Q=new jM(A.scheme,A.authority,A.path,A.query,A.fragment,!0,A.platform);return tr1(Q,!0),Q}toString(A=!1){return XT0(this,A)}toJSON(){return this}static revive(A){if(!A)return A;if(A instanceof i0)return A;let Q=new jM(A),$=A;return Q._formatted=$.external,Q._fsPath=$._sep===Qs1(Q.platform)?$.fsPath:null,Q}}function Qs1(A){return A==="windows"?1:void 0}function er1(A,Q,$){let B;for(let D=0;D<A.length;D++){let J=A.charCodeAt(D);if(J>=97&&J<=122||J>=65&&J<=90||J>=48&&J<=57||J===45||J===46||J===95||J===126||Q&&J===47||$&&J===91||$&&J===93||$&&J===58){if(B!==void 0)B+=A.charAt(D)}else{if(B===void 0)B=A.substring(0,D);let F=$s1[J];if(F!==void 0)B+=F;else B+=encodeURIComponent(A.charAt(D))}}return B!==void 0?B:A}function D2A(A){let Q;for(let $=0;$<A.length;$++){let B=A.charCodeAt($);if(B===35||B===63){if(Q===void 0)Q=A.substring(0,$);Q+=$s1[B]}else if(Q!==void 0)Q+=A[$]}return Q!==void 0?Q:A}function Bs1(A,Q){let $;if(A.authority&&A.path.length>1&&A.scheme==="file")$=`//${A.authority}${A.path}`;else if(A.path.charCodeAt(0)===47&&(A.path.charCodeAt(1)>=65&&A.path.charCodeAt(1)<=90||A.path.charCodeAt(1)>=97&&A.path.charCodeAt(1)<=122)&&A.path.charCodeAt(2)===58)if(!Q)$=A.path[1].toLowerCase()+A.path.substring(2);else $=A.path.substring(1);else $=A.path;if(A.platform==="windows")$=$.replace(/\//g,"\\");return $}function XT0(A,Q){let $=!Q?er1:D2A,B="",{scheme:D,authority:J,path:F,query:E,fragment:Y}=A;if(D)B+=D,B+=":";if(J||D==="file")B+=xY,B+=xY;if(J){let Z=J.indexOf("@");if(Z!==-1){let U=J.substring(0,Z);if(J=J.substring(Z+1),Z=U.lastIndexOf(":"),Z===-1)B+=$(U,!1,!1);else B+=$(U.substring(0,Z),!1,!1),B+=":",B+=$(U.substring(Z+1),!1,!0);B+="@"}if(J=J.toLowerCase(),Z=J.lastIndexOf(":"),Z===-1)B+=$(J,!1,!0);else B+=$(J.substring(0,Z),!1,!0),B+=J.substring(Z)}if(F){if(F.length>=3&&F.charCodeAt(0)===47&&F.charCodeAt(2)===58){let Z=F.charCodeAt(1);if(Z>=65&&Z<=90)F=`/${String.fromCharCode(Z+32)}:${F.substring(3)}`}else if(F.length>=2&&F.charCodeAt(1)===58){let Z=F.charCodeAt(0);if(Z>=65&&Z<=90)F=`${String.fromCharCode(Z+32)}:${F.substring(2)}`}B+=$(F,!0,!1)}if(E)B+="?",B+=$(E,!1,!1);if(Y)B+="#",B+=!Q?er1(Y,!1,!1):Y;return B}function Ds1(A){try{return decodeURIComponent(A)}catch{if(A.length>3)return A.substring(0,3)+Ds1(A.substring(3));else return A}}function k30(A){if(!A.match(As1))return A;return A.replace(As1,(Q)=>Ds1(Q))}function ym(A){return A.scheme==="file"}function s2(A){return i0.parse(A)}function t1(A){return YJ.parse(A.toString())}function XA(A){if(typeof A==="string"||A instanceof URL)return i0.parse(A.toString());return A}var t5A,e5A,A2A,S5="",xY="/",B2A,jM,$s1,As1,YJ;var M_=r(()=>{P$();t5A=/^\w[\w\d+.-]*$/,e5A=/^\//,A2A=/^\/\//;B2A=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;jM=class jM extends i0{_formatted=null;_fsPath=null;get fsPath(){if(!this._fsPath)this._fsPath=Bs1(this,!1);return this._fsPath}toString(A=!1){if(!A){if(!this._formatted)this._formatted=XT0(this,!1);return this._formatted}return XT0(this,!0)}toJSON(){let A={};if(this._fsPath)A.fsPath=this._fsPath,A._sep=Qs1(this.platform);if(this._formatted)A.external=this._formatted;if(A.scheme=this.scheme,A.authority=this.authority,A.path=this.path,A.query=this.query,A.fragment=this.fragment,this.platform)A.platform=this.platform;return A}};$s1={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};As1=/(%[0-9A-Za-z][0-9A-Za-z])+/g;YJ=x.string().brand()});function GT0(A){if(A==="/")return"/";if(A==="")return".";let Q=A.replace(/\/+$/,"");if(!Q)return".";let $=Q.lastIndexOf("/");if($===-1)return".";if($===0)return"/";return Q.slice(0,$)}function _$(A){let Q=A.replace(/\/+$/,"");if(!Q)return"";let $=Q.lastIndexOf("/");return $===-1?Q:Q.slice($+1)}function L_(...A){if(A.length===0)return".";let Q="";for(let F of A)if(F)if(Q)Q+="/"+F;else Q=F;if(!Q)return".";let $=Q.endsWith("/"),B=Q.split("/").filter(Boolean),D=[];for(let F of B)if(F===".."){if(D.length>0&&D[D.length-1]!=="..")D.pop();else if(!Q.startsWith("/"))D.push("..")}else if(F!==".")D.push(F);let J=Q.startsWith("/")?"/"+D.join("/"):D.join("/");if(!J)J=Q.startsWith("/")?"/":".";if($&&J!=="/"&&J!==".")J+="/";return J}function Js1(A,Q,$="/",B="/",D=!0){function J(X,G){return D?X===G:X.toLowerCase()===G.toLowerCase()}if($==="/")A=A.replaceAll(/\/{2,}/g,"/"),Q=Q.replaceAll(/\/{2,}/g,"/");else A=A.replaceAll(/\\{2,}/g,"\\"),Q=Q.replaceAll(/\\{2,}/g,"\\");if(A!==$&&A.endsWith($))A=A.slice(0,-1);if(Q!==$&&Q.endsWith($))Q=Q.slice(0,-1);if(J(A,Q))return"";if(!A.startsWith($)&&Q.startsWith($))return Q;let F=A===$?[""]:A.split($),E=Q===$?[""]:Q.split($),Y=0;while(Y<F.length&&Y<E.length&&J(F[Y],E[Y]))Y++;let Z=F.length-Y,U=[];for(let X=0;X<Z;X++)U.push("..");return U.push(...E.slice(Y)),U.join(B)}function S30(A){let Q=_$(A.replace(/\/+$/,"")),$=Q.lastIndexOf(".");if($===0||$===-1)return"";return Q.slice($)}function c3(A){try{if(A=XA(A),A.scheme==="file")return A.fsPath}catch{}return A.toString()}var TI=r(()=>{M_()});function F2A(A){if(A.startsWith(RM))return A;if(J2A.test(A))return`${RM}${A.replace(/\\/g,RM)}`;return}function E2A(A,...Q){return A=XA(A),A.with({path:L_(A.path,...Q)})}function Y2A(A,...Q){let $=A.path,B=!1;if($[0]!==RM)$=RM+$,B=!0;let D=$;for(let J of Q){let F=F2A(J);if(F)D=L_(F);else D=L_(D,J)}if(D!=="/"&&D.endsWith("/"))D=D.replace(/\/+$/,"");if(B&&D[0]===RM&&!A.authority)D=D.substring(1);return A.with({path:D})}function Z2A(A){if(A=XA(A),A.path.length===0||A.path===RM)return A;let Q=GT0(A.path);if(Q.length===1&&Q===".")Q="";return A.with({path:Q})}function U2A(A,Q){if(Q.scheme!==A.scheme||(Q.authority??"")!==(A.authority??""))return!1;let $=Q.scheme==="file"&&Q.path.match(/^\/[A-Za-z]:/),B=$?Q.path.slice(0,2).toUpperCase()+Q.path.slice(2):Q.path,D=$?A.path.slice(0,2).toUpperCase()+A.path.slice(2):A.path;return D===B||D.startsWith(B.endsWith("/")?B:`${B}/`)||B.endsWith("/")&&D===B.slice(0,-1)}function X2A(A,Q){if(A.scheme!==Q.scheme||A.authority!==Q.authority||A.query!==Q.query||A.fragment!==Q.fragment)return null;let $=A.scheme==="file"&&/^\/[A-Za-z]:/.test(A.path)&&/^\/[A-Za-z]:/.test(Q.path);return Js1(A.path,Q.path,"/","/",!$)}function G2A(A,Q){let $=t1(A),B=t1(Q);if($.startsWith("file:///")&&B.startsWith("file:///"))return Fs1($)===Fs1(B);return $===B}function Fs1(A){return A.replace(/^file:\/\/\/([A-Za-z]):/,(Q)=>`file:///${Q.toLowerCase()}:`)}var RM="/",J2A,B1;var VT0=r(()=>{TI();M_();J2A=/^[A-Za-z]:[\\/]/;B1={joinPath:E2A,resolvePath:Y2A,dirname:Z2A,basename:(A)=>_$(XA(A).path),extname:(A)=>S30(XA(A).path),hasPrefix:U2A,relativePath:X2A,equalURIs:G2A}});var Q4=r(()=>{M_();VT0();TI()});function KT0(){let Q=tU.getLogger().contextLocalStorage?.getStore();if(Q==null)return[];let $=Q[V2A];return Array.isArray($)?$:[]}function f30(){let Q=tU.getLogger().contextLocalStorage?.getStore();if(Q==null)return{};let $={};for(let B of Object.keys(Q))$[B]=Q[B];return $}var V2A;var Es1=r(()=>{y30();V2A=Symbol.for("logtape.categoryPrefix")});function x30(A,Q){let $=Ys1.indexOf(A);if($<0)throw TypeError(`Invalid log level: ${JSON.stringify(A)}.`);let B=Ys1.indexOf(Q);if(B<0)throw TypeError(`Invalid log level: ${JSON.stringify(Q)}.`);return $-B}var Ys1;var Zs1=r(()=>{Ys1=["trace","debug","info","warning","error","fatal"]});function Ks1(A){return A!=null&&typeof A==="object"&&Us1 in A&&A[Us1]===!0}function vI(A){let Q={};for(let $ in A){let B=A[$];Q[$]=Ks1(B)?B.getter():B}return Q}function K2A(A){let Q=vI(A.properties),$=Object.getOwnPropertyDescriptors(A);return $.properties={value:Q,enumerable:!0,configurable:!0},Object.defineProperties({},$)}function WT0(A=[]){return tU.getLogger(A)}function Xs1(A){return A.length===2&&A[0]==="logtape"&&A[1]==="meta"}function I2A(A){return A.includes(".")||A.includes("[")||A.includes("?.")}function H2A(A,Q){if(Q==="__proto__"||Q==="prototype"||Q==="constructor")return;if((typeof A==="object"||typeof A==="function")&&A!==null)return Object.prototype.hasOwnProperty.call(A,Q)?A[Q]:void 0;return}function q2A(A,Q){let $=A.length,B=Q;if(B>=$)return null;let D;if(A[B]==="["){if(B++,B>=$)return null;if(A[B]==='"'||A[B]==="'"){let J=A[B];B++;let F="";while(B<$&&A[B]!==J)if(A[B]==="\\"){if(B++,B<$){let E=A[B];switch(E){case"n":F+=`
214
214
  `;break;case"t":F+="\t";break;case"r":F+="\r";break;case"b":F+="\b";break;case"f":F+="\f";break;case"v":F+="\v";break;case"0":F+="\x00";break;case"\\":F+="\\";break;case'"':F+='"';break;case"'":F+="'";break;case"u":if(B+4<$){let Y=A.slice(B+1,B+5),Z=Number.parseInt(Y,16);if(!Number.isNaN(Z))F+=String.fromCharCode(Z),B+=4;else F+=E}else F+=E;break;default:F+=E}B++}}else F+=A[B],B++;if(B>=$)return null;D=F,B++}else{let J=B;while(B<$&&A[B]!=="]"&&A[B]!=="'"&&A[B]!=='"')B++;if(B>=$)return null;let F=A.slice(J,B);if(F.length===0)return null;let E=Number(F);D=Number.isNaN(E)?F:E}while(B<$&&A[B]!=="]")B++;if(B<$)B++}else{let J=B;while(B<$&&A[B]!=="."&&A[B]!=="["&&A[B]!=="?"&&A[B]!=="]")B++;if(D=A.slice(J,B),D.length===0)return null}if(B<$&&A[B]===".")B++;return{segment:D,nextIndex:B}}function N2A(A,Q){if(typeof Q==="string")return H2A(A,Q);if(Array.isArray(A)&&Q>=0&&Q<A.length)return A[Q];return}function C2A(A,Q){if(A==null)return;if(Q.length===0||Q.endsWith("."))return;let $=A,B=0,D=Q.length;while(B<D){if(Q.slice(B,B+2)==="?."){if(B+=2,$==null)return}else if($==null)return;let F=q2A(Q,B);if(F===null)return;let{segment:E,nextIndex:Y}=F;if(B=Y,$=N2A($,E),$===void 0)return}return $}function Gs1(A,Q){let $=A.length;if($===0)return[""];if(!A.includes("{"))return[A];let B=[],D=0;for(let F=0;F<$;F++){let E=A[F];if(E==="{"){if((F+1<$?A[F+1]:"")==="{"){F++;continue}let Z=A.indexOf("}",F+1);if(Z===-1)continue;let U=A.slice(D,F);B.push(U.replace(/{{/g,"{").replace(/}}/g,"}"));let X=A.slice(F+1,Z),G,V=X.trim();if(V==="*")G=X in Q?Q[X]:("*"in Q)?Q["*"]:Q;else{if(X!==V)G=X in Q?Q[X]:Q[V];else G=Q[X];if(G===void 0&&I2A(V))G=C2A(Q,V)}B.push(G),F=Z,D=F+1}else if(E==="}"&&F+1<$&&A[F+1]==="}")F++}let J=A.slice(D);return B.push(J.replace(/{{/g,"{").replace(/}}/g,"}")),B}function Vs1(A,Q){let $=[];for(let B=0;B<A.length;B++)if($.push(A[B]),B<Q.length)$.push(Q[B]);return $}var Us1,zT0,tU=class A{parent;children;category;sinks;parentSinks="inherit";filters;lowestLevel="trace";contextLocalStorage;static getLogger(Q=[]){let $=zT0 in globalThis?globalThis[zT0]??null:null;if($==null)$=new A(null,[]),globalThis[zT0]=$;if(typeof Q==="string")return $.getChild(Q);if(Q.length===0)return $;return $.getChild(Q)}static getNearestExistingLogger(Q){let $=A.getLogger();for(let B of Q){let D=$.children[B],J=D instanceof A?D:D?.deref();if(J==null)break;$=J}return $}constructor(Q,$){this.parent=Q,this.children={},this.category=$,this.sinks=[],this.filters=[]}getChild(Q){let $=typeof Q==="string"?Q:Q[0],B=this.children[$],D=B instanceof A?B:B?.deref();if(D==null)D=new A(this,[...this.category,$]),this.children[$]="WeakRef"in globalThis?new WeakRef(D):D;if(typeof Q==="string"||Q.length===1)return D;return D.getChild(Q.slice(1))}reset(){while(this.sinks.length>0)this.sinks.shift();this.parentSinks="inherit";while(this.filters.length>0)this.filters.shift();this.lowestLevel="trace"}resetDescendants(){for(let Q of Object.values(this.children)){let $=Q instanceof A?Q:Q.deref();if($!=null)$.resetDescendants()}this.reset()}with(Q){return new z2A(this,{...Q})}filter(Q){for(let $ of this.filters)if(!$(Q))return!1;if(this.filters.length<1)return this.parent?.filter(Q)??!0;return!0}*getSinks(Q){if(this.lowestLevel===null||x30(Q,this.lowestLevel)<0)return;if(this.parent!=null&&this.parentSinks==="inherit")for(let $ of this.parent.getSinks(Q))yield $;for(let $ of this.sinks)yield $}isEnabledFor(Q){let $=Xs1(this.category)?[]:KT0();return($.length>0?A.getNearestExistingLogger([...$,...this.category]):this).isEnabledForResolved(Q)}isEnabledForResolved(Q){if(this.lowestLevel===null||x30(Q,this.lowestLevel)<0)return!1;for(let $ of this.getSinks(Q))return!0;return!1}emit(Q,$){let B="category"in Q?Q.category:this.category,D=Xs1(B)?[]:KT0(),J=D.length>0?[...D,...B]:B,F=Object.getOwnPropertyDescriptors(Q);F.category={value:J,enumerable:!0,configurable:!0};let E=Object.defineProperties({},F);(D.length>0?A.getNearestExistingLogger(J):this).emitResolved(E,$)}emitResolved(Q,$){if(this.lowestLevel===null||x30(Q.level,this.lowestLevel)<0||!this.filter(Q))return;let B=[...this.getSinks(Q.level)];if(B.length<1)return;let D,J=!1;for(let F of B){if($?.has(F))continue;try{if(D==null&&!J)try{D=K2A(Q)}catch{J=!0,D=Q}F(D??Q)}catch(E){let Y=new Set($);Y.add(F),W2A.log("fatal","Failed to emit a log record to sink {sink}: {error}",{sink:F,error:E,record:Q},Y)}}}log(Q,$,B,D){let J=f30(),F=void 0,E=void 0,Y=typeof B==="function"?{category:this.category,level:Q,timestamp:Date.now(),get message(){if(E==null)E=Gs1($,this.properties);return E},rawMessage:$,get properties(){if(F==null)F=vI({...J,...B()});return F}}:{category:this.category,level:Q,timestamp:Date.now(),get message(){if(E==null)E=Gs1($,this.properties);return E},rawMessage:$,get properties(){if(F==null)F=vI({...J,...B});return F}};this.emit(Y,D)}logLazily(Q,$,B={}){let D=f30(),J=void 0,F=void 0;function E(){if(F==null||J==null){if(F=$((Y,...Z)=>{return J=Y,Vs1(Y,Z)}),J==null)throw TypeError("No log record was made.")}return[F,J]}this.emit({category:this.category,level:Q,get message(){return E()[0]},get rawMessage(){return E()[1]},timestamp:Date.now(),properties:{...D,...B}})}logTemplate(Q,$,B,D={}){let J=f30();this.emit({category:this.category,level:Q,message:Vs1($,B),rawMessage:$,timestamp:Date.now(),properties:{...J,...D}})}trace(Q,...$){if(typeof Q==="string"){let B=$[0];if(typeof B==="function"){if(B.constructor.name==="AsyncFunction"){if(!this.isEnabledFor("trace"))return Promise.resolve();return B().then((J)=>{this.log("trace",Q,J)})}let D=B();if(D instanceof Promise){if(!this.isEnabledFor("trace"))return Promise.resolve();return D.then((J)=>{this.log("trace",Q,J)})}this.log("trace",Q,D);return}this.log("trace",Q,B??{})}else if(typeof Q==="function")this.logLazily("trace",Q);else if(!Array.isArray(Q))this.log("trace","{*}",Q);else this.logTemplate("trace",Q,$)}debug(Q,...$){if(typeof Q==="string"){let B=$[0];if(typeof B==="function"){if(B.constructor.name==="AsyncFunction"){if(!this.isEnabledFor("debug"))return Promise.resolve();return B().then((J)=>{this.log("debug",Q,J)})}let D=B();if(D instanceof Promise){if(!this.isEnabledFor("debug"))return Promise.resolve();return D.then((J)=>{this.log("debug",Q,J)})}this.log("debug",Q,D);return}this.log("debug",Q,B??{})}else if(typeof Q==="function")this.logLazily("debug",Q);else if(!Array.isArray(Q))this.log("debug","{*}",Q);else this.logTemplate("debug",Q,$)}info(Q,...$){if(typeof Q==="string"){let B=$[0];if(typeof B==="function"){if(B.constructor.name==="AsyncFunction"){if(!this.isEnabledFor("info"))return Promise.resolve();return B().then((J)=>{this.log("info",Q,J)})}let D=B();if(D instanceof Promise){if(!this.isEnabledFor("info"))return Promise.resolve();return D.then((J)=>{this.log("info",Q,J)})}this.log("info",Q,D);return}this.log("info",Q,B??{})}else if(typeof Q==="function")this.logLazily("info",Q);else if(!Array.isArray(Q))this.log("info","{*}",Q);else this.logTemplate("info",Q,$)}warn(Q,...$){if(Q instanceof Error)this.log("warning","{error.message}",{error:Q});else if(typeof Q==="string"&&$[0]instanceof Error)this.log("warning",Q,{error:$[0]});else if(typeof Q==="string"){let B=$[0];if(typeof B==="function"){if(B.constructor.name==="AsyncFunction"){if(!this.isEnabledFor("warning"))return Promise.resolve();return B().then((J)=>{this.log("warning",Q,J)})}let D=B();if(D instanceof Promise){if(!this.isEnabledFor("warning"))return Promise.resolve();return D.then((J)=>{this.log("warning",Q,J)})}this.log("warning",Q,D);return}this.log("warning",Q,B??{})}else if(typeof Q==="function")this.logLazily("warning",Q);else if(!Array.isArray(Q))this.log("warning","{*}",Q);else this.logTemplate("warning",Q,$)}warning(Q,...$){if(Q instanceof Error)this.log("warning","{error.message}",{error:Q});else if(typeof Q==="string"&&$[0]instanceof Error)this.log("warning",Q,{error:$[0]});else if(typeof Q==="string"){let B=$[0];if(typeof B==="function"){if(B.constructor.name==="AsyncFunction"){if(!this.isEnabledFor("warning"))return Promise.resolve();return B().then((J)=>{this.log("warning",Q,J)})}let D=B();if(D instanceof Promise){if(!this.isEnabledFor("warning"))return Promise.resolve();return D.then((J)=>{this.log("warning",Q,J)})}this.log("warning",Q,D);return}this.log("warning",Q,B??{})}else if(typeof Q==="function")this.logLazily("warning",Q);else if(!Array.isArray(Q))this.log("warning","{*}",Q);else this.logTemplate("warning",Q,$)}error(Q,...$){if(Q instanceof Error)this.log("error","{error.message}",{error:Q});else if(typeof Q==="string"&&$[0]instanceof Error)this.log("error",Q,{error:$[0]});else if(typeof Q==="string"){let B=$[0];if(typeof B==="function"){if(B.constructor.name==="AsyncFunction"){if(!this.isEnabledFor("error"))return Promise.resolve();return B().then((J)=>{this.log("error",Q,J)})}let D=B();if(D instanceof Promise){if(!this.isEnabledFor("error"))return Promise.resolve();return D.then((J)=>{this.log("error",Q,J)})}this.log("error",Q,D);return}this.log("error",Q,B??{})}else if(typeof Q==="function")this.logLazily("error",Q);else if(!Array.isArray(Q))this.log("error","{*}",Q);else this.logTemplate("error",Q,$)}fatal(Q,...$){if(Q instanceof Error)this.log("fatal","{error.message}",{error:Q});else if(typeof Q==="string"&&$[0]instanceof Error)this.log("fatal",Q,{error:$[0]});else if(typeof Q==="string"){let B=$[0];if(typeof B==="function"){if(B.constructor.name==="AsyncFunction"){if(!this.isEnabledFor("fatal"))return Promise.resolve();return B().then((J)=>{this.log("fatal",Q,J)})}let D=B();if(D instanceof Promise){if(!this.isEnabledFor("fatal"))return Promise.resolve();return D.then((J)=>{this.log("fatal",Q,J)})}this.log("fatal",Q,D);return}this.log("fatal",Q,B??{})}else if(typeof Q==="function")this.logLazily("fatal",Q);else if(!Array.isArray(Q))this.log("fatal","{*}",Q);else this.logTemplate("fatal",Q,$)}},z2A=class A{logger;properties;constructor(Q,$){this.logger=Q,this.properties=$}get category(){return this.logger.category}get parent(){return this.logger.parent}getChild(Q){return this.logger.getChild(Q).with(this.properties)}with(Q){return new A(this.logger,{...this.properties,...Q})}log(Q,$,B,D){let J=this.properties;this.logger.log(Q,$,typeof B==="function"?()=>vI({...J,...B()}):()=>vI({...J,...B}),D)}logLazily(Q,$){this.logger.logLazily(Q,$,vI(this.properties))}logTemplate(Q,$,B){this.logger.logTemplate(Q,$,B,vI(this.properties))}emit(Q){let $={...Q,properties:vI({...this.properties,...Q.properties})};this.logger.emit($)}isEnabledFor(Q){return this.logger.isEnabledFor(Q)}trace(Q,...$){if(typeof Q==="string"){let B=$[0];if(typeof B==="function"){if(B.constructor.name==="AsyncFunction"){if(!this.isEnabledFor("trace"))return Promise.resolve();return B().then((J)=>{this.log("trace",Q,J)})}let D=B();if(D instanceof Promise){if(!this.isEnabledFor("trace"))return Promise.resolve();return D.then((J)=>{this.log("trace",Q,J)})}this.log("trace",Q,D);return}this.log("trace",Q,B??{})}else if(typeof Q==="function")this.logLazily("trace",Q);else if(!Array.isArray(Q))this.log("trace","{*}",Q);else this.logTemplate("trace",Q,$)}debug(Q,...$){if(typeof Q==="string"){let B=$[0];if(typeof B==="function"){if(B.constructor.name==="AsyncFunction"){if(!this.isEnabledFor("debug"))return Promise.resolve();return B().then((J)=>{this.log("debug",Q,J)})}let D=B();if(D instanceof Promise){if(!this.isEnabledFor("debug"))return Promise.resolve();return D.then((J)=>{this.log("debug",Q,J)})}this.log("debug",Q,D);return}this.log("debug",Q,B??{})}else if(typeof Q==="function")this.logLazily("debug",Q);else if(!Array.isArray(Q))this.log("debug","{*}",Q);else this.logTemplate("debug",Q,$)}info(Q,...$){if(typeof Q==="string"){let B=$[0];if(typeof B==="function"){if(B.constructor.name==="AsyncFunction"){if(!this.isEnabledFor("info"))return Promise.resolve();return B().then((J)=>{this.log("info",Q,J)})}let D=B();if(D instanceof Promise){if(!this.isEnabledFor("info"))return Promise.resolve();return D.then((J)=>{this.log("info",Q,J)})}this.log("info",Q,D);return}this.log("info",Q,B??{})}else if(typeof Q==="function")this.logLazily("info",Q);else if(!Array.isArray(Q))this.log("info","{*}",Q);else this.logTemplate("info",Q,$)}warn(Q,...$){if(Q instanceof Error)this.log("warning","{error.message}",{error:Q});else if(typeof Q==="string"&&$[0]instanceof Error)this.log("warning",Q,{error:$[0]});else if(typeof Q==="string"){let B=$[0];if(typeof B==="function"){if(B.constructor.name==="AsyncFunction"){if(!this.isEnabledFor("warning"))return Promise.resolve();return B().then((J)=>{this.log("warning",Q,J)})}let D=B();if(D instanceof Promise){if(!this.isEnabledFor("warning"))return Promise.resolve();return D.then((J)=>{this.log("warning",Q,J)})}this.log("warning",Q,D);return}this.log("warning",Q,B??{})}else if(typeof Q==="function")this.logLazily("warning",Q);else if(!Array.isArray(Q))this.log("warning","{*}",Q);else this.logTemplate("warning",Q,$)}warning(Q,...$){if(Q instanceof Error)this.log("warning","{error.message}",{error:Q});else if(typeof Q==="string"&&$[0]instanceof Error)this.log("warning",Q,{error:$[0]});else if(typeof Q==="string"){let B=$[0];if(typeof B==="function"){if(B.constructor.name==="AsyncFunction"){if(!this.isEnabledFor("warning"))return Promise.resolve();return B().then((J)=>{this.log("warning",Q,J)})}let D=B();if(D instanceof Promise){if(!this.isEnabledFor("warning"))return Promise.resolve();return D.then((J)=>{this.log("warning",Q,J)})}this.log("warning",Q,D);return}this.log("warning",Q,B??{})}else if(typeof Q==="function")this.logLazily("warning",Q);else if(!Array.isArray(Q))this.log("warning","{*}",Q);else this.logTemplate("warning",Q,$)}error(Q,...$){if(Q instanceof Error)this.log("error","{error.message}",{error:Q});else if(typeof Q==="string"&&$[0]instanceof Error)this.log("error",Q,{error:$[0]});else if(typeof Q==="string"){let B=$[0];if(typeof B==="function"){if(B.constructor.name==="AsyncFunction"){if(!this.isEnabledFor("error"))return Promise.resolve();return B().then((J)=>{this.log("error",Q,J)})}let D=B();if(D instanceof Promise){if(!this.isEnabledFor("error"))return Promise.resolve();return D.then((J)=>{this.log("error",Q,J)})}this.log("error",Q,D);return}this.log("error",Q,B??{})}else if(typeof Q==="function")this.logLazily("error",Q);else if(!Array.isArray(Q))this.log("error","{*}",Q);else this.logTemplate("error",Q,$)}fatal(Q,...$){if(Q instanceof Error)this.log("fatal","{error.message}",{error:Q});else if(typeof Q==="string"&&$[0]instanceof Error)this.log("fatal",Q,{error:$[0]});else if(typeof Q==="string"){let B=$[0];if(typeof B==="function"){if(B.constructor.name==="AsyncFunction"){if(!this.isEnabledFor("fatal"))return Promise.resolve();return B().then((J)=>{this.log("fatal",Q,J)})}let D=B();if(D instanceof Promise){if(!this.isEnabledFor("fatal"))return Promise.resolve();return D.then((J)=>{this.log("fatal",Q,J)})}this.log("fatal",Q,D);return}this.log("fatal",Q,B??{})}else if(typeof Q==="function")this.logLazily("fatal",Q);else if(!Array.isArray(Q))this.log("fatal","{*}",Q);else this.logTemplate("fatal",Q,$)}},W2A;var y30=r(()=>{Es1();Zs1();Us1=Symbol.for("logtape.lazy");zT0=Symbol.for("logtape.rootLogger");W2A=tU.getLogger(["logtape","meta"])});var h30={};H8(h30,{inspect:()=>b30});import w2A from"node:util";function b30(A,Q){return w2A.inspect(A,Q)}var zs1=()=>{};function c5(A){return A<10?`0${A}`:`${A}`}function O_(A){return A<10?`00${A}`:A<100?`0${A}`:`${A}`}function Hs1(A){return A==="crlf"?`\r
215
215
  `:`
216
- `}function m30(A,Q){if(!(Q instanceof Error))return Q;let $={name:Q.name,message:Q.message};if(typeof Q.stack==="string")$.stack=Q.stack;let B=Q.cause;if(B!==void 0)$.cause=B;if(typeof AggregateError<"u"&&Q instanceof AggregateError)$.errors=Q.errors;for(let D of Object.keys(Q))if(!(D in $))$[D]=Q[D];return $}function NT0(A={}){let Q=(()=>{let E=A.timestamp;if(E==null)return g30["date-time-timezone"];else if(E==="disabled")return g30.none;else if(typeof E==="string"&&E in g30)return g30[E];else return E})(),$=A.category??"·",B=A.value?(E)=>A.value(E,Ws1):Ws1,D=(()=>{let E=A.level;if(E==null||E==="ABBR")return(Y)=>j_.ABBR[Y];else if(E==="abbr")return(Y)=>j_.abbr[Y];else if(E==="FULL")return(Y)=>j_.FULL[Y];else if(E==="full")return(Y)=>j_.full[Y];else if(E==="L")return(Y)=>j_.L[Y];else if(E==="l")return(Y)=>j_.l[Y];else return E})(),J=Hs1(A.lineEnding),F=A.format??(({timestamp:E,level:Y,category:Z,message:U})=>`${E?`${E} `:""}[${Y}] ${Z}: ${U}`);return(E)=>{let Y=E.message,Z=Y.length,U;if(Z===1)U=Y[0];else if(Z<=6){U="";for(let z=0;z<Z;z++)U+=z%2===0?Y[z]:B(Y[z])}else{let z=Array(Z);for(let W=0;W<Z;W++)z[W]=W%2===0?Y[W]:B(Y[W]);U=z.join("")}let X=Q(E.timestamp),G=D(E.level),V=typeof $==="function"?$(E.category):E.category.join($);return`${F({timestamp:X,level:G,category:V,message:U,record:E})}${J}`}}function qs1(A={}){let Q=A.format,$=typeof A.timestampStyle>"u"?"dim":A.timestampStyle,B=A.timestampColor??null,D=`${$==null?"":qT0[$]}${B==null?"":HT0[B]}`,J=$==null&&B==null?"":IT0,F=typeof A.levelStyle>"u"?"bold":A.levelStyle,E=A.levelColors??M2A,Y=typeof A.categoryStyle>"u"?"dim":A.categoryStyle,Z=A.categoryColor??null,U=`${Y==null?"":qT0[Y]}${Z==null?"":HT0[Z]}`,X=Y==null&&Z==null?"":IT0;return NT0({timestamp:"date-time-tz",value(G,V){return V(G,{colors:!0})},...A,format({timestamp:G,level:V,category:K,message:z,record:W}){let I=E[W.level];return G=G==null?null:`${D}${G}${J}`,V=`${F==null?"":qT0[F]}${I==null?"":HT0[I]}${V}${F==null&&I==null?"":IT0}`,Q==null?`${G==null?"":`${G} `}${V} ${U}${K}:${X} ${z}`:Q({timestamp:G,level:V,category:`${U}${K}${X}`,message:z,record:W})}})}function p30(A={}){let Q=Hs1(A.lineEnding);if(!A.categorySeparator&&!A.message&&!A.properties)return(E)=>{if(E.message.length===3)return JSON.stringify({"@timestamp":new Date(E.timestamp).toISOString(),level:E.level==="warning"?"WARN":E.level.toUpperCase(),message:E.message[0]+JSON.stringify(E.message[1])+E.message[2],logger:E.category.join("."),properties:E.properties},m30)+Q;if(E.message.length===1)return JSON.stringify({"@timestamp":new Date(E.timestamp).toISOString(),level:E.level==="warning"?"WARN":E.level.toUpperCase(),message:E.message[0],logger:E.category.join("."),properties:E.properties},m30)+Q;let Y=E.message[0];for(let Z=1;Z<E.message.length;Z++)Y+=Z&1?JSON.stringify(E.message[Z]):E.message[Z];return JSON.stringify({"@timestamp":new Date(E.timestamp).toISOString(),level:E.level==="warning"?"WARN":E.level.toUpperCase(),message:Y,logger:E.category.join("."),properties:E.properties},m30)+Q};let $=A.message==="template",B=A.properties??"nest:properties",D;if(typeof A.categorySeparator==="function")D=A.categorySeparator;else{let E=A.categorySeparator??".";D=(Y)=>Y.join(E)}let J;if(B==="flatten")J=(E)=>E;else if(B.startsWith("prepend:")){let E=B.substring(8);if(E==="")throw TypeError(`Invalid properties option: ${JSON.stringify(B)}. It must be of the form "prepend:<prefix>" where <prefix> is a non-empty string.`);J=(Y)=>{let Z={};for(let U in Y)Z[`${E}${U}`]=Y[U];return Z}}else if(B.startsWith("nest:")){let E=B.substring(5);J=(Y)=>({[E]:Y})}else throw TypeError(`Invalid properties option: ${JSON.stringify(B)}. It must be "flatten", "prepend:<prefix>", or "nest:<key>".`);let F;if($)F=(E)=>{if(typeof E.rawMessage==="string")return E.rawMessage;let Y="";for(let Z=0;Z<E.rawMessage.length;Z++)Y+=Z%2<1?E.rawMessage[Z]:"{}";return Y};else F=(E)=>{let Y=E.message.length;if(Y===1)return E.message[0];let Z="";for(let U=0;U<Y;U++)Z+=U%2<1?E.message[U]:JSON.stringify(E.message[U]);return Z};return(E)=>{return JSON.stringify({"@timestamp":new Date(E.timestamp).toISOString(),level:E.level==="warning"?"WARN":E.level.toUpperCase(),message:F(E),logger:D(E.category),...J(E.properties)},m30)+Q}}function xm(A){let Q="",$=[];for(let J=0;J<A.message.length;J++)if(J%2===0)Q+=A.message[J];else Q+="%o",$.push(A.message[J]);let B=new Date(A.timestamp);return[`%c${`${B.getUTCHours().toString().padStart(2,"0")}:${B.getUTCMinutes().toString().padStart(2,"0")}:${B.getUTCSeconds().toString().padStart(2,"0")}.${B.getUTCMilliseconds().toString().padStart(3,"0")}`} %c${Is1[A.level]}%c %c${A.category.join("·")} %c${Q}`,"color: gray;",j2A[A.level],"background-color: default;","color: gray;","color: default;",...$]}var Is1,Ws1,g30,j_,d30,IT0="\x1B[0m",HT0,qT0,M2A,L2A,O2A,j2A;var CT0=r(()=>{zs1();Is1={trace:"TRC",debug:"DBG",info:"INF",warning:"WRN",error:"ERR",fatal:"FTL"},Ws1=typeof document<"u"||typeof navigator<"u"&&navigator.product==="ReactNative"?(A)=>JSON.stringify(A):("Deno"in globalThis)&&("inspect"in globalThis.Deno)&&typeof globalThis.Deno.inspect==="function"?(A,Q)=>globalThis.Deno.inspect(A,{strAbbreviateSize:1/0,iterableLimit:1/0,...Q}):h30!=null&&("inspect"in h30)&&typeof b30==="function"?(A,Q)=>b30(A,{maxArrayLength:1/0,maxStringLength:1/0,...Q}):(A)=>JSON.stringify(A);g30={"date-time-timezone":(A)=>{let Q=new Date(A),$=Q.getUTCFullYear(),B=c5(Q.getUTCMonth()+1),D=c5(Q.getUTCDate()),J=c5(Q.getUTCHours()),F=c5(Q.getUTCMinutes()),E=c5(Q.getUTCSeconds()),Y=O_(Q.getUTCMilliseconds());return`${$}-${B}-${D} ${J}:${F}:${E}.${Y} +00:00`},"date-time-tz":(A)=>{let Q=new Date(A),$=Q.getUTCFullYear(),B=c5(Q.getUTCMonth()+1),D=c5(Q.getUTCDate()),J=c5(Q.getUTCHours()),F=c5(Q.getUTCMinutes()),E=c5(Q.getUTCSeconds()),Y=O_(Q.getUTCMilliseconds());return`${$}-${B}-${D} ${J}:${F}:${E}.${Y} +00`},"date-time":(A)=>{let Q=new Date(A),$=Q.getUTCFullYear(),B=c5(Q.getUTCMonth()+1),D=c5(Q.getUTCDate()),J=c5(Q.getUTCHours()),F=c5(Q.getUTCMinutes()),E=c5(Q.getUTCSeconds()),Y=O_(Q.getUTCMilliseconds());return`${$}-${B}-${D} ${J}:${F}:${E}.${Y}`},"time-timezone":(A)=>{let Q=new Date(A),$=c5(Q.getUTCHours()),B=c5(Q.getUTCMinutes()),D=c5(Q.getUTCSeconds()),J=O_(Q.getUTCMilliseconds());return`${$}:${B}:${D}.${J} +00:00`},"time-tz":(A)=>{let Q=new Date(A),$=c5(Q.getUTCHours()),B=c5(Q.getUTCMinutes()),D=c5(Q.getUTCSeconds()),J=O_(Q.getUTCMilliseconds());return`${$}:${B}:${D}.${J} +00`},time:(A)=>{let Q=new Date(A),$=c5(Q.getUTCHours()),B=c5(Q.getUTCMinutes()),D=c5(Q.getUTCSeconds()),J=O_(Q.getUTCMilliseconds());return`${$}:${B}:${D}.${J}`},date:(A)=>{let Q=new Date(A),$=Q.getUTCFullYear(),B=c5(Q.getUTCMonth()+1),D=c5(Q.getUTCDate());return`${$}-${B}-${D}`},rfc3339:(A)=>new Date(A).toISOString(),none:()=>null},j_={ABBR:Is1,abbr:{trace:"trc",debug:"dbg",info:"inf",warning:"wrn",error:"err",fatal:"ftl"},FULL:{trace:"TRACE",debug:"DEBUG",info:"INFO",warning:"WARNING",error:"ERROR",fatal:"FATAL"},full:{trace:"trace",debug:"debug",info:"info",warning:"warning",error:"error",fatal:"fatal"},L:{trace:"T",debug:"D",info:"I",warning:"W",error:"E",fatal:"F"},l:{trace:"t",debug:"d",info:"i",warning:"w",error:"e",fatal:"f"}};d30=NT0(),HT0={black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},qT0={bold:"\x1B[1m",dim:"\x1B[2m",italic:"\x1B[3m",underline:"\x1B[4m",strikethrough:"\x1B[9m"},M2A={trace:null,debug:"blue",info:"green",warning:"yellow",error:"red",fatal:"magenta"};L2A=qs1();O2A=p30(),j2A={trace:"background-color: gray; color: white;",debug:"background-color: gray; color: white;",info:"background-color: white; color: black;",warning:"background-color: orange; color: black;",error:"background-color: red; color: white;",fatal:"background-color: maroon; color: white;"}});function Ns1(A){if(typeof A==="function")return A;return R2A(A)}function R2A(A){if(A==null)return()=>!1;if(A==="fatal")return(Q)=>Q.level==="fatal";else if(A==="error")return(Q)=>Q.level==="fatal"||Q.level==="error";else if(A==="warning")return(Q)=>Q.level==="fatal"||Q.level==="error"||Q.level==="warning";else if(A==="info")return(Q)=>Q.level==="fatal"||Q.level==="error"||Q.level==="warning"||Q.level==="info";else if(A==="debug")return(Q)=>Q.level==="fatal"||Q.level==="error"||Q.level==="warning"||Q.level==="info"||Q.level==="debug";else if(A==="trace")return()=>!0;throw TypeError(`Invalid log level: ${A}.`)}var Cs1=()=>{};function bm(A={}){let Q=A.formatter??xm,$={trace:"debug",debug:"debug",info:"info",warning:"warn",error:"error",fatal:"error",...A.levelMap??{}},B=A.console??globalThis.console,D=(I)=>{let H=Q(I),q=$[I.level];if(q===void 0)throw TypeError(`Invalid log level: ${I.level}.`);if(typeof H==="string"){let N=H.replace(/\r?\n$/,"");B[q](N)}else B[q](...H)};if(!A.nonBlocking)return D;let J=A.nonBlocking===!0?{}:A.nonBlocking,F=J.bufferSize??100,E=J.flushInterval??100,Y=[],Z=null,U=!1,X=!1,G=F*2;function V(){if(Y.length===0)return;let I=Y.splice(0);for(let H of I)try{D(H)}catch{}}function K(){if(X)return;X=!0,setTimeout(()=>{X=!1,V()},0)}function z(){if(Z!==null||U)return;Z=setInterval(()=>{V()},E)}let W=(I)=>{if(U)return;if(Y.length>=G)Y.shift();if(Y.push(I),Y.length>=F)K();else if(Z===null)z()};return W[Symbol.dispose]=()=>{if(U=!0,Z!==null)clearInterval(Z),Z=null;V()},W}var wT0=r(()=>{CT0()});function u2A(A){return A.category.length===0||A.category.length===1&&A.category[0]==="logtape"||A.category.length===2&&A.category[0]==="logtape"&&A.category[1]==="meta"}function P2A(A){let Q=A?i30:n30;if(typeof globalThis.EdgeRuntime!=="string"&&"process"in globalThis&&!("Deno"in globalThis)){let B=globalThis.process,D=B?.on;if(typeof D==="function"){D.call(B,"exit",Q);return}}let $=globalThis.addEventListener;if(typeof $!=="function")return;if("Deno"in globalThis)$.call(globalThis,"unload",Q);else $.call(globalThis,"pagehide",Q)}function gm(A){if(l30!=null&&!A.reset)throw new nV("Already configured; if you want to reset, turn on the reset flag.");if(hm.size>0)throw new nV("Previously configured async disposables are still active. Use configure() instead or explicitly dispose them using dispose().");R_();try{_2A(A,!1)}catch(Q){if(Q instanceof nV)R_();throw Q}}function _2A(A,Q){l30=A;let $=!1,B=new Set;for(let J of A.loggers){if(u2A(J))$=!0;let F=Array.isArray(J.category)?JSON.stringify(J.category):JSON.stringify([J.category]);if(B.has(F))throw new nV(`Duplicate logger configuration for category: ${F}. Each category can only be configured once.`);B.add(F);let E=tU.getLogger(J.category);for(let Y of J.sinks??[]){let Z=A.sinks[Y];if(!Z)throw new nV(`Sink not found: ${Y}.`);E.sinks.push(Z)}if(E.parentSinks=J.parentSinks??"inherit",J.lowestLevel!==void 0)E.lowestLevel=J.lowestLevel;for(let Y of J.filters??[]){let Z=A.filters?.[Y];if(Z===void 0)throw new nV(`Filter not found: ${Y}.`);E.filters.push(Ns1(Z))}ws1.add(E)}tU.getLogger().contextLocalStorage=A.contextLocalStorage;for(let J of Object.values(A.sinks)){if(Symbol.asyncDispose in J)if(Q)hm.add(J);else throw new nV("Async disposables cannot be used with configureSync().");if(Symbol.dispose in J)c30.add(J)}for(let J of Object.values(A.filters??{})){if(J==null||typeof J==="string")continue;if(Symbol.asyncDispose in J)if(Q)hm.add(J);else throw new nV("Async disposables cannot be used with configureSync().");if(Symbol.dispose in J)c30.add(J)}P2A(Q);let D=tU.getLogger(["logtape","meta"]);if(!$)D.sinks.push(bm());D.info("LogTape loggers are configured. Note that LogTape itself uses the meta logger, which has category {metaLoggerCategory}. The meta logger is used to log internal diagnostics such as sink exceptions. It's recommended to configure the meta logger with a separate sink so that you can easily notice if logging itself fails or is misconfigured. To turn off this message, configure the meta logger with higher log levels than {dismissLevel}. See also <https://logtape.org/manual/categories#meta-logger>.",{metaLoggerCategory:["logtape","meta"],dismissLevel:"info"})}function MT0(){return l30}function R_(){n30(),T2A()}function T2A(){let A=tU.getLogger([]);A.resetDescendants(),delete A.contextLocalStorage,ws1.clear(),l30=null}async function i30(){n30();let A=[];for(let Q of hm)A.push(Q[Symbol.asyncDispose]()),hm.delete(Q);await Promise.all(A)}function n30(){for(let A of c30)A[Symbol.dispose]();c30.clear()}var l30=null,ws1,c30,hm,nV;var Ms1=r(()=>{Cs1();y30();wT0();ws1=new Set,c30=new Set,hm=new Set;nV=class extends Error{constructor(A){super(A);this.name="ConfigureError"}}});var a30=r(()=>{y30();CT0();wT0();Ms1()});var Ls1,v2A,u;var p0=r(()=>{a30();P$();if(MT0()===null)gm({sinks:{console:bm({formatter:(A)=>{let Q=xm(A);return Object.keys(A.properties).length>0?[...Q,A.properties]:Q}})},loggers:[{category:["logtape","meta"],sinks:["console"],lowestLevel:"warning"},{category:[],sinks:["console"]}]});Ls1=w_.union([w_.literal("error"),w_.literal("warn"),w_.literal("info"),w_.literal("debug")]),v2A=WT0(),u=v2A});import y2A from"os";import o30 from"path";var kI,uM,SI,u_,iK5,nK5,aK5,x2A,b2A;var r30=r(()=>{kI=y2A.homedir(),{env:uM}=process,SI=uM.XDG_DATA_HOME||(kI?o30.join(kI,".local","share"):void 0),u_=uM.XDG_CONFIG_HOME||(kI?o30.join(kI,".config"):void 0),iK5=uM.XDG_STATE_HOME||(kI?o30.join(kI,".local","state"):void 0),nK5=uM.XDG_CACHE_HOME||(kI?o30.join(kI,".cache"):void 0),aK5=uM.XDG_RUNTIME_DIR||void 0,x2A=(uM.XDG_DATA_DIRS||"/usr/local/share/:/usr/share/").split(":");if(SI)x2A.unshift(SI);b2A=(uM.XDG_CONFIG_DIRS||"/etc/xdg").split(":");if(u_)b2A.unshift(u_)});import{homedir as s30}from"node:os";import aV from"node:path";var Os1,h2A,js1,g2A,P_,m2A,mm,d2A,cB;var pF=r(()=>{r30();Os1=aV.join(s30(),".local/share"),h2A=process.platform==="win32"||process.platform==="darwin"?Os1:SI??Os1,js1=aV.join(s30(),".config"),g2A=process.platform==="win32"||process.platform==="darwin"?js1:u_??js1,P_=aV.join(h2A,"amp"),m2A=aV.join(g2A,"amp"),mm=aV.join(m2A,"tools"),d2A=process.platform==="win32"?aV.join(process.env.LOCALAPPDATA??aV.join(s30(),"AppData","Local"),"amp"):aV.join(process.env.XDG_CACHE_HOME??aV.join(s30(),".cache"),"amp"),cB=d2A});function p2A(A){return A.trim().toLowerCase()}function m7(A){let Q=p2A(A);if(Q.length===0)return!1;if(Q.endsWith("@ampcode.com")||Q==="auth-bypass-user@example.com")return!0;return!1}function U4(A,Q,$=Q+"s"){return A===1?Q:$}var Y5=()=>{};function t30(A){Promise.resolve().then(()=>{try{A()}catch(Q){console.error(Q)}})}function Ps1(A){let Q=A._cleanup;if(Q===void 0)return;if(A._cleanup=void 0,!Q)return;try{if(typeof Q==="function")Q();else if(Q&&typeof Q.unsubscribe==="function")Q.unsubscribe()}catch($){console.error("cleanupSubscription",$)}}function RT0(A){A._observer=void 0,A._queue=void 0,A._state="closed"}function l2A(A){let Q=A._queue;if(!Q)return;A._queue=void 0,A._state="ready";for(let $ of Q)if(_s1(A,$.type,$.value),A._state==="closed")break}function _s1(A,Q,$){A._state="running";let B=A._observer;try{switch(Q){case"next":if(B&&typeof B.next==="function")B.next($);break;case"error":if(RT0(A),B&&typeof B.error==="function")B.error($);else throw $;break;case"complete":if(RT0(A),B&&typeof B.complete==="function")B.complete();break}}catch(D){console.error("notifySubscription",D)}if(A._state==="closed")Ps1(A);else if(A._state==="running")A._state="ready"}function jT0(A,Q,$){if(A._state==="closed")return;if(A._state==="buffering"){A._queue=A._queue||[],A._queue.push({type:Q,value:$});return}if(A._state!=="ready"){A._state="buffering",A._queue=[{type:Q,value:$}],t30(()=>l2A(A));return}_s1(A,Q,$)}class Ts1{_cleanup;_observer;_queue;_state;constructor(A,Q){this._cleanup=void 0,this._observer=A,this._queue=void 0,this._state="initializing";let $=new vs1(this);try{this._cleanup=Q.call(void 0,$)}catch(B){$.error(B)}if(this._state==="initializing")this._state="ready"}get closed(){return this._state==="closed"}unsubscribe(){if(this._state!=="closed")RT0(this),Ps1(this)}}class vs1{_subscription;constructor(A){this._subscription=A}get closed(){return this._subscription._state==="closed"}next(A){jT0(this._subscription,"next",A)}error(A){jT0(this._subscription,"error",A)}complete(){jT0(this._subscription,"complete")}}function E2(A){if(typeof A==="function")A();else if(A&&typeof A.unsubscribe==="function")A.unsubscribe()}class __{_baseObserver;_pendingPromises;constructor(A){this._baseObserver=A,this._pendingPromises=new Set}complete(){Promise.all(this._pendingPromises).then(()=>this._baseObserver.complete()).catch((A)=>this._baseObserver.error(A))}error(A){this._baseObserver.error(A)}schedule(A){let Q=Promise.all(this._pendingPromises),$=[],B=(J)=>$.push(J),D=Promise.resolve().then(async()=>{await Q,await A(B),this._pendingPromises.delete(D);for(let J of $)this._baseObserver.next(J)}).catch((J)=>{this._pendingPromises.delete(D),this._baseObserver.error(J)});this._pendingPromises.add(D)}}var h0;var T_=r(()=>{if(!Symbol.observable)Symbol.observable=Symbol("observable");h0=class h0{_subscriber;constructor(A){if(!(this instanceof h0))throw TypeError("Observable cannot be called as a function");if(typeof A!=="function")throw TypeError("Observable initializer must be a function");this._subscriber=A}subscribe(A,Q,$){if(typeof A!=="object"||A===null)A={next:A,error:Q,complete:$};return new Ts1(A,this._subscriber)}pipe(A,...Q){let $=this;for(let B of[A,...Q])$=B($);return $}[Symbol.observable](){return this}static from(A){let Q=typeof h0==="function"?h0:h0;if(A==null)throw TypeError(A+" is not an object");let $=A[Symbol.observable];if(typeof $==="function"){let D=$.call(A);if(Object(D)!==D)throw TypeError(D+" is not an object");if(D instanceof h0)return D;return new Q((J)=>D.subscribe(J))}let B=A[Symbol.iterator];if(typeof B==="function")return new Q((D)=>{t30(()=>{if(D.closed)return;for(let J of B.call(A))if(D.next(J),D.closed)return;D.complete()})});if(Array.isArray(A))return new Q((D)=>{t30(()=>{if(D.closed)return;for(let J of A)if(D.next(J),D.closed)return;D.complete()})});throw TypeError(A+" is not observable")}static of(...A){return new(typeof h0==="function"?h0:h0)(($)=>{t30(()=>{if($.closed)return;for(let B of A)if($.next(B),$.closed)return;$.complete()})})}static get[Symbol.species](){return h0}}});var d4,a1;var e30=r(()=>{T_();d4=class d4 extends h0{_observers=new Set;constructor(){super((A)=>{return this._observers.add(A),()=>this._observers.delete(A)})}next(A){for(let Q of this._observers)Q.next(A)}error(A){for(let Q of this._observers)Q.error(A)}complete(){for(let A of this._observers)A.complete()}};a1=class a1 extends d4{currentValue;constructor(A){super();this.currentValue=A}next(A){this.currentValue=A,super.next(A)}subscribe(A,Q,$){if(typeof A!=="object"||A===null){let B={};if(A)B.next=A;if(Q)B.error=Q;if($)B.complete=$;A=B}return A.next?.(this.currentValue),super.subscribe(A)}getValue(){return this.currentValue}}});var i2A,uT0;var ks1=r(()=>{T_();e30();i2A=class i2A extends Set{subject=new a1(this);add(A){return super.add(A),this.subject.next(this),this}delete(A){let Q=super.delete(A);if(Q)this.subject.next(this);return Q}clear(){super.clear(),this.subject.next(this)}get observable(){return h0.from(this.subject)}dispose(){this.subject.complete()}};uT0=class uT0 extends Map{subject=new a1(this);set(A,Q){return super.set(A,Q),this.subject.next(this),this}delete(A){let Q=super.delete(A);if(Q)this.subject.next(this);return Q}clear(){super.clear(),this.subject.next(this)}get observable(){return h0.from(this.subject)}dispose(){this.subject.complete()}}});function A50(A,Q){if(A===Q)return!0;if(A==null||Q==null||typeof A!=="object"||typeof Q!=="object")return!1;let $=Array.isArray(A),B=Array.isArray(Q);if($!==B)return!1;if($&&B)return A.length===Q.length&&A.every((J,F)=>A50(J,Q[F]));let D=new Set([...Object.keys(A),...Object.keys(Q)]);for(let J of D)if(!A50(A[J],Q[J]))return!1;return!0}var Q50;var PT0=r(()=>{Q50={now:()=>Date.now(),schedule:(A,Q)=>{let $=setTimeout(A,Q);return()=>clearTimeout($)}}});async function k1(A,Q){return new Promise(($,B)=>{let D,J=()=>{D?.unsubscribe(),B(new DOMException("Aborted","AbortError"))};Q?.addEventListener("abort",J,{once:!0}),D=A.subscribe({next:(F)=>{D?.unsubscribe(),Q?.removeEventListener("abort",J),$(F)},error:(F)=>{Q?.removeEventListener("abort",J),B(F)},complete:()=>{Q?.removeEventListener("abort",J),B("Observable completed without emitting a value")}})})}async function fI(A,Q){return new Promise(($,B)=>{let D,J=!1,F,E=()=>{F?.unsubscribe(),B(new DOMException("Aborted","AbortError"))};Q?.addEventListener("abort",E,{once:!0}),F=A.subscribe({next:(Y)=>{D=Y,J=!0},error:(Y)=>{Q?.removeEventListener("abort",E),B(Y)},complete:()=>{if(Q?.removeEventListener("abort",E),J)$(D);else B("Observable completed without emitting a value")}})})}async function fs1(A,Q){return new Promise(($,B)=>{let D=A.subscribe({error:B,complete:()=>$()});Q?.addEventListener("abort",()=>{D.unsubscribe(),B(new DOMException("Aborted","AbortError"))},{once:!0})})}function H2(A){return new h0((Q)=>{A.then(($)=>{Q.next($),Q.complete()}).catch(($)=>{Q.error($)})})}function F6(A){return new h0((Q)=>{let $=!1,B=new AbortController,D=B.signal;return(async()=>{try{D?.throwIfAborted();let F=await A(D);if(D?.throwIfAborted(),!$)Q.next(F),Q.complete()}catch(F){if(!$)if(D.aborted)Q.complete();else Q.error(F)}})(),()=>{$=!0,B.abort()}})}function N1(A){return(Q)=>{return new h0(($)=>{let B=new __($),D=0,J=Q.subscribe({complete(){B.complete()},error(F){B.error(F)},next(F){B.schedule(async(E)=>{let Y=await A(F,D);D++,E(Y)})}});return()=>E2(J)})}}function v_(A,Q=Q50){return new h0(($)=>{let B=0,D=null,J=()=>{$.next(B++),D=Q.schedule(J,A)};return D=Q.schedule(J,A),()=>{if(D)D()}})}function oV(...A){return new h0((Q)=>{let $=0,B=A.map((D)=>D.subscribe({next:(J)=>Q.next(J),error:(J)=>Q.error(J),complete:()=>{if($++,$===A.length)Q.complete()}}));return()=>{ys1(B)}})}function OA(...A){if(A.length===0)return pm;return new h0((Q)=>{let $=Array(A.length),B=Array(A.length).fill(0),D=Array(A.length).fill(!1),J=0,F=[],E=new __(Q);for(let Y=0;Y<A.length;Y++){let Z=A[Y];F.push(Z.subscribe({next(U){$[Y]=U,D[Y]=!0;let X=++B[Y];if(D.every(Boolean))E.schedule(async(G)=>{if(B[Y]===X)G([...$])})},error(U){E.error(U)},complete(){if(J++,J===A.length)E.complete()}}))}return()=>{ys1(F)}})}function t6(A){let $=A?.shouldCountRefs??!0,B=n2A++,D=(J,...F)=>{};return(J)=>{let F=new d4,E=null,Y=!1,Z,U=0;return new h0((X)=>{if(U++,Y)D("new subscriber, emitting buffered value",Z),X.next(Z);else D("new subscriber, no buffered value to emit");if(!E)E=J.subscribe({next:(V)=>{Y=!0,Z=V,F.next(V)},error:(V)=>F.error(V),complete:()=>F.complete()});let G=F.subscribe(X);return()=>{if(U--,G.unsubscribe(),$&&U===0){if(E)E2(E),E=null;Y=!1}}})}}function ys1(A){for(let Q of A)if(Q)E2(Q)}function rV(A){return(Q)=>{return new h0(($)=>{let B=Q.subscribe({next:(J)=>$.next(J),error:(J)=>$.error(J),complete:()=>$.complete()}),D=A.subscribe({next:()=>{$.complete(),B.unsubscribe(),D.unsubscribe()},error:(J)=>{$.error(J),B.unsubscribe()}});return()=>{B.unsubscribe(),D.unsubscribe()}})}}function yI(A){return(Q)=>{return new h0(($)=>{let B,D=Q.subscribe({next(J){B=J,$.next(J)},error(J){$.error(J)},complete(){$.complete()}});return()=>{E2(D),A(B)}})}}function T4(A=A50){return(Q)=>{return new h0(($)=>{let B=Ss1,D=new __($),J=Q.subscribe({complete(){D.complete()},error(F){D.error(F)},next(F){D.schedule(async(E)=>{if(B===Ss1||!A(B,F))B=F,E(F)})}});return()=>E2(J)})}}function k_(A){return a2A(typeof A==="function"?{next:A}:A)}function a2A(A){return(Q)=>new h0(($)=>{let B=typeof A==="function"?A():A,D=Q.subscribe({next(J){if(B.next)try{B.next(J)}catch(F){$.error(F);return}$.next(J)},error(J){if(B.error)try{B.error(J)}catch(F){$.error(F);return}$.error(J)},complete(){if(B.complete)try{B.complete()}catch(J){$.error(J);return}$.complete()}});return()=>E2(D)})}function T$(A){return(Q)=>{return new h0(($)=>{let B=!1,D=Q.subscribe({next:(F)=>{B=!0,clearTimeout(J),$.next(F)},error:(F)=>{clearTimeout(J),$.error(F)},complete:()=>{clearTimeout(J),$.complete()}}),J=setTimeout(()=>{if(!B)D.unsubscribe(),$.error(new $50(`Operation timed out after ${A}ms`))},A);return()=>{clearTimeout(J),D.unsubscribe()}})}}function WA(A){return(Q)=>new h0(($)=>{let B;try{$.next(A),B=Q.subscribe({next(D){$.next(D)},error(D){$.error(D)},complete(){$.complete()}})}catch(D){$.error(D)}return()=>{if(B)E2(B)}})}function j8(A){return(Q)=>new h0(($)=>{let B=0,D=Q.subscribe({next(J){if(B<A){if($.next(J),B++,B===A)$.complete(),E2(D)}},error(J){$.error(J)},complete(){$.complete()}});return()=>{E2(D)}})}function xs1(A){return(Q)=>new h0(($)=>{let B=0,D=Q.subscribe({next(J){if(B>=A)$.next(J);else B++},error(J){$.error(J)},complete(){$.complete()}});return()=>{E2(D)}})}function y4(A){return(Q)=>{return new h0(($)=>{let B=0,D=null,J=!1,F=()=>{if(J&&!D)$.complete()},E=Q.subscribe({next(Y){if(D)E2(D),D=null;let Z;try{Z=A(Y,B++)}catch(U){$.error(U);return}D=Z.subscribe({next(U){$.next(U)},error(U){$.error(U)},complete(){D=null,F()}})},error(Y){$.error(Y)},complete(){J=!0,F()}});return()=>{if(E2(E),D)E2(D)}})}}function sV(A,Q){let $=Q?.scheduler??Q50;return(B)=>new h0((D)=>{let J=null,F=null,E=!1,Y=B.subscribe({next:(Z)=>{if(F=Z,E=!0,J===null)J=$.schedule(()=>{if(E)D.next(F),E=!1;J=null},A)},error:(Z)=>D.error(Z),complete:()=>{if(J!==null)J();if(E)D.next(F);D.complete()}});return()=>{if(E2(Y),J!==null)J()}})}function TT0(A,Q){if(!Q.leading||!Q.trailing)throw Error("leading and trailing must be true");let $=Q.scheduler??Q50;return(B)=>new h0((D)=>{let J=0,F=null,E=null,Y=!1,Z=B.subscribe({next:(U)=>{let X=$.now();if(E=U,Y=!0,X-J>=A)D.next(U),J=X,Y=!1;else if(F===null)F=$.schedule(()=>{if(Y)D.next(E),J=$.now(),Y=!1;F=null},A-(X-J));if(J===0)D.next(U),J=X,Y=!1},error:(U)=>D.error(U),complete:()=>{if(F!==null)F();if(Y)D.next(E);D.complete()}});return()=>{if(E2(Z),F!==null)F()}})}function cm(...A){return new h0((Q)=>{let $=0,B=null;function D(){if($>=A.length){Q.complete();return}B=A[$].subscribe({next:(F)=>Q.next(F),error:(F)=>Q.error(F),complete:()=>{$++,D()}})}return D(),()=>{if(B)E2(B)}})}function xI(A){return(Q)=>new h0(($)=>{let B=0,D=!1,J=null,F=Q.subscribe({next(E){try{let Y=A(E,B++);if(J)E2(J);J=Y.subscribe({next(Z){$.next(Z)},error(Z){$.error(Z)},complete(){if(J=null,D&&!J)$.complete()}})}catch(Y){$.error(Y)}},error(E){$.error(E)},complete(){if(D=!0,!J)$.complete()}});return()=>{if(E2(F),J)E2(J)}})}function lm({onSubscribe:A,onUnsubscribe:Q}){return($)=>new h0((B)=>{A?.();let D=$.subscribe(B);return()=>{E2(D),Q?.()}})}function im(A){return(Q)=>h0.from(Q).pipe(y4(($)=>F6((B)=>A($,B))))}function v$(A){return(Q)=>new h0(($)=>{let B,D=Q.subscribe({next(J){$.next(J)},error(J){try{B=A(J).subscribe({next(E){$.next(E)},error(E){$.error(E)},complete(){$.complete()}})}catch(F){$.error(F)}},complete(){$.complete()}});return()=>{if(E2(D),B)E2(B)}})}function l3(A){return(Q)=>{return new h0(($)=>{let B=Q.subscribe({next(D){if(A(D))$.next(D)},error(D){$.error(D)},complete(){$.complete()}});return()=>E2(B)})}}function bs1(A,Q){return($)=>{return new h0((B)=>{let D,J=0,F=new __(B),E=$.subscribe({complete(){F.complete()},error(Y){F.error(Y)},next(Y){F.schedule(async(Z)=>{D=await A(J===0?typeof Q>"u"?Y:Q:D,Y,J++),Z(D)})}});return()=>E2(E)})}}var pm,_T0,n2A=0,Ss1,$50;var vT0=r(()=>{T_();PT0();e30();pm=new h0((A)=>{A.complete()}),_T0=new h0(()=>{});Ss1={};$50=class $50 extends Error{constructor(A="Timeout has occurred"){super(A);this.name="TimeoutError"}}});function S_(A,Q){return($)=>{return h0.from($).pipe(y4((B)=>B===eU?h0.of(eU):A(B).pipe(v$((D)=>h0.of(D instanceof Error?D:Error(D))),WA(eU))),t6(Q))}}function kT0(){return(A)=>h0.from(A).pipe(l3((Q)=>Q!==eU))}async function hs1(A,Q){let $=await k1(h0.from(A).pipe(kT0()),Q);if($ instanceof Error)throw $;return $}var eU;var gs1=r(()=>{T_();vT0();eU=Symbol.for("@@pendingOperation")});var ms1=()=>{};var ds1=()=>{};var u1=r(()=>{ks1();T_();gs1();vT0();ms1();PT0();e30();ds1()});function $8A(){let A=typeof process==="object"?process.env.ProgramData:void 0;return A?`${A}\\ampcode`:"C:\\ProgramData\\ampcode"}function dT0(A){switch(A){case"darwin":return"/Library/Application Support/ampcode";case"android":case"cygwin":case"freebsd":case"netbsd":case"openbsd":case"linux":return"/etc/ampcode";case"win32":return $8A();case"aix":case"haiku":case"sunos":default:return null}}function rs1(A){return dT0(A)}function cF(A,Q){if(A===Q)return!0;if(A==null||Q==null||typeof A!=="object"||typeof Q!=="object")return!1;let $=Array.isArray(A),B=Array.isArray(Q);if($!==B)return!1;if($&&B)return A.length===Q.length&&A.every((J,F)=>cF(J,Q[F]));let D=new Set([...Object.keys(A),...Object.keys(Q)]);for(let J of D)if(!cF(A[J],Q[J]))return!1;return!0}class UJ{#A=!1;#Q=[];async acquire(){return new Promise((A)=>{if(!this.#A)this.#A=!0,A();else this.#Q.push({resolve:A})})}async acquireWithTimeout(A,Q=`Mutex acquire timed out after ${A}ms`){return new Promise(($,B)=>{if(!this.#A){this.#A=!0,$();return}let D=!1,J,F={resolve:()=>{if(D)return;D=!0,clearTimeout(J),$()}};J=setTimeout(()=>{if(D)return;D=!0;let E=this.#Q.indexOf(F);if(E!==-1)this.#Q.splice(E,1);B(Error(Q))},A),this.#Q.push(F)})}release(){if(this.#Q.length>0)this.#Q.shift()?.resolve();else this.#A=!1}}var k$;var b_=r(()=>{k$={BITBUCKET_ENTERPRISE:"bitbucket-enterprise",CUSTOMER_MODEL_PROVIDER_KEYS:"customer-model-provider-keys",ACCEPT_ABUSE_DATA_RETENTION:"accept-abuse-data-retention",HARNESS_SYSTEM_PROMPT:"harness-system-prompt",NEW_DIFFS:"new-diffs",NAMESPACE_REPOSITORIES_PAGE:"namespace-repositories-page",NAMESPACE_SKILLS_PAGE:"namespace-skills-page",OPENAI_REGIONAL_NONENT:"openai-regional-nonent",PAYMENT_METHOD_EXEMPT:"payment-method-exempt",PIERRE_DIFFS:"pierre-diffs",RECV_OLD_CLIENT_EMAILS:"recv-old-client-emails",SIGNING_KEYS:"signing-keys",THREAD_ACTORS_TUI:"thread-actors-tui",THREAD_ACTORS_TRACES:"thread-actors-traces",V2:"v2",SERVER_PLUGINS:"server-plugins",SUDO:"sudo",THREAD_TIMING:"thread-timing",THREAD_TRACE_VIEWER:"thread-trace-viewer",USAGE_TOKEN_COUNT:"usage-token-count",WORKSPACE_ROLES:"workspace-roles"}});function c_(A){let Q=A.length;while(--Q>=0)A[Q]=0}function lT0(A,Q,$,B,D){this.static_tree=A,this.extra_bits=Q,this.extra_base=$,this.elems=B,this.max_length=D,this.has_stree=A&&A.length}function iT0(A,Q){this.dyn_tree=A,this.max_code=0,this.stat_desc=Q}function AX(A,Q,$,B,D){this.good_length=A,this.max_lazy=Q,this.nice_length=$,this.max_chain=B,this.func=D}function z9A(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=I50,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(F9A*2),this.dyn_dtree=new Uint16Array((2*D9A+1)*2),this.bl_tree=new Uint16Array((2*J9A+1)*2),hI(this.dyn_ltree),hI(this.dyn_dtree),hI(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(E9A+1),this.heap=new Uint16Array(2*Ev0+1),hI(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*Ev0+1),hI(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function x9A(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}function Kd(A){this.options=H50.assign({level:p9A,method:l9A,chunkSize:16384,windowBits:15,memLevel:8,strategy:c9A},A||{});let Q=this.options;if(Q.raw&&Q.windowBits>0)Q.windowBits=-Q.windowBits;else if(Q.gzip&&Q.windowBits>0&&Q.windowBits<16)Q.windowBits+=16;this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Ze1,this.strm.avail_out=0;let $=$d.deflateInit2(this.strm,Q.level,Q.method,Q.windowBits,Q.memLevel,Q.strategy);if($!==z50)throw Error(kM[$]);if(Q.header)$d.deflateSetHeader(this.strm,Q.header);if(Q.dictionary){let B;if(typeof Q.dictionary==="string")B=Ud.string2buf(Q.dictionary);else if(Ue1.call(Q.dictionary)==="[object ArrayBuffer]")B=new Uint8Array(Q.dictionary);else B=Q.dictionary;if($=$d.deflateSetDictionary(this.strm,B),$!==z50)throw Error(kM[$]);this._dict_set=!0}}function Hv0(A,Q){let $=new Kd(Q);if($.push(A,!0),$.err)throw $.msg||kM[$.err];return $.result}function i9A(A,Q){return Q=Q||{},Q.raw=!0,Hv0(A,Q)}function n9A(A,Q){return Q=Q||{},Q.gzip=!0,Hv0(A,Q)}function W7A(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function k7A(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}function zd(A){this.options=H50.assign({chunkSize:65536,windowBits:15,to:""},A||{});let Q=this.options;if(Q.raw&&Q.windowBits>=0&&Q.windowBits<16){if(Q.windowBits=-Q.windowBits,Q.windowBits===0)Q.windowBits=-15}if(Q.windowBits>=0&&Q.windowBits<16&&!(A&&A.windowBits))Q.windowBits+=32;if(Q.windowBits>15&&Q.windowBits<48){if((Q.windowBits&15)===0)Q.windowBits|=15}this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Ze1,this.strm.avail_out=0;let $=AK.inflateInit2(this.strm,Q.windowBits);if($!==Xd)throw Error(kM[$]);if(this.header=new S7A,AK.inflateGetHeader(this.strm,this.header),Q.dictionary){if(typeof Q.dictionary==="string")Q.dictionary=Ud.string2buf(Q.dictionary);else if(we1.call(Q.dictionary)==="[object ArrayBuffer]")Q.dictionary=new Uint8Array(Q.dictionary);if(Q.raw){if($=AK.inflateSetDictionary(this.strm,Q.dictionary),$!==Xd)throw Error(kM[$])}}}function qv0(A,Q){let $=new zd(Q);if($.push(A),$.err)throw $.msg||kM[$.err];return $.result}function h7A(A,Q){return Q=Q||{},Q.raw=!0,qv0(A,Q)}var K8A=0,dt1=1,z8A=2,W8A=3,I8A=258,Vv0=29,Gd=256,Dd,m_=30,Kv0=19,pt1,_M=15,cT0=16,H8A=7,zv0=256,ct1=16,lt1=17,it1=18,Dv0,V50,q8A,nt1,N8A=512,eV,Qd,Jd,Fd,Wv0,K50,at1,ot1,rt1,st1=(A)=>{return A<256?Jd[A]:Jd[256+(A>>>7)]},Ed=(A,Q)=>{A.pending_buf[A.pending++]=Q&255,A.pending_buf[A.pending++]=Q>>>8&255},lB=(A,Q,$)=>{if(A.bi_valid>cT0-$)A.bi_buf|=Q<<A.bi_valid&65535,Ed(A,A.bi_buf),A.bi_buf=Q>>cT0-A.bi_valid,A.bi_valid+=$-cT0;else A.bi_buf|=Q<<A.bi_valid&65535,A.bi_valid+=$},QX=(A,Q,$)=>{lB(A,$[Q*2],$[Q*2+1])},tt1=(A,Q)=>{let $=0;do $|=A&1,A>>>=1,$<<=1;while(--Q>0);return $>>>1},C8A=(A)=>{if(A.bi_valid===16)Ed(A,A.bi_buf),A.bi_buf=0,A.bi_valid=0;else if(A.bi_valid>=8)A.pending_buf[A.pending++]=A.bi_buf&255,A.bi_buf>>=8,A.bi_valid-=8},w8A=(A,Q)=>{let{dyn_tree:$,max_code:B}=Q,D=Q.stat_desc.static_tree,J=Q.stat_desc.has_stree,F=Q.stat_desc.extra_bits,E=Q.stat_desc.extra_base,Y=Q.stat_desc.max_length,Z,U,X,G,V,K,z=0;for(G=0;G<=_M;G++)A.bl_count[G]=0;$[A.heap[A.heap_max]*2+1]=0;for(Z=A.heap_max+1;Z<pt1;Z++){if(U=A.heap[Z],G=$[$[U*2+1]*2+1]+1,G>Y)G=Y,z++;if($[U*2+1]=G,U>B)continue;if(A.bl_count[G]++,V=0,U>=E)V=F[U-E];if(K=$[U*2],A.opt_len+=K*(G+V),J)A.static_len+=K*(D[U*2+1]+V)}if(z===0)return;do{G=Y-1;while(A.bl_count[G]===0)G--;A.bl_count[G]--,A.bl_count[G+1]+=2,A.bl_count[Y]--,z-=2}while(z>0);for(G=Y;G!==0;G--){U=A.bl_count[G];while(U!==0){if(X=A.heap[--Z],X>B)continue;if($[X*2+1]!==G)A.opt_len+=(G-$[X*2+1])*$[X*2],$[X*2+1]=G;U--}}},et1=(A,Q,$)=>{let B=Array(_M+1),D=0,J,F;for(J=1;J<=_M;J++)D=D+$[J-1]<<1,B[J]=D;for(F=0;F<=Q;F++){let E=A[F*2+1];if(E===0)continue;A[F*2]=tt1(B[E]++,E)}},M8A=()=>{let A,Q,$,B,D,J=Array(_M+1);$=0;for(B=0;B<Vv0-1;B++){Wv0[B]=$;for(A=0;A<1<<Dv0[B];A++)Fd[$++]=B}Fd[$-1]=B,D=0;for(B=0;B<16;B++){K50[B]=D;for(A=0;A<1<<V50[B];A++)Jd[D++]=B}D>>=7;for(;B<m_;B++){K50[B]=D<<7;for(A=0;A<1<<V50[B]-7;A++)Jd[256+D++]=B}for(Q=0;Q<=_M;Q++)J[Q]=0;A=0;while(A<=143)eV[A*2+1]=8,A++,J[8]++;while(A<=255)eV[A*2+1]=9,A++,J[9]++;while(A<=279)eV[A*2+1]=7,A++,J[7]++;while(A<=287)eV[A*2+1]=8,A++,J[8]++;et1(eV,Dd+1,J);for(A=0;A<m_;A++)Qd[A*2+1]=5,Qd[A*2]=tt1(A,5);at1=new lT0(eV,Dv0,Gd+1,Dd,_M),ot1=new lT0(Qd,V50,0,m_,_M),rt1=new lT0([],q8A,0,Kv0,H8A)},Ae1=(A)=>{let Q;for(Q=0;Q<Dd;Q++)A.dyn_ltree[Q*2]=0;for(Q=0;Q<m_;Q++)A.dyn_dtree[Q*2]=0;for(Q=0;Q<Kv0;Q++)A.bl_tree[Q*2]=0;A.dyn_ltree[zv0*2]=1,A.opt_len=A.static_len=0,A.sym_next=A.matches=0},Qe1=(A)=>{if(A.bi_valid>8)Ed(A,A.bi_buf);else if(A.bi_valid>0)A.pending_buf[A.pending++]=A.bi_buf;A.bi_buf=0,A.bi_valid=0},Dt1=(A,Q,$,B)=>{let D=Q*2,J=$*2;return A[D]<A[J]||A[D]===A[J]&&B[Q]<=B[$]},nT0=(A,Q,$)=>{let B=A.heap[$],D=$<<1;while(D<=A.heap_len){if(D<A.heap_len&&Dt1(Q,A.heap[D+1],A.heap[D],A.depth))D++;if(Dt1(Q,B,A.heap[D],A.depth))break;A.heap[$]=A.heap[D],$=D,D<<=1}A.heap[$]=B},Jt1=(A,Q,$)=>{let B,D,J=0,F,E;if(A.sym_next!==0)do if(B=A.pending_buf[A.sym_buf+J++]&255,B+=(A.pending_buf[A.sym_buf+J++]&255)<<8,D=A.pending_buf[A.sym_buf+J++],B===0)QX(A,D,Q);else{if(F=Fd[D],QX(A,F+Gd+1,Q),E=Dv0[F],E!==0)D-=Wv0[F],lB(A,D,E);if(B--,F=st1(B),QX(A,F,$),E=V50[F],E!==0)B-=K50[F],lB(A,B,E)}while(J<A.sym_next);QX(A,zv0,Q)},Jv0=(A,Q)=>{let $=Q.dyn_tree,B=Q.stat_desc.static_tree,D=Q.stat_desc.has_stree,J=Q.stat_desc.elems,F,E,Y=-1,Z;A.heap_len=0,A.heap_max=pt1;for(F=0;F<J;F++)if($[F*2]!==0)A.heap[++A.heap_len]=Y=F,A.depth[F]=0;else $[F*2+1]=0;while(A.heap_len<2)if(Z=A.heap[++A.heap_len]=Y<2?++Y:0,$[Z*2]=1,A.depth[Z]=0,A.opt_len--,D)A.static_len-=B[Z*2+1];Q.max_code=Y;for(F=A.heap_len>>1;F>=1;F--)nT0(A,$,F);Z=J;do F=A.heap[1],A.heap[1]=A.heap[A.heap_len--],nT0(A,$,1),E=A.heap[1],A.heap[--A.heap_max]=F,A.heap[--A.heap_max]=E,$[Z*2]=$[F*2]+$[E*2],A.depth[Z]=(A.depth[F]>=A.depth[E]?A.depth[F]:A.depth[E])+1,$[F*2+1]=$[E*2+1]=Z,A.heap[1]=Z++,nT0(A,$,1);while(A.heap_len>=2);A.heap[--A.heap_max]=A.heap[1],w8A(A,Q),et1($,Y,A.bl_count)},Ft1=(A,Q,$)=>{let B,D=-1,J,F=Q[1],E=0,Y=7,Z=4;if(F===0)Y=138,Z=3;Q[($+1)*2+1]=65535;for(B=0;B<=$;B++){if(J=F,F=Q[(B+1)*2+1],++E<Y&&J===F)continue;else if(E<Z)A.bl_tree[J*2]+=E;else if(J!==0){if(J!==D)A.bl_tree[J*2]++;A.bl_tree[ct1*2]++}else if(E<=10)A.bl_tree[lt1*2]++;else A.bl_tree[it1*2]++;if(E=0,D=J,F===0)Y=138,Z=3;else if(J===F)Y=6,Z=3;else Y=7,Z=4}},Et1=(A,Q,$)=>{let B,D=-1,J,F=Q[1],E=0,Y=7,Z=4;if(F===0)Y=138,Z=3;for(B=0;B<=$;B++){if(J=F,F=Q[(B+1)*2+1],++E<Y&&J===F)continue;else if(E<Z)do QX(A,J,A.bl_tree);while(--E!==0);else if(J!==0){if(J!==D)QX(A,J,A.bl_tree),E--;QX(A,ct1,A.bl_tree),lB(A,E-3,2)}else if(E<=10)QX(A,lt1,A.bl_tree),lB(A,E-3,3);else QX(A,it1,A.bl_tree),lB(A,E-11,7);if(E=0,D=J,F===0)Y=138,Z=3;else if(J===F)Y=6,Z=3;else Y=7,Z=4}},L8A=(A)=>{let Q;Ft1(A,A.dyn_ltree,A.l_desc.max_code),Ft1(A,A.dyn_dtree,A.d_desc.max_code),Jv0(A,A.bl_desc);for(Q=Kv0-1;Q>=3;Q--)if(A.bl_tree[nt1[Q]*2+1]!==0)break;return A.opt_len+=3*(Q+1)+5+5+4,Q},O8A=(A,Q,$,B)=>{let D;lB(A,Q-257,5),lB(A,$-1,5),lB(A,B-4,4);for(D=0;D<B;D++)lB(A,A.bl_tree[nt1[D]*2+1],3);Et1(A,A.dyn_ltree,Q-1),Et1(A,A.dyn_dtree,$-1)},j8A=(A)=>{let Q=4093624447,$;for($=0;$<=31;$++,Q>>>=1)if(Q&1&&A.dyn_ltree[$*2]!==0)return 0;if(A.dyn_ltree[18]!==0||A.dyn_ltree[20]!==0||A.dyn_ltree[26]!==0)return 1;for($=32;$<Gd;$++)if(A.dyn_ltree[$*2]!==0)return 1;return 0},Yt1=!1,R8A=(A)=>{if(!Yt1)M8A(),Yt1=!0;A.l_desc=new iT0(A.dyn_ltree,at1),A.d_desc=new iT0(A.dyn_dtree,ot1),A.bl_desc=new iT0(A.bl_tree,rt1),A.bi_buf=0,A.bi_valid=0,Ae1(A)},$e1=(A,Q,$,B)=>{if(lB(A,(K8A<<1)+(B?1:0),3),Qe1(A),Ed(A,$),Ed(A,~$),$)A.pending_buf.set(A.window.subarray(Q,Q+$),A.pending);A.pending+=$},u8A=(A)=>{lB(A,dt1<<1,3),QX(A,zv0,eV),C8A(A)},P8A=(A,Q,$,B)=>{let D,J,F=0;if(A.level>0){if(A.strm.data_type===2)A.strm.data_type=j8A(A);if(Jv0(A,A.l_desc),Jv0(A,A.d_desc),F=L8A(A),D=A.opt_len+3+7>>>3,J=A.static_len+3+7>>>3,J<=D)D=J}else D=J=$+5;if($+4<=D&&Q!==-1)$e1(A,Q,$,B);else if(A.strategy===4||J===D)lB(A,(dt1<<1)+(B?1:0),3),Jt1(A,eV,Qd);else lB(A,(z8A<<1)+(B?1:0),3),O8A(A,A.l_desc.max_code+1,A.d_desc.max_code+1,F+1),Jt1(A,A.dyn_ltree,A.dyn_dtree);if(Ae1(A),B)Qe1(A)},_8A=(A,Q,$)=>{if(A.pending_buf[A.sym_buf+A.sym_next++]=Q,A.pending_buf[A.sym_buf+A.sym_next++]=Q>>8,A.pending_buf[A.sym_buf+A.sym_next++]=$,Q===0)A.dyn_ltree[$*2]++;else A.matches++,Q--,A.dyn_ltree[(Fd[$]+Gd+1)*2]++,A.dyn_dtree[st1(Q)*2]++;return A.sym_next===A.sym_end},T8A,v8A,k8A,S8A,f8A,y8A,x8A=(A,Q,$,B)=>{let D=A&65535|0,J=A>>>16&65535|0,F=0;while($!==0){F=$>2000?2000:$,$-=F;do D=D+Q[B++]|0,J=J+D|0;while(--F);D%=65521,J%=65521}return D|J<<16|0},Yd,b8A=()=>{let A,Q=[];for(var $=0;$<256;$++){A=$;for(var B=0;B<8;B++)A=A&1?3988292384^A>>>1:A>>>1;Q[$]=A}return Q},h8A,g8A=(A,Q,$,B)=>{let D=h8A,J=B+$;A^=-1;for(let F=B;F<J;F++)A=A>>>8^D[(A^Q[F])&255];return A^-1},F7,kM,yM,m8A,Fv0,d8A,mI,p8A,dI,c8A,l8A,lF,Zt1,d7,Ut1,$X,i8A,aT0,n8A,a8A,Y50,o8A,r8A,s8A,t8A,I50,e8A=9,A9A=15,Q9A=8,$9A=29,B9A=256,Ev0,D9A=30,J9A=19,F9A,E9A=15,D3=3,gI=258,BX,Y9A=32,d_=42,Iv0=57,Yv0=69,Zv0=73,Uv0=91,Xv0=103,TM=113,em=666,S$=1,l_=2,SM=3,i_=4,Z9A=3,vM=(A,Q)=>{return A.msg=kM[Q],Q},Xt1=(A)=>{return A*2-(A>4?9:0)},hI=(A)=>{let Q=A.length;while(--Q>=0)A[Q]=0},U9A=(A)=>{let Q,$,B,D=A.w_size;Q=A.hash_size,B=Q;do $=A.head[--B],A.head[B]=$>=D?$-D:0;while(--Q);Q=D,B=Q;do $=A.prev[--B],A.prev[B]=$>=D?$-D:0;while(--Q)},X9A=(A,Q,$)=>(Q<<A.hash_shift^$)&A.hash_mask,pI,XJ=(A)=>{let Q=A.state,$=Q.pending;if($>A.avail_out)$=A.avail_out;if($===0)return;if(A.output.set(Q.pending_buf.subarray(Q.pending_out,Q.pending_out+$),A.next_out),A.next_out+=$,Q.pending_out+=$,A.total_out+=$,A.avail_out-=$,Q.pending-=$,Q.pending===0)Q.pending_out=0},GJ=(A,Q)=>{d8A(A,A.block_start>=0?A.block_start:-1,A.strstart-A.block_start,Q),A.block_start=A.strstart,XJ(A.strm)},i3=(A,Q)=>{A.pending_buf[A.pending++]=Q},tm=(A,Q)=>{A.pending_buf[A.pending++]=Q>>>8&255,A.pending_buf[A.pending++]=Q&255},Gv0=(A,Q,$,B)=>{let D=A.avail_in;if(D>B)D=B;if(D===0)return 0;if(A.avail_in-=D,Q.set(A.input.subarray(A.next_in,A.next_in+D),$),A.state.wrap===1)A.adler=Yd(A.adler,Q,D,$);else if(A.state.wrap===2)A.adler=F7(A.adler,Q,D,$);return A.next_in+=D,A.total_in+=D,D},Be1=(A,Q)=>{let{max_chain_length:$,strstart:B}=A,D,J,F=A.prev_length,E=A.nice_match,Y=A.strstart>A.w_size-BX?A.strstart-(A.w_size-BX):0,Z=A.window,U=A.w_mask,X=A.prev,G=A.strstart+gI,V=Z[B+F-1],K=Z[B+F];if(A.prev_length>=A.good_match)$>>=2;if(E>A.lookahead)E=A.lookahead;do{if(D=Q,Z[D+F]!==K||Z[D+F-1]!==V||Z[D]!==Z[B]||Z[++D]!==Z[B+1])continue;B+=2,D++;do;while(Z[++B]===Z[++D]&&Z[++B]===Z[++D]&&Z[++B]===Z[++D]&&Z[++B]===Z[++D]&&Z[++B]===Z[++D]&&Z[++B]===Z[++D]&&Z[++B]===Z[++D]&&Z[++B]===Z[++D]&&B<G);if(J=gI-(G-B),B=G-gI,J>F){if(A.match_start=Q,F=J,J>=E)break;V=Z[B+F-1],K=Z[B+F]}}while((Q=X[Q&U])>Y&&--$!==0);if(F<=A.lookahead)return F;return A.lookahead},p_=(A)=>{let Q=A.w_size,$,B,D;do{if(B=A.window_size-A.lookahead-A.strstart,A.strstart>=Q+(Q-BX)){if(A.window.set(A.window.subarray(Q,Q+Q-B),0),A.match_start-=Q,A.strstart-=Q,A.block_start-=Q,A.insert>A.strstart)A.insert=A.strstart;U9A(A),B+=Q}if(A.strm.avail_in===0)break;if($=Gv0(A.strm,A.window,A.strstart+A.lookahead,B),A.lookahead+=$,A.lookahead+A.insert>=D3){D=A.strstart-A.insert,A.ins_h=A.window[D],A.ins_h=pI(A,A.ins_h,A.window[D+1]);while(A.insert)if(A.ins_h=pI(A,A.ins_h,A.window[D+D3-1]),A.prev[D&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=D,D++,A.insert--,A.lookahead+A.insert<D3)break}}while(A.lookahead<BX&&A.strm.avail_in!==0)},De1=(A,Q)=>{let $=A.pending_buf_size-5>A.w_size?A.w_size:A.pending_buf_size-5,B,D,J,F=0,E=A.strm.avail_in;do{if(B=65535,J=A.bi_valid+42>>3,A.strm.avail_out<J)break;if(J=A.strm.avail_out-J,D=A.strstart-A.block_start,B>D+A.strm.avail_in)B=D+A.strm.avail_in;if(B>J)B=J;if(B<$&&(B===0&&Q!==lF||Q===dI||B!==D+A.strm.avail_in))break;if(F=Q===lF&&B===D+A.strm.avail_in?1:0,Fv0(A,0,0,F),A.pending_buf[A.pending-4]=B,A.pending_buf[A.pending-3]=B>>8,A.pending_buf[A.pending-2]=~B,A.pending_buf[A.pending-1]=~B>>8,XJ(A.strm),D){if(D>B)D=B;A.strm.output.set(A.window.subarray(A.block_start,A.block_start+D),A.strm.next_out),A.strm.next_out+=D,A.strm.avail_out-=D,A.strm.total_out+=D,A.block_start+=D,B-=D}if(B)Gv0(A.strm,A.strm.output,A.strm.next_out,B),A.strm.next_out+=B,A.strm.avail_out-=B,A.strm.total_out+=B}while(F===0);if(E-=A.strm.avail_in,E){if(E>=A.w_size)A.matches=2,A.window.set(A.strm.input.subarray(A.strm.next_in-A.w_size,A.strm.next_in),0),A.strstart=A.w_size,A.insert=A.strstart;else{if(A.window_size-A.strstart<=E){if(A.strstart-=A.w_size,A.window.set(A.window.subarray(A.w_size,A.w_size+A.strstart),0),A.matches<2)A.matches++;if(A.insert>A.strstart)A.insert=A.strstart}A.window.set(A.strm.input.subarray(A.strm.next_in-E,A.strm.next_in),A.strstart),A.strstart+=E,A.insert+=E>A.w_size-A.insert?A.w_size-A.insert:E}A.block_start=A.strstart}if(A.high_water<A.strstart)A.high_water=A.strstart;if(F)return i_;if(Q!==dI&&Q!==lF&&A.strm.avail_in===0&&A.strstart===A.block_start)return l_;if(J=A.window_size-A.strstart,A.strm.avail_in>J&&A.block_start>=A.w_size){if(A.block_start-=A.w_size,A.strstart-=A.w_size,A.window.set(A.window.subarray(A.w_size,A.w_size+A.strstart),0),A.matches<2)A.matches++;if(J+=A.w_size,A.insert>A.strstart)A.insert=A.strstart}if(J>A.strm.avail_in)J=A.strm.avail_in;if(J)Gv0(A.strm,A.window,A.strstart,J),A.strstart+=J,A.insert+=J>A.w_size-A.insert?A.w_size-A.insert:J;if(A.high_water<A.strstart)A.high_water=A.strstart;if(J=A.bi_valid+42>>3,J=A.pending_buf_size-J>65535?65535:A.pending_buf_size-J,$=J>A.w_size?A.w_size:J,D=A.strstart-A.block_start,D>=$||(D||Q===lF)&&Q!==dI&&A.strm.avail_in===0&&D<=J)B=D>J?J:D,F=Q===lF&&A.strm.avail_in===0&&B===D?1:0,Fv0(A,A.block_start,B,F),A.block_start+=B,XJ(A.strm);return F?SM:S$},oT0=(A,Q)=>{let $,B;for(;;){if(A.lookahead<BX){if(p_(A),A.lookahead<BX&&Q===dI)return S$;if(A.lookahead===0)break}if($=0,A.lookahead>=D3)A.ins_h=pI(A,A.ins_h,A.window[A.strstart+D3-1]),$=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart;if($!==0&&A.strstart-$<=A.w_size-BX)A.match_length=Be1(A,$);if(A.match_length>=D3)if(B=mI(A,A.strstart-A.match_start,A.match_length-D3),A.lookahead-=A.match_length,A.match_length<=A.max_lazy_match&&A.lookahead>=D3){A.match_length--;do A.strstart++,A.ins_h=pI(A,A.ins_h,A.window[A.strstart+D3-1]),$=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart;while(--A.match_length!==0);A.strstart++}else A.strstart+=A.match_length,A.match_length=0,A.ins_h=A.window[A.strstart],A.ins_h=pI(A,A.ins_h,A.window[A.strstart+1]);else B=mI(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++;if(B){if(GJ(A,!1),A.strm.avail_out===0)return S$}}if(A.insert=A.strstart<D3-1?A.strstart:D3-1,Q===lF){if(GJ(A,!0),A.strm.avail_out===0)return SM;return i_}if(A.sym_next){if(GJ(A,!1),A.strm.avail_out===0)return S$}return l_},h_=(A,Q)=>{let $,B,D;for(;;){if(A.lookahead<BX){if(p_(A),A.lookahead<BX&&Q===dI)return S$;if(A.lookahead===0)break}if($=0,A.lookahead>=D3)A.ins_h=pI(A,A.ins_h,A.window[A.strstart+D3-1]),$=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart;if(A.prev_length=A.match_length,A.prev_match=A.match_start,A.match_length=D3-1,$!==0&&A.prev_length<A.max_lazy_match&&A.strstart-$<=A.w_size-BX){if(A.match_length=Be1(A,$),A.match_length<=5&&(A.strategy===a8A||A.match_length===D3&&A.strstart-A.match_start>4096))A.match_length=D3-1}if(A.prev_length>=D3&&A.match_length<=A.prev_length){D=A.strstart+A.lookahead-D3,B=mI(A,A.strstart-1-A.prev_match,A.prev_length-D3),A.lookahead-=A.prev_length-1,A.prev_length-=2;do if(++A.strstart<=D)A.ins_h=pI(A,A.ins_h,A.window[A.strstart+D3-1]),$=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart;while(--A.prev_length!==0);if(A.match_available=0,A.match_length=D3-1,A.strstart++,B){if(GJ(A,!1),A.strm.avail_out===0)return S$}}else if(A.match_available){if(B=mI(A,0,A.window[A.strstart-1]),B)GJ(A,!1);if(A.strstart++,A.lookahead--,A.strm.avail_out===0)return S$}else A.match_available=1,A.strstart++,A.lookahead--}if(A.match_available)B=mI(A,0,A.window[A.strstart-1]),A.match_available=0;if(A.insert=A.strstart<D3-1?A.strstart:D3-1,Q===lF){if(GJ(A,!0),A.strm.avail_out===0)return SM;return i_}if(A.sym_next){if(GJ(A,!1),A.strm.avail_out===0)return S$}return l_},G9A=(A,Q)=>{let $,B,D,J,F=A.window;for(;;){if(A.lookahead<=gI){if(p_(A),A.lookahead<=gI&&Q===dI)return S$;if(A.lookahead===0)break}if(A.match_length=0,A.lookahead>=D3&&A.strstart>0){if(D=A.strstart-1,B=F[D],B===F[++D]&&B===F[++D]&&B===F[++D]){J=A.strstart+gI;do;while(B===F[++D]&&B===F[++D]&&B===F[++D]&&B===F[++D]&&B===F[++D]&&B===F[++D]&&B===F[++D]&&B===F[++D]&&D<J);if(A.match_length=gI-(J-D),A.match_length>A.lookahead)A.match_length=A.lookahead}}if(A.match_length>=D3)$=mI(A,1,A.match_length-D3),A.lookahead-=A.match_length,A.strstart+=A.match_length,A.match_length=0;else $=mI(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++;if($){if(GJ(A,!1),A.strm.avail_out===0)return S$}}if(A.insert=0,Q===lF){if(GJ(A,!0),A.strm.avail_out===0)return SM;return i_}if(A.sym_next){if(GJ(A,!1),A.strm.avail_out===0)return S$}return l_},V9A=(A,Q)=>{let $;for(;;){if(A.lookahead===0){if(p_(A),A.lookahead===0){if(Q===dI)return S$;break}}if(A.match_length=0,$=mI(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++,$){if(GJ(A,!1),A.strm.avail_out===0)return S$}}if(A.insert=0,Q===lF){if(GJ(A,!0),A.strm.avail_out===0)return SM;return i_}if(A.sym_next){if(GJ(A,!1),A.strm.avail_out===0)return S$}return l_},Ad,K9A=(A)=>{A.window_size=2*A.w_size,hI(A.head),A.max_lazy_match=Ad[A.level].max_lazy,A.good_match=Ad[A.level].good_length,A.nice_match=Ad[A.level].nice_length,A.max_chain_length=Ad[A.level].max_chain,A.strstart=0,A.block_start=0,A.lookahead=0,A.insert=0,A.match_length=A.prev_length=D3-1,A.match_available=0,A.ins_h=0},Vd=(A)=>{if(!A)return 1;let Q=A.state;if(!Q||Q.strm!==A||Q.status!==d_&&Q.status!==Iv0&&Q.status!==Yv0&&Q.status!==Zv0&&Q.status!==Uv0&&Q.status!==Xv0&&Q.status!==TM&&Q.status!==em)return 1;return 0},Je1=(A)=>{if(Vd(A))return vM(A,$X);A.total_in=A.total_out=0,A.data_type=t8A;let Q=A.state;if(Q.pending=0,Q.pending_out=0,Q.wrap<0)Q.wrap=-Q.wrap;return Q.status=Q.wrap===2?Iv0:Q.wrap?d_:TM,A.adler=Q.wrap===2?0:1,Q.last_flush=-2,m8A(Q),d7},Fe1=(A)=>{let Q=Je1(A);if(Q===d7)K9A(A.state);return Q},W9A=(A,Q)=>{if(Vd(A)||A.state.wrap!==2)return $X;return A.state.gzhead=Q,d7},Ee1=(A,Q,$,B,D,J)=>{if(!A)return $X;let F=1;if(Q===n8A)Q=6;if(B<0)F=0,B=-B;else if(B>15)F=2,B-=16;if(D<1||D>e8A||$!==I50||B<8||B>15||Q<0||Q>9||J<0||J>r8A||B===8&&F!==1)return vM(A,$X);if(B===8)B=9;let E=new z9A;return A.state=E,E.strm=A,E.status=d_,E.wrap=F,E.gzhead=null,E.w_bits=B,E.w_size=1<<E.w_bits,E.w_mask=E.w_size-1,E.hash_bits=D+7,E.hash_size=1<<E.hash_bits,E.hash_mask=E.hash_size-1,E.hash_shift=~~((E.hash_bits+D3-1)/D3),E.window=new Uint8Array(E.w_size*2),E.head=new Uint16Array(E.hash_size),E.prev=new Uint16Array(E.w_size),E.lit_bufsize=1<<D+6,E.pending_buf_size=E.lit_bufsize*4,E.pending_buf=new Uint8Array(E.pending_buf_size),E.sym_buf=E.lit_bufsize,E.sym_end=(E.lit_bufsize-1)*3,E.level=Q,E.strategy=J,E.method=$,Fe1(A)},I9A=(A,Q)=>{return Ee1(A,Q,I50,A9A,Q9A,s8A)},H9A=(A,Q)=>{if(Vd(A)||Q>Zt1||Q<0)return A?vM(A,$X):$X;let $=A.state;if(!A.output||A.avail_in!==0&&!A.input||$.status===em&&Q!==lF)return vM(A,A.avail_out===0?aT0:$X);let B=$.last_flush;if($.last_flush=Q,$.pending!==0){if(XJ(A),A.avail_out===0)return $.last_flush=-1,d7}else if(A.avail_in===0&&Xt1(Q)<=Xt1(B)&&Q!==lF)return vM(A,aT0);if($.status===em&&A.avail_in!==0)return vM(A,aT0);if($.status===d_&&$.wrap===0)$.status=TM;if($.status===d_){let D=I50+($.w_bits-8<<4)<<8,J=-1;if($.strategy>=Y50||$.level<2)J=0;else if($.level<6)J=1;else if($.level===6)J=2;else J=3;if(D|=J<<6,$.strstart!==0)D|=Y9A;if(D+=31-D%31,tm($,D),$.strstart!==0)tm($,A.adler>>>16),tm($,A.adler&65535);if(A.adler=1,$.status=TM,XJ(A),$.pending!==0)return $.last_flush=-1,d7}if($.status===Iv0)if(A.adler=0,i3($,31),i3($,139),i3($,8),!$.gzhead){if(i3($,0),i3($,0),i3($,0),i3($,0),i3($,0),i3($,$.level===9?2:$.strategy>=Y50||$.level<2?4:0),i3($,Z9A),$.status=TM,XJ(A),$.pending!==0)return $.last_flush=-1,d7}else{if(i3($,($.gzhead.text?1:0)+($.gzhead.hcrc?2:0)+(!$.gzhead.extra?0:4)+(!$.gzhead.name?0:8)+(!$.gzhead.comment?0:16)),i3($,$.gzhead.time&255),i3($,$.gzhead.time>>8&255),i3($,$.gzhead.time>>16&255),i3($,$.gzhead.time>>24&255),i3($,$.level===9?2:$.strategy>=Y50||$.level<2?4:0),i3($,$.gzhead.os&255),$.gzhead.extra&&$.gzhead.extra.length)i3($,$.gzhead.extra.length&255),i3($,$.gzhead.extra.length>>8&255);if($.gzhead.hcrc)A.adler=F7(A.adler,$.pending_buf,$.pending,0);$.gzindex=0,$.status=Yv0}if($.status===Yv0){if($.gzhead.extra){let D=$.pending,J=($.gzhead.extra.length&65535)-$.gzindex;while($.pending+J>$.pending_buf_size){let E=$.pending_buf_size-$.pending;if($.pending_buf.set($.gzhead.extra.subarray($.gzindex,$.gzindex+E),$.pending),$.pending=$.pending_buf_size,$.gzhead.hcrc&&$.pending>D)A.adler=F7(A.adler,$.pending_buf,$.pending-D,D);if($.gzindex+=E,XJ(A),$.pending!==0)return $.last_flush=-1,d7;D=0,J-=E}let F=new Uint8Array($.gzhead.extra);if($.pending_buf.set(F.subarray($.gzindex,$.gzindex+J),$.pending),$.pending+=J,$.gzhead.hcrc&&$.pending>D)A.adler=F7(A.adler,$.pending_buf,$.pending-D,D);$.gzindex=0}$.status=Zv0}if($.status===Zv0){if($.gzhead.name){let D=$.pending,J;do{if($.pending===$.pending_buf_size){if($.gzhead.hcrc&&$.pending>D)A.adler=F7(A.adler,$.pending_buf,$.pending-D,D);if(XJ(A),$.pending!==0)return $.last_flush=-1,d7;D=0}if($.gzindex<$.gzhead.name.length)J=$.gzhead.name.charCodeAt($.gzindex++)&255;else J=0;i3($,J)}while(J!==0);if($.gzhead.hcrc&&$.pending>D)A.adler=F7(A.adler,$.pending_buf,$.pending-D,D);$.gzindex=0}$.status=Uv0}if($.status===Uv0){if($.gzhead.comment){let D=$.pending,J;do{if($.pending===$.pending_buf_size){if($.gzhead.hcrc&&$.pending>D)A.adler=F7(A.adler,$.pending_buf,$.pending-D,D);if(XJ(A),$.pending!==0)return $.last_flush=-1,d7;D=0}if($.gzindex<$.gzhead.comment.length)J=$.gzhead.comment.charCodeAt($.gzindex++)&255;else J=0;i3($,J)}while(J!==0);if($.gzhead.hcrc&&$.pending>D)A.adler=F7(A.adler,$.pending_buf,$.pending-D,D)}$.status=Xv0}if($.status===Xv0){if($.gzhead.hcrc){if($.pending+2>$.pending_buf_size){if(XJ(A),$.pending!==0)return $.last_flush=-1,d7}i3($,A.adler&255),i3($,A.adler>>8&255),A.adler=0}if($.status=TM,XJ(A),$.pending!==0)return $.last_flush=-1,d7}if(A.avail_in!==0||$.lookahead!==0||Q!==dI&&$.status!==em){let D=$.level===0?De1($,Q):$.strategy===Y50?V9A($,Q):$.strategy===o8A?G9A($,Q):Ad[$.level].func($,Q);if(D===SM||D===i_)$.status=em;if(D===S$||D===SM){if(A.avail_out===0)$.last_flush=-1;return d7}if(D===l_){if(Q===c8A)p8A($);else if(Q!==Zt1){if(Fv0($,0,0,!1),Q===l8A){if(hI($.head),$.lookahead===0)$.strstart=0,$.block_start=0,$.insert=0}}if(XJ(A),A.avail_out===0)return $.last_flush=-1,d7}}if(Q!==lF)return d7;if($.wrap<=0)return Ut1;if($.wrap===2)i3($,A.adler&255),i3($,A.adler>>8&255),i3($,A.adler>>16&255),i3($,A.adler>>24&255),i3($,A.total_in&255),i3($,A.total_in>>8&255),i3($,A.total_in>>16&255),i3($,A.total_in>>24&255);else tm($,A.adler>>>16),tm($,A.adler&65535);if(XJ(A),$.wrap>0)$.wrap=-$.wrap;return $.pending!==0?d7:Ut1},q9A=(A)=>{if(Vd(A))return $X;let Q=A.state.status;return A.state=null,Q===TM?vM(A,i8A):d7},N9A=(A,Q)=>{let $=Q.length;if(Vd(A))return $X;let B=A.state,D=B.wrap;if(D===2||D===1&&B.status!==d_||B.lookahead)return $X;if(D===1)A.adler=Yd(A.adler,Q,$,0);if(B.wrap=0,$>=B.w_size){if(D===0)hI(B.head),B.strstart=0,B.block_start=0,B.insert=0;let Y=new Uint8Array(B.w_size);Y.set(Q.subarray($-B.w_size,$),0),Q=Y,$=B.w_size}let{avail_in:J,next_in:F,input:E}=A;A.avail_in=$,A.next_in=0,A.input=Q,p_(B);while(B.lookahead>=D3){let Y=B.strstart,Z=B.lookahead-(D3-1);do B.ins_h=pI(B,B.ins_h,B.window[Y+D3-1]),B.prev[Y&B.w_mask]=B.head[B.ins_h],B.head[B.ins_h]=Y,Y++;while(--Z);B.strstart=Y,B.lookahead=D3-1,p_(B)}return B.strstart+=B.lookahead,B.block_start=B.strstart,B.insert=B.lookahead,B.lookahead=0,B.match_length=B.prev_length=D3-1,B.match_available=0,A.next_in=F,A.input=E,A.avail_in=J,B.wrap=D,d7},C9A,w9A,M9A,L9A,O9A,j9A,R9A,u9A,P9A="pako deflate (from Nodeca project)",$d,_9A=(A,Q)=>{return Object.prototype.hasOwnProperty.call(A,Q)},T9A=function(A){let Q=Array.prototype.slice.call(arguments,1);while(Q.length){let $=Q.shift();if(!$)continue;if(typeof $!=="object")throw TypeError($+"must be non-object");for(let B in $)if(_9A($,B))A[B]=$[B]}return A},v9A=(A)=>{let Q=0;for(let B=0,D=A.length;B<D;B++)Q+=A[B].length;let $=new Uint8Array(Q);for(let B=0,D=0,J=A.length;B<J;B++){let F=A[B];$.set(F,D),D+=F.length}return $},H50,Ye1=!0,Zd,k9A=(A)=>{if(typeof TextEncoder==="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(A);let Q,$,B,D,J,F=A.length,E=0;for(D=0;D<F;D++){if($=A.charCodeAt(D),($&64512)===55296&&D+1<F){if(B=A.charCodeAt(D+1),(B&64512)===56320)$=65536+($-55296<<10)+(B-56320),D++}E+=$<128?1:$<2048?2:$<65536?3:4}Q=new Uint8Array(E);for(J=0,D=0;J<E;D++){if($=A.charCodeAt(D),($&64512)===55296&&D+1<F){if(B=A.charCodeAt(D+1),(B&64512)===56320)$=65536+($-55296<<10)+(B-56320),D++}if($<128)Q[J++]=$;else if($<2048)Q[J++]=192|$>>>6,Q[J++]=128|$&63;else if($<65536)Q[J++]=224|$>>>12,Q[J++]=128|$>>>6&63,Q[J++]=128|$&63;else Q[J++]=240|$>>>18,Q[J++]=128|$>>>12&63,Q[J++]=128|$>>>6&63,Q[J++]=128|$&63}return Q},S9A=(A,Q)=>{if(Q<65534){if(A.subarray&&Ye1)return String.fromCharCode.apply(null,A.length===Q?A:A.subarray(0,Q))}let $="";for(let B=0;B<Q;B++)$+=String.fromCharCode(A[B]);return $},f9A=(A,Q)=>{let $=Q||A.length;if(typeof TextDecoder==="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(A.subarray(0,Q));let B,D,J=Array($*2);for(D=0,B=0;B<$;){let F=A[B++];if(F<128){J[D++]=F;continue}let E=Zd[F];if(E>4){J[D++]=65533,B+=E-1;continue}F&=E===2?31:E===3?15:7;while(E>1&&B<$)F=F<<6|A[B++]&63,E--;if(E>1){J[D++]=65533;continue}if(F<65536)J[D++]=F;else F-=65536,J[D++]=55296|F>>10&1023,J[D++]=56320|F&1023}return S9A(J,D)},y9A=(A,Q)=>{if(Q=Q||A.length,Q>A.length)Q=A.length;let $=Q-1;while($>=0&&(A[$]&192)===128)$--;if($<0)return Q;if($===0)return Q;return $+Zd[A[$]]>Q?$:Q},Ud,Ze1,Ue1,b9A,h9A,g9A,m9A,z50,d9A,p9A,c9A,l9A,a9A,o9A,r9A,s9A,t9A,e9A,Z50=16209,A7A=16191,Q7A=function(Q,$){let B,D,J,F,E,Y,Z,U,X,G,V,K,z,W,I,H,q,N,C,O,L,j,k,_,S=Q.state;B=Q.next_in,k=Q.input,D=B+(Q.avail_in-5),J=Q.next_out,_=Q.output,F=J-($-Q.avail_out),E=J+(Q.avail_out-257),Y=S.dmax,Z=S.wsize,U=S.whave,X=S.wnext,G=S.window,V=S.hold,K=S.bits,z=S.lencode,W=S.distcode,I=(1<<S.lenbits)-1,H=(1<<S.distbits)-1;A:do{if(K<15)V+=k[B++]<<K,K+=8,V+=k[B++]<<K,K+=8;q=z[V&I];Q:for(;;){if(N=q>>>24,V>>>=N,K-=N,N=q>>>16&255,N===0)_[J++]=q&65535;else if(N&16){if(C=q&65535,N&=15,N){if(K<N)V+=k[B++]<<K,K+=8;C+=V&(1<<N)-1,V>>>=N,K-=N}if(K<15)V+=k[B++]<<K,K+=8,V+=k[B++]<<K,K+=8;q=W[V&H];$:for(;;){if(N=q>>>24,V>>>=N,K-=N,N=q>>>16&255,N&16){if(O=q&65535,N&=15,K<N){if(V+=k[B++]<<K,K+=8,K<N)V+=k[B++]<<K,K+=8}if(O+=V&(1<<N)-1,O>Y){Q.msg="invalid distance too far back",S.mode=Z50;break A}if(V>>>=N,K-=N,N=J-F,O>N){if(N=O-N,N>U){if(S.sane){Q.msg="invalid distance too far back",S.mode=Z50;break A}}if(L=0,j=G,X===0){if(L+=Z-N,N<C){C-=N;do _[J++]=G[L++];while(--N);L=J-O,j=_}}else if(X<N){if(L+=Z+X-N,N-=X,N<C){C-=N;do _[J++]=G[L++];while(--N);if(L=0,X<C){N=X,C-=N;do _[J++]=G[L++];while(--N);L=J-O,j=_}}}else if(L+=X-N,N<C){C-=N;do _[J++]=G[L++];while(--N);L=J-O,j=_}while(C>2)_[J++]=j[L++],_[J++]=j[L++],_[J++]=j[L++],C-=3;if(C){if(_[J++]=j[L++],C>1)_[J++]=j[L++]}}else{L=J-O;do _[J++]=_[L++],_[J++]=_[L++],_[J++]=_[L++],C-=3;while(C>2);if(C){if(_[J++]=_[L++],C>1)_[J++]=_[L++]}}}else if((N&64)===0){q=W[(q&65535)+(V&(1<<N)-1)];continue $}else{Q.msg="invalid distance code",S.mode=Z50;break A}break}}else if((N&64)===0){q=z[(q&65535)+(V&(1<<N)-1)];continue Q}else if(N&32){S.mode=A7A;break A}else{Q.msg="invalid literal/length code",S.mode=Z50;break A}break}}while(B<D&&J<E);C=K>>3,B-=C,K-=C<<3,V&=(1<<K)-1,Q.next_in=B,Q.next_out=J,Q.avail_in=B<D?5+(D-B):5-(B-D),Q.avail_out=J<E?257+(E-J):257-(J-E),S.hold=V,S.bits=K;return},g_=15,Gt1=852,Vt1=592,Kt1=0,rT0=1,zt1=2,$7A,B7A,D7A,J7A,F7A=(A,Q,$,B,D,J,F,E)=>{let Y=E.bits,Z=0,U=0,X=0,G=0,V=0,K=0,z=0,W=0,I=0,H=0,q,N,C,O,L,j=null,k,_=new Uint16Array(g_+1),S=new Uint16Array(g_+1),h=null,b,v,y;for(Z=0;Z<=g_;Z++)_[Z]=0;for(U=0;U<B;U++)_[Q[$+U]]++;V=Y;for(G=g_;G>=1;G--)if(_[G]!==0)break;if(V>G)V=G;if(G===0)return D[J++]=20971520,D[J++]=20971520,E.bits=1,0;for(X=1;X<G;X++)if(_[X]!==0)break;if(V<X)V=X;W=1;for(Z=1;Z<=g_;Z++)if(W<<=1,W-=_[Z],W<0)return-1;if(W>0&&(A===Kt1||G!==1))return-1;S[1]=0;for(Z=1;Z<g_;Z++)S[Z+1]=S[Z]+_[Z];for(U=0;U<B;U++)if(Q[$+U]!==0)F[S[Q[$+U]]++]=U;if(A===Kt1)j=h=F,k=20;else if(A===rT0)j=$7A,h=B7A,k=257;else j=D7A,h=J7A,k=0;if(H=0,U=0,Z=X,L=J,K=V,z=0,C=-1,I=1<<V,O=I-1,A===rT0&&I>Gt1||A===zt1&&I>Vt1)return 1;for(;;){if(b=Z-z,F[U]+1<k)v=0,y=F[U];else if(F[U]>=k)v=h[F[U]-k],y=j[F[U]-k];else v=96,y=0;q=1<<Z-z,N=1<<K,X=N;do N-=q,D[L+(H>>z)+N]=b<<24|v<<16|y|0;while(N!==0);q=1<<Z-1;while(H&q)q>>=1;if(q!==0)H&=q-1,H+=q;else H=0;if(U++,--_[Z]===0){if(Z===G)break;Z=Q[$+F[U]]}if(Z>V&&(H&O)!==C){if(z===0)z=V;L+=X,K=Z-z,W=1<<K;while(K+z<G){if(W-=_[K+z],W<=0)break;K++,W<<=1}if(I+=1<<K,A===rT0&&I>Gt1||A===zt1&&I>Vt1)return 1;C=H&O,D[C]=V<<24|K<<16|L-J|0}}if(H!==0)D[L+H]=Z-z<<24|4194304|0;return E.bits=V,0},Bd,E7A=0,Xe1=1,Ge1=2,Wt1,Y7A,U50,fM,Z7A,U7A,iF,Ve1,Ke1,X7A,It1,q50=16180,Ht1=16181,qt1=16182,Nt1=16183,Ct1=16184,wt1=16185,Mt1=16186,Lt1=16187,Ot1=16188,jt1=16189,W50=16190,tV=16191,sT0=16192,Rt1=16193,tT0=16194,ut1=16195,Pt1=16196,_t1=16197,Tt1=16198,X50=16199,G50=16200,vt1=16201,kt1=16202,St1=16203,ft1=16204,yt1=16205,eT0=16206,xt1=16207,bt1=16208,q2=16209,ze1=16210,We1=16211,G7A=852,V7A=592,K7A=15,z7A,ht1=(A)=>{return(A>>>24&255)+(A>>>8&65280)+((A&65280)<<8)+((A&255)<<24)},xM=(A)=>{if(!A)return 1;let Q=A.state;if(!Q||Q.strm!==A||Q.mode<q50||Q.mode>We1)return 1;return 0},Ie1=(A)=>{if(xM(A))return iF;let Q=A.state;if(A.total_in=A.total_out=Q.total=0,A.msg="",Q.wrap)A.adler=Q.wrap&1;return Q.mode=q50,Q.last=0,Q.havedict=0,Q.flags=-1,Q.dmax=32768,Q.head=null,Q.hold=0,Q.bits=0,Q.lencode=Q.lendyn=new Int32Array(G7A),Q.distcode=Q.distdyn=new Int32Array(V7A),Q.sane=1,Q.back=-1,fM},He1=(A)=>{if(xM(A))return iF;let Q=A.state;return Q.wsize=0,Q.whave=0,Q.wnext=0,Ie1(A)},qe1=(A,Q)=>{let $;if(xM(A))return iF;let B=A.state;if(Q<0)$=0,Q=-Q;else if($=(Q>>4)+5,Q<48)Q&=15;if(Q&&(Q<8||Q>15))return iF;if(B.window!==null&&B.wbits!==Q)B.window=null;return B.wrap=$,B.wbits=Q,He1(A)},Ne1=(A,Q)=>{if(!A)return iF;let $=new W7A;A.state=$,$.strm=A,$.window=null,$.mode=q50;let B=qe1(A,Q);if(B!==fM)A.state=null;return B},I7A=(A)=>{return Ne1(A,z7A)},gt1=!0,Av0,Qv0,H7A=(A)=>{if(gt1){Av0=new Int32Array(512),Qv0=new Int32Array(32);let Q=0;while(Q<144)A.lens[Q++]=8;while(Q<256)A.lens[Q++]=9;while(Q<280)A.lens[Q++]=7;while(Q<288)A.lens[Q++]=8;Bd(Xe1,A.lens,0,288,Av0,0,A.work,{bits:9}),Q=0;while(Q<32)A.lens[Q++]=5;Bd(Ge1,A.lens,0,32,Qv0,0,A.work,{bits:5}),gt1=!1}A.lencode=Av0,A.lenbits=9,A.distcode=Qv0,A.distbits=5},Ce1=(A,Q,$,B)=>{let D,J=A.state;if(J.window===null)J.wsize=1<<J.wbits,J.wnext=0,J.whave=0,J.window=new Uint8Array(J.wsize);if(B>=J.wsize)J.window.set(Q.subarray($-J.wsize,$),0),J.wnext=0,J.whave=J.wsize;else{if(D=J.wsize-J.wnext,D>B)D=B;if(J.window.set(Q.subarray($-B,$-B+D),J.wnext),B-=D,B)J.window.set(Q.subarray($-B,$),0),J.wnext=B,J.whave=J.wsize;else{if(J.wnext+=D,J.wnext===J.wsize)J.wnext=0;if(J.whave<J.wsize)J.whave+=D}}return 0},q7A=(A,Q)=>{let $,B,D,J,F,E,Y,Z,U,X,G,V,K,z,W=0,I,H,q,N,C,O,L,j,k=new Uint8Array(4),_,S,h=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(xM(A)||!A.output||!A.input&&A.avail_in!==0)return iF;if($=A.state,$.mode===tV)$.mode=sT0;F=A.next_out,D=A.output,Y=A.avail_out,J=A.next_in,B=A.input,E=A.avail_in,Z=$.hold,U=$.bits,X=E,G=Y,j=fM;A:for(;;)switch($.mode){case q50:if($.wrap===0){$.mode=sT0;break}while(U<16){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}if($.wrap&2&&Z===35615){if($.wbits===0)$.wbits=15;$.check=0,k[0]=Z&255,k[1]=Z>>>8&255,$.check=F7($.check,k,2,0),Z=0,U=0,$.mode=Ht1;break}if($.head)$.head.done=!1;if(!($.wrap&1)||(((Z&255)<<8)+(Z>>8))%31){A.msg="incorrect header check",$.mode=q2;break}if((Z&15)!==It1){A.msg="unknown compression method",$.mode=q2;break}if(Z>>>=4,U-=4,L=(Z&15)+8,$.wbits===0)$.wbits=L;if(L>15||L>$.wbits){A.msg="invalid window size",$.mode=q2;break}$.dmax=1<<$.wbits,$.flags=0,A.adler=$.check=1,$.mode=Z&512?jt1:tV,Z=0,U=0;break;case Ht1:while(U<16){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}if($.flags=Z,($.flags&255)!==It1){A.msg="unknown compression method",$.mode=q2;break}if($.flags&57344){A.msg="unknown header flags set",$.mode=q2;break}if($.head)$.head.text=Z>>8&1;if($.flags&512&&$.wrap&4)k[0]=Z&255,k[1]=Z>>>8&255,$.check=F7($.check,k,2,0);Z=0,U=0,$.mode=qt1;case qt1:while(U<32){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}if($.head)$.head.time=Z;if($.flags&512&&$.wrap&4)k[0]=Z&255,k[1]=Z>>>8&255,k[2]=Z>>>16&255,k[3]=Z>>>24&255,$.check=F7($.check,k,4,0);Z=0,U=0,$.mode=Nt1;case Nt1:while(U<16){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}if($.head)$.head.xflags=Z&255,$.head.os=Z>>8;if($.flags&512&&$.wrap&4)k[0]=Z&255,k[1]=Z>>>8&255,$.check=F7($.check,k,2,0);Z=0,U=0,$.mode=Ct1;case Ct1:if($.flags&1024){while(U<16){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}if($.length=Z,$.head)$.head.extra_len=Z;if($.flags&512&&$.wrap&4)k[0]=Z&255,k[1]=Z>>>8&255,$.check=F7($.check,k,2,0);Z=0,U=0}else if($.head)$.head.extra=null;$.mode=wt1;case wt1:if($.flags&1024){if(V=$.length,V>E)V=E;if(V){if($.head){if(L=$.head.extra_len-$.length,!$.head.extra)$.head.extra=new Uint8Array($.head.extra_len);$.head.extra.set(B.subarray(J,J+V),L)}if($.flags&512&&$.wrap&4)$.check=F7($.check,B,V,J);E-=V,J+=V,$.length-=V}if($.length)break A}$.length=0,$.mode=Mt1;case Mt1:if($.flags&2048){if(E===0)break A;V=0;do if(L=B[J+V++],$.head&&L&&$.length<65536)$.head.name+=String.fromCharCode(L);while(L&&V<E);if($.flags&512&&$.wrap&4)$.check=F7($.check,B,V,J);if(E-=V,J+=V,L)break A}else if($.head)$.head.name=null;$.length=0,$.mode=Lt1;case Lt1:if($.flags&4096){if(E===0)break A;V=0;do if(L=B[J+V++],$.head&&L&&$.length<65536)$.head.comment+=String.fromCharCode(L);while(L&&V<E);if($.flags&512&&$.wrap&4)$.check=F7($.check,B,V,J);if(E-=V,J+=V,L)break A}else if($.head)$.head.comment=null;$.mode=Ot1;case Ot1:if($.flags&512){while(U<16){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}if($.wrap&4&&Z!==($.check&65535)){A.msg="header crc mismatch",$.mode=q2;break}Z=0,U=0}if($.head)$.head.hcrc=$.flags>>9&1,$.head.done=!0;A.adler=$.check=0,$.mode=tV;break;case jt1:while(U<32){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}A.adler=$.check=ht1(Z),Z=0,U=0,$.mode=W50;case W50:if($.havedict===0)return A.next_out=F,A.avail_out=Y,A.next_in=J,A.avail_in=E,$.hold=Z,$.bits=U,U7A;A.adler=$.check=1,$.mode=tV;case tV:if(Q===Y7A||Q===U50)break A;case sT0:if($.last){Z>>>=U&7,U-=U&7,$.mode=eT0;break}while(U<3){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}switch($.last=Z&1,Z>>>=1,U-=1,Z&3){case 0:$.mode=Rt1;break;case 1:if(H7A($),$.mode=X50,Q===U50){Z>>>=2,U-=2;break A}break;case 2:$.mode=Pt1;break;case 3:A.msg="invalid block type",$.mode=q2}Z>>>=2,U-=2;break;case Rt1:Z>>>=U&7,U-=U&7;while(U<32){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}if((Z&65535)!==(Z>>>16^65535)){A.msg="invalid stored block lengths",$.mode=q2;break}if($.length=Z&65535,Z=0,U=0,$.mode=tT0,Q===U50)break A;case tT0:$.mode=ut1;case ut1:if(V=$.length,V){if(V>E)V=E;if(V>Y)V=Y;if(V===0)break A;D.set(B.subarray(J,J+V),F),E-=V,J+=V,Y-=V,F+=V,$.length-=V;break}$.mode=tV;break;case Pt1:while(U<14){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}if($.nlen=(Z&31)+257,Z>>>=5,U-=5,$.ndist=(Z&31)+1,Z>>>=5,U-=5,$.ncode=(Z&15)+4,Z>>>=4,U-=4,$.nlen>286||$.ndist>30){A.msg="too many length or distance symbols",$.mode=q2;break}$.have=0,$.mode=_t1;case _t1:while($.have<$.ncode){while(U<3){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}$.lens[h[$.have++]]=Z&7,Z>>>=3,U-=3}while($.have<19)$.lens[h[$.have++]]=0;if($.lencode=$.lendyn,$.lenbits=7,_={bits:$.lenbits},j=Bd(E7A,$.lens,0,19,$.lencode,0,$.work,_),$.lenbits=_.bits,j){A.msg="invalid code lengths set",$.mode=q2;break}$.have=0,$.mode=Tt1;case Tt1:while($.have<$.nlen+$.ndist){for(;;){if(W=$.lencode[Z&(1<<$.lenbits)-1],I=W>>>24,H=W>>>16&255,q=W&65535,I<=U)break;if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}if(q<16)Z>>>=I,U-=I,$.lens[$.have++]=q;else{if(q===16){S=I+2;while(U<S){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}if(Z>>>=I,U-=I,$.have===0){A.msg="invalid bit length repeat",$.mode=q2;break}L=$.lens[$.have-1],V=3+(Z&3),Z>>>=2,U-=2}else if(q===17){S=I+3;while(U<S){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}Z>>>=I,U-=I,L=0,V=3+(Z&7),Z>>>=3,U-=3}else{S=I+7;while(U<S){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}Z>>>=I,U-=I,L=0,V=11+(Z&127),Z>>>=7,U-=7}if($.have+V>$.nlen+$.ndist){A.msg="invalid bit length repeat",$.mode=q2;break}while(V--)$.lens[$.have++]=L}}if($.mode===q2)break;if($.lens[256]===0){A.msg="invalid code -- missing end-of-block",$.mode=q2;break}if($.lenbits=9,_={bits:$.lenbits},j=Bd(Xe1,$.lens,0,$.nlen,$.lencode,0,$.work,_),$.lenbits=_.bits,j){A.msg="invalid literal/lengths set",$.mode=q2;break}if($.distbits=6,$.distcode=$.distdyn,_={bits:$.distbits},j=Bd(Ge1,$.lens,$.nlen,$.ndist,$.distcode,0,$.work,_),$.distbits=_.bits,j){A.msg="invalid distances set",$.mode=q2;break}if($.mode=X50,Q===U50)break A;case X50:$.mode=G50;case G50:if(E>=6&&Y>=258){if(A.next_out=F,A.avail_out=Y,A.next_in=J,A.avail_in=E,$.hold=Z,$.bits=U,Q7A(A,G),F=A.next_out,D=A.output,Y=A.avail_out,J=A.next_in,B=A.input,E=A.avail_in,Z=$.hold,U=$.bits,$.mode===tV)$.back=-1;break}$.back=0;for(;;){if(W=$.lencode[Z&(1<<$.lenbits)-1],I=W>>>24,H=W>>>16&255,q=W&65535,I<=U)break;if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}if(H&&(H&240)===0){N=I,C=H,O=q;for(;;){if(W=$.lencode[O+((Z&(1<<N+C)-1)>>N)],I=W>>>24,H=W>>>16&255,q=W&65535,N+I<=U)break;if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}Z>>>=N,U-=N,$.back+=N}if(Z>>>=I,U-=I,$.back+=I,$.length=q,H===0){$.mode=yt1;break}if(H&32){$.back=-1,$.mode=tV;break}if(H&64){A.msg="invalid literal/length code",$.mode=q2;break}$.extra=H&15,$.mode=vt1;case vt1:if($.extra){S=$.extra;while(U<S){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}$.length+=Z&(1<<$.extra)-1,Z>>>=$.extra,U-=$.extra,$.back+=$.extra}$.was=$.length,$.mode=kt1;case kt1:for(;;){if(W=$.distcode[Z&(1<<$.distbits)-1],I=W>>>24,H=W>>>16&255,q=W&65535,I<=U)break;if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}if((H&240)===0){N=I,C=H,O=q;for(;;){if(W=$.distcode[O+((Z&(1<<N+C)-1)>>N)],I=W>>>24,H=W>>>16&255,q=W&65535,N+I<=U)break;if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}Z>>>=N,U-=N,$.back+=N}if(Z>>>=I,U-=I,$.back+=I,H&64){A.msg="invalid distance code",$.mode=q2;break}$.offset=q,$.extra=H&15,$.mode=St1;case St1:if($.extra){S=$.extra;while(U<S){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}$.offset+=Z&(1<<$.extra)-1,Z>>>=$.extra,U-=$.extra,$.back+=$.extra}if($.offset>$.dmax){A.msg="invalid distance too far back",$.mode=q2;break}$.mode=ft1;case ft1:if(Y===0)break A;if(V=G-Y,$.offset>V){if(V=$.offset-V,V>$.whave){if($.sane){A.msg="invalid distance too far back",$.mode=q2;break}}if(V>$.wnext)V-=$.wnext,K=$.wsize-V;else K=$.wnext-V;if(V>$.length)V=$.length;z=$.window}else z=D,K=F-$.offset,V=$.length;if(V>Y)V=Y;Y-=V,$.length-=V;do D[F++]=z[K++];while(--V);if($.length===0)$.mode=G50;break;case yt1:if(Y===0)break A;D[F++]=$.length,Y--,$.mode=G50;break;case eT0:if($.wrap){while(U<32){if(E===0)break A;E--,Z|=B[J++]<<U,U+=8}if(G-=Y,A.total_out+=G,$.total+=G,$.wrap&4&&G)A.adler=$.check=$.flags?F7($.check,D,G,F-G):Yd($.check,D,G,F-G);if(G=Y,$.wrap&4&&($.flags?Z:ht1(Z))!==$.check){A.msg="incorrect data check",$.mode=q2;break}Z=0,U=0}$.mode=xt1;case xt1:if($.wrap&&$.flags){while(U<32){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}if($.wrap&4&&Z!==($.total&4294967295)){A.msg="incorrect length check",$.mode=q2;break}Z=0,U=0}$.mode=bt1;case bt1:j=Z7A;break A;case q2:j=Ve1;break A;case ze1:return Ke1;case We1:default:return iF}if(A.next_out=F,A.avail_out=Y,A.next_in=J,A.avail_in=E,$.hold=Z,$.bits=U,$.wsize||G!==A.avail_out&&$.mode<q2&&($.mode<eT0||Q!==Wt1)){if(Ce1(A,A.output,A.next_out,G-A.avail_out));}if(X-=A.avail_in,G-=A.avail_out,A.total_in+=X,A.total_out+=G,$.total+=G,$.wrap&4&&G)A.adler=$.check=$.flags?F7($.check,D,G,A.next_out-G):Yd($.check,D,G,A.next_out-G);if(A.data_type=$.bits+($.last?64:0)+($.mode===tV?128:0)+($.mode===X50||$.mode===tT0?256:0),(X===0&&G===0||Q===Wt1)&&j===fM)j=X7A;return j},N7A=(A)=>{if(xM(A))return iF;let Q=A.state;if(Q.window)Q.window=null;return A.state=null,fM},C7A=(A,Q)=>{if(xM(A))return iF;let $=A.state;if(($.wrap&2)===0)return iF;return $.head=Q,Q.done=!1,fM},w7A=(A,Q)=>{let $=Q.length,B,D,J;if(xM(A))return iF;if(B=A.state,B.wrap!==0&&B.mode!==W50)return iF;if(B.mode===W50){if(D=1,D=Yd(D,Q,$,0),D!==B.check)return Ve1}if(J=Ce1(A,Q,$,$),J)return B.mode=ze1,Ke1;return B.havedict=1,fM},M7A,L7A,O7A,j7A,R7A,u7A,P7A,_7A,T7A,v7A="pako inflate (from Nodeca project)",AK,S7A,we1,f7A,y7A,Xd,$v0,Bv0,x7A,mt1,b7A,g7A,m7A,d7A,p7A,c7A,l7A,i7A,n7A,a7A,o7A,r7A,s7A,t7A,e7A,AQA,QQA,$QA,BQA,DQA,JQA,FQA,EQA,YQA,Me1;var Le1=r(()=>{/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */Dd=Gd+1+Vv0,pt1=2*Dd+1,Dv0=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),V50=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),q8A=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),nt1=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),eV=Array((Dd+2)*2);c_(eV);Qd=Array(m_*2);c_(Qd);Jd=Array(N8A);c_(Jd);Fd=Array(I8A-W8A+1);c_(Fd);Wv0=Array(Vv0);c_(Wv0);K50=Array(m_);c_(K50);T8A=R8A,v8A=$e1,k8A=P8A,S8A=_8A,f8A=u8A,y8A={_tr_init:T8A,_tr_stored_block:v8A,_tr_flush_block:k8A,_tr_tally:S8A,_tr_align:f8A},Yd=x8A,h8A=new Uint32Array(b8A()),F7=g8A,kM={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},yM={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:m8A,_tr_stored_block:Fv0,_tr_flush_block:d8A,_tr_tally:mI,_tr_align:p8A}=y8A,{Z_NO_FLUSH:dI,Z_PARTIAL_FLUSH:c8A,Z_FULL_FLUSH:l8A,Z_FINISH:lF,Z_BLOCK:Zt1,Z_OK:d7,Z_STREAM_END:Ut1,Z_STREAM_ERROR:$X,Z_DATA_ERROR:i8A,Z_BUF_ERROR:aT0,Z_DEFAULT_COMPRESSION:n8A,Z_FILTERED:a8A,Z_HUFFMAN_ONLY:Y50,Z_RLE:o8A,Z_FIXED:r8A,Z_DEFAULT_STRATEGY:s8A,Z_UNKNOWN:t8A,Z_DEFLATED:I50}=yM,Ev0=B9A+1+$9A,F9A=2*Ev0+1,BX=gI+D3+1,pI=X9A;Ad=[new AX(0,0,0,0,De1),new AX(4,4,8,4,oT0),new AX(4,5,16,8,oT0),new AX(4,6,32,32,oT0),new AX(4,4,16,16,h_),new AX(8,16,32,32,h_),new AX(8,16,128,128,h_),new AX(8,32,128,256,h_),new AX(32,128,258,1024,h_),new AX(32,258,258,4096,h_)];C9A=I9A,w9A=Ee1,M9A=Fe1,L9A=Je1,O9A=W9A,j9A=H9A,R9A=q9A,u9A=N9A,$d={deflateInit:C9A,deflateInit2:w9A,deflateReset:M9A,deflateResetKeep:L9A,deflateSetHeader:O9A,deflate:j9A,deflateEnd:R9A,deflateSetDictionary:u9A,deflateInfo:P9A},H50={assign:T9A,flattenChunks:v9A};try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(A){Ye1=!1}Zd=new Uint8Array(256);for(let A=0;A<256;A++)Zd[A]=A>=252?6:A>=248?5:A>=240?4:A>=224?3:A>=192?2:1;Zd[254]=Zd[254]=1;Ud={string2buf:k9A,buf2string:f9A,utf8border:y9A};Ze1=x9A,Ue1=Object.prototype.toString,{Z_NO_FLUSH:b9A,Z_SYNC_FLUSH:h9A,Z_FULL_FLUSH:g9A,Z_FINISH:m9A,Z_OK:z50,Z_STREAM_END:d9A,Z_DEFAULT_COMPRESSION:p9A,Z_DEFAULT_STRATEGY:c9A,Z_DEFLATED:l9A}=yM;Kd.prototype.push=function(A,Q){let $=this.strm,B=this.options.chunkSize,D,J;if(this.ended)return!1;if(Q===~~Q)J=Q;else J=Q===!0?m9A:b9A;if(typeof A==="string")$.input=Ud.string2buf(A);else if(Ue1.call(A)==="[object ArrayBuffer]")$.input=new Uint8Array(A);else $.input=A;$.next_in=0,$.avail_in=$.input.length;for(;;){if($.avail_out===0)$.output=new Uint8Array(B),$.next_out=0,$.avail_out=B;if((J===h9A||J===g9A)&&$.avail_out<=6){this.onData($.output.subarray(0,$.next_out)),$.avail_out=0;continue}if(D=$d.deflate($,J),D===d9A){if($.next_out>0)this.onData($.output.subarray(0,$.next_out));return D=$d.deflateEnd(this.strm),this.onEnd(D),this.ended=!0,D===z50}if($.avail_out===0){this.onData($.output);continue}if(J>0&&$.next_out>0){this.onData($.output.subarray(0,$.next_out)),$.avail_out=0;continue}if($.avail_in===0)break}return!0};Kd.prototype.onData=function(A){this.chunks.push(A)};Kd.prototype.onEnd=function(A){if(A===z50)this.result=H50.flattenChunks(this.chunks);this.chunks=[],this.err=A,this.msg=this.strm.msg};a9A=Kd,o9A=Hv0,r9A=i9A,s9A=n9A,t9A=yM,e9A={Deflate:a9A,deflate:o9A,deflateRaw:r9A,gzip:s9A,constants:t9A},$7A=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),B7A=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),D7A=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),J7A=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),Bd=F7A,{Z_FINISH:Wt1,Z_BLOCK:Y7A,Z_TREES:U50,Z_OK:fM,Z_STREAM_END:Z7A,Z_NEED_DICT:U7A,Z_STREAM_ERROR:iF,Z_DATA_ERROR:Ve1,Z_MEM_ERROR:Ke1,Z_BUF_ERROR:X7A,Z_DEFLATED:It1}=yM,z7A=K7A;M7A=He1,L7A=qe1,O7A=Ie1,j7A=I7A,R7A=Ne1,u7A=q7A,P7A=N7A,_7A=C7A,T7A=w7A,AK={inflateReset:M7A,inflateReset2:L7A,inflateResetKeep:O7A,inflateInit:j7A,inflateInit2:R7A,inflate:u7A,inflateEnd:P7A,inflateGetHeader:_7A,inflateSetDictionary:T7A,inflateInfo:v7A};S7A=k7A,we1=Object.prototype.toString,{Z_NO_FLUSH:f7A,Z_FINISH:y7A,Z_OK:Xd,Z_STREAM_END:$v0,Z_NEED_DICT:Bv0,Z_STREAM_ERROR:x7A,Z_DATA_ERROR:mt1,Z_MEM_ERROR:b7A}=yM;zd.prototype.push=function(A,Q){let $=this.strm,B=this.options.chunkSize,D=this.options.dictionary,J,F,E;if(this.ended)return!1;if(Q===~~Q)F=Q;else F=Q===!0?y7A:f7A;if(we1.call(A)==="[object ArrayBuffer]")$.input=new Uint8Array(A);else $.input=A;$.next_in=0,$.avail_in=$.input.length;for(;;){if($.avail_out===0)$.output=new Uint8Array(B),$.next_out=0,$.avail_out=B;if(J=AK.inflate($,F),J===Bv0&&D){if(J=AK.inflateSetDictionary($,D),J===Xd)J=AK.inflate($,F);else if(J===mt1)J=Bv0}while($.avail_in>0&&J===$v0&&$.state.wrap>0&&A[$.next_in]!==0)AK.inflateReset($),J=AK.inflate($,F);switch(J){case x7A:case mt1:case Bv0:case b7A:return this.onEnd(J),this.ended=!0,!1}if(E=$.avail_out,$.next_out){if($.avail_out===0||J===$v0)if(this.options.to==="string"){let Y=Ud.utf8border($.output,$.next_out),Z=$.next_out-Y,U=Ud.buf2string($.output,Y);if($.next_out=Z,$.avail_out=B-Z,Z)$.output.set($.output.subarray(Y,Y+Z),0);this.onData(U)}else this.onData($.output.length===$.next_out?$.output:$.output.subarray(0,$.next_out))}if(J===Xd&&E===0)continue;if(J===$v0)return J=AK.inflateEnd(this.strm),this.onEnd(J),this.ended=!0,!0;if($.avail_in===0)break}return!0};zd.prototype.onData=function(A){this.chunks.push(A)};zd.prototype.onEnd=function(A){if(A===Xd)if(this.options.to==="string")this.result=this.chunks.join("");else this.result=H50.flattenChunks(this.chunks);this.chunks=[],this.err=A,this.msg=this.strm.msg};g7A=zd,m7A=qv0,d7A=h7A,p7A=qv0,c7A=yM,l7A={Inflate:g7A,inflate:m7A,inflateRaw:d7A,ungzip:p7A,constants:c7A},{Deflate:i7A,deflate:n7A,deflateRaw:a7A,gzip:o7A}=e9A,{Inflate:r7A,inflate:s7A,inflateRaw:t7A,ungzip:e7A}=l7A,AQA=i7A,QQA=n7A,$QA=a7A,BQA=o7A,DQA=r7A,JQA=s7A,FQA=t7A,EQA=e7A,YQA=yM,Me1={Deflate:AQA,deflate:QQA,deflateRaw:$QA,gzip:BQA,Inflate:DQA,inflate:JQA,inflateRaw:FQA,ungzip:EQA,constants:YQA}});import{randomFillSync as ZQA}from"crypto";function w50(){if(N50>C50.length-16)ZQA(C50),N50=0;return C50.slice(N50,N50+=16)}var C50,N50;var Oe1=r(()=>{C50=new Uint8Array(256),N50=C50.length});function je1(A,Q=0){return(p7[A[Q+0]]+p7[A[Q+1]]+p7[A[Q+2]]+p7[A[Q+3]]+"-"+p7[A[Q+4]]+p7[A[Q+5]]+"-"+p7[A[Q+6]]+p7[A[Q+7]]+"-"+p7[A[Q+8]]+p7[A[Q+9]]+"-"+p7[A[Q+10]]+p7[A[Q+11]]+p7[A[Q+12]]+p7[A[Q+13]]+p7[A[Q+14]]+p7[A[Q+15]]).toLowerCase()}var p7;var Re1=r(()=>{p7=[];for(let A=0;A<256;++A)p7.push((A+256).toString(16).slice(1))});function UQA(A,Q,$){let B;if(A)B=ue1(A.random??A.rng?.()??w50(),A.msecs,A.seq,Q,$);else{let D=Date.now(),J=w50();XQA(Nv0,D,J),B=ue1(J,Nv0.msecs,Nv0.seq,Q,$)}return Q??je1(B)}function XQA(A,Q,$){if(A.msecs??=-1/0,A.seq??=0,Q>A.msecs)A.seq=$[6]<<23|$[7]<<16|$[8]<<8|$[9],A.msecs=Q;else if(A.seq=A.seq+1|0,A.seq===0)A.msecs++;return A}function ue1(A,Q,$,B,D=0){if(A.length<16)throw Error("Random bytes length must be >= 16");if(!B)B=new Uint8Array(16),D=0;else if(D<0||D+16>B.length)throw RangeError(`UUID byte range ${D}:${D+15} is out of buffer bounds`);return Q??=Date.now(),$??=A[6]*127<<24|A[7]<<16|A[8]<<8|A[9],B[D++]=Q/1099511627776&255,B[D++]=Q/4294967296&255,B[D++]=Q/16777216&255,B[D++]=Q/65536&255,B[D++]=Q/256&255,B[D++]=Q&255,B[D++]=112|$>>>28&15,B[D++]=$>>>20&255,B[D++]=128|$>>>14&63,B[D++]=$>>>6&255,B[D++]=$<<2&255|A[10]&3,B[D++]=A[11],B[D++]=A[12],B[D++]=A[13],B[D++]=A[14],B[D++]=A[15],B}var Nv0,n_;var Pe1=r(()=>{Oe1();Re1();Nv0={};n_=UQA});var Cv0=r(()=>{Pe1()});function GQA(A){let Q=0,$=[];while(Q<A.length){let B=A[Q];if(B==="\\"){Q++;continue}if(B==="{"){$.push({type:"brace",value:"{"}),Q++;continue}if(B==="}"){$.push({type:"brace",value:"}"}),Q++;continue}if(B==="["){$.push({type:"paren",value:"["}),Q++;continue}if(B==="]"){$.push({type:"paren",value:"]"}),Q++;continue}if(B===":"){$.push({type:"separator",value:":"}),Q++;continue}if(B===","){$.push({type:"delimiter",value:","}),Q++;continue}if(B==='"'){let E="",Y=!1;B=A[++Q];while(B!=='"'){if(Q===A.length){Y=!0;break}if(B==="\\"){if(Q++,Q===A.length){Y=!0;break}E+=B+A[Q],B=A[++Q]}else E+=B,B=A[++Q]}if(B=A[++Q],!Y)$.push({type:"string",value:E});continue}if(B&&/\s/.test(B)){Q++;continue}let J=/[0-9]/;if(B&&J.test(B)||B==="-"||B==="."){let E="";if(B==="-")E+=B,B=A[++Q];while(B&&J.test(B)||B===".")E+=B,B=A[++Q];$.push({type:"number",value:E});continue}let F=/[a-z]/i;if(B&&F.test(B)){let E="";while(B&&F.test(B)){if(Q===A.length)break;E+=B,B=A[++Q]}if(E==="true"||E==="false"||E==="null")$.push({type:"name",value:E});else{Q++;continue}continue}Q++}return $}function a_(A){if(A.length===0)return A;let Q=A[A.length-1];if(!Q)return A;switch(Q.type){case"separator":return a_(A.slice(0,A.length-1));case"number":{let $=Q.value[Q.value.length-1];if($==="."||$==="-")return a_(A.slice(0,A.length-1));break}case"string":{let $=A[A.length-2];if($?.type==="delimiter")return a_(A.slice(0,A.length-1));else if($?.type==="brace"&&$.value==="{")return a_(A.slice(0,A.length-1));break}case"delimiter":return a_(A.slice(0,A.length-1))}return A}function VQA(A){let Q=[];for(let $ of A){if($.type==="brace")if($.value==="{")Q.push("}");else{let B=Q.lastIndexOf("}");if(B!==-1)Q.splice(B,1)}if($.type==="paren")if($.value==="[")Q.push("]");else{let B=Q.lastIndexOf("]");if(B!==-1)Q.splice(B,1)}}if(Q.length>0){Q.reverse();for(let $ of Q)if($==="}")A.push({type:"brace",value:"}"});else if($==="]")A.push({type:"paren",value:"]"})}return A}function KQA(A){let Q="";for(let $ of A)switch($.type){case"string":Q+='"'+$.value+'"';break;default:Q+=$.value;break}return Q}function M50(A){let Q=KQA(VQA(a_(GQA(A))));return JSON.parse(Q)}function L50(A){try{let Q=M50(A);if(Q!==null&&typeof Q==="object"&&!Array.isArray(Q))return Q;return{}}catch{return{}}}function O50(A,Q,$="..."){if(A.length<=Q)return A;return A.slice(0,Math.max(0,Q-$.length))+$}function zQA(A){let Q=A.match(/^(?:cat\s+)?<<['"]?(\w+)['"]?\s*\n([\s\S]*?)\n\1\s*$/);if(Q)return Q[2];return A}function WQA(A,Q){let $=A[Q];if(!$)return null;let B=$.match(/^\*\*\* Add File: (.+)$/);if(B)return{filePath:B[1],nextIdx:Q+1};let D=$.match(/^\*\*\* Delete File: (.+)$/);if(D)return{filePath:D[1],nextIdx:Q+1};let J=$.match(/^\*\*\* Update File: (.+)$/);if(J){let F,E=Q+1,Y=A[E];if(Y){let Z=Y.match(/^\*\*\* Move to: (.+)$/);if(Z)F=Z[1],E++}return{filePath:J[1],movePath:F,nextIdx:E}}return null}function wv0(A){return A.startsWith("*** Add File:")||A.startsWith("*** Update File:")||A.startsWith("*** Delete File:")||A.trim()==="*** End Patch"}function IQA(A,Q){let $=[],B=Q;while(B<A.length){let D=A[B];if(wv0(D))break;if(D.startsWith("+"))$.push(D.slice(1));else if(D==="")$.push("");else throw Error(`Invalid patch format: Add File lines must start with '+', got: "${D.slice(0,20)}${D.length>20?"...":""}"`);B++}return{content:$.join(`
216
+ `}function m30(A,Q){if(!(Q instanceof Error))return Q;let $={name:Q.name,message:Q.message};if(typeof Q.stack==="string")$.stack=Q.stack;let B=Q.cause;if(B!==void 0)$.cause=B;if(typeof AggregateError<"u"&&Q instanceof AggregateError)$.errors=Q.errors;for(let D of Object.keys(Q))if(!(D in $))$[D]=Q[D];return $}function NT0(A={}){let Q=(()=>{let E=A.timestamp;if(E==null)return g30["date-time-timezone"];else if(E==="disabled")return g30.none;else if(typeof E==="string"&&E in g30)return g30[E];else return E})(),$=A.category??"·",B=A.value?(E)=>A.value(E,Ws1):Ws1,D=(()=>{let E=A.level;if(E==null||E==="ABBR")return(Y)=>j_.ABBR[Y];else if(E==="abbr")return(Y)=>j_.abbr[Y];else if(E==="FULL")return(Y)=>j_.FULL[Y];else if(E==="full")return(Y)=>j_.full[Y];else if(E==="L")return(Y)=>j_.L[Y];else if(E==="l")return(Y)=>j_.l[Y];else return E})(),J=Hs1(A.lineEnding),F=A.format??(({timestamp:E,level:Y,category:Z,message:U})=>`${E?`${E} `:""}[${Y}] ${Z}: ${U}`);return(E)=>{let Y=E.message,Z=Y.length,U;if(Z===1)U=Y[0];else if(Z<=6){U="";for(let z=0;z<Z;z++)U+=z%2===0?Y[z]:B(Y[z])}else{let z=Array(Z);for(let W=0;W<Z;W++)z[W]=W%2===0?Y[W]:B(Y[W]);U=z.join("")}let X=Q(E.timestamp),G=D(E.level),V=typeof $==="function"?$(E.category):E.category.join($);return`${F({timestamp:X,level:G,category:V,message:U,record:E})}${J}`}}function qs1(A={}){let Q=A.format,$=typeof A.timestampStyle>"u"?"dim":A.timestampStyle,B=A.timestampColor??null,D=`${$==null?"":qT0[$]}${B==null?"":HT0[B]}`,J=$==null&&B==null?"":IT0,F=typeof A.levelStyle>"u"?"bold":A.levelStyle,E=A.levelColors??M2A,Y=typeof A.categoryStyle>"u"?"dim":A.categoryStyle,Z=A.categoryColor??null,U=`${Y==null?"":qT0[Y]}${Z==null?"":HT0[Z]}`,X=Y==null&&Z==null?"":IT0;return NT0({timestamp:"date-time-tz",value(G,V){return V(G,{colors:!0})},...A,format({timestamp:G,level:V,category:K,message:z,record:W}){let I=E[W.level];return G=G==null?null:`${D}${G}${J}`,V=`${F==null?"":qT0[F]}${I==null?"":HT0[I]}${V}${F==null&&I==null?"":IT0}`,Q==null?`${G==null?"":`${G} `}${V} ${U}${K}:${X} ${z}`:Q({timestamp:G,level:V,category:`${U}${K}${X}`,message:z,record:W})}})}function p30(A={}){let Q=Hs1(A.lineEnding);if(!A.categorySeparator&&!A.message&&!A.properties)return(E)=>{if(E.message.length===3)return JSON.stringify({"@timestamp":new Date(E.timestamp).toISOString(),level:E.level==="warning"?"WARN":E.level.toUpperCase(),message:E.message[0]+JSON.stringify(E.message[1])+E.message[2],logger:E.category.join("."),properties:E.properties},m30)+Q;if(E.message.length===1)return JSON.stringify({"@timestamp":new Date(E.timestamp).toISOString(),level:E.level==="warning"?"WARN":E.level.toUpperCase(),message:E.message[0],logger:E.category.join("."),properties:E.properties},m30)+Q;let Y=E.message[0];for(let Z=1;Z<E.message.length;Z++)Y+=Z&1?JSON.stringify(E.message[Z]):E.message[Z];return JSON.stringify({"@timestamp":new Date(E.timestamp).toISOString(),level:E.level==="warning"?"WARN":E.level.toUpperCase(),message:Y,logger:E.category.join("."),properties:E.properties},m30)+Q};let $=A.message==="template",B=A.properties??"nest:properties",D;if(typeof A.categorySeparator==="function")D=A.categorySeparator;else{let E=A.categorySeparator??".";D=(Y)=>Y.join(E)}let J;if(B==="flatten")J=(E)=>E;else if(B.startsWith("prepend:")){let E=B.substring(8);if(E==="")throw TypeError(`Invalid properties option: ${JSON.stringify(B)}. It must be of the form "prepend:<prefix>" where <prefix> is a non-empty string.`);J=(Y)=>{let Z={};for(let U in Y)Z[`${E}${U}`]=Y[U];return Z}}else if(B.startsWith("nest:")){let E=B.substring(5);J=(Y)=>({[E]:Y})}else throw TypeError(`Invalid properties option: ${JSON.stringify(B)}. It must be "flatten", "prepend:<prefix>", or "nest:<key>".`);let F;if($)F=(E)=>{if(typeof E.rawMessage==="string")return E.rawMessage;let Y="";for(let Z=0;Z<E.rawMessage.length;Z++)Y+=Z%2<1?E.rawMessage[Z]:"{}";return Y};else F=(E)=>{let Y=E.message.length;if(Y===1)return E.message[0];let Z="";for(let U=0;U<Y;U++)Z+=U%2<1?E.message[U]:JSON.stringify(E.message[U]);return Z};return(E)=>{return JSON.stringify({"@timestamp":new Date(E.timestamp).toISOString(),level:E.level==="warning"?"WARN":E.level.toUpperCase(),message:F(E),logger:D(E.category),...J(E.properties)},m30)+Q}}function xm(A){let Q="",$=[];for(let J=0;J<A.message.length;J++)if(J%2===0)Q+=A.message[J];else Q+="%o",$.push(A.message[J]);let B=new Date(A.timestamp);return[`%c${`${B.getUTCHours().toString().padStart(2,"0")}:${B.getUTCMinutes().toString().padStart(2,"0")}:${B.getUTCSeconds().toString().padStart(2,"0")}.${B.getUTCMilliseconds().toString().padStart(3,"0")}`} %c${Is1[A.level]}%c %c${A.category.join("·")} %c${Q}`,"color: gray;",j2A[A.level],"background-color: default;","color: gray;","color: default;",...$]}var Is1,Ws1,g30,j_,d30,IT0="\x1B[0m",HT0,qT0,M2A,L2A,O2A,j2A;var CT0=r(()=>{zs1();Is1={trace:"TRC",debug:"DBG",info:"INF",warning:"WRN",error:"ERR",fatal:"FTL"},Ws1=typeof document<"u"||typeof navigator<"u"&&navigator.product==="ReactNative"?(A)=>JSON.stringify(A):("Deno"in globalThis)&&("inspect"in globalThis.Deno)&&typeof globalThis.Deno.inspect==="function"?(A,Q)=>globalThis.Deno.inspect(A,{strAbbreviateSize:1/0,iterableLimit:1/0,...Q}):h30!=null&&("inspect"in h30)&&typeof b30==="function"?(A,Q)=>b30(A,{maxArrayLength:1/0,maxStringLength:1/0,...Q}):(A)=>JSON.stringify(A);g30={"date-time-timezone":(A)=>{let Q=new Date(A),$=Q.getUTCFullYear(),B=c5(Q.getUTCMonth()+1),D=c5(Q.getUTCDate()),J=c5(Q.getUTCHours()),F=c5(Q.getUTCMinutes()),E=c5(Q.getUTCSeconds()),Y=O_(Q.getUTCMilliseconds());return`${$}-${B}-${D} ${J}:${F}:${E}.${Y} +00:00`},"date-time-tz":(A)=>{let Q=new Date(A),$=Q.getUTCFullYear(),B=c5(Q.getUTCMonth()+1),D=c5(Q.getUTCDate()),J=c5(Q.getUTCHours()),F=c5(Q.getUTCMinutes()),E=c5(Q.getUTCSeconds()),Y=O_(Q.getUTCMilliseconds());return`${$}-${B}-${D} ${J}:${F}:${E}.${Y} +00`},"date-time":(A)=>{let Q=new Date(A),$=Q.getUTCFullYear(),B=c5(Q.getUTCMonth()+1),D=c5(Q.getUTCDate()),J=c5(Q.getUTCHours()),F=c5(Q.getUTCMinutes()),E=c5(Q.getUTCSeconds()),Y=O_(Q.getUTCMilliseconds());return`${$}-${B}-${D} ${J}:${F}:${E}.${Y}`},"time-timezone":(A)=>{let Q=new Date(A),$=c5(Q.getUTCHours()),B=c5(Q.getUTCMinutes()),D=c5(Q.getUTCSeconds()),J=O_(Q.getUTCMilliseconds());return`${$}:${B}:${D}.${J} +00:00`},"time-tz":(A)=>{let Q=new Date(A),$=c5(Q.getUTCHours()),B=c5(Q.getUTCMinutes()),D=c5(Q.getUTCSeconds()),J=O_(Q.getUTCMilliseconds());return`${$}:${B}:${D}.${J} +00`},time:(A)=>{let Q=new Date(A),$=c5(Q.getUTCHours()),B=c5(Q.getUTCMinutes()),D=c5(Q.getUTCSeconds()),J=O_(Q.getUTCMilliseconds());return`${$}:${B}:${D}.${J}`},date:(A)=>{let Q=new Date(A),$=Q.getUTCFullYear(),B=c5(Q.getUTCMonth()+1),D=c5(Q.getUTCDate());return`${$}-${B}-${D}`},rfc3339:(A)=>new Date(A).toISOString(),none:()=>null},j_={ABBR:Is1,abbr:{trace:"trc",debug:"dbg",info:"inf",warning:"wrn",error:"err",fatal:"ftl"},FULL:{trace:"TRACE",debug:"DEBUG",info:"INFO",warning:"WARNING",error:"ERROR",fatal:"FATAL"},full:{trace:"trace",debug:"debug",info:"info",warning:"warning",error:"error",fatal:"fatal"},L:{trace:"T",debug:"D",info:"I",warning:"W",error:"E",fatal:"F"},l:{trace:"t",debug:"d",info:"i",warning:"w",error:"e",fatal:"f"}};d30=NT0(),HT0={black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},qT0={bold:"\x1B[1m",dim:"\x1B[2m",italic:"\x1B[3m",underline:"\x1B[4m",strikethrough:"\x1B[9m"},M2A={trace:null,debug:"blue",info:"green",warning:"yellow",error:"red",fatal:"magenta"};L2A=qs1();O2A=p30(),j2A={trace:"background-color: gray; color: white;",debug:"background-color: gray; color: white;",info:"background-color: white; color: black;",warning:"background-color: orange; color: black;",error:"background-color: red; color: white;",fatal:"background-color: maroon; color: white;"}});function Ns1(A){if(typeof A==="function")return A;return R2A(A)}function R2A(A){if(A==null)return()=>!1;if(A==="fatal")return(Q)=>Q.level==="fatal";else if(A==="error")return(Q)=>Q.level==="fatal"||Q.level==="error";else if(A==="warning")return(Q)=>Q.level==="fatal"||Q.level==="error"||Q.level==="warning";else if(A==="info")return(Q)=>Q.level==="fatal"||Q.level==="error"||Q.level==="warning"||Q.level==="info";else if(A==="debug")return(Q)=>Q.level==="fatal"||Q.level==="error"||Q.level==="warning"||Q.level==="info"||Q.level==="debug";else if(A==="trace")return()=>!0;throw TypeError(`Invalid log level: ${A}.`)}var Cs1=()=>{};function bm(A={}){let Q=A.formatter??xm,$={trace:"debug",debug:"debug",info:"info",warning:"warn",error:"error",fatal:"error",...A.levelMap??{}},B=A.console??globalThis.console,D=(I)=>{let H=Q(I),q=$[I.level];if(q===void 0)throw TypeError(`Invalid log level: ${I.level}.`);if(typeof H==="string"){let N=H.replace(/\r?\n$/,"");B[q](N)}else B[q](...H)};if(!A.nonBlocking)return D;let J=A.nonBlocking===!0?{}:A.nonBlocking,F=J.bufferSize??100,E=J.flushInterval??100,Y=[],Z=null,U=!1,X=!1,G=F*2;function V(){if(Y.length===0)return;let I=Y.splice(0);for(let H of I)try{D(H)}catch{}}function K(){if(X)return;X=!0,setTimeout(()=>{X=!1,V()},0)}function z(){if(Z!==null||U)return;Z=setInterval(()=>{V()},E)}let W=(I)=>{if(U)return;if(Y.length>=G)Y.shift();if(Y.push(I),Y.length>=F)K();else if(Z===null)z()};return W[Symbol.dispose]=()=>{if(U=!0,Z!==null)clearInterval(Z),Z=null;V()},W}var wT0=r(()=>{CT0()});function u2A(A){return A.category.length===0||A.category.length===1&&A.category[0]==="logtape"||A.category.length===2&&A.category[0]==="logtape"&&A.category[1]==="meta"}function P2A(A){let Q=A?i30:n30;if(typeof globalThis.EdgeRuntime!=="string"&&"process"in globalThis&&!("Deno"in globalThis)){let B=globalThis.process,D=B?.on;if(typeof D==="function"){D.call(B,"exit",Q);return}}let $=globalThis.addEventListener;if(typeof $!=="function")return;if("Deno"in globalThis)$.call(globalThis,"unload",Q);else $.call(globalThis,"pagehide",Q)}function gm(A){if(l30!=null&&!A.reset)throw new nV("Already configured; if you want to reset, turn on the reset flag.");if(hm.size>0)throw new nV("Previously configured async disposables are still active. Use configure() instead or explicitly dispose them using dispose().");R_();try{_2A(A,!1)}catch(Q){if(Q instanceof nV)R_();throw Q}}function _2A(A,Q){l30=A;let $=!1,B=new Set;for(let J of A.loggers){if(u2A(J))$=!0;let F=Array.isArray(J.category)?JSON.stringify(J.category):JSON.stringify([J.category]);if(B.has(F))throw new nV(`Duplicate logger configuration for category: ${F}. Each category can only be configured once.`);B.add(F);let E=tU.getLogger(J.category);for(let Y of J.sinks??[]){let Z=A.sinks[Y];if(!Z)throw new nV(`Sink not found: ${Y}.`);E.sinks.push(Z)}if(E.parentSinks=J.parentSinks??"inherit",J.lowestLevel!==void 0)E.lowestLevel=J.lowestLevel;for(let Y of J.filters??[]){let Z=A.filters?.[Y];if(Z===void 0)throw new nV(`Filter not found: ${Y}.`);E.filters.push(Ns1(Z))}ws1.add(E)}tU.getLogger().contextLocalStorage=A.contextLocalStorage;for(let J of Object.values(A.sinks)){if(Symbol.asyncDispose in J)if(Q)hm.add(J);else throw new nV("Async disposables cannot be used with configureSync().");if(Symbol.dispose in J)c30.add(J)}for(let J of Object.values(A.filters??{})){if(J==null||typeof J==="string")continue;if(Symbol.asyncDispose in J)if(Q)hm.add(J);else throw new nV("Async disposables cannot be used with configureSync().");if(Symbol.dispose in J)c30.add(J)}P2A(Q);let D=tU.getLogger(["logtape","meta"]);if(!$)D.sinks.push(bm());D.info("LogTape loggers are configured. Note that LogTape itself uses the meta logger, which has category {metaLoggerCategory}. The meta logger is used to log internal diagnostics such as sink exceptions. It's recommended to configure the meta logger with a separate sink so that you can easily notice if logging itself fails or is misconfigured. To turn off this message, configure the meta logger with higher log levels than {dismissLevel}. See also <https://logtape.org/manual/categories#meta-logger>.",{metaLoggerCategory:["logtape","meta"],dismissLevel:"info"})}function MT0(){return l30}function R_(){n30(),T2A()}function T2A(){let A=tU.getLogger([]);A.resetDescendants(),delete A.contextLocalStorage,ws1.clear(),l30=null}async function i30(){n30();let A=[];for(let Q of hm)A.push(Q[Symbol.asyncDispose]()),hm.delete(Q);await Promise.all(A)}function n30(){for(let A of c30)A[Symbol.dispose]();c30.clear()}var l30=null,ws1,c30,hm,nV;var Ms1=r(()=>{Cs1();y30();wT0();ws1=new Set,c30=new Set,hm=new Set;nV=class extends Error{constructor(A){super(A);this.name="ConfigureError"}}});var a30=r(()=>{y30();CT0();wT0();Ms1()});var Ls1,v2A,u;var p0=r(()=>{a30();P$();if(MT0()===null)gm({sinks:{console:bm({formatter:(A)=>{let Q=xm(A);return Object.keys(A.properties).length>0?[...Q,A.properties]:Q}})},loggers:[{category:["logtape","meta"],sinks:["console"],lowestLevel:"warning"},{category:[],sinks:["console"]}]});Ls1=w_.union([w_.literal("error"),w_.literal("warn"),w_.literal("info"),w_.literal("debug")]),v2A=WT0(),u=v2A});import y2A from"os";import o30 from"path";var kI,uM,SI,u_,iK5,nK5,aK5,x2A,b2A;var r30=r(()=>{kI=y2A.homedir(),{env:uM}=process,SI=uM.XDG_DATA_HOME||(kI?o30.join(kI,".local","share"):void 0),u_=uM.XDG_CONFIG_HOME||(kI?o30.join(kI,".config"):void 0),iK5=uM.XDG_STATE_HOME||(kI?o30.join(kI,".local","state"):void 0),nK5=uM.XDG_CACHE_HOME||(kI?o30.join(kI,".cache"):void 0),aK5=uM.XDG_RUNTIME_DIR||void 0,x2A=(uM.XDG_DATA_DIRS||"/usr/local/share/:/usr/share/").split(":");if(SI)x2A.unshift(SI);b2A=(uM.XDG_CONFIG_DIRS||"/etc/xdg").split(":");if(u_)b2A.unshift(u_)});import{homedir as s30}from"node:os";import aV from"node:path";var Os1,h2A,js1,g2A,P_,m2A,mm,d2A,cB;var pF=r(()=>{r30();Os1=aV.join(s30(),".local/share"),h2A=process.platform==="win32"||process.platform==="darwin"?Os1:SI??Os1,js1=aV.join(s30(),".config"),g2A=process.platform==="win32"||process.platform==="darwin"?js1:u_??js1,P_=aV.join(h2A,"amp"),m2A=aV.join(g2A,"amp"),mm=aV.join(m2A,"tools"),d2A=process.platform==="win32"?aV.join(process.env.LOCALAPPDATA??aV.join(s30(),"AppData","Local"),"amp"):aV.join(process.env.XDG_CACHE_HOME??aV.join(s30(),".cache"),"amp"),cB=d2A});function p2A(A){return A.trim().toLowerCase()}function m7(A){let Q=p2A(A);if(Q.length===0)return!1;if(Q.endsWith("@ampcode.com")||Q==="auth-bypass-user@example.com")return!0;return!1}function U4(A,Q,$=Q+"s"){return A===1?Q:$}var Y5=()=>{};function t30(A){Promise.resolve().then(()=>{try{A()}catch(Q){console.error(Q)}})}function Ps1(A){let Q=A._cleanup;if(Q===void 0)return;if(A._cleanup=void 0,!Q)return;try{if(typeof Q==="function")Q();else if(Q&&typeof Q.unsubscribe==="function")Q.unsubscribe()}catch($){console.error("cleanupSubscription",$)}}function RT0(A){A._observer=void 0,A._queue=void 0,A._state="closed"}function l2A(A){let Q=A._queue;if(!Q)return;A._queue=void 0,A._state="ready";for(let $ of Q)if(_s1(A,$.type,$.value),A._state==="closed")break}function _s1(A,Q,$){A._state="running";let B=A._observer;try{switch(Q){case"next":if(B&&typeof B.next==="function")B.next($);break;case"error":if(RT0(A),B&&typeof B.error==="function")B.error($);else throw $;break;case"complete":if(RT0(A),B&&typeof B.complete==="function")B.complete();break}}catch(D){console.error("notifySubscription",D)}if(A._state==="closed")Ps1(A);else if(A._state==="running")A._state="ready"}function jT0(A,Q,$){if(A._state==="closed")return;if(A._state==="buffering"){A._queue=A._queue||[],A._queue.push({type:Q,value:$});return}if(A._state!=="ready"){A._state="buffering",A._queue=[{type:Q,value:$}],t30(()=>l2A(A));return}_s1(A,Q,$)}class Ts1{_cleanup;_observer;_queue;_state;constructor(A,Q){this._cleanup=void 0,this._observer=A,this._queue=void 0,this._state="initializing";let $=new vs1(this);try{this._cleanup=Q.call(void 0,$)}catch(B){$.error(B)}if(this._state==="initializing")this._state="ready"}get closed(){return this._state==="closed"}unsubscribe(){if(this._state!=="closed")RT0(this),Ps1(this)}}class vs1{_subscription;constructor(A){this._subscription=A}get closed(){return this._subscription._state==="closed"}next(A){jT0(this._subscription,"next",A)}error(A){jT0(this._subscription,"error",A)}complete(){jT0(this._subscription,"complete")}}function E2(A){if(typeof A==="function")A();else if(A&&typeof A.unsubscribe==="function")A.unsubscribe()}class __{_baseObserver;_pendingPromises;constructor(A){this._baseObserver=A,this._pendingPromises=new Set}complete(){Promise.all(this._pendingPromises).then(()=>this._baseObserver.complete()).catch((A)=>this._baseObserver.error(A))}error(A){this._baseObserver.error(A)}schedule(A){let Q=Promise.all(this._pendingPromises),$=[],B=(J)=>$.push(J),D=Promise.resolve().then(async()=>{await Q,await A(B),this._pendingPromises.delete(D);for(let J of $)this._baseObserver.next(J)}).catch((J)=>{this._pendingPromises.delete(D),this._baseObserver.error(J)});this._pendingPromises.add(D)}}var h0;var T_=r(()=>{if(!Symbol.observable)Symbol.observable=Symbol("observable");h0=class h0{_subscriber;constructor(A){if(!(this instanceof h0))throw TypeError("Observable cannot be called as a function");if(typeof A!=="function")throw TypeError("Observable initializer must be a function");this._subscriber=A}subscribe(A,Q,$){if(typeof A!=="object"||A===null)A={next:A,error:Q,complete:$};return new Ts1(A,this._subscriber)}pipe(A,...Q){let $=this;for(let B of[A,...Q])$=B($);return $}[Symbol.observable](){return this}static from(A){let Q=typeof h0==="function"?h0:h0;if(A==null)throw TypeError(A+" is not an object");let $=A[Symbol.observable];if(typeof $==="function"){let D=$.call(A);if(Object(D)!==D)throw TypeError(D+" is not an object");if(D instanceof h0)return D;return new Q((J)=>D.subscribe(J))}let B=A[Symbol.iterator];if(typeof B==="function")return new Q((D)=>{t30(()=>{if(D.closed)return;for(let J of B.call(A))if(D.next(J),D.closed)return;D.complete()})});if(Array.isArray(A))return new Q((D)=>{t30(()=>{if(D.closed)return;for(let J of A)if(D.next(J),D.closed)return;D.complete()})});throw TypeError(A+" is not observable")}static of(...A){return new(typeof h0==="function"?h0:h0)(($)=>{t30(()=>{if($.closed)return;for(let B of A)if($.next(B),$.closed)return;$.complete()})})}static get[Symbol.species](){return h0}}});var d4,a1;var e30=r(()=>{T_();d4=class d4 extends h0{_observers=new Set;constructor(){super((A)=>{return this._observers.add(A),()=>this._observers.delete(A)})}next(A){for(let Q of this._observers)Q.next(A)}error(A){for(let Q of this._observers)Q.error(A)}complete(){for(let A of this._observers)A.complete()}};a1=class a1 extends d4{currentValue;constructor(A){super();this.currentValue=A}next(A){this.currentValue=A,super.next(A)}subscribe(A,Q,$){if(typeof A!=="object"||A===null){let B={};if(A)B.next=A;if(Q)B.error=Q;if($)B.complete=$;A=B}return A.next?.(this.currentValue),super.subscribe(A)}getValue(){return this.currentValue}}});var i2A,uT0;var ks1=r(()=>{T_();e30();i2A=class i2A extends Set{subject=new a1(this);add(A){return super.add(A),this.subject.next(this),this}delete(A){let Q=super.delete(A);if(Q)this.subject.next(this);return Q}clear(){super.clear(),this.subject.next(this)}get observable(){return h0.from(this.subject)}dispose(){this.subject.complete()}};uT0=class uT0 extends Map{subject=new a1(this);set(A,Q){return super.set(A,Q),this.subject.next(this),this}delete(A){let Q=super.delete(A);if(Q)this.subject.next(this);return Q}clear(){super.clear(),this.subject.next(this)}get observable(){return h0.from(this.subject)}dispose(){this.subject.complete()}}});function A50(A,Q){if(A===Q)return!0;if(A==null||Q==null||typeof A!=="object"||typeof Q!=="object")return!1;let $=Array.isArray(A),B=Array.isArray(Q);if($!==B)return!1;if($&&B)return A.length===Q.length&&A.every((J,F)=>A50(J,Q[F]));let D=new Set([...Object.keys(A),...Object.keys(Q)]);for(let J of D)if(!A50(A[J],Q[J]))return!1;return!0}var Q50;var PT0=r(()=>{Q50={now:()=>Date.now(),schedule:(A,Q)=>{let $=setTimeout(A,Q);return()=>clearTimeout($)}}});async function k1(A,Q){return new Promise(($,B)=>{let D,J=()=>{D?.unsubscribe(),B(new DOMException("Aborted","AbortError"))};Q?.addEventListener("abort",J,{once:!0}),D=A.subscribe({next:(F)=>{D?.unsubscribe(),Q?.removeEventListener("abort",J),$(F)},error:(F)=>{Q?.removeEventListener("abort",J),B(F)},complete:()=>{Q?.removeEventListener("abort",J),B("Observable completed without emitting a value")}})})}async function fI(A,Q){return new Promise(($,B)=>{let D,J=!1,F,E=()=>{F?.unsubscribe(),B(new DOMException("Aborted","AbortError"))};Q?.addEventListener("abort",E,{once:!0}),F=A.subscribe({next:(Y)=>{D=Y,J=!0},error:(Y)=>{Q?.removeEventListener("abort",E),B(Y)},complete:()=>{if(Q?.removeEventListener("abort",E),J)$(D);else B("Observable completed without emitting a value")}})})}async function fs1(A,Q){return new Promise(($,B)=>{let D=A.subscribe({error:B,complete:()=>$()});Q?.addEventListener("abort",()=>{D.unsubscribe(),B(new DOMException("Aborted","AbortError"))},{once:!0})})}function H2(A){return new h0((Q)=>{A.then(($)=>{Q.next($),Q.complete()}).catch(($)=>{Q.error($)})})}function F6(A){return new h0((Q)=>{let $=!1,B=new AbortController,D=B.signal;return(async()=>{try{D?.throwIfAborted();let F=await A(D);if(D?.throwIfAborted(),!$)Q.next(F),Q.complete()}catch(F){if(!$)if(D.aborted)Q.complete();else Q.error(F)}})(),()=>{$=!0,B.abort()}})}function N1(A){return(Q)=>{return new h0(($)=>{let B=new __($),D=0,J=Q.subscribe({complete(){B.complete()},error(F){B.error(F)},next(F){B.schedule(async(E)=>{let Y=await A(F,D);D++,E(Y)})}});return()=>E2(J)})}}function v_(A,Q=Q50){return new h0(($)=>{let B=0,D=null,J=()=>{$.next(B++),D=Q.schedule(J,A)};return D=Q.schedule(J,A),()=>{if(D)D()}})}function oV(...A){return new h0((Q)=>{let $=0,B=A.map((D)=>D.subscribe({next:(J)=>Q.next(J),error:(J)=>Q.error(J),complete:()=>{if($++,$===A.length)Q.complete()}}));return()=>{ys1(B)}})}function OA(...A){if(A.length===0)return pm;return new h0((Q)=>{let $=Array(A.length),B=Array(A.length).fill(0),D=Array(A.length).fill(!1),J=0,F=[],E=new __(Q);for(let Y=0;Y<A.length;Y++){let Z=A[Y];F.push(Z.subscribe({next(U){$[Y]=U,D[Y]=!0;let X=++B[Y];if(D.every(Boolean))E.schedule(async(G)=>{if(B[Y]===X)G([...$])})},error(U){E.error(U)},complete(){if(J++,J===A.length)E.complete()}}))}return()=>{ys1(F)}})}function t6(A){let $=A?.shouldCountRefs??!0,B=n2A++,D=(J,...F)=>{};return(J)=>{let F=new d4,E=null,Y=!1,Z,U=0;return new h0((X)=>{if(U++,Y)D("new subscriber, emitting buffered value",Z),X.next(Z);else D("new subscriber, no buffered value to emit");if(!E)E=J.subscribe({next:(V)=>{Y=!0,Z=V,F.next(V)},error:(V)=>F.error(V),complete:()=>F.complete()});let G=F.subscribe(X);return()=>{if(U--,G.unsubscribe(),$&&U===0){if(E)E2(E),E=null;Y=!1}}})}}function ys1(A){for(let Q of A)if(Q)E2(Q)}function rV(A){return(Q)=>{return new h0(($)=>{let B=Q.subscribe({next:(J)=>$.next(J),error:(J)=>$.error(J),complete:()=>$.complete()}),D=A.subscribe({next:()=>{$.complete(),B.unsubscribe(),D.unsubscribe()},error:(J)=>{$.error(J),B.unsubscribe()}});return()=>{B.unsubscribe(),D.unsubscribe()}})}}function yI(A){return(Q)=>{return new h0(($)=>{let B,D=Q.subscribe({next(J){B=J,$.next(J)},error(J){$.error(J)},complete(){$.complete()}});return()=>{E2(D),A(B)}})}}function T4(A=A50){return(Q)=>{return new h0(($)=>{let B=Ss1,D=new __($),J=Q.subscribe({complete(){D.complete()},error(F){D.error(F)},next(F){D.schedule(async(E)=>{if(B===Ss1||!A(B,F))B=F,E(F)})}});return()=>E2(J)})}}function k_(A){return a2A(typeof A==="function"?{next:A}:A)}function a2A(A){return(Q)=>new h0(($)=>{let B=typeof A==="function"?A():A,D=Q.subscribe({next(J){if(B.next)try{B.next(J)}catch(F){$.error(F);return}$.next(J)},error(J){if(B.error)try{B.error(J)}catch(F){$.error(F);return}$.error(J)},complete(){if(B.complete)try{B.complete()}catch(J){$.error(J);return}$.complete()}});return()=>E2(D)})}function T$(A){return(Q)=>{return new h0(($)=>{let B=!1,D=Q.subscribe({next:(F)=>{B=!0,clearTimeout(J),$.next(F)},error:(F)=>{clearTimeout(J),$.error(F)},complete:()=>{clearTimeout(J),$.complete()}}),J=setTimeout(()=>{if(!B)D.unsubscribe(),$.error(new $50(`Operation timed out after ${A}ms`))},A);return()=>{clearTimeout(J),D.unsubscribe()}})}}function WA(A){return(Q)=>new h0(($)=>{let B;try{$.next(A),B=Q.subscribe({next(D){$.next(D)},error(D){$.error(D)},complete(){$.complete()}})}catch(D){$.error(D)}return()=>{if(B)E2(B)}})}function j8(A){return(Q)=>new h0(($)=>{let B=0,D=Q.subscribe({next(J){if(B<A){if($.next(J),B++,B===A)$.complete(),E2(D)}},error(J){$.error(J)},complete(){$.complete()}});return()=>{E2(D)}})}function xs1(A){return(Q)=>new h0(($)=>{let B=0,D=Q.subscribe({next(J){if(B>=A)$.next(J);else B++},error(J){$.error(J)},complete(){$.complete()}});return()=>{E2(D)}})}function y4(A){return(Q)=>{return new h0(($)=>{let B=0,D=null,J=!1,F=()=>{if(J&&!D)$.complete()},E=Q.subscribe({next(Y){if(D)E2(D),D=null;let Z;try{Z=A(Y,B++)}catch(U){$.error(U);return}D=Z.subscribe({next(U){$.next(U)},error(U){$.error(U)},complete(){D=null,F()}})},error(Y){$.error(Y)},complete(){J=!0,F()}});return()=>{if(E2(E),D)E2(D)}})}}function sV(A,Q){let $=Q?.scheduler??Q50;return(B)=>new h0((D)=>{let J=null,F=null,E=!1,Y=B.subscribe({next:(Z)=>{if(F=Z,E=!0,J===null)J=$.schedule(()=>{if(E)D.next(F),E=!1;J=null},A)},error:(Z)=>D.error(Z),complete:()=>{if(J!==null)J();if(E)D.next(F);D.complete()}});return()=>{if(E2(Y),J!==null)J()}})}function TT0(A,Q){if(!Q.leading||!Q.trailing)throw Error("leading and trailing must be true");let $=Q.scheduler??Q50;return(B)=>new h0((D)=>{let J=0,F=null,E=null,Y=!1,Z=B.subscribe({next:(U)=>{let X=$.now();if(E=U,Y=!0,X-J>=A)D.next(U),J=X,Y=!1;else if(F===null)F=$.schedule(()=>{if(Y)D.next(E),J=$.now(),Y=!1;F=null},A-(X-J));if(J===0)D.next(U),J=X,Y=!1},error:(U)=>D.error(U),complete:()=>{if(F!==null)F();if(Y)D.next(E);D.complete()}});return()=>{if(E2(Z),F!==null)F()}})}function cm(...A){return new h0((Q)=>{let $=0,B=null;function D(){if($>=A.length){Q.complete();return}B=A[$].subscribe({next:(F)=>Q.next(F),error:(F)=>Q.error(F),complete:()=>{$++,D()}})}return D(),()=>{if(B)E2(B)}})}function xI(A){return(Q)=>new h0(($)=>{let B=0,D=!1,J=null,F=Q.subscribe({next(E){try{let Y=A(E,B++);if(J)E2(J);J=Y.subscribe({next(Z){$.next(Z)},error(Z){$.error(Z)},complete(){if(J=null,D&&!J)$.complete()}})}catch(Y){$.error(Y)}},error(E){$.error(E)},complete(){if(D=!0,!J)$.complete()}});return()=>{if(E2(F),J)E2(J)}})}function lm({onSubscribe:A,onUnsubscribe:Q}){return($)=>new h0((B)=>{A?.();let D=$.subscribe(B);return()=>{E2(D),Q?.()}})}function im(A){return(Q)=>h0.from(Q).pipe(y4(($)=>F6((B)=>A($,B))))}function v$(A){return(Q)=>new h0(($)=>{let B,D=Q.subscribe({next(J){$.next(J)},error(J){try{B=A(J).subscribe({next(E){$.next(E)},error(E){$.error(E)},complete(){$.complete()}})}catch(F){$.error(F)}},complete(){$.complete()}});return()=>{if(E2(D),B)E2(B)}})}function l3(A){return(Q)=>{return new h0(($)=>{let B=Q.subscribe({next(D){if(A(D))$.next(D)},error(D){$.error(D)},complete(){$.complete()}});return()=>E2(B)})}}function bs1(A,Q){return($)=>{return new h0((B)=>{let D,J=0,F=new __(B),E=$.subscribe({complete(){F.complete()},error(Y){F.error(Y)},next(Y){F.schedule(async(Z)=>{D=await A(J===0?typeof Q>"u"?Y:Q:D,Y,J++),Z(D)})}});return()=>E2(E)})}}var pm,_T0,n2A=0,Ss1,$50;var vT0=r(()=>{T_();PT0();e30();pm=new h0((A)=>{A.complete()}),_T0=new h0(()=>{});Ss1={};$50=class $50 extends Error{constructor(A="Timeout has occurred"){super(A);this.name="TimeoutError"}}});function S_(A,Q){return($)=>{return h0.from($).pipe(y4((B)=>B===eU?h0.of(eU):A(B).pipe(v$((D)=>h0.of(D instanceof Error?D:Error(D))),WA(eU))),t6(Q))}}function kT0(){return(A)=>h0.from(A).pipe(l3((Q)=>Q!==eU))}async function hs1(A,Q){let $=await k1(h0.from(A).pipe(kT0()),Q);if($ instanceof Error)throw $;return $}var eU;var gs1=r(()=>{T_();vT0();eU=Symbol.for("@@pendingOperation")});var ms1=()=>{};var ds1=()=>{};var u1=r(()=>{ks1();T_();gs1();vT0();ms1();PT0();e30();ds1()});function $8A(){let A=typeof process==="object"?process.env.ProgramData:void 0;return A?`${A}\\ampcode`:"C:\\ProgramData\\ampcode"}function dT0(A){switch(A){case"darwin":return"/Library/Application Support/ampcode";case"android":case"cygwin":case"freebsd":case"netbsd":case"openbsd":case"linux":return"/etc/ampcode";case"win32":return $8A();case"aix":case"haiku":case"sunos":default:return null}}function rs1(A){return dT0(A)}function cF(A,Q){if(A===Q)return!0;if(A==null||Q==null||typeof A!=="object"||typeof Q!=="object")return!1;let $=Array.isArray(A),B=Array.isArray(Q);if($!==B)return!1;if($&&B)return A.length===Q.length&&A.every((J,F)=>cF(J,Q[F]));let D=new Set([...Object.keys(A),...Object.keys(Q)]);for(let J of D)if(!cF(A[J],Q[J]))return!1;return!0}class UJ{#A=!1;#Q=[];async acquire(){return new Promise((A)=>{if(!this.#A)this.#A=!0,A();else this.#Q.push({resolve:A})})}async acquireWithTimeout(A,Q=`Mutex acquire timed out after ${A}ms`){return new Promise(($,B)=>{if(!this.#A){this.#A=!0,$();return}let D=!1,J,F={resolve:()=>{if(D)return;D=!0,clearTimeout(J),$()}};J=setTimeout(()=>{if(D)return;D=!0;let E=this.#Q.indexOf(F);if(E!==-1)this.#Q.splice(E,1);B(Error(Q))},A),this.#Q.push(F)})}release(){if(this.#Q.length>0)this.#Q.shift()?.resolve();else this.#A=!1}}var k$;var b_=r(()=>{k$={BITBUCKET_ENTERPRISE:"bitbucket-enterprise",CUSTOMER_MODEL_PROVIDER_KEYS:"customer-model-provider-keys",ACCEPT_ABUSE_DATA_RETENTION:"accept-abuse-data-retention",HARNESS_SYSTEM_PROMPT:"harness-system-prompt",NAMESPACE_REPOSITORIES_PAGE:"namespace-repositories-page",NAMESPACE_SKILLS_PAGE:"namespace-skills-page",OLD_CODEMIRROR_DIFFS:"old-codemirror-diffs",OPENAI_REGIONAL_NONENT:"openai-regional-nonent",PAYMENT_METHOD_EXEMPT:"payment-method-exempt",PIERRE_DIFFS:"pierre-diffs",RECV_OLD_CLIENT_EMAILS:"recv-old-client-emails",SIGNING_KEYS:"signing-keys",THREAD_ACTORS_TUI:"thread-actors-tui",THREAD_ACTORS_TRACES:"thread-actors-traces",V2:"v2",SERVER_PLUGINS:"server-plugins",SUDO:"sudo",THREAD_TIMING:"thread-timing",THREAD_TRACE_VIEWER:"thread-trace-viewer",USAGE_TOKEN_COUNT:"usage-token-count",WORKSPACE_ROLES:"workspace-roles"}});function c_(A){let Q=A.length;while(--Q>=0)A[Q]=0}function lT0(A,Q,$,B,D){this.static_tree=A,this.extra_bits=Q,this.extra_base=$,this.elems=B,this.max_length=D,this.has_stree=A&&A.length}function iT0(A,Q){this.dyn_tree=A,this.max_code=0,this.stat_desc=Q}function AX(A,Q,$,B,D){this.good_length=A,this.max_lazy=Q,this.nice_length=$,this.max_chain=B,this.func=D}function z9A(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=I50,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(F9A*2),this.dyn_dtree=new Uint16Array((2*D9A+1)*2),this.bl_tree=new Uint16Array((2*J9A+1)*2),hI(this.dyn_ltree),hI(this.dyn_dtree),hI(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(E9A+1),this.heap=new Uint16Array(2*Ev0+1),hI(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*Ev0+1),hI(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function x9A(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}function Kd(A){this.options=H50.assign({level:p9A,method:l9A,chunkSize:16384,windowBits:15,memLevel:8,strategy:c9A},A||{});let Q=this.options;if(Q.raw&&Q.windowBits>0)Q.windowBits=-Q.windowBits;else if(Q.gzip&&Q.windowBits>0&&Q.windowBits<16)Q.windowBits+=16;this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Ze1,this.strm.avail_out=0;let $=$d.deflateInit2(this.strm,Q.level,Q.method,Q.windowBits,Q.memLevel,Q.strategy);if($!==z50)throw Error(kM[$]);if(Q.header)$d.deflateSetHeader(this.strm,Q.header);if(Q.dictionary){let B;if(typeof Q.dictionary==="string")B=Ud.string2buf(Q.dictionary);else if(Ue1.call(Q.dictionary)==="[object ArrayBuffer]")B=new Uint8Array(Q.dictionary);else B=Q.dictionary;if($=$d.deflateSetDictionary(this.strm,B),$!==z50)throw Error(kM[$]);this._dict_set=!0}}function Hv0(A,Q){let $=new Kd(Q);if($.push(A,!0),$.err)throw $.msg||kM[$.err];return $.result}function i9A(A,Q){return Q=Q||{},Q.raw=!0,Hv0(A,Q)}function n9A(A,Q){return Q=Q||{},Q.gzip=!0,Hv0(A,Q)}function W7A(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function k7A(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}function zd(A){this.options=H50.assign({chunkSize:65536,windowBits:15,to:""},A||{});let Q=this.options;if(Q.raw&&Q.windowBits>=0&&Q.windowBits<16){if(Q.windowBits=-Q.windowBits,Q.windowBits===0)Q.windowBits=-15}if(Q.windowBits>=0&&Q.windowBits<16&&!(A&&A.windowBits))Q.windowBits+=32;if(Q.windowBits>15&&Q.windowBits<48){if((Q.windowBits&15)===0)Q.windowBits|=15}this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Ze1,this.strm.avail_out=0;let $=AK.inflateInit2(this.strm,Q.windowBits);if($!==Xd)throw Error(kM[$]);if(this.header=new S7A,AK.inflateGetHeader(this.strm,this.header),Q.dictionary){if(typeof Q.dictionary==="string")Q.dictionary=Ud.string2buf(Q.dictionary);else if(we1.call(Q.dictionary)==="[object ArrayBuffer]")Q.dictionary=new Uint8Array(Q.dictionary);if(Q.raw){if($=AK.inflateSetDictionary(this.strm,Q.dictionary),$!==Xd)throw Error(kM[$])}}}function qv0(A,Q){let $=new zd(Q);if($.push(A),$.err)throw $.msg||kM[$.err];return $.result}function h7A(A,Q){return Q=Q||{},Q.raw=!0,qv0(A,Q)}var K8A=0,dt1=1,z8A=2,W8A=3,I8A=258,Vv0=29,Gd=256,Dd,m_=30,Kv0=19,pt1,_M=15,cT0=16,H8A=7,zv0=256,ct1=16,lt1=17,it1=18,Dv0,V50,q8A,nt1,N8A=512,eV,Qd,Jd,Fd,Wv0,K50,at1,ot1,rt1,st1=(A)=>{return A<256?Jd[A]:Jd[256+(A>>>7)]},Ed=(A,Q)=>{A.pending_buf[A.pending++]=Q&255,A.pending_buf[A.pending++]=Q>>>8&255},lB=(A,Q,$)=>{if(A.bi_valid>cT0-$)A.bi_buf|=Q<<A.bi_valid&65535,Ed(A,A.bi_buf),A.bi_buf=Q>>cT0-A.bi_valid,A.bi_valid+=$-cT0;else A.bi_buf|=Q<<A.bi_valid&65535,A.bi_valid+=$},QX=(A,Q,$)=>{lB(A,$[Q*2],$[Q*2+1])},tt1=(A,Q)=>{let $=0;do $|=A&1,A>>>=1,$<<=1;while(--Q>0);return $>>>1},C8A=(A)=>{if(A.bi_valid===16)Ed(A,A.bi_buf),A.bi_buf=0,A.bi_valid=0;else if(A.bi_valid>=8)A.pending_buf[A.pending++]=A.bi_buf&255,A.bi_buf>>=8,A.bi_valid-=8},w8A=(A,Q)=>{let{dyn_tree:$,max_code:B}=Q,D=Q.stat_desc.static_tree,J=Q.stat_desc.has_stree,F=Q.stat_desc.extra_bits,E=Q.stat_desc.extra_base,Y=Q.stat_desc.max_length,Z,U,X,G,V,K,z=0;for(G=0;G<=_M;G++)A.bl_count[G]=0;$[A.heap[A.heap_max]*2+1]=0;for(Z=A.heap_max+1;Z<pt1;Z++){if(U=A.heap[Z],G=$[$[U*2+1]*2+1]+1,G>Y)G=Y,z++;if($[U*2+1]=G,U>B)continue;if(A.bl_count[G]++,V=0,U>=E)V=F[U-E];if(K=$[U*2],A.opt_len+=K*(G+V),J)A.static_len+=K*(D[U*2+1]+V)}if(z===0)return;do{G=Y-1;while(A.bl_count[G]===0)G--;A.bl_count[G]--,A.bl_count[G+1]+=2,A.bl_count[Y]--,z-=2}while(z>0);for(G=Y;G!==0;G--){U=A.bl_count[G];while(U!==0){if(X=A.heap[--Z],X>B)continue;if($[X*2+1]!==G)A.opt_len+=(G-$[X*2+1])*$[X*2],$[X*2+1]=G;U--}}},et1=(A,Q,$)=>{let B=Array(_M+1),D=0,J,F;for(J=1;J<=_M;J++)D=D+$[J-1]<<1,B[J]=D;for(F=0;F<=Q;F++){let E=A[F*2+1];if(E===0)continue;A[F*2]=tt1(B[E]++,E)}},M8A=()=>{let A,Q,$,B,D,J=Array(_M+1);$=0;for(B=0;B<Vv0-1;B++){Wv0[B]=$;for(A=0;A<1<<Dv0[B];A++)Fd[$++]=B}Fd[$-1]=B,D=0;for(B=0;B<16;B++){K50[B]=D;for(A=0;A<1<<V50[B];A++)Jd[D++]=B}D>>=7;for(;B<m_;B++){K50[B]=D<<7;for(A=0;A<1<<V50[B]-7;A++)Jd[256+D++]=B}for(Q=0;Q<=_M;Q++)J[Q]=0;A=0;while(A<=143)eV[A*2+1]=8,A++,J[8]++;while(A<=255)eV[A*2+1]=9,A++,J[9]++;while(A<=279)eV[A*2+1]=7,A++,J[7]++;while(A<=287)eV[A*2+1]=8,A++,J[8]++;et1(eV,Dd+1,J);for(A=0;A<m_;A++)Qd[A*2+1]=5,Qd[A*2]=tt1(A,5);at1=new lT0(eV,Dv0,Gd+1,Dd,_M),ot1=new lT0(Qd,V50,0,m_,_M),rt1=new lT0([],q8A,0,Kv0,H8A)},Ae1=(A)=>{let Q;for(Q=0;Q<Dd;Q++)A.dyn_ltree[Q*2]=0;for(Q=0;Q<m_;Q++)A.dyn_dtree[Q*2]=0;for(Q=0;Q<Kv0;Q++)A.bl_tree[Q*2]=0;A.dyn_ltree[zv0*2]=1,A.opt_len=A.static_len=0,A.sym_next=A.matches=0},Qe1=(A)=>{if(A.bi_valid>8)Ed(A,A.bi_buf);else if(A.bi_valid>0)A.pending_buf[A.pending++]=A.bi_buf;A.bi_buf=0,A.bi_valid=0},Dt1=(A,Q,$,B)=>{let D=Q*2,J=$*2;return A[D]<A[J]||A[D]===A[J]&&B[Q]<=B[$]},nT0=(A,Q,$)=>{let B=A.heap[$],D=$<<1;while(D<=A.heap_len){if(D<A.heap_len&&Dt1(Q,A.heap[D+1],A.heap[D],A.depth))D++;if(Dt1(Q,B,A.heap[D],A.depth))break;A.heap[$]=A.heap[D],$=D,D<<=1}A.heap[$]=B},Jt1=(A,Q,$)=>{let B,D,J=0,F,E;if(A.sym_next!==0)do if(B=A.pending_buf[A.sym_buf+J++]&255,B+=(A.pending_buf[A.sym_buf+J++]&255)<<8,D=A.pending_buf[A.sym_buf+J++],B===0)QX(A,D,Q);else{if(F=Fd[D],QX(A,F+Gd+1,Q),E=Dv0[F],E!==0)D-=Wv0[F],lB(A,D,E);if(B--,F=st1(B),QX(A,F,$),E=V50[F],E!==0)B-=K50[F],lB(A,B,E)}while(J<A.sym_next);QX(A,zv0,Q)},Jv0=(A,Q)=>{let $=Q.dyn_tree,B=Q.stat_desc.static_tree,D=Q.stat_desc.has_stree,J=Q.stat_desc.elems,F,E,Y=-1,Z;A.heap_len=0,A.heap_max=pt1;for(F=0;F<J;F++)if($[F*2]!==0)A.heap[++A.heap_len]=Y=F,A.depth[F]=0;else $[F*2+1]=0;while(A.heap_len<2)if(Z=A.heap[++A.heap_len]=Y<2?++Y:0,$[Z*2]=1,A.depth[Z]=0,A.opt_len--,D)A.static_len-=B[Z*2+1];Q.max_code=Y;for(F=A.heap_len>>1;F>=1;F--)nT0(A,$,F);Z=J;do F=A.heap[1],A.heap[1]=A.heap[A.heap_len--],nT0(A,$,1),E=A.heap[1],A.heap[--A.heap_max]=F,A.heap[--A.heap_max]=E,$[Z*2]=$[F*2]+$[E*2],A.depth[Z]=(A.depth[F]>=A.depth[E]?A.depth[F]:A.depth[E])+1,$[F*2+1]=$[E*2+1]=Z,A.heap[1]=Z++,nT0(A,$,1);while(A.heap_len>=2);A.heap[--A.heap_max]=A.heap[1],w8A(A,Q),et1($,Y,A.bl_count)},Ft1=(A,Q,$)=>{let B,D=-1,J,F=Q[1],E=0,Y=7,Z=4;if(F===0)Y=138,Z=3;Q[($+1)*2+1]=65535;for(B=0;B<=$;B++){if(J=F,F=Q[(B+1)*2+1],++E<Y&&J===F)continue;else if(E<Z)A.bl_tree[J*2]+=E;else if(J!==0){if(J!==D)A.bl_tree[J*2]++;A.bl_tree[ct1*2]++}else if(E<=10)A.bl_tree[lt1*2]++;else A.bl_tree[it1*2]++;if(E=0,D=J,F===0)Y=138,Z=3;else if(J===F)Y=6,Z=3;else Y=7,Z=4}},Et1=(A,Q,$)=>{let B,D=-1,J,F=Q[1],E=0,Y=7,Z=4;if(F===0)Y=138,Z=3;for(B=0;B<=$;B++){if(J=F,F=Q[(B+1)*2+1],++E<Y&&J===F)continue;else if(E<Z)do QX(A,J,A.bl_tree);while(--E!==0);else if(J!==0){if(J!==D)QX(A,J,A.bl_tree),E--;QX(A,ct1,A.bl_tree),lB(A,E-3,2)}else if(E<=10)QX(A,lt1,A.bl_tree),lB(A,E-3,3);else QX(A,it1,A.bl_tree),lB(A,E-11,7);if(E=0,D=J,F===0)Y=138,Z=3;else if(J===F)Y=6,Z=3;else Y=7,Z=4}},L8A=(A)=>{let Q;Ft1(A,A.dyn_ltree,A.l_desc.max_code),Ft1(A,A.dyn_dtree,A.d_desc.max_code),Jv0(A,A.bl_desc);for(Q=Kv0-1;Q>=3;Q--)if(A.bl_tree[nt1[Q]*2+1]!==0)break;return A.opt_len+=3*(Q+1)+5+5+4,Q},O8A=(A,Q,$,B)=>{let D;lB(A,Q-257,5),lB(A,$-1,5),lB(A,B-4,4);for(D=0;D<B;D++)lB(A,A.bl_tree[nt1[D]*2+1],3);Et1(A,A.dyn_ltree,Q-1),Et1(A,A.dyn_dtree,$-1)},j8A=(A)=>{let Q=4093624447,$;for($=0;$<=31;$++,Q>>>=1)if(Q&1&&A.dyn_ltree[$*2]!==0)return 0;if(A.dyn_ltree[18]!==0||A.dyn_ltree[20]!==0||A.dyn_ltree[26]!==0)return 1;for($=32;$<Gd;$++)if(A.dyn_ltree[$*2]!==0)return 1;return 0},Yt1=!1,R8A=(A)=>{if(!Yt1)M8A(),Yt1=!0;A.l_desc=new iT0(A.dyn_ltree,at1),A.d_desc=new iT0(A.dyn_dtree,ot1),A.bl_desc=new iT0(A.bl_tree,rt1),A.bi_buf=0,A.bi_valid=0,Ae1(A)},$e1=(A,Q,$,B)=>{if(lB(A,(K8A<<1)+(B?1:0),3),Qe1(A),Ed(A,$),Ed(A,~$),$)A.pending_buf.set(A.window.subarray(Q,Q+$),A.pending);A.pending+=$},u8A=(A)=>{lB(A,dt1<<1,3),QX(A,zv0,eV),C8A(A)},P8A=(A,Q,$,B)=>{let D,J,F=0;if(A.level>0){if(A.strm.data_type===2)A.strm.data_type=j8A(A);if(Jv0(A,A.l_desc),Jv0(A,A.d_desc),F=L8A(A),D=A.opt_len+3+7>>>3,J=A.static_len+3+7>>>3,J<=D)D=J}else D=J=$+5;if($+4<=D&&Q!==-1)$e1(A,Q,$,B);else if(A.strategy===4||J===D)lB(A,(dt1<<1)+(B?1:0),3),Jt1(A,eV,Qd);else lB(A,(z8A<<1)+(B?1:0),3),O8A(A,A.l_desc.max_code+1,A.d_desc.max_code+1,F+1),Jt1(A,A.dyn_ltree,A.dyn_dtree);if(Ae1(A),B)Qe1(A)},_8A=(A,Q,$)=>{if(A.pending_buf[A.sym_buf+A.sym_next++]=Q,A.pending_buf[A.sym_buf+A.sym_next++]=Q>>8,A.pending_buf[A.sym_buf+A.sym_next++]=$,Q===0)A.dyn_ltree[$*2]++;else A.matches++,Q--,A.dyn_ltree[(Fd[$]+Gd+1)*2]++,A.dyn_dtree[st1(Q)*2]++;return A.sym_next===A.sym_end},T8A,v8A,k8A,S8A,f8A,y8A,x8A=(A,Q,$,B)=>{let D=A&65535|0,J=A>>>16&65535|0,F=0;while($!==0){F=$>2000?2000:$,$-=F;do D=D+Q[B++]|0,J=J+D|0;while(--F);D%=65521,J%=65521}return D|J<<16|0},Yd,b8A=()=>{let A,Q=[];for(var $=0;$<256;$++){A=$;for(var B=0;B<8;B++)A=A&1?3988292384^A>>>1:A>>>1;Q[$]=A}return Q},h8A,g8A=(A,Q,$,B)=>{let D=h8A,J=B+$;A^=-1;for(let F=B;F<J;F++)A=A>>>8^D[(A^Q[F])&255];return A^-1},F7,kM,yM,m8A,Fv0,d8A,mI,p8A,dI,c8A,l8A,lF,Zt1,d7,Ut1,$X,i8A,aT0,n8A,a8A,Y50,o8A,r8A,s8A,t8A,I50,e8A=9,A9A=15,Q9A=8,$9A=29,B9A=256,Ev0,D9A=30,J9A=19,F9A,E9A=15,D3=3,gI=258,BX,Y9A=32,d_=42,Iv0=57,Yv0=69,Zv0=73,Uv0=91,Xv0=103,TM=113,em=666,S$=1,l_=2,SM=3,i_=4,Z9A=3,vM=(A,Q)=>{return A.msg=kM[Q],Q},Xt1=(A)=>{return A*2-(A>4?9:0)},hI=(A)=>{let Q=A.length;while(--Q>=0)A[Q]=0},U9A=(A)=>{let Q,$,B,D=A.w_size;Q=A.hash_size,B=Q;do $=A.head[--B],A.head[B]=$>=D?$-D:0;while(--Q);Q=D,B=Q;do $=A.prev[--B],A.prev[B]=$>=D?$-D:0;while(--Q)},X9A=(A,Q,$)=>(Q<<A.hash_shift^$)&A.hash_mask,pI,XJ=(A)=>{let Q=A.state,$=Q.pending;if($>A.avail_out)$=A.avail_out;if($===0)return;if(A.output.set(Q.pending_buf.subarray(Q.pending_out,Q.pending_out+$),A.next_out),A.next_out+=$,Q.pending_out+=$,A.total_out+=$,A.avail_out-=$,Q.pending-=$,Q.pending===0)Q.pending_out=0},GJ=(A,Q)=>{d8A(A,A.block_start>=0?A.block_start:-1,A.strstart-A.block_start,Q),A.block_start=A.strstart,XJ(A.strm)},i3=(A,Q)=>{A.pending_buf[A.pending++]=Q},tm=(A,Q)=>{A.pending_buf[A.pending++]=Q>>>8&255,A.pending_buf[A.pending++]=Q&255},Gv0=(A,Q,$,B)=>{let D=A.avail_in;if(D>B)D=B;if(D===0)return 0;if(A.avail_in-=D,Q.set(A.input.subarray(A.next_in,A.next_in+D),$),A.state.wrap===1)A.adler=Yd(A.adler,Q,D,$);else if(A.state.wrap===2)A.adler=F7(A.adler,Q,D,$);return A.next_in+=D,A.total_in+=D,D},Be1=(A,Q)=>{let{max_chain_length:$,strstart:B}=A,D,J,F=A.prev_length,E=A.nice_match,Y=A.strstart>A.w_size-BX?A.strstart-(A.w_size-BX):0,Z=A.window,U=A.w_mask,X=A.prev,G=A.strstart+gI,V=Z[B+F-1],K=Z[B+F];if(A.prev_length>=A.good_match)$>>=2;if(E>A.lookahead)E=A.lookahead;do{if(D=Q,Z[D+F]!==K||Z[D+F-1]!==V||Z[D]!==Z[B]||Z[++D]!==Z[B+1])continue;B+=2,D++;do;while(Z[++B]===Z[++D]&&Z[++B]===Z[++D]&&Z[++B]===Z[++D]&&Z[++B]===Z[++D]&&Z[++B]===Z[++D]&&Z[++B]===Z[++D]&&Z[++B]===Z[++D]&&Z[++B]===Z[++D]&&B<G);if(J=gI-(G-B),B=G-gI,J>F){if(A.match_start=Q,F=J,J>=E)break;V=Z[B+F-1],K=Z[B+F]}}while((Q=X[Q&U])>Y&&--$!==0);if(F<=A.lookahead)return F;return A.lookahead},p_=(A)=>{let Q=A.w_size,$,B,D;do{if(B=A.window_size-A.lookahead-A.strstart,A.strstart>=Q+(Q-BX)){if(A.window.set(A.window.subarray(Q,Q+Q-B),0),A.match_start-=Q,A.strstart-=Q,A.block_start-=Q,A.insert>A.strstart)A.insert=A.strstart;U9A(A),B+=Q}if(A.strm.avail_in===0)break;if($=Gv0(A.strm,A.window,A.strstart+A.lookahead,B),A.lookahead+=$,A.lookahead+A.insert>=D3){D=A.strstart-A.insert,A.ins_h=A.window[D],A.ins_h=pI(A,A.ins_h,A.window[D+1]);while(A.insert)if(A.ins_h=pI(A,A.ins_h,A.window[D+D3-1]),A.prev[D&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=D,D++,A.insert--,A.lookahead+A.insert<D3)break}}while(A.lookahead<BX&&A.strm.avail_in!==0)},De1=(A,Q)=>{let $=A.pending_buf_size-5>A.w_size?A.w_size:A.pending_buf_size-5,B,D,J,F=0,E=A.strm.avail_in;do{if(B=65535,J=A.bi_valid+42>>3,A.strm.avail_out<J)break;if(J=A.strm.avail_out-J,D=A.strstart-A.block_start,B>D+A.strm.avail_in)B=D+A.strm.avail_in;if(B>J)B=J;if(B<$&&(B===0&&Q!==lF||Q===dI||B!==D+A.strm.avail_in))break;if(F=Q===lF&&B===D+A.strm.avail_in?1:0,Fv0(A,0,0,F),A.pending_buf[A.pending-4]=B,A.pending_buf[A.pending-3]=B>>8,A.pending_buf[A.pending-2]=~B,A.pending_buf[A.pending-1]=~B>>8,XJ(A.strm),D){if(D>B)D=B;A.strm.output.set(A.window.subarray(A.block_start,A.block_start+D),A.strm.next_out),A.strm.next_out+=D,A.strm.avail_out-=D,A.strm.total_out+=D,A.block_start+=D,B-=D}if(B)Gv0(A.strm,A.strm.output,A.strm.next_out,B),A.strm.next_out+=B,A.strm.avail_out-=B,A.strm.total_out+=B}while(F===0);if(E-=A.strm.avail_in,E){if(E>=A.w_size)A.matches=2,A.window.set(A.strm.input.subarray(A.strm.next_in-A.w_size,A.strm.next_in),0),A.strstart=A.w_size,A.insert=A.strstart;else{if(A.window_size-A.strstart<=E){if(A.strstart-=A.w_size,A.window.set(A.window.subarray(A.w_size,A.w_size+A.strstart),0),A.matches<2)A.matches++;if(A.insert>A.strstart)A.insert=A.strstart}A.window.set(A.strm.input.subarray(A.strm.next_in-E,A.strm.next_in),A.strstart),A.strstart+=E,A.insert+=E>A.w_size-A.insert?A.w_size-A.insert:E}A.block_start=A.strstart}if(A.high_water<A.strstart)A.high_water=A.strstart;if(F)return i_;if(Q!==dI&&Q!==lF&&A.strm.avail_in===0&&A.strstart===A.block_start)return l_;if(J=A.window_size-A.strstart,A.strm.avail_in>J&&A.block_start>=A.w_size){if(A.block_start-=A.w_size,A.strstart-=A.w_size,A.window.set(A.window.subarray(A.w_size,A.w_size+A.strstart),0),A.matches<2)A.matches++;if(J+=A.w_size,A.insert>A.strstart)A.insert=A.strstart}if(J>A.strm.avail_in)J=A.strm.avail_in;if(J)Gv0(A.strm,A.window,A.strstart,J),A.strstart+=J,A.insert+=J>A.w_size-A.insert?A.w_size-A.insert:J;if(A.high_water<A.strstart)A.high_water=A.strstart;if(J=A.bi_valid+42>>3,J=A.pending_buf_size-J>65535?65535:A.pending_buf_size-J,$=J>A.w_size?A.w_size:J,D=A.strstart-A.block_start,D>=$||(D||Q===lF)&&Q!==dI&&A.strm.avail_in===0&&D<=J)B=D>J?J:D,F=Q===lF&&A.strm.avail_in===0&&B===D?1:0,Fv0(A,A.block_start,B,F),A.block_start+=B,XJ(A.strm);return F?SM:S$},oT0=(A,Q)=>{let $,B;for(;;){if(A.lookahead<BX){if(p_(A),A.lookahead<BX&&Q===dI)return S$;if(A.lookahead===0)break}if($=0,A.lookahead>=D3)A.ins_h=pI(A,A.ins_h,A.window[A.strstart+D3-1]),$=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart;if($!==0&&A.strstart-$<=A.w_size-BX)A.match_length=Be1(A,$);if(A.match_length>=D3)if(B=mI(A,A.strstart-A.match_start,A.match_length-D3),A.lookahead-=A.match_length,A.match_length<=A.max_lazy_match&&A.lookahead>=D3){A.match_length--;do A.strstart++,A.ins_h=pI(A,A.ins_h,A.window[A.strstart+D3-1]),$=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart;while(--A.match_length!==0);A.strstart++}else A.strstart+=A.match_length,A.match_length=0,A.ins_h=A.window[A.strstart],A.ins_h=pI(A,A.ins_h,A.window[A.strstart+1]);else B=mI(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++;if(B){if(GJ(A,!1),A.strm.avail_out===0)return S$}}if(A.insert=A.strstart<D3-1?A.strstart:D3-1,Q===lF){if(GJ(A,!0),A.strm.avail_out===0)return SM;return i_}if(A.sym_next){if(GJ(A,!1),A.strm.avail_out===0)return S$}return l_},h_=(A,Q)=>{let $,B,D;for(;;){if(A.lookahead<BX){if(p_(A),A.lookahead<BX&&Q===dI)return S$;if(A.lookahead===0)break}if($=0,A.lookahead>=D3)A.ins_h=pI(A,A.ins_h,A.window[A.strstart+D3-1]),$=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart;if(A.prev_length=A.match_length,A.prev_match=A.match_start,A.match_length=D3-1,$!==0&&A.prev_length<A.max_lazy_match&&A.strstart-$<=A.w_size-BX){if(A.match_length=Be1(A,$),A.match_length<=5&&(A.strategy===a8A||A.match_length===D3&&A.strstart-A.match_start>4096))A.match_length=D3-1}if(A.prev_length>=D3&&A.match_length<=A.prev_length){D=A.strstart+A.lookahead-D3,B=mI(A,A.strstart-1-A.prev_match,A.prev_length-D3),A.lookahead-=A.prev_length-1,A.prev_length-=2;do if(++A.strstart<=D)A.ins_h=pI(A,A.ins_h,A.window[A.strstart+D3-1]),$=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart;while(--A.prev_length!==0);if(A.match_available=0,A.match_length=D3-1,A.strstart++,B){if(GJ(A,!1),A.strm.avail_out===0)return S$}}else if(A.match_available){if(B=mI(A,0,A.window[A.strstart-1]),B)GJ(A,!1);if(A.strstart++,A.lookahead--,A.strm.avail_out===0)return S$}else A.match_available=1,A.strstart++,A.lookahead--}if(A.match_available)B=mI(A,0,A.window[A.strstart-1]),A.match_available=0;if(A.insert=A.strstart<D3-1?A.strstart:D3-1,Q===lF){if(GJ(A,!0),A.strm.avail_out===0)return SM;return i_}if(A.sym_next){if(GJ(A,!1),A.strm.avail_out===0)return S$}return l_},G9A=(A,Q)=>{let $,B,D,J,F=A.window;for(;;){if(A.lookahead<=gI){if(p_(A),A.lookahead<=gI&&Q===dI)return S$;if(A.lookahead===0)break}if(A.match_length=0,A.lookahead>=D3&&A.strstart>0){if(D=A.strstart-1,B=F[D],B===F[++D]&&B===F[++D]&&B===F[++D]){J=A.strstart+gI;do;while(B===F[++D]&&B===F[++D]&&B===F[++D]&&B===F[++D]&&B===F[++D]&&B===F[++D]&&B===F[++D]&&B===F[++D]&&D<J);if(A.match_length=gI-(J-D),A.match_length>A.lookahead)A.match_length=A.lookahead}}if(A.match_length>=D3)$=mI(A,1,A.match_length-D3),A.lookahead-=A.match_length,A.strstart+=A.match_length,A.match_length=0;else $=mI(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++;if($){if(GJ(A,!1),A.strm.avail_out===0)return S$}}if(A.insert=0,Q===lF){if(GJ(A,!0),A.strm.avail_out===0)return SM;return i_}if(A.sym_next){if(GJ(A,!1),A.strm.avail_out===0)return S$}return l_},V9A=(A,Q)=>{let $;for(;;){if(A.lookahead===0){if(p_(A),A.lookahead===0){if(Q===dI)return S$;break}}if(A.match_length=0,$=mI(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++,$){if(GJ(A,!1),A.strm.avail_out===0)return S$}}if(A.insert=0,Q===lF){if(GJ(A,!0),A.strm.avail_out===0)return SM;return i_}if(A.sym_next){if(GJ(A,!1),A.strm.avail_out===0)return S$}return l_},Ad,K9A=(A)=>{A.window_size=2*A.w_size,hI(A.head),A.max_lazy_match=Ad[A.level].max_lazy,A.good_match=Ad[A.level].good_length,A.nice_match=Ad[A.level].nice_length,A.max_chain_length=Ad[A.level].max_chain,A.strstart=0,A.block_start=0,A.lookahead=0,A.insert=0,A.match_length=A.prev_length=D3-1,A.match_available=0,A.ins_h=0},Vd=(A)=>{if(!A)return 1;let Q=A.state;if(!Q||Q.strm!==A||Q.status!==d_&&Q.status!==Iv0&&Q.status!==Yv0&&Q.status!==Zv0&&Q.status!==Uv0&&Q.status!==Xv0&&Q.status!==TM&&Q.status!==em)return 1;return 0},Je1=(A)=>{if(Vd(A))return vM(A,$X);A.total_in=A.total_out=0,A.data_type=t8A;let Q=A.state;if(Q.pending=0,Q.pending_out=0,Q.wrap<0)Q.wrap=-Q.wrap;return Q.status=Q.wrap===2?Iv0:Q.wrap?d_:TM,A.adler=Q.wrap===2?0:1,Q.last_flush=-2,m8A(Q),d7},Fe1=(A)=>{let Q=Je1(A);if(Q===d7)K9A(A.state);return Q},W9A=(A,Q)=>{if(Vd(A)||A.state.wrap!==2)return $X;return A.state.gzhead=Q,d7},Ee1=(A,Q,$,B,D,J)=>{if(!A)return $X;let F=1;if(Q===n8A)Q=6;if(B<0)F=0,B=-B;else if(B>15)F=2,B-=16;if(D<1||D>e8A||$!==I50||B<8||B>15||Q<0||Q>9||J<0||J>r8A||B===8&&F!==1)return vM(A,$X);if(B===8)B=9;let E=new z9A;return A.state=E,E.strm=A,E.status=d_,E.wrap=F,E.gzhead=null,E.w_bits=B,E.w_size=1<<E.w_bits,E.w_mask=E.w_size-1,E.hash_bits=D+7,E.hash_size=1<<E.hash_bits,E.hash_mask=E.hash_size-1,E.hash_shift=~~((E.hash_bits+D3-1)/D3),E.window=new Uint8Array(E.w_size*2),E.head=new Uint16Array(E.hash_size),E.prev=new Uint16Array(E.w_size),E.lit_bufsize=1<<D+6,E.pending_buf_size=E.lit_bufsize*4,E.pending_buf=new Uint8Array(E.pending_buf_size),E.sym_buf=E.lit_bufsize,E.sym_end=(E.lit_bufsize-1)*3,E.level=Q,E.strategy=J,E.method=$,Fe1(A)},I9A=(A,Q)=>{return Ee1(A,Q,I50,A9A,Q9A,s8A)},H9A=(A,Q)=>{if(Vd(A)||Q>Zt1||Q<0)return A?vM(A,$X):$X;let $=A.state;if(!A.output||A.avail_in!==0&&!A.input||$.status===em&&Q!==lF)return vM(A,A.avail_out===0?aT0:$X);let B=$.last_flush;if($.last_flush=Q,$.pending!==0){if(XJ(A),A.avail_out===0)return $.last_flush=-1,d7}else if(A.avail_in===0&&Xt1(Q)<=Xt1(B)&&Q!==lF)return vM(A,aT0);if($.status===em&&A.avail_in!==0)return vM(A,aT0);if($.status===d_&&$.wrap===0)$.status=TM;if($.status===d_){let D=I50+($.w_bits-8<<4)<<8,J=-1;if($.strategy>=Y50||$.level<2)J=0;else if($.level<6)J=1;else if($.level===6)J=2;else J=3;if(D|=J<<6,$.strstart!==0)D|=Y9A;if(D+=31-D%31,tm($,D),$.strstart!==0)tm($,A.adler>>>16),tm($,A.adler&65535);if(A.adler=1,$.status=TM,XJ(A),$.pending!==0)return $.last_flush=-1,d7}if($.status===Iv0)if(A.adler=0,i3($,31),i3($,139),i3($,8),!$.gzhead){if(i3($,0),i3($,0),i3($,0),i3($,0),i3($,0),i3($,$.level===9?2:$.strategy>=Y50||$.level<2?4:0),i3($,Z9A),$.status=TM,XJ(A),$.pending!==0)return $.last_flush=-1,d7}else{if(i3($,($.gzhead.text?1:0)+($.gzhead.hcrc?2:0)+(!$.gzhead.extra?0:4)+(!$.gzhead.name?0:8)+(!$.gzhead.comment?0:16)),i3($,$.gzhead.time&255),i3($,$.gzhead.time>>8&255),i3($,$.gzhead.time>>16&255),i3($,$.gzhead.time>>24&255),i3($,$.level===9?2:$.strategy>=Y50||$.level<2?4:0),i3($,$.gzhead.os&255),$.gzhead.extra&&$.gzhead.extra.length)i3($,$.gzhead.extra.length&255),i3($,$.gzhead.extra.length>>8&255);if($.gzhead.hcrc)A.adler=F7(A.adler,$.pending_buf,$.pending,0);$.gzindex=0,$.status=Yv0}if($.status===Yv0){if($.gzhead.extra){let D=$.pending,J=($.gzhead.extra.length&65535)-$.gzindex;while($.pending+J>$.pending_buf_size){let E=$.pending_buf_size-$.pending;if($.pending_buf.set($.gzhead.extra.subarray($.gzindex,$.gzindex+E),$.pending),$.pending=$.pending_buf_size,$.gzhead.hcrc&&$.pending>D)A.adler=F7(A.adler,$.pending_buf,$.pending-D,D);if($.gzindex+=E,XJ(A),$.pending!==0)return $.last_flush=-1,d7;D=0,J-=E}let F=new Uint8Array($.gzhead.extra);if($.pending_buf.set(F.subarray($.gzindex,$.gzindex+J),$.pending),$.pending+=J,$.gzhead.hcrc&&$.pending>D)A.adler=F7(A.adler,$.pending_buf,$.pending-D,D);$.gzindex=0}$.status=Zv0}if($.status===Zv0){if($.gzhead.name){let D=$.pending,J;do{if($.pending===$.pending_buf_size){if($.gzhead.hcrc&&$.pending>D)A.adler=F7(A.adler,$.pending_buf,$.pending-D,D);if(XJ(A),$.pending!==0)return $.last_flush=-1,d7;D=0}if($.gzindex<$.gzhead.name.length)J=$.gzhead.name.charCodeAt($.gzindex++)&255;else J=0;i3($,J)}while(J!==0);if($.gzhead.hcrc&&$.pending>D)A.adler=F7(A.adler,$.pending_buf,$.pending-D,D);$.gzindex=0}$.status=Uv0}if($.status===Uv0){if($.gzhead.comment){let D=$.pending,J;do{if($.pending===$.pending_buf_size){if($.gzhead.hcrc&&$.pending>D)A.adler=F7(A.adler,$.pending_buf,$.pending-D,D);if(XJ(A),$.pending!==0)return $.last_flush=-1,d7;D=0}if($.gzindex<$.gzhead.comment.length)J=$.gzhead.comment.charCodeAt($.gzindex++)&255;else J=0;i3($,J)}while(J!==0);if($.gzhead.hcrc&&$.pending>D)A.adler=F7(A.adler,$.pending_buf,$.pending-D,D)}$.status=Xv0}if($.status===Xv0){if($.gzhead.hcrc){if($.pending+2>$.pending_buf_size){if(XJ(A),$.pending!==0)return $.last_flush=-1,d7}i3($,A.adler&255),i3($,A.adler>>8&255),A.adler=0}if($.status=TM,XJ(A),$.pending!==0)return $.last_flush=-1,d7}if(A.avail_in!==0||$.lookahead!==0||Q!==dI&&$.status!==em){let D=$.level===0?De1($,Q):$.strategy===Y50?V9A($,Q):$.strategy===o8A?G9A($,Q):Ad[$.level].func($,Q);if(D===SM||D===i_)$.status=em;if(D===S$||D===SM){if(A.avail_out===0)$.last_flush=-1;return d7}if(D===l_){if(Q===c8A)p8A($);else if(Q!==Zt1){if(Fv0($,0,0,!1),Q===l8A){if(hI($.head),$.lookahead===0)$.strstart=0,$.block_start=0,$.insert=0}}if(XJ(A),A.avail_out===0)return $.last_flush=-1,d7}}if(Q!==lF)return d7;if($.wrap<=0)return Ut1;if($.wrap===2)i3($,A.adler&255),i3($,A.adler>>8&255),i3($,A.adler>>16&255),i3($,A.adler>>24&255),i3($,A.total_in&255),i3($,A.total_in>>8&255),i3($,A.total_in>>16&255),i3($,A.total_in>>24&255);else tm($,A.adler>>>16),tm($,A.adler&65535);if(XJ(A),$.wrap>0)$.wrap=-$.wrap;return $.pending!==0?d7:Ut1},q9A=(A)=>{if(Vd(A))return $X;let Q=A.state.status;return A.state=null,Q===TM?vM(A,i8A):d7},N9A=(A,Q)=>{let $=Q.length;if(Vd(A))return $X;let B=A.state,D=B.wrap;if(D===2||D===1&&B.status!==d_||B.lookahead)return $X;if(D===1)A.adler=Yd(A.adler,Q,$,0);if(B.wrap=0,$>=B.w_size){if(D===0)hI(B.head),B.strstart=0,B.block_start=0,B.insert=0;let Y=new Uint8Array(B.w_size);Y.set(Q.subarray($-B.w_size,$),0),Q=Y,$=B.w_size}let{avail_in:J,next_in:F,input:E}=A;A.avail_in=$,A.next_in=0,A.input=Q,p_(B);while(B.lookahead>=D3){let Y=B.strstart,Z=B.lookahead-(D3-1);do B.ins_h=pI(B,B.ins_h,B.window[Y+D3-1]),B.prev[Y&B.w_mask]=B.head[B.ins_h],B.head[B.ins_h]=Y,Y++;while(--Z);B.strstart=Y,B.lookahead=D3-1,p_(B)}return B.strstart+=B.lookahead,B.block_start=B.strstart,B.insert=B.lookahead,B.lookahead=0,B.match_length=B.prev_length=D3-1,B.match_available=0,A.next_in=F,A.input=E,A.avail_in=J,B.wrap=D,d7},C9A,w9A,M9A,L9A,O9A,j9A,R9A,u9A,P9A="pako deflate (from Nodeca project)",$d,_9A=(A,Q)=>{return Object.prototype.hasOwnProperty.call(A,Q)},T9A=function(A){let Q=Array.prototype.slice.call(arguments,1);while(Q.length){let $=Q.shift();if(!$)continue;if(typeof $!=="object")throw TypeError($+"must be non-object");for(let B in $)if(_9A($,B))A[B]=$[B]}return A},v9A=(A)=>{let Q=0;for(let B=0,D=A.length;B<D;B++)Q+=A[B].length;let $=new Uint8Array(Q);for(let B=0,D=0,J=A.length;B<J;B++){let F=A[B];$.set(F,D),D+=F.length}return $},H50,Ye1=!0,Zd,k9A=(A)=>{if(typeof TextEncoder==="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(A);let Q,$,B,D,J,F=A.length,E=0;for(D=0;D<F;D++){if($=A.charCodeAt(D),($&64512)===55296&&D+1<F){if(B=A.charCodeAt(D+1),(B&64512)===56320)$=65536+($-55296<<10)+(B-56320),D++}E+=$<128?1:$<2048?2:$<65536?3:4}Q=new Uint8Array(E);for(J=0,D=0;J<E;D++){if($=A.charCodeAt(D),($&64512)===55296&&D+1<F){if(B=A.charCodeAt(D+1),(B&64512)===56320)$=65536+($-55296<<10)+(B-56320),D++}if($<128)Q[J++]=$;else if($<2048)Q[J++]=192|$>>>6,Q[J++]=128|$&63;else if($<65536)Q[J++]=224|$>>>12,Q[J++]=128|$>>>6&63,Q[J++]=128|$&63;else Q[J++]=240|$>>>18,Q[J++]=128|$>>>12&63,Q[J++]=128|$>>>6&63,Q[J++]=128|$&63}return Q},S9A=(A,Q)=>{if(Q<65534){if(A.subarray&&Ye1)return String.fromCharCode.apply(null,A.length===Q?A:A.subarray(0,Q))}let $="";for(let B=0;B<Q;B++)$+=String.fromCharCode(A[B]);return $},f9A=(A,Q)=>{let $=Q||A.length;if(typeof TextDecoder==="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(A.subarray(0,Q));let B,D,J=Array($*2);for(D=0,B=0;B<$;){let F=A[B++];if(F<128){J[D++]=F;continue}let E=Zd[F];if(E>4){J[D++]=65533,B+=E-1;continue}F&=E===2?31:E===3?15:7;while(E>1&&B<$)F=F<<6|A[B++]&63,E--;if(E>1){J[D++]=65533;continue}if(F<65536)J[D++]=F;else F-=65536,J[D++]=55296|F>>10&1023,J[D++]=56320|F&1023}return S9A(J,D)},y9A=(A,Q)=>{if(Q=Q||A.length,Q>A.length)Q=A.length;let $=Q-1;while($>=0&&(A[$]&192)===128)$--;if($<0)return Q;if($===0)return Q;return $+Zd[A[$]]>Q?$:Q},Ud,Ze1,Ue1,b9A,h9A,g9A,m9A,z50,d9A,p9A,c9A,l9A,a9A,o9A,r9A,s9A,t9A,e9A,Z50=16209,A7A=16191,Q7A=function(Q,$){let B,D,J,F,E,Y,Z,U,X,G,V,K,z,W,I,H,q,N,C,O,L,j,k,_,S=Q.state;B=Q.next_in,k=Q.input,D=B+(Q.avail_in-5),J=Q.next_out,_=Q.output,F=J-($-Q.avail_out),E=J+(Q.avail_out-257),Y=S.dmax,Z=S.wsize,U=S.whave,X=S.wnext,G=S.window,V=S.hold,K=S.bits,z=S.lencode,W=S.distcode,I=(1<<S.lenbits)-1,H=(1<<S.distbits)-1;A:do{if(K<15)V+=k[B++]<<K,K+=8,V+=k[B++]<<K,K+=8;q=z[V&I];Q:for(;;){if(N=q>>>24,V>>>=N,K-=N,N=q>>>16&255,N===0)_[J++]=q&65535;else if(N&16){if(C=q&65535,N&=15,N){if(K<N)V+=k[B++]<<K,K+=8;C+=V&(1<<N)-1,V>>>=N,K-=N}if(K<15)V+=k[B++]<<K,K+=8,V+=k[B++]<<K,K+=8;q=W[V&H];$:for(;;){if(N=q>>>24,V>>>=N,K-=N,N=q>>>16&255,N&16){if(O=q&65535,N&=15,K<N){if(V+=k[B++]<<K,K+=8,K<N)V+=k[B++]<<K,K+=8}if(O+=V&(1<<N)-1,O>Y){Q.msg="invalid distance too far back",S.mode=Z50;break A}if(V>>>=N,K-=N,N=J-F,O>N){if(N=O-N,N>U){if(S.sane){Q.msg="invalid distance too far back",S.mode=Z50;break A}}if(L=0,j=G,X===0){if(L+=Z-N,N<C){C-=N;do _[J++]=G[L++];while(--N);L=J-O,j=_}}else if(X<N){if(L+=Z+X-N,N-=X,N<C){C-=N;do _[J++]=G[L++];while(--N);if(L=0,X<C){N=X,C-=N;do _[J++]=G[L++];while(--N);L=J-O,j=_}}}else if(L+=X-N,N<C){C-=N;do _[J++]=G[L++];while(--N);L=J-O,j=_}while(C>2)_[J++]=j[L++],_[J++]=j[L++],_[J++]=j[L++],C-=3;if(C){if(_[J++]=j[L++],C>1)_[J++]=j[L++]}}else{L=J-O;do _[J++]=_[L++],_[J++]=_[L++],_[J++]=_[L++],C-=3;while(C>2);if(C){if(_[J++]=_[L++],C>1)_[J++]=_[L++]}}}else if((N&64)===0){q=W[(q&65535)+(V&(1<<N)-1)];continue $}else{Q.msg="invalid distance code",S.mode=Z50;break A}break}}else if((N&64)===0){q=z[(q&65535)+(V&(1<<N)-1)];continue Q}else if(N&32){S.mode=A7A;break A}else{Q.msg="invalid literal/length code",S.mode=Z50;break A}break}}while(B<D&&J<E);C=K>>3,B-=C,K-=C<<3,V&=(1<<K)-1,Q.next_in=B,Q.next_out=J,Q.avail_in=B<D?5+(D-B):5-(B-D),Q.avail_out=J<E?257+(E-J):257-(J-E),S.hold=V,S.bits=K;return},g_=15,Gt1=852,Vt1=592,Kt1=0,rT0=1,zt1=2,$7A,B7A,D7A,J7A,F7A=(A,Q,$,B,D,J,F,E)=>{let Y=E.bits,Z=0,U=0,X=0,G=0,V=0,K=0,z=0,W=0,I=0,H=0,q,N,C,O,L,j=null,k,_=new Uint16Array(g_+1),S=new Uint16Array(g_+1),h=null,b,v,y;for(Z=0;Z<=g_;Z++)_[Z]=0;for(U=0;U<B;U++)_[Q[$+U]]++;V=Y;for(G=g_;G>=1;G--)if(_[G]!==0)break;if(V>G)V=G;if(G===0)return D[J++]=20971520,D[J++]=20971520,E.bits=1,0;for(X=1;X<G;X++)if(_[X]!==0)break;if(V<X)V=X;W=1;for(Z=1;Z<=g_;Z++)if(W<<=1,W-=_[Z],W<0)return-1;if(W>0&&(A===Kt1||G!==1))return-1;S[1]=0;for(Z=1;Z<g_;Z++)S[Z+1]=S[Z]+_[Z];for(U=0;U<B;U++)if(Q[$+U]!==0)F[S[Q[$+U]]++]=U;if(A===Kt1)j=h=F,k=20;else if(A===rT0)j=$7A,h=B7A,k=257;else j=D7A,h=J7A,k=0;if(H=0,U=0,Z=X,L=J,K=V,z=0,C=-1,I=1<<V,O=I-1,A===rT0&&I>Gt1||A===zt1&&I>Vt1)return 1;for(;;){if(b=Z-z,F[U]+1<k)v=0,y=F[U];else if(F[U]>=k)v=h[F[U]-k],y=j[F[U]-k];else v=96,y=0;q=1<<Z-z,N=1<<K,X=N;do N-=q,D[L+(H>>z)+N]=b<<24|v<<16|y|0;while(N!==0);q=1<<Z-1;while(H&q)q>>=1;if(q!==0)H&=q-1,H+=q;else H=0;if(U++,--_[Z]===0){if(Z===G)break;Z=Q[$+F[U]]}if(Z>V&&(H&O)!==C){if(z===0)z=V;L+=X,K=Z-z,W=1<<K;while(K+z<G){if(W-=_[K+z],W<=0)break;K++,W<<=1}if(I+=1<<K,A===rT0&&I>Gt1||A===zt1&&I>Vt1)return 1;C=H&O,D[C]=V<<24|K<<16|L-J|0}}if(H!==0)D[L+H]=Z-z<<24|4194304|0;return E.bits=V,0},Bd,E7A=0,Xe1=1,Ge1=2,Wt1,Y7A,U50,fM,Z7A,U7A,iF,Ve1,Ke1,X7A,It1,q50=16180,Ht1=16181,qt1=16182,Nt1=16183,Ct1=16184,wt1=16185,Mt1=16186,Lt1=16187,Ot1=16188,jt1=16189,W50=16190,tV=16191,sT0=16192,Rt1=16193,tT0=16194,ut1=16195,Pt1=16196,_t1=16197,Tt1=16198,X50=16199,G50=16200,vt1=16201,kt1=16202,St1=16203,ft1=16204,yt1=16205,eT0=16206,xt1=16207,bt1=16208,q2=16209,ze1=16210,We1=16211,G7A=852,V7A=592,K7A=15,z7A,ht1=(A)=>{return(A>>>24&255)+(A>>>8&65280)+((A&65280)<<8)+((A&255)<<24)},xM=(A)=>{if(!A)return 1;let Q=A.state;if(!Q||Q.strm!==A||Q.mode<q50||Q.mode>We1)return 1;return 0},Ie1=(A)=>{if(xM(A))return iF;let Q=A.state;if(A.total_in=A.total_out=Q.total=0,A.msg="",Q.wrap)A.adler=Q.wrap&1;return Q.mode=q50,Q.last=0,Q.havedict=0,Q.flags=-1,Q.dmax=32768,Q.head=null,Q.hold=0,Q.bits=0,Q.lencode=Q.lendyn=new Int32Array(G7A),Q.distcode=Q.distdyn=new Int32Array(V7A),Q.sane=1,Q.back=-1,fM},He1=(A)=>{if(xM(A))return iF;let Q=A.state;return Q.wsize=0,Q.whave=0,Q.wnext=0,Ie1(A)},qe1=(A,Q)=>{let $;if(xM(A))return iF;let B=A.state;if(Q<0)$=0,Q=-Q;else if($=(Q>>4)+5,Q<48)Q&=15;if(Q&&(Q<8||Q>15))return iF;if(B.window!==null&&B.wbits!==Q)B.window=null;return B.wrap=$,B.wbits=Q,He1(A)},Ne1=(A,Q)=>{if(!A)return iF;let $=new W7A;A.state=$,$.strm=A,$.window=null,$.mode=q50;let B=qe1(A,Q);if(B!==fM)A.state=null;return B},I7A=(A)=>{return Ne1(A,z7A)},gt1=!0,Av0,Qv0,H7A=(A)=>{if(gt1){Av0=new Int32Array(512),Qv0=new Int32Array(32);let Q=0;while(Q<144)A.lens[Q++]=8;while(Q<256)A.lens[Q++]=9;while(Q<280)A.lens[Q++]=7;while(Q<288)A.lens[Q++]=8;Bd(Xe1,A.lens,0,288,Av0,0,A.work,{bits:9}),Q=0;while(Q<32)A.lens[Q++]=5;Bd(Ge1,A.lens,0,32,Qv0,0,A.work,{bits:5}),gt1=!1}A.lencode=Av0,A.lenbits=9,A.distcode=Qv0,A.distbits=5},Ce1=(A,Q,$,B)=>{let D,J=A.state;if(J.window===null)J.wsize=1<<J.wbits,J.wnext=0,J.whave=0,J.window=new Uint8Array(J.wsize);if(B>=J.wsize)J.window.set(Q.subarray($-J.wsize,$),0),J.wnext=0,J.whave=J.wsize;else{if(D=J.wsize-J.wnext,D>B)D=B;if(J.window.set(Q.subarray($-B,$-B+D),J.wnext),B-=D,B)J.window.set(Q.subarray($-B,$),0),J.wnext=B,J.whave=J.wsize;else{if(J.wnext+=D,J.wnext===J.wsize)J.wnext=0;if(J.whave<J.wsize)J.whave+=D}}return 0},q7A=(A,Q)=>{let $,B,D,J,F,E,Y,Z,U,X,G,V,K,z,W=0,I,H,q,N,C,O,L,j,k=new Uint8Array(4),_,S,h=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(xM(A)||!A.output||!A.input&&A.avail_in!==0)return iF;if($=A.state,$.mode===tV)$.mode=sT0;F=A.next_out,D=A.output,Y=A.avail_out,J=A.next_in,B=A.input,E=A.avail_in,Z=$.hold,U=$.bits,X=E,G=Y,j=fM;A:for(;;)switch($.mode){case q50:if($.wrap===0){$.mode=sT0;break}while(U<16){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}if($.wrap&2&&Z===35615){if($.wbits===0)$.wbits=15;$.check=0,k[0]=Z&255,k[1]=Z>>>8&255,$.check=F7($.check,k,2,0),Z=0,U=0,$.mode=Ht1;break}if($.head)$.head.done=!1;if(!($.wrap&1)||(((Z&255)<<8)+(Z>>8))%31){A.msg="incorrect header check",$.mode=q2;break}if((Z&15)!==It1){A.msg="unknown compression method",$.mode=q2;break}if(Z>>>=4,U-=4,L=(Z&15)+8,$.wbits===0)$.wbits=L;if(L>15||L>$.wbits){A.msg="invalid window size",$.mode=q2;break}$.dmax=1<<$.wbits,$.flags=0,A.adler=$.check=1,$.mode=Z&512?jt1:tV,Z=0,U=0;break;case Ht1:while(U<16){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}if($.flags=Z,($.flags&255)!==It1){A.msg="unknown compression method",$.mode=q2;break}if($.flags&57344){A.msg="unknown header flags set",$.mode=q2;break}if($.head)$.head.text=Z>>8&1;if($.flags&512&&$.wrap&4)k[0]=Z&255,k[1]=Z>>>8&255,$.check=F7($.check,k,2,0);Z=0,U=0,$.mode=qt1;case qt1:while(U<32){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}if($.head)$.head.time=Z;if($.flags&512&&$.wrap&4)k[0]=Z&255,k[1]=Z>>>8&255,k[2]=Z>>>16&255,k[3]=Z>>>24&255,$.check=F7($.check,k,4,0);Z=0,U=0,$.mode=Nt1;case Nt1:while(U<16){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}if($.head)$.head.xflags=Z&255,$.head.os=Z>>8;if($.flags&512&&$.wrap&4)k[0]=Z&255,k[1]=Z>>>8&255,$.check=F7($.check,k,2,0);Z=0,U=0,$.mode=Ct1;case Ct1:if($.flags&1024){while(U<16){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}if($.length=Z,$.head)$.head.extra_len=Z;if($.flags&512&&$.wrap&4)k[0]=Z&255,k[1]=Z>>>8&255,$.check=F7($.check,k,2,0);Z=0,U=0}else if($.head)$.head.extra=null;$.mode=wt1;case wt1:if($.flags&1024){if(V=$.length,V>E)V=E;if(V){if($.head){if(L=$.head.extra_len-$.length,!$.head.extra)$.head.extra=new Uint8Array($.head.extra_len);$.head.extra.set(B.subarray(J,J+V),L)}if($.flags&512&&$.wrap&4)$.check=F7($.check,B,V,J);E-=V,J+=V,$.length-=V}if($.length)break A}$.length=0,$.mode=Mt1;case Mt1:if($.flags&2048){if(E===0)break A;V=0;do if(L=B[J+V++],$.head&&L&&$.length<65536)$.head.name+=String.fromCharCode(L);while(L&&V<E);if($.flags&512&&$.wrap&4)$.check=F7($.check,B,V,J);if(E-=V,J+=V,L)break A}else if($.head)$.head.name=null;$.length=0,$.mode=Lt1;case Lt1:if($.flags&4096){if(E===0)break A;V=0;do if(L=B[J+V++],$.head&&L&&$.length<65536)$.head.comment+=String.fromCharCode(L);while(L&&V<E);if($.flags&512&&$.wrap&4)$.check=F7($.check,B,V,J);if(E-=V,J+=V,L)break A}else if($.head)$.head.comment=null;$.mode=Ot1;case Ot1:if($.flags&512){while(U<16){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}if($.wrap&4&&Z!==($.check&65535)){A.msg="header crc mismatch",$.mode=q2;break}Z=0,U=0}if($.head)$.head.hcrc=$.flags>>9&1,$.head.done=!0;A.adler=$.check=0,$.mode=tV;break;case jt1:while(U<32){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}A.adler=$.check=ht1(Z),Z=0,U=0,$.mode=W50;case W50:if($.havedict===0)return A.next_out=F,A.avail_out=Y,A.next_in=J,A.avail_in=E,$.hold=Z,$.bits=U,U7A;A.adler=$.check=1,$.mode=tV;case tV:if(Q===Y7A||Q===U50)break A;case sT0:if($.last){Z>>>=U&7,U-=U&7,$.mode=eT0;break}while(U<3){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}switch($.last=Z&1,Z>>>=1,U-=1,Z&3){case 0:$.mode=Rt1;break;case 1:if(H7A($),$.mode=X50,Q===U50){Z>>>=2,U-=2;break A}break;case 2:$.mode=Pt1;break;case 3:A.msg="invalid block type",$.mode=q2}Z>>>=2,U-=2;break;case Rt1:Z>>>=U&7,U-=U&7;while(U<32){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}if((Z&65535)!==(Z>>>16^65535)){A.msg="invalid stored block lengths",$.mode=q2;break}if($.length=Z&65535,Z=0,U=0,$.mode=tT0,Q===U50)break A;case tT0:$.mode=ut1;case ut1:if(V=$.length,V){if(V>E)V=E;if(V>Y)V=Y;if(V===0)break A;D.set(B.subarray(J,J+V),F),E-=V,J+=V,Y-=V,F+=V,$.length-=V;break}$.mode=tV;break;case Pt1:while(U<14){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}if($.nlen=(Z&31)+257,Z>>>=5,U-=5,$.ndist=(Z&31)+1,Z>>>=5,U-=5,$.ncode=(Z&15)+4,Z>>>=4,U-=4,$.nlen>286||$.ndist>30){A.msg="too many length or distance symbols",$.mode=q2;break}$.have=0,$.mode=_t1;case _t1:while($.have<$.ncode){while(U<3){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}$.lens[h[$.have++]]=Z&7,Z>>>=3,U-=3}while($.have<19)$.lens[h[$.have++]]=0;if($.lencode=$.lendyn,$.lenbits=7,_={bits:$.lenbits},j=Bd(E7A,$.lens,0,19,$.lencode,0,$.work,_),$.lenbits=_.bits,j){A.msg="invalid code lengths set",$.mode=q2;break}$.have=0,$.mode=Tt1;case Tt1:while($.have<$.nlen+$.ndist){for(;;){if(W=$.lencode[Z&(1<<$.lenbits)-1],I=W>>>24,H=W>>>16&255,q=W&65535,I<=U)break;if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}if(q<16)Z>>>=I,U-=I,$.lens[$.have++]=q;else{if(q===16){S=I+2;while(U<S){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}if(Z>>>=I,U-=I,$.have===0){A.msg="invalid bit length repeat",$.mode=q2;break}L=$.lens[$.have-1],V=3+(Z&3),Z>>>=2,U-=2}else if(q===17){S=I+3;while(U<S){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}Z>>>=I,U-=I,L=0,V=3+(Z&7),Z>>>=3,U-=3}else{S=I+7;while(U<S){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}Z>>>=I,U-=I,L=0,V=11+(Z&127),Z>>>=7,U-=7}if($.have+V>$.nlen+$.ndist){A.msg="invalid bit length repeat",$.mode=q2;break}while(V--)$.lens[$.have++]=L}}if($.mode===q2)break;if($.lens[256]===0){A.msg="invalid code -- missing end-of-block",$.mode=q2;break}if($.lenbits=9,_={bits:$.lenbits},j=Bd(Xe1,$.lens,0,$.nlen,$.lencode,0,$.work,_),$.lenbits=_.bits,j){A.msg="invalid literal/lengths set",$.mode=q2;break}if($.distbits=6,$.distcode=$.distdyn,_={bits:$.distbits},j=Bd(Ge1,$.lens,$.nlen,$.ndist,$.distcode,0,$.work,_),$.distbits=_.bits,j){A.msg="invalid distances set",$.mode=q2;break}if($.mode=X50,Q===U50)break A;case X50:$.mode=G50;case G50:if(E>=6&&Y>=258){if(A.next_out=F,A.avail_out=Y,A.next_in=J,A.avail_in=E,$.hold=Z,$.bits=U,Q7A(A,G),F=A.next_out,D=A.output,Y=A.avail_out,J=A.next_in,B=A.input,E=A.avail_in,Z=$.hold,U=$.bits,$.mode===tV)$.back=-1;break}$.back=0;for(;;){if(W=$.lencode[Z&(1<<$.lenbits)-1],I=W>>>24,H=W>>>16&255,q=W&65535,I<=U)break;if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}if(H&&(H&240)===0){N=I,C=H,O=q;for(;;){if(W=$.lencode[O+((Z&(1<<N+C)-1)>>N)],I=W>>>24,H=W>>>16&255,q=W&65535,N+I<=U)break;if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}Z>>>=N,U-=N,$.back+=N}if(Z>>>=I,U-=I,$.back+=I,$.length=q,H===0){$.mode=yt1;break}if(H&32){$.back=-1,$.mode=tV;break}if(H&64){A.msg="invalid literal/length code",$.mode=q2;break}$.extra=H&15,$.mode=vt1;case vt1:if($.extra){S=$.extra;while(U<S){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}$.length+=Z&(1<<$.extra)-1,Z>>>=$.extra,U-=$.extra,$.back+=$.extra}$.was=$.length,$.mode=kt1;case kt1:for(;;){if(W=$.distcode[Z&(1<<$.distbits)-1],I=W>>>24,H=W>>>16&255,q=W&65535,I<=U)break;if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}if((H&240)===0){N=I,C=H,O=q;for(;;){if(W=$.distcode[O+((Z&(1<<N+C)-1)>>N)],I=W>>>24,H=W>>>16&255,q=W&65535,N+I<=U)break;if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}Z>>>=N,U-=N,$.back+=N}if(Z>>>=I,U-=I,$.back+=I,H&64){A.msg="invalid distance code",$.mode=q2;break}$.offset=q,$.extra=H&15,$.mode=St1;case St1:if($.extra){S=$.extra;while(U<S){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}$.offset+=Z&(1<<$.extra)-1,Z>>>=$.extra,U-=$.extra,$.back+=$.extra}if($.offset>$.dmax){A.msg="invalid distance too far back",$.mode=q2;break}$.mode=ft1;case ft1:if(Y===0)break A;if(V=G-Y,$.offset>V){if(V=$.offset-V,V>$.whave){if($.sane){A.msg="invalid distance too far back",$.mode=q2;break}}if(V>$.wnext)V-=$.wnext,K=$.wsize-V;else K=$.wnext-V;if(V>$.length)V=$.length;z=$.window}else z=D,K=F-$.offset,V=$.length;if(V>Y)V=Y;Y-=V,$.length-=V;do D[F++]=z[K++];while(--V);if($.length===0)$.mode=G50;break;case yt1:if(Y===0)break A;D[F++]=$.length,Y--,$.mode=G50;break;case eT0:if($.wrap){while(U<32){if(E===0)break A;E--,Z|=B[J++]<<U,U+=8}if(G-=Y,A.total_out+=G,$.total+=G,$.wrap&4&&G)A.adler=$.check=$.flags?F7($.check,D,G,F-G):Yd($.check,D,G,F-G);if(G=Y,$.wrap&4&&($.flags?Z:ht1(Z))!==$.check){A.msg="incorrect data check",$.mode=q2;break}Z=0,U=0}$.mode=xt1;case xt1:if($.wrap&&$.flags){while(U<32){if(E===0)break A;E--,Z+=B[J++]<<U,U+=8}if($.wrap&4&&Z!==($.total&4294967295)){A.msg="incorrect length check",$.mode=q2;break}Z=0,U=0}$.mode=bt1;case bt1:j=Z7A;break A;case q2:j=Ve1;break A;case ze1:return Ke1;case We1:default:return iF}if(A.next_out=F,A.avail_out=Y,A.next_in=J,A.avail_in=E,$.hold=Z,$.bits=U,$.wsize||G!==A.avail_out&&$.mode<q2&&($.mode<eT0||Q!==Wt1)){if(Ce1(A,A.output,A.next_out,G-A.avail_out));}if(X-=A.avail_in,G-=A.avail_out,A.total_in+=X,A.total_out+=G,$.total+=G,$.wrap&4&&G)A.adler=$.check=$.flags?F7($.check,D,G,A.next_out-G):Yd($.check,D,G,A.next_out-G);if(A.data_type=$.bits+($.last?64:0)+($.mode===tV?128:0)+($.mode===X50||$.mode===tT0?256:0),(X===0&&G===0||Q===Wt1)&&j===fM)j=X7A;return j},N7A=(A)=>{if(xM(A))return iF;let Q=A.state;if(Q.window)Q.window=null;return A.state=null,fM},C7A=(A,Q)=>{if(xM(A))return iF;let $=A.state;if(($.wrap&2)===0)return iF;return $.head=Q,Q.done=!1,fM},w7A=(A,Q)=>{let $=Q.length,B,D,J;if(xM(A))return iF;if(B=A.state,B.wrap!==0&&B.mode!==W50)return iF;if(B.mode===W50){if(D=1,D=Yd(D,Q,$,0),D!==B.check)return Ve1}if(J=Ce1(A,Q,$,$),J)return B.mode=ze1,Ke1;return B.havedict=1,fM},M7A,L7A,O7A,j7A,R7A,u7A,P7A,_7A,T7A,v7A="pako inflate (from Nodeca project)",AK,S7A,we1,f7A,y7A,Xd,$v0,Bv0,x7A,mt1,b7A,g7A,m7A,d7A,p7A,c7A,l7A,i7A,n7A,a7A,o7A,r7A,s7A,t7A,e7A,AQA,QQA,$QA,BQA,DQA,JQA,FQA,EQA,YQA,Me1;var Le1=r(()=>{/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */Dd=Gd+1+Vv0,pt1=2*Dd+1,Dv0=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),V50=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),q8A=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),nt1=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),eV=Array((Dd+2)*2);c_(eV);Qd=Array(m_*2);c_(Qd);Jd=Array(N8A);c_(Jd);Fd=Array(I8A-W8A+1);c_(Fd);Wv0=Array(Vv0);c_(Wv0);K50=Array(m_);c_(K50);T8A=R8A,v8A=$e1,k8A=P8A,S8A=_8A,f8A=u8A,y8A={_tr_init:T8A,_tr_stored_block:v8A,_tr_flush_block:k8A,_tr_tally:S8A,_tr_align:f8A},Yd=x8A,h8A=new Uint32Array(b8A()),F7=g8A,kM={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},yM={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:m8A,_tr_stored_block:Fv0,_tr_flush_block:d8A,_tr_tally:mI,_tr_align:p8A}=y8A,{Z_NO_FLUSH:dI,Z_PARTIAL_FLUSH:c8A,Z_FULL_FLUSH:l8A,Z_FINISH:lF,Z_BLOCK:Zt1,Z_OK:d7,Z_STREAM_END:Ut1,Z_STREAM_ERROR:$X,Z_DATA_ERROR:i8A,Z_BUF_ERROR:aT0,Z_DEFAULT_COMPRESSION:n8A,Z_FILTERED:a8A,Z_HUFFMAN_ONLY:Y50,Z_RLE:o8A,Z_FIXED:r8A,Z_DEFAULT_STRATEGY:s8A,Z_UNKNOWN:t8A,Z_DEFLATED:I50}=yM,Ev0=B9A+1+$9A,F9A=2*Ev0+1,BX=gI+D3+1,pI=X9A;Ad=[new AX(0,0,0,0,De1),new AX(4,4,8,4,oT0),new AX(4,5,16,8,oT0),new AX(4,6,32,32,oT0),new AX(4,4,16,16,h_),new AX(8,16,32,32,h_),new AX(8,16,128,128,h_),new AX(8,32,128,256,h_),new AX(32,128,258,1024,h_),new AX(32,258,258,4096,h_)];C9A=I9A,w9A=Ee1,M9A=Fe1,L9A=Je1,O9A=W9A,j9A=H9A,R9A=q9A,u9A=N9A,$d={deflateInit:C9A,deflateInit2:w9A,deflateReset:M9A,deflateResetKeep:L9A,deflateSetHeader:O9A,deflate:j9A,deflateEnd:R9A,deflateSetDictionary:u9A,deflateInfo:P9A},H50={assign:T9A,flattenChunks:v9A};try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(A){Ye1=!1}Zd=new Uint8Array(256);for(let A=0;A<256;A++)Zd[A]=A>=252?6:A>=248?5:A>=240?4:A>=224?3:A>=192?2:1;Zd[254]=Zd[254]=1;Ud={string2buf:k9A,buf2string:f9A,utf8border:y9A};Ze1=x9A,Ue1=Object.prototype.toString,{Z_NO_FLUSH:b9A,Z_SYNC_FLUSH:h9A,Z_FULL_FLUSH:g9A,Z_FINISH:m9A,Z_OK:z50,Z_STREAM_END:d9A,Z_DEFAULT_COMPRESSION:p9A,Z_DEFAULT_STRATEGY:c9A,Z_DEFLATED:l9A}=yM;Kd.prototype.push=function(A,Q){let $=this.strm,B=this.options.chunkSize,D,J;if(this.ended)return!1;if(Q===~~Q)J=Q;else J=Q===!0?m9A:b9A;if(typeof A==="string")$.input=Ud.string2buf(A);else if(Ue1.call(A)==="[object ArrayBuffer]")$.input=new Uint8Array(A);else $.input=A;$.next_in=0,$.avail_in=$.input.length;for(;;){if($.avail_out===0)$.output=new Uint8Array(B),$.next_out=0,$.avail_out=B;if((J===h9A||J===g9A)&&$.avail_out<=6){this.onData($.output.subarray(0,$.next_out)),$.avail_out=0;continue}if(D=$d.deflate($,J),D===d9A){if($.next_out>0)this.onData($.output.subarray(0,$.next_out));return D=$d.deflateEnd(this.strm),this.onEnd(D),this.ended=!0,D===z50}if($.avail_out===0){this.onData($.output);continue}if(J>0&&$.next_out>0){this.onData($.output.subarray(0,$.next_out)),$.avail_out=0;continue}if($.avail_in===0)break}return!0};Kd.prototype.onData=function(A){this.chunks.push(A)};Kd.prototype.onEnd=function(A){if(A===z50)this.result=H50.flattenChunks(this.chunks);this.chunks=[],this.err=A,this.msg=this.strm.msg};a9A=Kd,o9A=Hv0,r9A=i9A,s9A=n9A,t9A=yM,e9A={Deflate:a9A,deflate:o9A,deflateRaw:r9A,gzip:s9A,constants:t9A},$7A=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),B7A=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),D7A=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),J7A=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),Bd=F7A,{Z_FINISH:Wt1,Z_BLOCK:Y7A,Z_TREES:U50,Z_OK:fM,Z_STREAM_END:Z7A,Z_NEED_DICT:U7A,Z_STREAM_ERROR:iF,Z_DATA_ERROR:Ve1,Z_MEM_ERROR:Ke1,Z_BUF_ERROR:X7A,Z_DEFLATED:It1}=yM,z7A=K7A;M7A=He1,L7A=qe1,O7A=Ie1,j7A=I7A,R7A=Ne1,u7A=q7A,P7A=N7A,_7A=C7A,T7A=w7A,AK={inflateReset:M7A,inflateReset2:L7A,inflateResetKeep:O7A,inflateInit:j7A,inflateInit2:R7A,inflate:u7A,inflateEnd:P7A,inflateGetHeader:_7A,inflateSetDictionary:T7A,inflateInfo:v7A};S7A=k7A,we1=Object.prototype.toString,{Z_NO_FLUSH:f7A,Z_FINISH:y7A,Z_OK:Xd,Z_STREAM_END:$v0,Z_NEED_DICT:Bv0,Z_STREAM_ERROR:x7A,Z_DATA_ERROR:mt1,Z_MEM_ERROR:b7A}=yM;zd.prototype.push=function(A,Q){let $=this.strm,B=this.options.chunkSize,D=this.options.dictionary,J,F,E;if(this.ended)return!1;if(Q===~~Q)F=Q;else F=Q===!0?y7A:f7A;if(we1.call(A)==="[object ArrayBuffer]")$.input=new Uint8Array(A);else $.input=A;$.next_in=0,$.avail_in=$.input.length;for(;;){if($.avail_out===0)$.output=new Uint8Array(B),$.next_out=0,$.avail_out=B;if(J=AK.inflate($,F),J===Bv0&&D){if(J=AK.inflateSetDictionary($,D),J===Xd)J=AK.inflate($,F);else if(J===mt1)J=Bv0}while($.avail_in>0&&J===$v0&&$.state.wrap>0&&A[$.next_in]!==0)AK.inflateReset($),J=AK.inflate($,F);switch(J){case x7A:case mt1:case Bv0:case b7A:return this.onEnd(J),this.ended=!0,!1}if(E=$.avail_out,$.next_out){if($.avail_out===0||J===$v0)if(this.options.to==="string"){let Y=Ud.utf8border($.output,$.next_out),Z=$.next_out-Y,U=Ud.buf2string($.output,Y);if($.next_out=Z,$.avail_out=B-Z,Z)$.output.set($.output.subarray(Y,Y+Z),0);this.onData(U)}else this.onData($.output.length===$.next_out?$.output:$.output.subarray(0,$.next_out))}if(J===Xd&&E===0)continue;if(J===$v0)return J=AK.inflateEnd(this.strm),this.onEnd(J),this.ended=!0,!0;if($.avail_in===0)break}return!0};zd.prototype.onData=function(A){this.chunks.push(A)};zd.prototype.onEnd=function(A){if(A===Xd)if(this.options.to==="string")this.result=this.chunks.join("");else this.result=H50.flattenChunks(this.chunks);this.chunks=[],this.err=A,this.msg=this.strm.msg};g7A=zd,m7A=qv0,d7A=h7A,p7A=qv0,c7A=yM,l7A={Inflate:g7A,inflate:m7A,inflateRaw:d7A,ungzip:p7A,constants:c7A},{Deflate:i7A,deflate:n7A,deflateRaw:a7A,gzip:o7A}=e9A,{Inflate:r7A,inflate:s7A,inflateRaw:t7A,ungzip:e7A}=l7A,AQA=i7A,QQA=n7A,$QA=a7A,BQA=o7A,DQA=r7A,JQA=s7A,FQA=t7A,EQA=e7A,YQA=yM,Me1={Deflate:AQA,deflate:QQA,deflateRaw:$QA,gzip:BQA,Inflate:DQA,inflate:JQA,inflateRaw:FQA,ungzip:EQA,constants:YQA}});import{randomFillSync as ZQA}from"crypto";function w50(){if(N50>C50.length-16)ZQA(C50),N50=0;return C50.slice(N50,N50+=16)}var C50,N50;var Oe1=r(()=>{C50=new Uint8Array(256),N50=C50.length});function je1(A,Q=0){return(p7[A[Q+0]]+p7[A[Q+1]]+p7[A[Q+2]]+p7[A[Q+3]]+"-"+p7[A[Q+4]]+p7[A[Q+5]]+"-"+p7[A[Q+6]]+p7[A[Q+7]]+"-"+p7[A[Q+8]]+p7[A[Q+9]]+"-"+p7[A[Q+10]]+p7[A[Q+11]]+p7[A[Q+12]]+p7[A[Q+13]]+p7[A[Q+14]]+p7[A[Q+15]]).toLowerCase()}var p7;var Re1=r(()=>{p7=[];for(let A=0;A<256;++A)p7.push((A+256).toString(16).slice(1))});function UQA(A,Q,$){let B;if(A)B=ue1(A.random??A.rng?.()??w50(),A.msecs,A.seq,Q,$);else{let D=Date.now(),J=w50();XQA(Nv0,D,J),B=ue1(J,Nv0.msecs,Nv0.seq,Q,$)}return Q??je1(B)}function XQA(A,Q,$){if(A.msecs??=-1/0,A.seq??=0,Q>A.msecs)A.seq=$[6]<<23|$[7]<<16|$[8]<<8|$[9],A.msecs=Q;else if(A.seq=A.seq+1|0,A.seq===0)A.msecs++;return A}function ue1(A,Q,$,B,D=0){if(A.length<16)throw Error("Random bytes length must be >= 16");if(!B)B=new Uint8Array(16),D=0;else if(D<0||D+16>B.length)throw RangeError(`UUID byte range ${D}:${D+15} is out of buffer bounds`);return Q??=Date.now(),$??=A[6]*127<<24|A[7]<<16|A[8]<<8|A[9],B[D++]=Q/1099511627776&255,B[D++]=Q/4294967296&255,B[D++]=Q/16777216&255,B[D++]=Q/65536&255,B[D++]=Q/256&255,B[D++]=Q&255,B[D++]=112|$>>>28&15,B[D++]=$>>>20&255,B[D++]=128|$>>>14&63,B[D++]=$>>>6&255,B[D++]=$<<2&255|A[10]&3,B[D++]=A[11],B[D++]=A[12],B[D++]=A[13],B[D++]=A[14],B[D++]=A[15],B}var Nv0,n_;var Pe1=r(()=>{Oe1();Re1();Nv0={};n_=UQA});var Cv0=r(()=>{Pe1()});function GQA(A){let Q=0,$=[];while(Q<A.length){let B=A[Q];if(B==="\\"){Q++;continue}if(B==="{"){$.push({type:"brace",value:"{"}),Q++;continue}if(B==="}"){$.push({type:"brace",value:"}"}),Q++;continue}if(B==="["){$.push({type:"paren",value:"["}),Q++;continue}if(B==="]"){$.push({type:"paren",value:"]"}),Q++;continue}if(B===":"){$.push({type:"separator",value:":"}),Q++;continue}if(B===","){$.push({type:"delimiter",value:","}),Q++;continue}if(B==='"'){let E="",Y=!1;B=A[++Q];while(B!=='"'){if(Q===A.length){Y=!0;break}if(B==="\\"){if(Q++,Q===A.length){Y=!0;break}E+=B+A[Q],B=A[++Q]}else E+=B,B=A[++Q]}if(B=A[++Q],!Y)$.push({type:"string",value:E});continue}if(B&&/\s/.test(B)){Q++;continue}let J=/[0-9]/;if(B&&J.test(B)||B==="-"||B==="."){let E="";if(B==="-")E+=B,B=A[++Q];while(B&&J.test(B)||B===".")E+=B,B=A[++Q];$.push({type:"number",value:E});continue}let F=/[a-z]/i;if(B&&F.test(B)){let E="";while(B&&F.test(B)){if(Q===A.length)break;E+=B,B=A[++Q]}if(E==="true"||E==="false"||E==="null")$.push({type:"name",value:E});else{Q++;continue}continue}Q++}return $}function a_(A){if(A.length===0)return A;let Q=A[A.length-1];if(!Q)return A;switch(Q.type){case"separator":return a_(A.slice(0,A.length-1));case"number":{let $=Q.value[Q.value.length-1];if($==="."||$==="-")return a_(A.slice(0,A.length-1));break}case"string":{let $=A[A.length-2];if($?.type==="delimiter")return a_(A.slice(0,A.length-1));else if($?.type==="brace"&&$.value==="{")return a_(A.slice(0,A.length-1));break}case"delimiter":return a_(A.slice(0,A.length-1))}return A}function VQA(A){let Q=[];for(let $ of A){if($.type==="brace")if($.value==="{")Q.push("}");else{let B=Q.lastIndexOf("}");if(B!==-1)Q.splice(B,1)}if($.type==="paren")if($.value==="[")Q.push("]");else{let B=Q.lastIndexOf("]");if(B!==-1)Q.splice(B,1)}}if(Q.length>0){Q.reverse();for(let $ of Q)if($==="}")A.push({type:"brace",value:"}"});else if($==="]")A.push({type:"paren",value:"]"})}return A}function KQA(A){let Q="";for(let $ of A)switch($.type){case"string":Q+='"'+$.value+'"';break;default:Q+=$.value;break}return Q}function M50(A){let Q=KQA(VQA(a_(GQA(A))));return JSON.parse(Q)}function L50(A){try{let Q=M50(A);if(Q!==null&&typeof Q==="object"&&!Array.isArray(Q))return Q;return{}}catch{return{}}}function O50(A,Q,$="..."){if(A.length<=Q)return A;return A.slice(0,Math.max(0,Q-$.length))+$}function zQA(A){let Q=A.match(/^(?:cat\s+)?<<['"]?(\w+)['"]?\s*\n([\s\S]*?)\n\1\s*$/);if(Q)return Q[2];return A}function WQA(A,Q){let $=A[Q];if(!$)return null;let B=$.match(/^\*\*\* Add File: (.+)$/);if(B)return{filePath:B[1],nextIdx:Q+1};let D=$.match(/^\*\*\* Delete File: (.+)$/);if(D)return{filePath:D[1],nextIdx:Q+1};let J=$.match(/^\*\*\* Update File: (.+)$/);if(J){let F,E=Q+1,Y=A[E];if(Y){let Z=Y.match(/^\*\*\* Move to: (.+)$/);if(Z)F=Z[1],E++}return{filePath:J[1],movePath:F,nextIdx:E}}return null}function wv0(A){return A.startsWith("*** Add File:")||A.startsWith("*** Update File:")||A.startsWith("*** Delete File:")||A.trim()==="*** End Patch"}function IQA(A,Q){let $=[],B=Q;while(B<A.length){let D=A[B];if(wv0(D))break;if(D.startsWith("+"))$.push(D.slice(1));else if(D==="")$.push("");else throw Error(`Invalid patch format: Add File lines must start with '+', got: "${D.slice(0,20)}${D.length>20?"...":""}"`);B++}return{content:$.join(`
217
217
  `),nextIdx:B}}function _e1(A){return A.startsWith("+")||A.startsWith("-")||A.startsWith(" ")}function HQA(A,Q){let $=[],B=Q;while(B<A.length){let D=A[B];if(wv0(D))break;if(D.trim()==="*** End of File"){B++;continue}if(D.startsWith("@@")||_e1(D)){let{chunk:J,nextIdx:F}=qQA(A,B);$.push(J),B=F;continue}throw Error(`Invalid patch format: unexpected line in Update File: "${D.slice(0,30)}..."`)}return{chunks:$,nextIdx:B}}function qQA(A,Q){let $=Q,B=[],D=[],J=!1,F=[];while($<A.length&&A[$].startsWith("@@")){let Z=A[$].slice(2).trimStart();if(Z)F.push(Z);$++}while($<A.length){let Y=A[$];if(Y.trim()==="*** End of File"){J=!0,$++;break}if(Y.startsWith("@@")||wv0(Y))break;if(!_e1(Y))throw Error(`Invalid patch format: hunk lines must start with ' ', '-', or '+', got: "${Y.slice(0,20)}..."`);if(Y.startsWith("-"))B.push(Y.slice(1));else if(Y.startsWith("+"))D.push(Y.slice(1));else if(Y.startsWith(" "))B.push(Y.slice(1)),D.push(Y.slice(1));$++}let E=F.length>0?F.filter(Boolean).join(`
218
218
  `):void 0;return{chunk:{oldLines:B,newLines:D,changeContext:E,isEndOfFile:J},nextIdx:$}}function DX(A){let $=zQA(A.trim()).split(`
219
219
  `),B=[],D=[],J="*** Begin Patch",F="*** End Patch",E=$.findIndex((V)=>V.trim()==="*** Begin Patch"),Y=$.findIndex((V)=>V.trim()==="*** End Patch");if(E===-1&&Y===-1)throw Error(`Invalid patch format: missing *** Begin Patch and *** End Patch markers.
@@ -4791,13 +4791,13 @@ ${z}`))}},error:(K)=>{if(!V)V=!0,Z(Error(`Failed to spawn brew: ${K.message}`))}
4791
4791
  ${z}`;if(F==="pnpm"&&z.includes("Unable to find the global bin directory"))W+=`
4792
4792
 
4793
4793
  Hint: Try running "pnpm setup" to configure pnpm global directory, or use npm instead:
4794
- npm install -g ${J}`;Z(Error(W))}},error:(K)=>{if(!G)G=!0,Z(Error(`Failed to spawn ${F}: ${K.message}`))},complete:()=>{if(!G)G=!0,Y()}})})}p0();p0();Fz();var kq3="@ampcode/cli";async function UY0(A,Q,$=kq3){let D=`${Q||"https://registry.npmjs.org"}/${$}/latest`,J=new AbortController,F=setTimeout(()=>J.abort(),5000);try{let E=await fetch(D,{signal:J.signal});if(!E.ok)return{hasUpdate:!1,currentVersion:A,source:"npm"};let Y=await E.json(),Z=Y.version??Y["dist-tags"]?.latest;if(!Z)return{hasUpdate:!1,currentVersion:A,source:"npm"};let U=Po(A,Z),X=U<0,G,V;if(Y.time){let K=Y.time[A],z=Y.time[Z],W=Date.now();if(K)G=Math.floor((W-new Date(K).getTime())/3600000);if(z)V=Math.floor((W-new Date(z).getTime())/3600000)}return u.info("NPM version comparison",{currentVersion:A,latestVersion:Z,compareResult:U,hasUpdate:X,currentVersionAge:G,latestVersionAge:V}),{hasUpdate:X,latestVersion:Z,currentVersion:A,currentVersionAge:G,latestVersionAge:V,source:"npm"}}catch(E){return u.debug("Error checking npm version",{error:E}),{hasUpdate:!1,currentVersion:A,source:"npm"}}finally{clearTimeout(F)}}var Sq3="https://static.ampcode.com/cli/cli-version.txt";async function XY0(A){let Q=new AbortController,$=setTimeout(()=>Q.abort(),5000);try{let B=await fetch(`${Sq3}?t=${Date.now()}`,{signal:Q.signal,cache:"no-store"});if(!B.ok)return{hasUpdate:!1,currentVersion:A,source:"bin"};let D=(await B.text()).trim();if(!D||!/^\d+\.\d+\.\d+/.test(D))return{hasUpdate:!1,currentVersion:A,source:"bin"};let J=Po(A,D),F=J<0;return u.info("Bin version comparison",{currentVersion:A,latestVersion:D,compareResult:J,hasUpdate:F}),{hasUpdate:F,latestVersion:D,currentVersion:A,source:"bin"}}catch(B){return u.debug("Error checking bin version",{error:B}),{hasUpdate:!1,currentVersion:A,source:"bin"}}finally{clearTimeout($)}}var fq3=604800000;function Iy4(A){if(!A)return null;let Q=typeof A==="number"?A:new Date(A).getTime();if(isNaN(Q))return null;let $=Date.now()-Q;if($>fq3)return{ageMs:$};return null}function Po(A,Q){let $=(F)=>{let[E,Y]=F.split("-");return{parts:E?.split(".").map(Number)||[],label:Y}},B=$(A),D=$(Q),J=Math.max(B.parts.length,D.parts.length);for(let F=0;F<J;F++){let E=B.parts[F]||0,Y=D.parts[F]||0;if(E<Y)return-1;if(E>Y)return 1}if(B.label===D.label)return 0;if(!B.label&&D.label)return 1;if(B.label&&!D.label)return-1;if(B.label&&D.label)return B.label<D.label?-1:1;return 0}function _o(A){try{let Q=A.match(/^0\.0\.(\d+)(?:-(.+))?/);if(!Q)return null;let $=parseInt(Q[1],10),B=$!==0?$*1000:void 0,J=Q[2]?.match(/^g?([a-f0-9]+)$/)?.[1],F=B!==void 0?RE(B):void 0;return{sha:J,timestamp:B,age:F}}catch{return null}}u1();p0();import{readFile as yq3,realpath as xq3}from"node:fs/promises";import{dirname as Hy4,join as bq3}from"node:path";async function qy4(A){switch(A){case"binary":case"brew":return hq3(Ro());case"npm":case"pnpm":case"yarn":case"bun":return gq3()}}async function hq3(A){let Q=await KN(A,["--version"],5000);if(Q.reason!=="success")return u.debug("failed to read version from binary",{binaryPath:A,result:Q}),null;return Q.output.trim().split(/\s+/)[0]||null}async function gq3(){try{let A=process.argv[1];if(!A)return null;let Q=await xq3(A),$=Hy4(Hy4(Q));return await mq3(bq3($,"package.json"))}catch(A){return u.debug("failed to read installed version from package.json",{error:A}),null}}async function mq3(A){let Q=await yq3(A,"utf8"),$=JSON.parse(Q);if(!$.name||!St0($.name))return u.debug("package.json name mismatch",{pkgJsonPath:A,name:$.name}),null;return $.version||null}p0();import{spawn as dq3}from"node:child_process";function mt0(A){if(A=A.replace(/\/$/,""),!A.startsWith("http://")&&!A.startsWith("https://"))A=`https://${A}`;try{return new URL(A),A}catch{return u.warn(`Invalid registry URL: ${A}, falling back to npmjs.org`),"https://registry.npmjs.org"}}var GY0=null,To=null;function Ny4(A){return new Promise((Q)=>{let $=dq3("npm",["config","get",A],{stdio:["ignore","pipe","ignore"],timeout:5000,shell:process.platform==="win32"}),B="";$.stdout.on("data",(D)=>{B+=D.toString()}),$.on("close",(D,J)=>{if(D!==0||J==="SIGTERM"){Q(null);return}let F=B.trim();Q(F&&F!=="undefined"?F:null)}),$.on("error",()=>{Q(null)})})}async function VY0(){if(GY0)return GY0;if(To)return To;To=(async()=>{let A=process.env.NPM_CONFIG_REGISTRY??process.env.npm_config_registry;if(A)return mt0(A);let Q=await Ny4("@sourcegraph:registry");if(Q)return mt0(Q);let $=await Ny4("registry");if($)return mt0($);return"https://registry.npmjs.org"})();try{return GY0=await To,GY0}finally{To=null}}var pq3=3600000,cq3=5000;function KY0(A,Q,$={}){let B=new d4,D=B.pipe(t6({shouldCountRefs:!1})),J=$.startDelayMs??0,F=$.checkIntervalMs??pq3,E=!1,Y=()=>{E=!0};return setImmediate(async()=>{let Z=u.getChild("update");if(J>0){if(await sX(J),E)return}let U=D.subscribe({next:(G)=>{Z.debug("emit new state",G)}}),X=A;try{while(!E){let G=await lq3(X,Q,Z,B);if(G.stop)return;if(G.updatedTo)X=G.updatedTo;if(G.emittedVisibleState){if(await sX(cq3),E)return;B.next("hidden")}if(F<=0)return;let V=1000,K=F;while(K>0&&!E){let z=Math.min(V,K);await sX(z),K-=z}}}finally{U.unsubscribe(),B.complete()}}),{state:D,dispose:Y}}async function lq3(A,Q,$,B){let D={stop:!1,emittedVisibleState:!1};try{if(process.env.AMP_SKIP_UPDATE_CHECK==="1")return $.debug("checking disabled via AMP_SKIP_UPDATE_CHECK environment variable"),D.stop=!0,D;let J=await Q.get("updates.mode");if(J==="disabled")return $.debug("checking disabled"),D.stop=!0,D;let F=await jG(),E=F==="binary"||F==="brew",Y=E?void 0:await zN();$.debug("checking",{currentVersion:A,mode:J,packageManager:F,isBinaryDistribution:E,npmPackageName:Y});let Z;if(E)Z=await XY0(A);else{let G=await VY0();Z=await UY0(A,G,Y)}if(!(Z.latestVersion&&Z.hasUpdate))return $.debug("no update available"),D;let U=(G)=>{B.next(G),D.emittedVisibleState=!0};if(F){let G=await qy4(F);if(G&&Po(G,Z.latestVersion)>=0){if($.debug("on-disk version already up to date",{currentVersion:A,installedVersion:G,latestVersion:Z.latestVersion}),D.updatedTo=G,Po(A,G)<0){let V=await Tz(G),K={from:A,to:G,externallyUpdated:!0,...V};if(V.status==="same")$.info("on-disk already updated by another instance",K),U("updated");else $.warn("on-disk already updated by another instance, with PATH warning",K),U("updated-with-warning")}return D}}let X=()=>{if(Z.currentVersionAge!==void 0&&Z.latestVersionAge!==void 0){let G=Z.currentVersionAge-Z.latestVersionAge,V=0.5;if(Math.abs(G)<0.5)return $.debug("versions too close together, suppressing update warning",{currentVersionAge:Z.currentVersionAge,latestVersionAge:Z.latestVersionAge,ageDifferenceHours:G}),!0}return!1};if(!J)J=F==="pnpm"?"warn":"auto",$.debug("no configured update mode; selected default based on package manager",{packageManager:F,mode:J});if(F==="brew"){if(!X())U("update-available-brew");return D}if(F==="binary"&&process.execPath!==Ro()){if($.debug("non-standard binary path, showing warning"),!X())U("update-available-unrecognized-path");return D}if(J==="warn"){if(!X())U("update-available");return D}if(!F){if($.debug("auto-update not supported, falling back to warn mode"),!X())U("update-available");return D}try{await uo(Z.latestVersion,F),D.updatedTo=Z.latestVersion;let G=await Tz(Z.latestVersion),V={from:Z.currentVersion,to:Z.latestVersion,...G};if(G.status==="same")$.info("success",V),U("updated");else $.warn("success with warning",V),U("updated-with-warning")}catch(G){U("update-error")}return D}catch(J){return $.debug("check failed",{error:J}),D}}Fz();import{stderr as pE}from"node:process";function Cy4(A){let Q=new oq().name("install").description("Install required tools like ripgrep to $AMP_HOME/bin").option("--force","Force reinstallation even if already installed").option("--verbose","Show installation progress and results").action(async(B)=>{await vt0(B.force||!1,B.verbose||!1,"0.0.1779547160-g4a1cc9"),process.exit()});A.addCommand(Q,{hidden:!0});let $=new oq("update").alias("up").summary("Update Amp CLI").description("Update Amp CLI to the latest version. You can specify a particular version to install, or leave blank to get the latest stable release.").option("--target-version <version>","Update to a specific version").allowUnknownOption(!1).action(async(B)=>{await aq3(B.targetVersion)});A.addCommand($)}function iq3(A){let Q=Boolean(A.isTTY),$=0,B=!1;function D(){if(!Q||!B)return;A.write(`
4794
+ npm install -g ${J}`;Z(Error(W))}},error:(K)=>{if(!G)G=!0,Z(Error(`Failed to spawn ${F}: ${K.message}`))},complete:()=>{if(!G)G=!0,Y()}})})}p0();p0();Fz();var kq3="@ampcode/cli";async function UY0(A,Q,$=kq3){let D=`${Q||"https://registry.npmjs.org"}/${$}/latest`,J=new AbortController,F=setTimeout(()=>J.abort(),5000);try{let E=await fetch(D,{signal:J.signal});if(!E.ok)return{hasUpdate:!1,currentVersion:A,source:"npm"};let Y=await E.json(),Z=Y.version??Y["dist-tags"]?.latest;if(!Z)return{hasUpdate:!1,currentVersion:A,source:"npm"};let U=Po(A,Z),X=U<0,G,V;if(Y.time){let K=Y.time[A],z=Y.time[Z],W=Date.now();if(K)G=Math.floor((W-new Date(K).getTime())/3600000);if(z)V=Math.floor((W-new Date(z).getTime())/3600000)}return u.info("NPM version comparison",{currentVersion:A,latestVersion:Z,compareResult:U,hasUpdate:X,currentVersionAge:G,latestVersionAge:V}),{hasUpdate:X,latestVersion:Z,currentVersion:A,currentVersionAge:G,latestVersionAge:V,source:"npm"}}catch(E){return u.debug("Error checking npm version",{error:E}),{hasUpdate:!1,currentVersion:A,source:"npm"}}finally{clearTimeout(F)}}var Sq3="https://static.ampcode.com/cli/cli-version.txt";async function XY0(A){let Q=new AbortController,$=setTimeout(()=>Q.abort(),5000);try{let B=await fetch(`${Sq3}?t=${Date.now()}`,{signal:Q.signal,cache:"no-store"});if(!B.ok)return{hasUpdate:!1,currentVersion:A,source:"bin"};let D=(await B.text()).trim();if(!D||!/^\d+\.\d+\.\d+/.test(D))return{hasUpdate:!1,currentVersion:A,source:"bin"};let J=Po(A,D),F=J<0;return u.info("Bin version comparison",{currentVersion:A,latestVersion:D,compareResult:J,hasUpdate:F}),{hasUpdate:F,latestVersion:D,currentVersion:A,source:"bin"}}catch(B){return u.debug("Error checking bin version",{error:B}),{hasUpdate:!1,currentVersion:A,source:"bin"}}finally{clearTimeout($)}}var fq3=604800000;function Iy4(A){if(!A)return null;let Q=typeof A==="number"?A:new Date(A).getTime();if(isNaN(Q))return null;let $=Date.now()-Q;if($>fq3)return{ageMs:$};return null}function Po(A,Q){let $=(F)=>{let[E,Y]=F.split("-");return{parts:E?.split(".").map(Number)||[],label:Y}},B=$(A),D=$(Q),J=Math.max(B.parts.length,D.parts.length);for(let F=0;F<J;F++){let E=B.parts[F]||0,Y=D.parts[F]||0;if(E<Y)return-1;if(E>Y)return 1}if(B.label===D.label)return 0;if(!B.label&&D.label)return 1;if(B.label&&!D.label)return-1;if(B.label&&D.label)return B.label<D.label?-1:1;return 0}function _o(A){try{let Q=A.match(/^0\.0\.(\d+)(?:-(.+))?/);if(!Q)return null;let $=parseInt(Q[1],10),B=$!==0?$*1000:void 0,J=Q[2]?.match(/^g?([a-f0-9]+)$/)?.[1],F=B!==void 0?RE(B):void 0;return{sha:J,timestamp:B,age:F}}catch{return null}}u1();p0();import{readFile as yq3,realpath as xq3}from"node:fs/promises";import{dirname as Hy4,join as bq3}from"node:path";async function qy4(A){switch(A){case"binary":case"brew":return hq3(Ro());case"npm":case"pnpm":case"yarn":case"bun":return gq3()}}async function hq3(A){let Q=await KN(A,["--version"],5000);if(Q.reason!=="success")return u.debug("failed to read version from binary",{binaryPath:A,result:Q}),null;return Q.output.trim().split(/\s+/)[0]||null}async function gq3(){try{let A=process.argv[1];if(!A)return null;let Q=await xq3(A),$=Hy4(Hy4(Q));return await mq3(bq3($,"package.json"))}catch(A){return u.debug("failed to read installed version from package.json",{error:A}),null}}async function mq3(A){let Q=await yq3(A,"utf8"),$=JSON.parse(Q);if(!$.name||!St0($.name))return u.debug("package.json name mismatch",{pkgJsonPath:A,name:$.name}),null;return $.version||null}p0();import{spawn as dq3}from"node:child_process";function mt0(A){if(A=A.replace(/\/$/,""),!A.startsWith("http://")&&!A.startsWith("https://"))A=`https://${A}`;try{return new URL(A),A}catch{return u.warn(`Invalid registry URL: ${A}, falling back to npmjs.org`),"https://registry.npmjs.org"}}var GY0=null,To=null;function Ny4(A){return new Promise((Q)=>{let $=dq3("npm",["config","get",A],{stdio:["ignore","pipe","ignore"],timeout:5000,shell:process.platform==="win32"}),B="";$.stdout.on("data",(D)=>{B+=D.toString()}),$.on("close",(D,J)=>{if(D!==0||J==="SIGTERM"){Q(null);return}let F=B.trim();Q(F&&F!=="undefined"?F:null)}),$.on("error",()=>{Q(null)})})}async function VY0(){if(GY0)return GY0;if(To)return To;To=(async()=>{let A=process.env.NPM_CONFIG_REGISTRY??process.env.npm_config_registry;if(A)return mt0(A);let Q=await Ny4("@sourcegraph:registry");if(Q)return mt0(Q);let $=await Ny4("registry");if($)return mt0($);return"https://registry.npmjs.org"})();try{return GY0=await To,GY0}finally{To=null}}var pq3=3600000,cq3=5000;function KY0(A,Q,$={}){let B=new d4,D=B.pipe(t6({shouldCountRefs:!1})),J=$.startDelayMs??0,F=$.checkIntervalMs??pq3,E=!1,Y=()=>{E=!0};return setImmediate(async()=>{let Z=u.getChild("update");if(J>0){if(await sX(J),E)return}let U=D.subscribe({next:(G)=>{Z.debug("emit new state",G)}}),X=A;try{while(!E){let G=await lq3(X,Q,Z,B);if(G.stop)return;if(G.updatedTo)X=G.updatedTo;if(G.emittedVisibleState){if(await sX(cq3),E)return;B.next("hidden")}if(F<=0)return;let V=1000,K=F;while(K>0&&!E){let z=Math.min(V,K);await sX(z),K-=z}}}finally{U.unsubscribe(),B.complete()}}),{state:D,dispose:Y}}async function lq3(A,Q,$,B){let D={stop:!1,emittedVisibleState:!1};try{if(process.env.AMP_SKIP_UPDATE_CHECK==="1")return $.debug("checking disabled via AMP_SKIP_UPDATE_CHECK environment variable"),D.stop=!0,D;let J=await Q.get("updates.mode");if(J==="disabled")return $.debug("checking disabled"),D.stop=!0,D;let F=await jG(),E=F==="binary"||F==="brew",Y=E?void 0:await zN();$.debug("checking",{currentVersion:A,mode:J,packageManager:F,isBinaryDistribution:E,npmPackageName:Y});let Z;if(E)Z=await XY0(A);else{let G=await VY0();Z=await UY0(A,G,Y)}if(!(Z.latestVersion&&Z.hasUpdate))return $.debug("no update available"),D;let U=(G)=>{B.next(G),D.emittedVisibleState=!0};if(F){let G=await qy4(F);if(G&&Po(G,Z.latestVersion)>=0){if($.debug("on-disk version already up to date",{currentVersion:A,installedVersion:G,latestVersion:Z.latestVersion}),D.updatedTo=G,Po(A,G)<0){let V=await Tz(G),K={from:A,to:G,externallyUpdated:!0,...V};if(V.status==="same")$.info("on-disk already updated by another instance",K),U("updated");else $.warn("on-disk already updated by another instance, with PATH warning",K),U("updated-with-warning")}return D}}let X=()=>{if(Z.currentVersionAge!==void 0&&Z.latestVersionAge!==void 0){let G=Z.currentVersionAge-Z.latestVersionAge,V=0.5;if(Math.abs(G)<0.5)return $.debug("versions too close together, suppressing update warning",{currentVersionAge:Z.currentVersionAge,latestVersionAge:Z.latestVersionAge,ageDifferenceHours:G}),!0}return!1};if(!J)J=F==="pnpm"?"warn":"auto",$.debug("no configured update mode; selected default based on package manager",{packageManager:F,mode:J});if(F==="brew"){if(!X())U("update-available-brew");return D}if(F==="binary"&&process.execPath!==Ro()){if($.debug("non-standard binary path, showing warning"),!X())U("update-available-unrecognized-path");return D}if(J==="warn"){if(!X())U("update-available");return D}if(!F){if($.debug("auto-update not supported, falling back to warn mode"),!X())U("update-available");return D}try{await uo(Z.latestVersion,F),D.updatedTo=Z.latestVersion;let G=await Tz(Z.latestVersion),V={from:Z.currentVersion,to:Z.latestVersion,...G};if(G.status==="same")$.info("success",V),U("updated");else $.warn("success with warning",V),U("updated-with-warning")}catch(G){U("update-error")}return D}catch(J){return $.debug("check failed",{error:J}),D}}Fz();import{stderr as pE}from"node:process";function Cy4(A){let Q=new oq().name("install").description("Install required tools like ripgrep to $AMP_HOME/bin").option("--force","Force reinstallation even if already installed").option("--verbose","Show installation progress and results").action(async(B)=>{await vt0(B.force||!1,B.verbose||!1,"0.0.1779567279-g6cae00"),process.exit()});A.addCommand(Q,{hidden:!0});let $=new oq("update").alias("up").summary("Update Amp CLI").description("Update Amp CLI to the latest version. You can specify a particular version to install, or leave blank to get the latest stable release.").option("--target-version <version>","Update to a specific version").allowUnknownOption(!1).action(async(B)=>{await aq3(B.targetVersion)});A.addCommand($)}function iq3(A){let Q=Boolean(A.isTTY),$=0,B=!1;function D(){if(!Q||!B)return;A.write(`
4795
4795
  `),B=!1,$=0}function J(F){if(!Q)return;let E=F.padEnd($," ");A.write(`\r${E}`),B=!0,$=E.length}return{flushProgressLine:D,renderProgress:J}}function nq3(A){if(A.source==="npm"&&A.latestVersionAge!==void 0&&A.latestVersionAge>36)pE.write(t0.yellow(`The latest Amp CLI version reported by npm is older than expected. Be aware that you may be using an npm proxy with a corporate policy to delay package updates.
4796
4796
  `))}async function aq3(A){let $=process.platform==="win32"&&Lj()?{currentExecutablePath:process.execPath}:void 0,{flushProgressLine:B,renderProgress:D}=iq3(pE);if(process.env.AMP_SKIP_UPDATE_CHECK==="1")pE.write(t0.yellow(`Note: AMP_SKIP_UPDATE_CHECK=1 is set, which disables automatic update checking. Manual updates will still work.
4797
4797
 
4798
4798
  `));try{if(!A){pE.write(t0.blue(`Checking for updates...
4799
- `));let E=!1,Y;if(Lj()){let Z=await XY0("0.0.1779547160-g4a1cc9");E=Z.hasUpdate,Y=Z.latestVersion}else{let Z=await VY0(),U=await zN(),X=await UY0("0.0.1779547160-g4a1cc9",Z,U);nq3(X),E=X.hasUpdate,Y=X.latestVersion}if(!E){let Z=_o("0.0.1779547160-g4a1cc9"),U=Z?.age?`released ${Z.age} ago`:`built ${RE(new Date("2026-05-23T14:43:31.718Z"))} ago`;pE.write(t0.green(`✓ Amp is already up to date on version ${"0.0.1779547160-g4a1cc9"} (${U})
4800
- `));let X=await Tz("0.0.1779547160-g4a1cc9",$);if(X.warning)pE.write(`
4799
+ `));let E=!1,Y;if(Lj()){let Z=await XY0("0.0.1779567279-g6cae00");E=Z.hasUpdate,Y=Z.latestVersion}else{let Z=await VY0(),U=await zN(),X=await UY0("0.0.1779567279-g6cae00",Z,U);nq3(X),E=X.hasUpdate,Y=X.latestVersion}if(!E){let Z=_o("0.0.1779567279-g6cae00"),U=Z?.age?`released ${Z.age} ago`:`built ${RE(new Date("2026-05-23T20:19:06.020Z"))} ago`;pE.write(t0.green(`✓ Amp is already up to date on version ${"0.0.1779567279-g6cae00"} (${U})
4800
+ `));let X=await Tz("0.0.1779567279-g6cae00",$);if(X.warning)pE.write(`
4801
4801
  `+t0.yellow(X.warning)+`
4802
4802
  `);process.exit(0)}if(!Y)pE.write(t0.yellow("[WARN] could not find latest version")),process.exit(0);A=Y}pE.write(t0.blue(`Updating to version ${A}...
4803
4803
  `)),await uo(A,void 0,(E)=>{B(),pE.write(t0.dim(`Running: ${E}
@@ -5225,7 +5225,7 @@ ${B}`).join(`
5225
5225
  `).length,D=new d({text:new w(A,new T({color:$}))});if(B<=dU0)return D;return new X0({width:1/0,height:dU0,child:new i8({autofocus:!1,controller:Q,child:D})})}function Yf3(){return new Map([[G1.key("PageUp"),new pU0],[G1.key("PageDown"),new T41],[G1.ctrl("u"),new pU0],[G1.shift("Home"),new v41],[G1.shift("End"),new k41]])}function Zf3(A,Q,$){return Math.max(Q,Math.min(A,$))}var S41=8,zi4=1,Wi4=S41-1;class f41 extends V4{}class y41 extends V4{}class cU0 extends V4{}class lU0 extends V4{}class x41 extends V4{}class b41 extends V4{}class h41 extends u0{props;constructor(A){super(A.key===void 0?{}:{key:A.key});this.props=A}createState(){return new Ii4}}class Ii4 extends R0{messageScroll=new v6;initState(){super.initState(),this.messageScroll.followMode=!1,this.messageScroll.jumpTo(0)}dispose(){this.messageScroll.dispose(),super.dispose()}build(A){let Q=this.widget.props,$=Uf3(Q,this.messageScroll),B=Xf3(Q.options.message),D=B?new x4({actions:this.buildScrollActions(),child:new vA({debugLabel:"NeoSelectDialogScrollShortcuts",shortcuts:Vf3(),child:$})}):$,J=[{keys:["↑/↓","j/k"],label:"move"},{keys:["Enter"],label:"select"}];if(B)J.push({keys:["Ctrl+E","Ctrl+Y"],label:"scroll"});return J.push({keys:["Esc"],label:"cancel"}),new C6({header:Q.options.title,minWidth:64,maxWidth:80,footer:J,autofocus:!1,onDismiss:Q.onCancel,child:D})}buildScrollActions(){let A=(Q)=>{let $=Kf3(this.messageScroll.offset+Q,0,this.messageScroll.maxScrollExtent);this.messageScroll.jumpTo($)};return new Map([[f41,new T1(()=>A(-zi4))],[y41,new T1(()=>A(zi4))],[cU0,new T1(()=>A(-Wi4))],[lU0,new T1(()=>A(Wi4))],[x41,new T1(()=>this.messageScroll.jumpTo(0))],[b41,new T1(()=>this.messageScroll.jumpTo(this.messageScroll.maxScrollExtent))]])}}function Uf3(A,Q){let $=A.options.options.map((D)=>({value:D,label:D})),B=Math.max(0,$.findIndex((D)=>D.value===A.options.initialValue));return new G8({options:$,selectedIndex:B,body:Gf3(A.options.message,Q),onSelect:(D)=>{if(D===null){A.onCancel();return}A.onSelect(D)},padding:V0.all(0),showBorder:!1,showDismissalMessage:!1,enableMouseInteraction:!0,wrapOptions:!0})}function Xf3(A){if(A===void 0)return!1;return A.split(`
5226
5226
  `).length>S41}function Gf3(A,Q){if(A===void 0)return;let $=A.split(`
5227
5227
  `).length,B=Math.min($,S41);return new X0({width:1/0,height:B,child:new i8({autofocus:!1,controller:Q,child:new d({text:new w(A)})})})}function Vf3(){return new Map([[G1.key("PageUp"),new cU0],[G1.key("PageDown"),new lU0],[G1.ctrl("u"),new cU0],[G1.ctrl("d"),new lU0],[G1.ctrl("y"),new f41],[G1.ctrl("e"),new y41],[G1.shift("Home"),new x41],[G1.shift("End"),new b41]])}function Kf3(A,Q,$){return Math.max(Q,Math.min(A,$))}var zf3=3,Wf3=new y6("NeoPluginDialogOverlay");function Hi4(A,Q,$){if($!==void 0)return{type:"response",id:A,error:$};if(Q===void 0)return{type:"response",id:A};return{type:"response",id:A,result:Q}}class g41{options;unregisterPluginCommands=null;pluginCommandSubscriptions=[];pluginErrorToastKeys=new Set;activeDialog=null;queuedDialogs=[];resolvingDialog=null;pendingOwnerUIRequests=new Map;pendingActorUIRequests=new Map;stateBackedRequestIDs=new Set;pluginUIRespondRequestCounter=0;statusItems=new Map;blockingConfirmDialog=!1;disposed=!1;constructor(A){this.options=A}init(){this.disposed=!1,this.configurePluginPlatform(),this.subscribePluginCommands()}dispose(){this.disposed=!0,this.unregisterPluginCommands?.(),this.unregisterPluginCommands=null;for(let A of this.pluginCommandSubscriptions)A.unsubscribe();this.pluginCommandSubscriptions=[],this.cancelOwnerUIRequests(),this.cancelPendingDialogs(),this.statusItems.clear(),this.clearPluginPlatformStatusHandlers()}handlePluginMessage(A,Q){let $=A.message;if($.type==="response"){this.cancelOwnerUIRequest($.id),this.cancelActorUIRequest($.id);return}if($.type==="event"){if(this.handlePluginUIStateEvent($,Q))return;this.handlePluginEvent($);return}if(this.stateBackedRequestIDs.has($.id))return;if(!VE0($.method))return;this.handleOwnerUIRequest($,Q)}cancelOwnerUIRequests(){let A=[...this.pendingOwnerUIRequests.values(),...this.pendingActorUIRequests.values()];this.pendingOwnerUIRequests.clear(),this.pendingActorUIRequests.clear(),this.stateBackedRequestIDs.clear();for(let Q of A)Q.abort()}hasBlockingDialog(){return this.activeDialog!==null}hasBlockingConfirmDialog(){return this.activeDialog?.kind==="confirm"}buildDialogLayers(){let A=this.activeDialog;if(!A)return[];return[new k4({key:Wf3,debugLabel:"PluginDialogOverlay",autofocus:!1,canRequestFocus:!0,child:this.buildActiveDialog(A)})]}buildActiveDialog(A){switch(A.kind){case"input":return new Ns({key:new fz(A),header:A.options.title??"Input",helpText:A.options.helpText,initialValue:A.options.initialValue,isRequired:!1,onSubmit:(Q)=>this.resolveInputDialog(A,Q),onDismiss:()=>this.resolveInputDialog(A,void 0)});case"confirm":return new _41({key:new fz(A),options:A.options,onConfirm:()=>this.resolveConfirmDialog(A,!0),onCancel:()=>this.resolveConfirmDialog(A,!1)});case"select":return new h41({key:new fz(A),options:A.options,onSelect:(Q)=>this.resolveSelectDialog(A,Q),onCancel:()=>this.resolveSelectDialog(A,void 0)})}}getStatusItems(){return[...this.statusItems.values()].flatMap((A)=>A.value===void 0?[]:[{pluginURI:A.pluginURI,id:A.id,value:A.value}])}configurePluginPlatform(){let A=this.options.neoContext.pluginPlatform;if(!A)return;A.showToast=(Q)=>this.options.toastController.show(Q,"success"),A.showOpenedURLToast=(Q)=>{this.options.toastController.show(`Opened URL: ${Q}`,"success",8000)},A.appendToThreadHandler=this.options.neoContext.observerOnly?async()=>{throw Error("thread.append is only available from an executor-owned plugin runtime")}:this.options.appendToThread,A.showInputDialog=this.showInputDialog,A.showConfirmDialog=this.showConfirmDialog,A.showSelectDialog=this.showSelectDialog,A.createStatusItemHandler=this.createStatusItem,A.updateStatusItemHandler=this.updateStatusItem,A.removeStatusItemHandler=this.removeStatusItem}handlePluginEvent(A){if(A.event!=="ui.notify")return;let Q=A.data;if(typeof Q.message==="string")this.options.toastController.show(Q.message,"success")}async handleOwnerUIRequest(A,Q){let $=new AbortController;this.pendingOwnerUIRequests.set(A.id,$);try{let B=await this.dispatchOwnerUIRequest(A,$.signal);if(this.pendingOwnerUIRequests.get(A.id)!==$)return;this.pendingOwnerUIRequests.delete(A.id),Q(Hi4(A.id,B))}catch(B){if(this.pendingOwnerUIRequests.get(A.id)!==$)return;this.pendingOwnerUIRequests.delete(A.id),Q(Hi4(A.id,void 0,B instanceof Error?B.message:String(B)))}}dispatchOwnerUIRequest(A,Q){switch(A.method){case"ui.input":return this.showInputDialog(A.params.options,Q);case"ui.confirm":return this.showConfirmDialog(A.params.options,Q);case"ui.select":return this.showSelectDialog(A.params.options,Q);default:throw Error(`Unknown owner UI request method: ${A.method}`)}}cancelOwnerUIRequest(A){let Q=this.pendingOwnerUIRequests.get(A);if(!Q)return;this.pendingOwnerUIRequests.delete(A),Q.abort()}cancelActorUIRequest(A){let Q=this.pendingActorUIRequests.get(A);if(!Q)return;this.pendingActorUIRequests.delete(A),Q.abort()}buildPluginUIRespondRequest(A,Q,$){this.pluginUIRespondRequestCounter+=1;let B={requestId:A};if($!==void 0)B.error=$;else if(Q!==void 0)B.result=Q;return{type:"request",id:`plugin-ui-respond-${A}-${this.pluginUIRespondRequestCounter}`,method:"plugin.ui.respond",params:B}}async handleActorUIRequest(A,Q){let $=new AbortController;this.pendingActorUIRequests.set(A.requestId,$);let B={type:"request",id:A.requestId,method:A.method,params:A.params};try{let D=await this.dispatchOwnerUIRequest(B,$.signal);if(this.pendingActorUIRequests.get(A.requestId)!==$)return;this.pendingActorUIRequests.delete(A.requestId),Q(this.buildPluginUIRespondRequest(A.requestId,D))}catch(D){if(this.pendingActorUIRequests.get(A.requestId)!==$)return;this.pendingActorUIRequests.delete(A.requestId),Q(this.buildPluginUIRespondRequest(A.requestId,void 0,D instanceof Error?D.message:String(D)))}}upsertActorUIState(A,Q){if(this.stateBackedRequestIDs.add(A.requestId),A.status!=="pending"){this.cancelActorUIRequest(A.requestId);return}if(this.pendingActorUIRequests.has(A.requestId))return;this.handleActorUIRequest(A,Q)}handlePluginUISnapshot(A,Q){let $=new Set(A.requests.map((B)=>B.requestId));for(let B of this.pendingActorUIRequests.keys())if(!$.has(B))this.cancelActorUIRequest(B);for(let B of this.stateBackedRequestIDs)if(!$.has(B))this.stateBackedRequestIDs.delete(B);for(let B of A.requests)this.upsertActorUIState(B,Q)}handlePluginUIRequestAdded(A,Q){this.upsertActorUIState(A.request,Q)}handlePluginUIRequestSettled(A,Q){this.upsertActorUIState(A.request,Q)}handlePluginUIRequestRemoved(A){this.cancelActorUIRequest(A.requestId),this.stateBackedRequestIDs.delete(A.requestId)}handlePluginUIStateEvent(A,Q){if(A.event==="plugin.ui.snapshot"){let $=AT4.safeParse(A.data);if($.success)this.handlePluginUISnapshot($.data,Q);return!0}if(A.event==="plugin.ui.request_added"){let $=QT4.safeParse(A.data);if($.success)this.handlePluginUIRequestAdded($.data,Q);return!0}if(A.event==="plugin.ui.request_settled"){let $=$T4.safeParse(A.data);if($.success)this.handlePluginUIRequestSettled($.data,Q);return!0}if(A.event==="plugin.ui.request_removed"){let $=BT4.safeParse(A.data);if($.success)this.handlePluginUIRequestRemoved($.data);return!0}return!1}clearPluginPlatformStatusHandlers(){let A=this.options.neoContext.pluginPlatform;if(!A)return;if(A.createStatusItemHandler===this.createStatusItem)A.createStatusItemHandler=null;if(A.updateStatusItemHandler===this.updateStatusItem)A.updateStatusItemHandler=null;if(A.removeStatusItemHandler===this.removeStatusItem)A.removeStatusItemHandler=null}subscribePluginCommands(){let A=this.options.neoContext.pluginService;if(!A)return;this.refreshPluginCommands(A.commands.list()),this.pluginCommandSubscriptions=[A.plugins.subscribe((Q)=>{this.removeInactivePluginStatusItems(Q),this.showNewPluginErrorToasts(Q),this.refreshPluginCommands(A.commands.list())}),A.commands.changed.subscribe(()=>{this.refreshPluginCommands(A.commands.list())})]}refreshPluginCommands(A){this.unregisterPluginCommands?.();let $=A.map((B)=>this.createPluginCommand(B)).map((B)=>this.options.commandRegistry.register(B));this.unregisterPluginCommands=()=>{for(let B of $)B()}}showNewPluginErrorToasts(A){let Q=new Set;for(let $ of A){if($.status!=="error")continue;if(Bc($.errorMessage))continue;let B=`${$.uri.toString()}
5228
- ${$.errorMessage??""}`;if(Q.add(B),this.pluginErrorToastKeys.has(B))continue;this.options.toastController.show(this.formatPluginErrorToast($),"error",8000)}this.pluginErrorToastKeys=Q}removeInactivePluginStatusItems(A){let Q=new Set(A.filter((B)=>B.status==="active").map((B)=>B.uri.toString())),$=[];for(let[B,D]of this.statusItems){if(Q.has(D.pluginURI))continue;$.push(B)}if($.length===0)return;this.updateStatusItemState(()=>{for(let B of $)this.statusItems.delete(B)})}formatPluginErrorToast(A){let Q=A.uri.toString();return`Plugin failed: ${Q.split("/").pop()??Q}. See logs: ${this.options.neoContext.logFilePath}`}createPluginCommand(A){return{id:A.id,noun:A.category,verb:A.title,description:A.description??`Run plugin command ${A.category}: ${A.title}`,keywords:["plugin",A.pluginName,A.id],status:A.availability,run:async(Q,$,B)=>{B();try{await this.options.neoContext.pluginService?.commands.execute(A.pluginName,A.id,{threadID:this.options.getActiveThreadID()})}catch(D){u.error("Neo plugin command failed",{error:D,command:A}),this.options.toastController.show(D instanceof Error?D.message:String(D),"error",5000)}}}}showInputDialog=(A,Q)=>{return new Promise(($)=>{if(this.disposed||!this.options.state.mounted||Q?.aborted){$(void 0);return}let B={kind:"input",options:A,resolve:$,abortUnsubscribe:()=>{}};B.abortUnsubscribe=eF(Q,()=>this.abortDialog(B)),this.enqueueDialog(B)})};showConfirmDialog=(A,Q)=>{return new Promise(($)=>{if(this.disposed||!this.options.state.mounted||Q?.aborted){$(!1);return}let B={kind:"confirm",options:A,resolve:$,abortUnsubscribe:()=>{}};B.abortUnsubscribe=eF(Q,()=>this.abortDialog(B)),this.enqueueDialog(B)})};showSelectDialog=(A,Q)=>{return new Promise(($)=>{if(this.disposed||!this.options.state.mounted||Q?.aborted){$(void 0);return}let B={kind:"select",options:A,resolve:$,abortUnsubscribe:()=>{}};B.abortUnsubscribe=eF(Q,()=>this.abortDialog(B)),this.enqueueDialog(B)})};createStatusItem=(A,Q,$)=>{if(this.disposed)return;this.updateStatusItemState(()=>{let B=this.statusItemKey(A,Q),D={pluginURI:A,id:Q};if($!==void 0)D.value=$;this.statusItems.set(B,D)})};updateStatusItem=(A,Q,$)=>{if(this.disposed)return;this.updateStatusItemState(()=>{this.statusItems.set(this.statusItemKey(A,Q),{pluginURI:A,id:Q,value:$})})};removeStatusItem=(A,Q)=>{if(this.disposed)return;this.updateStatusItemState(()=>{this.statusItems.delete(this.statusItemKey(A,Q))})};updateStatusItemState(A){if(this.options.state.mounted)this.options.state.setState(A);else A()}statusItemKey(A,Q){return`${A}\x00${Q}`}cancelPendingDialogs(){let A=[];if(this.activeDialog)A.push(this.activeDialog);A.push(...this.queuedDialogs),this.activeDialog=null,this.queuedDialogs=[],this.resolvingDialog=null,this.emitBlockingConfirmDialogChange();for(let Q of A)this.cancelDialog(Q)}cancelDialog(A){switch(A.abortUnsubscribe(),A.kind){case"input":A.resolve(void 0);return;case"confirm":A.resolve(!1);return;case"select":A.resolve(void 0);return}}abortDialog(A){if(this.activeDialog===A){this.advanceDialog(),this.cancelDialog(A);return}let Q=this.queuedDialogs.indexOf(A);if(Q===-1)return;this.updateDialogState(()=>{this.queuedDialogs.splice(Q,1)}),this.cancelDialog(A)}enqueueDialog(A){if(this.activeDialog){if(this.queuedDialogs.push(A),this.resolvingDialog===this.activeDialog)this.advanceResolvingDialog(this.activeDialog);return}this.options.commandPalette.disable(),this.options.state.setState(()=>{this.activeDialog=A}),this.emitBlockingConfirmDialogChange()}resolveInputDialog(A,Q){this.resolveDialog(A,()=>A.resolve(Q))}resolveConfirmDialog(A,Q){this.resolveDialog(A,()=>A.resolve(Q))}resolveSelectDialog(A,Q){this.resolveDialog(A,()=>A.resolve(Q))}resolveDialog(A,Q){if(this.activeDialog!==A||this.resolvingDialog===A)return;this.resolvingDialog=A,A.abortUnsubscribe(),Q(),this.scheduleResolvingDialogAdvance(A,zf3)}scheduleResolvingDialogAdvance(A,Q){i6.instance.addPostFrameCallback(()=>{if(this.activeDialog!==A)return;if(this.queuedDialogs.length>0||Q<=1){this.advanceResolvingDialog(A);return}this.scheduleResolvingDialogAdvance(A,Q-1)},"NeoPluginIntegration.advanceDialog")}advanceResolvingDialog(A){if(this.resolvingDialog===A)this.resolvingDialog=null;if(this.activeDialog!==A)return;this.advanceDialog()}advanceDialog(){this.updateDialogState(()=>{this.activeDialog=this.queuedDialogs.shift()??null})}updateDialogState(A){if(this.options.state.mounted)this.options.state.setState(A);else A();this.emitBlockingConfirmDialogChange()}emitBlockingConfirmDialogChange(){let A=this.hasBlockingConfirmDialog();if(A===this.blockingConfirmDialog)return;this.blockingConfirmDialog=A,this.options.onBlockingConfirmDialogChange?.(A)}}var If3=48;class m41{visible=!1;onClick=void 0;listeners=new Set;show(A){this.visible=!0,this.onClick=A,this.notifyListeners()}activate(){this.onClick?.()}get isVisible(){return this.visible}dismiss(){this.visible=!1,this.onClick=void 0,this.notifyListeners()}addListener(A){this.listeners.add(A)}removeListener(A){this.listeners.delete(A)}buildComplexToast(){if(!this.visible||!this.onClick)return null;return new Is({width:If3,title:"Relaunch to Update Amp",message:"Your threads will resume.",variant:"success",mouseBehavior:"click-anywhere",action:{keyboardShortcut:"Ctrl+O",command:"amp: relaunch",confirmShortcut:"Enter",label:"relaunch",onAction:()=>this.activate()}})}notifyListeners(){for(let A of this.listeners)A()}}p0();import{spawnSync as Hf3}from"node:child_process";import U$ from"node:process";var qi4={options:new Set(["settings-file","log-level","log-file","mcp-config"]),booleans:new Set(["color","dangerously-allow-all","ide","jetbrains","neo-orb","notifications"])};function Cs(A){let Q=A.getRelaunchThreadIDs();if(A.onRelaunchRequested?.(Q),A.stop)A.stop();else z4.instance.stop()}function Ni4(A){return{noun:"amp",verb:"Relaunch (Quit, then Reopen & Resume Thread)",description:"Quit, reopen Amp, and resume active threads",keywords:["restart","update","resume","reopen"],shortcut:U$.env.NODE_ENV==="development"&&U$.platform==="darwin"?G1.meta("r"):void 0,status:{type:"enabled"},sortBoost:90,run:(Q,$,B)=>{B(),Cs(A)}}}function qf3(A,Q){let{command:$,args:B}=Cf3(A),D=U$.env.AMP_USE_EXECVE_RELAUNCH==="1";if(u.info("Relaunching Amp; threads will be resumed",{threadIDs:A,relaunchMethod:D?"execve":"spawnSync"}),D)return Nf3($,B,Q);let J=Hf3($,B,{cwd:Q,env:U$.env,stdio:"inherit"});if(J.error)return u.error("Failed to relaunch Amp",{error:J.error}),1;return J.status??1}function Nf3(A,Q,$){try{U$.chdir($),jf3(A,Q)}catch(B){return u.error("Failed to relaunch Amp",{error:B}),1}}class d41{relaunchRequested=!1;requestedThreadIDs=[];request=(A)=>{u.info("Relaunch requested; threads will be resumed",{threadIDs:A}),this.relaunchRequested=!0,this.requestedThreadIDs=A};get shouldShowExitSummary(){return!this.relaunchRequested}relaunchIfRequested(A){if(!this.relaunchRequested)return;return qf3(this.requestedThreadIDs,A)}}function Cf3(A){let Q=A.length>0?["threads","continue",...A]:[],$=wf3(U$.argv),B=Lf3();if(B)return{command:B.command,args:[...B.args,...$,...Q]};let D=U$.argv[1],J=D&&Mf3(D)?[D]:[];return{command:U$.execPath,args:[...J,...$,...Q]}}function wf3(A){let Q=[],$=A.slice(2);for(let B=0;B<$.length;B+=1){let D=$[B];if(!D?.startsWith("--"))continue;let[J,F]=D.split("=",2);if(!J)continue;let E=J.slice(2),Y=E.startsWith("no-")?E.slice(3):E;if(qi4.booleans.has(Y)){Q.push(D);continue}if(!qi4.options.has(E))continue;if(F!==void 0){Q.push(D);continue}let Z=$[B+1];if(Z===void 0||Z.startsWith("--"))continue;Q.push(D,Z),B+=1}return Q}function Mf3(A){return A!==U$.execPath&&!A.startsWith("/$bunfs/")}function Lf3(){if(U$.env.NODE_ENV!=="development")return null;let A=U$.env.AMP_DEV_RELAUNCH_COMMAND?.trim();if(!A)return null;let Q=Of3(A),$=Q[0];if(!$)return null;return{command:$,args:Q.slice(1)}}function Of3(A){if(A.startsWith("["))try{let Q=JSON.parse(A);if(Array.isArray(Q)&&Q.every(($)=>typeof $==="string"))return Q}catch{return[]}return A.split(/\s+/).filter(Boolean)}function jf3(A,Q){if(!U$.execve)throw Error("process.execve is unavailable in this runtime");if(A.includes("/"))return U$.execve(A,[A,...Q],U$.env);return U$.execve("/usr/bin/env",["env",A,...Q],U$.env)}var Rf3=18000000;class p41{options;subscription=null;relaunchNotificationShown=!1;relaunchNotificationPending=!1;relaunchNotificationTimer=null;openedAt=Date.now();constructor(A){this.options=A}init(){if(this.subscription=this.options.updateService?.state.subscribe((A)=>{this.handleUpdateState(A)})??null,process.env.DEV_SHOW_RELAUNCH_NOTIF_ON_STARTUP==="1")this.showUpdateRelaunchNotification(!0)}dispose(){if(this.subscription?.unsubscribe(),this.subscription=null,this.relaunchNotificationTimer)clearTimeout(this.relaunchNotificationTimer),this.relaunchNotificationTimer=null}handleUpdateState(A){if(A!=="updated")return;this.showUpdateRelaunchNotification()}showUpdateRelaunchNotification(A=!1){if(this.relaunchNotificationShown)return;let $=(this.options.minimumOpenDurationMs??Rf3)-(Date.now()-this.openedAt);if($>0&&!A){if(this.relaunchNotificationPending=!0,!this.relaunchNotificationTimer)this.relaunchNotificationTimer=setTimeout(()=>{if(this.relaunchNotificationTimer=null,!this.relaunchNotificationPending)return;this.relaunchNotificationPending=!1,this.showUpdateRelaunchNotification()},$),this.relaunchNotificationTimer.unref();return}this.relaunchNotificationPending=!1,this.relaunchNotificationShown=!0,this.options.relaunchNotificationController.show(()=>Cs(this.options))}}_l();e2();import{readFile as uf3}from"node:fs/promises";import c41 from"node:os";function Pf3(A=new Date){return A.toISOString().replaceAll("-","").replaceAll(":","").slice(0,15)+"Z"}async function Ci4(A,Q){try{return{path:Q,contents:qg0(await uf3(A,"utf8"))}}catch{return null}}async function iU0(A,Q){let $=[],B=Pf3(),D=await e4.getThread({thread:Q},{config:A.configService}),J=D.ok?D.result.thread.data:null;$.push({path:`${B}/thread.json`,contents:JSON.stringify(UD(J),null,2)});let F=await Ci4(eS(Q),`${B}/logs/${Q}.log`);if(F)$.push(F);let E=await Ci4(A.settingsFilePath,`${B}/settings/global.json`);if(E)$.push(E);let Y=await jG()??"unknown",Z=await e4.sendReport({threadID:Q,files:$,metadata:{clientVersion:"0.0.1779547160-g4a1cc9",clientOS:`${c41.platform()} ${c41.release()} ${c41.arch()}`,installMethod:Y}},{config:A.configService});if(!Z.ok)throw Error(`Failed to submit report: ${Z.error.message}`);return Z.result.reportID}class l41{backStack=[];forwardStack=[];canNavigateBack(){return this.backStack.length>0}canNavigateForward(){return this.forwardStack.length>0}recordNavigation(A){if(!A)return;this.backStack.push(A),this.forwardStack.length=0}startBackNavigation(A){let Q=this.backStack.pop();if(!Q)return null;let $=Boolean(A);if(A)this.forwardStack.push(A);return{targetThreadID:Q,rollback:()=>{if($)this.forwardStack.pop();this.backStack.push(Q)}}}startForwardNavigation(A){let Q=this.forwardStack.pop();if(!Q)return null;let $=Boolean(A);if(A)this.backStack.push(A);return{targetThreadID:Q,rollback:()=>{if($)this.backStack.pop();this.forwardStack.push(Q)}}}}class nU0 extends h3{offstage;constructor({key:A,offstage:Q=!0,child:$}){super({key:A,child:$});this.offstage=Q}createRenderObject(){return new i41(this.offstage)}updateRenderObject(A){if(A instanceof i41)A.offstage=this.offstage}}class i41 extends c1{_offstage;constructor(A){super();this._offstage=A}get offstage(){return this._offstage}set offstage(A){if(A===this._offstage)return;this._offstage=A,this.markNeedsLayout()}getMinIntrinsicWidth(A){if(this._offstage)return 0;return this.children[0]?.getMinIntrinsicWidth(A)??0}getMaxIntrinsicWidth(A){if(this._offstage)return 0;return this.children[0]?.getMaxIntrinsicWidth(A)??0}getMinIntrinsicHeight(A){if(this._offstage)return 0;return this.children[0]?.getMinIntrinsicHeight(A)??0}getMaxIntrinsicHeight(A){if(this._offstage)return 0;return this.children[0]?.getMaxIntrinsicHeight(A)??0}performLayout(){let A=this._lastConstraints;q4(!!A,"performLayout called without constraints");let Q=this.children[0];if(this._offstage){if(this.setSize(0,0),Q)Q.layout(A),Q.setOffset(0,0)}else if(Q){Q.layout(A);let $=A.constrain(Q.size.width,Q.size.height);this.setSize($.width,$.height),Q.setOffset(0,0)}else{let $=A.smallest;this.setSize($.width,$.height)}super.performLayout()}paint(A,Q,$){if(this._offstage)return;super.paint(A,Q,$)}hitTest(A,Q,$,B){if(this._offstage)return!1;return super.hitTest(A,Q,$,B)}}class ws{_state=null;_attach(A){this._state=A}_detach(){this._state=null}push(A){this._state?.push(A)}pushWithDismiss(A){this._state?.pushWithDismiss(A)}pop(){return this._state?.pop()??!1}get canPop(){return this._state?.canPop??!1}}class n41 extends u0{root;controller;constructor(A){super();this.root=A.root,this.controller=A.controller}createState(){return new wi4}}class wi4 extends R0{entries=[];initState(){this.widget.controller._attach(this)}didUpdateWidget(A){if(A.controller!==this.widget.controller)A.controller._detach(),this.widget.controller._attach(this)}dispose(){this.widget.controller._detach(),super.dispose()}push(A){let Q=new _j,$=this.makeScopedDismiss(Q);this.setState(()=>{this.entries.push({key:Q,widget:A,dismiss:$})})}pushWithDismiss(A){let Q=new _j,$=this.makeScopedDismiss(Q),B=A($);this.setState(()=>{this.entries.push({key:Q,widget:B,dismiss:$})})}pop(){if(this.entries.length===0)return!1;return this.setState(()=>{this.entries.pop()}),!0}get canPop(){return this.entries.length>0}makeScopedDismiss(A){return()=>{if(!this.mounted)return;let Q=this.entries[this.entries.length-1];if(!Q||Q.key!==A)return;this.setState(()=>{this.entries.pop()})}}build(A){let Q=[];Q.push(new nU0({offstage:this.entries.length>0,child:this.widget.root}));for(let $=0;$<this.entries.length;$++){let B=this.entries[$],D=$===this.entries.length-1,J=D?new k4({autofocus:!0,debugLabel:`ModalStackEntry[${$}]`,onKey:(F)=>{if(F.key!=="Escape")return"ignored";return B.dismiss(),"handled"},child:B.widget}):B.widget;Q.push(new nU0({key:B.key,offstage:!D,child:J}))}return new i4({fit:"expand",children:Q})}}import Mi4 from"node:process";class o41 extends H1{props;constructor(A){super();this.props=A}build(A){let Q=this.props.commands.filter((B)=>B.status.type!=="hidden"),$=_f3(Q);return new C6({header:"Command Palette",autofocus:!1,barrierOpaque:!1,chromePadding:V0.only({left:1,top:1,right:1}),footer:"none",onDismiss:this.props.onDismiss,child:new pA({items:Q,showBorder:!1,getLabel:(B)=>{let D=a41(B);return B.keywords&&B.keywords.length>0?`${D} ${B.keywords.join(" ").toLowerCase()}`:D},sortItems:(B,D,J)=>{if(J===""){let U=B.item.status.type==="disabled"?1:0,X=D.item.status.type==="disabled"?1:0;if(U!==X)return U-X;let G=B.item.sortBoost??0,V=D.item.sortBoost??0;if(G!==V)return V-G;let K=B.item.noun?.toLowerCase()??"",z=D.item.noun?.toLowerCase()??"";if(K!==z)return K<z?-1:1;return 0}let F=oj(B.item.verb.toLowerCase(),J),E=oj(D.item.verb.toLowerCase(),J);if(F!==E)return E-F;let Y=oj(a41(B.item),J),Z=oj(a41(D.item),J);if(Y!==Z)return Z-Y;return D.score-B.score},isItemDisabled:(B)=>B.status.type==="disabled",buildDisabledReasonWidget:(B,D)=>{if(B.status.type!=="disabled")return;let{colors:J}=O0.of(D);return new d({text:new w(B.status.reason,new T({color:J.mutedForeground,dim:!0})),textAlign:"center"})},renderItem:(B,D,J,F)=>new Li4({command:B,isSelected:D,isDisabled:J,categoryWidth:$,buildContext:F}),onAccept:(B)=>{this.props.onAccept(B)},onDismiss:this.props.onDismiss})})}}class Li4 extends H1{props;constructor(A){super();this.props=A}build(A){let{command:Q,isSelected:$,isDisabled:B,categoryWidth:D,buildContext:J}=this.props,F=O0.of(J),{colors:E,app:Y}=F,Z=$?Y.selectionBackground:void 0,U=$?Y.selectionForeground:E.foreground,X=$?U:E.mutedForeground,G=new d({text:new w(Q.noun?.toLowerCase()??"",new T({color:X,dim:B||!$})),textAlign:"right"}),V=[new w(Q.verb.toLowerCase(),new T({color:U,bold:!0,dim:B}))];if(B)V.push(new w(" (unavailable)",new T({color:U,dim:!0})));let K=d.spans(V),z=[{child:G,fixedWidth:D},{child:K,expanded:!0}];if(Q.shortcut)z.push({child:Tf3(Q.shortcut,F,B)});return new Oi4({columns:z,padding:V0.horizontal(1),backgroundColor:Z})}}function a41(A){return A.noun?`${A.noun.toLowerCase()} ${A.verb.toLowerCase()}`:A.verb.toLowerCase()}function _f3(A){return A.reduce((Q,$)=>{return $.noun?Math.max(Q,J4($.noun)):Q},0)}function Tf3(A,Q,$){let{colors:B,app:D}=Q,J=new T({color:B.mutedForeground,dim:$}),F=[];for(let E of A.modifiers()){if(F.length>0)F.push(new w(" ",J));F.push(new w(vf3(E),new T({color:D.keybind,bold:!0,dim:$})))}if(F.length>0)F.push(new w(" ",J));return F.push(new w(kf3(A),new T({color:D.keybind,bold:!0,dim:$}))),d.spans(F)}function vf3(A){return A==="Meta"&&Mi4.platform==="darwin"?"Cmd":A}function kf3(A){return A.meta&&Mi4.platform==="darwin"?A.key.toUpperCase():A.key}class Oi4 extends H1{props;constructor(A){super();this.props=A}build(A){let{columns:Q,gap:$=2,padding:B,backgroundColor:D}=this.props,J=[];for(let E=0;E<Q.length;E++){let Y=Q[E];if(E>0&&$>0)J.push(new X0({width:$}));if(Y.fixedWidth!==void 0)J.push(new X0({width:Y.fixedWidth,child:Y.child}));else if(Y.expanded)J.push(new R1({child:Y.child}));else J.push(Y.child)}let F=new r0({crossAxisAlignment:"start",children:J});if(!B&&!D)return F;return new x0({decoration:D?{color:D}:void 0,padding:B,child:F})}}class r41{#A=[];#Q=new Set;get commands(){return this.#A}register(A){return this.#A.push(A),this.#$(),()=>{let Q=this.#A.indexOf(A);if(Q===-1)return;this.#A.splice(Q,1),this.#$()}}findByID(A){return this.#A.find((Q)=>Q.id===A)}runByID(A,Q){let $=this.findByID(A);if(!$||$.status.type!=="enabled")return!1;return $.run(new ws,Q,()=>{}),!0}addListener(A){this.#Q.add(A)}removeListener(A){this.#Q.delete(A)}#$(){for(let A of this.#Q)A()}}class w9 extends GA{commandRegistry;constructor({commandRegistry:A,child:Q}){super({child:Q});this.commandRegistry=A}updateShouldNotify(A){return!1}static of(A){let Q=w9.maybeOf(A);if(!Q)throw Error("No NeoCommandRegistryProvider found in widget tree");return Q}static maybeOf(A){return A.dependOnInheritedWidgetOfExactType(w9)?.commandRegistry??null}}class s41 extends u0{onDismiss;constructor(A){super();this.onDismiss=A.onDismiss}createState(){return new ji4}}class ji4 extends R0{modalStack=new ws;commandRegistry=null;initState(){super.initState(),queueMicrotask(()=>{if(!this.mounted)return;let A=w9.of(this.context);this.commandRegistry=A,A.addListener(this.onCommandsChanged)})}dispose(){this.commandRegistry?.removeListener(this.onCommandsChanged),this.commandRegistry=null,super.dispose()}onCommandsChanged=()=>{this.setState()};build(A){let Q=w9.of(A).commands,$=new o41({commands:Q,onAccept:(B)=>{B.run(this.modalStack,A,this.widget.onDismiss)},onDismiss:()=>{if(this.modalStack.canPop)this.modalStack.pop();else this.widget.onDismiss()}});return new n41({root:$,controller:this.modalStack})}}var t41=[{description:"Move cursor up/down",methods:[{keys:["↑"]},{keys:["↓"]}]},{description:"Move cursor left/right",methods:[{keys:["←"]},{keys:["→"]},{input:"B",keys:["Ctrl"]},{input:"F",keys:["Ctrl"]}]},{description:"Insert newline",methods:[{keys:["Shift","Enter"]},{keys:["Alt","Enter"]},{input:"J",keys:["Ctrl"]}],submitOnEnterOnly:!0},{description:"Insert newline",methods:[{keys:["Enter"]},{keys:["Shift","Enter"]},{keys:["Alt","Enter"]},{input:"J",keys:["Ctrl"]}],submitOnEnterOnly:!1},{description:"Submit message",methods:[{keys:["Enter"]}],submitOnEnterOnly:!0},{description:"Submit message",methods:[{keys:["Ctrl/Cmd","Enter"]}],submitOnEnterOnly:!1},{description:"Clear input",methods:[{keys:["Escape"]}]},{description:"Edit prompt in $EDITOR",methods:[{input:"G",keys:["Ctrl"]}]},{description:"Navigate history (previous/next)",methods:[{input:"P",keys:["Ctrl"]},{input:"N",keys:["Ctrl"]}]},{description:"Jump to start of line",methods:[{keys:["Cmd","←"]},{input:"A",keys:["Ctrl"]}]},{description:"Jump to end of line",methods:[{keys:["Cmd","→"]},{input:"E",keys:["Ctrl"]}]},{description:"Jump to previous word",methods:[{keys:["Alt","←"]},{keys:["Ctrl","←"]},{input:"B",keys:["Alt"]}]},{description:"Jump to next word",methods:[{keys:["Alt","→"]},{keys:["Ctrl","→"]},{input:"F",keys:["Alt"]}]},{description:"Delete character backward",methods:[{keys:["Backspace"]},{input:"H",keys:["Ctrl"]}]},{description:"Delete word backward",methods:[{keys:["Alt","Backspace"]},{input:"W",keys:["Ctrl"]}]},{description:"Delete character forward",methods:[{keys:["Delete"]},{input:"D",keys:["Ctrl"]}]},{description:"Delete to start of line",methods:[{keys:["Cmd","Backspace"]},{input:"U",keys:["Ctrl"]}]},{description:"Delete to end of line",methods:[{input:"K",keys:["Ctrl"]}]},{description:"Yank (paste deleted text)",methods:[{input:"Y",keys:["Ctrl"]}]},{description:"Paste image from clipboard",methods:[{input:"V",keys:["Ctrl"]}]},{description:"Switch agent mode",methods:[{input:"S",keys:["Ctrl"]}]},{description:"Toggle reasoning effort",methods:[{input:"D",keys:["Alt"]}]},{description:"Open command palette",methods:[{input:"O",keys:["Ctrl"]}]},{description:"Mention files",methods:[{keys:["@"]}]},{description:"Mention threads",methods:[{keys:["@@"]}]},{description:"Show prompt history",methods:[{input:"R",keys:["Ctrl"]}]},{description:"Toggle inline shortcuts help",methods:[{keys:["?"]}]},{description:"Toggle thinking/dense view",methods:[{input:"T",keys:["Alt"]}]}],e41=[{description:"Page scroll",methods:[{keys:["Pg Up"]},{keys:["Pg Down"]}]},{description:"Half-page scroll",methods:[{input:"K",keys:["Alt"]},{input:"J",keys:["Alt"]}]},{description:"Mouse wheel scroll",methods:[{keys:["Mouse Wheel"]}]},{description:"Jump to first message",methods:[{keys:["Home"]}]},{description:"Jump to bottom of screen",methods:[{keys:["End"]}]},{description:"Navigate to previous messages",methods:[{keys:["Tab"]},{keys:["Shift","Tab"]}]}];class aU0 extends H1{items;renderRow;constructor({items:A,renderRow:Q}){super();this.items=A,this.renderRow=Q}build(A){let $=b1.of(A).size.width,B=50,D=$<50,J=[];for(let F of this.items){let[E,Y]=this.renderRow(F),Z;if(D)Z=new S0({crossAxisAlignment:"start",mainAxisSize:"min",children:[E,new f0({padding:V0.only({left:4}),child:Y})]});else Z=new r0({crossAxisAlignment:"start",children:[new R1({flex:1,child:E}),new X0({width:1}),new R1({flex:1,child:Y})]});J.push(new f0({padding:V0.horizontal(6),child:Z}))}return new S0({crossAxisAlignment:"start",mainAxisSize:"min",children:J})}}class A61 extends u0{commands;submitOnEnter;constructor({key:A,commands:Q,submitOnEnter:$}){super(A?{key:A}:{});this.commands=Q,this.submitOnEnter=$??!0}createState(){return new Ri4}}class Ri4 extends R0{scrollController;initState(){this.scrollController=new v6,this.scrollController.disableFollowMode(),this.scrollController.jumpTo(0)}dispose(){}build(A){let $=L1.of(A).colorScheme,D=O0.of(A).app,J=b1.of(A),F=new T({color:$.primary,bold:!0}),E=new T({color:$.secondary,bold:!0}),Y=new T({color:D.keybind}),Z=new T({color:D.command}),U=new T({color:$.foreground}),X=new T({color:$.foreground}),G=J.size.width,V=J.size.height,K=G-4,z=V-4,W=Math.max(40,Math.min(80,K)),I=new Set(["permissions-disable"]),q=[...this.widget.commands.filter((L)=>{let j=L.noun?.toLowerCase();return j!=="dev"&&j!=="debug"&&!L.id.startsWith("debug-")&&!I.has(L.id)})].sort((L,j)=>{let k=(L.noun??"").toLowerCase(),_=(j.noun??"").toLowerCase(),S=k.localeCompare(_);if(S!==0)return S;let h=L.verb.toLowerCase(),b=j.verb.toLowerCase(),v=h.localeCompare(b);if(v!==0)return v;return L.id.localeCompare(j.id)}),N=new k6({autofocus:!0,controller:this.scrollController,child:new x0({constraints:new w1(W,W,0,Number.POSITIVE_INFINITY),child:new S0({crossAxisAlignment:"start",mainAxisSize:"min",children:[new $4({child:new d({text:new w(`Amp CLI - Help & Keyboard Shortcuts
5228
+ ${$.errorMessage??""}`;if(Q.add(B),this.pluginErrorToastKeys.has(B))continue;this.options.toastController.show(this.formatPluginErrorToast($),"error",8000)}this.pluginErrorToastKeys=Q}removeInactivePluginStatusItems(A){let Q=new Set(A.filter((B)=>B.status==="active").map((B)=>B.uri.toString())),$=[];for(let[B,D]of this.statusItems){if(Q.has(D.pluginURI))continue;$.push(B)}if($.length===0)return;this.updateStatusItemState(()=>{for(let B of $)this.statusItems.delete(B)})}formatPluginErrorToast(A){let Q=A.uri.toString();return`Plugin failed: ${Q.split("/").pop()??Q}. See logs: ${this.options.neoContext.logFilePath}`}createPluginCommand(A){return{id:A.id,noun:A.category,verb:A.title,description:A.description??`Run plugin command ${A.category}: ${A.title}`,keywords:["plugin",A.pluginName,A.id],status:A.availability,run:async(Q,$,B)=>{B();try{await this.options.neoContext.pluginService?.commands.execute(A.pluginName,A.id,{threadID:this.options.getActiveThreadID()})}catch(D){u.error("Neo plugin command failed",{error:D,command:A}),this.options.toastController.show(D instanceof Error?D.message:String(D),"error",5000)}}}}showInputDialog=(A,Q)=>{return new Promise(($)=>{if(this.disposed||!this.options.state.mounted||Q?.aborted){$(void 0);return}let B={kind:"input",options:A,resolve:$,abortUnsubscribe:()=>{}};B.abortUnsubscribe=eF(Q,()=>this.abortDialog(B)),this.enqueueDialog(B)})};showConfirmDialog=(A,Q)=>{return new Promise(($)=>{if(this.disposed||!this.options.state.mounted||Q?.aborted){$(!1);return}let B={kind:"confirm",options:A,resolve:$,abortUnsubscribe:()=>{}};B.abortUnsubscribe=eF(Q,()=>this.abortDialog(B)),this.enqueueDialog(B)})};showSelectDialog=(A,Q)=>{return new Promise(($)=>{if(this.disposed||!this.options.state.mounted||Q?.aborted){$(void 0);return}let B={kind:"select",options:A,resolve:$,abortUnsubscribe:()=>{}};B.abortUnsubscribe=eF(Q,()=>this.abortDialog(B)),this.enqueueDialog(B)})};createStatusItem=(A,Q,$)=>{if(this.disposed)return;this.updateStatusItemState(()=>{let B=this.statusItemKey(A,Q),D={pluginURI:A,id:Q};if($!==void 0)D.value=$;this.statusItems.set(B,D)})};updateStatusItem=(A,Q,$)=>{if(this.disposed)return;this.updateStatusItemState(()=>{this.statusItems.set(this.statusItemKey(A,Q),{pluginURI:A,id:Q,value:$})})};removeStatusItem=(A,Q)=>{if(this.disposed)return;this.updateStatusItemState(()=>{this.statusItems.delete(this.statusItemKey(A,Q))})};updateStatusItemState(A){if(this.options.state.mounted)this.options.state.setState(A);else A()}statusItemKey(A,Q){return`${A}\x00${Q}`}cancelPendingDialogs(){let A=[];if(this.activeDialog)A.push(this.activeDialog);A.push(...this.queuedDialogs),this.activeDialog=null,this.queuedDialogs=[],this.resolvingDialog=null,this.emitBlockingConfirmDialogChange();for(let Q of A)this.cancelDialog(Q)}cancelDialog(A){switch(A.abortUnsubscribe(),A.kind){case"input":A.resolve(void 0);return;case"confirm":A.resolve(!1);return;case"select":A.resolve(void 0);return}}abortDialog(A){if(this.activeDialog===A){this.advanceDialog(),this.cancelDialog(A);return}let Q=this.queuedDialogs.indexOf(A);if(Q===-1)return;this.updateDialogState(()=>{this.queuedDialogs.splice(Q,1)}),this.cancelDialog(A)}enqueueDialog(A){if(this.activeDialog){if(this.queuedDialogs.push(A),this.resolvingDialog===this.activeDialog)this.advanceResolvingDialog(this.activeDialog);return}this.options.commandPalette.disable(),this.options.state.setState(()=>{this.activeDialog=A}),this.emitBlockingConfirmDialogChange()}resolveInputDialog(A,Q){this.resolveDialog(A,()=>A.resolve(Q))}resolveConfirmDialog(A,Q){this.resolveDialog(A,()=>A.resolve(Q))}resolveSelectDialog(A,Q){this.resolveDialog(A,()=>A.resolve(Q))}resolveDialog(A,Q){if(this.activeDialog!==A||this.resolvingDialog===A)return;this.resolvingDialog=A,A.abortUnsubscribe(),Q(),this.scheduleResolvingDialogAdvance(A,zf3)}scheduleResolvingDialogAdvance(A,Q){i6.instance.addPostFrameCallback(()=>{if(this.activeDialog!==A)return;if(this.queuedDialogs.length>0||Q<=1){this.advanceResolvingDialog(A);return}this.scheduleResolvingDialogAdvance(A,Q-1)},"NeoPluginIntegration.advanceDialog")}advanceResolvingDialog(A){if(this.resolvingDialog===A)this.resolvingDialog=null;if(this.activeDialog!==A)return;this.advanceDialog()}advanceDialog(){this.updateDialogState(()=>{this.activeDialog=this.queuedDialogs.shift()??null})}updateDialogState(A){if(this.options.state.mounted)this.options.state.setState(A);else A();this.emitBlockingConfirmDialogChange()}emitBlockingConfirmDialogChange(){let A=this.hasBlockingConfirmDialog();if(A===this.blockingConfirmDialog)return;this.blockingConfirmDialog=A,this.options.onBlockingConfirmDialogChange?.(A)}}var If3=48;class m41{visible=!1;onClick=void 0;listeners=new Set;show(A){this.visible=!0,this.onClick=A,this.notifyListeners()}activate(){this.onClick?.()}get isVisible(){return this.visible}dismiss(){this.visible=!1,this.onClick=void 0,this.notifyListeners()}addListener(A){this.listeners.add(A)}removeListener(A){this.listeners.delete(A)}buildComplexToast(){if(!this.visible||!this.onClick)return null;return new Is({width:If3,title:"Relaunch to Update Amp",message:"Your threads will resume.",variant:"success",mouseBehavior:"click-anywhere",action:{keyboardShortcut:"Ctrl+O",command:"amp: relaunch",confirmShortcut:"Enter",label:"relaunch",onAction:()=>this.activate()}})}notifyListeners(){for(let A of this.listeners)A()}}p0();import{spawnSync as Hf3}from"node:child_process";import U$ from"node:process";var qi4={options:new Set(["settings-file","log-level","log-file","mcp-config"]),booleans:new Set(["color","dangerously-allow-all","ide","jetbrains","neo-orb","notifications"])};function Cs(A){let Q=A.getRelaunchThreadIDs();if(A.onRelaunchRequested?.(Q),A.stop)A.stop();else z4.instance.stop()}function Ni4(A){return{noun:"amp",verb:"Relaunch (Quit, then Reopen & Resume Thread)",description:"Quit, reopen Amp, and resume active threads",keywords:["restart","update","resume","reopen"],shortcut:U$.env.NODE_ENV==="development"&&U$.platform==="darwin"?G1.meta("r"):void 0,status:{type:"enabled"},sortBoost:90,run:(Q,$,B)=>{B(),Cs(A)}}}function qf3(A,Q){let{command:$,args:B}=Cf3(A),D=U$.env.AMP_USE_EXECVE_RELAUNCH==="1";if(u.info("Relaunching Amp; threads will be resumed",{threadIDs:A,relaunchMethod:D?"execve":"spawnSync"}),D)return Nf3($,B,Q);let J=Hf3($,B,{cwd:Q,env:U$.env,stdio:"inherit"});if(J.error)return u.error("Failed to relaunch Amp",{error:J.error}),1;return J.status??1}function Nf3(A,Q,$){try{U$.chdir($),jf3(A,Q)}catch(B){return u.error("Failed to relaunch Amp",{error:B}),1}}class d41{relaunchRequested=!1;requestedThreadIDs=[];request=(A)=>{u.info("Relaunch requested; threads will be resumed",{threadIDs:A}),this.relaunchRequested=!0,this.requestedThreadIDs=A};get shouldShowExitSummary(){return!this.relaunchRequested}relaunchIfRequested(A){if(!this.relaunchRequested)return;return qf3(this.requestedThreadIDs,A)}}function Cf3(A){let Q=A.length>0?["threads","continue",...A]:[],$=wf3(U$.argv),B=Lf3();if(B)return{command:B.command,args:[...B.args,...$,...Q]};let D=U$.argv[1],J=D&&Mf3(D)?[D]:[];return{command:U$.execPath,args:[...J,...$,...Q]}}function wf3(A){let Q=[],$=A.slice(2);for(let B=0;B<$.length;B+=1){let D=$[B];if(!D?.startsWith("--"))continue;let[J,F]=D.split("=",2);if(!J)continue;let E=J.slice(2),Y=E.startsWith("no-")?E.slice(3):E;if(qi4.booleans.has(Y)){Q.push(D);continue}if(!qi4.options.has(E))continue;if(F!==void 0){Q.push(D);continue}let Z=$[B+1];if(Z===void 0||Z.startsWith("--"))continue;Q.push(D,Z),B+=1}return Q}function Mf3(A){return A!==U$.execPath&&!A.startsWith("/$bunfs/")}function Lf3(){if(U$.env.NODE_ENV!=="development")return null;let A=U$.env.AMP_DEV_RELAUNCH_COMMAND?.trim();if(!A)return null;let Q=Of3(A),$=Q[0];if(!$)return null;return{command:$,args:Q.slice(1)}}function Of3(A){if(A.startsWith("["))try{let Q=JSON.parse(A);if(Array.isArray(Q)&&Q.every(($)=>typeof $==="string"))return Q}catch{return[]}return A.split(/\s+/).filter(Boolean)}function jf3(A,Q){if(!U$.execve)throw Error("process.execve is unavailable in this runtime");if(A.includes("/"))return U$.execve(A,[A,...Q],U$.env);return U$.execve("/usr/bin/env",["env",A,...Q],U$.env)}var Rf3=18000000;class p41{options;subscription=null;relaunchNotificationShown=!1;relaunchNotificationPending=!1;relaunchNotificationTimer=null;openedAt=Date.now();constructor(A){this.options=A}init(){if(this.subscription=this.options.updateService?.state.subscribe((A)=>{this.handleUpdateState(A)})??null,process.env.DEV_SHOW_RELAUNCH_NOTIF_ON_STARTUP==="1")this.showUpdateRelaunchNotification(!0)}dispose(){if(this.subscription?.unsubscribe(),this.subscription=null,this.relaunchNotificationTimer)clearTimeout(this.relaunchNotificationTimer),this.relaunchNotificationTimer=null}handleUpdateState(A){if(A!=="updated")return;this.showUpdateRelaunchNotification()}showUpdateRelaunchNotification(A=!1){if(this.relaunchNotificationShown)return;let $=(this.options.minimumOpenDurationMs??Rf3)-(Date.now()-this.openedAt);if($>0&&!A){if(this.relaunchNotificationPending=!0,!this.relaunchNotificationTimer)this.relaunchNotificationTimer=setTimeout(()=>{if(this.relaunchNotificationTimer=null,!this.relaunchNotificationPending)return;this.relaunchNotificationPending=!1,this.showUpdateRelaunchNotification()},$),this.relaunchNotificationTimer.unref();return}this.relaunchNotificationPending=!1,this.relaunchNotificationShown=!0,this.options.relaunchNotificationController.show(()=>Cs(this.options))}}_l();e2();import{readFile as uf3}from"node:fs/promises";import c41 from"node:os";function Pf3(A=new Date){return A.toISOString().replaceAll("-","").replaceAll(":","").slice(0,15)+"Z"}async function Ci4(A,Q){try{return{path:Q,contents:qg0(await uf3(A,"utf8"))}}catch{return null}}async function iU0(A,Q){let $=[],B=Pf3(),D=await e4.getThread({thread:Q},{config:A.configService}),J=D.ok?D.result.thread.data:null;$.push({path:`${B}/thread.json`,contents:JSON.stringify(UD(J),null,2)});let F=await Ci4(eS(Q),`${B}/logs/${Q}.log`);if(F)$.push(F);let E=await Ci4(A.settingsFilePath,`${B}/settings/global.json`);if(E)$.push(E);let Y=await jG()??"unknown",Z=await e4.sendReport({threadID:Q,files:$,metadata:{clientVersion:"0.0.1779567279-g6cae00",clientOS:`${c41.platform()} ${c41.release()} ${c41.arch()}`,installMethod:Y}},{config:A.configService});if(!Z.ok)throw Error(`Failed to submit report: ${Z.error.message}`);return Z.result.reportID}class l41{backStack=[];forwardStack=[];canNavigateBack(){return this.backStack.length>0}canNavigateForward(){return this.forwardStack.length>0}recordNavigation(A){if(!A)return;this.backStack.push(A),this.forwardStack.length=0}startBackNavigation(A){let Q=this.backStack.pop();if(!Q)return null;let $=Boolean(A);if(A)this.forwardStack.push(A);return{targetThreadID:Q,rollback:()=>{if($)this.forwardStack.pop();this.backStack.push(Q)}}}startForwardNavigation(A){let Q=this.forwardStack.pop();if(!Q)return null;let $=Boolean(A);if(A)this.backStack.push(A);return{targetThreadID:Q,rollback:()=>{if($)this.backStack.pop();this.forwardStack.push(Q)}}}}class nU0 extends h3{offstage;constructor({key:A,offstage:Q=!0,child:$}){super({key:A,child:$});this.offstage=Q}createRenderObject(){return new i41(this.offstage)}updateRenderObject(A){if(A instanceof i41)A.offstage=this.offstage}}class i41 extends c1{_offstage;constructor(A){super();this._offstage=A}get offstage(){return this._offstage}set offstage(A){if(A===this._offstage)return;this._offstage=A,this.markNeedsLayout()}getMinIntrinsicWidth(A){if(this._offstage)return 0;return this.children[0]?.getMinIntrinsicWidth(A)??0}getMaxIntrinsicWidth(A){if(this._offstage)return 0;return this.children[0]?.getMaxIntrinsicWidth(A)??0}getMinIntrinsicHeight(A){if(this._offstage)return 0;return this.children[0]?.getMinIntrinsicHeight(A)??0}getMaxIntrinsicHeight(A){if(this._offstage)return 0;return this.children[0]?.getMaxIntrinsicHeight(A)??0}performLayout(){let A=this._lastConstraints;q4(!!A,"performLayout called without constraints");let Q=this.children[0];if(this._offstage){if(this.setSize(0,0),Q)Q.layout(A),Q.setOffset(0,0)}else if(Q){Q.layout(A);let $=A.constrain(Q.size.width,Q.size.height);this.setSize($.width,$.height),Q.setOffset(0,0)}else{let $=A.smallest;this.setSize($.width,$.height)}super.performLayout()}paint(A,Q,$){if(this._offstage)return;super.paint(A,Q,$)}hitTest(A,Q,$,B){if(this._offstage)return!1;return super.hitTest(A,Q,$,B)}}class ws{_state=null;_attach(A){this._state=A}_detach(){this._state=null}push(A){this._state?.push(A)}pushWithDismiss(A){this._state?.pushWithDismiss(A)}pop(){return this._state?.pop()??!1}get canPop(){return this._state?.canPop??!1}}class n41 extends u0{root;controller;constructor(A){super();this.root=A.root,this.controller=A.controller}createState(){return new wi4}}class wi4 extends R0{entries=[];initState(){this.widget.controller._attach(this)}didUpdateWidget(A){if(A.controller!==this.widget.controller)A.controller._detach(),this.widget.controller._attach(this)}dispose(){this.widget.controller._detach(),super.dispose()}push(A){let Q=new _j,$=this.makeScopedDismiss(Q);this.setState(()=>{this.entries.push({key:Q,widget:A,dismiss:$})})}pushWithDismiss(A){let Q=new _j,$=this.makeScopedDismiss(Q),B=A($);this.setState(()=>{this.entries.push({key:Q,widget:B,dismiss:$})})}pop(){if(this.entries.length===0)return!1;return this.setState(()=>{this.entries.pop()}),!0}get canPop(){return this.entries.length>0}makeScopedDismiss(A){return()=>{if(!this.mounted)return;let Q=this.entries[this.entries.length-1];if(!Q||Q.key!==A)return;this.setState(()=>{this.entries.pop()})}}build(A){let Q=[];Q.push(new nU0({offstage:this.entries.length>0,child:this.widget.root}));for(let $=0;$<this.entries.length;$++){let B=this.entries[$],D=$===this.entries.length-1,J=D?new k4({autofocus:!0,debugLabel:`ModalStackEntry[${$}]`,onKey:(F)=>{if(F.key!=="Escape")return"ignored";return B.dismiss(),"handled"},child:B.widget}):B.widget;Q.push(new nU0({key:B.key,offstage:!D,child:J}))}return new i4({fit:"expand",children:Q})}}import Mi4 from"node:process";class o41 extends H1{props;constructor(A){super();this.props=A}build(A){let Q=this.props.commands.filter((B)=>B.status.type!=="hidden"),$=_f3(Q);return new C6({header:"Command Palette",autofocus:!1,barrierOpaque:!1,chromePadding:V0.only({left:1,top:1,right:1}),footer:"none",onDismiss:this.props.onDismiss,child:new pA({items:Q,showBorder:!1,getLabel:(B)=>{let D=a41(B);return B.keywords&&B.keywords.length>0?`${D} ${B.keywords.join(" ").toLowerCase()}`:D},sortItems:(B,D,J)=>{if(J===""){let U=B.item.status.type==="disabled"?1:0,X=D.item.status.type==="disabled"?1:0;if(U!==X)return U-X;let G=B.item.sortBoost??0,V=D.item.sortBoost??0;if(G!==V)return V-G;let K=B.item.noun?.toLowerCase()??"",z=D.item.noun?.toLowerCase()??"";if(K!==z)return K<z?-1:1;return 0}let F=oj(B.item.verb.toLowerCase(),J),E=oj(D.item.verb.toLowerCase(),J);if(F!==E)return E-F;let Y=oj(a41(B.item),J),Z=oj(a41(D.item),J);if(Y!==Z)return Z-Y;return D.score-B.score},isItemDisabled:(B)=>B.status.type==="disabled",buildDisabledReasonWidget:(B,D)=>{if(B.status.type!=="disabled")return;let{colors:J}=O0.of(D);return new d({text:new w(B.status.reason,new T({color:J.mutedForeground,dim:!0})),textAlign:"center"})},renderItem:(B,D,J,F)=>new Li4({command:B,isSelected:D,isDisabled:J,categoryWidth:$,buildContext:F}),onAccept:(B)=>{this.props.onAccept(B)},onDismiss:this.props.onDismiss})})}}class Li4 extends H1{props;constructor(A){super();this.props=A}build(A){let{command:Q,isSelected:$,isDisabled:B,categoryWidth:D,buildContext:J}=this.props,F=O0.of(J),{colors:E,app:Y}=F,Z=$?Y.selectionBackground:void 0,U=$?Y.selectionForeground:E.foreground,X=$?U:E.mutedForeground,G=new d({text:new w(Q.noun?.toLowerCase()??"",new T({color:X,dim:B||!$})),textAlign:"right"}),V=[new w(Q.verb.toLowerCase(),new T({color:U,bold:!0,dim:B}))];if(B)V.push(new w(" (unavailable)",new T({color:U,dim:!0})));let K=d.spans(V),z=[{child:G,fixedWidth:D},{child:K,expanded:!0}];if(Q.shortcut)z.push({child:Tf3(Q.shortcut,F,B)});return new Oi4({columns:z,padding:V0.horizontal(1),backgroundColor:Z})}}function a41(A){return A.noun?`${A.noun.toLowerCase()} ${A.verb.toLowerCase()}`:A.verb.toLowerCase()}function _f3(A){return A.reduce((Q,$)=>{return $.noun?Math.max(Q,J4($.noun)):Q},0)}function Tf3(A,Q,$){let{colors:B,app:D}=Q,J=new T({color:B.mutedForeground,dim:$}),F=[];for(let E of A.modifiers()){if(F.length>0)F.push(new w(" ",J));F.push(new w(vf3(E),new T({color:D.keybind,bold:!0,dim:$})))}if(F.length>0)F.push(new w(" ",J));return F.push(new w(kf3(A),new T({color:D.keybind,bold:!0,dim:$}))),d.spans(F)}function vf3(A){return A==="Meta"&&Mi4.platform==="darwin"?"Cmd":A}function kf3(A){return A.meta&&Mi4.platform==="darwin"?A.key.toUpperCase():A.key}class Oi4 extends H1{props;constructor(A){super();this.props=A}build(A){let{columns:Q,gap:$=2,padding:B,backgroundColor:D}=this.props,J=[];for(let E=0;E<Q.length;E++){let Y=Q[E];if(E>0&&$>0)J.push(new X0({width:$}));if(Y.fixedWidth!==void 0)J.push(new X0({width:Y.fixedWidth,child:Y.child}));else if(Y.expanded)J.push(new R1({child:Y.child}));else J.push(Y.child)}let F=new r0({crossAxisAlignment:"start",children:J});if(!B&&!D)return F;return new x0({decoration:D?{color:D}:void 0,padding:B,child:F})}}class r41{#A=[];#Q=new Set;get commands(){return this.#A}register(A){return this.#A.push(A),this.#$(),()=>{let Q=this.#A.indexOf(A);if(Q===-1)return;this.#A.splice(Q,1),this.#$()}}findByID(A){return this.#A.find((Q)=>Q.id===A)}runByID(A,Q){let $=this.findByID(A);if(!$||$.status.type!=="enabled")return!1;return $.run(new ws,Q,()=>{}),!0}addListener(A){this.#Q.add(A)}removeListener(A){this.#Q.delete(A)}#$(){for(let A of this.#Q)A()}}class w9 extends GA{commandRegistry;constructor({commandRegistry:A,child:Q}){super({child:Q});this.commandRegistry=A}updateShouldNotify(A){return!1}static of(A){let Q=w9.maybeOf(A);if(!Q)throw Error("No NeoCommandRegistryProvider found in widget tree");return Q}static maybeOf(A){return A.dependOnInheritedWidgetOfExactType(w9)?.commandRegistry??null}}class s41 extends u0{onDismiss;constructor(A){super();this.onDismiss=A.onDismiss}createState(){return new ji4}}class ji4 extends R0{modalStack=new ws;commandRegistry=null;initState(){super.initState(),queueMicrotask(()=>{if(!this.mounted)return;let A=w9.of(this.context);this.commandRegistry=A,A.addListener(this.onCommandsChanged)})}dispose(){this.commandRegistry?.removeListener(this.onCommandsChanged),this.commandRegistry=null,super.dispose()}onCommandsChanged=()=>{this.setState()};build(A){let Q=w9.of(A).commands,$=new o41({commands:Q,onAccept:(B)=>{B.run(this.modalStack,A,this.widget.onDismiss)},onDismiss:()=>{if(this.modalStack.canPop)this.modalStack.pop();else this.widget.onDismiss()}});return new n41({root:$,controller:this.modalStack})}}var t41=[{description:"Move cursor up/down",methods:[{keys:["↑"]},{keys:["↓"]}]},{description:"Move cursor left/right",methods:[{keys:["←"]},{keys:["→"]},{input:"B",keys:["Ctrl"]},{input:"F",keys:["Ctrl"]}]},{description:"Insert newline",methods:[{keys:["Shift","Enter"]},{keys:["Alt","Enter"]},{input:"J",keys:["Ctrl"]}],submitOnEnterOnly:!0},{description:"Insert newline",methods:[{keys:["Enter"]},{keys:["Shift","Enter"]},{keys:["Alt","Enter"]},{input:"J",keys:["Ctrl"]}],submitOnEnterOnly:!1},{description:"Submit message",methods:[{keys:["Enter"]}],submitOnEnterOnly:!0},{description:"Submit message",methods:[{keys:["Ctrl/Cmd","Enter"]}],submitOnEnterOnly:!1},{description:"Clear input",methods:[{keys:["Escape"]}]},{description:"Edit prompt in $EDITOR",methods:[{input:"G",keys:["Ctrl"]}]},{description:"Navigate history (previous/next)",methods:[{input:"P",keys:["Ctrl"]},{input:"N",keys:["Ctrl"]}]},{description:"Jump to start of line",methods:[{keys:["Cmd","←"]},{input:"A",keys:["Ctrl"]}]},{description:"Jump to end of line",methods:[{keys:["Cmd","→"]},{input:"E",keys:["Ctrl"]}]},{description:"Jump to previous word",methods:[{keys:["Alt","←"]},{keys:["Ctrl","←"]},{input:"B",keys:["Alt"]}]},{description:"Jump to next word",methods:[{keys:["Alt","→"]},{keys:["Ctrl","→"]},{input:"F",keys:["Alt"]}]},{description:"Delete character backward",methods:[{keys:["Backspace"]},{input:"H",keys:["Ctrl"]}]},{description:"Delete word backward",methods:[{keys:["Alt","Backspace"]},{input:"W",keys:["Ctrl"]}]},{description:"Delete character forward",methods:[{keys:["Delete"]},{input:"D",keys:["Ctrl"]}]},{description:"Delete to start of line",methods:[{keys:["Cmd","Backspace"]},{input:"U",keys:["Ctrl"]}]},{description:"Delete to end of line",methods:[{input:"K",keys:["Ctrl"]}]},{description:"Yank (paste deleted text)",methods:[{input:"Y",keys:["Ctrl"]}]},{description:"Paste image from clipboard",methods:[{input:"V",keys:["Ctrl"]}]},{description:"Switch agent mode",methods:[{input:"S",keys:["Ctrl"]}]},{description:"Toggle reasoning effort",methods:[{input:"D",keys:["Alt"]}]},{description:"Open command palette",methods:[{input:"O",keys:["Ctrl"]}]},{description:"Mention files",methods:[{keys:["@"]}]},{description:"Mention threads",methods:[{keys:["@@"]}]},{description:"Show prompt history",methods:[{input:"R",keys:["Ctrl"]}]},{description:"Toggle inline shortcuts help",methods:[{keys:["?"]}]},{description:"Toggle thinking/dense view",methods:[{input:"T",keys:["Alt"]}]}],e41=[{description:"Page scroll",methods:[{keys:["Pg Up"]},{keys:["Pg Down"]}]},{description:"Half-page scroll",methods:[{input:"K",keys:["Alt"]},{input:"J",keys:["Alt"]}]},{description:"Mouse wheel scroll",methods:[{keys:["Mouse Wheel"]}]},{description:"Jump to first message",methods:[{keys:["Home"]}]},{description:"Jump to bottom of screen",methods:[{keys:["End"]}]},{description:"Navigate to previous messages",methods:[{keys:["Tab"]},{keys:["Shift","Tab"]}]}];class aU0 extends H1{items;renderRow;constructor({items:A,renderRow:Q}){super();this.items=A,this.renderRow=Q}build(A){let $=b1.of(A).size.width,B=50,D=$<50,J=[];for(let F of this.items){let[E,Y]=this.renderRow(F),Z;if(D)Z=new S0({crossAxisAlignment:"start",mainAxisSize:"min",children:[E,new f0({padding:V0.only({left:4}),child:Y})]});else Z=new r0({crossAxisAlignment:"start",children:[new R1({flex:1,child:E}),new X0({width:1}),new R1({flex:1,child:Y})]});J.push(new f0({padding:V0.horizontal(6),child:Z}))}return new S0({crossAxisAlignment:"start",mainAxisSize:"min",children:J})}}class A61 extends u0{commands;submitOnEnter;constructor({key:A,commands:Q,submitOnEnter:$}){super(A?{key:A}:{});this.commands=Q,this.submitOnEnter=$??!0}createState(){return new Ri4}}class Ri4 extends R0{scrollController;initState(){this.scrollController=new v6,this.scrollController.disableFollowMode(),this.scrollController.jumpTo(0)}dispose(){}build(A){let $=L1.of(A).colorScheme,D=O0.of(A).app,J=b1.of(A),F=new T({color:$.primary,bold:!0}),E=new T({color:$.secondary,bold:!0}),Y=new T({color:D.keybind}),Z=new T({color:D.command}),U=new T({color:$.foreground}),X=new T({color:$.foreground}),G=J.size.width,V=J.size.height,K=G-4,z=V-4,W=Math.max(40,Math.min(80,K)),I=new Set(["permissions-disable"]),q=[...this.widget.commands.filter((L)=>{let j=L.noun?.toLowerCase();return j!=="dev"&&j!=="debug"&&!L.id.startsWith("debug-")&&!I.has(L.id)})].sort((L,j)=>{let k=(L.noun??"").toLowerCase(),_=(j.noun??"").toLowerCase(),S=k.localeCompare(_);if(S!==0)return S;let h=L.verb.toLowerCase(),b=j.verb.toLowerCase(),v=h.localeCompare(b);if(v!==0)return v;return L.id.localeCompare(j.id)}),N=new k6({autofocus:!0,controller:this.scrollController,child:new x0({constraints:new w1(W,W,0,Number.POSITIVE_INFINITY),child:new S0({crossAxisAlignment:"start",mainAxisSize:"min",children:[new $4({child:new d({text:new w(`Amp CLI - Help & Keyboard Shortcuts
5229
5229
  `,F)})}),new X0({height:1}),new f0({padding:V0.horizontal(2),child:new d({text:new w(`Editor Shortcuts
5230
5230
  `,E)})}),new aU0({items:t41.filter((L)=>L.submitOnEnterOnly===void 0||L.submitOnEnterOnly===this.widget.submitOnEnter),renderRow:(L)=>{let j=[];for(let _ of L.methods){let S=this.buildCleanKeyCombination(_);j.push(S)}let k=j.join(", ");return[new d({text:new w(k,Y)}),new d({text:new w(L.description,U)})]}}),new X0({height:1}),new f0({padding:V0.horizontal(2),child:new d({text:new w(`Scrolling & Navigation
5231
5231
  `,E)})}),new aU0({items:e41,renderRow:(L)=>{let j=[];for(let _ of L.methods){let S=this.buildCleanKeyCombination(_);j.push(S)}let k=j.join(", ");return[new d({text:new w(k,Y)}),new d({text:new w(L.description,U)})]}}),new X0({height:1}),new f0({padding:V0.horizontal(2),child:new d({text:new w(`Command Palette Commands
@@ -5316,7 +5316,7 @@ Ctrl-X, Y, Z to unlock`;if(this.widget.centerContent)h=this.widget.centerContent
5316
5316
  `))}return F}function ad3(A,Q,$){let{colors:B,app:D}=$,J=od3(Q.status,$);if(A.push(new w(` ${J.icon} `,new T({color:J.color}))),A.push(new w(Q.name,new T({color:Q.status==="pending"?B.warning:D.command}))),Q.status==="pending")A.push(new w(" discovering...",new T({color:B.foreground,dim:!0})));else if(Q.description)A.push(new w(` ${Fs4(Q.description,50)}`,new T({color:B.foreground,dim:!0})));if(Q.error)A.push(new w(` ${Fs4(Q.error,40)}`,new T({color:D.toolError})));A.push(new w(`
5317
5317
  `))}function od3(A,Q){let{colors:$,app:B}=Q;switch(A){case"pending":return{icon:"◌",color:$.warning};case"registered":return{icon:"•",color:$.mutedForeground};case"failed":return{icon:"✗",color:B.toolError};case"duplicate":return{icon:"◇",color:$.warning};default:return{icon:"?",color:$.foreground}}}function Fs4(A,Q){let $=A.replace(/\s+/g," ").trim();if(J4($)<=Q)return $;let B="...",D=J4(B);if(Q<=D)return UQ(B,Q);return`${UQ($,Q-D,!0,"")}${B}`}var X31="https://ampcode.com/news/neo",G31=[{title:"Meet the new Amp CLI",body:[]},{title:"Rebuilt From The Ground Up",body:["Same close-up terminal workflow. Completely different underneath."]},{title:"Just Keep Typing",body:["Context is summarized automatically at ~90%.","No handoff flow. No context percentage to babysit."]},{title:"Queueing and Steering",body:["Sending a message now queues by default instead of cancelling tools.","Use steering when you want the agent to see something sooner."]},{title:"Remote Control",body:["Start a thread in the CLI, then keep going from ampcode.com.","Watch live updates and queue follow-ups from any device."]},{title:"Customize Amp with Amp",body:[{text:"Amp now has a ",linkText:"complete plugin API",href:"https://ampcode.com/manual/plugin-api",textAfter:"."},"Add tools, commands, control UI, and hook into events."]},{title:"Permissions",body:[{text:"By default (when no ",highlightText:"amp.permissions",textAfterHighlight:" setting is present), Amp no longer asks for confirmation before running any tools and commands. And you can now implement your own custom permission logic with ",linkText:"plugins",href:"https://ampcode.com/manual/plugin-api",textAfter:"."}]},{title:null,body:["Check out the full news post for more:",{text:X31,href:X31},"","",{text:"Need old Amp for a bit? Use ",keybind:"amp --take-me-back"}]}];function rd3(A){return[{title:"Upgrade your Amp CLI",body:[{text:"This npm-based distribution of Amp CLI has been deprecated. To use the ",linkText:"new Amp CLI",href:X31,textAfter:" you'll need to switch to the binary install:",linkWidget:!0},"",{codeBlock:["npm uninstall -g @sourcegraph/amp",A]}]}]}function sd3(){if(process.platform==="win32")return'powershell -c "irm https://ampcode.com/install.ps1 | iex"';return"curl -fsSL https://ampcode.com/install.sh | bash"}var dy=50,HR=40,Z31=1000,td3=420,ed3=760,Ap3=-250,Qp3=1100,pX0=33,Us4=0.999,$p3=2.1,Bp3=720,Dp3=420,Hs4="Meet the new",qs4="Amp",Ns4="CLI",V31=G4(Hs4).length,Jp3=G4(qs4).length,Fp3=G4(Ns4).length,cX0={primary:{r:140,g:38,b:0},secondary:{r:255,g:225,b:102}},Xs4={primary:{r:10,g:42,b:18},secondary:{r:200,g:230,b:68}},Gs4={primary:{r:18,g:0,b:107},secondary:{r:103,g:255,b:168}},Vs4=[cX0,Xs4,Gs4,cX0,Xs4,Gs4,cX0],Ep3=cX0;class K31 extends u0{onDismiss;onQuit;animationProgress;animationsEnabled;variant;binaryInstallCommand;introStages;dismissible;constructor(A){super();this.onDismiss=A.onDismiss,this.onQuit=A.onQuit,this.animationProgress=A.animationProgress,this.animationsEnabled=A.animationsEnabled??!0,this.variant=A.variant??"intro",this.binaryInstallCommand=A.binaryInstallCommand??sd3(),this.introStages=this.variant==="npm-migration"?rd3(this.binaryInstallCommand):G31,this.dismissible=this.variant!=="npm-migration"}createState(){return new Cs4}}class Cs4 extends R0{startedAt=performance.now();animationTimer=null;stageTransitionTimer=null;firstStageTitleTimer=null;firstStageHintTimer=null;firstStageRevealTimer=null;firstStageTitleRevealStartedAt=null;firstStageHintRevealStartedAt=null;stageTransitionStartedAt=performance.now();animationStartProgress=0;animationTargetProgress=1;animationDurationMs=Z31;onAnimationComplete=null;animationProgress=0;introStage=0;previousIntroStage=null;stageTransitionProgress=1;stageTransitionDirection=1;firstStageTitleVisible=!1;firstStageHintVisible=!1;firstStageTitleRevealProgress=0;firstStageHintRevealProgress=0;dismissTimer=null;dismissStartedAt=performance.now();dismissProgress=0;isDismissing=!1;splashOrbGlow=new n9(42);initState(){super.initState(),this.startAnimationIfNeeded()}didUpdateWidget(A){if(super.didUpdateWidget(A),A.animationProgress!==this.widget.animationProgress||A.animationsEnabled!==this.widget.animationsEnabled)this.startAnimationIfNeeded()}dispose(){this.stopAnimation(),this.stopStageTransitionTimer(),this.stopFirstStageRevealTimers(),this.stopDismissAnimation(),super.dispose()}startAnimationIfNeeded(){if(this.stopAnimation(),this.stopFirstStageRevealTimers(),this.widget.animationProgress!==void 0){this.animationProgress=JF(this.widget.animationProgress),this.firstStageTitleVisible=this.animationProgress>=Us4,this.firstStageHintVisible=this.animationProgress>=Us4,this.firstStageTitleRevealProgress=this.firstStageTitleVisible?1:0,this.firstStageHintRevealProgress=this.firstStageHintVisible?1:0;return}if(!this.widget.animationsEnabled){this.stopStageTransitionTimer(),this.stopDismissAnimation(),this.animationProgress=1,this.isDismissing=!1,this.dismissProgress=0,this.firstStageTitleVisible=!0,this.firstStageHintVisible=!0,this.firstStageTitleRevealProgress=1,this.firstStageHintRevealProgress=1,this.previousIntroStage=null,this.stageTransitionProgress=1;return}if(this.firstStageTitleVisible=!1,this.firstStageHintVisible=!1,this.firstStageTitleRevealProgress=0,this.firstStageHintRevealProgress=0,this.startProgressAnimation({from:0,to:1,durationMs:Z31,onComplete:()=>{if(!this.widget.dismissible)this.setState(()=>{this.firstStageTitleVisible=!0,this.firstStageHintVisible=!0,this.firstStageTitleRevealProgress=1,this.firstStageHintRevealProgress=1})}}),this.widget.dismissible)this.startFirstStageRevealSequence()}startDismissAnimation(){if(this.isDismissing)return;if(!this.widget.animationsEnabled){this.widget.onDismiss();return}this.stopFirstStageRevealTimers(),this.stopStageTransitionTimer(),this.dismissStartedAt=performance.now(),this.setState(()=>{this.isDismissing=!0,this.dismissProgress=0}),this.dismissTimer=setInterval(()=>{let A=performance.now()-this.dismissStartedAt,Q=JF(A/ed3);if(this.setState(()=>{this.dismissProgress=Q}),Q>=1)this.stopDismissAnimation(),this.widget.onDismiss()},pX0)}canNavigateIntroStage(){if(this.isDismissing)return!1;if(!this.firstStageHintVisible)return!1;if(this.introStage===0&&this.firstStageHintRevealProgress<1)return!1;return!0}advanceIntroStage(){if(!this.canNavigateIntroStage())return;if(this.isFinalIntroStage()){if(this.widget.dismissible)this.startDismissAnimation();return}this.moveIntroStage(1)}dismissFromFinalIntroStage(){if(!this.widget.dismissible||!this.canNavigateIntroStage()||!this.isFinalIntroStage())return!1;return this.startDismissAnimation(),!0}nextIntroStage(){if(!this.canNavigateIntroStage()||this.isFinalIntroStage())return;this.moveIntroStage(1)}goToPreviousIntroStage(){if(!this.canNavigateIntroStage()||this.introStage<=0)return;this.moveIntroStage(-1)}isFinalIntroStage(){return this.introStage>=this.widget.introStages.length-1}moveIntroStage(A){let Q=this.introStage+A;if(this.stopStageTransitionTimer(),this.stageTransitionStartedAt=performance.now(),this.setState(()=>{this.previousIntroStage=this.introStage,this.introStage=Q,this.stageTransitionDirection=A}),this.widget.animationProgress!==void 0||!this.widget.animationsEnabled){this.setState(()=>{this.previousIntroStage=null,this.stageTransitionProgress=1});return}this.setState(()=>{this.stageTransitionProgress=0}),this.stageTransitionTimer=setInterval(()=>{let $=performance.now()-this.stageTransitionStartedAt,B=JF($/td3);if(this.setState(()=>{if(this.stageTransitionProgress=B,B>=1)this.previousIntroStage=null}),B>=1)this.stopStageTransitionTimer()},pX0)}startProgressAnimation({from:A,to:Q,durationMs:$,onComplete:B}){this.stopAnimation(),this.startedAt=performance.now(),this.animationStartProgress=A,this.animationTargetProgress=Q,this.animationDurationMs=$,this.onAnimationComplete=B,this.animationProgress=A,this.animationTimer=setInterval(()=>{let D=performance.now()-this.startedAt,J=JF(D/this.animationDurationMs),F=this.animationStartProgress+(this.animationTargetProgress-this.animationStartProgress)*py(J);if(this.setState(()=>{this.animationProgress=F}),J>=1)this.stopAnimation(),this.onAnimationComplete?.(),this.onAnimationComplete=null},pX0)}stopAnimation(){if(this.animationTimer)clearInterval(this.animationTimer),this.animationTimer=null}stopStageTransitionTimer(){if(this.stageTransitionTimer)clearInterval(this.stageTransitionTimer),this.stageTransitionTimer=null}startFirstStageRevealSequence(){if(this.stopFirstStageRevealTimers(),!this.widget.animationsEnabled){this.setState(()=>{this.firstStageTitleVisible=!0,this.firstStageHintVisible=!0,this.firstStageTitleRevealProgress=1,this.firstStageHintRevealProgress=1});return}this.setState(()=>{this.firstStageTitleVisible=!1,this.firstStageHintVisible=!1,this.firstStageTitleRevealProgress=0,this.firstStageHintRevealProgress=0});let A=Math.max(0,Z31+Ap3),Q=A+Qp3;this.firstStageTitleTimer=setTimeout(()=>{this.firstStageTitleRevealStartedAt=performance.now(),this.setState(()=>{this.firstStageTitleVisible=!0,this.firstStageTitleRevealProgress=0}),this.startFirstStageRevealTimer()},A),this.firstStageHintTimer=setTimeout(()=>{this.firstStageHintRevealStartedAt=performance.now(),this.setState(()=>{this.firstStageHintVisible=!0,this.firstStageHintRevealProgress=0}),this.startFirstStageRevealTimer()},Q)}startFirstStageRevealTimer(){if(this.firstStageRevealTimer)return;this.firstStageRevealTimer=setInterval(()=>{let A=performance.now(),Q=this.firstStageTitleRevealStartedAt?JF((A-this.firstStageTitleRevealStartedAt)/Bp3):this.firstStageTitleRevealProgress,$=this.firstStageHintRevealStartedAt?JF((A-this.firstStageHintRevealStartedAt)/Dp3):this.firstStageHintRevealProgress;if(this.setState(()=>{this.firstStageTitleRevealProgress=Q,this.firstStageHintRevealProgress=$}),Q>=1&&$>=1)this.stopFirstStageRevealTimer()},pX0)}stopFirstStageRevealTimers(){if(this.stopFirstStageRevealTimer(),this.firstStageTitleRevealStartedAt=null,this.firstStageHintRevealStartedAt=null,this.firstStageTitleTimer)clearTimeout(this.firstStageTitleTimer),this.firstStageTitleTimer=null;if(this.firstStageHintTimer)clearTimeout(this.firstStageHintTimer),this.firstStageHintTimer=null}stopFirstStageRevealTimer(){if(this.firstStageRevealTimer)clearInterval(this.firstStageRevealTimer),this.firstStageRevealTimer=null}stopDismissAnimation(){if(this.dismissTimer)clearInterval(this.dismissTimer),this.dismissTimer=null}currentOrbPalette(){let A=Ks4(this.introStage),Q=this.previousIntroStage===null||this.stageTransitionProgress>=1?A:zs4(Ks4(this.previousIntroStage),A,py(this.stageTransitionProgress));return this.dismissProgress>0?zs4(Q,Ep3,py(this.dismissProgress)):Q}build(A){let Q=L1.of(A).colorScheme,$=O0.of(A),B=this.currentOrbPalette(),D=B$(1,"frontier",B),J=b1.of(A).size,E=this.widget.animationProgress??this.animationProgress,Y=Math.max(J.width/dy,J.height/HR)*$p3,Z=Y+(1-Y)*E,U=py(this.dismissProgress),X=Math.max(dy,Math.round(dy*Z)),G=Math.max(HR,Math.round(HR*Z)),V=Math.round((J.width-X)/2),K=Math.round((J.height-G)/2),z=Math.max(0,Math.floor((J.width-dy)/2)),W=-Math.floor(HR/2),I=Math.round(V+(z-V)*E),H=Math.round(K+(W-K)*E),q=I+X/2,N=H+G/2,C=Yp3({dismissProgress:this.dismissProgress,easedDismissProgress:U,introOrbScale:Z,normalOrbCenterX:q,normalOrbCenterY:N,size:J}),O=Math.max(dy,Math.round(dy*C.orbScale)),L=Math.max(HR,Math.round(HR*C.orbScale)),j=C.orbCenterX,k=C.orbCenterY,_=Math.round(j-O/2),S=Math.round(k-L/2),h=Math.max(3,Math.min(J.height-5,Math.floor(HR/2)+2)),b=Math.max(h+3,J.height-3),v=C.textDissolveProgress,y=this.isFinalIntroStage()?C.backdropDissolveProgress:0,c=this.firstStageTitleVisible&&v<1,p=c&&this.firstStageHintVisible,g=p&&this.widget.dismissible&&this.introStage>0&&!this.isFinalIntroStage(),i=this.introStage===0?this.firstStageTitleRevealProgress:1,o=this.introStage===0?this.firstStageHintRevealProgress:1,A0=Math.max(24,Math.min(74,J.width-4)),W0=Math.min(12,Math.max(8,J.height-h-6)),Y0=Math.max(0,Math.floor((J.width-A0)/2)),I0=Math.max(0,Math.min(J.height-W0,Math.floor(J.height*0.55-W0/2))),j0=this.widget.animationProgress!==void 0||!this.widget.animationsEnabled?new NN({width:O,height:L,agentMode:"frontier",visualStyle:"neo",neoGlyphSet:"dotField",backgroundColor:Q.background,primaryColor:B.primary,secondaryColor:B.secondary,glow:this.splashOrbGlow,seed:42,fps:0,onClick:()=>{}}):new NN({width:O,height:L,agentMode:"frontier",visualStyle:"neo",neoGlyphSet:"dotField",backgroundColor:Q.background,primaryColor:B.primary,secondaryColor:B.secondary,glow:this.splashOrbGlow,onClick:()=>{}});return new k4({autofocus:!0,canRequestFocus:!0,debugLabel:"NeoWelcomeTakeover",onKey:(Q0)=>{if(Q0.key==="Enter")return this.advanceIntroStage(),"handled";if(!this.widget.dismissible&&Q0.key==="c"&&Q0.ctrlKey)return this.widget.onQuit?.(),"handled";if(!this.widget.dismissible&&Q0.key==="q")return this.widget.onQuit?.(),"handled";if((Q0.key===" "||Q0.key==="Space")&&!this.isFinalIntroStage())return this.advanceIntroStage(),"handled";if(Q0.key==="Escape"||Q0.key==="Esc"){if(!this.widget.dismissible)return this.widget.onQuit?.(),"handled";return this.dismissFromFinalIntroStage()?"handled":"ignored"}if(Q0.key==="ArrowRight")return this.nextIntroStage(),"handled";if(Q0.key==="ArrowLeft")return this.goToPreviousIntroStage(),"handled";return"ignored"},child:new i4({fit:"expand",children:[new ws4({color:Q.background,dissolveProgress:y}),new i4({fit:"expand",children:[new O1({onClick:()=>{},child:X0.expand()}),new o4({left:_,top:S,width:O,height:L,child:j0}),...c?[new o4({left:Y0,top:I0,width:A0,height:W0,child:Up3({introStages:this.widget.introStages,stage:this.introStage,previousStage:this.previousIntroStage,progress:this.stageTransitionProgress,direction:this.stageTransitionDirection,width:A0,height:W0,foreground:Q.foreground,mutedForeground:Q.mutedForeground,accent:D,link:$.app.link,keybind:$.app.keybind,titleRevealProgress:i,dissolveProgress:v,context:A})})]:[],...p?[...g?[new o4({left:Y0,top:Math.max(0,b-1),width:A0,height:1,child:new d({text:Wp3({stage:this.introStage,featureStageCount:Math.max(0,this.widget.introStages.length-2),foreground:Q.mutedForeground,dissolveProgress:v}),textAlign:"center"})})]:[],new o4({left:Y0,top:b,width:A0,height:1,child:Hp3({finalStage:this.isFinalIntroStage(),dismissible:this.widget.dismissible,foreground:Q.mutedForeground,keybind:$.app.keybind,revealProgress:o,dissolveProgress:v,context:A})})]:[]]})]})})}}class ws4 extends j5{color;dissolveProgress;constructor({color:A,dissolveProgress:Q}){super();this.color=A,this.dissolveProgress=Q}createRenderObject(){return new Ms4(this.color,this.dissolveProgress)}updateRenderObject(A){A.update(this.color,this.dissolveProgress)}}class Ms4 extends c1{color;dissolveProgress;constructor(A,Q){super();this.color=A,this.dissolveProgress=Q}update(A,Q){this.color=A,this.dissolveProgress=Q,this.markNeedsPaint()}performLayout(){let A=this._lastConstraints;q4(!!A,"performLayout called without constraints");let Q=A.constrain(A.biggest.width,A.biggest.height);this.setSize(Q.width,Q.height),super.performLayout()}paint(A,Q=0,$=0){let B=Math.floor(Q+this.offset.x),D=Math.floor($+this.offset.y),J=Math.floor(this.size.width),F=Math.floor(this.size.height),E={bg:this.color},Y=JF(this.dissolveProgress);if(Y<=0){A.fill(B,D,J,F," ",E);return}if(Y>=1)return;for(let Z=0;Z<F;Z++)for(let U=0;U<J;U++)if(!Zp3(U,Z,J,F,Y))A.fill(B+U,D+Z,1,1," ",E)}}function JF(A){return Math.min(1,Math.max(0,A))}function py(A){return 1-(1-A)**3}function Ks4(A){return Vs4[A]??Vs4[0]}function zs4(A,Q,$){return{primary:vj(A.primary,Q.primary,$),secondary:vj(A.secondary,Q.secondary,$)}}function Yp3({dismissProgress:A,easedDismissProgress:Q,introOrbScale:$,normalOrbCenterX:B,normalOrbCenterY:D,size:J}){return{orbScale:$+($*0.86-$)*Q,orbCenterX:B+(J.width*0.54-B)*Q,orbCenterY:D-J.height*0.44*Q,textDissolveProgress:JF(A/0.52),backdropDissolveProgress:py(JF((A-0.12)/0.88))}}function Zp3(A,Q,$,B,D){let J=B<=1?0:Q/(B-1),F=Ls4(A+Q*Math.max(1,$));return(1-J)*0.72+F*0.28<D}function Up3({introStages:A,stage:Q,previousStage:$,progress:B,direction:D,width:J,height:F,foreground:E,mutedForeground:Y,accent:Z,link:U,keybind:X,titleRevealProgress:G,dissolveProgress:V,context:K}){if($===null||B>=1)return U31({introStages:A,stage:Q,foreground:E,mutedForeground:Y,accent:Z,link:U,keybind:X,titleRevealProgress:G,dissolveProgress:V,context:K});let z=py(B),W=D*Math.round((1-z)*J),I=-D*Math.round(z*J);return new gz(new i4({fit:"expand",children:[new o4({left:I,top:0,width:J,height:F,child:U31({introStages:A,stage:$,foreground:E,mutedForeground:Y,accent:Z,link:U,keybind:X,titleRevealProgress:$===0?1:G,dissolveProgress:V,context:K})}),new o4({left:W,top:0,width:J,height:F,child:U31({introStages:A,stage:Q,foreground:E,mutedForeground:Y,accent:Z,link:U,keybind:X,titleRevealProgress:G,dissolveProgress:V,context:K})})]}))}function U31({introStages:A,stage:Q,foreground:$,mutedForeground:B,accent:D,link:J,keybind:F,titleRevealProgress:E,dissolveProgress:Y,context:Z}){let U=A[Q]??A[0]??G31[0],X=new T({color:D,bold:!0}),G=new T({color:$}),V=A===G31&&Q===0,K=[...U.title===null?[]:[new d({text:V?lX0(Vp3({progress:E,foreground:D,pulseColor:D}),Y):new w(KB(U.title,Y),X),textAlign:"center"})],...U.body.length>0?[Xp3()]:[],...U.body.map((z)=>Gp3(z,G,B,J,F,Y,Z))];return new $4({child:new f0({padding:V0.horizontal(1),child:new S0({crossAxisAlignment:"stretch",mainAxisAlignment:"center",mainAxisSize:"min",children:K})})})}function Xp3(){return X0.height(1)}function Gp3(A,Q,$,B,D,J,F){if(typeof A==="string")return new d({text:new w(KB(A,J),Q),textAlign:"center"});if("codeBlock"in A)return new U5({onCopy:(E,Y)=>{if(Y)w3.success(F,"Copied to clipboard",2000)},child:new S0({mainAxisSize:"min",children:A.codeBlock.map((E)=>new d({text:new w(KB(E,J),new T({color:D})),textAlign:"center",selectable:!0}))})});if("keybind"in A){let E=new d({text:new w("",void 0,[new w(KB(A.text,J),new T({color:$,dim:!0})),new w(KB(A.keybind,J,G4(A.text).length),new T({color:D}))]),textAlign:"center",selectable:"selectable"in A?A.selectable:!1});if("selectable"in A)return new $4({child:new U5({child:E})});return E}if("highlightText"in A){let E=P6.createSpan(A.href,A.linkText,new T({color:B,underline:!0})),Y=aZ.of(F),Z=new w("",void 0,[new w(A.text,Q),new w(A.highlightText,new T({color:D})),new w(A.textAfterHighlight,Q),new w(E.text,E.style,E.children,E.hyperlink,()=>{n6(F,A.href,{forceExternal:!1,onShowImagePreview:Y})}),new w(A.textAfter,Q)]);return new d({text:lX0(Z,J),textAlign:"center"})}if("linkText"in A){if(A.linkWidget)return new S0({mainAxisSize:"min",children:[new d({text:new w(KB(A.text,J),Q),textAlign:"center"}),new $4({child:new r0({mainAxisSize:"min",children:[P6.createWidget(F,A.href,KB(A.linkText,J),new T({color:B,underline:!0})),new d({text:new w(KB(A.textAfter,J),Q)})]})})]});let E=P6.createSpan(A.href,A.linkText,new T({color:B,underline:!0})),Y=aZ.of(F),Z=new w("",void 0,[new w(A.text,Q),new w(E.text,E.style,E.children,E.hyperlink,()=>{n6(F,A.href,{forceExternal:!1,onShowImagePreview:Y})}),new w(A.textAfter,Q)]);return new d({text:lX0(Z,J),textAlign:"center"})}if(J>0)return new d({text:new w(KB(A.text,J),new T({color:B,underline:!0})),textAlign:"center"});return new $4({child:P6.createWidget(F,A.href,A.text,new T({color:B,underline:!0}))})}function Vp3({progress:A,foreground:Q,pulseColor:$}){let B=new T({color:Q,bold:!0}),D=new T({color:zp3({progress:A,foreground:Q,pulseColor:$}),bold:!0});return new w("",void 0,[new w(Kp3(A).padEnd(V31," "),B),new w(" ",B),new w(Ws4(qs4,Jp3,A,0.72),B),new w(" ",B),new w(Ws4(Ns4,Fp3,A,0.88),D)])}function Kp3(A){let Q=G4(Hs4),$=Math.min(V31,Math.ceil(JF(A/0.62)*V31));return Q.slice(0,$).join("")}function Ws4(A,Q,$,B){return $>=B?A:"".padEnd(Q," ")}function zp3({progress:A,foreground:Q,pulseColor:$}){if(A<0.88||A>=1)return Q;let B=JF((A-0.88)/0.12);return Math.cos(B*Math.PI*4)*(1-B)>0.12?$:Q}function Wp3({stage:A,featureStageCount:Q,foreground:$,dissolveProgress:B}){return new w(KB(`${A}/${Q}`,B),new T({color:$,dim:!0}))}function Ip3({finalStage:A,dismissible:Q,foreground:$,keybind:B,revealProgress:D,dissolveProgress:J}){let F=new T({color:B}),E=new T({color:$,dim:!0}),Y=Q?A?"Enter":"Space":"Esc",Z=Q?A?" to get started":" to continue":" to quit, or use ",U=Q?"":"amp --take-me-back",X=Q?"":" to use the old version",G=`${Z}${U}${X}`;if(!Q)return new w("",void 0,[new w(Y,F),new w(Z,E),new w(U,F),new w(X,E)]);let V=Is4(Y,D),K=Is4(G,JF((D*(G4(Y).length+G4(G).length)-G4(Y).length)/G4(G).length));return new w("",void 0,[new w(KB(V,J),F),new w(KB(K.slice(0,Z.length),J),E),new w(KB(K.slice(Z.length,Z.length+U.length),J),F),new w(KB(K.slice(Z.length+U.length),J),E)])}function Hp3({finalStage:A,dismissible:Q,foreground:$,keybind:B,revealProgress:D,dissolveProgress:J,context:F}){if(Q)return new d({text:Ip3({finalStage:A,dismissible:Q,foreground:$,keybind:B,revealProgress:D,dissolveProgress:J}),textAlign:"center"});let E=new T({color:B}),Y=new T({color:$,dim:!0});return new U5({onCopy:(Z,U)=>{if(U)w3.success(F,"Copied to clipboard",2000)},child:new d({text:new w("",void 0,[new w("q",E),new w(" to quit, or use ",Y),new w("amp --take-me-back",E),new w(" to use the old version",Y)]),textAlign:"center",selectable:!0})})}function Is4(A,Q){let $=G4(A),B=Math.min($.length,Math.ceil(JF(Q)*$.length));return $.slice(0,B).join("").padEnd($.length," ")}function lX0(A,Q,$=0){if(Q<=0)return A;let B=$+G4(A.text??"").length,D=A.children?.map((J)=>{let F=lX0(J,Q,B);return B+=G4(J.toPlainText()).length,F});return new w(A.text?KB(A.text,Q,$):A.text,A.style,D,A.hyperlink,A.onClick)}function KB(A,Q,$=0){if(Q<=0)return A;return G4(A).map((D,J)=>{if(D.trim()==="")return D;return Ls4($+J)<Q?" ":D}).join("")}function Ls4(A){let Q=Math.sin((A+1)*12.9898)*43758.5453;return Q-Math.floor(Q)}p0();e2();function $C(A,Q){let{colors:$,dim:B}=Q,D=[];if(A.totalCostUSD===null)return D;let J=A.costBreakdown,F=J?.freeUSD??0,E=J?.paidUSD??0;if(F===0&&E===0)return D;let Z={decimalPlaces:"more-if-tiny",intent:"cost"};if(E===0)D.push(new w(iG(F,Z),new T({color:$.foreground,dim:B}))),D.push(new w(" (free)",new T({color:$.foreground,dim:B})));else if(F>0)D.push(new w(iG(F,Z),new T({color:$.foreground,dim:B}))),D.push(new w(" (free)",new T({color:$.foreground,dim:B}))),D.push(new w(" + ",new T({color:$.foreground,dim:B}))),D.push(new w(iG(E,Z),new T({color:$.foreground,dim:B,bold:!B})));else D.push(new w(iG(E,Z),new T({color:$.foreground,dim:B,bold:!B})));return D}class z31 extends V4{}class W31 extends V4{}function qp3(A,Q){if(Q.code==="auth-required")return"You must be logged in to view thread usage. Run `amp login` first.";if(Q.code==="thread-not-found")return`Thread ${A} not found.`;return`Failed to load thread usage: ${Q.message??Q.code}`}function Np3(A,Q){let $=O0.of(Q),{colors:B}=$,D=$C(A,{colors:{foreground:B.foreground}}),J=[];if(D.length>0)J.push(new w("Total: ",new T({color:B.mutedForeground}))),J.push(...D);else if(A.totalCostUSD===null)J.push(new w("Usage information is currently unavailable."));else J.push(new w("No usage recorded for this thread yet."));if(A.costBreakdownURL)J.push(new w(`
5318
5318
 
5319
- `)),J.push(new w("Details: ",new T({color:B.mutedForeground}))),J.push(new w(A.costBreakdownURL,new T({color:$.app.link})));return new d({text:new w("",void 0,J)})}function Cp3(A,Q,$){let B=Np3(A,Q);if(!A.costBreakdownURL)return new C6({header:"Thread Cost",minWidth:80,maxWidth:100,onDismiss:$,child:B});let D=A.costBreakdownURL,J=new T1(()=>{return x4.maybeInvoke(Q,new K8(D,"Cost breakdown URL copied to clipboard","Failed to copy cost breakdown URL")),"handled"}),F=new T1(()=>{return n6(Q,D),"handled"});return new C6({header:"Thread Cost",minWidth:80,maxWidth:100,autofocus:!1,footer:[{keys:["Esc"],label:"close"},{keys:["o"],label:"open in browser"},{keys:["y"],label:"copy url"}],onDismiss:$,child:new x4({actions:new Map([[z31,J],[W31,F]]),child:new vA({debugLabel:"ThreadCostShortcuts",shortcuts:new Map([[G1.key("o"),new W31],[G1.key("y"),new z31]]),child:new v4({autofocus:!0,debugLabel:"ThreadCostBody",child:B})})})})}function Os4(A){return{noun:"thread",verb:"show cost",description:"Show usage cost for the active thread",keywords:["usage","credits","billing","spend"],get status(){return A.getActiveThreadID()?{type:"enabled"}:{type:"disabled",reason:"No active thread"}},run:async(Q,$,B)=>{let D=A.getActiveThreadID();if(!D)return;try{let J=await e4.threadDisplayCostInfo({threadID:D},{config:A.configService});if(!J.ok){A.toastController.show(qp3(D,J.error),"error",5000),B();return}Q.push(Cp3(J.result,$,B))}catch(J){u.error("Failed to load Neo thread cost",{error:J,threadID:D}),A.toastController.show(`Failed to show thread cost: ${J instanceof Error?J.message:String(J)}`,"error",5000),B()}}}}p0();u9();Q4();class ez extends V4{direction;constructor(A){super();this.direction=A}}class iX0 extends V4{}class ns extends V4{}class nX0 extends V4{index;constructor(A){super();this.index=A}}function I31(A){return A.length+2}class H31 extends u0{props;constructor(A){super();this.props=A}createState(){return new js4}}class js4 extends R0{selectedIndex=0;initState(){super.initState(),this.selectedIndex=this.findSelectableIndex(this.widget.props.initialSelectedIndex??0)}didUpdateWidget(A){this.selectedIndex=this.findSelectableIndex(this.selectedIndex)}isSelectable(A){let Q=this.widget.props.entries[A];return Q?.type==="item"&&(Q.enabled??!0)}findSelectableIndex(A){let{entries:Q}=this.widget.props;if(Q.length===0)return 0;let $=Math.max(0,Math.min(A,Q.length-1));if(this.isSelectable($))return $;for(let B=1;B<Q.length;B++){let D=$+B;if(D<Q.length&&this.isSelectable(D))return D;let J=$-B;if(J>=0&&this.isSelectable(J))return J}return 0}moveSelection(A){let Q=this.findNextSelectableIndex(A);if(Q===this.selectedIndex)return;this.setState(()=>{this.selectedIndex=Q})}findNextSelectableIndex(A){let{entries:Q}=this.widget.props;for(let $=this.selectedIndex+A;$>=0&&$<Q.length;$+=A)if(this.isSelectable($))return $;return this.selectedIndex}acceptIndex(A){let Q=this.widget.props.entries[A];if(Q?.type!=="item"||!(Q.enabled??!0))return;this.setState(()=>{this.selectedIndex=A}),this.widget.props.onAccept(Q.value)}invoke=(A)=>{if(A instanceof ez)return this.moveSelection(A.direction),"handled";if(A instanceof iX0)return this.acceptIndex(this.selectedIndex),"handled";if(A instanceof ns)return this.widget.props.onDismiss(),"handled";if(A instanceof nX0)return this.acceptIndex(A.index),"handled";return"ignored"};buildShortcuts(){let A=new Map([[G1.key("ArrowDown"),new ez(1)],[G1.key("j"),new ez(1)],[G1.ctrl("n"),new ez(1)],[G1.key("ArrowUp"),new ez(-1)],[G1.key("k"),new ez(-1)],[G1.ctrl("p"),new ez(-1)],[G1.key("Enter"),new iX0],[G1.key("Escape"),new ns],[G1.ctrl("."),new ns]]);return this.widget.props.entries.forEach((Q,$)=>{if(Q.type==="item"&&Q.shortcut)A.set(Q.shortcut,new nX0($))}),A}buildActions(){return new Map([[ez,new T1(this.invoke)],[iX0,new T1(this.invoke)],[ns,new T1(this.invoke)],[nX0,new T1(this.invoke)]])}build(A){let Q=O0.of(A),$=wp3(this.widget.props.entries,b1.of(A).supportsEmojiWidth);return new x0({width:this.widget.props.width,height:I31(this.widget.props.entries),decoration:new R4(Q.colors.background,d1.all(new p1(Q.colors.border,1,"solid"))),child:new x4({actions:this.buildActions(),child:new vA({debugLabel:"NeoContextPickerShortcuts",shortcuts:this.buildShortcuts(),child:new v4({autofocus:!0,debugLabel:"NeoContextPicker",child:new S0({mainAxisSize:"min",crossAxisAlignment:"stretch",children:this.widget.props.entries.map((B,D)=>this.buildEntry(B,D,$,Q))})})})})})}buildEntry(A,Q,$,B){if(A.type==="separator")return new x0({height:1,decoration:{border:new d1(new p1(B.colors.border,1,"solid"))}});let D=Q===this.selectedIndex,J=A.enabled??!0,F=new T({color:D?B.app.selectionForeground:B.colors.foreground,dim:!J}),E=new T({color:D?B.app.selectionForeground:B.app.keybind,bold:!0,dim:!J});return new O1({onClick:()=>this.acceptIndex(Q),child:new x0({padding:V0.symmetric(1,0),decoration:D?new R4(B.app.selectionBackground):void 0,child:new r0({crossAxisAlignment:"start",children:[new R1({child:new d({text:new w(A.label,F),maxLines:1,overflow:"ellipsis"})}),new X0({width:1}),new X0({width:$,child:new d({text:new w(Rs4(A),E),textAlign:"right",maxLines:1,overflow:"ellipsis"})})]})})})}}function wp3(A,Q){return A.reduce(($,B)=>{return B.type==="item"?Math.max($,J4(Rs4(B),Q)):$},0)}function Rs4(A){return A.shortcutLabel??A.shortcut?.toString().toLowerCase()??""}var Mp3=36,Lp3=24,Op3=72;class us4 extends u0{child;onContext;constructor(A,Q){super();this.child=A;this.onContext=Q}createState(){return new Ps4}}class Ps4 extends R0{build(A){return this.widget.onContext(A),this.widget.child}}function _s4(A){return A.replace(/ ago$/,"")}function aX0(A){return A.reduce((Q,$)=>Math.max(Q,J4(_s4($.description.timeAgo))),0)}function Ts4(A){return Math.max(Lp3,Math.min(A,Op3))}class q31 extends V4{}class N31 extends V4{}class C31{options;visibility;width=Mp3;constructor(A){this.options=A;this.visibility=new zr(A.state)}isVisible(){return this.visibility.isEnabled()}buildBody(A){return new r0({crossAxisAlignment:"stretch",children:[this.buildSlot(),new R1({child:A})]})}buildSlot(){if(!this.options.isAvailable()||this.visibility.isDisabled())return new X0({width:0});return new X0({width:this.width,child:new k4({debugLabel:"ThreadListSidebar",child:new vs4({activeThreadID:this.options.getActiveThreadID(),currentWorkspaceURI:t1(i0.file(this.options.getWorkspaceRoot())),width:this.width,loadThreads:this.options.loadThreads,onSelectThread:this.options.onSelectThread,onDismiss:this.close,onResizeWidth:this.resize})})})}commands(){if(!this.options.isAvailable())return[];return[{noun:"thread",verb:"toggle sidebar",description:"Show or hide the thread sidebar",keywords:["sidebar","recent","history","threads"],shortcut:G1.alt("s"),status:{type:"enabled"},run:(A,Q,$)=>{$(),this.toggle()}}]}shortcutEntries(){return this.options.isAvailable()?[[G1.alt("s"),new kU0]]:[]}actionEntries(){if(!this.options.isAvailable())return[];return[[kU0,new T1(()=>this.toggle())]]}toggle=()=>{if(!this.options.isAvailable())return"ignored";if(this.visibility.isDisabled()&&this.options.isBlocked())return"ignored";return this.visibility.toggle(),"handled"};close=()=>{this.visibility.disable()};resize=(A)=>{let Q=Ts4(A);if(Q===this.width)return;this.options.state.setState(()=>{this.width=Q})}}class vs4 extends u0{props;constructor(A){super();this.props=A}createState(){return new ks4}}class ks4 extends R0{threads=[];isLoading=!0;isSwitchingThread=!1;hasError=!1;filterByWorkspace=!0;timeColWidth=0;contextMenu=null;pendingThreadMutations=new Map;resizeSession=null;isResizeHandleHovered=!1;pickerController=new kr;threadItemContexts=new Map;shortcuts=new Map([[G1.alt("w"),new q31],[G1.ctrl("."),new N31]]);actions=new Map([[q31,new T1(()=>{return this.setState(()=>{this.filterByWorkspace=!this.filterByWorkspace,this.contextMenu=null}),"handled"})],[N31,new T1(()=>this.openContextMenu())]]);get isBusy(){return this.isLoading||this.isSwitchingThread}get isResizeActive(){return this.resizeSession!==null||this.isResizeHandleHovered}didUpdateWidget(A){if(this.contextMenu&&(A.props.width!==this.widget.props.width||A.props.currentWorkspaceURI!==this.widget.props.currentWorkspaceURI))this.contextMenu=null}initState(){super.initState(),this.loadThreadSummaries()}async loadThreadSummaries(){try{let A=await this.widget.props.loadThreads(),Q=ZA1(A);if(!this.mounted)return;this.setState(()=>{this.pickerController.selectedItem=Q.find(($)=>$.id===this.widget.props.activeThreadID)??null,this.threads=Q,this.timeColWidth=aX0(Q),this.isLoading=!1,this.hasError=!1})}catch(A){if(u.error("Failed to load threads for Neo sidebar",{error:A}),!this.mounted)return;this.setState(()=>{this.isLoading=!1,this.hasError=!0})}}handleSelectThread=async(A)=>{if(this.isSwitchingThread)return;this.setState(()=>{this.isSwitchingThread=!0});try{await this.widget.props.onSelectThread(A),this.widget.props.onDismiss()}catch(Q){u.error("Failed to switch thread from Neo sidebar",{error:Q,threadID:A})}finally{if(this.mounted)this.setState(()=>{this.isSwitchingThread=!1})}};getOptimisticThreads(){return this.threads.flatMap((A)=>{if(this.pendingThreadMutations.get(A.id)?.kind==="archive")return[];return[A]})}getThreadsForDisplay(){let A=this.getOptimisticThreads();return this.filterByWorkspace?A.filter((Q)=>!Q.workspaceURI||Q.workspaceURI===this.widget.props.currentWorkspaceURI):A}buildContextMenuEntries(){return[{type:"item",value:"archive",label:"Archive Thread",shortcut:G1.key("a"),shortcutLabel:"a"},{type:"separator"},{type:"item",value:"copy-id",label:"Copy ID",shortcut:G1.ctrl("c"),shortcutLabel:"ctrl+c"},{type:"item",value:"copy-url",label:"Copy URL",shortcut:new G1("c",{shift:!0,ctrl:!0}),shortcutLabel:"shift+ctrl+c"}]}openContextMenu(){let A=this.pickerController.selectedItem;if(!A||this.isBusy||this.hasError)return"ignored";let Q=this.buildContextMenuEntries(),$=I31(Q),B=this.getContextMenuWidth(),D=this.getContextMenuPosition(A.id,$,B);return this.setState(()=>{this.contextMenu={threadID:A.id,left:D.left,top:D.top,width:B,height:$}}),"handled"}getContextMenuWidth(){let A=Math.max(24,this.widget.props.width-3);return Math.max(1,Math.min(A,this.widget.props.width-2))}getContextMenuPosition(A,Q,$){let B=Math.max(0,Math.min(2,this.widget.props.width-$)),D=1,J=this.threadItemContexts.get(A)?.findRenderObject(),F=this.context.findRenderObject();if(!(J instanceof c1)||!(F instanceof c1))return{left:B,top:1};let E=J.localToGlobal({x:0,y:0}),Y=F.localToGlobal({x:0,y:0}),Z=E.y-Y.y,U=Z+J.size.height,X=b1.sizeOf(this.context).height,G=Math.max(1,Math.min(F.size.height,X-Y.y)),z=G-U>=Q||Z<G/2?U:Z-Q,W=Math.max(0,G-Q);return{left:B,top:Math.max(0,Math.min(z,W))}}closeContextMenu=()=>{if(!this.contextMenu)return;this.setState(()=>{this.contextMenu=null})};handleContextMenuAccept=(A)=>{let Q=this.contextMenu?.threadID;if(!Q)return;if(this.closeContextMenu(),A==="archive"){this.archiveContextMenuThread(Q);return}if(A==="copy-id"){x4.maybeInvoke(this.context,new K8(Q,"Thread ID copied to clipboard","Failed to copy thread ID"));return}x4.maybeInvoke(this.context,new K8(this.getThreadURL(Q),"Thread URL copied to clipboard","Failed to copy thread URL"))};beginOptimisticArchive(A){if(this.pendingThreadMutations.has(A))return!1;if(!this.threads.some(($)=>$.id===A))return!1;let Q={kind:"archive",fallbackSelectedThreadID:null};return this.setState(()=>{this.pendingThreadMutations.set(A,Q),this.timeColWidth=aX0(this.getOptimisticThreads())}),i6.instance.addPostFrameCallback(()=>{if(!this.mounted)return;let $=this.pendingThreadMutations.get(A);if($?.kind!=="archive")return;$.fallbackSelectedThreadID=this.pickerController.selectedItem?.id??null}),!0}commitOptimisticArchive(A){if(this.pendingThreadMutations.get(A)?.kind!=="archive")return;this.pendingThreadMutations.delete(A),this.threads=this.threads.filter(($)=>$.id!==A),this.timeColWidth=aX0(this.getOptimisticThreads())}rollbackOptimisticArchive(A){let Q=this.pendingThreadMutations.get(A);if(Q?.kind!=="archive")return;let $=this.threads.find((B)=>B.id===A);if(!$){this.pendingThreadMutations.delete(A);return}this.setState(()=>{this.pendingThreadMutations.delete(A),this.timeColWidth=aX0(this.getOptimisticThreads());let B=this.pickerController.selectedItem?.id??null;if(B===null||B===Q.fallbackSelectedThreadID)this.pickerController.selectedItem=$})}async archiveContextMenuThread(A){let Q=w3.maybeOf(this.context),{configService:$}=G5.of(this.context);if(!this.beginOptimisticArchive(A))return;try{let B=await xZ0({configService:$},A);if(!this.mounted)return;if(B){this.rollbackOptimisticArchive(A),Q?.show(B.message,"error");return}this.commitOptimisticArchive(A)}catch(B){if(u.error("Failed to archive thread from Neo sidebar context menu",{error:B,threadID:A}),!this.mounted)return;this.rollbackOptimisticArchive(A),Q?.show("Failed to archive thread","error")}}getThreadURL(A){return y$(new URL(G5.of(this.context).ampURL),A).toString()}buildContextMenuOverlay(){let A=this.contextMenu;if(!A||!this.getThreadsForDisplay().some((Q)=>Q.id===A.threadID))return null;return new o4({left:A.left,top:A.top,width:A.width,height:A.height,child:new k4({debugLabel:"ThreadListSidebarContextMenu",onFocusChange:(Q)=>{if(!Q)this.closeContextMenu()},child:new H31({entries:this.buildContextMenuEntries(),width:A.width,onAccept:this.handleContextMenuAccept,onDismiss:this.closeContextMenu})})})}buildContextMenuBackdrop(){return new o4({left:0,top:0,right:0,bottom:0,child:new O1({onClick:()=>this.closeContextMenu(),child:X0.expand()})})}buildThreadItem(A,Q,$,B){let D=O0.of(B),{app:J,colors:F}=D,E=!Q,Y=Q?J.selectionForeground:F.foreground,Z=Q?J.selectionForeground:F.mutedForeground,X=A.id===this.widget.props.activeThreadID?new d({text:new w("*",new T({color:Q?J.selectionForeground:F.success,dim:E}))}):void 0,G=_s4(A.description.timeAgo);return new us4(new x0({padding:V0.symmetric(1,0),child:new r0({children:[new X0({width:2,child:X}),new R1({child:new d({text:new w(A.title,new T({color:Y,dim:E})),overflow:"ellipsis",maxLines:1})}),new X0({width:2}),new X0({width:$,child:r0.end([new d({text:new w(G,new T({color:Z,dim:E}))})])})]})}),(V)=>{this.threadItemContexts.set(A.id,V)})}handleResizeHandlePress=(A)=>{if(A.button!=="left")return;this.setState(()=>{this.resizeSession={baseWidthColumns:this.widget.props.width,startColumn:Math.floor(A.position.x)}})};handleResizeHandleDrag=(A)=>{if(A.button!=="left"||this.resizeSession===null)return;let Q=Math.floor(A.position.x)-this.resizeSession.startColumn,$=Ts4(this.resizeSession.baseWidthColumns+Q);if($!==this.widget.props.width)this.widget.props.onResizeWidth($)};handleResizeHandleRelease=(A)=>{if(A.button!=="left"||this.resizeSession===null)return;this.setState(()=>{this.resizeSession=null})};handleResizeHandleEnter=()=>{if(this.isResizeHandleHovered)return;this.setState(()=>{this.isResizeHandleHovered=!0})};handleResizeHandleExit=()=>{if(!this.isResizeHandleHovered)return;this.setState(()=>{this.isResizeHandleHovered=!1})};buildResizeHandle(){return new o4({top:0,right:0,bottom:0,width:1,child:new O1({cursor:YA.EW_RESIZE,onClick:this.handleResizeHandlePress,onDrag:this.handleResizeHandleDrag,onRelease:this.handleResizeHandleRelease,onEnter:this.handleResizeHandleEnter,onExit:this.handleResizeHandleExit,child:new X0({width:1})})})}build(A){let Q=O0.of(A),$=this.getThreadsForDisplay(),B=this.hasError?[]:$;this.threadItemContexts.clear();let D=this.isSwitchingThread?"Switching thread...":"Loading threads...",J=this.hasError?"Failed to load threads":"No threads match your filter",F=this.isResizeActive?2:1,E=new d1(void 0,new p1(Q.colors.border,F),void 0,void 0),Y=this.buildContextMenuOverlay(),Z=[new x0({decoration:new R4(Q.colors.background,E),child:new x4({actions:this.actions,child:new vA({shortcuts:this.shortcuts,debugLabel:"ThreadListSidebarFilter",child:new pA({items:B,getLabel:(U)=>`${U.title} ${U.id}`,controller:this.pickerController,onAccept:(U)=>void this.handleSelectThread(U.id),onDismiss:this.widget.props.onDismiss,renderItem:(U,X,G,V)=>this.buildThreadItem(U,X,this.timeColWidth,V),enabled:!this.isBusy,isLoading:this.isBusy,hidePromptWhenLoading:!0,loadingText:D,emptyStateText:J,maxRenderItems:200,showBorder:!1})})})}),this.buildResizeHandle()];if(Y)Z.push(this.buildContextMenuBackdrop()),Z.push(Y);return new x0({width:this.widget.props.width,child:new i4({fit:"expand",children:Z})})}}class w31 extends u0{listSkillsForThread;clientPool;completionBuilder;history;ideManager;configService;updateService;initialThreadIDs;showNeoWelcome;neoWelcomeVariant;onNeoWelcomeDismissed;notificationService;mcpTrustHandler;onThreadArchived;onActiveThreadChange;onRelaunchRequested;onFirstFrame;initialUserInput;getDefaultNewThreadVisibility;openThreadPickerOnStart;workspaceSettingsFilePath;neoContext;constructor(A){super();this.listSkillsForThread=A.listSkillsForThread,this.clientPool=A.clientPool,this.completionBuilder=A.completionBuilder,this.history=A.history,this.ideManager=A.ideManager,this.configService=A.configService,this.updateService=A.updateService,this.initialThreadIDs=A.initialThreadIDs??[],this.showNeoWelcome=A.showNeoWelcome??!1,this.neoWelcomeVariant=A.neoWelcomeVariant??"intro",this.onNeoWelcomeDismissed=A.onNeoWelcomeDismissed,this.notificationService=A.notificationService,this.mcpTrustHandler=A.mcpTrustHandler,this.onThreadArchived=A.onThreadArchived,this.onActiveThreadChange=A.onActiveThreadChange,this.onRelaunchRequested=A.onRelaunchRequested,this.onFirstFrame=A.onFirstFrame,this.initialUserInput=A.initialUserInput,this.getDefaultNewThreadVisibility=A.getDefaultNewThreadVisibility,this.openThreadPickerOnStart=A.openThreadPickerOnStart??!1,this.workspaceSettingsFilePath=A.workspaceSettingsFilePath,this.neoContext=A.neoContext}createState(){return new fs4}}class fs4 extends R0{editorController=new P2;commandPalette=new zr(this);commandRegistry=new r41;toastController=new X01;relaunchNotificationController=new m41;exitHintTimer=new Kr(this,1000);ideStatus=new X8(this,{});threadNavigationHistory=new l41;draftThreadSettings={};draftThreadSettingsSeed={};hasDraftThreadSettingsSeed=!1;draftThreadSettingsInitPromise=null;activeThreadContext=null;activeThreadIDSubscription=null;activePluginMessageSubscription=null;activePluginUIRequestsSubscription=null;connectionErrorsSubscription=null;configSubscription=null;connectingToThreadID=null;executorAlreadyConnectedDialog=null;switchThreadPickerVisible=!1;neoWelcomeVisible=!1;endCreditsVisible=!1;neoInvadersHighScore=0;debugOverlayVisible=!1;focusDebugVisible=!1;unregisterCommands=null;emptyThreadTerminalTitleController=new us;pluginIntegration=null;mcpTrustIntegration=null;updateRelaunchIntegration=null;noticesPollingTimeout=null;notices;loadThreads=async()=>{return this.widget.neoContext.listThreads()};analyzeContextForThread=async(A,Q)=>{return rh4({ampURL:this.widget.neoContext.ampURL,configService:this.widget.configService,threadID:A,signal:Q})};onSwitchThread=(A)=>{return this.connectToExistingThread(A,{recordNavigation:!0,rethrowError:!0})};threadListSidebar=new C31({state:this,isAvailable:()=>this.widget.neoContext.isInternalUser,isBlocked:()=>this.commandPalette.isEnabled()||this.hasBlockingTopLevelModal(),getActiveThreadID:()=>this.activeThreadContext?.client.getThreadId()??null,getWorkspaceRoot:()=>this.widget.neoContext.workspaceRoot,loadThreads:this.loadThreads,onSelectThread:this.onSwitchThread});sendFeedbackReport=async(A)=>iU0({configService:this.widget.configService,settingsFilePath:this.widget.neoContext.settingsFilePath},A);archiveThread=async(A)=>{let Q=await xZ0({configService:this.widget.configService},A);if(Q===null)this.widget.onThreadArchived?.(A);return Q};addThreadLabel=async(A,Q)=>{let $=await Dp4({configService:this.widget.configService},A,Q);if($ instanceof Error)return $;return this.toastController.show($.message,$.type,2000),null};removeThreadLabel=async(A,Q)=>{let $=await Jp4({configService:this.widget.configService},A,Q);if($ instanceof Error)return $;return this.toastController.show($.message,$.type,2000),null};initState(){if(FB.getInstance().interceptConsole(),this.neoInvadersHighScore=this.widget.neoContext.neoInvadersHighScore??0,this.notices=new j41(this.widget.configService,($)=>this.setState($)),i6.instance.addPostFrameCallback(()=>{setTimeout(()=>this.widget.onFirstFrame?.(),0),this.noticesPollingTimeout=setTimeout(()=>{this.noticesPollingTimeout=null,this.notices.startPolling()},500)},"Neo notices polling"),this.widget.showNeoWelcome)this.neoWelcomeVisible=!0;if(this.connectionErrorsSubscription=this.widget.clientPool.connectionErrors$.subscribe(({threadID:$,error:B})=>{if(u.error("Neo failed to connect to thread",{threadID:$,error:B}),!$)this.toastController.show(`Connection failed: ${B.message}`,"error",4000)}),this.configSubscription=this.widget.configService.config.subscribe(($)=>{this.applyDraftThreadSettingsSeed(this.applySessionDefaultsToThreadSettings(r50($.settings)))}),this.updateRelaunchIntegration=new p41({getRelaunchThreadIDs:this.getRelaunchThreadIDs,onRelaunchRequested:this.widget.onRelaunchRequested,relaunchNotificationController:this.relaunchNotificationController,updateService:this.widget.updateService}),this.updateRelaunchIntegration.init(),this.ideStatus.subscribe(this.widget.ideManager.status),this.widget.openThreadPickerOnStart)this.switchThreadPickerVisible=!0;this.ensureDraftThreadSettingsInitialized();let A=this.widget.initialUserInput,Q=this.widget.initialThreadIDs[0];if(Q){let $={};if(A)$.initialUserInput=A;this.connectToInitialThreads(Q,$)}else if(A)this.onNewThread([{type:"text",text:A}],this.widget.neoContext.sessionAgentMode);this.pluginIntegration=new g41({state:this,commandPalette:this.commandPalette,commandRegistry:this.commandRegistry,toastController:this.toastController,neoContext:this.widget.neoContext,getActiveThreadID:this.getActiveThreadID,appendToThread:this.appendPluginMessagesToThread,onBlockingConfirmDialogChange:this.syncEmptyThreadPluginConfirmationTitle}),this.pluginIntegration.init(),this.mcpTrustIntegration=new O41({state:this,mcpTrustHandler:this.widget.mcpTrustHandler,toastController:this.toastController,workspaceSettingsFilePath:this.widget.workspaceSettingsFilePath}),this.mcpTrustIntegration.init(),this.unregisterCommands=this.registerAppCommands(),queueMicrotask(()=>{if(!this.mounted)return;this.replayEarlyInputToEditor()})}replayEarlyInputToEditor(){let A=z4.instance.tuiInstance.getEarlyInputText();if(!A)return;this.editorController.insertText(A)}registerAppCommands(){let A=this,Q=this.widget.neoContext.pluginService?Xi4({pluginService:this.widget.neoContext.pluginService,workspaceRoot:this.widget.neoContext.workspaceRoot,logFilePath:this.widget.neoContext.logFilePath,toastController:this.toastController}):[],B=[Ni4({getRelaunchThreadIDs:this.getRelaunchThreadIDs,onRelaunchRequested:this.widget.onRelaunchRequested}),{noun:"thread",verb:"switch",description:"Switch to existing thread",keywords:["recent","history","open","resume","change"],status:{type:"enabled"},sortBoost:100,run:(D,J,F)=>{D.pushWithDismiss((E)=>UA1({activeThreadID:this.activeThreadContext?.client.getThreadId()??null,loadThreads:this.loadThreads,onSelectThread:this.onSwitchThread,onDismiss:E,onThreadSelected:F}))}},...this.threadListSidebar.commands(),{noun:"thread",verb:"switch to previous",description:"Switch to previous thread",keywords:["back"],get status(){return A.threadNavigationHistory.canNavigateBack()?{type:"enabled"}:{type:"disabled",reason:"Cannot use thread: switch to previous with no previous thread"}},run:(D,J,F)=>{A.navigateBack(),F()}},Os4({configService:this.widget.configService,getActiveThreadID:()=>this.activeThreadContext?.client.getThreadId()??void 0,toastController:this.toastController}),{noun:"thread",verb:"switch to next",description:"Switch to next thread",keywords:["forward"],get status(){return A.threadNavigationHistory.canNavigateForward()?{type:"enabled"}:{type:"disabled",reason:"Cannot use thread: switch to next with no next thread"}},run:(D,J,F)=>{A.navigateForward(),F()}},{noun:"mcp",verb:"info",description:"Show MCP servers and tools",keywords:["servers","tools","plugins","integrations"],status:{type:"enabled"},run:(D,J,F)=>{D.push(new k61({mcpServers:this.widget.neoContext.mcpServers,onDismiss:F}))}},{noun:"toolbox",verb:"list",description:"List all toolboxes and their tools",keywords:["tools","toolbox"],status:{type:"enabled"},run:(D)=>{D.pushWithDismiss((J)=>new Y31({toolboxes:this.widget.neoContext.toolboxes,onDismiss:J}))}},{noun:"news",verb:"open",description:"Open Amp Chronicle in browser",keywords:["chronicle","updates","blog","announcements"],status:{type:"enabled"},run:async(D,J,F)=>{try{await n6(J,"https://ampcode.com/chronicle")}finally{F()}}},{noun:"settings",verb:"open in editor",description:"Open CLI settings in $EDITOR",keywords:["config","preferences","edit"],status:{type:"enabled"},run:()=>{D$(this.widget.neoContext.settingsFilePath).catch((D)=>{u.error("Failed to open settings file in editor",{error:D})})}},{noun:"IDE",verb:"connect",description:"Connect to an IDE",keywords:["vscode","cursor","jetbrains","editor","attach"],status:{type:"enabled"},run:(D,J,F)=>{D.pushWithDismiss((E)=>new T61({onCancel:E,onSelect:(Y)=>{this.handleIdeSelection(Y),F()}}))}},{noun:"amp",verb:"help",description:"Show help & keyboard shortcuts",keywords:["shortcuts","keybindings","docs","manual","?"],status:{type:"enabled"},run:(D,J,F)=>{D.push(new Q61({commands:w9.of(J).commands,onDismiss:F}))}},{noun:"amp",verb:"show welcome",description:"Show the welcome message again",keywords:["intro","onboarding","getting started"],status:{type:"enabled"},run:(D,J,F)=>{F(),A.showNeoWelcome()}},{noun:"amp",verb:"end credits",description:"Roll the full-screen Amp credits",keywords:["team","contributors","movie","credits","easter egg"],status:{type:"enabled"},run:(D,J,F)=>{F(),A.showEndCredits()}},{noun:"amp",verb:"show version",description:"Show current Amp version",keywords:["about","release","build"],status:{type:"enabled"},run:(D,J,F)=>{D.push(new C6({header:"Amp Version",maxWidth:72,onDismiss:F,child:new d({text:new w(UZ0({version:"0.0.1779547160-g4a1cc9",buildTimestamp:"2026-05-23T14:43:31.718Z",buildType:"release"}))})}))}},{noun:"amp",verb:"quit",description:"Exit application",keywords:["exit","close","leave","bye"],shortcut:G1.ctrl("c"),status:{type:"enabled"},run:(D,J)=>{x4.maybeInvoke(J,new wy)}},...Q,...nl4(this.widget.neoContext.logFilePath)].map((D)=>this.commandRegistry.register(D));return()=>{for(let D of B)D()}}build(A){let Q=this.buildHints(),$=this.ideStatus.getValue(),B=this.notices.current,D=new E31({initialAgentMode:this.widget.neoContext.sessionAgentMode,analyzeContextForThread:this.analyzeContextForThread,listSkillsForThread:this.widget.listSkillsForThread,threadContext:this.activeThreadContext,draftThreadSettings:this.draftThreadSettings,editorController:this.editorController,history:this.widget.history,updateDraftThreadSettings:this.updateDraftThreadSettings,onNewThread:this.onNewThread,sendFeedbackReport:this.sendFeedbackReport,archiveThread:this.archiveThread,addThreadLabel:this.addThreadLabel,removeThreadLabel:this.removeThreadLabel,configService:this.widget.configService,hints:Q,ideStatus:$,statusItems:this.pluginIntegration?.getStatusItems()??[],pluginConfirmationBlocked:this.pluginIntegration?.hasBlockingConfirmDialog()??!1,notificationService:this.widget.notificationService,notice:this.activeThreadContext||this.neoWelcomeVisible?null:B,onDismissNotice:(U)=>this.notices.dismiss(U)}),J=b1.of(A),F=J.capabilities.animationSupport!=="disabled",Y=[new x0({constraints:w1.tight(J.size.width,J.size.height),child:this.threadListSidebar.buildBody(D)})];if(this.commandPalette.isEnabled())Y.push(new k4({debugLabel:"CommandPaletteOverlay",onFocusChange:this.closeCommandPaletteOnFocusLoss,child:new s41({onDismiss:this.commandPalette.disable})}));if(this.switchThreadPickerVisible&&!this.neoWelcomeVisible)Y.push(UA1({activeThreadID:this.activeThreadContext?.client.getThreadId()??null,loadThreads:this.loadThreads,onSelectThread:this.onSwitchThread,onDismiss:this.closeSwitchThreadPicker,onThreadSelected:this.closeSwitchThreadPicker}));if(this.neoWelcomeVisible)Y.push(new k4({debugLabel:"NeoWelcomeDialogOverlay",child:new K31({onDismiss:this.dismissNeoWelcome,onQuit:()=>z4.instance.stop(),animationsEnabled:F,variant:this.widget.neoWelcomeVariant})}));let Z=this.executorAlreadyConnectedDialog;if(Z)Y.push(new k4({debugLabel:"NeoExecutorAlreadyConnectedDialogOverlay",child:new P61({existingExecutorPid:Z.existingExecutorPid,onChoice:this.handleExecutorAlreadyConnectedChoice})}));if(Y.push(...this.mcpTrustIntegration?.buildDialogLayers()??[]),Y.push(...this.pluginIntegration?.buildDialogLayers()??[]),this.widget.neoContext.isInternalUser)Y.push(new B61({top:this.focusDebugVisible?33:1,visible:this.debugOverlayVisible,pid:oX0.pid,activeThreadID:this.activeThreadContext?.client.getThreadId()??null,connectionInfo$:this.activeThreadContext?.observer.connectionInfo()??null}));if(this.focusDebugVisible)Y.push(new _61);if(this.endCreditsVisible)Y.push(new M61({onComplete:this.completeEndCredits,highScore:this.neoInvadersHighScore,onHighScoreChange:this.updateNeoInvadersHighScore}));return new G5({neoContext:this.widget.neoContext,child:new w9({commandRegistry:this.commandRegistry,child:new Ly({completionBuilder:this.widget.completionBuilder,child:new w3({controller:this.toastController,child:new x4({actions:this.buildActions(),child:new vA({debugLabel:"NeoAppShortcuts",shortcuts:this.buildShortcuts(),child:new v4({debugLabel:"AppShellFocus",child:new G01({controller:this.toastController,complexToastControllers:[this.relaunchNotificationController,...B&&this.activeThreadContext&&!this.neoWelcomeVisible?[this.notices]:[]],child:new $61({configReloadEvents:this.widget.configService.configReloadEvents,toastController:this.toastController,child:new i4({children:Y})})})})})})})})})})}buildShortcuts(){let A=new Map([[G1.ctrl("c"),new uU0],[G1.ctrl("o"),new _U0],[G1.alt("i"),new vU0],[G1.alt("p"),new jN],[G1.ctrl("."),new fU0],[G1.ctrl("t"),new bU0],...this.threadListSidebar.shortcutEntries()]);if(oX0.env.NODE_ENV==="development"&&oX0.platform==="darwin")A.set(G1.meta("r"),new PU0);return A}buildActions(){let A=new T1(()=>{if(OD.hasAnyCopyableSelection())return OD.tryCopyAnyActiveSelection(),"handled";return this.onExitPressed(),"handled"}),Q=new T1(()=>{if(!this.commandPalette.isEnabled()&&this.hasBlockingTopLevelModal())return"ignored";return this.commandPalette.toggle(),"handled"}),$=new T1(()=>{if(this.commandPalette.isEnabled()||this.hasBlockingTopLevelModal())return"ignored";return this.commandPalette.enable(),"handled"}),B=new T1(()=>{return this.startNewDraftThread(),"handled"}),D=new T1(()=>{return z4.instance.stop(),"handled"}),J=new T1(()=>{return Cs({getRelaunchThreadIDs:this.getRelaunchThreadIDs,onRelaunchRequested:this.widget.onRelaunchRequested}),"handled"}),F=new T1((G)=>{if(!G.text)return"ignored";return z4.instance.tuiInstance.clipboard.writeText(G.text).then((V)=>{if(V.ok)this.toastController.show(G.successMessage,"success",2000);else this.toastController.show(`${G.failureMessage}: ${V.userFacingErrorMessage}`,"error",4000)}).catch((V)=>{u.error("Failed to copy Neo text to clipboard",{error:V}),this.toastController.show(G.failureMessage,"error",2000)}),"handled"}),E=new T1(()=>{return z4.instance.toggleFrameStatsOverlay(),"handled"}),Y=new T1(()=>this.notices.dismissCurrent()?"handled":"ignored"),Z=new T1(()=>{if(!this.widget.neoContext.isInternalUser)return"ignored";return this.setState(()=>{this.debugOverlayVisible=!this.debugOverlayVisible}),"handled"}),U=Ti4({getActiveThreadID:()=>this.activeThreadContext?.client.getThreadId()??null,neoContext:this.widget.neoContext,toastController:this.toastController,startNewDraftThread:this.startNewDraftThread,sendFeedbackReport:this.sendFeedbackReport}),X=new T1(()=>{return this.setState(()=>{this.focusDebugVisible=!this.focusDebugVisible}),"handled"});return new Map([[uU0,A],[Gs,B],[wy,D],[PU0,J],[K8,F],[Ws,$],[_U0,Q],[vU0,Z],...this.threadListSidebar.actionEntries(),[fU0,Y],...U,[jN,E],[bU0,X]])}startNewDraftThread(A={}){let Q=this.activeThreadContext?.client.getThreadId();if(this.commandPalette.disable(),this.threadNavigationHistory.recordNavigation(Q),this.setState(()=>{if(this.activeThreadIDSubscription?.unsubscribe(),this.activeThreadIDSubscription=null,this.activePluginMessageSubscription?.unsubscribe(),this.activePluginMessageSubscription=null,this.activePluginUIRequestsSubscription?.unsubscribe(),this.activePluginUIRequestsSubscription=null,this.pluginIntegration?.cancelOwnerUIRequests(),this.activeThreadContext=null,this.connectingToThreadID=null,A.hideDebugOverlay)this.debugOverlayVisible=!1}),this.widget.onActiveThreadChange?.(null),this.syncEmptyThreadPluginConfirmationTitle(),A.prompt!==void 0)this.editorController.text=A.prompt}syncEmptyThreadPluginConfirmationTitle=()=>{this.emptyThreadTerminalTitleController.setPluginConfirmationBlocked(this.activeThreadContext===null&&(this.pluginIntegration?.hasBlockingConfirmDialog()??!1))};closeCommandPaletteOnFocusLoss=(A)=>{if(A||!this.commandPalette.isEnabled())return;this.commandPalette.disable()};ensureDraftThreadSettingsInitialized(){if(this.hasDraftThreadSettingsSeed)return Promise.resolve();if(!this.draftThreadSettingsInitPromise)this.draftThreadSettingsInitPromise=this.initDraftThreadSettings();return this.draftThreadSettingsInitPromise}async initDraftThreadSettings(){try{let A=this.applySessionDefaultsToThreadSettings(await bf(this.widget.configService));this.applyDraftThreadSettingsSeed(A)}catch(A){u.warn("Failed to initialize Neo draft thread settings",{error:A instanceof Error?A.message:String(A)})}}applySessionDefaultsToThreadSettings(A){let Q=this.widget.neoContext.sessionAgentMode,$=A,B=EB(Q),D=oY0(this.widget.neoContext,Q);if(B!==void 0&&D!==void 0)$={...$,[B]:D};return aY0($,{agentMode:Q,explicitEffort:this.widget.neoContext.explicitReasoningEffort,sessionState:this.widget.neoContext})}applyDraftThreadSettingsSeed(A){if(!this.mounted)return;if(!this.hasDraftThreadSettingsSeed){this.setState(()=>{this.hasDraftThreadSettingsSeed=!0,this.draftThreadSettings=Ss4(this.draftThreadSettings,{},A),this.draftThreadSettingsSeed={...A}});return}if(cF(this.draftThreadSettingsSeed,A))return;this.setState(()=>{this.draftThreadSettings=Ss4(this.draftThreadSettings,this.draftThreadSettingsSeed,A),this.draftThreadSettingsSeed={...A}})}buildHints(){let A=new Set;if(this.connectingToThreadID)A.add(cN);if(this.exitHintTimer.isActive())A.add(Iy);return A}onExitPressed=()=>{if(this.exitHintTimer.isActive())this.exitHintTimer.clear(),z4.instance.stop();else this.exitHintTimer.activate()};dismissNeoWelcome=()=>{if(!this.neoWelcomeVisible)return;this.setState(()=>{this.neoWelcomeVisible=!1}),this.widget.onNeoWelcomeDismissed?.()};updateNeoInvadersHighScore=(A)=>{if(A<=this.neoInvadersHighScore)return;this.setState(()=>{this.neoInvadersHighScore=A}),GQ((Q)=>({...Q,neoInvadersHighScore:Math.max(Q.neoInvadersHighScore,A)})).catch((Q)=>{u.warn("Failed to save Neo Invaders high score",{error:Q instanceof Error?Q.message:String(Q)})})};showNeoWelcome=()=>{if(this.neoWelcomeVisible)return;this.setState(()=>{this.neoWelcomeVisible=!0})};showEndCredits=()=>{if(this.endCreditsVisible)return;this.setState(()=>{this.endCreditsVisible=!0})};completeEndCredits=()=>{if(!this.endCreditsVisible)return;this.setState(()=>{this.endCreditsVisible=!1})};promptExecutorAlreadyConnected(A){return new Promise((Q)=>{this.setState(()=>{this.executorAlreadyConnectedDialog={existingExecutorPid:A.existingExecutorPid,resolve:($)=>{Q($==="watch"?"observe":"disconnect")}}})})}handleExecutorAlreadyConnectedChoice=(A)=>{if(this.resolveExecutorAlreadyConnectedDialog(A),A==="exit")z4.instance.stop()};resolveExecutorAlreadyConnectedDialog(A){let Q=this.executorAlreadyConnectedDialog;if(!Q)return;this.setState(()=>{this.executorAlreadyConnectedDialog=null}),Q.resolve(A)}closeSwitchThreadPicker=()=>{if(!this.switchThreadPickerVisible)return;this.setState(()=>{this.switchThreadPickerVisible=!1})};updateDraftThreadSettings=(A)=>{this.setState(()=>{this.draftThreadSettings=A(this.draftThreadSettings)})};onNewThread=async(A,Q,$=null,B)=>{await this.ensureDraftThreadSettingsInitialized();let D=this.activeThreadContext?.client.getThreadId(),J=A.find(g50);if(J)this.widget.history.add(J.text,oX0.cwd()),this.widget.history.reset();let F=$?void 0:await this.widget.getDefaultNewThreadVisibility?.(),E=$??F??null,Y=this.widget.clientPool.createNewThread(Q,this.draftThreadSettings,E??void 0);this.sendUserMessage(Y,A,Q,B),this.rememberSessionDefaultsForNewMessage(Q,this.draftThreadSettings),this.threadNavigationHistory.recordNavigation(D),this.setActiveClient(Y)};rememberSessionDefaultsForNewMessage(A,Q){this.widget.neoContext.sessionAgentMode=A;let $=Q["reasoning.effort"];if($!==void 0)this.widget.neoContext.lastReasoningEffortByMode={...this.widget.neoContext.lastReasoningEffortByMode??{},[A]:$};let B=EB(A),D=B?Q[B]:void 0;if(D!==void 0)this.widget.neoContext.lastSpeedByMode={...this.widget.neoContext.lastSpeedByMode??{},[A]:D};GQ((J)=>{let F={...J,agentMode:A};if($!==void 0)F={...F,lastReasoningEffortByMode:{...F.lastReasoningEffortByMode??{},[A]:$}};if(D!==void 0)F={...F,lastSpeedByMode:{...F.lastSpeedByMode??{},[A]:D}};return F}).catch((J)=>{u.warn("Failed to persist Neo session defaults for new message",{error:J instanceof Error?J.message:String(J)})})}sendUserMessage(A,Q,$,B){let D=fJ0(this.ideStatus.getValue());if(B===void 0){A.client.sendUserMessage(Q,$,{userState:D});return}A.client.sendUserMessage(Q,$,{reasoningEffort:B,userState:D})}getActiveThreadID=()=>{return this.activeThreadContext?.client.getThreadId()??void 0};getRelaunchThreadIDs=()=>{let A=new Set,Q=this.getActiveThreadID();if(Q)A.add(Q);for(let $ of this.widget.clientPool.activeThreadIDs)A.add($);return[...A]};appendPluginMessagesToThread=async(A,Q)=>{let $=this.activeThreadContext;if(!$)throw Error("appendToThread is not available - no active thread");let B=$.client.getThreadId();if(Q&&B!==Q)throw Error("thread.append is only available for the active executor thread");for(let D of A)this.sendUserMessage($,[{type:"text",text:D.content}])};async connectToExistingThread(A,Q={}){let $=this.activeThreadContext?.client.getThreadId();this.setState(()=>{this.connectingToThreadID=A});try{let B=await this.widget.clientPool.connectToThread(A,{observerOnly:this.widget.neoContext.observerOnly,onExecutorAlreadyConnected:(D)=>this.promptExecutorAlreadyConnected(D)});if(this.setActiveClient(B),Q.recordNavigation&&$!==A)this.threadNavigationHistory.recordNavigation($);if(Q.initialUserInput)this.sendUserMessage(B,[{type:"text",text:Q.initialUserInput}])}catch(B){if(u.error("Failed to load thread",{error:B,threadID:A}),this.toastController.show(`Failed to load ${A}: ${B instanceof Error?B.message:String(B)}`,"error",4000),Q.rethrowError)throw B}finally{this.setState(()=>{this.connectingToThreadID=null})}}async connectToInitialThreads(A,Q={}){await this.connectToExistingThread(A,Q);let $=this.widget.initialThreadIDs.filter((B)=>B!==A);await Promise.all($.map((B)=>this.resumeBackgroundThread(B)))}async resumeBackgroundThread(A){try{await this.widget.clientPool.connectToThread(A,{observerOnly:this.widget.neoContext.observerOnly,onExecutorAlreadyConnected:async()=>"observe"})}catch(Q){u.error("Failed to resume background thread",{error:Q,threadID:A}),this.toastController.show(`Failed to resume ${A}: ${Q instanceof Error?Q.message:String(Q)}`,"error",4000)}}async navigateBack(){let A=this.threadNavigationHistory.startBackNavigation(this.activeThreadContext?.client.getThreadId());if(!A)return;await this.navigateToThread(A)}async navigateForward(){let A=this.threadNavigationHistory.startForwardNavigation(this.activeThreadContext?.client.getThreadId());if(!A)return;await this.navigateToThread(A)}async navigateToThread(A){try{await this.connectToExistingThread(A.targetThreadID,{rethrowError:!0})}catch{A.rollback()}}setActiveClient({client:A,observer:Q}){this.setState(()=>{this.activeThreadContext={client:A,observer:Q}}),this.syncEmptyThreadPluginConfirmationTitle(),this.activeThreadIDSubscription?.unsubscribe(),this.activeThreadIDSubscription=Q.threadID().subscribe(($)=>{this.widget.onActiveThreadChange?.($)}),this.activePluginMessageSubscription?.unsubscribe(),this.activePluginUIRequestsSubscription?.unsubscribe(),this.pluginIntegration?.cancelOwnerUIRequests(),this.activePluginMessageSubscription=Q.pluginMessages().subscribe(($)=>{this.pluginIntegration?.handlePluginMessage($,(B)=>{A.sendPluginMessage(B)})}),this.activePluginUIRequestsSubscription=Q.pluginUIRequests().subscribe(($)=>{this.pluginIntegration?.handlePluginMessage({type:"plugin_message",message:{type:"event",event:"plugin.ui.snapshot",data:{requests:[...$]}}},(B)=>{A.sendPluginMessage(B)})})}handleIdeSelection=async(A)=>{try{await this.widget.ideManager.connect(A)}catch(Q){u.error("Failed to connect to IDE",{error:Q});let $=Q instanceof Error?Q.message:String(Q);this.toastController.show(`IDE connection failed: ${$}`,"error",4000)}};dispose(){if(this.unregisterCommands?.(),this.unregisterCommands=null,this.activePluginMessageSubscription?.unsubscribe(),this.activePluginMessageSubscription=null,this.activePluginUIRequestsSubscription?.unsubscribe(),this.activePluginUIRequestsSubscription=null,this.pluginIntegration?.dispose(),this.pluginIntegration=null,this.emptyThreadTerminalTitleController.dispose(),this.mcpTrustIntegration?.dispose(),this.mcpTrustIntegration=null,this.updateRelaunchIntegration?.dispose(),this.updateRelaunchIntegration=null,this.activeThreadIDSubscription?.unsubscribe(),this.activeThreadIDSubscription=null,this.noticesPollingTimeout)clearTimeout(this.noticesPollingTimeout),this.noticesPollingTimeout=null;this.connectionErrorsSubscription?.unsubscribe(),this.configSubscription?.unsubscribe(),this.configSubscription=null,this.notices.dispose(),this.widget.notificationService.detach(),this.toastController.dispose(),super.dispose()}hasBlockingTopLevelModal(){return this.switchThreadPickerVisible||this.executorAlreadyConnectedDialog!==null||this.neoWelcomeVisible||(this.mcpTrustIntegration?.hasBlockingDialog()??!1)||this.endCreditsVisible||(this.pluginIntegration?.hasBlockingDialog()??!1)}}function Ss4(A,Q,$){let B={...A};for(let D of jp3(Q,$)){if(!cF(A[D],Q[D]))continue;let J=$[D];if(J===void 0)delete B[D];else B[D]=J}return B}function jp3(...A){return Array.from(new Set(A.flatMap((Q)=>Object.keys(Q))))}a4();function ys4(A,Q,$,B){let D=DT(A),J="\x1B[0m",F="\x1B[34m",E="\x1B[90m",Y="\x1B[2m",Z=[];if(A.archived)Z.push("\x1B[90m\x1B[2mArchived\x1B[0m");Z.push(`${D}`),Z.push(`\x1B[34m${Q}\x1B[0m`),Z.push(`\x1B[90mamp threads continue ${A.id}\x1B[0m`);let U=14,X=7,G=new rJ(U,X),V=new n9(42),K=new CN(U,X,U,X,U,X,0,A.agentMode??"smart","intensity","classic","braille",void 0,void 0,K0.default(),V);K.layout(w1.tight(U,X)),K.paint(G,0,0);let z=G.getBuffer().getCells(),W=0;for(let j=0;j<X;j++)if(z[j].some((k)=>k.char!==" ")){W=j;break}let I=X-1;for(let j=X-1;j>=0;j--)if(z[j].some((k)=>k.char!==" ")){I=j;break}function H(j,k){if(!j)return"";if(j.type==="rgb"){let{r:_,g:S,b:h}=j.value;if($.getColorDepth()>=24)return`\x1B[${k?38:48};2;${_};${S};${h}m`;let b=uj(_,S,h);return`\x1B[${k?38:48};5;${b}m`}return""}let q=[];if(I>=W)for(let j=W;j<=I;j++){let k="";for(let _=0;_<U;_++){let S=z[j][_],h=S.char,b=H(S.style.fg,!0);k+=b+h+"\x1B[0m"}q.push(k)}let N=q.length,C=Math.max(N,Z.length),O=Math.floor((C-N)/2),L=Math.floor((C-Z.length)/2);for(let j=0;j<C;j++){let k=" ".repeat(U);if(j>=O&&j<O+N)k=q[j-O];let _=" ",S="";if(j>=L&&j<L+Z.length)S=Z[j-L];$.write(k+_+S+`
5319
+ `)),J.push(new w("Details: ",new T({color:B.mutedForeground}))),J.push(new w(A.costBreakdownURL,new T({color:$.app.link})));return new d({text:new w("",void 0,J)})}function Cp3(A,Q,$){let B=Np3(A,Q);if(!A.costBreakdownURL)return new C6({header:"Thread Cost",minWidth:80,maxWidth:100,onDismiss:$,child:B});let D=A.costBreakdownURL,J=new T1(()=>{return x4.maybeInvoke(Q,new K8(D,"Cost breakdown URL copied to clipboard","Failed to copy cost breakdown URL")),"handled"}),F=new T1(()=>{return n6(Q,D),"handled"});return new C6({header:"Thread Cost",minWidth:80,maxWidth:100,autofocus:!1,footer:[{keys:["Esc"],label:"close"},{keys:["o"],label:"open in browser"},{keys:["y"],label:"copy url"}],onDismiss:$,child:new x4({actions:new Map([[z31,J],[W31,F]]),child:new vA({debugLabel:"ThreadCostShortcuts",shortcuts:new Map([[G1.key("o"),new W31],[G1.key("y"),new z31]]),child:new v4({autofocus:!0,debugLabel:"ThreadCostBody",child:B})})})})}function Os4(A){return{noun:"thread",verb:"show cost",description:"Show usage cost for the active thread",keywords:["usage","credits","billing","spend"],get status(){return A.getActiveThreadID()?{type:"enabled"}:{type:"disabled",reason:"No active thread"}},run:async(Q,$,B)=>{let D=A.getActiveThreadID();if(!D)return;try{let J=await e4.threadDisplayCostInfo({threadID:D},{config:A.configService});if(!J.ok){A.toastController.show(qp3(D,J.error),"error",5000),B();return}Q.push(Cp3(J.result,$,B))}catch(J){u.error("Failed to load Neo thread cost",{error:J,threadID:D}),A.toastController.show(`Failed to show thread cost: ${J instanceof Error?J.message:String(J)}`,"error",5000),B()}}}}p0();u9();Q4();class ez extends V4{direction;constructor(A){super();this.direction=A}}class iX0 extends V4{}class ns extends V4{}class nX0 extends V4{index;constructor(A){super();this.index=A}}function I31(A){return A.length+2}class H31 extends u0{props;constructor(A){super();this.props=A}createState(){return new js4}}class js4 extends R0{selectedIndex=0;initState(){super.initState(),this.selectedIndex=this.findSelectableIndex(this.widget.props.initialSelectedIndex??0)}didUpdateWidget(A){this.selectedIndex=this.findSelectableIndex(this.selectedIndex)}isSelectable(A){let Q=this.widget.props.entries[A];return Q?.type==="item"&&(Q.enabled??!0)}findSelectableIndex(A){let{entries:Q}=this.widget.props;if(Q.length===0)return 0;let $=Math.max(0,Math.min(A,Q.length-1));if(this.isSelectable($))return $;for(let B=1;B<Q.length;B++){let D=$+B;if(D<Q.length&&this.isSelectable(D))return D;let J=$-B;if(J>=0&&this.isSelectable(J))return J}return 0}moveSelection(A){let Q=this.findNextSelectableIndex(A);if(Q===this.selectedIndex)return;this.setState(()=>{this.selectedIndex=Q})}findNextSelectableIndex(A){let{entries:Q}=this.widget.props;for(let $=this.selectedIndex+A;$>=0&&$<Q.length;$+=A)if(this.isSelectable($))return $;return this.selectedIndex}acceptIndex(A){let Q=this.widget.props.entries[A];if(Q?.type!=="item"||!(Q.enabled??!0))return;this.setState(()=>{this.selectedIndex=A}),this.widget.props.onAccept(Q.value)}invoke=(A)=>{if(A instanceof ez)return this.moveSelection(A.direction),"handled";if(A instanceof iX0)return this.acceptIndex(this.selectedIndex),"handled";if(A instanceof ns)return this.widget.props.onDismiss(),"handled";if(A instanceof nX0)return this.acceptIndex(A.index),"handled";return"ignored"};buildShortcuts(){let A=new Map([[G1.key("ArrowDown"),new ez(1)],[G1.key("j"),new ez(1)],[G1.ctrl("n"),new ez(1)],[G1.key("ArrowUp"),new ez(-1)],[G1.key("k"),new ez(-1)],[G1.ctrl("p"),new ez(-1)],[G1.key("Enter"),new iX0],[G1.key("Escape"),new ns],[G1.ctrl("."),new ns]]);return this.widget.props.entries.forEach((Q,$)=>{if(Q.type==="item"&&Q.shortcut)A.set(Q.shortcut,new nX0($))}),A}buildActions(){return new Map([[ez,new T1(this.invoke)],[iX0,new T1(this.invoke)],[ns,new T1(this.invoke)],[nX0,new T1(this.invoke)]])}build(A){let Q=O0.of(A),$=wp3(this.widget.props.entries,b1.of(A).supportsEmojiWidth);return new x0({width:this.widget.props.width,height:I31(this.widget.props.entries),decoration:new R4(Q.colors.background,d1.all(new p1(Q.colors.border,1,"solid"))),child:new x4({actions:this.buildActions(),child:new vA({debugLabel:"NeoContextPickerShortcuts",shortcuts:this.buildShortcuts(),child:new v4({autofocus:!0,debugLabel:"NeoContextPicker",child:new S0({mainAxisSize:"min",crossAxisAlignment:"stretch",children:this.widget.props.entries.map((B,D)=>this.buildEntry(B,D,$,Q))})})})})})}buildEntry(A,Q,$,B){if(A.type==="separator")return new x0({height:1,decoration:{border:new d1(new p1(B.colors.border,1,"solid"))}});let D=Q===this.selectedIndex,J=A.enabled??!0,F=new T({color:D?B.app.selectionForeground:B.colors.foreground,dim:!J}),E=new T({color:D?B.app.selectionForeground:B.app.keybind,bold:!0,dim:!J});return new O1({onClick:()=>this.acceptIndex(Q),child:new x0({padding:V0.symmetric(1,0),decoration:D?new R4(B.app.selectionBackground):void 0,child:new r0({crossAxisAlignment:"start",children:[new R1({child:new d({text:new w(A.label,F),maxLines:1,overflow:"ellipsis"})}),new X0({width:1}),new X0({width:$,child:new d({text:new w(Rs4(A),E),textAlign:"right",maxLines:1,overflow:"ellipsis"})})]})})})}}function wp3(A,Q){return A.reduce(($,B)=>{return B.type==="item"?Math.max($,J4(Rs4(B),Q)):$},0)}function Rs4(A){return A.shortcutLabel??A.shortcut?.toString().toLowerCase()??""}var Mp3=36,Lp3=24,Op3=72;class us4 extends u0{child;onContext;constructor(A,Q){super();this.child=A;this.onContext=Q}createState(){return new Ps4}}class Ps4 extends R0{build(A){return this.widget.onContext(A),this.widget.child}}function _s4(A){return A.replace(/ ago$/,"")}function aX0(A){return A.reduce((Q,$)=>Math.max(Q,J4(_s4($.description.timeAgo))),0)}function Ts4(A){return Math.max(Lp3,Math.min(A,Op3))}class q31 extends V4{}class N31 extends V4{}class C31{options;visibility;width=Mp3;constructor(A){this.options=A;this.visibility=new zr(A.state)}isVisible(){return this.visibility.isEnabled()}buildBody(A){return new r0({crossAxisAlignment:"stretch",children:[this.buildSlot(),new R1({child:A})]})}buildSlot(){if(!this.options.isAvailable()||this.visibility.isDisabled())return new X0({width:0});return new X0({width:this.width,child:new k4({debugLabel:"ThreadListSidebar",child:new vs4({activeThreadID:this.options.getActiveThreadID(),currentWorkspaceURI:t1(i0.file(this.options.getWorkspaceRoot())),width:this.width,loadThreads:this.options.loadThreads,onSelectThread:this.options.onSelectThread,onDismiss:this.close,onResizeWidth:this.resize})})})}commands(){if(!this.options.isAvailable())return[];return[{noun:"thread",verb:"toggle sidebar",description:"Show or hide the thread sidebar",keywords:["sidebar","recent","history","threads"],shortcut:G1.alt("s"),status:{type:"enabled"},run:(A,Q,$)=>{$(),this.toggle()}}]}shortcutEntries(){return this.options.isAvailable()?[[G1.alt("s"),new kU0]]:[]}actionEntries(){if(!this.options.isAvailable())return[];return[[kU0,new T1(()=>this.toggle())]]}toggle=()=>{if(!this.options.isAvailable())return"ignored";if(this.visibility.isDisabled()&&this.options.isBlocked())return"ignored";return this.visibility.toggle(),"handled"};close=()=>{this.visibility.disable()};resize=(A)=>{let Q=Ts4(A);if(Q===this.width)return;this.options.state.setState(()=>{this.width=Q})}}class vs4 extends u0{props;constructor(A){super();this.props=A}createState(){return new ks4}}class ks4 extends R0{threads=[];isLoading=!0;isSwitchingThread=!1;hasError=!1;filterByWorkspace=!0;timeColWidth=0;contextMenu=null;pendingThreadMutations=new Map;resizeSession=null;isResizeHandleHovered=!1;pickerController=new kr;threadItemContexts=new Map;shortcuts=new Map([[G1.alt("w"),new q31],[G1.ctrl("."),new N31]]);actions=new Map([[q31,new T1(()=>{return this.setState(()=>{this.filterByWorkspace=!this.filterByWorkspace,this.contextMenu=null}),"handled"})],[N31,new T1(()=>this.openContextMenu())]]);get isBusy(){return this.isLoading||this.isSwitchingThread}get isResizeActive(){return this.resizeSession!==null||this.isResizeHandleHovered}didUpdateWidget(A){if(this.contextMenu&&(A.props.width!==this.widget.props.width||A.props.currentWorkspaceURI!==this.widget.props.currentWorkspaceURI))this.contextMenu=null}initState(){super.initState(),this.loadThreadSummaries()}async loadThreadSummaries(){try{let A=await this.widget.props.loadThreads(),Q=ZA1(A);if(!this.mounted)return;this.setState(()=>{this.pickerController.selectedItem=Q.find(($)=>$.id===this.widget.props.activeThreadID)??null,this.threads=Q,this.timeColWidth=aX0(Q),this.isLoading=!1,this.hasError=!1})}catch(A){if(u.error("Failed to load threads for Neo sidebar",{error:A}),!this.mounted)return;this.setState(()=>{this.isLoading=!1,this.hasError=!0})}}handleSelectThread=async(A)=>{if(this.isSwitchingThread)return;this.setState(()=>{this.isSwitchingThread=!0});try{await this.widget.props.onSelectThread(A),this.widget.props.onDismiss()}catch(Q){u.error("Failed to switch thread from Neo sidebar",{error:Q,threadID:A})}finally{if(this.mounted)this.setState(()=>{this.isSwitchingThread=!1})}};getOptimisticThreads(){return this.threads.flatMap((A)=>{if(this.pendingThreadMutations.get(A.id)?.kind==="archive")return[];return[A]})}getThreadsForDisplay(){let A=this.getOptimisticThreads();return this.filterByWorkspace?A.filter((Q)=>!Q.workspaceURI||Q.workspaceURI===this.widget.props.currentWorkspaceURI):A}buildContextMenuEntries(){return[{type:"item",value:"archive",label:"Archive Thread",shortcut:G1.key("a"),shortcutLabel:"a"},{type:"separator"},{type:"item",value:"copy-id",label:"Copy ID",shortcut:G1.ctrl("c"),shortcutLabel:"ctrl+c"},{type:"item",value:"copy-url",label:"Copy URL",shortcut:new G1("c",{shift:!0,ctrl:!0}),shortcutLabel:"shift+ctrl+c"}]}openContextMenu(){let A=this.pickerController.selectedItem;if(!A||this.isBusy||this.hasError)return"ignored";let Q=this.buildContextMenuEntries(),$=I31(Q),B=this.getContextMenuWidth(),D=this.getContextMenuPosition(A.id,$,B);return this.setState(()=>{this.contextMenu={threadID:A.id,left:D.left,top:D.top,width:B,height:$}}),"handled"}getContextMenuWidth(){let A=Math.max(24,this.widget.props.width-3);return Math.max(1,Math.min(A,this.widget.props.width-2))}getContextMenuPosition(A,Q,$){let B=Math.max(0,Math.min(2,this.widget.props.width-$)),D=1,J=this.threadItemContexts.get(A)?.findRenderObject(),F=this.context.findRenderObject();if(!(J instanceof c1)||!(F instanceof c1))return{left:B,top:1};let E=J.localToGlobal({x:0,y:0}),Y=F.localToGlobal({x:0,y:0}),Z=E.y-Y.y,U=Z+J.size.height,X=b1.sizeOf(this.context).height,G=Math.max(1,Math.min(F.size.height,X-Y.y)),z=G-U>=Q||Z<G/2?U:Z-Q,W=Math.max(0,G-Q);return{left:B,top:Math.max(0,Math.min(z,W))}}closeContextMenu=()=>{if(!this.contextMenu)return;this.setState(()=>{this.contextMenu=null})};handleContextMenuAccept=(A)=>{let Q=this.contextMenu?.threadID;if(!Q)return;if(this.closeContextMenu(),A==="archive"){this.archiveContextMenuThread(Q);return}if(A==="copy-id"){x4.maybeInvoke(this.context,new K8(Q,"Thread ID copied to clipboard","Failed to copy thread ID"));return}x4.maybeInvoke(this.context,new K8(this.getThreadURL(Q),"Thread URL copied to clipboard","Failed to copy thread URL"))};beginOptimisticArchive(A){if(this.pendingThreadMutations.has(A))return!1;if(!this.threads.some(($)=>$.id===A))return!1;let Q={kind:"archive",fallbackSelectedThreadID:null};return this.setState(()=>{this.pendingThreadMutations.set(A,Q),this.timeColWidth=aX0(this.getOptimisticThreads())}),i6.instance.addPostFrameCallback(()=>{if(!this.mounted)return;let $=this.pendingThreadMutations.get(A);if($?.kind!=="archive")return;$.fallbackSelectedThreadID=this.pickerController.selectedItem?.id??null}),!0}commitOptimisticArchive(A){if(this.pendingThreadMutations.get(A)?.kind!=="archive")return;this.pendingThreadMutations.delete(A),this.threads=this.threads.filter(($)=>$.id!==A),this.timeColWidth=aX0(this.getOptimisticThreads())}rollbackOptimisticArchive(A){let Q=this.pendingThreadMutations.get(A);if(Q?.kind!=="archive")return;let $=this.threads.find((B)=>B.id===A);if(!$){this.pendingThreadMutations.delete(A);return}this.setState(()=>{this.pendingThreadMutations.delete(A),this.timeColWidth=aX0(this.getOptimisticThreads());let B=this.pickerController.selectedItem?.id??null;if(B===null||B===Q.fallbackSelectedThreadID)this.pickerController.selectedItem=$})}async archiveContextMenuThread(A){let Q=w3.maybeOf(this.context),{configService:$}=G5.of(this.context);if(!this.beginOptimisticArchive(A))return;try{let B=await xZ0({configService:$},A);if(!this.mounted)return;if(B){this.rollbackOptimisticArchive(A),Q?.show(B.message,"error");return}this.commitOptimisticArchive(A)}catch(B){if(u.error("Failed to archive thread from Neo sidebar context menu",{error:B,threadID:A}),!this.mounted)return;this.rollbackOptimisticArchive(A),Q?.show("Failed to archive thread","error")}}getThreadURL(A){return y$(new URL(G5.of(this.context).ampURL),A).toString()}buildContextMenuOverlay(){let A=this.contextMenu;if(!A||!this.getThreadsForDisplay().some((Q)=>Q.id===A.threadID))return null;return new o4({left:A.left,top:A.top,width:A.width,height:A.height,child:new k4({debugLabel:"ThreadListSidebarContextMenu",onFocusChange:(Q)=>{if(!Q)this.closeContextMenu()},child:new H31({entries:this.buildContextMenuEntries(),width:A.width,onAccept:this.handleContextMenuAccept,onDismiss:this.closeContextMenu})})})}buildContextMenuBackdrop(){return new o4({left:0,top:0,right:0,bottom:0,child:new O1({onClick:()=>this.closeContextMenu(),child:X0.expand()})})}buildThreadItem(A,Q,$,B){let D=O0.of(B),{app:J,colors:F}=D,E=!Q,Y=Q?J.selectionForeground:F.foreground,Z=Q?J.selectionForeground:F.mutedForeground,X=A.id===this.widget.props.activeThreadID?new d({text:new w("*",new T({color:Q?J.selectionForeground:F.success,dim:E}))}):void 0,G=_s4(A.description.timeAgo);return new us4(new x0({padding:V0.symmetric(1,0),child:new r0({children:[new X0({width:2,child:X}),new R1({child:new d({text:new w(A.title,new T({color:Y,dim:E})),overflow:"ellipsis",maxLines:1})}),new X0({width:2}),new X0({width:$,child:r0.end([new d({text:new w(G,new T({color:Z,dim:E}))})])})]})}),(V)=>{this.threadItemContexts.set(A.id,V)})}handleResizeHandlePress=(A)=>{if(A.button!=="left")return;this.setState(()=>{this.resizeSession={baseWidthColumns:this.widget.props.width,startColumn:Math.floor(A.position.x)}})};handleResizeHandleDrag=(A)=>{if(A.button!=="left"||this.resizeSession===null)return;let Q=Math.floor(A.position.x)-this.resizeSession.startColumn,$=Ts4(this.resizeSession.baseWidthColumns+Q);if($!==this.widget.props.width)this.widget.props.onResizeWidth($)};handleResizeHandleRelease=(A)=>{if(A.button!=="left"||this.resizeSession===null)return;this.setState(()=>{this.resizeSession=null})};handleResizeHandleEnter=()=>{if(this.isResizeHandleHovered)return;this.setState(()=>{this.isResizeHandleHovered=!0})};handleResizeHandleExit=()=>{if(!this.isResizeHandleHovered)return;this.setState(()=>{this.isResizeHandleHovered=!1})};buildResizeHandle(){return new o4({top:0,right:0,bottom:0,width:1,child:new O1({cursor:YA.EW_RESIZE,onClick:this.handleResizeHandlePress,onDrag:this.handleResizeHandleDrag,onRelease:this.handleResizeHandleRelease,onEnter:this.handleResizeHandleEnter,onExit:this.handleResizeHandleExit,child:new X0({width:1})})})}build(A){let Q=O0.of(A),$=this.getThreadsForDisplay(),B=this.hasError?[]:$;this.threadItemContexts.clear();let D=this.isSwitchingThread?"Switching thread...":"Loading threads...",J=this.hasError?"Failed to load threads":"No threads match your filter",F=this.isResizeActive?2:1,E=new d1(void 0,new p1(Q.colors.border,F),void 0,void 0),Y=this.buildContextMenuOverlay(),Z=[new x0({decoration:new R4(Q.colors.background,E),child:new x4({actions:this.actions,child:new vA({shortcuts:this.shortcuts,debugLabel:"ThreadListSidebarFilter",child:new pA({items:B,getLabel:(U)=>`${U.title} ${U.id}`,controller:this.pickerController,onAccept:(U)=>void this.handleSelectThread(U.id),onDismiss:this.widget.props.onDismiss,renderItem:(U,X,G,V)=>this.buildThreadItem(U,X,this.timeColWidth,V),enabled:!this.isBusy,isLoading:this.isBusy,hidePromptWhenLoading:!0,loadingText:D,emptyStateText:J,maxRenderItems:200,showBorder:!1})})})}),this.buildResizeHandle()];if(Y)Z.push(this.buildContextMenuBackdrop()),Z.push(Y);return new x0({width:this.widget.props.width,child:new i4({fit:"expand",children:Z})})}}class w31 extends u0{listSkillsForThread;clientPool;completionBuilder;history;ideManager;configService;updateService;initialThreadIDs;showNeoWelcome;neoWelcomeVariant;onNeoWelcomeDismissed;notificationService;mcpTrustHandler;onThreadArchived;onActiveThreadChange;onRelaunchRequested;onFirstFrame;initialUserInput;getDefaultNewThreadVisibility;openThreadPickerOnStart;workspaceSettingsFilePath;neoContext;constructor(A){super();this.listSkillsForThread=A.listSkillsForThread,this.clientPool=A.clientPool,this.completionBuilder=A.completionBuilder,this.history=A.history,this.ideManager=A.ideManager,this.configService=A.configService,this.updateService=A.updateService,this.initialThreadIDs=A.initialThreadIDs??[],this.showNeoWelcome=A.showNeoWelcome??!1,this.neoWelcomeVariant=A.neoWelcomeVariant??"intro",this.onNeoWelcomeDismissed=A.onNeoWelcomeDismissed,this.notificationService=A.notificationService,this.mcpTrustHandler=A.mcpTrustHandler,this.onThreadArchived=A.onThreadArchived,this.onActiveThreadChange=A.onActiveThreadChange,this.onRelaunchRequested=A.onRelaunchRequested,this.onFirstFrame=A.onFirstFrame,this.initialUserInput=A.initialUserInput,this.getDefaultNewThreadVisibility=A.getDefaultNewThreadVisibility,this.openThreadPickerOnStart=A.openThreadPickerOnStart??!1,this.workspaceSettingsFilePath=A.workspaceSettingsFilePath,this.neoContext=A.neoContext}createState(){return new fs4}}class fs4 extends R0{editorController=new P2;commandPalette=new zr(this);commandRegistry=new r41;toastController=new X01;relaunchNotificationController=new m41;exitHintTimer=new Kr(this,1000);ideStatus=new X8(this,{});threadNavigationHistory=new l41;draftThreadSettings={};draftThreadSettingsSeed={};hasDraftThreadSettingsSeed=!1;draftThreadSettingsInitPromise=null;activeThreadContext=null;activeThreadIDSubscription=null;activePluginMessageSubscription=null;activePluginUIRequestsSubscription=null;connectionErrorsSubscription=null;configSubscription=null;connectingToThreadID=null;executorAlreadyConnectedDialog=null;switchThreadPickerVisible=!1;neoWelcomeVisible=!1;endCreditsVisible=!1;neoInvadersHighScore=0;debugOverlayVisible=!1;focusDebugVisible=!1;unregisterCommands=null;emptyThreadTerminalTitleController=new us;pluginIntegration=null;mcpTrustIntegration=null;updateRelaunchIntegration=null;noticesPollingTimeout=null;notices;loadThreads=async()=>{return this.widget.neoContext.listThreads()};analyzeContextForThread=async(A,Q)=>{return rh4({ampURL:this.widget.neoContext.ampURL,configService:this.widget.configService,threadID:A,signal:Q})};onSwitchThread=(A)=>{return this.connectToExistingThread(A,{recordNavigation:!0,rethrowError:!0})};threadListSidebar=new C31({state:this,isAvailable:()=>this.widget.neoContext.isInternalUser,isBlocked:()=>this.commandPalette.isEnabled()||this.hasBlockingTopLevelModal(),getActiveThreadID:()=>this.activeThreadContext?.client.getThreadId()??null,getWorkspaceRoot:()=>this.widget.neoContext.workspaceRoot,loadThreads:this.loadThreads,onSelectThread:this.onSwitchThread});sendFeedbackReport=async(A)=>iU0({configService:this.widget.configService,settingsFilePath:this.widget.neoContext.settingsFilePath},A);archiveThread=async(A)=>{let Q=await xZ0({configService:this.widget.configService},A);if(Q===null)this.widget.onThreadArchived?.(A);return Q};addThreadLabel=async(A,Q)=>{let $=await Dp4({configService:this.widget.configService},A,Q);if($ instanceof Error)return $;return this.toastController.show($.message,$.type,2000),null};removeThreadLabel=async(A,Q)=>{let $=await Jp4({configService:this.widget.configService},A,Q);if($ instanceof Error)return $;return this.toastController.show($.message,$.type,2000),null};initState(){if(FB.getInstance().interceptConsole(),this.neoInvadersHighScore=this.widget.neoContext.neoInvadersHighScore??0,this.notices=new j41(this.widget.configService,($)=>this.setState($)),i6.instance.addPostFrameCallback(()=>{setTimeout(()=>this.widget.onFirstFrame?.(),0),this.noticesPollingTimeout=setTimeout(()=>{this.noticesPollingTimeout=null,this.notices.startPolling()},500)},"Neo notices polling"),this.widget.showNeoWelcome)this.neoWelcomeVisible=!0;if(this.connectionErrorsSubscription=this.widget.clientPool.connectionErrors$.subscribe(({threadID:$,error:B})=>{if(u.error("Neo failed to connect to thread",{threadID:$,error:B}),!$)this.toastController.show(`Connection failed: ${B.message}`,"error",4000)}),this.configSubscription=this.widget.configService.config.subscribe(($)=>{this.applyDraftThreadSettingsSeed(this.applySessionDefaultsToThreadSettings(r50($.settings)))}),this.updateRelaunchIntegration=new p41({getRelaunchThreadIDs:this.getRelaunchThreadIDs,onRelaunchRequested:this.widget.onRelaunchRequested,relaunchNotificationController:this.relaunchNotificationController,updateService:this.widget.updateService}),this.updateRelaunchIntegration.init(),this.ideStatus.subscribe(this.widget.ideManager.status),this.widget.openThreadPickerOnStart)this.switchThreadPickerVisible=!0;this.ensureDraftThreadSettingsInitialized();let A=this.widget.initialUserInput,Q=this.widget.initialThreadIDs[0];if(Q){let $={};if(A)$.initialUserInput=A;this.connectToInitialThreads(Q,$)}else if(A)this.onNewThread([{type:"text",text:A}],this.widget.neoContext.sessionAgentMode);this.pluginIntegration=new g41({state:this,commandPalette:this.commandPalette,commandRegistry:this.commandRegistry,toastController:this.toastController,neoContext:this.widget.neoContext,getActiveThreadID:this.getActiveThreadID,appendToThread:this.appendPluginMessagesToThread,onBlockingConfirmDialogChange:this.syncEmptyThreadPluginConfirmationTitle}),this.pluginIntegration.init(),this.mcpTrustIntegration=new O41({state:this,mcpTrustHandler:this.widget.mcpTrustHandler,toastController:this.toastController,workspaceSettingsFilePath:this.widget.workspaceSettingsFilePath}),this.mcpTrustIntegration.init(),this.unregisterCommands=this.registerAppCommands(),queueMicrotask(()=>{if(!this.mounted)return;this.replayEarlyInputToEditor()})}replayEarlyInputToEditor(){let A=z4.instance.tuiInstance.getEarlyInputText();if(!A)return;this.editorController.insertText(A)}registerAppCommands(){let A=this,Q=this.widget.neoContext.pluginService?Xi4({pluginService:this.widget.neoContext.pluginService,workspaceRoot:this.widget.neoContext.workspaceRoot,logFilePath:this.widget.neoContext.logFilePath,toastController:this.toastController}):[],B=[Ni4({getRelaunchThreadIDs:this.getRelaunchThreadIDs,onRelaunchRequested:this.widget.onRelaunchRequested}),{noun:"thread",verb:"switch",description:"Switch to existing thread",keywords:["recent","history","open","resume","change"],status:{type:"enabled"},sortBoost:100,run:(D,J,F)=>{D.pushWithDismiss((E)=>UA1({activeThreadID:this.activeThreadContext?.client.getThreadId()??null,loadThreads:this.loadThreads,onSelectThread:this.onSwitchThread,onDismiss:E,onThreadSelected:F}))}},...this.threadListSidebar.commands(),{noun:"thread",verb:"switch to previous",description:"Switch to previous thread",keywords:["back"],get status(){return A.threadNavigationHistory.canNavigateBack()?{type:"enabled"}:{type:"disabled",reason:"Cannot use thread: switch to previous with no previous thread"}},run:(D,J,F)=>{A.navigateBack(),F()}},Os4({configService:this.widget.configService,getActiveThreadID:()=>this.activeThreadContext?.client.getThreadId()??void 0,toastController:this.toastController}),{noun:"thread",verb:"switch to next",description:"Switch to next thread",keywords:["forward"],get status(){return A.threadNavigationHistory.canNavigateForward()?{type:"enabled"}:{type:"disabled",reason:"Cannot use thread: switch to next with no next thread"}},run:(D,J,F)=>{A.navigateForward(),F()}},{noun:"mcp",verb:"info",description:"Show MCP servers and tools",keywords:["servers","tools","plugins","integrations"],status:{type:"enabled"},run:(D,J,F)=>{D.push(new k61({mcpServers:this.widget.neoContext.mcpServers,onDismiss:F}))}},{noun:"toolbox",verb:"list",description:"List all toolboxes and their tools",keywords:["tools","toolbox"],status:{type:"enabled"},run:(D)=>{D.pushWithDismiss((J)=>new Y31({toolboxes:this.widget.neoContext.toolboxes,onDismiss:J}))}},{noun:"news",verb:"open",description:"Open Amp Chronicle in browser",keywords:["chronicle","updates","blog","announcements"],status:{type:"enabled"},run:async(D,J,F)=>{try{await n6(J,"https://ampcode.com/chronicle")}finally{F()}}},{noun:"settings",verb:"open in editor",description:"Open CLI settings in $EDITOR",keywords:["config","preferences","edit"],status:{type:"enabled"},run:()=>{D$(this.widget.neoContext.settingsFilePath).catch((D)=>{u.error("Failed to open settings file in editor",{error:D})})}},{noun:"IDE",verb:"connect",description:"Connect to an IDE",keywords:["vscode","cursor","jetbrains","editor","attach"],status:{type:"enabled"},run:(D,J,F)=>{D.pushWithDismiss((E)=>new T61({onCancel:E,onSelect:(Y)=>{this.handleIdeSelection(Y),F()}}))}},{noun:"amp",verb:"help",description:"Show help & keyboard shortcuts",keywords:["shortcuts","keybindings","docs","manual","?"],status:{type:"enabled"},run:(D,J,F)=>{D.push(new Q61({commands:w9.of(J).commands,onDismiss:F}))}},{noun:"amp",verb:"show welcome",description:"Show the welcome message again",keywords:["intro","onboarding","getting started"],status:{type:"enabled"},run:(D,J,F)=>{F(),A.showNeoWelcome()}},{noun:"amp",verb:"end credits",description:"Roll the full-screen Amp credits",keywords:["team","contributors","movie","credits","easter egg"],status:{type:"enabled"},run:(D,J,F)=>{F(),A.showEndCredits()}},{noun:"amp",verb:"show version",description:"Show current Amp version",keywords:["about","release","build"],status:{type:"enabled"},run:(D,J,F)=>{D.push(new C6({header:"Amp Version",maxWidth:72,onDismiss:F,child:new d({text:new w(UZ0({version:"0.0.1779567279-g6cae00",buildTimestamp:"2026-05-23T20:19:06.020Z",buildType:"release"}))})}))}},{noun:"amp",verb:"quit",description:"Exit application",keywords:["exit","close","leave","bye"],shortcut:G1.ctrl("c"),status:{type:"enabled"},run:(D,J)=>{x4.maybeInvoke(J,new wy)}},...Q,...nl4(this.widget.neoContext.logFilePath)].map((D)=>this.commandRegistry.register(D));return()=>{for(let D of B)D()}}build(A){let Q=this.buildHints(),$=this.ideStatus.getValue(),B=this.notices.current,D=new E31({initialAgentMode:this.widget.neoContext.sessionAgentMode,analyzeContextForThread:this.analyzeContextForThread,listSkillsForThread:this.widget.listSkillsForThread,threadContext:this.activeThreadContext,draftThreadSettings:this.draftThreadSettings,editorController:this.editorController,history:this.widget.history,updateDraftThreadSettings:this.updateDraftThreadSettings,onNewThread:this.onNewThread,sendFeedbackReport:this.sendFeedbackReport,archiveThread:this.archiveThread,addThreadLabel:this.addThreadLabel,removeThreadLabel:this.removeThreadLabel,configService:this.widget.configService,hints:Q,ideStatus:$,statusItems:this.pluginIntegration?.getStatusItems()??[],pluginConfirmationBlocked:this.pluginIntegration?.hasBlockingConfirmDialog()??!1,notificationService:this.widget.notificationService,notice:this.activeThreadContext||this.neoWelcomeVisible?null:B,onDismissNotice:(U)=>this.notices.dismiss(U)}),J=b1.of(A),F=J.capabilities.animationSupport!=="disabled",Y=[new x0({constraints:w1.tight(J.size.width,J.size.height),child:this.threadListSidebar.buildBody(D)})];if(this.commandPalette.isEnabled())Y.push(new k4({debugLabel:"CommandPaletteOverlay",onFocusChange:this.closeCommandPaletteOnFocusLoss,child:new s41({onDismiss:this.commandPalette.disable})}));if(this.switchThreadPickerVisible&&!this.neoWelcomeVisible)Y.push(UA1({activeThreadID:this.activeThreadContext?.client.getThreadId()??null,loadThreads:this.loadThreads,onSelectThread:this.onSwitchThread,onDismiss:this.closeSwitchThreadPicker,onThreadSelected:this.closeSwitchThreadPicker}));if(this.neoWelcomeVisible)Y.push(new k4({debugLabel:"NeoWelcomeDialogOverlay",child:new K31({onDismiss:this.dismissNeoWelcome,onQuit:()=>z4.instance.stop(),animationsEnabled:F,variant:this.widget.neoWelcomeVariant})}));let Z=this.executorAlreadyConnectedDialog;if(Z)Y.push(new k4({debugLabel:"NeoExecutorAlreadyConnectedDialogOverlay",child:new P61({existingExecutorPid:Z.existingExecutorPid,onChoice:this.handleExecutorAlreadyConnectedChoice})}));if(Y.push(...this.mcpTrustIntegration?.buildDialogLayers()??[]),Y.push(...this.pluginIntegration?.buildDialogLayers()??[]),this.widget.neoContext.isInternalUser)Y.push(new B61({top:this.focusDebugVisible?33:1,visible:this.debugOverlayVisible,pid:oX0.pid,activeThreadID:this.activeThreadContext?.client.getThreadId()??null,connectionInfo$:this.activeThreadContext?.observer.connectionInfo()??null}));if(this.focusDebugVisible)Y.push(new _61);if(this.endCreditsVisible)Y.push(new M61({onComplete:this.completeEndCredits,highScore:this.neoInvadersHighScore,onHighScoreChange:this.updateNeoInvadersHighScore}));return new G5({neoContext:this.widget.neoContext,child:new w9({commandRegistry:this.commandRegistry,child:new Ly({completionBuilder:this.widget.completionBuilder,child:new w3({controller:this.toastController,child:new x4({actions:this.buildActions(),child:new vA({debugLabel:"NeoAppShortcuts",shortcuts:this.buildShortcuts(),child:new v4({debugLabel:"AppShellFocus",child:new G01({controller:this.toastController,complexToastControllers:[this.relaunchNotificationController,...B&&this.activeThreadContext&&!this.neoWelcomeVisible?[this.notices]:[]],child:new $61({configReloadEvents:this.widget.configService.configReloadEvents,toastController:this.toastController,child:new i4({children:Y})})})})})})})})})})}buildShortcuts(){let A=new Map([[G1.ctrl("c"),new uU0],[G1.ctrl("o"),new _U0],[G1.alt("i"),new vU0],[G1.alt("p"),new jN],[G1.ctrl("."),new fU0],[G1.ctrl("t"),new bU0],...this.threadListSidebar.shortcutEntries()]);if(oX0.env.NODE_ENV==="development"&&oX0.platform==="darwin")A.set(G1.meta("r"),new PU0);return A}buildActions(){let A=new T1(()=>{if(OD.hasAnyCopyableSelection())return OD.tryCopyAnyActiveSelection(),"handled";return this.onExitPressed(),"handled"}),Q=new T1(()=>{if(!this.commandPalette.isEnabled()&&this.hasBlockingTopLevelModal())return"ignored";return this.commandPalette.toggle(),"handled"}),$=new T1(()=>{if(this.commandPalette.isEnabled()||this.hasBlockingTopLevelModal())return"ignored";return this.commandPalette.enable(),"handled"}),B=new T1(()=>{return this.startNewDraftThread(),"handled"}),D=new T1(()=>{return z4.instance.stop(),"handled"}),J=new T1(()=>{return Cs({getRelaunchThreadIDs:this.getRelaunchThreadIDs,onRelaunchRequested:this.widget.onRelaunchRequested}),"handled"}),F=new T1((G)=>{if(!G.text)return"ignored";return z4.instance.tuiInstance.clipboard.writeText(G.text).then((V)=>{if(V.ok)this.toastController.show(G.successMessage,"success",2000);else this.toastController.show(`${G.failureMessage}: ${V.userFacingErrorMessage}`,"error",4000)}).catch((V)=>{u.error("Failed to copy Neo text to clipboard",{error:V}),this.toastController.show(G.failureMessage,"error",2000)}),"handled"}),E=new T1(()=>{return z4.instance.toggleFrameStatsOverlay(),"handled"}),Y=new T1(()=>this.notices.dismissCurrent()?"handled":"ignored"),Z=new T1(()=>{if(!this.widget.neoContext.isInternalUser)return"ignored";return this.setState(()=>{this.debugOverlayVisible=!this.debugOverlayVisible}),"handled"}),U=Ti4({getActiveThreadID:()=>this.activeThreadContext?.client.getThreadId()??null,neoContext:this.widget.neoContext,toastController:this.toastController,startNewDraftThread:this.startNewDraftThread,sendFeedbackReport:this.sendFeedbackReport}),X=new T1(()=>{return this.setState(()=>{this.focusDebugVisible=!this.focusDebugVisible}),"handled"});return new Map([[uU0,A],[Gs,B],[wy,D],[PU0,J],[K8,F],[Ws,$],[_U0,Q],[vU0,Z],...this.threadListSidebar.actionEntries(),[fU0,Y],...U,[jN,E],[bU0,X]])}startNewDraftThread(A={}){let Q=this.activeThreadContext?.client.getThreadId();if(this.commandPalette.disable(),this.threadNavigationHistory.recordNavigation(Q),this.setState(()=>{if(this.activeThreadIDSubscription?.unsubscribe(),this.activeThreadIDSubscription=null,this.activePluginMessageSubscription?.unsubscribe(),this.activePluginMessageSubscription=null,this.activePluginUIRequestsSubscription?.unsubscribe(),this.activePluginUIRequestsSubscription=null,this.pluginIntegration?.cancelOwnerUIRequests(),this.activeThreadContext=null,this.connectingToThreadID=null,A.hideDebugOverlay)this.debugOverlayVisible=!1}),this.widget.onActiveThreadChange?.(null),this.syncEmptyThreadPluginConfirmationTitle(),A.prompt!==void 0)this.editorController.text=A.prompt}syncEmptyThreadPluginConfirmationTitle=()=>{this.emptyThreadTerminalTitleController.setPluginConfirmationBlocked(this.activeThreadContext===null&&(this.pluginIntegration?.hasBlockingConfirmDialog()??!1))};closeCommandPaletteOnFocusLoss=(A)=>{if(A||!this.commandPalette.isEnabled())return;this.commandPalette.disable()};ensureDraftThreadSettingsInitialized(){if(this.hasDraftThreadSettingsSeed)return Promise.resolve();if(!this.draftThreadSettingsInitPromise)this.draftThreadSettingsInitPromise=this.initDraftThreadSettings();return this.draftThreadSettingsInitPromise}async initDraftThreadSettings(){try{let A=this.applySessionDefaultsToThreadSettings(await bf(this.widget.configService));this.applyDraftThreadSettingsSeed(A)}catch(A){u.warn("Failed to initialize Neo draft thread settings",{error:A instanceof Error?A.message:String(A)})}}applySessionDefaultsToThreadSettings(A){let Q=this.widget.neoContext.sessionAgentMode,$=A,B=EB(Q),D=oY0(this.widget.neoContext,Q);if(B!==void 0&&D!==void 0)$={...$,[B]:D};return aY0($,{agentMode:Q,explicitEffort:this.widget.neoContext.explicitReasoningEffort,sessionState:this.widget.neoContext})}applyDraftThreadSettingsSeed(A){if(!this.mounted)return;if(!this.hasDraftThreadSettingsSeed){this.setState(()=>{this.hasDraftThreadSettingsSeed=!0,this.draftThreadSettings=Ss4(this.draftThreadSettings,{},A),this.draftThreadSettingsSeed={...A}});return}if(cF(this.draftThreadSettingsSeed,A))return;this.setState(()=>{this.draftThreadSettings=Ss4(this.draftThreadSettings,this.draftThreadSettingsSeed,A),this.draftThreadSettingsSeed={...A}})}buildHints(){let A=new Set;if(this.connectingToThreadID)A.add(cN);if(this.exitHintTimer.isActive())A.add(Iy);return A}onExitPressed=()=>{if(this.exitHintTimer.isActive())this.exitHintTimer.clear(),z4.instance.stop();else this.exitHintTimer.activate()};dismissNeoWelcome=()=>{if(!this.neoWelcomeVisible)return;this.setState(()=>{this.neoWelcomeVisible=!1}),this.widget.onNeoWelcomeDismissed?.()};updateNeoInvadersHighScore=(A)=>{if(A<=this.neoInvadersHighScore)return;this.setState(()=>{this.neoInvadersHighScore=A}),GQ((Q)=>({...Q,neoInvadersHighScore:Math.max(Q.neoInvadersHighScore,A)})).catch((Q)=>{u.warn("Failed to save Neo Invaders high score",{error:Q instanceof Error?Q.message:String(Q)})})};showNeoWelcome=()=>{if(this.neoWelcomeVisible)return;this.setState(()=>{this.neoWelcomeVisible=!0})};showEndCredits=()=>{if(this.endCreditsVisible)return;this.setState(()=>{this.endCreditsVisible=!0})};completeEndCredits=()=>{if(!this.endCreditsVisible)return;this.setState(()=>{this.endCreditsVisible=!1})};promptExecutorAlreadyConnected(A){return new Promise((Q)=>{this.setState(()=>{this.executorAlreadyConnectedDialog={existingExecutorPid:A.existingExecutorPid,resolve:($)=>{Q($==="watch"?"observe":"disconnect")}}})})}handleExecutorAlreadyConnectedChoice=(A)=>{if(this.resolveExecutorAlreadyConnectedDialog(A),A==="exit")z4.instance.stop()};resolveExecutorAlreadyConnectedDialog(A){let Q=this.executorAlreadyConnectedDialog;if(!Q)return;this.setState(()=>{this.executorAlreadyConnectedDialog=null}),Q.resolve(A)}closeSwitchThreadPicker=()=>{if(!this.switchThreadPickerVisible)return;this.setState(()=>{this.switchThreadPickerVisible=!1})};updateDraftThreadSettings=(A)=>{this.setState(()=>{this.draftThreadSettings=A(this.draftThreadSettings)})};onNewThread=async(A,Q,$=null,B)=>{await this.ensureDraftThreadSettingsInitialized();let D=this.activeThreadContext?.client.getThreadId(),J=A.find(g50);if(J)this.widget.history.add(J.text,oX0.cwd()),this.widget.history.reset();let F=$?void 0:await this.widget.getDefaultNewThreadVisibility?.(),E=$??F??null,Y=this.widget.clientPool.createNewThread(Q,this.draftThreadSettings,E??void 0);this.sendUserMessage(Y,A,Q,B),this.rememberSessionDefaultsForNewMessage(Q,this.draftThreadSettings),this.threadNavigationHistory.recordNavigation(D),this.setActiveClient(Y)};rememberSessionDefaultsForNewMessage(A,Q){this.widget.neoContext.sessionAgentMode=A;let $=Q["reasoning.effort"];if($!==void 0)this.widget.neoContext.lastReasoningEffortByMode={...this.widget.neoContext.lastReasoningEffortByMode??{},[A]:$};let B=EB(A),D=B?Q[B]:void 0;if(D!==void 0)this.widget.neoContext.lastSpeedByMode={...this.widget.neoContext.lastSpeedByMode??{},[A]:D};GQ((J)=>{let F={...J,agentMode:A};if($!==void 0)F={...F,lastReasoningEffortByMode:{...F.lastReasoningEffortByMode??{},[A]:$}};if(D!==void 0)F={...F,lastSpeedByMode:{...F.lastSpeedByMode??{},[A]:D}};return F}).catch((J)=>{u.warn("Failed to persist Neo session defaults for new message",{error:J instanceof Error?J.message:String(J)})})}sendUserMessage(A,Q,$,B){let D=fJ0(this.ideStatus.getValue());if(B===void 0){A.client.sendUserMessage(Q,$,{userState:D});return}A.client.sendUserMessage(Q,$,{reasoningEffort:B,userState:D})}getActiveThreadID=()=>{return this.activeThreadContext?.client.getThreadId()??void 0};getRelaunchThreadIDs=()=>{let A=new Set,Q=this.getActiveThreadID();if(Q)A.add(Q);for(let $ of this.widget.clientPool.activeThreadIDs)A.add($);return[...A]};appendPluginMessagesToThread=async(A,Q)=>{let $=this.activeThreadContext;if(!$)throw Error("appendToThread is not available - no active thread");let B=$.client.getThreadId();if(Q&&B!==Q)throw Error("thread.append is only available for the active executor thread");for(let D of A)this.sendUserMessage($,[{type:"text",text:D.content}])};async connectToExistingThread(A,Q={}){let $=this.activeThreadContext?.client.getThreadId();this.setState(()=>{this.connectingToThreadID=A});try{let B=await this.widget.clientPool.connectToThread(A,{observerOnly:this.widget.neoContext.observerOnly,onExecutorAlreadyConnected:(D)=>this.promptExecutorAlreadyConnected(D)});if(this.setActiveClient(B),Q.recordNavigation&&$!==A)this.threadNavigationHistory.recordNavigation($);if(Q.initialUserInput)this.sendUserMessage(B,[{type:"text",text:Q.initialUserInput}])}catch(B){if(u.error("Failed to load thread",{error:B,threadID:A}),this.toastController.show(`Failed to load ${A}: ${B instanceof Error?B.message:String(B)}`,"error",4000),Q.rethrowError)throw B}finally{this.setState(()=>{this.connectingToThreadID=null})}}async connectToInitialThreads(A,Q={}){await this.connectToExistingThread(A,Q);let $=this.widget.initialThreadIDs.filter((B)=>B!==A);await Promise.all($.map((B)=>this.resumeBackgroundThread(B)))}async resumeBackgroundThread(A){try{await this.widget.clientPool.connectToThread(A,{observerOnly:this.widget.neoContext.observerOnly,onExecutorAlreadyConnected:async()=>"observe"})}catch(Q){u.error("Failed to resume background thread",{error:Q,threadID:A}),this.toastController.show(`Failed to resume ${A}: ${Q instanceof Error?Q.message:String(Q)}`,"error",4000)}}async navigateBack(){let A=this.threadNavigationHistory.startBackNavigation(this.activeThreadContext?.client.getThreadId());if(!A)return;await this.navigateToThread(A)}async navigateForward(){let A=this.threadNavigationHistory.startForwardNavigation(this.activeThreadContext?.client.getThreadId());if(!A)return;await this.navigateToThread(A)}async navigateToThread(A){try{await this.connectToExistingThread(A.targetThreadID,{rethrowError:!0})}catch{A.rollback()}}setActiveClient({client:A,observer:Q}){this.setState(()=>{this.activeThreadContext={client:A,observer:Q}}),this.syncEmptyThreadPluginConfirmationTitle(),this.activeThreadIDSubscription?.unsubscribe(),this.activeThreadIDSubscription=Q.threadID().subscribe(($)=>{this.widget.onActiveThreadChange?.($)}),this.activePluginMessageSubscription?.unsubscribe(),this.activePluginUIRequestsSubscription?.unsubscribe(),this.pluginIntegration?.cancelOwnerUIRequests(),this.activePluginMessageSubscription=Q.pluginMessages().subscribe(($)=>{this.pluginIntegration?.handlePluginMessage($,(B)=>{A.sendPluginMessage(B)})}),this.activePluginUIRequestsSubscription=Q.pluginUIRequests().subscribe(($)=>{this.pluginIntegration?.handlePluginMessage({type:"plugin_message",message:{type:"event",event:"plugin.ui.snapshot",data:{requests:[...$]}}},(B)=>{A.sendPluginMessage(B)})})}handleIdeSelection=async(A)=>{try{await this.widget.ideManager.connect(A)}catch(Q){u.error("Failed to connect to IDE",{error:Q});let $=Q instanceof Error?Q.message:String(Q);this.toastController.show(`IDE connection failed: ${$}`,"error",4000)}};dispose(){if(this.unregisterCommands?.(),this.unregisterCommands=null,this.activePluginMessageSubscription?.unsubscribe(),this.activePluginMessageSubscription=null,this.activePluginUIRequestsSubscription?.unsubscribe(),this.activePluginUIRequestsSubscription=null,this.pluginIntegration?.dispose(),this.pluginIntegration=null,this.emptyThreadTerminalTitleController.dispose(),this.mcpTrustIntegration?.dispose(),this.mcpTrustIntegration=null,this.updateRelaunchIntegration?.dispose(),this.updateRelaunchIntegration=null,this.activeThreadIDSubscription?.unsubscribe(),this.activeThreadIDSubscription=null,this.noticesPollingTimeout)clearTimeout(this.noticesPollingTimeout),this.noticesPollingTimeout=null;this.connectionErrorsSubscription?.unsubscribe(),this.configSubscription?.unsubscribe(),this.configSubscription=null,this.notices.dispose(),this.widget.notificationService.detach(),this.toastController.dispose(),super.dispose()}hasBlockingTopLevelModal(){return this.switchThreadPickerVisible||this.executorAlreadyConnectedDialog!==null||this.neoWelcomeVisible||(this.mcpTrustIntegration?.hasBlockingDialog()??!1)||this.endCreditsVisible||(this.pluginIntegration?.hasBlockingDialog()??!1)}}function Ss4(A,Q,$){let B={...A};for(let D of jp3(Q,$)){if(!cF(A[D],Q[D]))continue;let J=$[D];if(J===void 0)delete B[D];else B[D]=J}return B}function jp3(...A){return Array.from(new Set(A.flatMap((Q)=>Object.keys(Q))))}a4();function ys4(A,Q,$,B){let D=DT(A),J="\x1B[0m",F="\x1B[34m",E="\x1B[90m",Y="\x1B[2m",Z=[];if(A.archived)Z.push("\x1B[90m\x1B[2mArchived\x1B[0m");Z.push(`${D}`),Z.push(`\x1B[34m${Q}\x1B[0m`),Z.push(`\x1B[90mamp threads continue ${A.id}\x1B[0m`);let U=14,X=7,G=new rJ(U,X),V=new n9(42),K=new CN(U,X,U,X,U,X,0,A.agentMode??"smart","intensity","classic","braille",void 0,void 0,K0.default(),V);K.layout(w1.tight(U,X)),K.paint(G,0,0);let z=G.getBuffer().getCells(),W=0;for(let j=0;j<X;j++)if(z[j].some((k)=>k.char!==" ")){W=j;break}let I=X-1;for(let j=X-1;j>=0;j--)if(z[j].some((k)=>k.char!==" ")){I=j;break}function H(j,k){if(!j)return"";if(j.type==="rgb"){let{r:_,g:S,b:h}=j.value;if($.getColorDepth()>=24)return`\x1B[${k?38:48};2;${_};${S};${h}m`;let b=uj(_,S,h);return`\x1B[${k?38:48};5;${b}m`}return""}let q=[];if(I>=W)for(let j=W;j<=I;j++){let k="";for(let _=0;_<U;_++){let S=z[j][_],h=S.char,b=H(S.style.fg,!0);k+=b+h+"\x1B[0m"}q.push(k)}let N=q.length,C=Math.max(N,Z.length),O=Math.floor((C-N)/2),L=Math.floor((C-Z.length)/2);for(let j=0;j<C;j++){let k=" ".repeat(U);if(j>=O&&j<O+N)k=q[j-O];let _=" ",S="";if(j>=L&&j<L+Z.length)S=Z[j-L];$.write(k+_+S+`
5320
5320
  `)}if(B)$.write(`
5321
5321
  \x1B[90m${B}\x1B[0m
5322
5322
  `)}p0();p0();import{exec as qR}from"node:child_process";function rX0(A="idle"){try{if(A==="idle"){if(process.platform==="darwin")qR("afplay /System/Library/Sounds/Submarine.aiff");else if(process.platform==="win32")qR("powershell [console]::beep(800,200)");else if(process.platform==="linux")qR("paplay /usr/share/sounds/freedesktop/stereo/message.oga || beep")}else if(A==="idle-review"){if(process.platform==="darwin")qR("afplay /System/Library/Sounds/Glass.aiff")}else if(A==="requires-user-input"){if(process.platform==="darwin")qR("afplay /System/Library/Sounds/Ping.aiff");else if(process.platform==="win32")qR("powershell [console]::beep(1000,300)");else if(process.platform==="linux")qR("paplay /usr/share/sounds/freedesktop/stereo/dialog-information.oga || beep -f 1000 -l 100")}}catch(Q){u.error(`Failed to play notification sound (${A}):`,Q)}}Fr();FZ0();var Rp3=2000,up3="Agent is ready",Pp3="Waiting for approval";function xs4(A){let Q=!0,$=!0,B=A.configService.config.subscribe((I)=>{Q=I.settings["notifications.enabled"]??!0,$=I.settings["notifications.system.enabled"]!==!1}),D=0,J=()=>{let I=V?.prepareTerminalTitleForNotification();if(I!==void 0)process.stdout.write(LY0(I))},F=(I)=>{if(!Q)return;let H=Date.now();if(H-D<Rp3)return;if(D=H,hz())return;if(BY0())J(),setTimeout(DY0,go);else rX0(I)},E=()=>{F("idle"),K(up3)},Y=()=>{F("requires-user-input"),K(Pp3)},Z=(I)=>I?.attempt===void 0||I.attempt===0,U=null,X=null,G=null,V,K=(I)=>{if(!Q||!$)return;if(hz()&&!Er()&&!Pf())return;J(),setTimeout(()=>{process.stdout.write(mo(I))},go)},z=()=>{U?.unsubscribe(),X?.unsubscribe(),U=null,X=null,G=null,V=void 0};return{attach:(I,H,q)=>{if(z(),V=q,H)X=H.subscribe({next:(N)=>{if(N===null)return;if(!Z(N))return;E()},error:(N)=>{u.debug("Neo notification active error stream errored",{error:N})}});U=I.subscribe({next:(N)=>{try{let C=G!==null&&rQ(G),O=G==="awaiting_approval",L=C||O;if(N==="awaiting_approval"&&!O)Y();else if(N==="idle"&&L)E()}catch(C){u.debug("Neo notification handling failed",{error:C})}finally{G=N}},error:(N)=>{u.debug("Neo notification agent state stream errored",{error:N})}})},detach:z,unsubscribe(){z(),B.unsubscribe()}}}function _p3({initialUserInput:A,showNeoWelcome:Q,hideNeoWelcome:$,neoWelcomeVariant:B,neoWelcomeDismissed:D}){if($)return{show:!1,markDismissedOnDismiss:!1};if(B==="npm-migration")return{show:!0,markDismissedOnDismiss:!1};if(Q)return{show:!0,markDismissedOnDismiss:!0};let J=!A&&!D;return{show:J,markDismissedOnDismiss:J}}async function Tp3(A){await GQ((Q)=>mf(Q,A,"interactive"))}async function bs4(A,Q={}){let{initialThreadIDs:$=[],initialUserInput:B,getDefaultNewThreadVisibility:D,openThreadPickerOnStart:J=!1,observerOnly:F=!1,initialAgentMode:E,initialReasoningEffort:Y,onFirstFrame:Z,showNeoWelcome:U=!1,hideNeoWelcome:X=!1,neoWelcomeVariant:G="intro"}=Q,V=G==="npm-migration";if($.length>1)u.info("Resuming multiple initial threads",{threadIDs:$});let K=async(_)=>{let S=await A.getThreadFromServer(_);if(!S)return null;return iE0(S)},z=async(_)=>{let S=await A.getThreadFromServer(_);if(!S)throw Error(`Thread ${_} not found`);let h=await c9(_,A.configService,A.apiKey,{usesThreadActors:!0}),b=LG({endpoint:A.rivetEndpoint,poolName:h.poolName}),v={wsToken:h.wsToken,transport:"amp-rpc"},c=await b.threadActor.getOrCreate([_],{params:v,createWithInput:{threadId:h.threadId,threadVersion:h.threadVersion,ownerUserId:h.ownerUserId,...h.agentMode?{agentMode:h.agentMode}:{}}}).fetch("/import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({thread:zS4(S)}),skipReadyWait:!0});if(!c.ok&&c.status!==409)throw Error(`Thread import failed (${c.status}): ${await c.text()}`);try{await lS4(_,A.configService,A.apiKey,{executorType:"local-client"})}catch(p){u.warn("failed to mark thread as imported on server",{threadID:_,error:p instanceof Error?p.message:String(p)})}},W=new xe0(A.rivetEndpoint,A.apiKey,A.configService,{clientID:AN.parse(`neo-${crypto.randomUUID()}`),toolService:A.toolService,skillService:A.skillService,requestPluginToolCall:(_)=>A.pluginService.event.toolCall(_),requestPluginToolResult:(_)=>A.pluginService.event.toolResult(_),pluginService:A.pluginService,pluginPlatform:A.pluginPlatform,invokeTool:async(_,S)=>{let h=typeof S.args==="object"&&S.args!==null?S.args:{},b=await GN({toolName:S.toolName,configService:A.configService,toolService:A.toolService,mcpService:A.mcpService,skillService:A.skillService,toolUseID:S.toolCallId,threadId:_});return A.toolService.invokeTool(S.toolName,{args:h},b)},persistLastThreadID:Tp3,readFileSystemDirectory:A.readFileSystemDirectory},K,z),I=await bz(),H=_p3({initialUserInput:B,showNeoWelcome:U,hideNeoWelcome:X,neoWelcomeVariant:G,neoWelcomeDismissed:I.neoWelcomeDismissed}),q={ampURL:A.ampURL,configService:A.configService,getThreadMarkdown:async(_)=>{let S=await A.getThreadFromServer(_);return S?vX(S):null},isInternalUser:A.isInternalUser,listThreads:A.listThreads,logFilePath:Ta,mcpServers:A.mcpService.servers,pluginPlatform:A.pluginPlatform,pluginService:A.pluginService,toolboxes:A.toolboxes,observerOnly:V?!1:F,neoInvadersHighScore:I.neoInvadersHighScore,sessionAgentMode:E??I.agentMode,explicitReasoningEffort:Y,lastReasoningEffortByMode:I.lastReasoningEffortByMode,lastSpeedByMode:I.lastSpeedByMode,settingsFilePath:A.settingsFilePath,splashOrbVisualStyle:Q.splashOrbVisualStyle??"neo",workspaceRoot:A.workspaceRoot},N=(_,S)=>{return Dh4({ampURL:A.ampURL,configService:A.configService,threadID:_,signal:S})},C=new J01,O=xs4({configService:A.configService}),L=await A.configService.getLatest();z4.instance.tuiInstance.setOptions({queryOptions:{animationDisabled:L.settings["terminal.animation"]===!1}});let j=new Set,k=new d41;try{await Yr(new w31({clientPool:W,listSkillsForThread:N,completionBuilder:A.completionBuilder,history:new Ho,ideManager:C,configService:A.configService,updateService:A.updateService,initialThreadIDs:V?[]:$,notificationService:O,mcpTrustHandler:A.mcpTrustHandler,initialUserInput:V?void 0:B,getDefaultNewThreadVisibility:D,openThreadPickerOnStart:V?!1:J,workspaceSettingsFilePath:A.workspaceSettingsFilePath,neoContext:q,showNeoWelcome:H.show,neoWelcomeVariant:G,onActiveThreadChange:A.setActiveThreadID,onRelaunchRequested:k.request,onNeoWelcomeDismissed:H.markDismissedOnDismiss?()=>{GQ(Eh4).catch((S)=>{u.warn("Failed to mark Neo welcome as dismissed",{error:S})})}:void 0,onThreadArchived:(S)=>{j.add(S)},onFirstFrame:Z}));let _=W.lastActiveObservingClient;if(_&&k.shouldShowExitSummary){let{client:S,observer:h}=_,b=S.getThreadId();if(b){let v={id:b,title:h.title().getValue(),agentMode:h.agentMode,archived:j.has(b)},y=`${A.ampURL.replace(/\/$/,"")}/threads/${b}`;ys4(v,y,process.stdout)}}}finally{process.stdout.write(IN("")),O.unsubscribe(),W.dispose(),await A.dispose?.()}process.exit(k.relaunchIfRequested(A.workspaceRoot)??0)}Y5();function cy(A){let Q=[],$={meta:{visibility:"private",sharedGroupIDs:[]}};if(A.workspace?.disablePrivateThreads)$.disabledReason="Disabled by workspace policy";if(Q.push($),A.workspace?.groups&&A.workspace.groups.length>0){let F={meta:{visibility:"private",shareWithAllCreatorGroups:!0}};if(A.creatorIsViewer===!1)F.disabledReason="Can only be set by thread creator";Q.push(F)}if(A.workspace)Q.push({meta:{visibility:"thread_workspace_shared"}});let B=A.workspace?.disablePublicSharing?"Disabled by workspace policy":void 0,D={meta:{visibility:"public_unlisted"}},J={meta:{visibility:"public_discoverable"}};if(B)D.disabledReason=B,J.disabledReason=B;return Q.push(D,J),Q}function hs4(A){if(A.visibility==="thread_group_shared")return"sharedGroupIDs"in A&&A.sharedGroupIDs.length>0;if(A.visibility!=="private")return!0;if("shareWithAllCreatorGroups"in A&&A.shareWithAllCreatorGroups)return!0;return"sharedGroupIDs"in A&&A.sharedGroupIDs.length>0}function NR(A,Q={}){switch(A.visibility){case"thread_workspace_shared":return{text:"Workspace",description:"Visible to all members of the workspace"};case"public_discoverable":return{text:"Public",description:"Visible on public profile & publicly searchable"};case"public_unlisted":return{text:"Unlisted",description:"Visible to anyone on the Internet who has the link"};case"thread_group_shared":case"private":{let $=A.visibility==="private"&&"shareWithAllCreatorGroups"in A&&A.shareWithAllCreatorGroups,B=$?Q.workspace?.groups.map((J)=>J.id)??[]:("sharedGroupIDs"in A)?A.sharedGroupIDs:[],D=B.reduce((J,F)=>{let E=Q.workspace?.groups.find((Y)=>Y.id===F)?.name;if(E)J.push(`'${E}'`);return J},[]);if(D.length>0)return{text:"Group",description:`Shared with ${U4(D.length,"group")} ${D.join(", ")} and workspace admins`};if($)return{text:"Group",description:"Shared with creator groups and workspace admins"};if(B.length>0)return{text:"Group",description:`Shared with ${U4(B.length,"group")} and workspace admins`};return{text:"Private",description:Q.workspace?"Only visible to you and workspace admins":"Only you can see this thread"}}}}function sX0(A){if(A.visibility==="private")return"shareWithAllCreatorGroups"in A?"group":"private";if(A.visibility==="thread_workspace_shared")return"workspace";if(A.visibility==="public_unlisted")return"unlisted";return"public"}function ly(A,Q=null){let $=A!==null&&typeof A==="object"&&"visibility"in A?A.visibility:void 0;if(!$||typeof $!=="string")return;let D=cy({workspace:Q?.team??void 0}).filter((J)=>!J.disabledReason).map((J)=>sX0(J.meta));if(D.includes($))return vp3($);if($==="group"&&!D.includes("group")){if(Q?.team?.groups!==void 0)return Error(`Group visibility is not available. You are not a member of any group in this workspace.
@@ -7078,7 +7078,7 @@ ${D}`,Q);this.line=$,this.column=B,this.codeblock=D}}/*!
7078
7078
  `),J=[];for(let F=0;F<D.length;F++){let Z=D[F].replace(/\b(SELECT|FROM|WHERE|GROUP BY|ORDER BY|HAVING|LIMIT|JOIN|LEFT JOIN|RIGHT JOIN|INNER JOIN|ON|AND|OR|AS|IN|NOT|NULL|IS|BETWEEN|LIKE|EXISTS|UNION|DISTINCT|COUNT|SUM|AVG|MIN|MAX|DATE|TIMESTAMP_TRUNC|TIMESTAMP_SUB|CURRENT_TIMESTAMP|INTERVAL|CASE|WHEN|THEN|ELSE|END|WITH|INSERT|UPDATE|DELETE|SET|VALUES|INTO|CREATE|ALTER|DROP|TRUE|FALSE|ASC|DESC)\b/gi,"\x00$1\x01").split(/(\x00[^\x01]+\x01)/);for(let U of Z)if(U.startsWith("\x00")&&U.endsWith("\x01"))J.push(new w(U.slice(1,-1),new T({color:B.app.keybind,bold:!0})));else J.push(new w(U,new T({color:$.colorScheme.foreground})));if(F<D.length-1)J.push(new w(`
7079
7079
  `))}return new x0({decoration:{color:$.colorScheme.background,border:d1.all(new p1(B.app.keybind,1,"rounded"))},child:new f0({padding:V0.symmetric(0,1),child:new d({text:new w(void 0,void 0,J)})})})}}class v51 extends j5{chartData;highlightIndex;showAxes;colors;constructor({key:A,chartData:Q,highlightIndex:$=null,showAxes:B=!0,colors:D=VV0}){super(A?{key:A}:{});this.chartData=Q,this.highlightIndex=$,this.showAxes=B,this.colors=D}createRenderObject(){return new _51({chartData:this.chartData,highlightIndex:this.highlightIndex,showAxes:this.showAxes,colors:this.colors})}updateRenderObject(A){let Q=A;Q.chartData=this.chartData,Q.highlightIndex=this.highlightIndex,Q.showAxes=this.showAxes,Q.colors=this.colors,Q.markNeedsLayout()}}function q16(A,Q,$,B,D,J,F){if(J<=0)return null;switch(A){case"horizontal-bar":{let E=$;return E>=0&&E<J?E:null}case"bar":case"stacked-bar":{let E=F?l2:0,Y=B-E;if(Y<=0)return null;let Z=Q-E;if(Z<0||Z>=Y)return null;let U=Math.max(1,Math.floor(Y/J)),X=Math.floor(Z/U);return X>=0&&X<J?X:null}case"line":case"sparkline":case"stacked-area":{let E=F?l2:0,Y=B-E;if(Y<=0)return null;let Z=Math.max(0,Math.min(Y-1,Q-E));if(J===1)return 0;let U=Y/(J-1),X=Math.round(Z/U);return Math.max(0,Math.min(J-1,X))}default:return null}}function Br3(A,Q,$,B,D,J,F,E){if(D<=0||Q<0||Q>=D)return null;let Y=2;switch(A){case"horizontal-bar":return{x:Math.floor($/2),y:Q};case"bar":case"stacked-bar":{let Z=J?l2:0,U=$-Z,X=B-(J?Y:0);if(U<=0||X<=0)return null;let G=Math.max(1,Math.floor(U/D)),V=Z+Q*G+Math.floor(G/2),K=E>0?F/E:0,z=Math.round((1-K)*(X-1));return{x:V,y:z}}case"line":case"sparkline":case"stacked-area":{let Z=J?l2:0,U=$-Z,X=B-(J?Y:0);if(U<=0||X<=0)return null;let G=D>1?Z+Math.round(Q/(D-1)*(U-1)):Z+Math.floor(U/2),V=E>0?F/E:0,K=Math.round((1-V)*(X-1));return{x:G,y:K}}default:return null}}function Dr3(A){let Q=0;for(let $ of A)for(let B of $.points)if(B.value>Q)Q=B.value;return Q||1}function Jr3(A,Q,$,B,D){if($.length<=1){let E=B(A.value),Y=A.meta?` (${A.meta})`:"";return A.label.length+2+E.length+Y.length}let J=A.label.length,F=0;for(let E of $){let Y=E.points[Q];if(!Y)continue;F+=Y.value;let Z=2+E.name.length+2+B(Y.value).length;J=Math.max(J,Z)}if(D){let E=9+B(F).length;J=Math.max(J,E)}return J}function Fr3(A,Q,$,B,D,J,F){let E;try{let K=L1.of(A),z=O0.of(A);E={foreground:K.colorScheme.foreground,background:K.colorScheme.background,border:z.app.keybind}}catch{E={foreground:{type:"index",value:15},background:{type:"index",value:0},border:{type:"index",value:7}}}let Y=new T({color:E.foreground,bold:!0}),Z=new T({color:E.foreground}),U=new T({color:E.foreground,dim:!0}),X=[],G=new T({color:E.foreground,underline:!0}),V=(K,z)=>new w(z,G,void 0,kz(K),()=>{n6(A,K)});if(B.length<=1){if(X.push(new w(`${Q.label}: `,Y)),Q.link)X.push(V(Q.link,J(Q.value)));else X.push(new w(J(Q.value),Z));if(Q.meta)X.push(new w(` (${Q.meta})`,U))}else{let K=F==="stacked-bar"||F==="stacked-area";X.push(new w(`${Q.label}
7080
7080
  `,Y));let z=0;for(let W=0;W<B.length;W++){let I=B[W],H=I.points[$];if(!H)continue;z+=H.value;let q=I.color??D[W%D.length]??E.foreground;if(X.push(new w("● ",new T({color:q}))),X.push(new w(`${I.name}: `,U)),H.link)X.push(V(H.link,J(H.value)));else X.push(new w(J(H.value),Z));if(W<B.length-1||K)X.push(new w(`
7081
- `))}if(K)X.push(new w(" ",U)),X.push(new w("Total: ",U)),X.push(new w(J(z),Z))}return new x0({decoration:{color:E.background,border:d1.all(new p1(E.border,1,"rounded"))},child:new d({text:new w(void 0,void 0,X)})})}p0();function N16(A){return A.length===0?A:A[0].toLowerCase()+A.slice(1)}Y5();a5();y5();h$();u9();e2();fQ();nH();a4();sv();M_();u1();p0();u9();class k51{enabled;configService;commandCounts=new Map;timer=null;bufferTimeMs=1e4;constructor(A,Q){this.enabled=A;this.configService=Q;this.startTimer()}startTimer(){this.timer=setInterval(()=>{this.flushEvents()},this.bufferTimeMs)}async flushEvents(){if(this.commandCounts.size===0||!await this.enabled())return;let A=Array.from(this.commandCounts.entries()).map(([Q,$])=>({feature:"cli.command",action:Q,source:{client:"cli",clientVersion:"0.0.1779547160-g4a1cc9"},parameters:{metadata:{count:$}},timestamp:Date.now()*1000}));this.commandCounts.clear();try{let Q=JSON.stringify(A);await c50(Q,this.configService)}catch(Q){u.error("Failed to export command telemetry events",Q)}}async submit(A){if(!await this.enabled()||this.timer===null)return;let Q=this.commandCounts.get(A)||0;this.commandCounts.set(A,Q+1)}async dispose(){if(await this.flushEvents(),this.timer!==null)clearInterval(this.timer),this.timer=null}}class zC extends u0{props;constructor(A){super();this.props=A}createState(){return new C16}}class C16 extends R0{_state;initState(){super.initState(),this._state=this.widget.props.initialState}build(A){let Q=($)=>{this.setState(()=>{this._state=$(this._state)})};return this.widget.props.builder(A,Q,this._state)}}class w16 extends R0{controller=new P2;focusNode=new r6({debugLabel:"CommandArgumentPrompt",onKey:(A)=>{if(A.key==="Escape")return this.widget.props.onDismiss(),"handled";return"ignored"}});_textListener=()=>{this.setState(()=>{})};initState(){this.focusNode.requestFocus(),this.controller.addListener(this._textListener)}dispose(){this.controller.removeListener(this._textListener),this.focusNode.dispose()}build(A){let Q=O0.of(A),{colors:$,app:B}=Q,D=this.widget.props.isRequiredArg??!0,J=this.controller.text.trim().length>0,F=!D||J,E=d1.all(new p1($.foreground,1,"solid")),Y=new ZB({controller:this.controller,focusNode:this.focusNode,placeholder:this.widget.props.placeholder??"Enter command argument...",onSubmitted:(V)=>{let K=V.trim();if(D&&K.length===0)return;this.widget.props.onSubmit(K)},autofocus:!0,style:{textColor:$.foreground,border:null},maxLines:1}),Z=new r0({children:[new x0({decoration:{color:$.background},child:new d({text:new w(">",new T({color:$.foreground}))})}),new R1({child:Y})]}),U=new x0({padding:V0.symmetric(1,0),child:new d({text:this.widget.props.title?new w(this.widget.props.title,new T({color:B.command,bold:!0})):new w("",void 0,[new w("Command: ",new T({color:$.foreground})),new w(this.widget.props.commandName,new T({color:B.command,bold:!0}))])})}),X=[];if(F)X.push(new w("Enter",new T({color:B.keybind}))),X.push(new w(" to submit, ",new T({color:$.foreground,dim:!0})));X.push(new w("Esc",new T({color:B.keybind}))),X.push(new w(" to cancel",new T({color:$.foreground,dim:!0})));let G=new x0({padding:V0.symmetric(1,0),child:new d({text:new w("",void 0,X)})});return new x0({decoration:{border:E,color:$.background},padding:V0.all(1),child:new S0({children:[U,new X0({height:1}),Z,new Z3,G]})})}}class Gt extends u0{props;constructor(A){super();this.props=A}createState(){return new w16}}fQ();class M16 extends R0{controller=new P2;imageAttachments=[];imagePaths=[];isConfirmingClearInput=!1;clearInputConfirmTimeout=null;focusNode=new r6({debugLabel:"CommandMultilinePrompt",onKey:(A)=>{if(A.key==="Escape"){if(this.isConfirmingClearInput){if(this.controller.clear(),this.setState(()=>{this.isConfirmingClearInput=!1,this.imageAttachments=[],this.imagePaths=[]}),this.clearInputConfirmTimeout)clearTimeout(this.clearInputConfirmTimeout),this.clearInputConfirmTimeout=null;return"handled"}if(this.controller.text.trim()!==""||this.imageAttachments.length>0){if(this.setState(()=>{this.isConfirmingClearInput=!0}),this.clearInputConfirmTimeout)clearTimeout(this.clearInputConfirmTimeout);return this.clearInputConfirmTimeout=setTimeout(()=>{this.setState(()=>{this.isConfirmingClearInput=!1}),this.clearInputConfirmTimeout=null},1000),"handled"}return this.widget.props.onDismiss(),"handled"}return"ignored"}});initState(){if(this.widget.props.initialText)this.controller.text=this.widget.props.initialText;if(this.widget.props.initialImages)this.imageAttachments=[...this.widget.props.initialImages];this.focusNode.requestFocus()}_handleInsertImage=async(A)=>{if(this.imageAttachments.length>=_9)return!1;let Q=await pG(A);if(typeof Q==="object")return this.setState(()=>{this.imageAttachments=[...this.imageAttachments,Q],this.imagePaths=[...this.imagePaths,A]}),!1;return!1};_handlePopImage=()=>{if(this.imageAttachments.length>0)this.setState(()=>{this.imageAttachments=this.imageAttachments.slice(0,-1),this.imagePaths=this.imagePaths.slice(0,-1)})};dispose(){if(this.clearInputConfirmTimeout)clearTimeout(this.clearInputConfirmTimeout),this.clearInputConfirmTimeout=null;this.focusNode.dispose(),this.controller.dispose()}build(A){let Q=O0.of(A),{colors:$,app:B}=Q,J=b1.of(A).size.height,F=Math.max(Math.floor(J*0.5),10),E=new sz({controller:this.controller,triggers:[new $Y],completionBuilder:this.widget.props.completionBuilder,onSubmitted:(V)=>{this.widget.props.onSubmit(V.trim(),this.imageAttachments)},theme:$,placeholder:this.widget.props.placeholder||"Enter your message...",enabled:this.widget.props.enabled??!0,autofocus:!0,clipboard:z4.instance.tuiInstance.clipboard,autoOverlayPosition:!0,onInsertImage:this.widget.props.onInsertImage??this._handleInsertImage,imageAttachments:this.imageAttachments,popImage:this._handlePopImage}),Y=new v4({debugLabel:"CommandMultilinePrompt",focusNode:this.focusNode,child:E}),Z=new x0({constraints:new w1({maxHeight:F}),padding:V0.symmetric(1,0),child:Y}),U=new x0({padding:V0.symmetric(1,0),child:new d({text:new w("",void 0,[new w("Command: ",new T({color:$.foreground})),new w(this.widget.props.commandName,new T({color:B.command,bold:!0}))])})}),X=new x0({padding:V0.symmetric(1,0),child:new d({text:this.isConfirmingClearInput?new w("",void 0,[new w("Esc",new T({color:B.keybind})),new w(" again to clear input",new T({color:$.foreground,dim:!0}))]):new w("",void 0,[new w("Press ",new T({color:$.foreground,dim:!0})),new w("Enter",new T({color:B.keybind})),new w(" to submit, ",new T({color:$.foreground,dim:!0})),new w("Esc",new T({color:B.keybind})),new w(" to clear",new T({color:$.foreground,dim:!0}))])})}),G=[U,new X0({height:1}),new R1({child:Z}),new X0({height:1}),X];return new x0({decoration:{border:d1.all(new p1($.foreground,1,"solid")),color:$.background},padding:V0.all(1),child:new S0({children:G})})}}class S51 extends u0{props;constructor(A){super();this.props=A}createState(){return new M16}}function L16(A){let $=new Date().getTime()-A.getTime(),B=Math.floor($/60000),D=Math.floor($/3600000),J=Math.floor($/86400000);if(B<1)return"just now";if(B<60)return`${B}m ago`;if(D<24)return`${D}h ago`;if(J<7)return`${J}d ago`;return A.toLocaleDateString()}class f51 extends H1{props;debugLabel="NewsFeedPicker";constructor(A){super();this.props=A}build(A){let Q=[...this.props.entries].sort((D,J)=>J.pubDate.getTime()-D.pubDate.getTime()),$=Math.max(0,...Q.map((D)=>L16(D.pubDate).length));return new pA({items:Q,getLabel:(D)=>D.title,onAccept:(D)=>this.props.onSelect?.(D),onDismiss:this.props.onDismiss,title:this.props.title,emptyStateText:"No news entries available",maxRenderItems:100,renderItem:(D,J,F,E)=>{let Y=O0.of(E),{colors:Z}=Y,U=Y.app,X=J?U.selectionBackground:void 0,G=J?U.selectionForeground:Z.foreground,V=Z.mutedForeground,K=(z,W)=>new X0({width:W,child:r0.end([new d({text:new w(z,new T({color:V}))})])});return new x0({decoration:X?{color:X}:void 0,padding:V0.symmetric(2,0),child:new r0({children:[new R1({child:new d({text:new w(D.title,new T({color:G})),overflow:"ellipsis",maxLines:1})}),new X0({width:2}),K(L16(D.pubDate),$)]})})}})}}class W${static _instance=null;_allExpanded=!1;_listeners=new Set;static get instance(){if(!W$._instance)W$._instance=new W$;return W$._instance}get allExpanded(){return this._allExpanded}setAllExpanded(A){if(this._allExpanded===A)return;this._allExpanded=A,this._notifyListeners()}toggleAll(){this.setAllExpanded(!this._allExpanded)}addListener(A){return this._listeners.add(A),()=>this.removeListener(A)}removeListener(A){this._listeners.delete(A)}_notifyListeners(){for(let A of this._listeners)A()}}p0();class O16 extends R0{labels=[];isLoading=!0;currentQuery="";initState(){this.loadLabels()}async loadLabels(){try{let A=await this.widget.props.internalAPIClient.getUserLabels({query:""},{config:this.widget.props.configService});if(!A.ok){u.error("Failed to load labels",A.error),this.isLoading=!1,this.labels=[],this.setState();return}this.labels=A.result,this.isLoading=!1,this.setState()}catch(A){u.error("Failed to load labels",A),this.isLoading=!1,this.labels=[],this.setState()}}getValidationError(A){let Q=A.trim().toLowerCase();if(Q.length===0)return null;if(Q.length>32)return"Label name cannot exceed 32 characters";if(!/^[a-z0-9][a-z0-9-]*$/.test(Q))return"Label must be alphanumeric with hyphens, starting with a letter or number";return null}isValidLabelName(A){return this.getValidationError(A)===null&&A.length>0}getAvailableLabels(){let A=this.widget.props.currentLabels||[];return this.labels.filter((Q)=>!A.includes(Q.name))}shouldShowCreateMarker(A){if(A.length===0||this.isLoading)return!1;let Q=A.trim().toLowerCase();if(!this.isValidLabelName(Q))return!1;let $=this.widget.props.currentLabels||[],B=this.labels.some((J)=>J.name===Q),D=$.includes(Q);return!B&&!D}build(A){let Q=O0.of(A),{app:$,colors:B}=Q,D=this.currentQuery.trim().toLowerCase(),J=D.length>0?this.getValidationError(D):null,F=this.getAvailableLabels(),Y=[{id:"__create__",name:"__create_placeholder__",createdAt:"",__isCreateMarker:!0},...F];return new pA({title:"Add Label",items:Y,getLabel:(Z)=>{if("__isCreateMarker"in Z)return this.currentQuery.trim().toLowerCase();return Z.name},onAccept:(Z)=>{if("__isCreateMarker"in Z)this.widget.props.onSelect(this.currentQuery.trim().toLowerCase());else this.widget.props.onSelect(Z.name)},onDismiss:this.widget.props.onDismiss,isLoading:this.isLoading,loadingText:"Loading labels...",emptyStateText:J||"Type to create a new label",renderItem:(Z,U,X,G)=>{let V=U?$.selectionBackground:void 0,K=U?$.selectionForeground:B.foreground;if("__isCreateMarker"in Z&&Z.__isCreateMarker){let W=this.currentQuery.trim().toLowerCase();return new x0({decoration:V?{color:V}:void 0,padding:V0.symmetric(2,0),child:new d({text:new w("",void 0,[new w("Create new label: ",new T({color:K})),new w(W,new T({color:K,bold:!0}))])})})}return new x0({decoration:V?{color:V}:void 0,padding:V0.symmetric(2,0),child:new d({text:new w(Z.name,new T({color:K}))})})},filterItem:(Z,U)=>{if(this.currentQuery!==U)this.currentQuery=U,setTimeout(()=>this.setState(),0);if("__isCreateMarker"in Z&&Z.__isCreateMarker)return this.shouldShowCreateMarker(U);let G=U.trim().toLowerCase();return G.length===0||Z.name.includes(G)},sortItems:(Z,U,X)=>{let G="__isCreateMarker"in Z.item&&Z.item.__isCreateMarker,V="__isCreateMarker"in U.item&&U.item.__isCreateMarker;if(G&&!V)return-1;if(!G&&V)return 1;return U.score-Z.score}})}}class y51 extends u0{props;constructor(A){super();this.props=A}createState(){return new O16}}class eZ extends u0{props;constructor(A){super();this.props=A}createState(){return new j16}}class j16 extends R0{_spinner=new qA;animationInterval=null;initState(){super.initState(),this.animationInterval=setInterval(()=>{this._spinner.step(),this.setState(()=>{})},100)}dispose(){if(this.animationInterval)clearInterval(this.animationInterval),this.animationInterval=null;super.dispose()}build(A){let Q=O0.of(A),{colors:$,app:B}=Q,D=d1.all(new p1($.foreground,1,"solid")),J=this._spinner.toBraille(),F=new d({textAlign:"center",text:new w("",void 0,[new w(J,new T({color:B.processing})),new w(" ",void 0),new w(this.widget.props.message,new T({color:$.foreground}))])}),Y=[new R1({child:new S0({mainAxisAlignment:"center",crossAxisAlignment:"center",children:[F]})})];if(this.widget.props.onAbort)Y.push(new X0({height:2,child:new x0({padding:V0.symmetric(2,0),child:new d({text:new w("",new T({dim:!0}),[new w("Press ",new T({color:$.foreground})),new w("Esc",new T({color:$.info})),new w(" to cancel",new T({color:$.foreground}))])})})}));let Z=new x0({decoration:new R4($.background,D),child:new X0({width:60,height:7,child:new S0({mainAxisAlignment:"start",children:Y})})});if(this.widget.props.onAbort)return new k4({debugLabel:"LoadingDialog",child:new v4({debugLabel:"LoadingDialog",autofocus:!0,onKey:(U)=>{if(U.key==="Escape")return this.widget.props.onAbort?.(),"handled";return"ignored"},child:Z})});return Z}}class oG extends u0{props;constructor(A){super();this.props=A}createState(){return new R16}}class R16 extends R0{scrollController=new v6;scrollAreaKey=new Y8("message-dialog-scroll-area");viewportHeight=20;initState(){super.initState(),this.scrollController.followMode=!1,this.scrollController.addListener(()=>{this.setState()})}dispose(){this.scrollController.dispose(),super.dispose()}isWidgetMessage(A){return A instanceof l8}resolveFooterStyle(A){if(this.isWidgetMessage(A))return A.footerStyle;return"default"}getViewportHeight(){let Q=this.scrollAreaKey.currentElement?.renderObject;if(Q&&"size"in Q){let $=Q.size;if(typeof $.height==="number"&&$.height>0)return this.viewportHeight=$.height,$.height}return this.viewportHeight}build(A){let Q=O0.of(A),$=this.widget.props.message,B=(()=>{if(this.isWidgetMessage($))return{title:$.title,type:$.type};if($ instanceof Error&&$.name==="CommandCancelledError")return{title:"Cancelled",type:"info",description:$.message};if($ instanceof Error&&$.name==="CommandTimeoutError")return{title:"Timeout",type:"error",description:$.message};let U=dZ0($);return{title:U.title,type:U.type,description:U.description}})(),D=B.type==="error"?Q.app.toolError:Q.app.command,J=d1.all(new p1(Q.colors.border,1,"solid")),F=new x0({padding:V0.symmetric(1,0),child:new d({text:new w(B.title,new T({color:D,bold:!0}))})}),E=this.isWidgetMessage($)?$.widget:new d({text:new w(B.description,new T({color:Q.colors.foreground})),selectable:!0}),Y=new R1({child:new U5({child:new x0({padding:V0.symmetric(1,0),child:new r0({key:this.scrollAreaKey,crossAxisAlignment:"stretch",children:[new R1({child:new k6({controller:this.scrollController,autofocus:!0,child:E})}),new z8({controller:this.scrollController,thumbColor:Q.app.scrollbarThumb,trackColor:Q.app.scrollbarTrack,getScrollInfo:()=>{let U=this.scrollController.maxScrollExtent,X=this.scrollController.offset,G=this.getViewportHeight(),V=U+G;return{totalContentHeight:Math.max(V,0),viewportHeight:Math.max(G,1),scrollOffset:Math.max(X,0)}}})]})})})}),Z=new x0({padding:V0.symmetric(1,0),child:new d({text:(()=>{if(this.widget.props.onRetry)return new w("",void 0,[new w("Press ",new T({color:Q.colors.foreground,dim:!0})),new w("R",new T({color:Q.app.keybind})),new w(" to retry, ",new T({color:Q.colors.foreground,dim:!0})),new w("Esc",new T({color:Q.app.keybind})),new w(" to cancel",new T({color:Q.colors.foreground,dim:!0}))]);let U=this.resolveFooterStyle(this.widget.props.message);if(U==="none")return new w("",new T({color:Q.colors.foreground,dim:!0}));if(U==="help"){let X=new T({color:Q.app.keybind}),G=new T({color:Q.colors.foreground,dim:!0});return new w("",G,[new w("Press ",G),new w("Escape",X),new w(" to close • Use ",G),new w("↑↓",X),new w(" or ",G),new w("j/k",X),new w(" to scroll",G)])}return new w("Press any key to close",new T({color:Q.colors.foreground,dim:!0,italic:!0}))})()})});return new k4({debugLabel:"MessageDialog",child:new i4({fit:"expand",children:[new O1({onClick:()=>{},child:new X0}),new v4({onKey:(U)=>{if(this.widget.props.onRetry&&U.key==="r")return this.widget.props.onRetry(),"handled";if(U.key==="Escape")return this.widget.props.onDismiss(),"handled";if(!this.widget.props.onRetry)return this.widget.props.onDismiss(),"handled";return"ignored"},autofocus:!1,child:new x0({decoration:{border:J,color:Q.colors.background},padding:V0.all(1),child:new S0({mainAxisAlignment:"center",children:[F,new X0({height:1}),Y,Z]})})})]})})}}Y5();Q4();class u16 extends u0{props;constructor(A){super();this.props=A}createState(){return new P16}}class P16 extends R0{plugins=[];subscription=null;initState(){this.subscription=this.widget.props.pluginService.plugins.subscribe((A)=>{this.plugins=A,this.setState(()=>{})})}dispose(){this.subscription?.unsubscribe(),super.dispose()}getRelativePath(A){let Q=i0.file(this.widget.props.cwd),$=B1.relativePath(Q,XA(A));if($!==null&&$!==""&&$!==".."&&!$.startsWith("../"))return $;return c3(A)}statusIcon(A){let Q=d2.default(),{colors:$,app:B}=Q;switch(A){case"loading":return{icon:"◌",color:$.warning};case"active":return{icon:"✓",color:B.toolSuccess};case"error":return{icon:"✗",color:B.toolError}}}build(A){let Q=O0.of(A),{app:$}=Q;if(this.plugins.length===0)return new d({text:new w("No plugins found.",new T({dim:!0}))});let B=[],D=this.plugins.length,J=this.plugins.filter((Y)=>Y.status==="active").length,F=this.plugins.reduce((Y,Z)=>Y+Z.registeredCommands.length,0),E=this.plugins.reduce((Y,Z)=>Y+Z.registeredTools.length,0);if(B.push(new w(`${J}/${D} ${U4(D,"plugin")} active`,new T({bold:!0}))),F>0||E>0)B.push(new w(` (${F} ${U4(F,"command")}, ${E} ${U4(E,"tool")})`,new T({dim:!0})));B.push(new w(`
7081
+ `))}if(K)X.push(new w(" ",U)),X.push(new w("Total: ",U)),X.push(new w(J(z),Z))}return new x0({decoration:{color:E.background,border:d1.all(new p1(E.border,1,"rounded"))},child:new d({text:new w(void 0,void 0,X)})})}p0();function N16(A){return A.length===0?A:A[0].toLowerCase()+A.slice(1)}Y5();a5();y5();h$();u9();e2();fQ();nH();a4();sv();M_();u1();p0();u9();class k51{enabled;configService;commandCounts=new Map;timer=null;bufferTimeMs=1e4;constructor(A,Q){this.enabled=A;this.configService=Q;this.startTimer()}startTimer(){this.timer=setInterval(()=>{this.flushEvents()},this.bufferTimeMs)}async flushEvents(){if(this.commandCounts.size===0||!await this.enabled())return;let A=Array.from(this.commandCounts.entries()).map(([Q,$])=>({feature:"cli.command",action:Q,source:{client:"cli",clientVersion:"0.0.1779567279-g6cae00"},parameters:{metadata:{count:$}},timestamp:Date.now()*1000}));this.commandCounts.clear();try{let Q=JSON.stringify(A);await c50(Q,this.configService)}catch(Q){u.error("Failed to export command telemetry events",Q)}}async submit(A){if(!await this.enabled()||this.timer===null)return;let Q=this.commandCounts.get(A)||0;this.commandCounts.set(A,Q+1)}async dispose(){if(await this.flushEvents(),this.timer!==null)clearInterval(this.timer),this.timer=null}}class zC extends u0{props;constructor(A){super();this.props=A}createState(){return new C16}}class C16 extends R0{_state;initState(){super.initState(),this._state=this.widget.props.initialState}build(A){let Q=($)=>{this.setState(()=>{this._state=$(this._state)})};return this.widget.props.builder(A,Q,this._state)}}class w16 extends R0{controller=new P2;focusNode=new r6({debugLabel:"CommandArgumentPrompt",onKey:(A)=>{if(A.key==="Escape")return this.widget.props.onDismiss(),"handled";return"ignored"}});_textListener=()=>{this.setState(()=>{})};initState(){this.focusNode.requestFocus(),this.controller.addListener(this._textListener)}dispose(){this.controller.removeListener(this._textListener),this.focusNode.dispose()}build(A){let Q=O0.of(A),{colors:$,app:B}=Q,D=this.widget.props.isRequiredArg??!0,J=this.controller.text.trim().length>0,F=!D||J,E=d1.all(new p1($.foreground,1,"solid")),Y=new ZB({controller:this.controller,focusNode:this.focusNode,placeholder:this.widget.props.placeholder??"Enter command argument...",onSubmitted:(V)=>{let K=V.trim();if(D&&K.length===0)return;this.widget.props.onSubmit(K)},autofocus:!0,style:{textColor:$.foreground,border:null},maxLines:1}),Z=new r0({children:[new x0({decoration:{color:$.background},child:new d({text:new w(">",new T({color:$.foreground}))})}),new R1({child:Y})]}),U=new x0({padding:V0.symmetric(1,0),child:new d({text:this.widget.props.title?new w(this.widget.props.title,new T({color:B.command,bold:!0})):new w("",void 0,[new w("Command: ",new T({color:$.foreground})),new w(this.widget.props.commandName,new T({color:B.command,bold:!0}))])})}),X=[];if(F)X.push(new w("Enter",new T({color:B.keybind}))),X.push(new w(" to submit, ",new T({color:$.foreground,dim:!0})));X.push(new w("Esc",new T({color:B.keybind}))),X.push(new w(" to cancel",new T({color:$.foreground,dim:!0})));let G=new x0({padding:V0.symmetric(1,0),child:new d({text:new w("",void 0,X)})});return new x0({decoration:{border:E,color:$.background},padding:V0.all(1),child:new S0({children:[U,new X0({height:1}),Z,new Z3,G]})})}}class Gt extends u0{props;constructor(A){super();this.props=A}createState(){return new w16}}fQ();class M16 extends R0{controller=new P2;imageAttachments=[];imagePaths=[];isConfirmingClearInput=!1;clearInputConfirmTimeout=null;focusNode=new r6({debugLabel:"CommandMultilinePrompt",onKey:(A)=>{if(A.key==="Escape"){if(this.isConfirmingClearInput){if(this.controller.clear(),this.setState(()=>{this.isConfirmingClearInput=!1,this.imageAttachments=[],this.imagePaths=[]}),this.clearInputConfirmTimeout)clearTimeout(this.clearInputConfirmTimeout),this.clearInputConfirmTimeout=null;return"handled"}if(this.controller.text.trim()!==""||this.imageAttachments.length>0){if(this.setState(()=>{this.isConfirmingClearInput=!0}),this.clearInputConfirmTimeout)clearTimeout(this.clearInputConfirmTimeout);return this.clearInputConfirmTimeout=setTimeout(()=>{this.setState(()=>{this.isConfirmingClearInput=!1}),this.clearInputConfirmTimeout=null},1000),"handled"}return this.widget.props.onDismiss(),"handled"}return"ignored"}});initState(){if(this.widget.props.initialText)this.controller.text=this.widget.props.initialText;if(this.widget.props.initialImages)this.imageAttachments=[...this.widget.props.initialImages];this.focusNode.requestFocus()}_handleInsertImage=async(A)=>{if(this.imageAttachments.length>=_9)return!1;let Q=await pG(A);if(typeof Q==="object")return this.setState(()=>{this.imageAttachments=[...this.imageAttachments,Q],this.imagePaths=[...this.imagePaths,A]}),!1;return!1};_handlePopImage=()=>{if(this.imageAttachments.length>0)this.setState(()=>{this.imageAttachments=this.imageAttachments.slice(0,-1),this.imagePaths=this.imagePaths.slice(0,-1)})};dispose(){if(this.clearInputConfirmTimeout)clearTimeout(this.clearInputConfirmTimeout),this.clearInputConfirmTimeout=null;this.focusNode.dispose(),this.controller.dispose()}build(A){let Q=O0.of(A),{colors:$,app:B}=Q,J=b1.of(A).size.height,F=Math.max(Math.floor(J*0.5),10),E=new sz({controller:this.controller,triggers:[new $Y],completionBuilder:this.widget.props.completionBuilder,onSubmitted:(V)=>{this.widget.props.onSubmit(V.trim(),this.imageAttachments)},theme:$,placeholder:this.widget.props.placeholder||"Enter your message...",enabled:this.widget.props.enabled??!0,autofocus:!0,clipboard:z4.instance.tuiInstance.clipboard,autoOverlayPosition:!0,onInsertImage:this.widget.props.onInsertImage??this._handleInsertImage,imageAttachments:this.imageAttachments,popImage:this._handlePopImage}),Y=new v4({debugLabel:"CommandMultilinePrompt",focusNode:this.focusNode,child:E}),Z=new x0({constraints:new w1({maxHeight:F}),padding:V0.symmetric(1,0),child:Y}),U=new x0({padding:V0.symmetric(1,0),child:new d({text:new w("",void 0,[new w("Command: ",new T({color:$.foreground})),new w(this.widget.props.commandName,new T({color:B.command,bold:!0}))])})}),X=new x0({padding:V0.symmetric(1,0),child:new d({text:this.isConfirmingClearInput?new w("",void 0,[new w("Esc",new T({color:B.keybind})),new w(" again to clear input",new T({color:$.foreground,dim:!0}))]):new w("",void 0,[new w("Press ",new T({color:$.foreground,dim:!0})),new w("Enter",new T({color:B.keybind})),new w(" to submit, ",new T({color:$.foreground,dim:!0})),new w("Esc",new T({color:B.keybind})),new w(" to clear",new T({color:$.foreground,dim:!0}))])})}),G=[U,new X0({height:1}),new R1({child:Z}),new X0({height:1}),X];return new x0({decoration:{border:d1.all(new p1($.foreground,1,"solid")),color:$.background},padding:V0.all(1),child:new S0({children:G})})}}class S51 extends u0{props;constructor(A){super();this.props=A}createState(){return new M16}}function L16(A){let $=new Date().getTime()-A.getTime(),B=Math.floor($/60000),D=Math.floor($/3600000),J=Math.floor($/86400000);if(B<1)return"just now";if(B<60)return`${B}m ago`;if(D<24)return`${D}h ago`;if(J<7)return`${J}d ago`;return A.toLocaleDateString()}class f51 extends H1{props;debugLabel="NewsFeedPicker";constructor(A){super();this.props=A}build(A){let Q=[...this.props.entries].sort((D,J)=>J.pubDate.getTime()-D.pubDate.getTime()),$=Math.max(0,...Q.map((D)=>L16(D.pubDate).length));return new pA({items:Q,getLabel:(D)=>D.title,onAccept:(D)=>this.props.onSelect?.(D),onDismiss:this.props.onDismiss,title:this.props.title,emptyStateText:"No news entries available",maxRenderItems:100,renderItem:(D,J,F,E)=>{let Y=O0.of(E),{colors:Z}=Y,U=Y.app,X=J?U.selectionBackground:void 0,G=J?U.selectionForeground:Z.foreground,V=Z.mutedForeground,K=(z,W)=>new X0({width:W,child:r0.end([new d({text:new w(z,new T({color:V}))})])});return new x0({decoration:X?{color:X}:void 0,padding:V0.symmetric(2,0),child:new r0({children:[new R1({child:new d({text:new w(D.title,new T({color:G})),overflow:"ellipsis",maxLines:1})}),new X0({width:2}),K(L16(D.pubDate),$)]})})}})}}class W${static _instance=null;_allExpanded=!1;_listeners=new Set;static get instance(){if(!W$._instance)W$._instance=new W$;return W$._instance}get allExpanded(){return this._allExpanded}setAllExpanded(A){if(this._allExpanded===A)return;this._allExpanded=A,this._notifyListeners()}toggleAll(){this.setAllExpanded(!this._allExpanded)}addListener(A){return this._listeners.add(A),()=>this.removeListener(A)}removeListener(A){this._listeners.delete(A)}_notifyListeners(){for(let A of this._listeners)A()}}p0();class O16 extends R0{labels=[];isLoading=!0;currentQuery="";initState(){this.loadLabels()}async loadLabels(){try{let A=await this.widget.props.internalAPIClient.getUserLabels({query:""},{config:this.widget.props.configService});if(!A.ok){u.error("Failed to load labels",A.error),this.isLoading=!1,this.labels=[],this.setState();return}this.labels=A.result,this.isLoading=!1,this.setState()}catch(A){u.error("Failed to load labels",A),this.isLoading=!1,this.labels=[],this.setState()}}getValidationError(A){let Q=A.trim().toLowerCase();if(Q.length===0)return null;if(Q.length>32)return"Label name cannot exceed 32 characters";if(!/^[a-z0-9][a-z0-9-]*$/.test(Q))return"Label must be alphanumeric with hyphens, starting with a letter or number";return null}isValidLabelName(A){return this.getValidationError(A)===null&&A.length>0}getAvailableLabels(){let A=this.widget.props.currentLabels||[];return this.labels.filter((Q)=>!A.includes(Q.name))}shouldShowCreateMarker(A){if(A.length===0||this.isLoading)return!1;let Q=A.trim().toLowerCase();if(!this.isValidLabelName(Q))return!1;let $=this.widget.props.currentLabels||[],B=this.labels.some((J)=>J.name===Q),D=$.includes(Q);return!B&&!D}build(A){let Q=O0.of(A),{app:$,colors:B}=Q,D=this.currentQuery.trim().toLowerCase(),J=D.length>0?this.getValidationError(D):null,F=this.getAvailableLabels(),Y=[{id:"__create__",name:"__create_placeholder__",createdAt:"",__isCreateMarker:!0},...F];return new pA({title:"Add Label",items:Y,getLabel:(Z)=>{if("__isCreateMarker"in Z)return this.currentQuery.trim().toLowerCase();return Z.name},onAccept:(Z)=>{if("__isCreateMarker"in Z)this.widget.props.onSelect(this.currentQuery.trim().toLowerCase());else this.widget.props.onSelect(Z.name)},onDismiss:this.widget.props.onDismiss,isLoading:this.isLoading,loadingText:"Loading labels...",emptyStateText:J||"Type to create a new label",renderItem:(Z,U,X,G)=>{let V=U?$.selectionBackground:void 0,K=U?$.selectionForeground:B.foreground;if("__isCreateMarker"in Z&&Z.__isCreateMarker){let W=this.currentQuery.trim().toLowerCase();return new x0({decoration:V?{color:V}:void 0,padding:V0.symmetric(2,0),child:new d({text:new w("",void 0,[new w("Create new label: ",new T({color:K})),new w(W,new T({color:K,bold:!0}))])})})}return new x0({decoration:V?{color:V}:void 0,padding:V0.symmetric(2,0),child:new d({text:new w(Z.name,new T({color:K}))})})},filterItem:(Z,U)=>{if(this.currentQuery!==U)this.currentQuery=U,setTimeout(()=>this.setState(),0);if("__isCreateMarker"in Z&&Z.__isCreateMarker)return this.shouldShowCreateMarker(U);let G=U.trim().toLowerCase();return G.length===0||Z.name.includes(G)},sortItems:(Z,U,X)=>{let G="__isCreateMarker"in Z.item&&Z.item.__isCreateMarker,V="__isCreateMarker"in U.item&&U.item.__isCreateMarker;if(G&&!V)return-1;if(!G&&V)return 1;return U.score-Z.score}})}}class y51 extends u0{props;constructor(A){super();this.props=A}createState(){return new O16}}class eZ extends u0{props;constructor(A){super();this.props=A}createState(){return new j16}}class j16 extends R0{_spinner=new qA;animationInterval=null;initState(){super.initState(),this.animationInterval=setInterval(()=>{this._spinner.step(),this.setState(()=>{})},100)}dispose(){if(this.animationInterval)clearInterval(this.animationInterval),this.animationInterval=null;super.dispose()}build(A){let Q=O0.of(A),{colors:$,app:B}=Q,D=d1.all(new p1($.foreground,1,"solid")),J=this._spinner.toBraille(),F=new d({textAlign:"center",text:new w("",void 0,[new w(J,new T({color:B.processing})),new w(" ",void 0),new w(this.widget.props.message,new T({color:$.foreground}))])}),Y=[new R1({child:new S0({mainAxisAlignment:"center",crossAxisAlignment:"center",children:[F]})})];if(this.widget.props.onAbort)Y.push(new X0({height:2,child:new x0({padding:V0.symmetric(2,0),child:new d({text:new w("",new T({dim:!0}),[new w("Press ",new T({color:$.foreground})),new w("Esc",new T({color:$.info})),new w(" to cancel",new T({color:$.foreground}))])})})}));let Z=new x0({decoration:new R4($.background,D),child:new X0({width:60,height:7,child:new S0({mainAxisAlignment:"start",children:Y})})});if(this.widget.props.onAbort)return new k4({debugLabel:"LoadingDialog",child:new v4({debugLabel:"LoadingDialog",autofocus:!0,onKey:(U)=>{if(U.key==="Escape")return this.widget.props.onAbort?.(),"handled";return"ignored"},child:Z})});return Z}}class oG extends u0{props;constructor(A){super();this.props=A}createState(){return new R16}}class R16 extends R0{scrollController=new v6;scrollAreaKey=new Y8("message-dialog-scroll-area");viewportHeight=20;initState(){super.initState(),this.scrollController.followMode=!1,this.scrollController.addListener(()=>{this.setState()})}dispose(){this.scrollController.dispose(),super.dispose()}isWidgetMessage(A){return A instanceof l8}resolveFooterStyle(A){if(this.isWidgetMessage(A))return A.footerStyle;return"default"}getViewportHeight(){let Q=this.scrollAreaKey.currentElement?.renderObject;if(Q&&"size"in Q){let $=Q.size;if(typeof $.height==="number"&&$.height>0)return this.viewportHeight=$.height,$.height}return this.viewportHeight}build(A){let Q=O0.of(A),$=this.widget.props.message,B=(()=>{if(this.isWidgetMessage($))return{title:$.title,type:$.type};if($ instanceof Error&&$.name==="CommandCancelledError")return{title:"Cancelled",type:"info",description:$.message};if($ instanceof Error&&$.name==="CommandTimeoutError")return{title:"Timeout",type:"error",description:$.message};let U=dZ0($);return{title:U.title,type:U.type,description:U.description}})(),D=B.type==="error"?Q.app.toolError:Q.app.command,J=d1.all(new p1(Q.colors.border,1,"solid")),F=new x0({padding:V0.symmetric(1,0),child:new d({text:new w(B.title,new T({color:D,bold:!0}))})}),E=this.isWidgetMessage($)?$.widget:new d({text:new w(B.description,new T({color:Q.colors.foreground})),selectable:!0}),Y=new R1({child:new U5({child:new x0({padding:V0.symmetric(1,0),child:new r0({key:this.scrollAreaKey,crossAxisAlignment:"stretch",children:[new R1({child:new k6({controller:this.scrollController,autofocus:!0,child:E})}),new z8({controller:this.scrollController,thumbColor:Q.app.scrollbarThumb,trackColor:Q.app.scrollbarTrack,getScrollInfo:()=>{let U=this.scrollController.maxScrollExtent,X=this.scrollController.offset,G=this.getViewportHeight(),V=U+G;return{totalContentHeight:Math.max(V,0),viewportHeight:Math.max(G,1),scrollOffset:Math.max(X,0)}}})]})})})}),Z=new x0({padding:V0.symmetric(1,0),child:new d({text:(()=>{if(this.widget.props.onRetry)return new w("",void 0,[new w("Press ",new T({color:Q.colors.foreground,dim:!0})),new w("R",new T({color:Q.app.keybind})),new w(" to retry, ",new T({color:Q.colors.foreground,dim:!0})),new w("Esc",new T({color:Q.app.keybind})),new w(" to cancel",new T({color:Q.colors.foreground,dim:!0}))]);let U=this.resolveFooterStyle(this.widget.props.message);if(U==="none")return new w("",new T({color:Q.colors.foreground,dim:!0}));if(U==="help"){let X=new T({color:Q.app.keybind}),G=new T({color:Q.colors.foreground,dim:!0});return new w("",G,[new w("Press ",G),new w("Escape",X),new w(" to close • Use ",G),new w("↑↓",X),new w(" or ",G),new w("j/k",X),new w(" to scroll",G)])}return new w("Press any key to close",new T({color:Q.colors.foreground,dim:!0,italic:!0}))})()})});return new k4({debugLabel:"MessageDialog",child:new i4({fit:"expand",children:[new O1({onClick:()=>{},child:new X0}),new v4({onKey:(U)=>{if(this.widget.props.onRetry&&U.key==="r")return this.widget.props.onRetry(),"handled";if(U.key==="Escape")return this.widget.props.onDismiss(),"handled";if(!this.widget.props.onRetry)return this.widget.props.onDismiss(),"handled";return"ignored"},autofocus:!1,child:new x0({decoration:{border:J,color:Q.colors.background},padding:V0.all(1),child:new S0({mainAxisAlignment:"center",children:[F,new X0({height:1}),Y,Z]})})})]})})}}Y5();Q4();class u16 extends u0{props;constructor(A){super();this.props=A}createState(){return new P16}}class P16 extends R0{plugins=[];subscription=null;initState(){this.subscription=this.widget.props.pluginService.plugins.subscribe((A)=>{this.plugins=A,this.setState(()=>{})})}dispose(){this.subscription?.unsubscribe(),super.dispose()}getRelativePath(A){let Q=i0.file(this.widget.props.cwd),$=B1.relativePath(Q,XA(A));if($!==null&&$!==""&&$!==".."&&!$.startsWith("../"))return $;return c3(A)}statusIcon(A){let Q=d2.default(),{colors:$,app:B}=Q;switch(A){case"loading":return{icon:"◌",color:$.warning};case"active":return{icon:"✓",color:B.toolSuccess};case"error":return{icon:"✗",color:B.toolError}}}build(A){let Q=O0.of(A),{app:$}=Q;if(this.plugins.length===0)return new d({text:new w("No plugins found.",new T({dim:!0}))});let B=[],D=this.plugins.length,J=this.plugins.filter((Y)=>Y.status==="active").length,F=this.plugins.reduce((Y,Z)=>Y+Z.registeredCommands.length,0),E=this.plugins.reduce((Y,Z)=>Y+Z.registeredTools.length,0);if(B.push(new w(`${J}/${D} ${U4(D,"plugin")} active`,new T({bold:!0}))),F>0||E>0)B.push(new w(` (${F} ${U4(F,"command")}, ${E} ${U4(E,"tool")})`,new T({dim:!0})));B.push(new w(`
7082
7082
 
7083
7083
  `));for(let Y of this.plugins){let{icon:Z,color:U}=this.statusIcon(Y.status),X=this.getRelativePath(Y.uri);if(B.push(new w(`${Z} `,new T({color:U}))),B.push(new w(X,new T({bold:!0}))),B.push(new w(` ${Y.status}`,new T({dim:!0}))),B.push(new w(`
7084
7084
  `)),Y.status==="active"&&Y.registeredEvents.length>0)B.push(new w(" Events: ",new T({dim:!0}))),B.push(new w(Y.registeredEvents.join(", "),new T({color:$.link}))),B.push(new w(`
@@ -7257,7 +7257,7 @@ ${t.content||""}`:t.content||"",d0=[],b0=t.baseDir.startsWith("file://")?mV0(t.b
7257
7257
  `)}function UA6(A,Q){A.command("usage").description("Show your current Amp usage and credit balance").action(async($,B)=>{let D=B.optsWithGlobals(),J=await Q(D),F=await J.settings.get("proxy"),E=r04({settings:{url:J.ampURL,proxy:F},secrets:{getToken:(Z,U)=>J.secrets.get(Z,U)}}),Y=await e4.userDisplayBalanceInfo({},{config:E});if(!Y.ok){if(Y.error.code==="auth-required")process.stderr.write(t0.red("Error: ")+"You must be logged in to view usage. Run `amp login` first.\n"),process.exit(1);process.stderr.write(t0.red("Error: ")+Y.error.message+`
7258
7258
  `),process.exit(1)}process.stdout.write(await Re3(Y.result.displayText)+`
7259
7259
  `),process.exit(0)})}var o65=rt.join(cB,"logs","headless.log"),h91=rt.join(Rd,"device-id.json"),r65=`cli-tui-${b26(16).toString("hex")}`;Q_4();async function s65(){let A=await Promise.all(iM.map(async(Q)=>{try{return{query:Q,hasConfigs:(await Q.listConfigs()).length>0}}catch($){return u.debug("Failed to detect query-based IDE integration",{ideName:Q.ideName,error:$}),{query:Q,hasConfigs:!1}}}));for(let Q of A)if(Q.hasConfigs)return Q.query;return}function g26(){s65().then((A)=>{if(A){let Q=G20(A.ideName);if(Q)hM(Q)}})}try{if(process.platform==="win32")await Promise.resolve().then(() => b4(fx(),1))}catch{}if(process.env.AMP_PWD)try{process.chdir(process.env.AMP_PWD),delete process.env.AMP_PWD}catch(A){I$.write(`Failed to change directory to ${process.env.AMP_PWD}: ${A}
7260
- `)}function t65(A){process.emitWarning=(Q,$,B,D)=>{let J=typeof Q==="string"?Q:Q.message||String(Q),F=$||"Warning",E=!1;A.warn(J,{name:F,code:B})}}function r8(A,Q){if(A.getOptionValueSourceWithGlobals("dangerouslyAllowAll")==="cli")zJ("dangerouslyAllowAll",Q.dangerouslyAllowAll);if(A.getOptionValueSourceWithGlobals("mode")==="cli")zJ("experimental.agentMode",Q.mode);if(A.getOptionValueSourceWithGlobals("model")==="cli"&&Q.model)zJ("internal.model",QA5(Q.model))}function T26(A){let Q=A.indexOf(":");if(Q===-1)throw new n1(`Invalid model format "${A}". Expected "provider:model" (e.g., "anthropic:claude-sonnet-4-20250514").`,1);let $=A.slice(0,Q).trim(),B=A.slice(Q+1).trim();if(!$||!B)throw new n1(`Invalid model format "${A}". Both provider and model must be non-empty (e.g., "anthropic:claude-sonnet-4-20250514").`,1)}function e65(A){if(A===void 0)return;let Q=A.trim();if(i50(Q))return Q;throw new n1(`Invalid effort "${A}". Expected one of: none, minimal, low, medium, high, xhigh, max.`,1)}function AA5(A,Q){if(n5(A,Q))return;let $=sB(A)?.levels,B=$?` Allowed for ${A}: ${$.join(", ")}.`:"";throw new n1(`Reasoning effort "${Q}" is not available for ${A} mode.${B}`,1)}function QA5(A){if(!A.includes("="))return T26(A),A;let Q={};for(let $ of A.split(",")){let B=$.trim();if(!B)continue;let D=B.indexOf("=");if(D===-1)throw new n1(`Invalid mode-specific model entry "${B}". Expected "mode=provider:model" (e.g., "smart=anthropic:claude-sonnet-4-20250514").`,1);let J=B.slice(0,D).trim(),F=B.slice(D+1).trim();if(!J)throw new n1(`Missing mode name in "${B}". Expected "mode=provider:model".`,1);if(!F)throw new n1(`Missing model value for mode "${J}". Expected "${J}=provider:model".`,1);T26(F),Q[J]=F}if(Object.keys(Q).length===0)throw new n1("No valid model overrides found in --model flag value.",1);return Q}function _K0(A,Q,$){let B=Number(A);if(!Number.isInteger(B)||B<$.min)throw new CF0(`${Q} must be an integer >= ${$.min}`);if($.max!==void 0&&B>$.max)throw new CF0(`${Q} must be an integer <= ${$.max}`);return B}function $A5(A,Q){if(A.getOptionValueSourceWithGlobals("sp")==="cli"&&Q.sp)return Q.sp;if(A.getOptionValueSourceWithGlobals("systemPrompt")==="cli"&&Q.systemPrompt)return Q.systemPrompt;return}async function BA5(A){try{return await h26(A,"utf-8")}catch{return A}}async function g91(A,Q,$){let B=$A5(A,Q);if(!B)return;let D=e6($)?$.features:[],J=e6($)?$.user.email:void 0;if(!et(D,k$.HARNESS_SYSTEM_PROMPT)&&!(J&&m7(J)))throw new n1("You are not allowed to do this.",1);zJ("systemPrompt",await BA5(B))}function et(A,Q){return A?.some(($)=>$.name===Q&&$.enabled)??!1}function DA5(A){return A!=="pending"}function NW(A){if(!e6(A))return null;return{...A.user,features:A.features??[],team:A.workspace??void 0}}function JA5(A){let Q=NW(A);if(Q)return Q.id;if(gY(A))throw Error(A.error.message);throw Error("unreachable")}function FA5(A){try{let Q=new URL(A);return Q.hostname==="localhost"||Q.hostname==="127.0.0.1"}catch{return A.includes("localhost")||A.includes("127.0.0.1")}}function EA5(A){let B=FA5(A)?"Run `pnpm dev` to start the local server, then try again.":"Check your network connection or the server URL and try again.";return new n1(`Couldn't connect to the Amp server at ${A}.`,1,B)}function st(A,Q){let $=ro0(Error(A.error.message));if($.message===m9.networkOffline||$.message===m9.networkTimeout)return EA5(Q);if($.message!==m9.internalBug)return new n1($.message,1,$.suggestion);return new n1(A.error.message.replace(/^Error: /,""),1)}async function YA5(){if(process.versions.bun)return!1;try{return await jG()==="npm"}catch(A){return u.debug("Failed to detect package manager for Neo npm migration welcome",{error:A}),!1}}var v26=[{name:"notifications",long:"notifications",type:"flag",description:(A)=>`${A?"Enable":"Disable"} notification alerts (audio locally, terminal bell over SSH or with AMP_FORCE_BEL; enabled by default when not in execute 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",default:process.env.AMP_SETTINGS_FILE??dY,description:`Custom settings file path (overrides the default location ${dY})`},{name:"logLevel",long:"log-level",type:"option",description:`Set log level (${Object.keys(u).join(", ")})`},{name:"logFile",long:"log-file",type:"option",description:`Set log file location (overrides the default location ${Ta})`},{name:"format",long:"format",type:"option",description:"output using the standard or new-ui. Options: `ui`, `new-ui`",choices:["ui","new-ui"],hidden:!0,deprecated:!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:N9(),description:(A)=>A?"Enable JetBrains integration. When enabled, Amp automatically includes your open JetBrains file and text selection with every message.":"Disable JetBrains integration"},{name:"ide",long:"ide",type:"flag",default:!0,description:(A)=>A?"Enable IDE connection (default). When enabled, Amp automatically includes your open IDE's file and text selection with every message.":"Disable IDE connection"},{name:"interactive",long:"interactive",type:"flag",description:(A)=>A?"Enable interactive mode. This will enable the interactive UI.":"Disable interactive mode. This will disable the interactive UI.",hidden:!0,deprecated:!0},{name:"mcpConfig",long:"mcp-config",type:"option",description:"JSON configuration or file path for MCP servers to merge with existing settings"},{name:"mode",long:"mode",short:"m",type:"option",default:pM.SMART.key,description:`Set the agent mode (${rB({}).map((A)=>A.mode).join(", ")}) — controls the model, system prompt, and tool selection`,choices:Array.from(new Set(rB().map((A)=>A.mode))),hiddenChoices:["frontier"]},{name:"effort",long:"effort",type:"option",description:"Set reasoning effort for the new thread, when supported by the selected mode",choices:["none","minimal","low","medium","high","xhigh","max"]},{name:"takeMeBack",long:"take-me-back",type:"switch",description:"Disable thread-actors mode and use the legacy worker runtime",hidden:!0},{name:"neoOrb",long:"neo-orb",type:"switch",description:"Use the experimental Neo splash orb",hidden:!0},{name:"hideWelcome",long:"hide-welcome",type:"switch",description:"Skip the welcome experience on startup",hidden:!0},{name:"showWelcome",long:"show-welcome",type:"switch",description:"Show the welcome experience on startup",hidden:!0},{name:"observe",long:"observe",type:"option",description:"Open the Neo TUI as an observer of an existing thread (thread ID or URL)",hidden:!0},{name:"headless",long:"headless",type:"optional-option",description:"Run headless thread-actor executor (no TUI). Optionally provide a thread ID to connect to existing thread, otherwise create one.",hidden:!0},{name:"sp",long:"sp",type:"option",description:"Custom system prompt text or file path",hidden:!0},{name:"systemPrompt",long:"system-prompt",type:"option",description:"Custom system prompt text",hidden:!0},{name:"model",long:"model",type:"option",description:'Override the model. Use "provider:model" for all modes, or "mode=provider:model,mode=provider:model" for mode-specific overrides',hidden:!0}],k26=(A)=>("deprecated"in A)&&A.deprecated===!0,ZA5=(A)=>("hidden"in A)&&A.hidden===!0,UA5=(A)=>("default"in A),XA5=(A)=>("default"in A)?A.default:void 0;function TK0(A,Q){if(A.getOptionValueSourceWithGlobals("effort")!=="cli")return;let $=e65(Q.effort);if($!==void 0)AA5(Q.mode,$);return $}function GA5(A,Q){let $=Q.args[0],B=Q.commands.map((J)=>J.name());if($&&!$.includes(" ")&&$.length<30&&!/[./\\]/.test($)){let J=B.filter((E)=>$.includes(E)||E.includes($)),F="Run amp --help for a list of available commands.";if(J.length>0)F=`Did you mean: ${J.join(", ")}? Or run amp --help for all commands.`;throw new n1(m9.unknownCommand($),1,F)}}async function SK0(A){return{...A,getThreadEnvironment:Cz,getEnvironmentData:(Q,$)=>mK(Q,$),skillService:A.skillService,fileChangeTrackerStorage:new TL,generateThreadTitle:kE4,deleteThread:(Q)=>A.threadService.delete(Q),getServerStatus:()=>oF(A.configService),pluginService:A.pluginService}}function m26(A){return{toolService:A.toolService,configService:A.configService,skillService:A.skillService,getThreadEnvironment:Cz,getEnvironmentData:(Q,$)=>mK(Q,$)}}var vK0=i0.file(a65.homedir()),m91=process.env.XDG_CONFIG_HOME?i0.file(process.env.XDG_CONFIG_HOME):B1.joinPath(vK0,".config");async function i2(A,Q,$){let B=$?.deferAuth??!1,D=$?.skipToolProviders??!1;w04("0.0.1779547160-g4a1cc9");let J=D20({storage:A.settings,secretStorage:A.secrets,workspaceRoot:h0.of(i0.file(process.cwd())),defaultAmpURL:A.ampURL,homeDir:vK0,userConfigDir:m91}),F=A.secrets.get("apiKey",A.ampURL),E=oF(J),Y=null,Z=()=>{return},U=new Promise((Q0)=>{Z=Q0}),X=F.then(async(Q0)=>{if(!Q0&&!B)await U;return Y??=E.subscribe(()=>{}),k1(E.pipe(l3(DA5)))});X.catch(()=>{return}),Nt4(J);let G=await J.getLatest();u.debug("Global configuration initialized",{settingsKeys:Object.keys(G.settings)});let V=!1;{let Q0=await F;if(V=Boolean(Q0),u.info("API key lookup before login",{found:Boolean(Q0),ampURL:A.ampURL,deferAuth:B}),!Q0)if(B)u.info("No API key found, continuing startup with deferred auth");else{A3.write(`No API key found. Starting login flow...
7260
+ `)}function t65(A){process.emitWarning=(Q,$,B,D)=>{let J=typeof Q==="string"?Q:Q.message||String(Q),F=$||"Warning",E=!1;A.warn(J,{name:F,code:B})}}function r8(A,Q){if(A.getOptionValueSourceWithGlobals("dangerouslyAllowAll")==="cli")zJ("dangerouslyAllowAll",Q.dangerouslyAllowAll);if(A.getOptionValueSourceWithGlobals("mode")==="cli")zJ("experimental.agentMode",Q.mode);if(A.getOptionValueSourceWithGlobals("model")==="cli"&&Q.model)zJ("internal.model",QA5(Q.model))}function T26(A){let Q=A.indexOf(":");if(Q===-1)throw new n1(`Invalid model format "${A}". Expected "provider:model" (e.g., "anthropic:claude-sonnet-4-20250514").`,1);let $=A.slice(0,Q).trim(),B=A.slice(Q+1).trim();if(!$||!B)throw new n1(`Invalid model format "${A}". Both provider and model must be non-empty (e.g., "anthropic:claude-sonnet-4-20250514").`,1)}function e65(A){if(A===void 0)return;let Q=A.trim();if(i50(Q))return Q;throw new n1(`Invalid effort "${A}". Expected one of: none, minimal, low, medium, high, xhigh, max.`,1)}function AA5(A,Q){if(n5(A,Q))return;let $=sB(A)?.levels,B=$?` Allowed for ${A}: ${$.join(", ")}.`:"";throw new n1(`Reasoning effort "${Q}" is not available for ${A} mode.${B}`,1)}function QA5(A){if(!A.includes("="))return T26(A),A;let Q={};for(let $ of A.split(",")){let B=$.trim();if(!B)continue;let D=B.indexOf("=");if(D===-1)throw new n1(`Invalid mode-specific model entry "${B}". Expected "mode=provider:model" (e.g., "smart=anthropic:claude-sonnet-4-20250514").`,1);let J=B.slice(0,D).trim(),F=B.slice(D+1).trim();if(!J)throw new n1(`Missing mode name in "${B}". Expected "mode=provider:model".`,1);if(!F)throw new n1(`Missing model value for mode "${J}". Expected "${J}=provider:model".`,1);T26(F),Q[J]=F}if(Object.keys(Q).length===0)throw new n1("No valid model overrides found in --model flag value.",1);return Q}function _K0(A,Q,$){let B=Number(A);if(!Number.isInteger(B)||B<$.min)throw new CF0(`${Q} must be an integer >= ${$.min}`);if($.max!==void 0&&B>$.max)throw new CF0(`${Q} must be an integer <= ${$.max}`);return B}function $A5(A,Q){if(A.getOptionValueSourceWithGlobals("sp")==="cli"&&Q.sp)return Q.sp;if(A.getOptionValueSourceWithGlobals("systemPrompt")==="cli"&&Q.systemPrompt)return Q.systemPrompt;return}async function BA5(A){try{return await h26(A,"utf-8")}catch{return A}}async function g91(A,Q,$){let B=$A5(A,Q);if(!B)return;let D=e6($)?$.features:[],J=e6($)?$.user.email:void 0;if(!et(D,k$.HARNESS_SYSTEM_PROMPT)&&!(J&&m7(J)))throw new n1("You are not allowed to do this.",1);zJ("systemPrompt",await BA5(B))}function et(A,Q){return A?.some(($)=>$.name===Q&&$.enabled)??!1}function DA5(A){return A!=="pending"}function NW(A){if(!e6(A))return null;return{...A.user,features:A.features??[],team:A.workspace??void 0}}function JA5(A){let Q=NW(A);if(Q)return Q.id;if(gY(A))throw Error(A.error.message);throw Error("unreachable")}function FA5(A){try{let Q=new URL(A);return Q.hostname==="localhost"||Q.hostname==="127.0.0.1"}catch{return A.includes("localhost")||A.includes("127.0.0.1")}}function EA5(A){let B=FA5(A)?"Run `pnpm dev` to start the local server, then try again.":"Check your network connection or the server URL and try again.";return new n1(`Couldn't connect to the Amp server at ${A}.`,1,B)}function st(A,Q){let $=ro0(Error(A.error.message));if($.message===m9.networkOffline||$.message===m9.networkTimeout)return EA5(Q);if($.message!==m9.internalBug)return new n1($.message,1,$.suggestion);return new n1(A.error.message.replace(/^Error: /,""),1)}async function YA5(){if(process.versions.bun)return!1;try{return await jG()==="npm"}catch(A){return u.debug("Failed to detect package manager for Neo npm migration welcome",{error:A}),!1}}var v26=[{name:"notifications",long:"notifications",type:"flag",description:(A)=>`${A?"Enable":"Disable"} notification alerts (audio locally, terminal bell over SSH or with AMP_FORCE_BEL; enabled by default when not in execute 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",default:process.env.AMP_SETTINGS_FILE??dY,description:`Custom settings file path (overrides the default location ${dY})`},{name:"logLevel",long:"log-level",type:"option",description:`Set log level (${Object.keys(u).join(", ")})`},{name:"logFile",long:"log-file",type:"option",description:`Set log file location (overrides the default location ${Ta})`},{name:"format",long:"format",type:"option",description:"output using the standard or new-ui. Options: `ui`, `new-ui`",choices:["ui","new-ui"],hidden:!0,deprecated:!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:N9(),description:(A)=>A?"Enable JetBrains integration. When enabled, Amp automatically includes your open JetBrains file and text selection with every message.":"Disable JetBrains integration"},{name:"ide",long:"ide",type:"flag",default:!0,description:(A)=>A?"Enable IDE connection (default). When enabled, Amp automatically includes your open IDE's file and text selection with every message.":"Disable IDE connection"},{name:"interactive",long:"interactive",type:"flag",description:(A)=>A?"Enable interactive mode. This will enable the interactive UI.":"Disable interactive mode. This will disable the interactive UI.",hidden:!0,deprecated:!0},{name:"mcpConfig",long:"mcp-config",type:"option",description:"JSON configuration or file path for MCP servers to merge with existing settings"},{name:"mode",long:"mode",short:"m",type:"option",default:pM.SMART.key,description:`Set the agent mode (${rB({}).map((A)=>A.mode).join(", ")}) — controls the model, system prompt, and tool selection`,choices:Array.from(new Set(rB().map((A)=>A.mode))),hiddenChoices:["frontier"]},{name:"effort",long:"effort",type:"option",description:"Set reasoning effort for the new thread, when supported by the selected mode",choices:["none","minimal","low","medium","high","xhigh","max"]},{name:"takeMeBack",long:"take-me-back",type:"switch",description:"Disable thread-actors mode and use the legacy worker runtime",hidden:!0},{name:"neoOrb",long:"neo-orb",type:"switch",description:"Use the experimental Neo splash orb",hidden:!0},{name:"hideWelcome",long:"hide-welcome",type:"switch",description:"Skip the welcome experience on startup",hidden:!0},{name:"showWelcome",long:"show-welcome",type:"switch",description:"Show the welcome experience on startup",hidden:!0},{name:"observe",long:"observe",type:"option",description:"Open the Neo TUI as an observer of an existing thread (thread ID or URL)",hidden:!0},{name:"headless",long:"headless",type:"optional-option",description:"Run headless thread-actor executor (no TUI). Optionally provide a thread ID to connect to existing thread, otherwise create one.",hidden:!0},{name:"sp",long:"sp",type:"option",description:"Custom system prompt text or file path",hidden:!0},{name:"systemPrompt",long:"system-prompt",type:"option",description:"Custom system prompt text",hidden:!0},{name:"model",long:"model",type:"option",description:'Override the model. Use "provider:model" for all modes, or "mode=provider:model,mode=provider:model" for mode-specific overrides',hidden:!0}],k26=(A)=>("deprecated"in A)&&A.deprecated===!0,ZA5=(A)=>("hidden"in A)&&A.hidden===!0,UA5=(A)=>("default"in A),XA5=(A)=>("default"in A)?A.default:void 0;function TK0(A,Q){if(A.getOptionValueSourceWithGlobals("effort")!=="cli")return;let $=e65(Q.effort);if($!==void 0)AA5(Q.mode,$);return $}function GA5(A,Q){let $=Q.args[0],B=Q.commands.map((J)=>J.name());if($&&!$.includes(" ")&&$.length<30&&!/[./\\]/.test($)){let J=B.filter((E)=>$.includes(E)||E.includes($)),F="Run amp --help for a list of available commands.";if(J.length>0)F=`Did you mean: ${J.join(", ")}? Or run amp --help for all commands.`;throw new n1(m9.unknownCommand($),1,F)}}async function SK0(A){return{...A,getThreadEnvironment:Cz,getEnvironmentData:(Q,$)=>mK(Q,$),skillService:A.skillService,fileChangeTrackerStorage:new TL,generateThreadTitle:kE4,deleteThread:(Q)=>A.threadService.delete(Q),getServerStatus:()=>oF(A.configService),pluginService:A.pluginService}}function m26(A){return{toolService:A.toolService,configService:A.configService,skillService:A.skillService,getThreadEnvironment:Cz,getEnvironmentData:(Q,$)=>mK(Q,$)}}var vK0=i0.file(a65.homedir()),m91=process.env.XDG_CONFIG_HOME?i0.file(process.env.XDG_CONFIG_HOME):B1.joinPath(vK0,".config");async function i2(A,Q,$){let B=$?.deferAuth??!1,D=$?.skipToolProviders??!1;w04("0.0.1779567279-g6cae00");let J=D20({storage:A.settings,secretStorage:A.secrets,workspaceRoot:h0.of(i0.file(process.cwd())),defaultAmpURL:A.ampURL,homeDir:vK0,userConfigDir:m91}),F=A.secrets.get("apiKey",A.ampURL),E=oF(J),Y=null,Z=()=>{return},U=new Promise((Q0)=>{Z=Q0}),X=F.then(async(Q0)=>{if(!Q0&&!B)await U;return Y??=E.subscribe(()=>{}),k1(E.pipe(l3(DA5)))});X.catch(()=>{return}),Nt4(J);let G=await J.getLatest();u.debug("Global configuration initialized",{settingsKeys:Object.keys(G.settings)});let V=!1;{let Q0=await F;if(V=Boolean(Q0),u.info("API key lookup before login",{found:Boolean(Q0),ampURL:A.ampURL,deferAuth:B}),!Q0)if(B)u.info("No API key found, continuing startup with deferred auth");else{A3.write(`No API key found. Starting login flow...
7261
7261
  `);let M0=await VA5(A),n=await A.secrets.get("apiKey",A.ampURL);if(u.info("Login flow completed",{success:M0,storedKeyPresent:Boolean(n),ampURL:A.ampURL}),!M0)await Nz(),process.exit(1);V=!0,Z()}}{let Q0=await J.getLatest(),M0=Q0.settings.url,n=Q0.secrets.isSet?.[M0];u.info("Config secrets state after login",{configURL:M0,apiKeySet:n?.apiKey??!1})}let K=B?"pending":await X;if(!B)u.info("Server status resolved",{status:"ready",isAuthenticated:e6(K),isError:gY(K),errorMessage:gY(K)?K.error.message:void 0});let z=X.then((Q0)=>JA5(Q0));z.catch(()=>{return});let W=!Q.takeMeBack&&e6(K)&&et(K.features,k$.THREAD_ACTORS_TUI),I=!1;if(process.env.AMP_DISABLE_PLUGINS==="1")u.warn("Ignoring AMP_DISABLE_PLUGINS outside development");let H=I?"off":W?"all":process.env.PLUGINS??"permissions",{toolService:q,dispose:N}=BR4({configService:J}),C=new Map,O=()=>C.clear(),L=new qx0(J,A.settings.getWorkspaceRootPath()),j=YJ4({configService:J}),k=l74({configService:J,trustStore:L,skillMCPServers:j.skillMCPServers,uploadImageAttachments:W,createOAuthProvider:async(Q0,M0,n)=>{let a=`${Q0}:${M0}`,t=C.get(a);if(t)return u.debug("Reusing existing OAuth provider for server",{serverName:Q0,serverUrl:M0}),t;u.debug("Creating OAuth provider for server",{serverName:Q0,serverUrl:M0});let e=(async()=>{let F0=new tM(A.secrets),J0=await F0.getClientInfo(Q0,M0),C0=n?.scopes??J0?.scopes,w0=Cf4();u.info("OAuth headless mode check",{useHeadless:w0,executeMode:A.executeMode,envVar:process.env.AMP_HEADLESS_OAUTH,isTTY:A3.isTTY});let _0;if(w0)_0=A.executeMode?Nf4():qf4(Q0);let U0=new Pk0({storage:F0,serverName:Q0,serverUrl:M0,clientId:n?.clientId??J0?.clientId,clientSecret:n?.clientSecret??J0?.clientSecret,authUrl:n?.authUrl??J0?.authUrl,tokenUrl:n?.tokenUrl??J0?.tokenUrl,scopes:C0,headlessAuthHandler:_0});return u.debug("OAuth provider created",{serverName:Q0,serverUrl:M0,hasManualClientId:!!(n?.clientId??J0?.clientId),willUseDCR:!(n?.clientId??J0?.clientId),scopes:C0,headlessMode:w0,executeMode:A.executeMode}),U0})();return C.set(a,e),e}}),_=mn0({configService:J,spawn:gJ0}),S=Q.headless?is4():void 0,h=S??new tX0({configService:J}),b=h instanceof tX0?h:void 0;if(b)b.pluginExecutorKind="local";let v=new a1(null),y=null,c=W&&!I?[...os4(G.settings)?[{name:"permissions",entryPoint:j31}]:[],{name:"thread-visibility",entryPoint:ts4(J,()=>X.then(NW),()=>y,(Q0)=>{y=Q0}),alwaysLoad:!0}]:[],p=Sx0({configService:J,platform:h,loadGlobalPlugins:Kt0(J),pluginFilter:H,activeThread$:v,internalPlugins:c}),g=bQ4(p),i=[k,_,g],o;if(D)o=new Map;else if(A.executeMode){let Q0=await iL4({toolService:q,providers:i,initialTimeout:15000});o=Q0.registrations;for(let[M0,n]of Q0.initErrors)u.warn(`${M0} provider initialization slow or failed:`,n)}else o=dn0({toolService:q,providers:i});if(Q.jetbrains)hM("JetBrains");else if(Q.ide&&if4())hM("VS Code");else if(Q.ide&&nf4())hM("Neovim");else if(Q.ide&&(!W||A.executeMode||Q.takeMeBack))g26();if(A.executeMode)M04(!0);let A0,W0=o5.status.pipe(N1((Q0)=>Boolean(Q0.connected&&Q0.authenticated&&Q0.ideName&&O14(Q0.ideName))),T4()).subscribe((Q0)=>{if(Q0){if(!A0)A0=q.registerTool(lL4)}else A0?.dispose(),A0=void 0}),Y0;if(!A.executeMode){let Q0=await A.settings.get("fuzzy.alwaysIncludePaths")??[];Y0=new AY0(process.cwd(),{alwaysIncludePaths:Q0},!0)}else Y0=new class extends AY0{async start(){}async query(){return[]}async queryCompletions(){return[]}getStats(){return{state:"unstarted",stats:[]}}dispose(){}};let I0=new yg0(gl(J,{usesThreadActors:!1}),{maxThreads:200});u.info("Starting Amp background services");let $0=new v31,j0={configService:J,toolService:q,mcpService:k,skillService:j,toolboxService:_,trustStore:L,threadService:I0,secretStorage:A.secrets,settingsStorage:A.settings,fuzzyServer:Y0,terminal:$0,pluginService:p,pluginPlatform:b,headlessPluginPlatform:S,activeThread$:v,serverStatus:K,serverStatusPromise:X,viewerUserIDPromise:z,hasAPIKeyAtStartup:V,consumeDraftNewThreadVisibility:()=>{let Q0=y;return y=null,Q0}};return{...j0,async asyncDispose(){if(j0.mcpService.hasAuthenticatingClients())u.info("Waiting for OAuth authentication to complete before exit..."),await j0.mcpService.waitForAuthentication();for(let Q0 of o.values())Q0.dispose();await j0.mcpService.dispose(),O(),await j0.threadService.asyncDispose(),j0.configService.unsubscribe(),Y?.unsubscribe(),N(),j0.fuzzyServer.dispose(),j0.settingsStorage[Symbol.dispose](),W0.unsubscribe(),A0?.dispose(),await j0.pluginService.dispose()}}}async function VA5(A){if(!A.executeMode){if(!await lY0("Would you like to log in to Amp? [(y)es, (n)o]: "))return A3.write(`Login cancelled. Run the command again to retry.
7262
7262
  `),!1}return await d26(A)}async function d26(A){let Q=b26(32).toString("hex"),$=await xf(A.ampURL,Q),B=new AbortController;try{await bY($,B.signal)}catch(J){u.error("Error opening browser",{error:J})}let D=await xf(A.ampURL,Q,!1);A3.write(`If your browser does not open automatically, visit:
7263
7263
 
@@ -7265,7 +7265,7 @@ ${t0.blue.bold(D)}
7265
7265
 
7266
7266
  `);try{return await Yb4(A.ampURL,Q,A.secrets,B),A3.write("\nLogin successful! Run `amp` to get started.\n"),!0}catch(J){return u.error("Login failed",{error:J}),I$.write(`
7267
7267
  Login failed: ${J instanceof Error?J.message:String(J)}
7268
- `),!1}}async function KA5(A,Q,$){let B=await Q.get("apiKey",A);if(!B)throw new n1("No Amp API key found. Run `amp login` first.",1);let D=l65("curl",["-H",`Authorization: Bearer ${B}`,...$],{stdio:"inherit"});process.exitCode=await new Promise((J,F)=>{D.on("error",F),D.on("close",(E)=>J(E??1))})}function zA5(A){let Q=new oq().name("amp").description("AI-powered coding assistant").option("--visibility <visibility>","Set thread visibility (private, public, workspace, group)").configureOutput({writeErr:()=>{}});Q.exitOverride((W)=>{if(W.code==="commander.help"||W.code==="commander.version"||W.exitCode===0)$j(),process.exit(0);let I=W.originalError??W;M_4(I)}),th4(Q,{version:"0.0.1779547160-g4a1cc9",buildTimestamp:"2026-05-23T14:43:31.718Z",buildType:"release"}),Q.addHelpText("after",pf4()),Q.configureHelp({formatHelp:cf4}),Q.command("logout").description("Log out by removing stored API key").action(async(W,I)=>{let H=I.optsWithGlobals(),q=await m3(H);await OA5(q)}),Q.command("login").description("Log in to Amp").addHelpText("after","If AMP_URL is set during login, it will be persisted to global settings for future CLI invocations, though AMP_URL will continue to take precedence.").action(async(W,I)=>{let H=I.optsWithGlobals(),q=await m3(H);await LA5(q,await u31(H,q.settings))}),N_4(Q,m3);let B=Q.command("internal",{hidden:!0}).description("Internal commands").command("curl [args...]").description("Internal: run curl with the current Amp API key as a bearer token").allowUnknownOption(!0).allowExcessArguments(!0).action(async(...W)=>{let I=W.find((C)=>typeof C==="object"&&C!==null&&typeof C.optsWithGlobals==="function")??B,H=W.filter((C)=>C!==I).flatMap((C)=>Array.isArray(C)?C:typeof C==="string"?[C]:[]),q=I.optsWithGlobals(),N=await m3(q);await KA5(N.ampURL,N.secrets,H),process.exit(process.exitCode??0)});Q.command("git-credential-helper [action]",{hidden:!0}).summary("Git credential helper for GitHub").description("Internal: implements the git credential helper protocol. Used inside sandboxes to authenticate git operations with GitHub.").action(async(W,I,H)=>{let q=H.optsWithGlobals(),N=await m3(q);await Xf4(W??"get",N.ampURL,N.secrets),process.exit(process.exitCode??0)}),Q.command("sign-commit",{hidden:!0}).summary("Git commit signing helper").description("Internal: implements the gpg signing interface for git commit signing. Used inside sandboxes as gpg.program.").allowUnknownOption().action(async(W,I)=>{let H=I.optsWithGlobals(),q=await m3(H);await Gf4(q.ampURL,q.secrets),process.exit(process.exitCode??0)}),Q.command("keyboard-tester",{hidden:!0}).summary("Keyboard input tester").description("Internal: stream parsed terminal input events as JSONL.").option("--raw","Log raw incoming terminal bytes before parsing").action(async(W)=>{await Ex4({raw:W.raw===!0}),process.exit(process.exitCode??0)}),Q.command("live-sync [threadIDOrURL]",{hidden:!0}).summary("Mirror live DTW thread changes into the current checkout").description("Experimental: watch a v2 thread URL or ID and mirror its live working-tree changes into your local checkout, or apply the current snapshot once and exit.").addHelpText("after",["","Examples:"," amp live-sync T-5928a90d-d53b-488f-a829-4e36442142ee"," amp live-sync --apply T-5928a90d-d53b-488f-a829-4e36442142ee"," amp live-sync https://ampcode.com/threads/T-5928a90d-d53b-488f-a829-4e36442142ee"].join(`
7268
+ `),!1}}async function KA5(A,Q,$){let B=await Q.get("apiKey",A);if(!B)throw new n1("No Amp API key found. Run `amp login` first.",1);let D=l65("curl",["-H",`Authorization: Bearer ${B}`,...$],{stdio:"inherit"});process.exitCode=await new Promise((J,F)=>{D.on("error",F),D.on("close",(E)=>J(E??1))})}function zA5(A){let Q=new oq().name("amp").description("AI-powered coding assistant").option("--visibility <visibility>","Set thread visibility (private, public, workspace, group)").configureOutput({writeErr:()=>{}});Q.exitOverride((W)=>{if(W.code==="commander.help"||W.code==="commander.version"||W.exitCode===0)$j(),process.exit(0);let I=W.originalError??W;M_4(I)}),th4(Q,{version:"0.0.1779567279-g6cae00",buildTimestamp:"2026-05-23T20:19:06.020Z",buildType:"release"}),Q.addHelpText("after",pf4()),Q.configureHelp({formatHelp:cf4}),Q.command("logout").description("Log out by removing stored API key").action(async(W,I)=>{let H=I.optsWithGlobals(),q=await m3(H);await OA5(q)}),Q.command("login").description("Log in to Amp").addHelpText("after","If AMP_URL is set during login, it will be persisted to global settings for future CLI invocations, though AMP_URL will continue to take precedence.").action(async(W,I)=>{let H=I.optsWithGlobals(),q=await m3(H);await LA5(q,await u31(H,q.settings))}),N_4(Q,m3);let B=Q.command("internal",{hidden:!0}).description("Internal commands").command("curl [args...]").description("Internal: run curl with the current Amp API key as a bearer token").allowUnknownOption(!0).allowExcessArguments(!0).action(async(...W)=>{let I=W.find((C)=>typeof C==="object"&&C!==null&&typeof C.optsWithGlobals==="function")??B,H=W.filter((C)=>C!==I).flatMap((C)=>Array.isArray(C)?C:typeof C==="string"?[C]:[]),q=I.optsWithGlobals(),N=await m3(q);await KA5(N.ampURL,N.secrets,H),process.exit(process.exitCode??0)});Q.command("git-credential-helper [action]",{hidden:!0}).summary("Git credential helper for GitHub").description("Internal: implements the git credential helper protocol. Used inside sandboxes to authenticate git operations with GitHub.").action(async(W,I,H)=>{let q=H.optsWithGlobals(),N=await m3(q);await Xf4(W??"get",N.ampURL,N.secrets),process.exit(process.exitCode??0)}),Q.command("sign-commit",{hidden:!0}).summary("Git commit signing helper").description("Internal: implements the gpg signing interface for git commit signing. Used inside sandboxes as gpg.program.").allowUnknownOption().action(async(W,I)=>{let H=I.optsWithGlobals(),q=await m3(H);await Gf4(q.ampURL,q.secrets),process.exit(process.exitCode??0)}),Q.command("keyboard-tester",{hidden:!0}).summary("Keyboard input tester").description("Internal: stream parsed terminal input events as JSONL.").option("--raw","Log raw incoming terminal bytes before parsing").action(async(W)=>{await Ex4({raw:W.raw===!0}),process.exit(process.exitCode??0)}),Q.command("live-sync [threadIDOrURL]",{hidden:!0}).summary("Mirror live DTW thread changes into the current checkout").description("Experimental: watch a v2 thread URL or ID and mirror its live working-tree changes into your local checkout, or apply the current snapshot once and exit.").addHelpText("after",["","Examples:"," amp live-sync T-5928a90d-d53b-488f-a829-4e36442142ee"," amp live-sync --apply T-5928a90d-d53b-488f-a829-4e36442142ee"," amp live-sync https://ampcode.com/threads/T-5928a90d-d53b-488f-a829-4e36442142ee"].join(`
7269
7269
  `)).option("--apply <threadIDOrURL>","Apply the current DTW thread snapshot once and exit").option("--checkout","Automatically check out the thread commit when it differs").option("--skip-checkout","Skip the startup checkout prompt when commits differ").action(async(W,I,H)=>{if(W&&I.apply)throw new n1("Choose either a positional thread ID/URL or --apply <thread-id>, not both.",1);let q=I.apply??W;if(!q||q.trim().length===0)A3.write(`live-sync watches a v2 thread and mirrors its live changes locally. Use --apply <thread-id> to materialize the current snapshot once and exit.
7270
7270
 
7271
7271
  `),H.outputHelp(),process.exit(0);let N=v8(q)??BB(q),C=H.optsWithGlobals(),O=await m3(C);r8(H,C);let L=await i2(O,C),j=!1;try{if(I.checkout&&I.skipCheckout)throw new n1("Choose either --checkout or --skip-checkout, not both.",1);if(gY(L.serverStatus))throw st(L.serverStatus,O.ampURL);let k=e6(L.serverStatus)?L.serverStatus.features:void 0;if(!et(k,k$.V2))throw new n1("live-sync is not enabled for your user",1);await sx4({ampURL:O.ampURL,threadId:N,configService:L.configService,threadService:L.threadService,apiKey:process.env.AMP_API_KEY,applyOnce:typeof I.apply==="string",checkoutMode:I.checkout?"always":I.skipCheckout?"never":"prompt",promptForYesNo:lY0}),j=!0}finally{if(await L.asyncDispose(),j)process.exit(0)}});let D=async(W,I,H)=>{D20({storage:I.settings,secretStorage:I.secrets,workspaceRoot:h0.of(i0.file(process.cwd())),defaultAmpURL:I.ampURL,homeDir:vK0,userConfigDir:m91});let q={...I,executeMode:!1};await kK0(q,{...W,openThreadSwitcher:!0},H,A)},J=Q.command("threads").alias("t").alias("thread").summary("Manage threads").description("Thread management commands. When no subcommand is provided, defaults to listing threads.").option("--include-archived","Include archived threads in the list").option("--limit <number>","Maximum number of threads to return",(W)=>_K0(W,"--limit",{min:1,max:500})).option("--offset <number>","Number of threads to skip",(W)=>_K0(W,"--offset",{min:0})).action(async(W,I)=>{let H=I.optsWithGlobals(),q=await m3(H);await x26(H,q,I)});J.command("new").alias("n").summary("Create a new thread").description("Create a new thread and print its ID. The thread will be empty. You can set the visibility using the --visibility option.").option("--visibility <visibility>","Set thread visibility (private, public, workspace, group)").action(async(W,I)=>{let H=I.optsWithGlobals(),q=await m3(H);await bA5(H,q,I)}),J.command("continue [threadIDOrURLs...]").alias("c").summary("Continue an existing thread").description("Continue an existing thread by resuming the conversation. By default, interactive mode shows a picker. Use --last to continue the last thread for the current mode directly. When multiple thread are given, all are resumed and the first is shown in the foreground.").option("--last","Continue the last thread for the current mode directly").option("--pick","Pick a thread interactively from a list (DEPRECATED: picker is now the default)").action(async(W,I,H)=>{let q=H.optsWithGlobals(),N=await m3(q),C=Array.isArray(W)?W:[];if(I.pick)I$.write(`${t0.yellow("Warning:")} The --pick flag is deprecated. The picker is now shown by default.
@@ -7298,8 +7298,8 @@ ${O}
7298
7298
  `))}),I.args.length>0)GA5(q,I);await kK0(q,H,I,A)}),Cy4(Q),Q}async function tt(A,Q){await GQ(($)=>mf($,A,Q))}async function S26(A,Q,$){let B=Date.now(),[D,J]=await Promise.all([e4.getThreadLinkInfo({thread:A},{config:Q}),$]);if(u.getChild("fetchAndStartThread").info(`Ownership check in ${Date.now()-B}ms`),D.ok){let F=D.result.creatorUserID;if(F&&F!==J&&!process.env.AMP_RESUME_OTHER_USER_THREADS_INSECURE)throw new n1(`Cannot resume thread created by another user.
7299
7299
 
7300
7300
  This thread belongs to a different user and cannot be continued for security reasons. Set AMP_RESUME_OTHER_USER_THREADS_INSECURE=1 to bypass this check.`)}}async function p26(A){if(A.streamJsonInput)return{userInput:"",stdinInput:null};if(typeof A.execute==="string"){let Q=(await BG0()).trimEnd();return{userInput:A.execute,stdinInput:Q||null}}return{userInput:(await BG0()).trimEnd(),stdinInput:null}}function c26(A,Q,$){if(A.streamJson&&!Q)throw new n1("The --stream-json flag requires --execute mode",1,'Use: amp --execute "your message" --stream-json');if(A.streamJsonInput&&!Q)throw new n1("The --stream-json-input flag requires --execute mode",1,"Use: amp --execute --stream-json --stream-json-input");if(A.streamJsonInput&&!A.streamJson)throw new n1("The --stream-json-input flag requires --stream-json",1,"Use: amp --execute --stream-json --stream-json-input");if(A.stats&&A.streamJson)throw new n1("The --stats and --stream-json flags are mutually exclusive output formats",1,'Use one or the other: amp --execute "your message" --stats OR amp --execute "your message" --stream-json');if(A.stats&&!Q)throw new n1("The --stats flag requires --execute mode",1,'Use: amp --execute "your message" --stats');if(A.archive&&!Q)throw new n1("The --archive flag requires --execute mode",1,'Use: amp --execute "your message" --archive');if(A.streamJsonInput&&typeof A.execute==="string"&&A.execute.trim()!=="")throw new n1("Do not provide a message argument when using --stream-json-input",1,`Supply messages via stdin JSONL instead: echo '{"type":"user","message":{"role":"user","content":[{"type":"text","text":"your message"},{"type":"image","source":{"type":"base64","media_type":"image/png","data":"..."}}]}}' | amp --execute --stream-json --stream-json-input`);if(Q&&$===""&&!A.streamJsonInput&&!A.headless)throw new n1("User message must be provided through stdin or as argument when using execute mode",1,`Either pass a message as an argument: amp --execute "your message"
7301
- Or pipe via stdin: echo "your message" | amp --execute`)}function WA5(){s64([Q20.parse({tool:"*",action:"allow"})]),M64({bypass:!0})}function IA5(A){if(A.threadId&&!R9(A.threadId))delete A.threadId}async function kK0(A,Q,$,B){if(Q.headless)return HA5(A,Q,$);let D=await i2(A,Q),J=await D.serverStatusPromise,F=e6(J)&&et(J.features,k$.THREAD_ACTORS_TUI),E=F&&!Q.takeMeBack;if(Q.showWelcome&&Q.hideWelcome)throw await D.asyncDispose(),new n1("Cannot use --show-welcome and --hide-welcome together",1);if(Q.showWelcome&&!F)throw await D.asyncDispose(),new n1("--show-welcome is only available with the new Amp CLI feature flag",1);if(E){let Y=!A.executeMode&&await YA5();return WA5(),IA5(Q),qA5(A,Q,$,D,{showNpmMigrationWelcome:Y})}else{if(Q.threadId&&R9(Q.threadId)){let Y=await e4.getThreadLinkInfo({thread:Q.threadId},{config:D.configService}).catch(()=>null);if(Y?.ok&&Y.result.usesThreadActors)throw await D.asyncDispose(),new n1(`Thread ${Q.threadId} was created with the Neo TUI and cannot be continued in the legacy CLI.`,1,"Re-run without --take-me-back to continue this thread.")}return NA5(A,Q,$,B,{dependencies:D})}}async function HA5(A,Q,$){let B=(I,H)=>{let q=Number(process.hrtime.bigint()-H)/1e6,N=go0();u.info("Startup phase",{phase:I,phaseMs:Math.round(q),sinceMainMs:N===null?void 0:Math.round(N)})};r8($,Q);let D=process.hrtime.bigint(),J=await i2(A,Q);B("runMainThread:createThreadDependencies",D);let{serverStatus:F}=J;if(gY(F))throw st(F,A.ampURL);let E=e6(F)?F:null,Y=E?.user.email;await g91($,Q,F);let Z=NW(F),U=ly(Q,Z);if(U instanceof Error)j3(U.message);if(E&&!dM(Q.mode,Y))throw new n1(`Agent mode '${Q.mode}' is only available for Amp employees`,1);if(process.env.AMP_EXECUTOR!=="1"&&(!Y||!m7(Y)))throw new n1("Headless executor mode is only available for Amp employees",1);AE0();let G=await J.secretStorage.get("apiKey",A.ampURL);if(!G)throw new n1("API key required for headless mode. Please run `amp login` first.",1);let V=typeof Q.headless==="string"&&Q.headless!=="true"?Q.headless:void 0;if(V&&!R9(V))throw new n1(`Invalid thread ID: ${V}`,1);let K=V?void 0:await yA5({dependencies:J,apiKey:G,visibility:U??void 0}),z=V??K?.threadId;if(!z)throw new n1("Failed to resolve headless thread ID",1);let W=await Of4(z);if(W.status==="already-running")await J.asyncDispose(),await Nz(),process.exit(0);try{await Wf4({ampURL:A.ampURL,apiKey:G,workspaceRoot:process.cwd(),threadId:z,ownerUserId:K?.ownerUserId,threadVersion:K?.threadVersion,agentMode:K?.agentMode,initialToolDiscovery:Promise.all([J.mcpService.initialized,J.toolboxService.initialized,J.pluginService.initialized]).then(()=>{return}),configService:J.configService,mcpService:J.mcpService,toolService:J.toolService,skillService:J.skillService,pluginService:J.pluginService,pluginPlatform:J.headlessPluginPlatform})}finally{await W.release(),await J.asyncDispose()}await Nz(),process.exit(0)}async function qA5(A,Q,$,B,D){let{userInput:J,stdinInput:F}=await p26(Q),E=!!Q.streamJson||!!Q.streamJsonThinking;c26({...Q,streamJson:E},A.executeMode,J),r8($,Q),E_4(),AE0();let Y=Q.threadId,Z=Q.resumeThreadIDs??(Y?[Y]:[]),U=Q.observe?v8(Q.observe)??BB(Q.observe):void 0,X=await B.serverStatusPromise;if(gY(X))throw st(X,A.ampURL);let G=NW(X),V=ly(Q,G);if(V instanceof Error)j3(V.message);let K=null,z=async()=>{let H=B.consumeDraftNewThreadVisibility();if(H!==null)return H;return K??=(async()=>{let q=await va(A.settings,process.cwd(),G,V);if(q instanceof Error)j3(q.message);return q})(),K},W=await B.secretStorage.get("apiKey",A.ampURL);if(!W)throw new n1("API key required. Please run `amp login` first.",1);let I=e6(X)&&m7(X.user.email);if(A.executeMode){if(Z.length>1)throw new n1("Execute mode can only resume one thread.",1);Ce0(B.mcpService,A.settings);try{let H=TK0($,Q),q=await bz(),N=Y?H:nY0({agentMode:Q.mode,explicitEffort:H,sessionState:q}),C=Y?void 0:aY0(await bf(B.configService),{agentMode:Q.mode,explicitEffort:H,sessionState:q}),O=Y?void 0:await z(),L=await tS4({apiKey:W,ampURL:A.ampURL,workspaceRoot:process.cwd(),dependencies:B,userInput:J,stdinInput:F,stats:!!Q.stats,streamJson:E,streamJsonThinking:!!Q.streamJsonThinking,streamJsonInput:!!Q.streamJsonInput,stdin:process.stdin,agentMode:Q.mode,reasoningEffort:N,labels:Q.label,initialThreadID:Y,initialThreadMeta:O,initialSettings:C});if(await tt(L,"execute"),Q.archive)await B.threadService.archive(L,!0)}finally{await B.asyncDispose()}await Nz(),process.exit(0)}else{let H=TK0($,Q),q=D.showNpmMigrationWelcome?"npm-migration":"intro",N=KY0("0.0.1779547160-g4a1cc9",B.settingsStorage,{startDelayMs:3000}),C=new iY0(B.mcpService,A.settings.getWorkspaceRootPath()),O=gl(B.configService),L=new Vt(B.fuzzyServer),j=process.cwd();await bs4({ampURL:A.ampURL,apiKey:W,rivetEndpoint:process.env.RIVET_PUBLIC_ENDPOINT??aJ(A.ampURL),configService:B.configService,toolService:B.toolService,pluginPlatform:B.pluginPlatform,pluginService:B.pluginService,skillService:B.skillService,mcpService:B.mcpService,readFileSystemDirectory:({uri:k})=>Nf({workspaceRoot:j},k),completionBuilder:L,updateService:N,workspaceRoot:j,listThreads:()=>O.listThreads(),getThreadFromServer:(k)=>O.getThread(k),toolboxes:B.toolboxService.toolboxes,isInternalUser:I,settingsFilePath:B.settingsStorage.getSettingsFilePath(),workspaceSettingsFilePath:B.settingsStorage.getWorkspaceSettingsPath(),mcpTrustHandler:C,setActiveThreadID:(k)=>B.activeThread$.next(k),dispose:()=>{return C.dispose(),N.dispose(),B.asyncDispose()}},{initialThreadIDs:U?[U]:Z,initialUserInput:J||void 0,getDefaultNewThreadVisibility:z,onFirstFrame:Q.ide?g26:void 0,openThreadPickerOnStart:Q.openThreadSwitcher,observerOnly:!!U,splashOrbVisualStyle:"neo",hideNeoWelcome:!!Q.hideWelcome,showNeoWelcome:Q.showWelcome,neoWelcomeVariant:q,initialAgentMode:$.getOptionValueSourceWithGlobals("mode")==="cli"?Q.mode:void 0,initialReasoningEffort:H}),process.exit(0)}}async function NA5(A,Q,$,B,D){let J=process.hrtime.bigint(),F=($0,j0)=>{let Q0=Number(process.hrtime.bigint()-j0)/1e6,M0=go0();u.info("Startup phase",{phase:$0,phaseMs:Math.round(Q0),sinceMainMs:M0===null?void 0:Math.round(M0)})},{userInput:E,stdinInput:Y}=await p26(Q),Z=!!Q.streamJson||!!Q.streamJsonThinking;c26({...Q,streamJson:Z},A.executeMode,E),r8($,Q);let U=process.hrtime.bigint(),X=D?.dependencies??await i2(A,Q),G=X.hasAPIKeyAtStartup,V=X.serverStatus==="pending";if(u.info("Interactive auth startup mode",{deferInteractiveAuth:V,hasAPIKeyAtStartup:G,executeMode:A.executeMode,headless:Boolean(Q.headless)}),!D)F("runMainThread:createThreadDependencies",U);let{serverStatus:K}=X;if(!V&&gY(K))throw st(K,A.ampURL);let z=e6(K)?K:null,W=z?.user.email,I=!!(W&&m7(W));if(I)AE0();if(!V)await g91($,Q,K);let H=NW(K),q=H?.features??[],N=H?.team??null,C=ly(Q,H);if(C instanceof Error)j3(C.message);if(z&&!dM(Q.mode,W))throw new n1(`Agent mode '${Q.mode}' is only available for Amp employees`,1);let O=Q.threadId&&R9(Q.threadId)?Q.threadId:void 0;U=process.hrtime.bigint();let L=await SK0(X);F("runMainThread:createWorkerDeps",U);let j=A.executeMode?void 0:async($0)=>tt($0,"interactive"),k={threadService:X.threadService,workerDeps:L,createThread:async($0)=>{let j0=V?await X.serverStatusPromise:K,Q0=await va(A.settings,process.cwd(),NW(j0),C);if(Q0 instanceof Error)j3(Q0.message);return G81(L,{threadMeta:Q0,agentMode:$0??Q.mode,onFirstAssistantMessage:j})},validateThreadOwnership:async($0,j0)=>{if(j0?.nonBlockingOwnershipCheck){S26($0,X.configService,X.viewerUserIDPromise).catch((Q0)=>{if(Q0 instanceof n1){if(j0.onOwnershipError){j0.onOwnershipError(Q0,$0);return}wz(Q0,$0);return}u.warn("Failed to validate thread ownership in CLI, allowing to open",{error:Q0})});return}try{await S26($0,X.configService,X.viewerUserIDPromise)}catch(Q0){if(Q0 instanceof n1)throw Q0;u.warn("Failed to validate thread ownership in CLI, allowing to open",{error:Q0})}},switchThreadVisibility:C,switchThreadAgentMode:Q.mode,onFirstAssistantMessage:j,handleError:wz},_=async()=>{try{return FA6(k,Q.threadId,{nonBlockingOwnershipCheck:Q.nonBlockingThreadOwnershipCheck})}catch($0){if($0 instanceof n1)throw $0;throw await wz($0,Q.threadId),Error("handleError should have called process.exit()")}},S=(async()=>{if(V){u.info("Skipping initial free tier status fetch until auth is complete");return}try{let $0=await X.configService.getLatest(),j0=dm($0),Q0=await e4.getUserFreeTierStatus({},{config:X.configService,signal:AbortSignal.timeout(j0)});if(Q0.ok)return u.info("User free tier status:",Q0),Q0.result;return}catch($0){u.error("Failed to fetch free tier status:",$0);return}})(),b=!A.executeMode?new x31:null,v,y=null;if(b)v=b,y=(async()=>{let $0=V?await X.serverStatusPromise:X.serverStatus;if(gY($0))throw st($0,A.ampURL);await g91($,Q,$0);let j0=process.hrtime.bigint(),Q0=await _();if(F("runMainThread:createThreadPool",j0),b.attach(Q0),E){let M0=await k1(Q0.threadHandles$);if(!M0)throw new n1("No active thread is available yet.",1);await M0.sendMessage({content:[{type:"text",text:E}]})}})(),y.catch(async($0)=>{let j0=$0 instanceof Error?$0:Error(String($0));b.setInitError(j0),await wz($0,Q.threadId)});else U=process.hrtime.bigint(),v=await _(),F("runMainThread:createThreadPool",U);let c=Q.notifications!==void 0?Q.notifications:!A.executeMode;U=process.hrtime.bigint();let p=await X.configService.getLatest();if(F("runMainThread:configService.getLatest",U),U=process.hrtime.bigint(),it4({configService:X.configService,threadService:X.threadService,threadPool:v,config:p,useNotifications:c}),F("runMainThread:createLegacyTuiNotificationService",U),A.executeMode){Ce0(X.mcpService,A.settings);let $0=TK0($,Q),j0=await bz(),Q0=O?$0:nY0({agentMode:Q.mode,explicitEffort:$0,sessionState:j0}),M0={userInput:E,stdinInput:Y,dependencies:X,streamJson:Z,streamJsonInput:!!Q.streamJsonInput,streamJsonThinking:!!Q.streamJsonThinking,stats:!!Q.stats,ampURL:A.ampURL,isInternalUser:I,agentMode:Q.mode,reasoningEffort:Q0,labels:Q.label},n=await c_4({threadPool:v,...M0});if(await tt(n,"execute"),Q.archive)await X.threadService.archive(n,!0);await X.asyncDispose(),process.exit(0)}let g=!1,i=!1;if(Q.jetbrains||Q.ide){await K20();let $0=await cY({jetbrainsOnly:Q.jetbrains});if($0.length===0){if(Q.jetbrains)g=!await X.configService.get("jetbrains.skipInstall")}else if($0.length===1){let j0=$0[0];if(j0)o5.selectConfig(j0)}else i=!0}U=process.hrtime.bigint();let o=KY0("0.0.1779547160-g4a1cc9",X.settingsStorage,{startDelayMs:3000});F("runMainThread:createUpdateService",U),U=process.hrtime.bigint();let A0=new iY0(X.mcpService,A.settings.getWorkspaceRootPath());if(F("runMainThread:createMcpTrustHandler",U),E&&A.executeMode){let $0=await k1(v.threadHandles$);if(!$0)throw new n1("No active thread is available yet.",1);await $0.sendMessage({content:[{type:"text",text:E}]})}U=process.hrtime.bigint();let W0=await bz();F("runMainThread:loadSessionState",U),u.info("Loaded session state:",W0);let Y0=TK0($,Q),I0={...W0,launchCount:W0.launchCount+1,lastReasoningEffortByMode:Y0?{...W0.lastReasoningEffortByMode,[Q.mode]:Y0}:W0.lastReasoningEffortByMode};GQ(($0)=>({...$0,launchCount:$0.launchCount+1}));try{if(U=process.hrtime.bigint(),await qe4({history:new Ho,fuzzyServer:X.fuzzyServer,settingsStorage:X.settingsStorage,threadService:X.threadService,skillService:X.skillService,configService:X.configService,secretStorage:X.secretStorage,internalAPIClient:e4,threadPool:v,createSystemPromptDeps:async()=>m26(X),ideClient:o5,mcpService:X.mcpService,toolboxService:X.toolboxService,mcpTrustHandler:A0,updateService:o,pluginPlatform:X.pluginPlatform,pluginService:X.pluginService},{initialServerStatus:X.serverStatus,stdout:process.stdout,hasAPIKeyAtStartup:X.hasAPIKeyAtStartup,ampURL:A.ampURL,startupThreadID:O,showJetBrainsInstaller:g,showIdePickerHint:i,openThreadSwitcher:Q.openThreadSwitcher,jetbrainsMode:Q.jetbrains,clientId:r65,logFile:{path:B},sessionState:I0,freeTierStatusPromise:S,workspace:N??null,features:q,isInternalUser:I,initialAgentMode:$.getOptionValueSourceWithGlobals("mode")==="cli"?Q.mode:void 0,splashOrbVisualStyle:Q.neoOrb?"neo":"classic",buildTimestamp:"2026-05-23T14:43:31.718Z"},($0)=>new c31({...$0,threadPool:$0.threadPool},(j0)=>new U81({...j0,threadState:j0.threadState}))),F("runMainThread:mountApp-returned",U),y)await y}finally{await v.dispose().catch(($0)=>{u.error("Failed to dispose thread pool during shutdown",$0)})}await X.asyncDispose(),F("runMainThread:dependencies.asyncDispose",J),process.exit(0)}async function m3(A){if(u.info("Initializing CLI context",{argv:process.argv,nodeEnv:"production",hasAmpURL:Boolean(process.env.AMP_URL),hasAmpAPIKey:Boolean(process.env.AMP_API_KEY),hasSettingsFile:Boolean(process.env.AMP_SETTINGS_FILE)}),A.interactive)I$.write(`Warning: --interactive flag is deprecated. Interactive mode is now the default unless --execute is used or output is redirected.
7302
- `);let Q=!!A.execute||!process.stdout.isTTY&&!A.streamJson,$=process.stdout.isTTY&&process.stderr.isTTY;u.info("Execution mode resolved",{executeMode:Q,stdoutTTY:process.stdout.isTTY,stderrTTY:process.stderr.isTTY,streamJson:A.streamJson,executeFlag:A.execute});let B=await r74({get:async(E)=>{if(E!==op)return;try{let Y=await h26(h91,"utf-8");return JSON.parse(Y).installationID}catch{return}},set:async(E,Y)=>{if(E!==op)return;await i65(rt.dirname(h91),{recursive:!0}),await n65(h91,JSON.stringify({installationID:Y},null,2),{mode:384})}},{clientType:"cli",platform:v90()});L04(B);let D=await Wt4({...A,workspaceTrust:{current:!0,changes:pm},getHook:process.env.AMP_URL?(E,Y)=>{if(E==="url")return Promise.resolve(process.env.AMP_URL);return Y()}:void 0});if(A.mcpConfig){let E=await Hb4(A.mcpConfig);D=qb4(D,E)}let J=rt.dirname(D.getSettingsFilePath());ER4(Rd,J),D=ts1(D);let F=await D.get("url","admin")??await D.get("url","global");if(!F)F=l7;if(u.info("Resolved Amp URL",{ampURL:F,settingsFile:D.getSettingsFilePath(),workspaceRoot:D.getWorkspaceRootPath()}),!iI(F))u.info("Targeting custom Amp server",{ampURL:F});return{executeMode:Q,isTTY:$,ampURL:F,settings:D,secrets:Ut4(await u31(A,D))}}function CA5(A){let Q={};for(let $=0;$<A.length;$++){let B=A[$];if(B?.startsWith("--")){let J=B.slice(2).replace(/-([a-z])/g,(E,Y)=>Y.toUpperCase()),F=A[$+1];if(F&&!F.startsWith("--"))Q[J]=F,$++}}return Q}function wA5(A,Q){let $=A.includes("--headless")||A.some((D)=>D.startsWith("--headless=")),B=rt.resolve(Q.logFile??process.env.AMP_LOG_FILE??($?o65:Ta));return{logLevel:Q.logLevel??process.env.AMP_LOG_LEVEL??"info",logFile:B}}async function MA5(){A_4();let A=CA5(process.argv),Q=wA5(process.argv,A),$=Y_4(Q);lF0("silent");let B=process.argv.includes("--no-color"),D=process.argv.includes("--color"),J=process.stdout.isTTY&&process.stderr.isTTY;if(B||!D&&!J)t0.level=0;if(t65(u),u.info("Starting Amp CLI.",{version:"0.0.1779547160-g4a1cc9",buildTimestamp:"2026-05-23T14:43:31.718Z"}),process.platform==="win32"&&Lj())zy4();if(parseInt(process.version.slice(1).split(".")[0]??"")<20)throw new n1(m9.nodeVersion(process.version),1,"Please upgrade your Node.js installation from https://nodejs.org");await zA5($).parseAsync(process.argv)}JR4().startActiveSpan("main",async(A)=>{process.on("exit",()=>A.end()),await MA5().catch(wz)});async function LA5(A,Q){let $=A.ampURL.includes("localhost")||A.ampURL.includes("127.0.0.1");if(process.env.AMP_URL&&!$)await A.settings.set("url",process.env.AMP_URL,"global"),A3.write(`Saving custom server URL to settings: ${process.env.AMP_URL}
7301
+ Or pipe via stdin: echo "your message" | amp --execute`)}function WA5(){s64([Q20.parse({tool:"*",action:"allow"})]),M64({bypass:!0})}function IA5(A){if(A.threadId&&!R9(A.threadId))delete A.threadId}async function kK0(A,Q,$,B){if(Q.headless)return HA5(A,Q,$);let D=await i2(A,Q),J=await D.serverStatusPromise,F=e6(J)&&et(J.features,k$.THREAD_ACTORS_TUI),E=F&&!Q.takeMeBack;if(Q.showWelcome&&Q.hideWelcome)throw await D.asyncDispose(),new n1("Cannot use --show-welcome and --hide-welcome together",1);if(Q.showWelcome&&!F)throw await D.asyncDispose(),new n1("--show-welcome is only available with the new Amp CLI feature flag",1);if(E){let Y=!A.executeMode&&await YA5();return WA5(),IA5(Q),qA5(A,Q,$,D,{showNpmMigrationWelcome:Y})}else{if(Q.threadId&&R9(Q.threadId)){let Y=await e4.getThreadLinkInfo({thread:Q.threadId},{config:D.configService}).catch(()=>null);if(Y?.ok&&Y.result.usesThreadActors)throw await D.asyncDispose(),new n1(`Thread ${Q.threadId} was created with the Neo TUI and cannot be continued in the legacy CLI.`,1,"Re-run without --take-me-back to continue this thread.")}return NA5(A,Q,$,B,{dependencies:D})}}async function HA5(A,Q,$){let B=(I,H)=>{let q=Number(process.hrtime.bigint()-H)/1e6,N=go0();u.info("Startup phase",{phase:I,phaseMs:Math.round(q),sinceMainMs:N===null?void 0:Math.round(N)})};r8($,Q);let D=process.hrtime.bigint(),J=await i2(A,Q);B("runMainThread:createThreadDependencies",D);let{serverStatus:F}=J;if(gY(F))throw st(F,A.ampURL);let E=e6(F)?F:null,Y=E?.user.email;await g91($,Q,F);let Z=NW(F),U=ly(Q,Z);if(U instanceof Error)j3(U.message);if(E&&!dM(Q.mode,Y))throw new n1(`Agent mode '${Q.mode}' is only available for Amp employees`,1);if(process.env.AMP_EXECUTOR!=="1"&&(!Y||!m7(Y)))throw new n1("Headless executor mode is only available for Amp employees",1);AE0();let G=await J.secretStorage.get("apiKey",A.ampURL);if(!G)throw new n1("API key required for headless mode. Please run `amp login` first.",1);let V=typeof Q.headless==="string"&&Q.headless!=="true"?Q.headless:void 0;if(V&&!R9(V))throw new n1(`Invalid thread ID: ${V}`,1);let K=V?void 0:await yA5({dependencies:J,apiKey:G,visibility:U??void 0}),z=V??K?.threadId;if(!z)throw new n1("Failed to resolve headless thread ID",1);let W=await Of4(z);if(W.status==="already-running")await J.asyncDispose(),await Nz(),process.exit(0);try{await Wf4({ampURL:A.ampURL,apiKey:G,workspaceRoot:process.cwd(),threadId:z,ownerUserId:K?.ownerUserId,threadVersion:K?.threadVersion,agentMode:K?.agentMode,initialToolDiscovery:Promise.all([J.mcpService.initialized,J.toolboxService.initialized,J.pluginService.initialized]).then(()=>{return}),configService:J.configService,mcpService:J.mcpService,toolService:J.toolService,skillService:J.skillService,pluginService:J.pluginService,pluginPlatform:J.headlessPluginPlatform})}finally{await W.release(),await J.asyncDispose()}await Nz(),process.exit(0)}async function qA5(A,Q,$,B,D){let{userInput:J,stdinInput:F}=await p26(Q),E=!!Q.streamJson||!!Q.streamJsonThinking;c26({...Q,streamJson:E},A.executeMode,J),r8($,Q),E_4(),AE0();let Y=Q.threadId,Z=Q.resumeThreadIDs??(Y?[Y]:[]),U=Q.observe?v8(Q.observe)??BB(Q.observe):void 0,X=await B.serverStatusPromise;if(gY(X))throw st(X,A.ampURL);let G=NW(X),V=ly(Q,G);if(V instanceof Error)j3(V.message);let K=null,z=async()=>{let H=B.consumeDraftNewThreadVisibility();if(H!==null)return H;return K??=(async()=>{let q=await va(A.settings,process.cwd(),G,V);if(q instanceof Error)j3(q.message);return q})(),K},W=await B.secretStorage.get("apiKey",A.ampURL);if(!W)throw new n1("API key required. Please run `amp login` first.",1);let I=e6(X)&&m7(X.user.email);if(A.executeMode){if(Z.length>1)throw new n1("Execute mode can only resume one thread.",1);Ce0(B.mcpService,A.settings);try{let H=TK0($,Q),q=await bz(),N=Y?H:nY0({agentMode:Q.mode,explicitEffort:H,sessionState:q}),C=Y?void 0:aY0(await bf(B.configService),{agentMode:Q.mode,explicitEffort:H,sessionState:q}),O=Y?void 0:await z(),L=await tS4({apiKey:W,ampURL:A.ampURL,workspaceRoot:process.cwd(),dependencies:B,userInput:J,stdinInput:F,stats:!!Q.stats,streamJson:E,streamJsonThinking:!!Q.streamJsonThinking,streamJsonInput:!!Q.streamJsonInput,stdin:process.stdin,agentMode:Q.mode,reasoningEffort:N,labels:Q.label,initialThreadID:Y,initialThreadMeta:O,initialSettings:C});if(await tt(L,"execute"),Q.archive)await B.threadService.archive(L,!0)}finally{await B.asyncDispose()}await Nz(),process.exit(0)}else{let H=TK0($,Q),q=D.showNpmMigrationWelcome?"npm-migration":"intro",N=KY0("0.0.1779567279-g6cae00",B.settingsStorage,{startDelayMs:3000}),C=new iY0(B.mcpService,A.settings.getWorkspaceRootPath()),O=gl(B.configService),L=new Vt(B.fuzzyServer),j=process.cwd();await bs4({ampURL:A.ampURL,apiKey:W,rivetEndpoint:process.env.RIVET_PUBLIC_ENDPOINT??aJ(A.ampURL),configService:B.configService,toolService:B.toolService,pluginPlatform:B.pluginPlatform,pluginService:B.pluginService,skillService:B.skillService,mcpService:B.mcpService,readFileSystemDirectory:({uri:k})=>Nf({workspaceRoot:j},k),completionBuilder:L,updateService:N,workspaceRoot:j,listThreads:()=>O.listThreads(),getThreadFromServer:(k)=>O.getThread(k),toolboxes:B.toolboxService.toolboxes,isInternalUser:I,settingsFilePath:B.settingsStorage.getSettingsFilePath(),workspaceSettingsFilePath:B.settingsStorage.getWorkspaceSettingsPath(),mcpTrustHandler:C,setActiveThreadID:(k)=>B.activeThread$.next(k),dispose:()=>{return C.dispose(),N.dispose(),B.asyncDispose()}},{initialThreadIDs:U?[U]:Z,initialUserInput:J||void 0,getDefaultNewThreadVisibility:z,onFirstFrame:Q.ide?g26:void 0,openThreadPickerOnStart:Q.openThreadSwitcher,observerOnly:!!U,splashOrbVisualStyle:"neo",hideNeoWelcome:!!Q.hideWelcome,showNeoWelcome:Q.showWelcome,neoWelcomeVariant:q,initialAgentMode:$.getOptionValueSourceWithGlobals("mode")==="cli"?Q.mode:void 0,initialReasoningEffort:H}),process.exit(0)}}async function NA5(A,Q,$,B,D){let J=process.hrtime.bigint(),F=($0,j0)=>{let Q0=Number(process.hrtime.bigint()-j0)/1e6,M0=go0();u.info("Startup phase",{phase:$0,phaseMs:Math.round(Q0),sinceMainMs:M0===null?void 0:Math.round(M0)})},{userInput:E,stdinInput:Y}=await p26(Q),Z=!!Q.streamJson||!!Q.streamJsonThinking;c26({...Q,streamJson:Z},A.executeMode,E),r8($,Q);let U=process.hrtime.bigint(),X=D?.dependencies??await i2(A,Q),G=X.hasAPIKeyAtStartup,V=X.serverStatus==="pending";if(u.info("Interactive auth startup mode",{deferInteractiveAuth:V,hasAPIKeyAtStartup:G,executeMode:A.executeMode,headless:Boolean(Q.headless)}),!D)F("runMainThread:createThreadDependencies",U);let{serverStatus:K}=X;if(!V&&gY(K))throw st(K,A.ampURL);let z=e6(K)?K:null,W=z?.user.email,I=!!(W&&m7(W));if(I)AE0();if(!V)await g91($,Q,K);let H=NW(K),q=H?.features??[],N=H?.team??null,C=ly(Q,H);if(C instanceof Error)j3(C.message);if(z&&!dM(Q.mode,W))throw new n1(`Agent mode '${Q.mode}' is only available for Amp employees`,1);let O=Q.threadId&&R9(Q.threadId)?Q.threadId:void 0;U=process.hrtime.bigint();let L=await SK0(X);F("runMainThread:createWorkerDeps",U);let j=A.executeMode?void 0:async($0)=>tt($0,"interactive"),k={threadService:X.threadService,workerDeps:L,createThread:async($0)=>{let j0=V?await X.serverStatusPromise:K,Q0=await va(A.settings,process.cwd(),NW(j0),C);if(Q0 instanceof Error)j3(Q0.message);return G81(L,{threadMeta:Q0,agentMode:$0??Q.mode,onFirstAssistantMessage:j})},validateThreadOwnership:async($0,j0)=>{if(j0?.nonBlockingOwnershipCheck){S26($0,X.configService,X.viewerUserIDPromise).catch((Q0)=>{if(Q0 instanceof n1){if(j0.onOwnershipError){j0.onOwnershipError(Q0,$0);return}wz(Q0,$0);return}u.warn("Failed to validate thread ownership in CLI, allowing to open",{error:Q0})});return}try{await S26($0,X.configService,X.viewerUserIDPromise)}catch(Q0){if(Q0 instanceof n1)throw Q0;u.warn("Failed to validate thread ownership in CLI, allowing to open",{error:Q0})}},switchThreadVisibility:C,switchThreadAgentMode:Q.mode,onFirstAssistantMessage:j,handleError:wz},_=async()=>{try{return FA6(k,Q.threadId,{nonBlockingOwnershipCheck:Q.nonBlockingThreadOwnershipCheck})}catch($0){if($0 instanceof n1)throw $0;throw await wz($0,Q.threadId),Error("handleError should have called process.exit()")}},S=(async()=>{if(V){u.info("Skipping initial free tier status fetch until auth is complete");return}try{let $0=await X.configService.getLatest(),j0=dm($0),Q0=await e4.getUserFreeTierStatus({},{config:X.configService,signal:AbortSignal.timeout(j0)});if(Q0.ok)return u.info("User free tier status:",Q0),Q0.result;return}catch($0){u.error("Failed to fetch free tier status:",$0);return}})(),b=!A.executeMode?new x31:null,v,y=null;if(b)v=b,y=(async()=>{let $0=V?await X.serverStatusPromise:X.serverStatus;if(gY($0))throw st($0,A.ampURL);await g91($,Q,$0);let j0=process.hrtime.bigint(),Q0=await _();if(F("runMainThread:createThreadPool",j0),b.attach(Q0),E){let M0=await k1(Q0.threadHandles$);if(!M0)throw new n1("No active thread is available yet.",1);await M0.sendMessage({content:[{type:"text",text:E}]})}})(),y.catch(async($0)=>{let j0=$0 instanceof Error?$0:Error(String($0));b.setInitError(j0),await wz($0,Q.threadId)});else U=process.hrtime.bigint(),v=await _(),F("runMainThread:createThreadPool",U);let c=Q.notifications!==void 0?Q.notifications:!A.executeMode;U=process.hrtime.bigint();let p=await X.configService.getLatest();if(F("runMainThread:configService.getLatest",U),U=process.hrtime.bigint(),it4({configService:X.configService,threadService:X.threadService,threadPool:v,config:p,useNotifications:c}),F("runMainThread:createLegacyTuiNotificationService",U),A.executeMode){Ce0(X.mcpService,A.settings);let $0=TK0($,Q),j0=await bz(),Q0=O?$0:nY0({agentMode:Q.mode,explicitEffort:$0,sessionState:j0}),M0={userInput:E,stdinInput:Y,dependencies:X,streamJson:Z,streamJsonInput:!!Q.streamJsonInput,streamJsonThinking:!!Q.streamJsonThinking,stats:!!Q.stats,ampURL:A.ampURL,isInternalUser:I,agentMode:Q.mode,reasoningEffort:Q0,labels:Q.label},n=await c_4({threadPool:v,...M0});if(await tt(n,"execute"),Q.archive)await X.threadService.archive(n,!0);await X.asyncDispose(),process.exit(0)}let g=!1,i=!1;if(Q.jetbrains||Q.ide){await K20();let $0=await cY({jetbrainsOnly:Q.jetbrains});if($0.length===0){if(Q.jetbrains)g=!await X.configService.get("jetbrains.skipInstall")}else if($0.length===1){let j0=$0[0];if(j0)o5.selectConfig(j0)}else i=!0}U=process.hrtime.bigint();let o=KY0("0.0.1779567279-g6cae00",X.settingsStorage,{startDelayMs:3000});F("runMainThread:createUpdateService",U),U=process.hrtime.bigint();let A0=new iY0(X.mcpService,A.settings.getWorkspaceRootPath());if(F("runMainThread:createMcpTrustHandler",U),E&&A.executeMode){let $0=await k1(v.threadHandles$);if(!$0)throw new n1("No active thread is available yet.",1);await $0.sendMessage({content:[{type:"text",text:E}]})}U=process.hrtime.bigint();let W0=await bz();F("runMainThread:loadSessionState",U),u.info("Loaded session state:",W0);let Y0=TK0($,Q),I0={...W0,launchCount:W0.launchCount+1,lastReasoningEffortByMode:Y0?{...W0.lastReasoningEffortByMode,[Q.mode]:Y0}:W0.lastReasoningEffortByMode};GQ(($0)=>({...$0,launchCount:$0.launchCount+1}));try{if(U=process.hrtime.bigint(),await qe4({history:new Ho,fuzzyServer:X.fuzzyServer,settingsStorage:X.settingsStorage,threadService:X.threadService,skillService:X.skillService,configService:X.configService,secretStorage:X.secretStorage,internalAPIClient:e4,threadPool:v,createSystemPromptDeps:async()=>m26(X),ideClient:o5,mcpService:X.mcpService,toolboxService:X.toolboxService,mcpTrustHandler:A0,updateService:o,pluginPlatform:X.pluginPlatform,pluginService:X.pluginService},{initialServerStatus:X.serverStatus,stdout:process.stdout,hasAPIKeyAtStartup:X.hasAPIKeyAtStartup,ampURL:A.ampURL,startupThreadID:O,showJetBrainsInstaller:g,showIdePickerHint:i,openThreadSwitcher:Q.openThreadSwitcher,jetbrainsMode:Q.jetbrains,clientId:r65,logFile:{path:B},sessionState:I0,freeTierStatusPromise:S,workspace:N??null,features:q,isInternalUser:I,initialAgentMode:$.getOptionValueSourceWithGlobals("mode")==="cli"?Q.mode:void 0,splashOrbVisualStyle:Q.neoOrb?"neo":"classic",buildTimestamp:"2026-05-23T20:19:06.020Z"},($0)=>new c31({...$0,threadPool:$0.threadPool},(j0)=>new U81({...j0,threadState:j0.threadState}))),F("runMainThread:mountApp-returned",U),y)await y}finally{await v.dispose().catch(($0)=>{u.error("Failed to dispose thread pool during shutdown",$0)})}await X.asyncDispose(),F("runMainThread:dependencies.asyncDispose",J),process.exit(0)}async function m3(A){if(u.info("Initializing CLI context",{argv:process.argv,nodeEnv:"production",hasAmpURL:Boolean(process.env.AMP_URL),hasAmpAPIKey:Boolean(process.env.AMP_API_KEY),hasSettingsFile:Boolean(process.env.AMP_SETTINGS_FILE)}),A.interactive)I$.write(`Warning: --interactive flag is deprecated. Interactive mode is now the default unless --execute is used or output is redirected.
7302
+ `);let Q=!!A.execute||!process.stdout.isTTY&&!A.streamJson,$=process.stdout.isTTY&&process.stderr.isTTY;u.info("Execution mode resolved",{executeMode:Q,stdoutTTY:process.stdout.isTTY,stderrTTY:process.stderr.isTTY,streamJson:A.streamJson,executeFlag:A.execute});let B=await r74({get:async(E)=>{if(E!==op)return;try{let Y=await h26(h91,"utf-8");return JSON.parse(Y).installationID}catch{return}},set:async(E,Y)=>{if(E!==op)return;await i65(rt.dirname(h91),{recursive:!0}),await n65(h91,JSON.stringify({installationID:Y},null,2),{mode:384})}},{clientType:"cli",platform:v90()});L04(B);let D=await Wt4({...A,workspaceTrust:{current:!0,changes:pm},getHook:process.env.AMP_URL?(E,Y)=>{if(E==="url")return Promise.resolve(process.env.AMP_URL);return Y()}:void 0});if(A.mcpConfig){let E=await Hb4(A.mcpConfig);D=qb4(D,E)}let J=rt.dirname(D.getSettingsFilePath());ER4(Rd,J),D=ts1(D);let F=await D.get("url","admin")??await D.get("url","global");if(!F)F=l7;if(u.info("Resolved Amp URL",{ampURL:F,settingsFile:D.getSettingsFilePath(),workspaceRoot:D.getWorkspaceRootPath()}),!iI(F))u.info("Targeting custom Amp server",{ampURL:F});return{executeMode:Q,isTTY:$,ampURL:F,settings:D,secrets:Ut4(await u31(A,D))}}function CA5(A){let Q={};for(let $=0;$<A.length;$++){let B=A[$];if(B?.startsWith("--")){let J=B.slice(2).replace(/-([a-z])/g,(E,Y)=>Y.toUpperCase()),F=A[$+1];if(F&&!F.startsWith("--"))Q[J]=F,$++}}return Q}function wA5(A,Q){let $=A.includes("--headless")||A.some((D)=>D.startsWith("--headless=")),B=rt.resolve(Q.logFile??process.env.AMP_LOG_FILE??($?o65:Ta));return{logLevel:Q.logLevel??process.env.AMP_LOG_LEVEL??"info",logFile:B}}async function MA5(){A_4();let A=CA5(process.argv),Q=wA5(process.argv,A),$=Y_4(Q);lF0("silent");let B=process.argv.includes("--no-color"),D=process.argv.includes("--color"),J=process.stdout.isTTY&&process.stderr.isTTY;if(B||!D&&!J)t0.level=0;if(t65(u),u.info("Starting Amp CLI.",{version:"0.0.1779567279-g6cae00",buildTimestamp:"2026-05-23T20:19:06.020Z"}),process.platform==="win32"&&Lj())zy4();if(parseInt(process.version.slice(1).split(".")[0]??"")<20)throw new n1(m9.nodeVersion(process.version),1,"Please upgrade your Node.js installation from https://nodejs.org");await zA5($).parseAsync(process.argv)}JR4().startActiveSpan("main",async(A)=>{process.on("exit",()=>A.end()),await MA5().catch(wz)});async function LA5(A,Q){let $=A.ampURL.includes("localhost")||A.ampURL.includes("127.0.0.1");if(process.env.AMP_URL&&!$)await A.settings.set("url",process.env.AMP_URL,"global"),A3.write(`Saving custom server URL to settings: ${process.env.AMP_URL}
7303
7303
  `);else if(!iI(A.ampURL))A3.write(`Logging in to ${new URL(A.ampURL).hostname}
7304
7304
  `);let B=process.env.AMP_API_KEY;if(B)A3.write(`API key found in environment variable, storing...
7305
7305
  `),await Q.set("apiKey",B,A.ampURL),A3.write(`API key successfully stored.