fern-api 5.51.1 → 5.51.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli.cjs +6 -6
- package/package.json +1 -1
package/cli.cjs
CHANGED
|
@@ -202,7 +202,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
202
202
|
`+Pe.slice(It,Ft),It=Ft+1),Pt=wr;return ne+=`
|
|
203
203
|
`,Pe.length-It>Gt&&Pt>It?ne+=Pe.slice(It,Pt)+`
|
|
204
204
|
`+Pe.slice(Pt+1):ne+=Pe.slice(It),ne.slice(1)}function Mt(Pe){let Gt="",mr=0;for(let Er=0;Er<Pe.length;mr>=65536?Er+=2:Er++){mr=Qe(Pe,Er);let It=oe[mr];!It&&at(mr)?(Gt+=Pe[Er],mr>=65536&&(Gt+=Pe[Er+1])):Gt+=It||se(mr)}return Gt}function dr(Pe,Gt,mr){let Er="",It=Pe.tag;for(let Ft=0,Pt=mr.length;Ft<Pt;Ft+=1){let wr=mr[Ft];Pe.replacer&&(wr=Pe.replacer.call(mr,String(Ft),wr)),(tt(Pe,Gt,wr,!1,!1)||typeof wr>"u"&&tt(Pe,Gt,null,!1,!1))&&(Er!==""&&(Er+=","+(Pe.condenseFlow?"":" ")),Er+=Pe.dump)}Pe.tag=It,Pe.dump="["+Er+"]"}function qe(Pe,Gt,mr,Er){let It="",Ft=Pe.tag;for(let Pt=0,wr=mr.length;Pt<wr;Pt+=1){let ne=mr[Pt];Pe.replacer&&(ne=Pe.replacer.call(mr,String(Pt),ne)),(tt(Pe,Gt+1,ne,!0,!0,!1,!0)||typeof ne>"u"&&tt(Pe,Gt+1,null,!0,!0,!1,!0))&&((!Er||It!=="")&&(It+=Ke(Pe,Gt)),Pe.dump&&u===Pe.dump.charCodeAt(0)?It+="-":It+="- ",It+=Pe.dump)}Pe.tag=Ft,Pe.dump=It||"[]"}function Me(Pe,Gt,mr){let Er="",It=Pe.tag,Ft=Object.keys(mr);for(let Pt=0,wr=Ft.length;Pt<wr;Pt+=1){let ne="";Er!==""&&(ne+=", "),Pe.condenseFlow&&(ne+='"');let Ne=Ft[Pt],Re=mr[Ne];Pe.replacer&&(Re=Pe.replacer.call(mr,Ne,Re)),tt(Pe,Gt,Ne,!1,!1)&&(Pe.dump.length>1024&&(ne+="? "),ne+=Pe.dump+(Pe.condenseFlow?'"':"")+":"+(Pe.condenseFlow?"":" "),tt(Pe,Gt,Re,!1,!1)&&(ne+=Pe.dump,Er+=ne))}Pe.tag=It,Pe.dump="{"+Er+"}"}function _(Pe,Gt,mr,Er){let It="",Ft=Pe.tag,Pt=Object.keys(mr);if(Pe.sortKeys===!0)Pt.sort();else if(typeof Pe.sortKeys=="function")Pt.sort(Pe.sortKeys);else if(Pe.sortKeys)throw new n("sortKeys must be a boolean or a function");for(let wr=0,ne=Pt.length;wr<ne;wr+=1){let Ne="";(!Er||It!=="")&&(Ne+=Ke(Pe,Gt));let Re=Pt[wr],Je=mr[Re];if(Pe.replacer&&(Je=Pe.replacer.call(mr,Re,Je)),!tt(Pe,Gt+1,Re,!0,!0,!0))continue;let Et=Pe.tag!==null&&Pe.tag!=="?"||Pe.dump&&Pe.dump.length>1024;Et&&(Pe.dump&&u===Pe.dump.charCodeAt(0)?Ne+="?":Ne+="? "),Ne+=Pe.dump,Et&&(Ne+=Ke(Pe,Gt)),tt(Pe,Gt+1,Je,!0,Et)&&(Pe.dump&&u===Pe.dump.charCodeAt(0)?Ne+=":":Ne+=": ",Ne+=Pe.dump,It+=Ne)}Pe.tag=Ft,Pe.dump=It||"{}"}function ve(Pe,Gt,mr){let Er=mr?Pe.explicitTypes:Pe.implicitTypes;for(let It=0,Ft=Er.length;It<Ft;It+=1){let Pt=Er[It];if((Pt.instanceOf||Pt.predicate)&&(!Pt.instanceOf||typeof Gt=="object"&&Gt instanceof Pt.instanceOf)&&(!Pt.predicate||Pt.predicate(Gt))){if(mr?Pt.multi&&Pt.representName?Pe.tag=Pt.representName(Gt):Pe.tag=Pt.tag:Pe.tag="?",Pt.represent){let wr=Pe.styleMap[Pt.tag]||Pt.defaultStyle,ne;if(o.call(Pt.represent)==="[object Function]")ne=Pt.represent(Gt,wr);else if(s.call(Pt.represent,wr))ne=Pt.represent[wr](Gt,wr);else throw new n("!<"+Pt.tag+'> tag resolver accepts not "'+wr+'" style');Pe.dump=ne}return!0}}return!1}function tt(Pe,Gt,mr,Er,It,Ft,Pt){Pe.tag=null,Pe.dump=mr,ve(Pe,mr,!1)||ve(Pe,mr,!0);let wr=o.call(Pe.dump),ne=Er;Er&&(Er=Pe.flowLevel<0||Pe.flowLevel>Gt);let Ne=wr==="[object Object]"||wr==="[object Array]",Re,Je;if(Ne&&(Re=Pe.duplicates.indexOf(mr),Je=Re!==-1),(Pe.tag!==null&&Pe.tag!=="?"||Je||Pe.indent!==2&&Gt>0)&&(It=!1),Je&&Pe.usedDuplicates[Re])Pe.dump="*ref_"+Re;else{if(Ne&&Je&&!Pe.usedDuplicates[Re]&&(Pe.usedDuplicates[Re]=!0),wr==="[object Object]")Er&&Object.keys(Pe.dump).length!==0?(_(Pe,Gt,Pe.dump,It),Je&&(Pe.dump="&ref_"+Re+Pe.dump)):(Me(Pe,Gt,Pe.dump),Je&&(Pe.dump="&ref_"+Re+" "+Pe.dump));else if(wr==="[object Array]")Er&&Pe.dump.length!==0?(Pe.noArrayIndent&&!Pt&&Gt>0?qe(Pe,Gt-1,Pe.dump,It):qe(Pe,Gt,Pe.dump,It),Je&&(Pe.dump="&ref_"+Re+Pe.dump)):(dr(Pe,Gt,Pe.dump),Je&&(Pe.dump="&ref_"+Re+" "+Pe.dump));else if(wr==="[object String]")Pe.tag!=="?"&&Yt(Pe,Pe.dump,Gt,Ft,ne);else{if(wr==="[object Undefined]")return!1;if(Pe.skipInvalid)return!1;throw new n("unacceptable kind of an object to dump "+wr)}if(Pe.tag!==null&&Pe.tag!=="?"){let Et=encodeURI(Pe.tag[0]==="!"?Pe.tag.slice(1):Pe.tag).replace(/!/g,"%21");Pe.tag[0]==="!"?Et="!"+Et:Et.slice(0,18)==="tag:yaml.org,2002:"?Et="!!"+Et.slice(18):Et="!<"+Et+">",Pe.dump=Et+" "+Pe.dump}}return!0}function mt(Pe,Gt){let mr=[],Er=[];xt(Pe,mr,Er);let It=Er.length;for(let Ft=0;Ft<It;Ft+=1)Gt.duplicates.push(mr[Er[Ft]]);Gt.usedDuplicates=new Array(It)}function xt(Pe,Gt,mr){if(Pe!==null&&typeof Pe=="object"){let Er=Gt.indexOf(Pe);if(Er!==-1)mr.indexOf(Er)===-1&&mr.push(Er);else if(Gt.push(Pe),Array.isArray(Pe))for(let It=0,Ft=Pe.length;It<Ft;It+=1)xt(Pe[It],Gt,mr);else{let It=Object.keys(Pe);for(let Ft=0,Pt=It.length;Ft<Pt;Ft+=1)xt(Pe[It[Ft]],Gt,mr)}}}function Lt(Pe,Gt){Gt=Gt||{};let mr=new Ee(Gt);mr.noRefs||mt(Pe,mr);let Er=Pe;return mr.replacer&&(Er=mr.replacer.call({"":Er},"",Er)),tt(mr,0,Er,!0,!0)?mr.dump+`
|
|
205
|
-
`:""}t.exports.dump=Lt})),prc=vEf(Ab(((e,t)=>{var r=CEf(),n=wEf();function i(o,s){return function(){throw new Error("Function yaml."+o+" is removed in js-yaml 4. Use yaml."+s+" instead, which is now safe by default.")}}t.exports.Type=ok(),t.exports.Schema=Ktc(),t.exports.FAILSAFE_SCHEMA=Ztc(),t.exports.JSON_SCHEMA=nrc(),t.exports.CORE_SCHEMA=irc(),t.exports.DEFAULT_SCHEMA=Xeo(),t.exports.load=r.load,t.exports.loadAll=r.loadAll,t.exports.dump=n.dump,t.exports.YAMLException=jFt(),t.exports.types={binary:arc(),float:rrc(),map:Xtc(),null:$tc(),pairs:urc(),set:lrc(),timestamp:orc(),bool:erc(),int:trc(),merge:src(),omap:crc(),seq:Ytc(),str:Jtc()},t.exports.safeLoad=i("safeLoad","load"),t.exports.safeLoadAll=i("safeLoadAll","loadAll"),t.exports.safeDump=i("safeDump","dump")}))(),1),{Type:Cn0,Schema:wn0,FAILSAFE_SCHEMA:Sn0,JSON_SCHEMA:Tn0,CORE_SCHEMA:On0,DEFAULT_SCHEMA:Bn0,load:QJe,loadAll:Pn0,dump:QFt,YAMLException:ESr,types:Dn0,safeLoad:Rn0,safeLoadAll:Fn0,safeDump:kn0}=prc.default,vr=prc.default});function TEf(e,t){return v2e(e,{single:r=>[typeof r=="string"?r:r.scheme],any:r=>r.any.map(n=>typeof n=="string"?n:n.scheme),endpointSecurity:()=>t!=null?Object.keys(t):[]})}function OEf(e,t){if(e==null)return;let r=TEf(t,e),n={};for(let i of r)e[i]!=null&&(n[i]=e[i]);return Object.keys(n).length>0?n:void 0}var ISr,frc=h(()=>{"use strict";Va();No();bSr();ZA();ps();Vi();ISr=class{args;constructor(t){this.args=t}buildHeaderOverrides(t){let r=this.args.generatorsConfiguration?.api?.headers,n=t!=null||r!=null?{...r,...t}:void 0;if(n!=null)return{headers:n}}buildAuthOverrides(t,r){let n=this.args.generatorsConfiguration?.api?.["auth-schemes"],i=this.args.generatorsConfiguration?.api?.auth,o=t??i;if(o==null)return;let s=r!=null||n!=null?{...n,...r}:void 0,a=OEf(s,o);return{auth:o,"auth-schemes":a}}convert({context:t,ir:r,settings:n,absoluteFilePath:i}){let o=Yeo({taskContext:t,ir:r,options:pNe({options:n,overrides:this.args}),authOverrides:this.buildAuthOverrides(n?.auth,n?.authSchemes),environmentOverrides:this.args.generatorsConfiguration?.api?.environments!=null?{...this.args.generatorsConfiguration?.api}:void 0,globalHeaderOverrides:this.buildHeaderOverrides(n?.headers)});return{absoluteFilePath:i??this.args.absoluteFilePath,rootApiFile:{defaultUrl:o.rootApiFile["default-url"],contents:o.rootApiFile,rawContents:vr.dump(o.rootApiFile)},namedDefinitionFiles:{...$l(o.definitionFiles,s=>({absoluteFilepath:i??this.args.absoluteFilePath,rawContents:vr.dump(s),contents:s})),[zs.of(Rf)]:{absoluteFilepath:i??this.args.absoluteFilePath,rawContents:vr.dump(o.packageMarkerFile),contents:o.packageMarkerFile}},packageMarkers:{},importedDefinitions:{},specVersion:r.specVersion??void 0}}}});var zFt,drc=h(()=>{"use strict";Gp();frc();zFt=class extends s7{inlinePathParameters;objectQueryParameters;onlyIncludeReferencedSchemas;respectReadonlySchemas;useReadVariantForResponses;respectNullableSchemas;wrapReferencesToNullableInOptional;coerceOptionalSchemasToNullable;coerceEnumsToLiterals;exampleGeneration;useBytesForBinaryResponse;respectForwardCompatibleEnums;inlineAllOfSchemas;resolveAliases;groupEnvironmentsByHost;multiServerStrategy;inferDefaultEnvironment;removeDiscriminantsFromSchemas;defaultIntegerFormat;pathParameterOrder;coerceConstsTo;converter;constructor(t){super(t),this.inlinePathParameters=t.inlinePathParameters,this.objectQueryParameters=t.objectQueryParameters,this.onlyIncludeReferencedSchemas=t.onlyIncludeReferencedSchemas,this.respectReadonlySchemas=t.respectReadonlySchemas,this.useReadVariantForResponses=t.useReadVariantForResponses,this.respectNullableSchemas=t.respectNullableSchemas,this.wrapReferencesToNullableInOptional=t.wrapReferencesToNullableInOptional,this.coerceOptionalSchemasToNullable=t.coerceOptionalSchemasToNullable,this.coerceEnumsToLiterals=t.coerceEnumsToLiterals,this.exampleGeneration=t.exampleGeneration,this.useBytesForBinaryResponse=t.useBytesForBinaryResponse,this.respectForwardCompatibleEnums=t.respectForwardCompatibleEnums,this.inlineAllOfSchemas=t.inlineAllOfSchemas,this.resolveAliases=t.resolveAliases,this.groupEnvironmentsByHost=t.groupEnvironmentsByHost,this.multiServerStrategy=t.multiServerStrategy,this.inferDefaultEnvironment=t.inferDefaultEnvironment,this.removeDiscriminantsFromSchemas=t.removeDiscriminantsFromSchemas,this.defaultIntegerFormat=t.defaultIntegerFormat,this.pathParameterOrder=t.pathParameterOrder,this.coerceConstsTo=t.coerceConstsTo,this.converter=new ISr(t)}async getDefinition({context:t,absoluteFilePath:r,relativePathToDependency:n},i){let o=await this.getOpenAPIIr({context:t,relativePathToDependency:n},i);return this.converter.convert({context:t,ir:o,settings:i,absoluteFilePath:r})}async toFernWorkspace({context:t},r,n){let i=await this.getDefinition({context:t},r);return new xj({absoluteFilePath:this.absoluteFilePath,workspaceName:this.workspaceName,generatorsConfiguration:this.generatorsConfiguration,dependenciesConfiguration:{dependencies:{}},definition:i,cliVersion:this.cliVersion})}}});var mrc=h(()=>{"use strict"});var hrc=h(()=>{"use strict";mrc()});var grc=h(()=>{"use strict"});var Arc=h(()=>{"use strict";grc()});var LO,vNe=h(()=>{"use strict";LO={BEARER_FORMAT:"x-bearer-format",ENUM_VAR_NAMES:"x-enum-varnames",INTERNAL:"x-internal",EXAMPLES:"x-examples",TAGS:"x-tags",REDOCLY_CODE_SAMPLES_KEBAB:"x-code-samples",REDOCLY_CODE_SAMPLES_CAMEL:"x-codeSamples"}});var zJe,yrc=h(()=>{"use strict";zJe={of(e){return e}}});var brc,Zeo,Sn,rp=h(()=>{"use strict";yrc();brc={properties:{"stream-condition":{type:"string"},response:"Schema","response-stream":"Schema",resumable:{type:"boolean"}},required:["stream-condition","response","response-stream"],extensionsPrefix:"x-"},Zeo={id:"",typeExtension:{oas3:e=>({...e,XFernStreaming:brc,Operation:{...e.Operation,properties:{...e.Operation?.properties,"x-fern-streaming":"XFernStreaming"}}})}},Sn={SOURCE:zJe.of("source"),SDK_NAMESPACE:zJe.of("x-fern-sdk-namespace"),SDK_METHOD_NAME:zJe.of("x-fern-sdk-method-name"),SDK_GROUP_NAME:zJe.of("x-fern-sdk-group-name"),REQUEST_NAME_V1:"x-request-name",REQUEST_NAME_V2:"x-fern-request-name",TYPE_NAME:"x-fern-type-name",BOOLEAN_LITERAL:"x-fern-boolean-literal",SERVER_NAME_V1:"x-name",SERVER_NAME_V2:"x-fern-server-name",BASE_PATH:"x-fern-base-path",GROUPS:zJe.of("x-fern-groups"),OPENAPI_OVERIDES_FILEPATH:"x-fern-overrides-filepath",TYPE_DEFINITION:"x-fern-type",WEBHOOK_SIGNATURE:"x-fern-webhook-signature",STREAMING:"x-fern-streaming",PAGINATION:"x-fern-pagination",WEBHOOK:"x-fern-webhook",ASYNC_CONFIG:"x-fern-async-config",RETRIES:"x-fern-retries",SDK_VARIABLES:"x-fern-sdk-variables",SDK_VARIABLE:"x-fern-sdk-variable",PARAMETER_NAME:"x-fern-parameter-name",BASIC_AUTH_USERNAME_VARIABLE_NAME:"x-fern-username-variable-name",BASIC_AUTH_PASSWORD_VARIABLE_NAME:"x-fern-password-variable-name",BEARER_TOKEN_VARIABLE_NAME:"x-fern-token-variable-name",HEADER_VARIABLE_NAME:"x-fern-header-variable-name",FERN_ENUM:"x-fern-enum",AUDIENCES:"x-fern-audiences",IGNORE:"x-fern-ignore",SUBTITLE:"x-fern-subtitle",AVAILABILITY:"x-fern-availability",RESPONSE_PROPERTY:"x-fern-sdk-return-value",RESOLUTIONS:"x-fern-resolutions",EXAMPLES:"x-fern-examples",FERN_BEARER_TOKEN:"x-fern-bearer",FERN_HEADER_AUTH:"x-fern-header",FERN_BASIC_AUTH:"x-fern-basic",FERN_GLOBAL_HEADERS:"x-fern-global-headers",FERN_IDEMPOTENCY_HEADERS:"x-fern-idempotency-headers",IDEMPOTENT:"x-fern-idempotent",FERN_PROPERTY_NAME:"x-fern-property-name",IS_UNDISCRIMINATED:"x-fern-undiscriminated",FERN_VERSION:"x-fern-version",ENCODING:"x-fern-encoding",TRANSPORT:"x-fern-transport",IS_DISCRIMINATED:"x-fern-discriminated",EXPLORER_ENABLED:"x-fern-explorer-enabled",DISCRIMINATOR_CONTEXT:"x-fern-discriminator-context",FERN_DEFAULT:"x-fern-default"}});function zr(e,t){let r=Array.isArray(t)?t:[t];for(let n of r){let i=e[n];if(i!=null)return i}}function MFt(e,t,r,n,i=[]){try{let o=zr(e,t);if(o!=null)return r.parse(o)}catch{let s=H4(i).join(" -> ");n.error(`${s.length>0?`${s}: `:""}Failed to parse ${t}`)}}var Tu=h(()=>{"use strict";Vi()});function vSr(e){let t=zr(e,Sn.BASE_PATH);if(t==null)return;if(typeof t=="string")return t.startsWith("/")?{basePath:t,pathParameters:[],pathsIncludeBasePath:!1}:void 0;if(typeof t!="object"||Array.isArray(t))return;let r=t,n=r.path;if(typeof n!="string"||!n.startsWith("/"))return;let i=PEf(n),o=r.parameters,s=o!=null&&typeof o=="object"&&!Array.isArray(o)?o:{},a=[];for(let u of i){let l=s[u],p=typeof l=="object"&&l!=null&&!Array.isArray(l)&&typeof l.docs=="string"?l.docs:void 0,d=typeof l=="object"&&l!=null&&!Array.isArray(l)?l.default:void 0;a.push({name:u,schema:fa.primitive({description:p,availability:void 0,schema:Lu.string({default:void 0,pattern:void 0,format:void 0,minLength:void 0,maxLength:void 0}),generatedName:u,nameOverride:void 0,title:void 0,namespace:void 0,groupName:void 0}),description:p,availability:void 0,source:void 0,variableReference:void 0,parameterNameOverride:void 0,clientDefault:d})}let c=r["paths-include-base-path"]===!0;return{basePath:n,pathParameters:a,pathsIncludeBasePath:c}}function PEf(e){let t=[],r=new RegExp(BEf.source,"g"),n;for(;(n=r.exec(e))!=null;)n[1]!=null&&!t.includes(n[1])&&t.push(n[1]);return t}function LFt({openApi:e,basePath:t,rootPathParameterNames:r}){if(e.paths==null)return[];let n=t.endsWith("/")?t.slice(0,-1):t,i=[],o={};for(let[s,a]of Object.entries(e.paths)){if(a==null){o[s]=a;continue}if(!s.startsWith(n)){i.push(`Expected path '${s}' to start with base path '${n}'`),o[s]=a;continue}let c=s.slice(n.length)||"/",u=DEf({pathItem:a,rootPathParameterNames:r});o[c]=u}return e.paths=o,i}function DEf({pathItem:e,rootPathParameterNames:t}){let r={...e};Array.isArray(r.parameters)&&(r.parameters=r.parameters.filter(i=>!Erc(i,t)));let n=["get","put","post","delete","options","head","patch","trace"];for(let i of n){let o=r[i];o==null||!Array.isArray(o.parameters)||(r[i]={...o,parameters:o.parameters.filter(s=>!Erc(s,t))})}return r}function Erc(e,t){return"$ref"in e?!1:e.in==="path"&&t.has(e.name)}var BEf,$eo=h(()=>{"use strict";gc();Tu();rp();BEf=/\{([^}]+)\}/g});function FEf(e){let{defaults:t,options:r,overrides:n,overrideOnly:i=new Set,undefinedIfAbsent:o=new Set}=e,s={};for(let a of Object.keys(t))i.has(a)?s[a]=n?.[a]!==void 0?n[a]:t[a]:o.has(a)?s[a]=n?.[a]!==void 0?n[a]:r?.[a]!==void 0?r[a]:void 0:s[a]=n?.[a]??r?.[a]??t[a];return s}function GU({options:e,overrides:t}){return FEf({defaults:REf,options:e,overrides:t,overrideOnly:new Set(["disableExamples","preserveSchemaIds"]),undefinedIfAbsent:new Set(["exampleGeneration","defaultFormParameterEncoding"])})}var REf,eto=h(()=>{"use strict";Va();REf={disableExamples:!1,discriminatedUnionV2:!1,useTitlesAsName:!1,audiences:void 0,optionalAdditionalProperties:!0,coerceEnumsToLiterals:!1,respectReadonlySchemas:!1,respectNullableSchemas:!0,onlyIncludeReferencedSchemas:!1,inlinePathParameters:!0,preserveSchemaIds:!1,objectQueryParameters:!0,shouldUseUndiscriminatedUnionsWithLiterals:!1,shouldUseIdiomaticRequestNames:!0,filter:void 0,asyncApiNaming:"v1",exampleGeneration:void 0,defaultFormParameterEncoding:"json",useBytesForBinaryResponse:!1,respectForwardCompatibleEnums:!1,additionalPropertiesDefaultsTo:!1,typeDatesAsStrings:!1,preserveSingleSchemaOneOf:!1,inlineAllOfSchemas:!1,resolveAliases:!1,groupMultiApiEnvironments:!1,groupEnvironmentsByHost:!1,wrapReferencesToNullableInOptional:!1,coerceOptionalSchemasToNullable:!1,removeDiscriminantsFromSchemas:jn.RemoveDiscriminantsFromSchemas.Always,defaultIntegerFormat:jn.DefaultIntegerFormat.Int32,pathParameterOrder:jn.PathParameterOrder.UrlOrder,resolveSchemaCollisions:!1,inferForwardCompatible:!1,coerceConstsTo:"enums-coerceable-to-literals",respectByteFormat:!1,shouldInferDiscriminatedUnionBaseProperties:!1}});var Irc,vrc=h(()=>{"use strict";Irc={naming:"v1"}});function xNe(e){let t=zr(e,"examples");if(t!=null){if(Array.isArray(t))return t;if(typeof t=="object"&&t!==null)return Object.values(t).map(r=>typeof r=="object"&&r!==null&&"value"in r?r.value:r)}return[]}var tto=h(()=>{"use strict";Tu()});function xrc({schema:e,logger:t}){return zr(e,Sn.ENCODING)??void 0}var Crc=h(()=>{"use strict";Tu();rp()});function wrc(e){return zr(e,Sn.FERN_ENUM)}var Src=h(()=>{"use strict";Tu();rp()});function Trc({nameOverride:e,generatedName:t,title:r,schema:n,description:i,availability:o}){let s=zr(n,Sn.SDK_NAMESPACE),a=zr(n,Sn.SDK_GROUP_NAME),c=zr(n,Sn.TYPE_DEFINITION);if(c!=null)return UFt({fernType:c,nameOverride:e,generatedName:t,title:r,description:i,availability:o,namespace:s,groupName:typeof a=="string"?[a]:a})}function UFt({fernType:e,nameOverride:t,generatedName:r,title:n,description:i,availability:o,namespace:s,groupName:a}){return gv({type:e,_default:void 0,validation:void 0,visitor:{primitive:c=>{switch(c.v1){case"BASE_64":return Mr.primitive({nameOverride:t,generatedName:r,title:n,description:i,availability:o,namespace:s,groupName:a,schema:Qi.base64({example:void 0})});case"BOOLEAN":return Mr.primitive({nameOverride:t,generatedName:r,title:n,description:i,availability:o,namespace:s,groupName:a,schema:Qi.boolean({default:void 0,example:void 0})});case"DATE":return Mr.primitive({nameOverride:t,generatedName:r,title:n,description:i,availability:o,namespace:s,groupName:a,schema:Qi.date({example:void 0})});case"DATE_TIME":return Mr.primitive({nameOverride:t,generatedName:r,title:n,description:i,availability:o,namespace:s,groupName:a,schema:Qi.datetime({example:void 0})});case"FLOAT":return Mr.primitive({nameOverride:t,generatedName:r,title:n,description:i,availability:o,namespace:s,groupName:a,schema:Qi.float({example:void 0})});case"DOUBLE":return Mr.primitive({nameOverride:t,generatedName:r,title:n,description:i,availability:o,namespace:s,groupName:a,schema:Qi.double({default:void 0,minimum:void 0,maximum:void 0,exclusiveMinimum:void 0,exclusiveMaximum:void 0,multipleOf:void 0,example:void 0})});case"UINT":return Mr.primitive({nameOverride:t,generatedName:r,title:n,description:i,availability:o,namespace:s,groupName:a,schema:Qi.uint({default:void 0,example:void 0})});case"INTEGER":return Mr.primitive({nameOverride:t,generatedName:r,title:n,description:i,availability:o,namespace:s,groupName:a,schema:Qi.int({default:void 0,minimum:void 0,maximum:void 0,exclusiveMinimum:void 0,exclusiveMaximum:void 0,multipleOf:void 0,example:void 0})});case"UINT_64":return Mr.primitive({nameOverride:t,generatedName:r,title:n,description:i,availability:o,namespace:s,groupName:a,schema:Qi.uint64({default:void 0,example:void 0})});case"LONG":return Mr.primitive({nameOverride:t,generatedName:r,title:n,description:i,availability:o,namespace:s,groupName:a,schema:Qi.int64({default:void 0,example:void 0})});case"STRING":case"UUID":case"BIG_INTEGER":return Mr.primitive({nameOverride:t,generatedName:r,title:n,description:i,availability:o,namespace:s,groupName:a,schema:Qi.string({default:void 0,pattern:void 0,maxLength:void 0,minLength:void 0,example:void 0,format:void 0})});case"DATE_TIME_RFC_2822":return Mr.primitive({nameOverride:t,generatedName:r,title:n,description:i,availability:o,namespace:s,groupName:a,schema:Qi.datetimeRfc2822({example:void 0})});default:Ie(c.v1)}},unknown:()=>Mr.unknown({nameOverride:t,generatedName:r,title:n,example:void 0,description:i,availability:o,namespace:s,groupName:a}),map:({keyType:c,valueType:u})=>c?.type==="primitive"&&u!=null?Mr.map({nameOverride:t,generatedName:r,title:n,key:c,value:u,description:i,availability:o,namespace:s,groupName:a,encoding:void 0,example:void 0,inline:void 0,minProperties:void 0,maxProperties:void 0}):void 0,list:c=>c!=null?Mr.array({nameOverride:t,generatedName:r,title:n,value:c,description:i,availability:o,namespace:s,groupName:a,example:void 0,inline:void 0,minItems:void 0,maxItems:void 0,default:void 0}):void 0,optional:c=>c!=null?Mr.optional({nameOverride:t,generatedName:r,title:n,value:c,description:i,availability:o,namespace:s,groupName:a,inline:void 0}):void 0,nullable:c=>c!=null?Mr.nullable({nameOverride:t,generatedName:r,title:n,value:c,description:i,availability:o,namespace:s,groupName:a,inline:void 0}):void 0,set:c=>c!=null?Mr.array({nameOverride:t,generatedName:r,title:n,value:c,description:i,availability:o,namespace:s,groupName:a,example:void 0,inline:void 0,minItems:void 0,maxItems:void 0,default:void 0}):void 0,literal:c=>Mr.literal({nameOverride:t,generatedName:r,title:n,value:c._visit({string:u=>ny.string(u),boolean:u=>ny.boolean(u),_other:()=>{throw new B({message:"Unexpected literal type",code:B.Code.InternalError})}}),description:i,availability:o,namespace:s,groupName:a}),named:c=>Mr.reference({schema:c,nameOverride:t,generatedName:r,title:n,description:i,availability:o,namespace:s,groupName:a,source:_P.openapi({file:"<memory>"})})}})}var xSr=h(()=>{"use strict";Dt();No();gc();jt();Tu();rp()});function Orc(e){let t=zr(e,Sn.SOURCE);if(t!=null)return t.endsWith(".proto")?_P.protobuf({file:t}):_P.openapi({file:t})}var Brc=h(()=>{"use strict";gc();Tu();rp()});function CNe(e){if(e!=null&&typeof e=="boolean")return e}var Prc=h(()=>{"use strict"});function iX(){let e=new Map,t=new Map;return{getUniqueSchemaId(r,n,i=!1){let o=e.get(r)||0;if(e.set(r,o+1),o>0&&i){let s=`${r}${o+1}`;return n?.warn?.(`Schema name collision detected: '${r}' already exists. Renaming to '${s}' to avoid conflicts.`),s}return r},getUniqueTitleName(r,n,i,o=!1){let s=t.get(r)||0;if(t.set(r,s+1),s>0&&o){let a=`${r}${s+1}`;return i?.warn(`Schema title collision detected: Multiple schemas use title '${r}'. Schema '${n}' retitled to '${a}' to avoid conflicts.`),a}return r},reset(){e.clear(),t.clear()}}}var VFt=h(()=>{"use strict"});function qn(e){return e?.$ref!=null}var yb=h(()=>{"use strict"});function Drc({nameOverride:e,generatedName:t,title:r,breadcrumbs:n,additionalProperties:i,description:o,availability:s,wrapAsOptional:a,wrapAsNullable:c,context:u,namespace:l,groupName:p,example:d,encoding:f,source:m,minProperties:g,maxProperties:A}){return i===void 0&&(i=u.options.additionalPropertiesDefaultsTo),rto({nameOverride:e,generatedName:t,title:r,wrapAsOptional:a,wrapAsNullable:c,description:o,availability:s,keySchema:{nameOverride:void 0,generatedName:`${t}Key`,title:void 0,description:void 0,availability:void 0,schema:Qi.string({default:void 0,pattern:void 0,format:void 0,minLength:void 0,maxLength:void 0,example:void 0}),namespace:void 0,groupName:void 0},valueSchema:typeof i=="boolean"||_Ft(i,u.options)?Mr.unknown({...kEf(i),generatedName:`${t}Value`}):Rrc(_a(i,!1,u.options.optionalAdditionalProperties?c:!1,u,[...n,"Value"],m,l,void 0,void 0,void 0)),namespace:l,groupName:p,example:d,encoding:f,minProperties:g,maxProperties:A})}function Rrc(e){switch(e.type){case"array":case"enum":case"map":case"object":e.inline=!0;break;case"literal":case"primitive":case"reference":case"unknown":break;case"nullable":case"optional":e.inline=!0,e.value=Rrc(e.value);break;case"oneOf":e.value.inline=!0;break;default:Ie(e)}return e}function rto({nameOverride:e,generatedName:t,title:r,keySchema:n,valueSchema:i,wrapAsOptional:o,wrapAsNullable:s,description:a,availability:c,namespace:u,groupName:l,example:p,encoding:d,minProperties:f,maxProperties:m}){let g=Mr.map({nameOverride:e,generatedName:t,title:r,description:a,availability:c,key:n,value:i,namespace:u,groupName:l,encoding:d,example:p,inline:void 0,minProperties:f,maxProperties:m});return s&&(g=Mr.nullable({nameOverride:e,generatedName:t,title:r,value:g,description:a,availability:c,namespace:u,groupName:l,inline:void 0})),o&&(g=Mr.optional({nameOverride:e,generatedName:t,title:r,value:g,description:a,availability:c,namespace:u,groupName:l,inline:void 0})),g}function _Ft(e,t){return e==null?t.additionalPropertiesDefaultsTo:typeof e=="boolean"?e:typeof e!="object"||e===null?!0:qn(e)||"type"in e&&e.type!=null||"oneOf"in e&&e.oneOf!=null||"anyOf"in e&&e.anyOf!=null?!1:"allOf"in e&&e.allOf!=null?!e.allOf.some(n=>qn(n)?!0:n.type!=null||n.properties!=null||n.allOf!=null||n.oneOf!=null||n.anyOf!=null||n.enum!=null||"items"in n||n.additionalProperties!=null):!("enum"in e&&e.enum!=null)}function kEf(e){let t={nameOverride:void 0,generatedName:"",title:void 0,description:void 0,availability:void 0,example:void 0,namespace:void 0,groupName:void 0};return e==null||typeof e=="boolean"||qn(e)||typeof e!="object"||(e.title!=null&&(t.title=e.title),e.description!=null&&(t.description=e.description)),t}var CSr=h(()=>{"use strict";Dt();gc();GP();yb()});function Frc({nameOverride:e,generatedName:t,title:r,breadcrumbs:n,item:i,description:o,availability:s,wrapAsOptional:a,wrapAsNullable:c,context:u,namespace:l,groupName:p,example:d,source:f,minItems:m,maxItems:g,default:A}){let y=i==null?Mr.unknown({nameOverride:e,generatedName:t,title:r,description:void 0,availability:void 0,example:void 0,namespace:l,groupName:p}):_a(i,!1,!1,u,[...n,"Item"],f,l);return NEf({nameOverride:e,generatedName:t,title:r,namespace:l,groupName:p,itemSchema:y,wrapAsOptional:a,wrapAsNullable:c,description:o,availability:s,example:d,minItems:m,maxItems:g,default:A})}function NEf({nameOverride:e,generatedName:t,title:r,itemSchema:n,wrapAsOptional:i,wrapAsNullable:o,description:s,availability:a,namespace:c,groupName:u,example:l,minItems:p,maxItems:d,default:f}){let m=Mr.array({nameOverride:e,generatedName:t,title:r,value:n,description:s,availability:a,namespace:c,groupName:u,example:l,inline:void 0,minItems:p,maxItems:d,default:f});return o&&(m=Mr.nullable({nameOverride:e,generatedName:t,title:r,value:m,description:s,availability:a,namespace:c,groupName:u,inline:void 0})),i&&(m=Mr.optional({nameOverride:e,generatedName:t,title:r,value:m,description:s,availability:a,namespace:c,groupName:u,inline:void 0})),m}var krc=h(()=>{"use strict";gc();GP()});function zx(e){switch(zr(e,Sn.AVAILABILITY)){case"deprecated":return kh.Deprecated;case"beta":return kh.Beta;case"generally-available":return kh.GenerallyAvailable;case"alpha":return kh.Alpha;case"preview":return kh.Preview;case"legacy":return kh.Legacy;default:break}if(!qn(e)&&e.deprecated)return kh.Deprecated}var MJe=h(()=>{"use strict";gc();Tu();rp();yb()});function qFt(e){let t=e.split("/").map(o=>o.replace(/~1/g,"/")),r=[],n=[jEf,QEf,zEf,MEf,LEf,UEf,VEf,_Ef],i;do{i=t;for(let o of n)if(o.isApplicable(t)){let{refUnderProcessing:s,newBreadcrumbs:a}=o.applyStrategy(t);t=s,r=[...r,...a]}}while(t.join("")!==i.join(""));return r}var jEf,QEf,zEf,MEf,LEf,UEf,VEf,_Ef,nto=h(()=>{"use strict";jEf={isApplicable:e=>e[0]==="#"&&e[1]==="components"&&e[2]==="schemas",applyStrategy:e=>{let t=[e[3]??""];return{refUnderProcessing:e.slice(4),newBreadcrumbs:t}}},QEf={isApplicable:e=>e[0]==="#"&&e[1]==="components"&&e[2]==="responses",applyStrategy:e=>{let t=[e[3]??""];return e=e.slice(4),{refUnderProcessing:e.slice(4),newBreadcrumbs:t}}},zEf={isApplicable:e=>e[0]==="#"&&e[1]==="components"&&e[2]==="parameters",applyStrategy:e=>{let t=[e[3]??""];return e=e.slice(4),e[0]==="schema"&&(e=e.slice(1)),{refUnderProcessing:e,newBreadcrumbs:t}}},MEf={isApplicable:e=>e[0]==="properties",applyStrategy:e=>{let t=[e[1]??""];return{refUnderProcessing:e.slice(2),newBreadcrumbs:t}}},LEf={isApplicable:e=>e[0]==="items",applyStrategy:e=>({refUnderProcessing:e.slice(1),newBreadcrumbs:[]})},UEf={isApplicable:e=>e[0]==="allOf",applyStrategy:e=>({refUnderProcessing:e.slice(1),newBreadcrumbs:[]})},VEf={isApplicable:e=>e[0]==="anyOf",applyStrategy:e=>({refUnderProcessing:e.slice(1),newBreadcrumbs:[]})},_Ef={isApplicable:e=>e[0]==="oneOf",applyStrategy:e=>({refUnderProcessing:e.slice(1),newBreadcrumbs:[]})}});function oy(e,t){let n=e.map(i=>/^[^a-zA-Z0-9]+$/.test(i)?i:ku($n(i))).join("");return/^\d/.test(n)?CFt(n)??n:n}function Nrc(e){let t=e.join("_");return $n(t)}var oX=h(()=>{"use strict";gc();Vi()});function Kf(e){switch(e.type){case"object":return fa.object({allOf:e.allOf,properties:e.properties.map(t=>GEf(t)),allOfPropertyConflicts:e.allOfPropertyConflicts,description:e.description,generatedName:e.generatedName,nameOverride:e.nameOverride,title:e.title,namespace:e.namespace,groupName:e.groupName,additionalProperties:e.additionalProperties,availability:e.availability,encoding:e.encoding,source:e.source,inline:e.inline,minProperties:e.minProperties,maxProperties:e.maxProperties});case"array":return fa.array({description:e.description,availability:e.availability,value:Kf(e.value),generatedName:e.generatedName,nameOverride:e.nameOverride,title:e.title,namespace:e.namespace,groupName:e.groupName,inline:e.inline,minItems:e.minItems,maxItems:e.maxItems,default:e.default});case"enum":return fa.enum({description:e.description,availability:e.availability,generatedName:e.generatedName,nameOverride:e.nameOverride,title:e.title,values:e.values,default:e.default,namespace:e.namespace,groupName:e.groupName,source:e.source,inline:e.inline});case"literal":return fa.literal({description:e.description,availability:e.availability,value:e.value,generatedName:e.generatedName,nameOverride:e.nameOverride,title:e.title,namespace:e.namespace,groupName:e.groupName});case"nullable":return fa.nullable({generatedName:e.generatedName,nameOverride:e.nameOverride,title:e.title,description:e.description,availability:e.availability,value:Kf(e.value),namespace:e.namespace,groupName:e.groupName,inline:e.inline});case"optional":return fa.optional({generatedName:e.generatedName,nameOverride:e.nameOverride,title:e.title,description:e.description,availability:e.availability,value:Kf(e.value),namespace:e.namespace,groupName:e.groupName,inline:e.inline});case"primitive":return fa.primitive({description:e.description,availability:e.availability,schema:jrc(e.schema),generatedName:e.generatedName,nameOverride:e.nameOverride,title:e.title,namespace:e.namespace,groupName:e.groupName});case"map":return fa.map({description:e.description,availability:e.availability,key:fa.primitive({description:e.key.description,availability:e.key.availability,schema:jrc(e.key.schema),generatedName:e.key.generatedName,title:e.key.title,nameOverride:e.key.nameOverride,namespace:e.namespace,groupName:e.groupName}),value:Kf(e.value),generatedName:e.generatedName,title:e.title,nameOverride:e.nameOverride,namespace:e.namespace,groupName:e.groupName,encoding:e.encoding,inline:e.inline,minProperties:e.minProperties,maxProperties:e.maxProperties});case"reference":return fa.reference({description:e.description,availability:e.availability,generatedName:e.generatedName,nameOverride:e.nameOverride,title:e.title,schema:e.schema,namespace:e.namespace,groupName:e.groupName,source:e.source});case"oneOf":return fa.oneOf(qEf(e.value));case"unknown":return fa.unknown({nameOverride:e.nameOverride,generatedName:e.generatedName,title:e.title,description:e.description,availability:e.availability,namespace:e.namespace,groupName:e.groupName});default:Ie(e)}}function qEf(e){switch(e.type){case"discriminated":return KY.discriminated({commonProperties:e.commonProperties.map(t=>({key:t.key,schema:Kf(t.schema)})),description:e.description,availability:e.availability,discriminantProperty:e.discriminantProperty,discriminantPropertyNameOverride:e.discriminantPropertyNameOverride,discriminatorContext:e.discriminatorContext,defaultDiscriminantValue:e.defaultDiscriminantValue,generatedName:e.generatedName,title:e.title,nameOverride:e.nameOverride,schemas:Object.fromEntries(Object.entries(e.schemas).map(([t,r])=>[t,Kf(r)])),namespace:e.namespace,groupName:e.groupName,encoding:e.encoding,source:e.source,inline:e.inline});case"undiscriminated":return KY.undiscriminated({description:e.description,availability:e.availability,generatedName:e.generatedName,title:e.title,nameOverride:e.nameOverride,commonProperties:e.commonProperties?.map(t=>({key:t.key,schema:Kf(t.schema)})),schemas:e.schemas.map(t=>Kf(t)),namespace:e.namespace,groupName:e.groupName,encoding:e.encoding,source:e.source,inline:e.inline});default:Ie(e)}}function jrc(e){switch(e.type){case"string":return Lu.string(e);case"base64":return Lu.base64();case"boolean":return Lu.boolean(e);case"date":return Lu.date();case"datetime":return Lu.datetime();case"datetimeRfc2822":return Lu.datetimeRfc2822();case"double":return Lu.double(e);case"float":return Lu.float();case"int":return Lu.int(e);case"int64":return Lu.int64(e);case"uint":return Lu.uint();case"uint64":return Lu.uint64();default:Ie(e)}}function GEf(e){return{conflict:e.conflict,generatedName:e.generatedName,key:e.key,schema:Kf(e.schema),audiences:e.audiences,nameOverride:e.nameOverride,availability:e.availability,readonly:e.readonly,writeonly:e.writeonly}}var LJe=h(()=>{"use strict";Dt();gc()});function UJe(e,t){return Fj(Kf(e),Kf(t))}var ito=h(()=>{"use strict";gc();LJe()});function Qrc({nameOverride:e,generatedName:t,title:r,breadcrumbs:n,properties:i,description:o,required:s,wrapAsOptional:a,wrapAsNullable:c,allOf:u,context:l,propertiesToExclude:p,namespace:d,groupName:f,fullExamples:m,additionalProperties:g,availability:A,encoding:y,source:E,minProperties:v,maxProperties:I}){let C=[...s??[]],w={...zrc({properties:i,breadcrumbs:n,context:l})},T=[],P=[];for(let J of u)if(!l.options.inlineAllOfSchemas&&qn(J)){let Z=l.resolveSchemaReference(J);if(Z.discriminator!=null&&Z.discriminator.mapping!=null)continue;if(Z.oneOf!=null||Z.anyOf!=null){let le=Z.oneOf??Z.anyOf;if(le!=null){for(let oe of le){let ce=qn(oe)?l.resolveSchemaReference(oe):oe,Te=_a(ce,!1,!1,l.DUMMY,n,E,d);Te.type==="object"&&T.push(...Te.properties.map(Fe=>Fe.schema.type!=="optional"&&Fe.schema.type!=="nullable"?{...Fe,schema:Mr.optional({nameOverride:void 0,generatedName:"",title:void 0,value:Fe.schema,description:void 0,availability:Fe.availability,namespace:void 0,groupName:void 0,inline:void 0})}:Fe))}continue}}let ae=VJe(J);if(ae==null)continue;P.push({schemaId:ae,convertedSchema:sto(J,[ae],E,l.options.preserveSchemaIds,l),properties:wSr({schema:J,context:l,breadcrumbs:n,source:E,namespace:d})}),l.markSchemaAsReferencedByNonRequest(ae)}else if(qn(J)){let Z=l.resolveSchemaReference(J),ae=_a(Z,!1,!1,l,n,E,d);ae.type==="object"&&T.push(...ae.properties)}else{let Z=J.required??[];T=T.map(oe=>(oe.schema.type==="optional"||oe.schema.type==="nullable")&&Z.includes(oe.key)?{...oe,schema:oe.schema.value}:oe);let ae=J;if(J.properties!=null){let oe={};for(let[ce,Te]of Object.entries(J.properties)){let Fe=Te;if(!qn(Te))for(let se of u){if(se===J||!qn(se))continue;let xe=l.resolveSchemaReference(se).properties?.[ce];if(xe!=null&&!qn(xe)){Fe={...xe,...Te};break}}oe[ce]=Fe}ae={...J,properties:oe}}let le=ae.oneOf??ae.anyOf;if(le!=null&&ae.type==null&&ae.properties==null){let oe=new Set(T.map(ce=>ce.key));for(let ce of le){let Te=qn(ce)?l.resolveSchemaReference(ce):ce,Fe=HEf(Te),se=_a(Fe,!1,!1,l,n,E,d);if(se.type==="object")for(let pe of se.properties)oe.has(pe.key)||(oe.add(pe.key),pe.schema.type!=="optional"&&pe.schema.type!=="nullable"?T.push({...pe,schema:Mr.optional({nameOverride:void 0,generatedName:"",title:void 0,value:pe.schema,description:void 0,availability:pe.availability,namespace:void 0,groupName:void 0,inline:void 0})}):T.push(pe))}}else{let oe=_a(ae,!1,!1,l,n,E,d);oe.type==="object"&&T.push(...oe.properties)}}let O={};for(let J of P)for(let[Z,ae]of Object.entries(J.properties)){let le=O[Z];le!=null?(le.schemaIds.push(J.schemaId),le.schemas.some(ce=>UJe(ce,ae))||le.schemas.push(ae)):O[Z]={schemaIds:[J.schemaId],schemas:[ae]}}let M=[];for(let[J,Z]of Object.entries(O))Z.schemaIds.length>1&&M.push({propertyKey:J,allOfSchemaIds:Z.schemaIds,conflictingTypeSignatures:Z.schemas.length>1});let K=Object.entries(w).map(([J,Z])=>{let ae=zr(Z,Sn.AUDIENCES)??[],le=zx(Z),oe=qn(Z)?l.resolveSchemaReference(Z):Z,ce="readOnly"in Z&&Z.readOnly===!0||oe.readOnly,Te="writeOnly"in Z&&Z.writeOnly===!0||oe.writeOnly,se=!(C.includes(J)&&(!ce||l.options.respectReadonlySchemas)),pe=zr(Z,Sn.FERN_PROPERTY_NAME),xe=[...n,J],Ee=Nrc(xe),De=_a(Z,se,!1,l,xe,E,d),Ke={};for(let ct of P){let Ct=ct.properties[J];Ct!=null&&!UJe(De,Ct)?Ke[ct.schemaId]={differentSchema:!0}:Ct!=null&&(Ke[ct.schemaId]={differentSchema:!1})}return{key:J,schema:De,nameOverride:pe,audiences:ae,conflict:Ke,generatedName:Ee,availability:le,readonly:ce,writeonly:Te}});return K.push(...T.map(J=>{let Z=J.conflict;for(let ae of P){let le=ae.properties[J.key];le!=null&&!UJe(J.schema,le)?Z[ae.schemaId]={differentSchema:!0}:le!=null&&(Z[ae.schemaId]={differentSchema:!1})}return C.includes(J.key)&&(J.schema.type==="optional"||J.schema.type==="nullable")&&(!J.readonly||l.options.respectReadonlySchemas)?{...J,schema:J.schema.value,conflict:Z}:{...J,conflict:Z}})),WEf({nameOverride:e,generatedName:t,title:r,wrapAsOptional:a,wrapAsNullable:c,properties:K.filter(J=>!p.has(J.key)),description:o,allOf:P.map(J=>J.convertedSchema),allOfPropertyConflicts:M,namespace:d,groupName:f,fullExamples:m,additionalProperties:g,availability:A,encoding:y,source:E,context:l,minProperties:v,maxProperties:I})}function WEf({nameOverride:e,generatedName:t,title:r,wrapAsOptional:n,wrapAsNullable:i,properties:o,description:s,allOf:a,allOfPropertyConflicts:c,namespace:u,groupName:l,fullExamples:p,additionalProperties:d,availability:f,encoding:m,source:g,context:A,minProperties:y,maxProperties:E}){let v=Mr.object({description:s,properties:o,nameOverride:e,generatedName:t,title:r,allOf:a,allOfPropertyConflicts:c,namespace:u,groupName:l,fullExamples:p,additionalProperties:_Ft(d,A.options),availability:f,encoding:m,source:g,inline:void 0,minProperties:y,maxProperties:E});return i&&(v=Mr.nullable({nameOverride:e,generatedName:t,title:r,value:v,description:s,availability:f,namespace:u,groupName:l,inline:void 0})),n&&(v=Mr.optional({nameOverride:e,generatedName:t,title:r,value:v,description:s,availability:f,namespace:u,groupName:l,inline:void 0})),v}function zrc({properties:e,breadcrumbs:t,context:r}){return Object.fromEntries(Object.entries(e).filter(([n,i])=>{let o=zr(i,Sn.IGNORE);return o&&r.logger.debug(`Property ${t.join(".")}.${n} is marked with x-fern-ignore. Skipping.`),!o}))}function HEf(e){if(e.properties==null)return e;let t={};for(let[r,n]of Object.entries(e.properties))!qn(n)&&"not"in n||(t[r]=n);return{...e,properties:t}}function wSr({schema:e,context:t,breadcrumbs:r,source:n,namespace:i}){let o={},[s,a]=qn(e)?[t.resolveSchemaReference(e),qFt(e.$ref)]:[e,r];for(let c of s.allOf??[])o={...o,...wSr({schema:c,context:t,breadcrumbs:a,source:n,namespace:i})};for(let[c,u]of Object.entries(zrc({properties:s.properties??{},breadcrumbs:r,context:t}))){let l=_a(u,!1,!1,t,[...a,c],n,i);o[c]=l}return o}var oto=h(()=>{"use strict";gc();Tu();rp();CSr();MJe();GP();nto();oX();yb();ito()});function ato(e,t){let r={...e.properties??{}};for(let n of e.allOf??[])if(qn(n)){let i=t.resolveSchemaReference(n);r={...ato(i,t),...r}}else r={...ato(n,t),...r};return r}function JEf(e,t){return qn(e)?t.resolveSchemaReference(e):e}function Mrc(e,t){let r=ato(e,t),n=Object.entries(r);if(n.length===0)return!1;let i=!1;for(let[o,s]of n){if(!KEf.has(o))return!1;let a=JEf(s,t);switch(o){case"event":if(i=!0,a.type!=="string")return!1;break;case"id":if(a.type!=="string")return!1;break;case"retry":if(a.type!=="integer")return!1;break;case"data":break}}return i}function GFt({discriminator:e,context:t}){return zr(e,Sn.DISCRIMINATOR_CONTEXT)??YEf({discriminator:e,context:t})}function YEf({discriminator:e,context:t}){let r=e.mapping;if(r==null||Object.keys(r).length===0)return"data";for(let n of Object.values(r))try{let i=t.resolveSchemaReference({$ref:n});if(!Mrc(i,t))return"data"}catch{return"data"}return"protocol"}function Lrc({variants:e,context:t}){let r=Object.values(e);if(r.length===0)return"data";for(let n of r)try{let i=qn(n)?t.resolveSchemaReference(n):n;if(!Mrc(i,t))return"data"}catch{return"data"}return"protocol"}var KEf,cto=h(()=>{"use strict";Tu();rp();yb();KEf=new Set(["event","data","id","retry"])});function SSr({nameOverride:e,generatedName:t,title:r,breadcrumbs:n,properties:i,description:o,availability:s,required:a,wrapAsOptional:c,wrapAsNullable:u,discriminator:l,context:p,namespace:d,groupName:f,encoding:m,source:g}){let A=l.propertyName,y=zr(l,Sn.FERN_PROPERTY_NAME),E=GFt({discriminator:l,context:p}),v=Object.fromEntries(Object.entries(l.mapping??{}).map(([C,w])=>{let T=nL({$ref:w},!1,!1,p,[w],m,g,d);return p.markReferencedByDiscriminatedUnion({$ref:w},A,1),[C,T]})),I=Object.entries(i).filter(([C])=>C!==A).map(([C,w])=>{let T=a!=null&&a.includes(C),[P,O]=p.options.coerceOptionalSchemasToNullable?[!1,!T]:[!T,!1],M=_a(w,P,O,p,[...n,C],g,d);return{key:C,schema:M}});if(p.options.shouldInferDiscriminatedUnionBaseProperties){let C=Object.values(l.mapping??{}).map(T=>({$ref:T})),w=Vrc({variants:C,discriminant:A,existingPropertyNames:new Set(I.map(T=>T.key)),context:p,breadcrumbs:n,source:g,namespace:d});I.push(...w)}return Urc({nameOverride:e,generatedName:t,title:r,wrapAsOptional:c,wrapAsNullable:u,properties:I,description:o,availability:s,discriminant:A,discriminantNameOverride:y,discriminatorContext:E,subtypes:v,defaultDiscriminantValue:void 0,namespace:d,groupName:f,source:g})}function uto({nameOverride:e,generatedName:t,title:r,breadcrumbs:n,properties:i,description:o,availability:s,required:a,wrapAsOptional:c,wrapAsNullable:u,discriminant:l,variants:p,defaultDiscriminantValue:d,context:f,namespace:m,groupName:g,encoding:A,source:y}){let E=Object.fromEntries(Object.entries(p).map(([I,C])=>{if(qn(C)){let w=nL(C,!1,!1,f,[C.$ref],A,y,m);return f.markReferencedByDiscriminatedUnion(C,l,1),[I,w]}else{let w=_Je(C,!1,!1,f,[...n,I],A,y,m,new Set([l]));return[I,w]}})),v=Object.entries(i).filter(([I])=>I!==l).map(([I,C])=>{let w=a!=null&&a.includes(I),[T,P]=f.options.coerceOptionalSchemasToNullable?[!1,!w]:[!w,!1],O=_a(C,T,P,f,[...n,I],y,m);return{key:I,schema:O}});if(f.options.shouldInferDiscriminatedUnionBaseProperties){let I=Vrc({variants:Object.values(p),discriminant:l,existingPropertyNames:new Set(v.map(C=>C.key)),context:f,breadcrumbs:n,source:y,namespace:m});v.push(...I)}return Urc({nameOverride:e,generatedName:t,title:r,wrapAsOptional:c,wrapAsNullable:u,properties:v,description:o,availability:s,discriminant:l,discriminantNameOverride:void 0,discriminatorContext:Lrc({variants:p,context:f}),subtypes:E,defaultDiscriminantValue:d,namespace:m,groupName:g,source:y})}function Urc({nameOverride:e,generatedName:t,title:r,wrapAsOptional:n,wrapAsNullable:i,properties:o,description:s,availability:a,discriminant:c,discriminantNameOverride:u,discriminatorContext:l,subtypes:p,defaultDiscriminantValue:d,namespace:f,groupName:m,source:g}){let A=Mr.oneOf(tL.discriminated({description:s,availability:a,discriminantProperty:c,discriminantPropertyNameOverride:u,discriminatorContext:l,defaultDiscriminantValue:d,nameOverride:e,generatedName:t,title:r,schemas:p,commonProperties:o,namespace:f,groupName:m,encoding:void 0,source:g,inline:void 0}));return i&&(A=Mr.nullable({nameOverride:e,generatedName:t,title:r,value:A,namespace:f,groupName:m,description:s,availability:a,inline:void 0})),n&&(A=Mr.optional({nameOverride:e,generatedName:t,title:r,value:A,namespace:f,groupName:m,description:s,availability:a,inline:void 0})),A}function Vrc({variants:e,discriminant:t,existingPropertyNames:r,context:n,breadcrumbs:i,source:o,namespace:s}){if(e.length===0)return[];let a=e.map(p=>wSr({schema:p,context:n,breadcrumbs:i,source:o,namespace:s})),c=a[0];if(c==null)return[];let u=e.map(p=>_rc({schema:p,context:n,visited:new Set})),l=[];for(let[p,d]of Object.entries(c)){if(p===t||r.has(p))continue;let f=!0;for(let A=1;A<a.length;A++){let E=a[A]?.[p];if(E==null||!UJe(d,E)){f=!1;break}}if(!f)continue;let g=u.every(A=>A.has(p))||d.type==="optional"||d.type==="nullable"?d:Mr.optional({nameOverride:void 0,generatedName:"",title:void 0,value:d,description:void 0,availability:void 0,namespace:void 0,groupName:void 0,inline:void 0});l.push({key:p,schema:g})}return l}function _rc({schema:e,context:t,visited:r}){let n=new Set,i;if(qn(e)){if(r.has(e.$ref))return n;r.add(e.$ref),i=t.resolveSchemaReference(e)}else i=e;for(let o of i.required??[])n.add(o);for(let o of i.allOf??[]){let s=_rc({schema:o,context:t,visited:r});for(let a of s)n.add(a)}return n}var qrc=h(()=>{"use strict";gc();Tu();rp();oto();GP();cto();yb();ito()});function Grc(e){if(e.proto!=null)return _Ke.protobuf({typeName:e.proto.type})}var Wrc=h(()=>{"use strict";gc()});function ibe({nameOverride:e,generatedName:t,title:r,fernEnum:n,enumVarNames:i,enumValues:o,_default:s,description:a,availability:c,wrapAsOptional:u,wrapAsNullable:l,namespace:p,groupName:d,context:f,source:m,inline:g}){let A=ZEf(i??[]),y=new Set(o),E=Array.from(y).map((I,C)=>{let w=n?.[I],T=A[C],P=PJe.test(I),O=w?.name??T,M=P?I:DJe(I);return O!=null&&!PJe.test(O)&&(f?.logger.warn(`Enum name override ${O} is not a valid name. Falling back on ${M}.`),O=void 0),{nameOverride:O,generatedName:M,value:I,description:w?.description,availability:c,casing:{snake:w?.casing?.snake??void 0,pascal:w?.casing?.pascal??void 0,screamingSnake:w?.casing?.screamingSnake??void 0,camel:w?.casing?.camel??void 0}}}),v=s!=null?E.find(I=>I.value===s):void 0;return XEf({wrapAsOptional:u,wrapAsNullable:l,nameOverride:e,generatedName:t,title:r,values:E,_default:v,description:a,availability:c,namespace:p,groupName:d,source:m,inline:g})}function XEf({wrapAsOptional:e,wrapAsNullable:t,nameOverride:r,generatedName:n,title:i,values:o,_default:s,description:a,availability:c,namespace:u,groupName:l,source:p,inline:d}){let f=Mr.enum({nameOverride:r,generatedName:n,title:i,values:o,description:a,availability:c,default:s,example:void 0,namespace:u,groupName:l,source:p,inline:d});return t&&(f=Mr.nullable({nameOverride:r,generatedName:n,title:i,value:f,description:a,availability:c,namespace:u,groupName:l,inline:d})),e&&(f=Mr.optional({nameOverride:r,generatedName:n,title:i,value:f,description:a,availability:c,namespace:u,groupName:l,inline:d})),f}function ZEf(e){if(e.length<=1||e[0]==null)return e;let t=e[0],r=0;for(;t[r]!=null&&e.every(n=>n[r]===t[r]);)r++;return e.map(n=>n.substring(r))}var TSr=h(()=>{"use strict";gc()});function Hrc({nameOverride:e,generatedName:t,title:r,format:n,_default:i,minimum:o,maximum:s,exclusiveMinimum:a,exclusiveMaximum:c,multipleOf:u,description:l,availability:p,wrapAsOptional:d,wrapAsNullable:f,example:m,namespace:g,groupName:A,defaultIntegerFormat:y=jn.DefaultIntegerFormat.Int32}){let E=n??y,v=(()=>{switch(E){case jn.DefaultIntegerFormat.Int64:return Qi.int64({default:i,example:m});case jn.DefaultIntegerFormat.Uint32:return Qi.uint({default:i,example:m});case jn.DefaultIntegerFormat.Uint64:return Qi.uint64({default:i,example:m});default:return Qi.int({default:i,minimum:o,maximum:s,exclusiveMinimum:a,exclusiveMaximum:c,multipleOf:u,example:m})}})();return WS({nameOverride:e,generatedName:t,title:r,primitive:v,wrapAsOptional:d,wrapAsNullable:f,description:l,availability:p,namespace:g,groupName:A})}var Krc=h(()=>{"use strict";Va();gc();GP()});function $Ef(e){return typeof e=="string"?ny.string(e):typeof e=="boolean"?ny.boolean(e):ny.string(`${e}`)}function lto({nameOverride:e,generatedName:t,title:r,wrapAsOptional:n,wrapAsNullable:i,value:o,description:s,availability:a,namespace:c,groupName:u}){let l=Mr.literal({nameOverride:e,generatedName:t,title:r,value:$Ef(o),description:s,availability:a,namespace:c,groupName:u});return i&&(l=Mr.nullable({nameOverride:e,generatedName:t,title:r,value:l,description:s,availability:a,namespace:c,groupName:u,inline:void 0})),n&&(l=Mr.optional({nameOverride:e,generatedName:t,title:r,value:l,description:s,availability:a,namespace:c,groupName:u,inline:void 0})),l}var Jrc=h(()=>{"use strict";gc()});function pto({nameOverride:e,generatedName:t,title:r,format:n,_default:i,minimum:o,maximum:s,exclusiveMinimum:a,exclusiveMaximum:c,multipleOf:u,description:l,availability:p,wrapAsOptional:d,wrapAsNullable:f,example:m,namespace:g,groupName:A}){return n==null||n==="double"?WS({nameOverride:e,generatedName:t,title:r,primitive:Qi.double({default:i,minimum:o,maximum:s,exclusiveMinimum:a,exclusiveMaximum:c,multipleOf:u,example:m}),wrapAsOptional:d,wrapAsNullable:f,description:l,availability:p,namespace:g,groupName:A}):n==="float"?WS({nameOverride:e,generatedName:t,title:r,primitive:Qi.float({example:m}),wrapAsOptional:d,wrapAsNullable:f,description:l,availability:p,namespace:g,groupName:A}):n==="int32"?WS({nameOverride:e,generatedName:t,title:r,primitive:Qi.int({default:i,minimum:o,maximum:s,exclusiveMinimum:a,exclusiveMaximum:c,multipleOf:u,example:m}),wrapAsOptional:d,wrapAsNullable:f,description:l,availability:p,namespace:g,groupName:A}):n==="int64"?WS({nameOverride:e,generatedName:t,title:r,primitive:Qi.int64({default:i,example:m}),wrapAsOptional:d,wrapAsNullable:f,description:l,availability:p,namespace:g,groupName:A}):n==="uint32"?WS({nameOverride:e,generatedName:t,title:r,primitive:Qi.uint({default:i,example:m}),wrapAsOptional:d,wrapAsNullable:f,description:l,availability:p,namespace:g,groupName:A}):n==="uint64"?WS({nameOverride:e,generatedName:t,title:r,primitive:Qi.uint64({default:i,example:m}),wrapAsOptional:d,wrapAsNullable:f,description:l,availability:p,namespace:g,groupName:A}):n==="time-delta"?WS({nameOverride:e,generatedName:t,title:r,primitive:Qi.float({example:m}),wrapAsOptional:d,wrapAsNullable:f,description:l,availability:p,namespace:g,groupName:A}):WS({nameOverride:e,generatedName:t,title:r,primitive:Qi.float({example:m}),wrapAsOptional:d,wrapAsNullable:f,description:l,availability:p,namespace:g,groupName:A})}var Yrc=h(()=>{"use strict";gc();GP()});function obe({nameOverride:e,generatedName:t,title:r,breadcrumbs:n,description:i,availability:o,wrapAsOptional:s,wrapAsNullable:a,context:c,subtypes:u,namespace:l,groupName:p,encoding:d,source:f,subtypeSuffixOverrides:m,properties:g,required:A}){let y=rIf({schemas:u}),E=u.flatMap((C,w)=>{if(!qn(C)&&C.enum!=null&&c.options.coerceEnumsToLiterals&&C.type==="string")return C.enum.map(P=>Mr.literal({nameOverride:void 0,generatedName:oy([t,P],c.options.preserveSchemaIds),title:void 0,value:ny.string(String(P)),namespace:l,groupName:void 0,description:void 0,availability:P.availability}));let T=y[w];if(m!=null){let P=m[w];P!=null&&"name"in P&&(T=P.name)}return[_a(C,!1,!1,c,[...n,T??`${w}`],f,l)]}),v=g!=null&&Object.keys(g).length>0?Object.entries(g).map(([C,w])=>{let T=A!=null&&A.includes(C),[P,O]=c.options.coerceOptionalSchemasToNullable?[!1,!T]:[!T,!1];return{key:C,schema:_a(w,P,O,c,[...n,C],f,l)}}):void 0,I=eIf(E);return tIf({uniqueSubtypes:I,nameOverride:e,generatedName:t,title:r,wrapAsOptional:s,wrapAsNullable:a,description:i,availability:o,namespace:l,groupName:p,context:c,encoding:d,source:f,commonProperties:v})}function eIf(e){let t=[];for(let r=0;r<e.length;++r){let n=e[r],i=!1;for(let o=r+1;o<e.length;++o){let s=e[o];if(n!=null&&s!=null&&Fj(n,s)){i=!0;break}}n!=null&&!i&&t.push(n)}return t}function tIf({uniqueSubtypes:e,nameOverride:t,generatedName:r,title:n,wrapAsOptional:i,wrapAsNullable:o,description:s,availability:a,namespace:c,groupName:u,context:l,encoding:p,source:d,commonProperties:f}){let m=f!=null&&f.length>0;if(Object.entries(e).every(([A,y])=>y.type==="literal")&&!m){let A={},y=[];return Object.entries(e).forEach(([E,v])=>{v.type==="literal"&&v.value.type==="string"&&(y.push(v.value.value),v.description!=null&&(A[v.value.value]={description:v.description}))}),ibe({nameOverride:t,generatedName:r,title:n,wrapAsOptional:i,wrapAsNullable:o,description:s,availability:a,fernEnum:A,enumVarNames:void 0,enumValues:y,_default:void 0,namespace:c,groupName:u,context:l,source:d,inline:void 0})}if(e.length===1&&e[0]!=null&&!l.options.preserveSingleSchemaOneOf&&!m){let A=e[0];return o&&(A=Mr.nullable({nameOverride:t,generatedName:r,title:n,value:A,description:s,availability:a,namespace:c,groupName:u,inline:void 0})),i&&(A=Mr.optional({nameOverride:t,generatedName:r,title:n,value:A,description:s,availability:a,namespace:c,groupName:u,inline:void 0})),A}return Xrc({nameOverride:t,generatedName:r,title:n,wrapAsOptional:i,wrapAsNullable:o,description:s,availability:a,subtypes:e,namespace:c,groupName:u,encoding:p,source:d,commonProperties:f})}function fto({nameOverride:e,generatedName:t,title:r,description:n,availability:i,wrapAsOptional:o,wrapAsNullable:s,context:a,namespace:c,groupName:u,discriminator:l,encoding:p,source:d}){let f=Object.entries(l.mapping??{}).map(([A,y],E)=>{let v={$ref:y},I=nL(v,!1,!1,a,[y],p,d,c);return a.markSchemaWithDiscriminantValue(v,l.propertyName,A),I.type==="object"&&(I.properties={[l.propertyName]:Mr.literal({nameOverride:void 0,generatedName:oy([t,A],a.options.preserveSchemaIds),title:void 0,value:ny.string(A),namespace:void 0,groupName:void 0,description:void 0,availability:void 0}),...I.properties.filter(C=>C.key!==l.propertyName)}),I}),m=[];for(let A=0;A<f.length;++A){let y=f[A],E=!1;for(let v=A+1;v<f.length;++v){let I=f[v];if(y!=null&&I!=null&&Fj(y,I)){E=!0;break}}y!=null&&!E&&m.push(y)}if(Object.entries(m).every(([A,y])=>y.type==="literal")){let A={},y=[];return Object.entries(m).forEach(([E,v])=>{v.type==="literal"&&v.value.type==="string"&&(y.push(v.value.value),v.description!=null&&(A[v.value.value]={description:v.description}))}),ibe({nameOverride:e,generatedName:t,title:r,wrapAsOptional:o,wrapAsNullable:s,description:n,availability:i,fernEnum:A,enumVarNames:void 0,enumValues:y,_default:void 0,namespace:c,groupName:u,context:a,source:d,inline:void 0})}return m.length===1&&m[0]!=null&&!a.options.preserveSingleSchemaOneOf?m[0]:Xrc({nameOverride:e,generatedName:t,title:r,wrapAsOptional:o,wrapAsNullable:s,description:n,availability:i,subtypes:m,namespace:c,groupName:u,encoding:p,source:d})}function rIf({schemas:e}){let t={},r=0;for(let i of e){if(!qn(i)){if(i.properties!=null&&Object.entries(i.properties).length>0){let o=Object.keys(i.properties),s={},a=o;for(let[c,u]of Object.entries(t)){let l=rir(u,o);a=rir(a,u),s[c]=l}s[r]=a,t=s}}r++}return e.map((i,o)=>{let s=t[o];if(s!=null&&s.length>0){let a=s.sort();if(a[0]!=null)return a[0]}return hNe(o)??`${o}`})}function Xrc({nameOverride:e,generatedName:t,title:r,wrapAsOptional:n,wrapAsNullable:i,description:o,availability:s,subtypes:a,namespace:c,groupName:u,encoding:l,source:p,commonProperties:d}){let f=Mr.oneOf(tL.undiscriminated({description:o,availability:s,nameOverride:e,generatedName:t,title:r,commonProperties:d!=null&&d.length>0?d:void 0,schemas:a,namespace:c,groupName:u,encoding:l,source:p,inline:void 0}));return i&&(f=Mr.nullable({nameOverride:e,generatedName:t,title:r,value:f,description:o,availability:s,namespace:c,groupName:u,inline:void 0})),n&&(f=Mr.optional({nameOverride:e,generatedName:t,title:r,value:f,description:o,availability:s,namespace:c,groupName:u,inline:void 0})),f}var dto=h(()=>{"use strict";gc();Vi();TSr();GP();oX();yb()});function qJe(e){if(e.default!=null&&typeof e.default=="string")return e.default}var mto=h(()=>{"use strict"});function OSr({schema:e,logger:t,fallback:r}){if(e.example!=null&&typeof e.example=="number")return e.example;let n=xNe(e);for(let i of n??[])if(typeof i=="number")return i;if(r&&typeof r=="number")return r}function Zrc({schema:e,logger:t,fallback:r}){if(e.example!=null&&typeof e.example=="boolean")return e.example;let n=xNe(e);for(let i of n??[])if(typeof i=="boolean")return i;if(r&&typeof r=="boolean")return r}function WU({schema:e,logger:t,fallback:r}){if(e.example!=null&&typeof e.example=="string")return e.example;let n=xNe(e);for(let i of n??[])if(typeof i=="string")return i;if(r&&typeof r=="string")return r}function BSr({schema:e,logger:t,fallback:r}){if(e.example!=null&&Array.isArray(e.example))return e.example;let n=xNe(e);for(let i of n??[])if(Array.isArray(i))return i;if(r&&Array.isArray(r))return r}var hto=h(()=>{"use strict";tto()});function FSr(){rnc.reset()}function nIf(e,t,r){let n=zr(e,Sn.TYPE_NAME),i=t.options.useTitlesAsName?sIf(e.title):void 0,o=n??i;if(!o)return;let s=r.split(".");return n!=null||s.length===1?rnc.getUniqueTitleName(o,r,t.logger,t.options.resolveSchemaCollisions):o}function nnc(e,t){let r=qn(e)?t.resolveSchemaReference(e):e;switch(r.type){case"boolean":case"number":case"integer":return!0;case"string":return r.enum==null;case"array":return nnc(r.items,t);case"object":return!1;case void 0:return!1;default:return r.type==="null"?!0:(t.logger.warn("Unhandled schema type. Will not inline this schema",JSON.stringify(r)),!1)}}function iIf(e,t,r){return r.options.resolveAliases?typeof r.options.resolveAliases=="object"&&r.options.resolveAliases.except?.includes(e)?!1:nnc(t,r):!1}function _a(e,t,r,n,i,o,s,a=!1,c=new Set,u){let l=Orc(e)??o,p=dIf({schema:e,logger:n.logger}),d=u;if(qn(e)){let f=oIf(e);f!==void 0&&(d=f)}if(qn(e)){let f=VJe(e);return f!=null?iIf(f,e,n)?_Je(n.resolveSchemaReference(e),t,r,n,qFt(e.$ref),p,l,s,c,a,d):(a?n.markSchemaAsReferencedByRequest(f):n.markSchemaAsReferencedByNonRequest(f),nL(e,t,r,n,i,p,l,s)):_Je(n.resolveSchemaReference(e),t,r,n,qFt(e.$ref),p,l,s,c,a,d)}return _Je(e,t,r,n,i,p,l,s,c,a,u)}function oIf(e){if("example"in e&&e.example!==void 0){let t=e.example;if(typeof t=="string"||typeof t=="number"||typeof t=="boolean"||Array.isArray(t))return t}if("examples"in e){let t=e.examples;if(Array.isArray(t)&&t.length>0){let r=t[0];if(typeof r=="string"||typeof r=="number"||typeof r=="boolean"||Array.isArray(r))return r}}}function nL(e,t,r,n,i,o,s,a){let c=e.$ref.includes("properties")?_Je(n.resolveSchemaReference(e),t,r,n,i,o,s,a,new Set):Mr.reference(sto(e,i,s,n.options.preserveSchemaIds,n));if(r===!1){let u=n.resolveSchemaReference(e);(u.nullable===!0||Array.isArray(u.type)&&u.type.length>=2&&u.type.includes("null"))&&(r=!0)}return r&&(c=Mr.nullable({title:void 0,nameOverride:void 0,generatedName:oy(i,n.options.preserveSchemaIds),value:c,description:void 0,availability:void 0,namespace:void 0,groupName:void 0,inline:void 0})),t&&(c=Mr.optional({title:void 0,nameOverride:void 0,generatedName:oy(i,n.options.preserveSchemaIds),value:c,description:void 0,availability:void 0,namespace:void 0,groupName:void 0,inline:void 0})),c}function sIf(e){if(e!=null&&!e.includes(" ")&&/^[a-zA-Z]+$/.test(e))return e}function _Je(e,t,r,n,i,o,s,a,c=new Set,u=!1,l){typeof e=="string"&&(e={type:e});let p=nIf(e,n,i.join(".")),d=zr(e,Sn.SDK_GROUP_NAME)??zr(e,LO.TAGS)?.[0],f=(typeof d=="string"?[d]:d)??[];f=n.resolveGroupName(f);let m=oy(i,n.options.preserveSchemaIds),g=e.title,A=e.description,y=zx(e),E=[];e.example!=null&&E.push({name:void 0,value:e.example,description:void 0});let v=zr(e,LO.EXAMPLES);v!=null&&Object.keys(v).length>0&&E.push(...Object.entries(v).map(([w,T])=>({name:T?.summary??w,value:T.value,description:T.description})));let I=xNe(e);I!=null&&Object.keys(I).length>0&&E.push(...I.map(w=>({name:void 0,value:w,description:void 0})));let C=Trc({schema:e,description:A,title:g,nameOverride:p,generatedName:m,availability:y});if(C!=null){let w=C;return r&&(w=Mr.nullable({availability:y,namespace:a,groupName:f,description:A,generatedName:m,inline:void 0,nameOverride:p,title:g,value:w})),t&&(w=Mr.optional({availability:y,namespace:a,groupName:f,description:A,generatedName:m,inline:void 0,nameOverride:p,title:g,value:w})),w}try{if(Array.isArray(e.type)){let K=e.type.indexOf("null"),J=K!==-1;if(e.type.length===1)e.type=e.type[0];else if(e.type.length===2&&J)e.type.splice(K,1),e.type=e.type[0],e.nullable=!0;else if(J&&(e.type.splice(K,1),e.nullable=!0),e.oneOf==null)e.oneOf=[...new Set(e.type)];else{let Z=new Set([...e.oneOf,...e.type]);e.oneOf=[...Z]}}r=r||e.nullable===!0;let w="const"in e,T=w&&n.options.coerceConstsTo==="enums";if(w){let K=e.const;if(n.options.coerceConstsTo==="literals"&&(typeof K=="string"||typeof K=="boolean"))return lto({nameOverride:p,generatedName:m,title:g,wrapAsOptional:t,wrapAsNullable:r,value:K,description:A,availability:y,namespace:a,groupName:f});e.enum=[K]}if(e.enum!=null&&(e.type==="string"||e.type==null||e.type==="enum")){if(e.enum=e.enum.filter(J=>J!==null),!RSr(e.enum))return WS({nameOverride:p,generatedName:m,title:g,primitive:Qi.string({default:qJe(e),minLength:e.minLength,maxLength:e.maxLength,pattern:e.pattern,format:e.format,example:WU({schema:e,logger:n.logger,fallback:l})}),namespace:a,groupName:f,wrapAsOptional:t,wrapAsNullable:r,description:A,availability:y});let K=wrc(e);return n.options.coerceEnumsToLiterals&&!T&&e.enum.length===1&&e.enum[0]!=null&&K==null?lto({nameOverride:p,generatedName:m,title:g,wrapAsOptional:t,wrapAsNullable:r,value:e.enum[0],description:A,availability:y,namespace:a,groupName:f}):ibe({nameOverride:p,generatedName:m,title:g,fernEnum:K,enumVarNames:zr(e,[LO.ENUM_VAR_NAMES]),enumValues:e.enum,_default:e.default,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,namespace:a,groupName:f,context:n,source:s,inline:void 0})}if(RSr(e.type)&&e.type.length>1){let K=e.type.includes("null"),J=e.type.filter(Z=>Z!=="null").map(Z=>({type:Z,nullable:K}));return obe({nameOverride:p,generatedName:m,title:g,breadcrumbs:i,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,context:n,subtypes:J,namespace:a,groupName:f,encoding:o,source:s})}if(e.type==="boolean"){let J=zr(e,Sn.BOOLEAN_LITERAL)??aIf(e,T,n.options.coerceEnumsToLiterals);return J!=null?enc({nameOverride:p,generatedName:m,title:g,literal:ny.boolean(J),wrapAsOptional:t,wrapAsNullable:r,description:A,availability:y,namespace:a,groupName:f}):WS({nameOverride:p,generatedName:m,title:g,primitive:Qi.boolean({default:cIf(e.default),example:Zrc({schema:e,logger:n.logger,fallback:l})}),wrapAsOptional:t,wrapAsNullable:r,description:A,availability:y,namespace:a,groupName:f})}if(e.type==="number")return pto({nameOverride:p,generatedName:m,title:g,format:e.format,_default:e.default,minimum:e.minimum,maximum:e.maximum,exclusiveMinimum:CNe(e.exclusiveMinimum),exclusiveMaximum:CNe(e.exclusiveMaximum),multipleOf:e.multipleOf,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,example:OSr({schema:e,logger:n.logger,fallback:l}),namespace:a,groupName:f});if(e.type==="integer")return Hrc({nameOverride:p,generatedName:m,title:g,format:e.format,_default:e.default,minimum:e.minimum,maximum:e.maximum,exclusiveMinimum:CNe(e.exclusiveMinimum),exclusiveMaximum:CNe(e.exclusiveMaximum),multipleOf:e.multipleOf,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,example:OSr({schema:e,logger:n.logger,fallback:l}),namespace:a,groupName:f,defaultIntegerFormat:n.options.defaultIntegerFormat});if(e.type==="float")return pto({nameOverride:p,generatedName:m,title:g,format:"float",_default:e.default,minimum:e.minimum,maximum:e.maximum,exclusiveMinimum:CNe(e.exclusiveMinimum),exclusiveMaximum:CNe(e.exclusiveMaximum),multipleOf:e.multipleOf,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,example:OSr({schema:e,logger:n.logger,fallback:l}),namespace:a,groupName:f});if(e.type==="string"){if(e.format==null&&e.contentMediaType==="application/octet-stream"&&(e={...e,format:"binary"}),e.format==="date-time")return WS({nameOverride:p,generatedName:m,title:g,primitive:Qi.datetime({example:WU({schema:e,logger:n.logger,fallback:l})}),wrapAsOptional:t,wrapAsNullable:r,description:A,availability:y,namespace:a,groupName:f});if(e.format==="date-time-rfc-2822")return WS({nameOverride:p,generatedName:m,title:g,primitive:Qi.datetimeRfc2822({example:WU({schema:e,logger:n.logger,fallback:l})}),wrapAsOptional:t,wrapAsNullable:r,description:A,availability:y,namespace:a,groupName:f});if(e.format==="date"&&n.options.typeDatesAsStrings===!1)return WS({nameOverride:p,generatedName:m,title:g,primitive:Qi.date({example:WU({schema:e,logger:n.logger,fallback:l})}),wrapAsOptional:t,wrapAsNullable:r,description:A,availability:y,namespace:a,groupName:f});if(e.format==="json-string"){let J=Mr.unknown({nameOverride:p,generatedName:m,title:g,description:A,availability:y,namespace:a,groupName:f,example:void 0});return r&&(J=Mr.nullable({availability:y,namespace:a,groupName:f,description:A,generatedName:m,inline:void 0,nameOverride:p,title:g,value:J})),t&&(J=Mr.optional({availability:y,namespace:a,groupName:f,description:A,generatedName:m,inline:void 0,nameOverride:p,title:g,value:J})),J}if(e.format==="byte"&&n.options.respectByteFormat)return WS({nameOverride:p,generatedName:m,title:g,primitive:Qi.base64({example:WU({schema:e,logger:n.logger,fallback:l})}),wrapAsOptional:t,wrapAsNullable:r,description:A,availability:y,namespace:a,groupName:f});let K=onc(e,"const");return K!=null?enc({nameOverride:p,generatedName:m,title:g,literal:ny.string(K),wrapAsOptional:t,wrapAsNullable:r,description:A,availability:y,namespace:a,groupName:f}):WS({nameOverride:p,generatedName:m,title:g,primitive:Qi.string({default:qJe(e),pattern:e.pattern,format:e.format,minLength:e.minLength,maxLength:e.maxLength,example:WU({schema:e,logger:n.logger,fallback:l})}),namespace:a,groupName:f,wrapAsOptional:t,wrapAsNullable:r,description:A,availability:y})}if(e.type==="array")return Frc({nameOverride:p,generatedName:m,title:g,breadcrumbs:i,item:e.items,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,context:n,namespace:a,groupName:f,example:BSr({schema:e,logger:n.logger,fallback:l}),source:s,minItems:e.minItems,maxItems:e.maxItems,default:e.default});if(e.additionalProperties!=null&&e.additionalProperties!==!1&&PSr(e)&&$rc(e))return Drc({nameOverride:p,generatedName:m,title:g,breadcrumbs:i,additionalProperties:e.additionalProperties,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,context:n,namespace:a,groupName:f,encoding:o,example:e.example,source:s,minProperties:e.minProperties,maxProperties:e.maxProperties});let P=zr(e,Sn.IS_DISCRIMINATED);if(e.oneOf!=null&&e.oneOf.length>0&&P===!1)return obe({nameOverride:p,generatedName:m,title:g,breadcrumbs:i,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,context:n,subtypes:e.oneOf,namespace:a,groupName:f,encoding:o,source:s});if(e.type==="object"&&e.discriminator!=null&&e.discriminator.mapping!=null){let K=GFt({discriminator:e.discriminator,context:n});return P===!0||!n.options.discriminatedUnionV2||K==="protocol"?SSr({nameOverride:p,generatedName:m,title:g,breadcrumbs:i,description:A,availability:y,discriminator:e.discriminator,properties:e.properties??{},required:e.required,wrapAsOptional:t,wrapAsNullable:r,context:n,namespace:a,groupName:f,encoding:o,source:s}):fto({nameOverride:p,generatedName:m,title:g,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,context:n,namespace:a,groupName:f,discriminator:e.discriminator,encoding:o,source:s})}if(e.oneOf!=null&&e.oneOf.length>0){let K=zr(e,Sn.IS_UNDISCRIMINATED);if(e.discriminator!=null&&e.discriminator.mapping!=null&&Object.keys(e.discriminator.mapping).length>0){let J=GFt({discriminator:e.discriminator,context:n});return P!==!0&&(n.options.discriminatedUnionV2||K)&&J!=="protocol"?fto({nameOverride:p,generatedName:m,title:g,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,context:n,namespace:a,groupName:f,discriminator:e.discriminator,encoding:o,source:s}):SSr({nameOverride:p,generatedName:m,title:g,breadcrumbs:i,description:A,availability:y,discriminator:e.discriminator,properties:e.properties??{},required:e.required,wrapAsOptional:t,wrapAsNullable:r,context:n,namespace:a,groupName:f,encoding:o,source:s})}else if(e.oneOf.length===1&&e.oneOf[0]!=null){if(n.options.preserveSingleSchemaOneOf)return obe({nameOverride:p,generatedName:m,title:g,breadcrumbs:i,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,context:n,subtypes:e.oneOf.filter(Z=>qn(Z)||Z.type!=="null"),encoding:o,namespace:a,groupName:f,source:s});let J=_a(e.oneOf[0],t,r,n,i,s,a,u);return sX(J,A,a,f)}else if(e.oneOf.length>1){if(e.oneOf.length===2&&e.oneOf[0]!=null&&e.oneOf[1]!=null){let le=e.oneOf[0],oe=e.oneOf[1];if(!qn(le)&&le.type==="null"){let ce=_a(oe,t,!0,n,i,s,a);return sX(ce,A,a,f)}else if(!qn(oe)&&oe.type==="null"){let ce=_a(le,t,!0,n,i,s,a);return sX(ce,A,a,f)}}let J=lIf({schemas:e.oneOf});if(J!=null)return ibe({nameOverride:p,generatedName:m,title:g,fernEnum:void 0,enumVarNames:void 0,enumValues:J,_default:e.default,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,namespace:a,groupName:f,context:n,source:s,inline:void 0});let Z=tnc({schemas:e.oneOf,context:n});if(Z!=null&&(P===!0||!n.options.discriminatedUnionV2&&!K))return uto({nameOverride:p,generatedName:m,title:g,breadcrumbs:i,properties:e.properties??{},required:e.required,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,discriminant:Z.discriminant,variants:Z.schemas,defaultDiscriminantValue:Z.defaultDiscriminantValue,context:n,namespace:a,groupName:f,encoding:o,source:s});let ae=e.oneOf.filter(le=>!qn(le)&&le.type==="null").length>0;return obe({nameOverride:p,generatedName:m,title:g,breadcrumbs:i,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r||ae,context:n,subtypes:e.oneOf.filter(le=>qn(le)||le.type!=="null"),encoding:o,namespace:a,groupName:f,source:s,properties:e.properties,required:e.required})}}if(e.anyOf!=null&&e.anyOf.length>0){if(e.anyOf.length===1&&e.anyOf[0]!=null){let Z=_a(e.anyOf[0],t,r,n,i,s,a,u);return sX(Z,A,a,f)}if(e.anyOf.length===2){let[Z,ae]=e.anyOf;if(Z!=null&&ae!=null){if(!qn(Z)&&Z.type==="null"){let le=_a(ae,t,!0,n,i,s,a);return sX(le,A,a,f)}else if(!qn(ae)&&ae.type==="null"){let le=_a(Z,t,!0,n,i,s,a);return sX(le,A,a,f)}}}let K=tnc({schemas:e.anyOf,context:n});if(K!=null&&!n.options.discriminatedUnionV2)return uto({nameOverride:p,generatedName:m,title:g,breadcrumbs:i,properties:e.properties??{},required:e.required,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,discriminant:K.discriminant,variants:K.schemas,defaultDiscriminantValue:K.defaultDiscriminantValue,context:n,namespace:a,groupName:f,encoding:o,source:s});let J=e.anyOf.filter(Z=>!qn(Z)&&Z.type==="null").length>0;return obe({nameOverride:p,generatedName:m,title:g,breadcrumbs:i,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r||J,context:n,subtypes:e.anyOf.filter(Z=>qn(Z)||Z.type!=="null"),encoding:o,namespace:a,groupName:f,source:s,properties:e.properties,required:e.required})}if(e.discriminator?.mapping!=null&&Object.keys(e.discriminator.mapping).length>0&&e.oneOf==null&&e.anyOf==null)return SSr({nameOverride:p,generatedName:m,title:g,breadcrumbs:i,description:A,availability:y,discriminator:e.discriminator,properties:e.properties??{},required:e.required,wrapAsOptional:t,wrapAsNullable:r,context:n,namespace:a,groupName:f,encoding:o,source:s});if(e.allOf!=null||e.properties!=null){let K=[];for(let ae of e.allOf??[])(qn(ae)||Object.keys(ae).length>0)&&K.push(ae);if((e.properties==null||PSr(e))&&K.length===1&&K[0]!=null&&(e.additionalProperties==null||e.additionalProperties===!1)){let ae=_a(K[0],t,r,n,i,s,a,u);return sX(ae,A,a,f)}let J=[],Z=[];for(let ae of K)DSr(ae)?J.push(ae):(n.logger.debug(`Skipping non-object allOf element: ${JSON.stringify(ae)}`),qn(ae)||Z.push(ae));if((e.properties==null||PSr(e))&&J.length===1&&J[0]!=null&&(e.additionalProperties==null||e.additionalProperties===!1)){let ae=J[0];if(Z.length>0){let oe=qn(ae)?{...n.resolveSchemaReference(ae)}:{...ae};for(let ce of Z)Object.assign(oe,ce);ae=oe}let le=_a(ae,t,r,n,i,s,a,u);return sX(le,A,a,f)}return Qrc({nameOverride:p,generatedName:m,title:g,breadcrumbs:i,properties:e.properties??{},description:A,required:e.required,wrapAsOptional:t,wrapAsNullable:r,allOf:J,context:n,propertiesToExclude:c,namespace:a,groupName:f,fullExamples:E,additionalProperties:e.additionalProperties,availability:y,encoding:o,source:s,minProperties:e.minProperties,maxProperties:e.maxProperties})}if(e.type==="null"){let K=Mr.nullable({availability:y,namespace:a,groupName:f,description:A,generatedName:m,inline:void 0,nameOverride:p,title:g,value:Mr.unknown({nameOverride:p,generatedName:m,title:g,description:void 0,availability:void 0,namespace:a,groupName:f,example:void 0})});return t&&(K=Mr.optional({availability:y,namespace:a,groupName:f,description:A,generatedName:m,inline:void 0,nameOverride:p,title:g,value:K})),K}if(e.type==="object"&&uIf(e)&&$rc(e)&&PSr(e))return rto({nameOverride:p,generatedName:m,title:g,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,keySchema:{nameOverride:void 0,generatedName:`${m}Key`,title:void 0,description:void 0,availability:void 0,schema:Qi.string({default:qJe(e),pattern:e.pattern,format:e.format,minLength:e.minLength,maxLength:e.maxLength,example:WU({schema:e,logger:n.logger,fallback:l})}),namespace:a,groupName:f},valueSchema:Mr.unknown({nameOverride:void 0,generatedName:`${m}Value`,title:void 0,description:void 0,availability:void 0,example:void 0,namespace:a,groupName:f}),namespace:a,groupName:f,encoding:o,example:e.example,minProperties:e.minProperties,maxProperties:e.maxProperties});e.type!=null&&n.logger.warn(`Failed to parse an OpenAPI schema at the following location: ${i.join("->")}. Coercing to unknown.`);let O=e.example??e.default,M=Mr.unknown({nameOverride:p,generatedName:m,title:g,description:A,availability:y,namespace:a,groupName:f,example:O});return r&&(M=Mr.nullable({availability:y,namespace:a,groupName:f,description:A,generatedName:m,inline:void 0,nameOverride:p,title:g,value:M})),t&&(M=Mr.optional({availability:y,namespace:a,groupName:f,description:A,generatedName:m,inline:void 0,nameOverride:p,title:g,value:M})),M}catch(w){return n.logger.debug(`Error converting schema: ${w.message}
|
|
205
|
+
`:""}t.exports.dump=Lt})),prc=vEf(Ab(((e,t)=>{var r=CEf(),n=wEf();function i(o,s){return function(){throw new Error("Function yaml."+o+" is removed in js-yaml 4. Use yaml."+s+" instead, which is now safe by default.")}}t.exports.Type=ok(),t.exports.Schema=Ktc(),t.exports.FAILSAFE_SCHEMA=Ztc(),t.exports.JSON_SCHEMA=nrc(),t.exports.CORE_SCHEMA=irc(),t.exports.DEFAULT_SCHEMA=Xeo(),t.exports.load=r.load,t.exports.loadAll=r.loadAll,t.exports.dump=n.dump,t.exports.YAMLException=jFt(),t.exports.types={binary:arc(),float:rrc(),map:Xtc(),null:$tc(),pairs:urc(),set:lrc(),timestamp:orc(),bool:erc(),int:trc(),merge:src(),omap:crc(),seq:Ytc(),str:Jtc()},t.exports.safeLoad=i("safeLoad","load"),t.exports.safeLoadAll=i("safeLoadAll","loadAll"),t.exports.safeDump=i("safeDump","dump")}))(),1),{Type:Cn0,Schema:wn0,FAILSAFE_SCHEMA:Sn0,JSON_SCHEMA:Tn0,CORE_SCHEMA:On0,DEFAULT_SCHEMA:Bn0,load:QJe,loadAll:Pn0,dump:QFt,YAMLException:ESr,types:Dn0,safeLoad:Rn0,safeLoadAll:Fn0,safeDump:kn0}=prc.default,vr=prc.default});function TEf(e,t){return v2e(e,{single:r=>[typeof r=="string"?r:r.scheme],any:r=>r.any.map(n=>typeof n=="string"?n:n.scheme),endpointSecurity:()=>t!=null?Object.keys(t):[]})}function OEf(e,t){if(e==null)return;let r=TEf(t,e),n={};for(let i of r)e[i]!=null&&(n[i]=e[i]);return Object.keys(n).length>0?n:void 0}var ISr,frc=h(()=>{"use strict";Va();No();bSr();ZA();ps();Vi();ISr=class{args;constructor(t){this.args=t}buildHeaderOverrides(t){let r=this.args.generatorsConfiguration?.api?.headers,n=t!=null||r!=null?{...r,...t}:void 0;if(n!=null)return{headers:n}}buildAuthOverrides(t,r){let n=this.args.generatorsConfiguration?.api?.["auth-schemes"],i=this.args.generatorsConfiguration?.api?.auth,o=t??i;if(o==null)return;let s=r!=null||n!=null?{...n,...r}:void 0,a=OEf(s,o);return{auth:o,"auth-schemes":a}}convert({context:t,ir:r,settings:n,absoluteFilePath:i}){let o=Yeo({taskContext:t,ir:r,options:pNe({options:n,overrides:this.args}),authOverrides:this.buildAuthOverrides(n?.auth,n?.authSchemes),environmentOverrides:this.args.generatorsConfiguration?.api?.environments!=null?{...this.args.generatorsConfiguration?.api}:void 0,globalHeaderOverrides:this.buildHeaderOverrides(n?.headers)});return{absoluteFilePath:i??this.args.absoluteFilePath,rootApiFile:{defaultUrl:o.rootApiFile["default-url"],contents:o.rootApiFile,rawContents:vr.dump(o.rootApiFile)},namedDefinitionFiles:{...$l(o.definitionFiles,s=>({absoluteFilepath:i??this.args.absoluteFilePath,rawContents:vr.dump(s),contents:s})),[zs.of(Rf)]:{absoluteFilepath:i??this.args.absoluteFilePath,rawContents:vr.dump(o.packageMarkerFile),contents:o.packageMarkerFile}},packageMarkers:{},importedDefinitions:{},specVersion:r.specVersion??void 0}}}});var zFt,drc=h(()=>{"use strict";Gp();frc();zFt=class extends s7{inlinePathParameters;objectQueryParameters;onlyIncludeReferencedSchemas;respectReadonlySchemas;useReadVariantForResponses;respectNullableSchemas;wrapReferencesToNullableInOptional;coerceOptionalSchemasToNullable;coerceEnumsToLiterals;exampleGeneration;useBytesForBinaryResponse;respectForwardCompatibleEnums;inlineAllOfSchemas;resolveAliases;groupEnvironmentsByHost;multiServerStrategy;inferDefaultEnvironment;removeDiscriminantsFromSchemas;defaultIntegerFormat;pathParameterOrder;coerceConstsTo;converter;constructor(t){super(t),this.inlinePathParameters=t.inlinePathParameters,this.objectQueryParameters=t.objectQueryParameters,this.onlyIncludeReferencedSchemas=t.onlyIncludeReferencedSchemas,this.respectReadonlySchemas=t.respectReadonlySchemas,this.useReadVariantForResponses=t.useReadVariantForResponses,this.respectNullableSchemas=t.respectNullableSchemas,this.wrapReferencesToNullableInOptional=t.wrapReferencesToNullableInOptional,this.coerceOptionalSchemasToNullable=t.coerceOptionalSchemasToNullable,this.coerceEnumsToLiterals=t.coerceEnumsToLiterals,this.exampleGeneration=t.exampleGeneration,this.useBytesForBinaryResponse=t.useBytesForBinaryResponse,this.respectForwardCompatibleEnums=t.respectForwardCompatibleEnums,this.inlineAllOfSchemas=t.inlineAllOfSchemas,this.resolveAliases=t.resolveAliases,this.groupEnvironmentsByHost=t.groupEnvironmentsByHost,this.multiServerStrategy=t.multiServerStrategy,this.inferDefaultEnvironment=t.inferDefaultEnvironment,this.removeDiscriminantsFromSchemas=t.removeDiscriminantsFromSchemas,this.defaultIntegerFormat=t.defaultIntegerFormat,this.pathParameterOrder=t.pathParameterOrder,this.coerceConstsTo=t.coerceConstsTo,this.converter=new ISr(t)}async getDefinition({context:t,absoluteFilePath:r,relativePathToDependency:n},i){let o=await this.getOpenAPIIr({context:t,relativePathToDependency:n},i);return this.converter.convert({context:t,ir:o,settings:i,absoluteFilePath:r})}async toFernWorkspace({context:t},r,n){let i=await this.getDefinition({context:t},r);return new xj({absoluteFilePath:this.absoluteFilePath,workspaceName:this.workspaceName,generatorsConfiguration:this.generatorsConfiguration,dependenciesConfiguration:{dependencies:{}},definition:i,cliVersion:this.cliVersion})}}});var mrc=h(()=>{"use strict"});var hrc=h(()=>{"use strict";mrc()});var grc=h(()=>{"use strict"});var Arc=h(()=>{"use strict";grc()});var LO,vNe=h(()=>{"use strict";LO={BEARER_FORMAT:"x-bearer-format",ENUM_VAR_NAMES:"x-enum-varnames",INTERNAL:"x-internal",EXAMPLES:"x-examples",TAGS:"x-tags",REDOCLY_CODE_SAMPLES_KEBAB:"x-code-samples",REDOCLY_CODE_SAMPLES_CAMEL:"x-codeSamples"}});var zJe,yrc=h(()=>{"use strict";zJe={of(e){return e}}});var brc,Zeo,Sn,rp=h(()=>{"use strict";yrc();brc={properties:{"stream-condition":{type:"string"},response:"Schema","response-stream":"Schema",resumable:{type:"boolean"}},required:["stream-condition","response","response-stream"],extensionsPrefix:"x-"},Zeo={id:"",typeExtension:{oas3:e=>({...e,XFernStreaming:brc,Operation:{...e.Operation,properties:{...e.Operation?.properties,"x-fern-streaming":"XFernStreaming"}}})}},Sn={SOURCE:zJe.of("source"),SDK_NAMESPACE:zJe.of("x-fern-sdk-namespace"),SDK_METHOD_NAME:zJe.of("x-fern-sdk-method-name"),SDK_GROUP_NAME:zJe.of("x-fern-sdk-group-name"),REQUEST_NAME_V1:"x-request-name",REQUEST_NAME_V2:"x-fern-request-name",TYPE_NAME:"x-fern-type-name",BOOLEAN_LITERAL:"x-fern-boolean-literal",SERVER_NAME_V1:"x-name",SERVER_NAME_V2:"x-fern-server-name",BASE_PATH:"x-fern-base-path",GROUPS:zJe.of("x-fern-groups"),OPENAPI_OVERIDES_FILEPATH:"x-fern-overrides-filepath",TYPE_DEFINITION:"x-fern-type",WEBHOOK_SIGNATURE:"x-fern-webhook-signature",STREAMING:"x-fern-streaming",PAGINATION:"x-fern-pagination",WEBHOOK:"x-fern-webhook",ASYNC_CONFIG:"x-fern-async-config",RETRIES:"x-fern-retries",SDK_VARIABLES:"x-fern-sdk-variables",SDK_VARIABLE:"x-fern-sdk-variable",PARAMETER_NAME:"x-fern-parameter-name",BASIC_AUTH_USERNAME_VARIABLE_NAME:"x-fern-username-variable-name",BASIC_AUTH_PASSWORD_VARIABLE_NAME:"x-fern-password-variable-name",BEARER_TOKEN_VARIABLE_NAME:"x-fern-token-variable-name",HEADER_VARIABLE_NAME:"x-fern-header-variable-name",FERN_ENUM:"x-fern-enum",AUDIENCES:"x-fern-audiences",IGNORE:"x-fern-ignore",SUBTITLE:"x-fern-subtitle",AVAILABILITY:"x-fern-availability",RESPONSE_PROPERTY:"x-fern-sdk-return-value",RESOLUTIONS:"x-fern-resolutions",EXAMPLES:"x-fern-examples",FERN_BEARER_TOKEN:"x-fern-bearer",FERN_HEADER_AUTH:"x-fern-header",FERN_BASIC_AUTH:"x-fern-basic",FERN_GLOBAL_HEADERS:"x-fern-global-headers",FERN_IDEMPOTENCY_HEADERS:"x-fern-idempotency-headers",IDEMPOTENT:"x-fern-idempotent",FERN_PROPERTY_NAME:"x-fern-property-name",IS_UNDISCRIMINATED:"x-fern-undiscriminated",FERN_VERSION:"x-fern-version",ENCODING:"x-fern-encoding",TRANSPORT:"x-fern-transport",IS_DISCRIMINATED:"x-fern-discriminated",EXPLORER_ENABLED:"x-fern-explorer-enabled",DISCRIMINATOR_CONTEXT:"x-fern-discriminator-context",FERN_DEFAULT:"x-fern-default"}});function zr(e,t){let r=Array.isArray(t)?t:[t];for(let n of r){let i=e[n];if(i!=null)return i}}function MFt(e,t,r,n,i=[]){try{let o=zr(e,t);if(o!=null)return r.parse(o)}catch{let s=H4(i).join(" -> ");n.error(`${s.length>0?`${s}: `:""}Failed to parse ${t}`)}}var Tu=h(()=>{"use strict";Vi()});function vSr(e){let t=zr(e,Sn.BASE_PATH);if(t==null)return;if(typeof t=="string")return t.startsWith("/")?{basePath:t,pathParameters:[],pathsIncludeBasePath:!1}:void 0;if(typeof t!="object"||Array.isArray(t))return;let r=t,n=r.path;if(typeof n!="string"||!n.startsWith("/"))return;let i=PEf(n),o=r.parameters,s=o!=null&&typeof o=="object"&&!Array.isArray(o)?o:{},a=[];for(let u of i){let l=s[u],p=typeof l=="object"&&l!=null&&!Array.isArray(l)&&typeof l.docs=="string"?l.docs:void 0,d=typeof l=="object"&&l!=null&&!Array.isArray(l)?l.default:void 0;a.push({name:u,schema:fa.primitive({description:p,availability:void 0,schema:Lu.string({default:void 0,pattern:void 0,format:void 0,minLength:void 0,maxLength:void 0}),generatedName:u,nameOverride:void 0,title:void 0,namespace:void 0,groupName:void 0}),description:p,availability:void 0,source:void 0,variableReference:void 0,parameterNameOverride:void 0,clientDefault:d})}let c=r["paths-include-base-path"]===!0;return{basePath:n,pathParameters:a,pathsIncludeBasePath:c}}function PEf(e){let t=[],r=new RegExp(BEf.source,"g"),n;for(;(n=r.exec(e))!=null;)n[1]!=null&&!t.includes(n[1])&&t.push(n[1]);return t}function LFt({openApi:e,basePath:t,rootPathParameterNames:r}){if(e.paths==null)return[];let n=t.endsWith("/")?t.slice(0,-1):t,i=[],o={};for(let[s,a]of Object.entries(e.paths)){if(a==null){o[s]=a;continue}if(!s.startsWith(n)){i.push(`Expected path '${s}' to start with base path '${n}'`),o[s]=a;continue}let c=s.slice(n.length)||"/",u=DEf({pathItem:a,rootPathParameterNames:r});o[c]=u}return e.paths=o,i}function DEf({pathItem:e,rootPathParameterNames:t}){let r={...e};Array.isArray(r.parameters)&&(r.parameters=r.parameters.filter(i=>!Erc(i,t)));let n=["get","put","post","delete","options","head","patch","trace"];for(let i of n){let o=r[i];o==null||!Array.isArray(o.parameters)||(r[i]={...o,parameters:o.parameters.filter(s=>!Erc(s,t))})}return r}function Erc(e,t){return"$ref"in e?!1:e.in==="path"&&t.has(e.name)}var BEf,$eo=h(()=>{"use strict";gc();Tu();rp();BEf=/\{([^}]+)\}/g});function FEf(e){let{defaults:t,options:r,overrides:n,overrideOnly:i=new Set,undefinedIfAbsent:o=new Set}=e,s={};for(let a of Object.keys(t))i.has(a)?s[a]=n?.[a]!==void 0?n[a]:t[a]:o.has(a)?s[a]=n?.[a]!==void 0?n[a]:r?.[a]!==void 0?r[a]:void 0:s[a]=n?.[a]??r?.[a]??t[a];return s}function GU({options:e,overrides:t}){return FEf({defaults:REf,options:e,overrides:t,overrideOnly:new Set(["disableExamples","preserveSchemaIds"]),undefinedIfAbsent:new Set(["exampleGeneration","defaultFormParameterEncoding"])})}var REf,eto=h(()=>{"use strict";Va();REf={disableExamples:!1,discriminatedUnionV2:!1,useTitlesAsName:!1,audiences:void 0,optionalAdditionalProperties:!0,coerceEnumsToLiterals:!1,respectReadonlySchemas:!1,respectNullableSchemas:!0,onlyIncludeReferencedSchemas:!1,inlinePathParameters:!0,preserveSchemaIds:!1,objectQueryParameters:!0,shouldUseUndiscriminatedUnionsWithLiterals:!1,shouldUseIdiomaticRequestNames:!0,filter:void 0,asyncApiNaming:"v1",exampleGeneration:void 0,defaultFormParameterEncoding:"json",useBytesForBinaryResponse:!1,respectForwardCompatibleEnums:!1,additionalPropertiesDefaultsTo:!1,typeDatesAsStrings:!1,preserveSingleSchemaOneOf:!1,inlineAllOfSchemas:!1,resolveAliases:!1,groupMultiApiEnvironments:!1,groupEnvironmentsByHost:!1,wrapReferencesToNullableInOptional:!1,coerceOptionalSchemasToNullable:!1,removeDiscriminantsFromSchemas:jn.RemoveDiscriminantsFromSchemas.Always,defaultIntegerFormat:jn.DefaultIntegerFormat.Int32,pathParameterOrder:jn.PathParameterOrder.UrlOrder,resolveSchemaCollisions:!1,inferForwardCompatible:!1,coerceConstsTo:"enums-coerceable-to-literals",respectByteFormat:!1,shouldInferDiscriminatedUnionBaseProperties:!1}});var Irc,vrc=h(()=>{"use strict";Irc={naming:"v1"}});function xNe(e){let t=zr(e,"examples");if(t!=null){if(Array.isArray(t))return t;if(typeof t=="object"&&t!==null)return Object.values(t).map(r=>typeof r=="object"&&r!==null&&"value"in r?r.value:r)}return[]}var tto=h(()=>{"use strict";Tu()});function xrc({schema:e,logger:t}){return zr(e,Sn.ENCODING)??void 0}var Crc=h(()=>{"use strict";Tu();rp()});function wrc(e){return zr(e,Sn.FERN_ENUM)}var Src=h(()=>{"use strict";Tu();rp()});function Trc({nameOverride:e,generatedName:t,title:r,schema:n,description:i,availability:o}){let s=zr(n,Sn.SDK_NAMESPACE),a=zr(n,Sn.SDK_GROUP_NAME),c=zr(n,Sn.TYPE_DEFINITION);if(c!=null)return UFt({fernType:c,nameOverride:e,generatedName:t,title:r,description:i,availability:o,namespace:s,groupName:typeof a=="string"?[a]:a})}function UFt({fernType:e,nameOverride:t,generatedName:r,title:n,description:i,availability:o,namespace:s,groupName:a}){return gv({type:e,_default:void 0,validation:void 0,visitor:{primitive:c=>{switch(c.v1){case"BASE_64":return Mr.primitive({nameOverride:t,generatedName:r,title:n,description:i,availability:o,namespace:s,groupName:a,schema:Qi.base64({example:void 0})});case"BOOLEAN":return Mr.primitive({nameOverride:t,generatedName:r,title:n,description:i,availability:o,namespace:s,groupName:a,schema:Qi.boolean({default:void 0,example:void 0})});case"DATE":return Mr.primitive({nameOverride:t,generatedName:r,title:n,description:i,availability:o,namespace:s,groupName:a,schema:Qi.date({example:void 0})});case"DATE_TIME":return Mr.primitive({nameOverride:t,generatedName:r,title:n,description:i,availability:o,namespace:s,groupName:a,schema:Qi.datetime({example:void 0})});case"FLOAT":return Mr.primitive({nameOverride:t,generatedName:r,title:n,description:i,availability:o,namespace:s,groupName:a,schema:Qi.float({example:void 0})});case"DOUBLE":return Mr.primitive({nameOverride:t,generatedName:r,title:n,description:i,availability:o,namespace:s,groupName:a,schema:Qi.double({default:void 0,minimum:void 0,maximum:void 0,exclusiveMinimum:void 0,exclusiveMaximum:void 0,multipleOf:void 0,example:void 0})});case"UINT":return Mr.primitive({nameOverride:t,generatedName:r,title:n,description:i,availability:o,namespace:s,groupName:a,schema:Qi.uint({default:void 0,example:void 0})});case"INTEGER":return Mr.primitive({nameOverride:t,generatedName:r,title:n,description:i,availability:o,namespace:s,groupName:a,schema:Qi.int({default:void 0,minimum:void 0,maximum:void 0,exclusiveMinimum:void 0,exclusiveMaximum:void 0,multipleOf:void 0,example:void 0})});case"UINT_64":return Mr.primitive({nameOverride:t,generatedName:r,title:n,description:i,availability:o,namespace:s,groupName:a,schema:Qi.uint64({default:void 0,example:void 0})});case"LONG":return Mr.primitive({nameOverride:t,generatedName:r,title:n,description:i,availability:o,namespace:s,groupName:a,schema:Qi.int64({default:void 0,example:void 0})});case"STRING":case"UUID":case"BIG_INTEGER":return Mr.primitive({nameOverride:t,generatedName:r,title:n,description:i,availability:o,namespace:s,groupName:a,schema:Qi.string({default:void 0,pattern:void 0,maxLength:void 0,minLength:void 0,example:void 0,format:void 0})});case"DATE_TIME_RFC_2822":return Mr.primitive({nameOverride:t,generatedName:r,title:n,description:i,availability:o,namespace:s,groupName:a,schema:Qi.datetimeRfc2822({example:void 0})});default:Ie(c.v1)}},unknown:()=>Mr.unknown({nameOverride:t,generatedName:r,title:n,example:void 0,description:i,availability:o,namespace:s,groupName:a}),map:({keyType:c,valueType:u})=>c?.type==="primitive"&&u!=null?Mr.map({nameOverride:t,generatedName:r,title:n,key:c,value:u,description:i,availability:o,namespace:s,groupName:a,encoding:void 0,example:void 0,inline:void 0,minProperties:void 0,maxProperties:void 0}):void 0,list:c=>c!=null?Mr.array({nameOverride:t,generatedName:r,title:n,value:c,description:i,availability:o,namespace:s,groupName:a,example:void 0,inline:void 0,minItems:void 0,maxItems:void 0,default:void 0}):void 0,optional:c=>c!=null?Mr.optional({nameOverride:t,generatedName:r,title:n,value:c,description:i,availability:o,namespace:s,groupName:a,inline:void 0}):void 0,nullable:c=>c!=null?Mr.nullable({nameOverride:t,generatedName:r,title:n,value:c,description:i,availability:o,namespace:s,groupName:a,inline:void 0}):void 0,set:c=>c!=null?Mr.array({nameOverride:t,generatedName:r,title:n,value:c,description:i,availability:o,namespace:s,groupName:a,example:void 0,inline:void 0,minItems:void 0,maxItems:void 0,default:void 0}):void 0,literal:c=>Mr.literal({nameOverride:t,generatedName:r,title:n,value:c._visit({string:u=>ny.string(u),boolean:u=>ny.boolean(u),_other:()=>{throw new B({message:"Unexpected literal type",code:B.Code.InternalError})}}),description:i,availability:o,namespace:s,groupName:a}),named:c=>Mr.reference({schema:c,nameOverride:t,generatedName:r,title:n,description:i,availability:o,namespace:s,groupName:a,source:_P.openapi({file:"<memory>"})})}})}var xSr=h(()=>{"use strict";Dt();No();gc();jt();Tu();rp()});function Orc(e){let t=zr(e,Sn.SOURCE);if(t!=null)return t.endsWith(".proto")?_P.protobuf({file:t}):_P.openapi({file:t})}var Brc=h(()=>{"use strict";gc();Tu();rp()});function CNe(e){if(e!=null&&typeof e=="boolean")return e}var Prc=h(()=>{"use strict"});function iX(){let e=new Map,t=new Map;return{getUniqueSchemaId(r,n,i=!1){let o=e.get(r)||0;if(e.set(r,o+1),o>0&&i){let s=`${r}${o+1}`;return n?.warn?.(`Schema name collision detected: '${r}' already exists. Renaming to '${s}' to avoid conflicts.`),s}return r},getUniqueTitleName(r,n,i,o=!1){let s=t.get(r)||0;if(t.set(r,s+1),s>0&&o){let a=`${r}${s+1}`;return i?.warn(`Schema title collision detected: Multiple schemas use title '${r}'. Schema '${n}' retitled to '${a}' to avoid conflicts.`),a}return r},reset(){e.clear(),t.clear()}}}var VFt=h(()=>{"use strict"});function qn(e){return e?.$ref!=null}var yb=h(()=>{"use strict"});function Drc({nameOverride:e,generatedName:t,title:r,breadcrumbs:n,additionalProperties:i,description:o,availability:s,wrapAsOptional:a,wrapAsNullable:c,context:u,namespace:l,groupName:p,example:d,encoding:f,source:m,minProperties:g,maxProperties:A}){return i===void 0&&(i=u.options.additionalPropertiesDefaultsTo),rto({nameOverride:e,generatedName:t,title:r,wrapAsOptional:a,wrapAsNullable:c,description:o,availability:s,keySchema:{nameOverride:void 0,generatedName:`${t}Key`,title:void 0,description:void 0,availability:void 0,schema:Qi.string({default:void 0,pattern:void 0,format:void 0,minLength:void 0,maxLength:void 0,example:void 0}),namespace:void 0,groupName:void 0},valueSchema:typeof i=="boolean"||_Ft(i,u.options)?Mr.unknown({...kEf(i),generatedName:`${t}Value`}):Rrc(_a(i,!1,u.options.optionalAdditionalProperties?c:!1,u,[...n,"Value"],m,l,void 0,void 0,void 0)),namespace:l,groupName:p,example:d,encoding:f,minProperties:g,maxProperties:A})}function Rrc(e){switch(e.type){case"array":case"enum":case"map":case"object":e.inline=!0;break;case"literal":case"primitive":case"reference":case"unknown":break;case"nullable":case"optional":e.inline=!0,e.value=Rrc(e.value);break;case"oneOf":e.value.inline=!0;break;default:Ie(e)}return e}function rto({nameOverride:e,generatedName:t,title:r,keySchema:n,valueSchema:i,wrapAsOptional:o,wrapAsNullable:s,description:a,availability:c,namespace:u,groupName:l,example:p,encoding:d,minProperties:f,maxProperties:m}){let g=Mr.map({nameOverride:e,generatedName:t,title:r,description:a,availability:c,key:n,value:i,namespace:u,groupName:l,encoding:d,example:p,inline:void 0,minProperties:f,maxProperties:m});return s&&(g=Mr.nullable({nameOverride:e,generatedName:t,title:r,value:g,description:a,availability:c,namespace:u,groupName:l,inline:void 0})),o&&(g=Mr.optional({nameOverride:e,generatedName:t,title:r,value:g,description:a,availability:c,namespace:u,groupName:l,inline:void 0})),g}function _Ft(e,t){return e==null?t.additionalPropertiesDefaultsTo:typeof e=="boolean"?e:typeof e!="object"||e===null?!0:qn(e)||"type"in e&&e.type!=null||"oneOf"in e&&e.oneOf!=null||"anyOf"in e&&e.anyOf!=null?!1:"allOf"in e&&e.allOf!=null?!e.allOf.some(n=>qn(n)?!0:n.type!=null||n.properties!=null||n.allOf!=null||n.oneOf!=null||n.anyOf!=null||n.enum!=null||"items"in n||n.additionalProperties!=null):!("enum"in e&&e.enum!=null)}function kEf(e){let t={nameOverride:void 0,generatedName:"",title:void 0,description:void 0,availability:void 0,example:void 0,namespace:void 0,groupName:void 0};return e==null||typeof e=="boolean"||qn(e)||typeof e!="object"||(e.title!=null&&(t.title=e.title),e.description!=null&&(t.description=e.description)),t}var CSr=h(()=>{"use strict";Dt();gc();GP();yb()});function Frc({nameOverride:e,generatedName:t,title:r,breadcrumbs:n,item:i,description:o,availability:s,wrapAsOptional:a,wrapAsNullable:c,context:u,namespace:l,groupName:p,example:d,source:f,minItems:m,maxItems:g,default:A}){let y=i==null?Mr.unknown({nameOverride:e,generatedName:t,title:r,description:void 0,availability:void 0,example:void 0,namespace:l,groupName:p}):_a(i,!1,!1,u,[...n,"Item"],f,l);return NEf({nameOverride:e,generatedName:t,title:r,namespace:l,groupName:p,itemSchema:y,wrapAsOptional:a,wrapAsNullable:c,description:o,availability:s,example:d,minItems:m,maxItems:g,default:A})}function NEf({nameOverride:e,generatedName:t,title:r,itemSchema:n,wrapAsOptional:i,wrapAsNullable:o,description:s,availability:a,namespace:c,groupName:u,example:l,minItems:p,maxItems:d,default:f}){let m=Mr.array({nameOverride:e,generatedName:t,title:r,value:n,description:s,availability:a,namespace:c,groupName:u,example:l,inline:void 0,minItems:p,maxItems:d,default:f});return o&&(m=Mr.nullable({nameOverride:e,generatedName:t,title:r,value:m,description:s,availability:a,namespace:c,groupName:u,inline:void 0})),i&&(m=Mr.optional({nameOverride:e,generatedName:t,title:r,value:m,description:s,availability:a,namespace:c,groupName:u,inline:void 0})),m}var krc=h(()=>{"use strict";gc();GP()});function zx(e){switch(zr(e,Sn.AVAILABILITY)){case"deprecated":return kh.Deprecated;case"beta":return kh.Beta;case"generally-available":return kh.GenerallyAvailable;case"alpha":return kh.Alpha;case"preview":return kh.Preview;case"legacy":return kh.Legacy;default:break}if(!qn(e)&&e.deprecated)return kh.Deprecated}var MJe=h(()=>{"use strict";gc();Tu();rp();yb()});function qFt(e){let t=e.split("/").map(o=>o.replace(/~1/g,"/")),r=[],n=[jEf,QEf,zEf,MEf,LEf,UEf,VEf,_Ef],i;do{i=t;for(let o of n)if(o.isApplicable(t)){let{refUnderProcessing:s,newBreadcrumbs:a}=o.applyStrategy(t);t=s,r=[...r,...a]}}while(t.join("")!==i.join(""));return r}var jEf,QEf,zEf,MEf,LEf,UEf,VEf,_Ef,nto=h(()=>{"use strict";jEf={isApplicable:e=>e[0]==="#"&&e[1]==="components"&&e[2]==="schemas",applyStrategy:e=>{let t=[e[3]??""];return{refUnderProcessing:e.slice(4),newBreadcrumbs:t}}},QEf={isApplicable:e=>e[0]==="#"&&e[1]==="components"&&e[2]==="responses",applyStrategy:e=>{let t=[e[3]??""];return e=e.slice(4),{refUnderProcessing:e.slice(4),newBreadcrumbs:t}}},zEf={isApplicable:e=>e[0]==="#"&&e[1]==="components"&&e[2]==="parameters",applyStrategy:e=>{let t=[e[3]??""];return e=e.slice(4),e[0]==="schema"&&(e=e.slice(1)),{refUnderProcessing:e,newBreadcrumbs:t}}},MEf={isApplicable:e=>e[0]==="properties",applyStrategy:e=>{let t=[e[1]??""];return{refUnderProcessing:e.slice(2),newBreadcrumbs:t}}},LEf={isApplicable:e=>e[0]==="items",applyStrategy:e=>({refUnderProcessing:e.slice(1),newBreadcrumbs:[]})},UEf={isApplicable:e=>e[0]==="allOf",applyStrategy:e=>({refUnderProcessing:e.slice(1),newBreadcrumbs:[]})},VEf={isApplicable:e=>e[0]==="anyOf",applyStrategy:e=>({refUnderProcessing:e.slice(1),newBreadcrumbs:[]})},_Ef={isApplicable:e=>e[0]==="oneOf",applyStrategy:e=>({refUnderProcessing:e.slice(1),newBreadcrumbs:[]})}});function oy(e,t){let n=e.map(i=>/^[^a-zA-Z0-9]+$/.test(i)?i:ku($n(i))).join("");return/^\d/.test(n)?CFt(n)??n:n}function Nrc(e){let t=e.join("_");return $n(t)}var oX=h(()=>{"use strict";gc();Vi()});function Kf(e){switch(e.type){case"object":return fa.object({allOf:e.allOf,properties:e.properties.map(t=>GEf(t)),allOfPropertyConflicts:e.allOfPropertyConflicts,description:e.description,generatedName:e.generatedName,nameOverride:e.nameOverride,title:e.title,namespace:e.namespace,groupName:e.groupName,additionalProperties:e.additionalProperties,availability:e.availability,encoding:e.encoding,source:e.source,inline:e.inline,minProperties:e.minProperties,maxProperties:e.maxProperties});case"array":return fa.array({description:e.description,availability:e.availability,value:Kf(e.value),generatedName:e.generatedName,nameOverride:e.nameOverride,title:e.title,namespace:e.namespace,groupName:e.groupName,inline:e.inline,minItems:e.minItems,maxItems:e.maxItems,default:e.default});case"enum":return fa.enum({description:e.description,availability:e.availability,generatedName:e.generatedName,nameOverride:e.nameOverride,title:e.title,values:e.values,default:e.default,namespace:e.namespace,groupName:e.groupName,source:e.source,inline:e.inline});case"literal":return fa.literal({description:e.description,availability:e.availability,value:e.value,generatedName:e.generatedName,nameOverride:e.nameOverride,title:e.title,namespace:e.namespace,groupName:e.groupName});case"nullable":return fa.nullable({generatedName:e.generatedName,nameOverride:e.nameOverride,title:e.title,description:e.description,availability:e.availability,value:Kf(e.value),namespace:e.namespace,groupName:e.groupName,inline:e.inline});case"optional":return fa.optional({generatedName:e.generatedName,nameOverride:e.nameOverride,title:e.title,description:e.description,availability:e.availability,value:Kf(e.value),namespace:e.namespace,groupName:e.groupName,inline:e.inline});case"primitive":return fa.primitive({description:e.description,availability:e.availability,schema:jrc(e.schema),generatedName:e.generatedName,nameOverride:e.nameOverride,title:e.title,namespace:e.namespace,groupName:e.groupName});case"map":return fa.map({description:e.description,availability:e.availability,key:fa.primitive({description:e.key.description,availability:e.key.availability,schema:jrc(e.key.schema),generatedName:e.key.generatedName,title:e.key.title,nameOverride:e.key.nameOverride,namespace:e.namespace,groupName:e.groupName}),value:Kf(e.value),generatedName:e.generatedName,title:e.title,nameOverride:e.nameOverride,namespace:e.namespace,groupName:e.groupName,encoding:e.encoding,inline:e.inline,minProperties:e.minProperties,maxProperties:e.maxProperties});case"reference":return fa.reference({description:e.description,availability:e.availability,generatedName:e.generatedName,nameOverride:e.nameOverride,title:e.title,schema:e.schema,namespace:e.namespace,groupName:e.groupName,source:e.source});case"oneOf":return fa.oneOf(qEf(e.value));case"unknown":return fa.unknown({nameOverride:e.nameOverride,generatedName:e.generatedName,title:e.title,description:e.description,availability:e.availability,namespace:e.namespace,groupName:e.groupName});default:Ie(e)}}function qEf(e){switch(e.type){case"discriminated":return KY.discriminated({commonProperties:e.commonProperties.map(t=>({key:t.key,schema:Kf(t.schema)})),description:e.description,availability:e.availability,discriminantProperty:e.discriminantProperty,discriminantPropertyNameOverride:e.discriminantPropertyNameOverride,discriminatorContext:e.discriminatorContext,defaultDiscriminantValue:e.defaultDiscriminantValue,generatedName:e.generatedName,title:e.title,nameOverride:e.nameOverride,schemas:Object.fromEntries(Object.entries(e.schemas).map(([t,r])=>[t,Kf(r)])),namespace:e.namespace,groupName:e.groupName,encoding:e.encoding,source:e.source,inline:e.inline});case"undiscriminated":return KY.undiscriminated({description:e.description,availability:e.availability,generatedName:e.generatedName,title:e.title,nameOverride:e.nameOverride,commonProperties:e.commonProperties?.map(t=>({key:t.key,schema:Kf(t.schema)})),schemas:e.schemas.map(t=>Kf(t)),namespace:e.namespace,groupName:e.groupName,encoding:e.encoding,source:e.source,inline:e.inline});default:Ie(e)}}function jrc(e){switch(e.type){case"string":return Lu.string(e);case"base64":return Lu.base64();case"boolean":return Lu.boolean(e);case"date":return Lu.date();case"datetime":return Lu.datetime();case"datetimeRfc2822":return Lu.datetimeRfc2822();case"double":return Lu.double(e);case"float":return Lu.float();case"int":return Lu.int(e);case"int64":return Lu.int64(e);case"uint":return Lu.uint();case"uint64":return Lu.uint64();default:Ie(e)}}function GEf(e){return{conflict:e.conflict,generatedName:e.generatedName,key:e.key,schema:Kf(e.schema),audiences:e.audiences,nameOverride:e.nameOverride,availability:e.availability,readonly:e.readonly,writeonly:e.writeonly}}var LJe=h(()=>{"use strict";Dt();gc()});function UJe(e,t){return Fj(Kf(e),Kf(t))}var ito=h(()=>{"use strict";gc();LJe()});function Qrc({nameOverride:e,generatedName:t,title:r,breadcrumbs:n,properties:i,description:o,required:s,wrapAsOptional:a,wrapAsNullable:c,allOf:u,context:l,propertiesToExclude:p,namespace:d,groupName:f,fullExamples:m,additionalProperties:g,availability:A,encoding:y,source:E,minProperties:v,maxProperties:I}){let C=[...s??[]],w={...zrc({properties:i,breadcrumbs:n,context:l})},T=[],P=[];for(let J of u)if(!l.options.inlineAllOfSchemas&&qn(J)){let Z=l.resolveSchemaReference(J);if(Z.discriminator!=null&&Z.discriminator.mapping!=null)continue;if(Z.oneOf!=null||Z.anyOf!=null){let le=Z.oneOf??Z.anyOf;if(le!=null){for(let oe of le){let ce=qn(oe)?l.resolveSchemaReference(oe):oe,Te=_a(ce,!1,!1,l.DUMMY,n,E,d);Te.type==="object"&&T.push(...Te.properties.map(Fe=>Fe.schema.type!=="optional"&&Fe.schema.type!=="nullable"?{...Fe,schema:Mr.optional({nameOverride:void 0,generatedName:"",title:void 0,value:Fe.schema,description:void 0,availability:Fe.availability,namespace:void 0,groupName:void 0,inline:void 0})}:Fe))}continue}}let ae=VJe(J);if(ae==null)continue;P.push({schemaId:ae,convertedSchema:sto(J,[ae],E,l.options.preserveSchemaIds,l),properties:wSr({schema:J,context:l,breadcrumbs:n,source:E,namespace:d})}),l.markSchemaAsReferencedByNonRequest(ae)}else if(qn(J)){let Z=l.resolveSchemaReference(J),ae=_a(Z,!1,!1,l,n,E,d);ae.type==="object"&&T.push(...ae.properties)}else{let Z=J.required??[];T=T.map(oe=>(oe.schema.type==="optional"||oe.schema.type==="nullable")&&Z.includes(oe.key)?{...oe,schema:oe.schema.value}:oe);let ae=J;if(J.properties!=null){let oe={};for(let[ce,Te]of Object.entries(J.properties)){let Fe=Te;if(!qn(Te))for(let se of u){if(se===J||!qn(se))continue;let xe=l.resolveSchemaReference(se).properties?.[ce];if(xe!=null&&!qn(xe)){Fe={...xe,...Te};break}}oe[ce]=Fe}ae={...J,properties:oe}}let le=ae.oneOf??ae.anyOf;if(le!=null&&ae.type==null&&ae.properties==null){let oe=new Set(T.map(ce=>ce.key));for(let ce of le){let Te=qn(ce)?l.resolveSchemaReference(ce):ce,Fe=HEf(Te),se=_a(Fe,!1,!1,l,n,E,d);if(se.type==="object")for(let pe of se.properties)oe.has(pe.key)||(oe.add(pe.key),pe.schema.type!=="optional"&&pe.schema.type!=="nullable"?T.push({...pe,schema:Mr.optional({nameOverride:void 0,generatedName:"",title:void 0,value:pe.schema,description:void 0,availability:pe.availability,namespace:void 0,groupName:void 0,inline:void 0})}):T.push(pe))}}else{let oe=_a(ae,!1,!1,l,n,E,d);oe.type==="object"&&T.push(...oe.properties)}}let O={};for(let J of P)for(let[Z,ae]of Object.entries(J.properties)){let le=O[Z];le!=null?(le.schemaIds.push(J.schemaId),le.schemas.some(ce=>UJe(ce,ae))||le.schemas.push(ae)):O[Z]={schemaIds:[J.schemaId],schemas:[ae]}}let M=[];for(let[J,Z]of Object.entries(O))Z.schemaIds.length>1&&M.push({propertyKey:J,allOfSchemaIds:Z.schemaIds,conflictingTypeSignatures:Z.schemas.length>1});let K=Object.entries(w).map(([J,Z])=>{let ae=zr(Z,Sn.AUDIENCES)??[],le=zx(Z),oe=qn(Z)?l.resolveSchemaReference(Z):Z,ce="readOnly"in Z&&Z.readOnly===!0||oe.readOnly,Te="writeOnly"in Z&&Z.writeOnly===!0||oe.writeOnly,se=!(C.includes(J)&&(!ce||l.options.respectReadonlySchemas)),pe=zr(Z,Sn.FERN_PROPERTY_NAME),xe=[...n,J],Ee=Nrc(xe),De=_a(Z,se,!1,l,xe,E,d),Ke={};for(let ct of P){let Ct=ct.properties[J];Ct!=null&&!UJe(De,Ct)?Ke[ct.schemaId]={differentSchema:!0}:Ct!=null&&(Ke[ct.schemaId]={differentSchema:!1})}return{key:J,schema:De,nameOverride:pe,audiences:ae,conflict:Ke,generatedName:Ee,availability:le,readonly:ce,writeonly:Te}});return K.push(...T.map(J=>{let Z=J.conflict;for(let ae of P){let le=ae.properties[J.key];le!=null&&!UJe(J.schema,le)?Z[ae.schemaId]={differentSchema:!0}:le!=null&&(Z[ae.schemaId]={differentSchema:!1})}return C.includes(J.key)&&(J.schema.type==="optional"||J.schema.type==="nullable")&&(!J.readonly||l.options.respectReadonlySchemas)?{...J,schema:J.schema.value,conflict:Z}:{...J,conflict:Z}})),WEf({nameOverride:e,generatedName:t,title:r,wrapAsOptional:a,wrapAsNullable:c,properties:K.filter(J=>!p.has(J.key)),description:o,allOf:P.map(J=>J.convertedSchema),allOfPropertyConflicts:M,namespace:d,groupName:f,fullExamples:m,additionalProperties:g,availability:A,encoding:y,source:E,context:l,minProperties:v,maxProperties:I})}function WEf({nameOverride:e,generatedName:t,title:r,wrapAsOptional:n,wrapAsNullable:i,properties:o,description:s,allOf:a,allOfPropertyConflicts:c,namespace:u,groupName:l,fullExamples:p,additionalProperties:d,availability:f,encoding:m,source:g,context:A,minProperties:y,maxProperties:E}){let v=Mr.object({description:s,properties:o,nameOverride:e,generatedName:t,title:r,allOf:a,allOfPropertyConflicts:c,namespace:u,groupName:l,fullExamples:p,additionalProperties:_Ft(d,A.options),availability:f,encoding:m,source:g,inline:void 0,minProperties:y,maxProperties:E});return i&&(v=Mr.nullable({nameOverride:e,generatedName:t,title:r,value:v,description:s,availability:f,namespace:u,groupName:l,inline:void 0})),n&&(v=Mr.optional({nameOverride:e,generatedName:t,title:r,value:v,description:s,availability:f,namespace:u,groupName:l,inline:void 0})),v}function zrc({properties:e,breadcrumbs:t,context:r}){return Object.fromEntries(Object.entries(e).filter(([n,i])=>{let o=zr(i,Sn.IGNORE);return o&&r.logger.debug(`Property ${t.join(".")}.${n} is marked with x-fern-ignore. Skipping.`),!o}))}function HEf(e){if(e.properties==null)return e;let t={};for(let[r,n]of Object.entries(e.properties))!qn(n)&&"not"in n||(t[r]=n);return{...e,properties:t}}function wSr({schema:e,context:t,breadcrumbs:r,source:n,namespace:i}){let o={},[s,a]=qn(e)?[t.resolveSchemaReference(e),qFt(e.$ref)]:[e,r];for(let c of s.allOf??[])o={...o,...wSr({schema:c,context:t,breadcrumbs:a,source:n,namespace:i})};for(let[c,u]of Object.entries(zrc({properties:s.properties??{},breadcrumbs:r,context:t}))){let l=_a(u,!1,!1,t,[...a,c],n,i);o[c]=l}return o}var oto=h(()=>{"use strict";gc();Tu();rp();CSr();MJe();GP();nto();oX();yb();ito()});function ato(e,t){let r={...e.properties??{}};for(let n of e.allOf??[])if(qn(n)){let i=t.resolveSchemaReference(n);r={...ato(i,t),...r}}else r={...ato(n,t),...r};return r}function JEf(e,t){return qn(e)?t.resolveSchemaReference(e):e}function Mrc(e,t){let r=ato(e,t),n=Object.entries(r);if(n.length===0)return!1;let i=!1;for(let[o,s]of n){if(!KEf.has(o))return!1;let a=JEf(s,t);switch(o){case"event":if(i=!0,a.type!=="string")return!1;break;case"id":if(a.type!=="string")return!1;break;case"retry":if(a.type!=="integer")return!1;break;case"data":break}}return i}function GFt({discriminator:e,context:t}){return zr(e,Sn.DISCRIMINATOR_CONTEXT)??YEf({discriminator:e,context:t})}function YEf({discriminator:e,context:t}){let r=e.mapping;if(r==null||Object.keys(r).length===0)return"data";for(let n of Object.values(r))try{let i=t.resolveSchemaReference({$ref:n});if(!Mrc(i,t))return"data"}catch{return"data"}return"protocol"}function Lrc({variants:e,context:t}){let r=Object.values(e);if(r.length===0)return"data";for(let n of r)try{let i=qn(n)?t.resolveSchemaReference(n):n;if(!Mrc(i,t))return"data"}catch{return"data"}return"protocol"}var KEf,cto=h(()=>{"use strict";Tu();rp();yb();KEf=new Set(["event","data","id","retry"])});function SSr({nameOverride:e,generatedName:t,title:r,breadcrumbs:n,properties:i,description:o,availability:s,required:a,wrapAsOptional:c,wrapAsNullable:u,discriminator:l,context:p,namespace:d,groupName:f,encoding:m,source:g}){let A=l.propertyName,y=zr(l,Sn.FERN_PROPERTY_NAME),E=GFt({discriminator:l,context:p}),v=Object.fromEntries(Object.entries(l.mapping??{}).map(([C,w])=>{let T=nL({$ref:w},!1,!1,p,[w],m,g,d);return p.markReferencedByDiscriminatedUnion({$ref:w},A,1),[C,T]})),I=Object.entries(i).filter(([C])=>C!==A).map(([C,w])=>{let T=a!=null&&a.includes(C),[P,O]=p.options.coerceOptionalSchemasToNullable?[!1,!T]:[!T,!1],M=_a(w,P,O,p,[...n,C],g,d);return{key:C,schema:M}});if(p.options.shouldInferDiscriminatedUnionBaseProperties){let C=Object.values(l.mapping??{}).map(T=>({$ref:T})),w=Vrc({variants:C,discriminant:A,existingPropertyNames:new Set(I.map(T=>T.key)),context:p,breadcrumbs:n,source:g,namespace:d});I.push(...w)}return Urc({nameOverride:e,generatedName:t,title:r,wrapAsOptional:c,wrapAsNullable:u,properties:I,description:o,availability:s,discriminant:A,discriminantNameOverride:y,discriminatorContext:E,subtypes:v,defaultDiscriminantValue:void 0,namespace:d,groupName:f,source:g})}function uto({nameOverride:e,generatedName:t,title:r,breadcrumbs:n,properties:i,description:o,availability:s,required:a,wrapAsOptional:c,wrapAsNullable:u,discriminant:l,variants:p,defaultDiscriminantValue:d,context:f,namespace:m,groupName:g,encoding:A,source:y}){let E=Object.fromEntries(Object.entries(p).map(([I,C])=>{if(qn(C)){let w=nL(C,!1,!1,f,[C.$ref],A,y,m);return f.markReferencedByDiscriminatedUnion(C,l,1),[I,w]}else{let w=_Je(C,!1,!1,f,[...n,I],A,y,m,new Set([l]));return[I,w]}})),v=Object.entries(i).filter(([I])=>I!==l).map(([I,C])=>{let w=a!=null&&a.includes(I),[T,P]=f.options.coerceOptionalSchemasToNullable?[!1,!w]:[!w,!1],O=_a(C,T,P,f,[...n,I],y,m);return{key:I,schema:O}});if(f.options.shouldInferDiscriminatedUnionBaseProperties){let I=Vrc({variants:Object.values(p),discriminant:l,existingPropertyNames:new Set(v.map(C=>C.key)),context:f,breadcrumbs:n,source:y,namespace:m});v.push(...I)}return Urc({nameOverride:e,generatedName:t,title:r,wrapAsOptional:c,wrapAsNullable:u,properties:v,description:o,availability:s,discriminant:l,discriminantNameOverride:void 0,discriminatorContext:Lrc({variants:p,context:f}),subtypes:E,defaultDiscriminantValue:d,namespace:m,groupName:g,source:y})}function Urc({nameOverride:e,generatedName:t,title:r,wrapAsOptional:n,wrapAsNullable:i,properties:o,description:s,availability:a,discriminant:c,discriminantNameOverride:u,discriminatorContext:l,subtypes:p,defaultDiscriminantValue:d,namespace:f,groupName:m,source:g}){let A=Mr.oneOf(tL.discriminated({description:s,availability:a,discriminantProperty:c,discriminantPropertyNameOverride:u,discriminatorContext:l,defaultDiscriminantValue:d,nameOverride:e,generatedName:t,title:r,schemas:p,commonProperties:o,namespace:f,groupName:m,encoding:void 0,source:g,inline:void 0}));return i&&(A=Mr.nullable({nameOverride:e,generatedName:t,title:r,value:A,namespace:f,groupName:m,description:s,availability:a,inline:void 0})),n&&(A=Mr.optional({nameOverride:e,generatedName:t,title:r,value:A,namespace:f,groupName:m,description:s,availability:a,inline:void 0})),A}function Vrc({variants:e,discriminant:t,existingPropertyNames:r,context:n,breadcrumbs:i,source:o,namespace:s}){if(e.length===0)return[];let a=e.map(p=>wSr({schema:p,context:n,breadcrumbs:i,source:o,namespace:s})),c=a[0];if(c==null)return[];let u=e.map(p=>_rc({schema:p,context:n,visited:new Set})),l=[];for(let[p,d]of Object.entries(c)){if(p===t||r.has(p))continue;let f=!0;for(let A=1;A<a.length;A++){let E=a[A]?.[p];if(E==null||!UJe(d,E)){f=!1;break}}if(!f)continue;let g=u.every(A=>A.has(p))||d.type==="optional"||d.type==="nullable"?d:Mr.optional({nameOverride:void 0,generatedName:"",title:void 0,value:d,description:void 0,availability:void 0,namespace:void 0,groupName:void 0,inline:void 0});l.push({key:p,schema:g})}return l}function _rc({schema:e,context:t,visited:r}){let n=new Set,i;if(qn(e)){if(r.has(e.$ref))return n;r.add(e.$ref),i=t.resolveSchemaReference(e)}else i=e;for(let o of i.required??[])n.add(o);for(let o of i.allOf??[]){let s=_rc({schema:o,context:t,visited:r});for(let a of s)n.add(a)}return n}var qrc=h(()=>{"use strict";gc();Tu();rp();oto();GP();cto();yb();ito()});function Grc(e){if(e.proto!=null)return _Ke.protobuf({typeName:e.proto.type})}var Wrc=h(()=>{"use strict";gc()});function ibe({nameOverride:e,generatedName:t,title:r,fernEnum:n,enumVarNames:i,enumValues:o,_default:s,description:a,availability:c,wrapAsOptional:u,wrapAsNullable:l,namespace:p,groupName:d,context:f,source:m,inline:g}){let A=ZEf(i??[]),y=new Set(o),E=Array.from(y).map((I,C)=>{let w=n?.[I],T=A[C],P=PJe.test(I),O=w?.name??T,M=P?I:DJe(I);return O!=null&&!PJe.test(O)&&(f?.logger.warn(`Enum name override ${O} is not a valid name. Falling back on ${M}.`),O=void 0),{nameOverride:O,generatedName:M,value:I,description:w?.description,availability:c,casing:{snake:w?.casing?.snake??void 0,pascal:w?.casing?.pascal??void 0,screamingSnake:w?.casing?.screamingSnake??void 0,camel:w?.casing?.camel??void 0}}}),v=s!=null?E.find(I=>I.value===s):void 0;return XEf({wrapAsOptional:u,wrapAsNullable:l,nameOverride:e,generatedName:t,title:r,values:E,_default:v,description:a,availability:c,namespace:p,groupName:d,source:m,inline:g})}function XEf({wrapAsOptional:e,wrapAsNullable:t,nameOverride:r,generatedName:n,title:i,values:o,_default:s,description:a,availability:c,namespace:u,groupName:l,source:p,inline:d}){let f=Mr.enum({nameOverride:r,generatedName:n,title:i,values:o,description:a,availability:c,default:s,example:void 0,namespace:u,groupName:l,source:p,inline:d});return t&&(f=Mr.nullable({nameOverride:r,generatedName:n,title:i,value:f,description:a,availability:c,namespace:u,groupName:l,inline:d})),e&&(f=Mr.optional({nameOverride:r,generatedName:n,title:i,value:f,description:a,availability:c,namespace:u,groupName:l,inline:d})),f}function ZEf(e){if(e.length<=1||e[0]==null)return e;let t=e[0],r=0;for(;t[r]!=null&&e.every(n=>n[r]===t[r]);)r++;return e.map(n=>n.substring(r))}var TSr=h(()=>{"use strict";gc()});function Hrc({nameOverride:e,generatedName:t,title:r,format:n,_default:i,minimum:o,maximum:s,exclusiveMinimum:a,exclusiveMaximum:c,multipleOf:u,description:l,availability:p,wrapAsOptional:d,wrapAsNullable:f,example:m,namespace:g,groupName:A,defaultIntegerFormat:y=jn.DefaultIntegerFormat.Int32}){let E=n??y,v=(()=>{switch(E){case jn.DefaultIntegerFormat.Int64:return Qi.int64({default:i,example:m});case jn.DefaultIntegerFormat.Uint32:return Qi.uint({default:i,example:m});case jn.DefaultIntegerFormat.Uint64:return Qi.uint64({default:i,example:m});default:return Qi.int({default:i,minimum:o,maximum:s,exclusiveMinimum:a,exclusiveMaximum:c,multipleOf:u,example:m})}})();return WS({nameOverride:e,generatedName:t,title:r,primitive:v,wrapAsOptional:d,wrapAsNullable:f,description:l,availability:p,namespace:g,groupName:A})}var Krc=h(()=>{"use strict";Va();gc();GP()});function $Ef(e){return typeof e=="string"?ny.string(e):typeof e=="boolean"?ny.boolean(e):ny.string(`${e}`)}function lto({nameOverride:e,generatedName:t,title:r,wrapAsOptional:n,wrapAsNullable:i,value:o,description:s,availability:a,namespace:c,groupName:u}){let l=Mr.literal({nameOverride:e,generatedName:t,title:r,value:$Ef(o),description:s,availability:a,namespace:c,groupName:u});return i&&(l=Mr.nullable({nameOverride:e,generatedName:t,title:r,value:l,description:s,availability:a,namespace:c,groupName:u,inline:void 0})),n&&(l=Mr.optional({nameOverride:e,generatedName:t,title:r,value:l,description:s,availability:a,namespace:c,groupName:u,inline:void 0})),l}var Jrc=h(()=>{"use strict";gc()});function pto({nameOverride:e,generatedName:t,title:r,format:n,_default:i,minimum:o,maximum:s,exclusiveMinimum:a,exclusiveMaximum:c,multipleOf:u,description:l,availability:p,wrapAsOptional:d,wrapAsNullable:f,example:m,namespace:g,groupName:A}){return n==null||n==="double"?WS({nameOverride:e,generatedName:t,title:r,primitive:Qi.double({default:i,minimum:o,maximum:s,exclusiveMinimum:a,exclusiveMaximum:c,multipleOf:u,example:m}),wrapAsOptional:d,wrapAsNullable:f,description:l,availability:p,namespace:g,groupName:A}):n==="float"?WS({nameOverride:e,generatedName:t,title:r,primitive:Qi.float({example:m}),wrapAsOptional:d,wrapAsNullable:f,description:l,availability:p,namespace:g,groupName:A}):n==="int32"?WS({nameOverride:e,generatedName:t,title:r,primitive:Qi.int({default:i,minimum:o,maximum:s,exclusiveMinimum:a,exclusiveMaximum:c,multipleOf:u,example:m}),wrapAsOptional:d,wrapAsNullable:f,description:l,availability:p,namespace:g,groupName:A}):n==="int64"?WS({nameOverride:e,generatedName:t,title:r,primitive:Qi.int64({default:i,example:m}),wrapAsOptional:d,wrapAsNullable:f,description:l,availability:p,namespace:g,groupName:A}):n==="uint32"?WS({nameOverride:e,generatedName:t,title:r,primitive:Qi.uint({default:i,example:m}),wrapAsOptional:d,wrapAsNullable:f,description:l,availability:p,namespace:g,groupName:A}):n==="uint64"?WS({nameOverride:e,generatedName:t,title:r,primitive:Qi.uint64({default:i,example:m}),wrapAsOptional:d,wrapAsNullable:f,description:l,availability:p,namespace:g,groupName:A}):n==="time-delta"?WS({nameOverride:e,generatedName:t,title:r,primitive:Qi.float({example:m}),wrapAsOptional:d,wrapAsNullable:f,description:l,availability:p,namespace:g,groupName:A}):WS({nameOverride:e,generatedName:t,title:r,primitive:Qi.float({example:m}),wrapAsOptional:d,wrapAsNullable:f,description:l,availability:p,namespace:g,groupName:A})}var Yrc=h(()=>{"use strict";gc();GP()});function obe({nameOverride:e,generatedName:t,title:r,breadcrumbs:n,description:i,availability:o,wrapAsOptional:s,wrapAsNullable:a,context:c,subtypes:u,namespace:l,groupName:p,encoding:d,source:f,subtypeSuffixOverrides:m,properties:g,required:A}){let y=rIf({schemas:u}),E=u.flatMap((C,w)=>{if(!qn(C)&&C.enum!=null&&c.options.coerceEnumsToLiterals&&C.type==="string")return C.enum.map(P=>Mr.literal({nameOverride:void 0,generatedName:oy([t,P],c.options.preserveSchemaIds),title:void 0,value:ny.string(String(P)),namespace:l,groupName:void 0,description:void 0,availability:P.availability}));let T=y[w];if(m!=null){let P=m[w];P!=null&&"name"in P&&(T=P.name)}return[_a(C,!1,!1,c,[...n,T??`${w}`],f,l)]}),v=g!=null&&Object.keys(g).length>0?Object.entries(g).map(([C,w])=>{let T=A!=null&&A.includes(C),[P,O]=c.options.coerceOptionalSchemasToNullable?[!1,!T]:[!T,!1];return{key:C,schema:_a(w,P,O,c,[...n,C],f,l)}}):void 0,I=eIf(E);return tIf({uniqueSubtypes:I,nameOverride:e,generatedName:t,title:r,wrapAsOptional:s,wrapAsNullable:a,description:i,availability:o,namespace:l,groupName:p,context:c,encoding:d,source:f,commonProperties:v})}function eIf(e){let t=[];for(let r=0;r<e.length;++r){let n=e[r],i=!1;for(let o=r+1;o<e.length;++o){let s=e[o];if(n!=null&&s!=null&&Fj(n,s)){i=!0;break}}n!=null&&!i&&t.push(n)}return t}function tIf({uniqueSubtypes:e,nameOverride:t,generatedName:r,title:n,wrapAsOptional:i,wrapAsNullable:o,description:s,availability:a,namespace:c,groupName:u,context:l,encoding:p,source:d,commonProperties:f}){let m=f!=null&&f.length>0;if(Object.entries(e).every(([A,y])=>y.type==="literal")&&!m){let A={},y=[];return Object.entries(e).forEach(([E,v])=>{v.type==="literal"&&v.value.type==="string"&&(y.push(v.value.value),v.description!=null&&(A[v.value.value]={description:v.description}))}),ibe({nameOverride:t,generatedName:r,title:n,wrapAsOptional:i,wrapAsNullable:o,description:s,availability:a,fernEnum:A,enumVarNames:void 0,enumValues:y,_default:void 0,namespace:c,groupName:u,context:l,source:d,inline:void 0})}if(e.length===1&&e[0]!=null&&!l.options.preserveSingleSchemaOneOf&&!m){let A=e[0];return o&&(A=Mr.nullable({nameOverride:t,generatedName:r,title:n,value:A,description:s,availability:a,namespace:c,groupName:u,inline:void 0})),i&&(A=Mr.optional({nameOverride:t,generatedName:r,title:n,value:A,description:s,availability:a,namespace:c,groupName:u,inline:void 0})),A}return Xrc({nameOverride:t,generatedName:r,title:n,wrapAsOptional:i,wrapAsNullable:o,description:s,availability:a,subtypes:e,namespace:c,groupName:u,encoding:p,source:d,commonProperties:f})}function fto({nameOverride:e,generatedName:t,title:r,description:n,availability:i,wrapAsOptional:o,wrapAsNullable:s,context:a,namespace:c,groupName:u,discriminator:l,encoding:p,source:d}){let f=Object.entries(l.mapping??{}).map(([A,y],E)=>{let v={$ref:y},I=nL(v,!1,!1,a,[y],p,d,c);return a.markSchemaWithDiscriminantValue(v,l.propertyName,A),I.type==="object"&&(I.properties={[l.propertyName]:Mr.literal({nameOverride:void 0,generatedName:oy([t,A],a.options.preserveSchemaIds),title:void 0,value:ny.string(A),namespace:void 0,groupName:void 0,description:void 0,availability:void 0}),...I.properties.filter(C=>C.key!==l.propertyName)}),I}),m=[];for(let A=0;A<f.length;++A){let y=f[A],E=!1;for(let v=A+1;v<f.length;++v){let I=f[v];if(y!=null&&I!=null&&Fj(y,I)){E=!0;break}}y!=null&&!E&&m.push(y)}if(Object.entries(m).every(([A,y])=>y.type==="literal")){let A={},y=[];return Object.entries(m).forEach(([E,v])=>{v.type==="literal"&&v.value.type==="string"&&(y.push(v.value.value),v.description!=null&&(A[v.value.value]={description:v.description}))}),ibe({nameOverride:e,generatedName:t,title:r,wrapAsOptional:o,wrapAsNullable:s,description:n,availability:i,fernEnum:A,enumVarNames:void 0,enumValues:y,_default:void 0,namespace:c,groupName:u,context:a,source:d,inline:void 0})}return m.length===1&&m[0]!=null&&!a.options.preserveSingleSchemaOneOf?m[0]:Xrc({nameOverride:e,generatedName:t,title:r,wrapAsOptional:o,wrapAsNullable:s,description:n,availability:i,subtypes:m,namespace:c,groupName:u,encoding:p,source:d})}function rIf({schemas:e}){let t={},r=0;for(let i of e){if(!qn(i)){if(i.properties!=null&&Object.entries(i.properties).length>0){let o=Object.keys(i.properties),s={},a=o;for(let[c,u]of Object.entries(t)){let l=rir(u,o);a=rir(a,u),s[c]=l}s[r]=a,t=s}}r++}return e.map((i,o)=>{let s=t[o];if(s!=null&&s.length>0){let a=s.sort();if(a[0]!=null)return a[0]}return hNe(o)??`${o}`})}function Xrc({nameOverride:e,generatedName:t,title:r,wrapAsOptional:n,wrapAsNullable:i,description:o,availability:s,subtypes:a,namespace:c,groupName:u,encoding:l,source:p,commonProperties:d}){let f=Mr.oneOf(tL.undiscriminated({description:o,availability:s,nameOverride:e,generatedName:t,title:r,commonProperties:d!=null&&d.length>0?d:void 0,schemas:a,namespace:c,groupName:u,encoding:l,source:p,inline:void 0}));return i&&(f=Mr.nullable({nameOverride:e,generatedName:t,title:r,value:f,description:o,availability:s,namespace:c,groupName:u,inline:void 0})),n&&(f=Mr.optional({nameOverride:e,generatedName:t,title:r,value:f,description:o,availability:s,namespace:c,groupName:u,inline:void 0})),f}var dto=h(()=>{"use strict";gc();Vi();TSr();GP();oX();yb()});function qJe(e){if(e.default!=null&&typeof e.default=="string")return e.default}var mto=h(()=>{"use strict"});function OSr({schema:e,logger:t,fallback:r}){if(e.example!=null&&typeof e.example=="number")return e.example;let n=xNe(e);for(let i of n??[])if(typeof i=="number")return i;if(r&&typeof r=="number")return r}function Zrc({schema:e,logger:t,fallback:r}){if(e.example!=null&&typeof e.example=="boolean")return e.example;let n=xNe(e);for(let i of n??[])if(typeof i=="boolean")return i;if(r&&typeof r=="boolean")return r}function WU({schema:e,logger:t,fallback:r}){if(e.example!=null&&typeof e.example=="string")return e.example;let n=xNe(e);for(let i of n??[])if(typeof i=="string")return i;if(r&&typeof r=="string")return r}function BSr({schema:e,logger:t,fallback:r}){if(e.example!=null&&Array.isArray(e.example))return e.example;let n=xNe(e);for(let i of n??[])if(Array.isArray(i))return i;if(r&&Array.isArray(r))return r}var hto=h(()=>{"use strict";tto()});function FSr(){rnc.reset()}function nIf(e,t,r){let n=zr(e,Sn.TYPE_NAME),i=t.options.useTitlesAsName?sIf(e.title):void 0,o=n??i;if(!o)return;let s=r.split(".");return n!=null||s.length===1?rnc.getUniqueTitleName(o,r,t.logger,t.options.resolveSchemaCollisions):o}function nnc(e,t){let r=qn(e)?t.resolveSchemaReference(e):e;switch(r.type){case"boolean":case"number":case"integer":return!0;case"string":return r.enum==null;case"array":return nnc(r.items,t);case"object":return!1;case void 0:return!1;default:return r.type==="null"?!0:(t.logger.warn("Unhandled schema type. Will not inline this schema",JSON.stringify(r)),!1)}}function iIf(e,t,r){return r.options.resolveAliases?typeof r.options.resolveAliases=="object"&&r.options.resolveAliases.except?.includes(e)?!1:nnc(t,r):!1}function _a(e,t,r,n,i,o,s,a=!1,c=new Set,u){let l=Orc(e)??o,p=dIf({schema:e,logger:n.logger}),d=u;if(qn(e)){let f=oIf(e);f!==void 0&&(d=f)}if(qn(e)){let f=VJe(e);return f!=null?iIf(f,e,n)?_Je(n.resolveSchemaReference(e),t,r,n,qFt(e.$ref),p,l,s,c,a,d):(a?n.markSchemaAsReferencedByRequest(f):n.markSchemaAsReferencedByNonRequest(f),nL(e,t,r,n,i,p,l,s)):_Je(n.resolveSchemaReference(e),t,r,n,qFt(e.$ref),p,l,s,c,a,d)}return _Je(e,t,r,n,i,p,l,s,c,a,u)}function oIf(e){if("example"in e&&e.example!==void 0){let t=e.example;if(typeof t=="string"||typeof t=="number"||typeof t=="boolean"||Array.isArray(t))return t}if("examples"in e){let t=e.examples;if(Array.isArray(t)&&t.length>0){let r=t[0];if(typeof r=="string"||typeof r=="number"||typeof r=="boolean"||Array.isArray(r))return r}}}function nL(e,t,r,n,i,o,s,a){let c=e.$ref.includes("properties")?_Je(n.resolveSchemaReference(e),t,r,n,i,o,s,a,new Set):Mr.reference(sto(e,i,s,n.options.preserveSchemaIds,n));if(r===!1){let u=n.resolveSchemaReference(e);(u.nullable===!0||Array.isArray(u.type)&&u.type.length>=2&&u.type.includes("null"))&&(r=!0)}return r&&(c=Mr.nullable({title:void 0,nameOverride:void 0,generatedName:oy(i,n.options.preserveSchemaIds),value:c,description:void 0,availability:void 0,namespace:void 0,groupName:void 0,inline:void 0})),t&&(c=Mr.optional({title:void 0,nameOverride:void 0,generatedName:oy(i,n.options.preserveSchemaIds),value:c,description:void 0,availability:void 0,namespace:void 0,groupName:void 0,inline:void 0})),c}function sIf(e){if(e!=null&&!e.includes(" ")&&/^[a-zA-Z]+$/.test(e))return e}function _Je(e,t,r,n,i,o,s,a,c=new Set,u=!1,l){typeof e=="string"&&(e={type:e});let p=nIf(e,n,i.join(".")),d=zr(e,Sn.SDK_GROUP_NAME)??zr(e,LO.TAGS)?.[0],f=(typeof d=="string"?[d]:d)??[];f=n.resolveGroupName(f);let m=oy(i,n.options.preserveSchemaIds);p!=null&&(i=[p]);let g=e.title,A=e.description,y=zx(e),E=[];e.example!=null&&E.push({name:void 0,value:e.example,description:void 0});let v=zr(e,LO.EXAMPLES);v!=null&&Object.keys(v).length>0&&E.push(...Object.entries(v).map(([w,T])=>({name:T?.summary??w,value:T.value,description:T.description})));let I=xNe(e);I!=null&&Object.keys(I).length>0&&E.push(...I.map(w=>({name:void 0,value:w,description:void 0})));let C=Trc({schema:e,description:A,title:g,nameOverride:p,generatedName:m,availability:y});if(C!=null){let w=C;return r&&(w=Mr.nullable({availability:y,namespace:a,groupName:f,description:A,generatedName:m,inline:void 0,nameOverride:p,title:g,value:w})),t&&(w=Mr.optional({availability:y,namespace:a,groupName:f,description:A,generatedName:m,inline:void 0,nameOverride:p,title:g,value:w})),w}try{if(Array.isArray(e.type)){let K=e.type.indexOf("null"),J=K!==-1;if(e.type.length===1)e.type=e.type[0];else if(e.type.length===2&&J)e.type.splice(K,1),e.type=e.type[0],e.nullable=!0;else if(J&&(e.type.splice(K,1),e.nullable=!0),e.oneOf==null)e.oneOf=[...new Set(e.type)];else{let Z=new Set([...e.oneOf,...e.type]);e.oneOf=[...Z]}}r=r||e.nullable===!0;let w="const"in e,T=w&&n.options.coerceConstsTo==="enums";if(w){let K=e.const;if(n.options.coerceConstsTo==="literals"&&(typeof K=="string"||typeof K=="boolean"))return lto({nameOverride:p,generatedName:m,title:g,wrapAsOptional:t,wrapAsNullable:r,value:K,description:A,availability:y,namespace:a,groupName:f});e.enum=[K]}if(e.enum!=null&&(e.type==="string"||e.type==null||e.type==="enum")){if(e.enum=e.enum.filter(J=>J!==null),!RSr(e.enum))return WS({nameOverride:p,generatedName:m,title:g,primitive:Qi.string({default:qJe(e),minLength:e.minLength,maxLength:e.maxLength,pattern:e.pattern,format:e.format,example:WU({schema:e,logger:n.logger,fallback:l})}),namespace:a,groupName:f,wrapAsOptional:t,wrapAsNullable:r,description:A,availability:y});let K=wrc(e);return n.options.coerceEnumsToLiterals&&!T&&e.enum.length===1&&e.enum[0]!=null&&K==null?lto({nameOverride:p,generatedName:m,title:g,wrapAsOptional:t,wrapAsNullable:r,value:e.enum[0],description:A,availability:y,namespace:a,groupName:f}):ibe({nameOverride:p,generatedName:m,title:g,fernEnum:K,enumVarNames:zr(e,[LO.ENUM_VAR_NAMES]),enumValues:e.enum,_default:e.default,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,namespace:a,groupName:f,context:n,source:s,inline:void 0})}if(RSr(e.type)&&e.type.length>1){let K=e.type.includes("null"),J=e.type.filter(Z=>Z!=="null").map(Z=>({type:Z,nullable:K}));return obe({nameOverride:p,generatedName:m,title:g,breadcrumbs:i,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,context:n,subtypes:J,namespace:a,groupName:f,encoding:o,source:s})}if(e.type==="boolean"){let J=zr(e,Sn.BOOLEAN_LITERAL)??aIf(e,T,n.options.coerceEnumsToLiterals);return J!=null?enc({nameOverride:p,generatedName:m,title:g,literal:ny.boolean(J),wrapAsOptional:t,wrapAsNullable:r,description:A,availability:y,namespace:a,groupName:f}):WS({nameOverride:p,generatedName:m,title:g,primitive:Qi.boolean({default:cIf(e.default),example:Zrc({schema:e,logger:n.logger,fallback:l})}),wrapAsOptional:t,wrapAsNullable:r,description:A,availability:y,namespace:a,groupName:f})}if(e.type==="number")return pto({nameOverride:p,generatedName:m,title:g,format:e.format,_default:e.default,minimum:e.minimum,maximum:e.maximum,exclusiveMinimum:CNe(e.exclusiveMinimum),exclusiveMaximum:CNe(e.exclusiveMaximum),multipleOf:e.multipleOf,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,example:OSr({schema:e,logger:n.logger,fallback:l}),namespace:a,groupName:f});if(e.type==="integer")return Hrc({nameOverride:p,generatedName:m,title:g,format:e.format,_default:e.default,minimum:e.minimum,maximum:e.maximum,exclusiveMinimum:CNe(e.exclusiveMinimum),exclusiveMaximum:CNe(e.exclusiveMaximum),multipleOf:e.multipleOf,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,example:OSr({schema:e,logger:n.logger,fallback:l}),namespace:a,groupName:f,defaultIntegerFormat:n.options.defaultIntegerFormat});if(e.type==="float")return pto({nameOverride:p,generatedName:m,title:g,format:"float",_default:e.default,minimum:e.minimum,maximum:e.maximum,exclusiveMinimum:CNe(e.exclusiveMinimum),exclusiveMaximum:CNe(e.exclusiveMaximum),multipleOf:e.multipleOf,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,example:OSr({schema:e,logger:n.logger,fallback:l}),namespace:a,groupName:f});if(e.type==="string"){if(e.format==null&&e.contentMediaType==="application/octet-stream"&&(e={...e,format:"binary"}),e.format==="date-time")return WS({nameOverride:p,generatedName:m,title:g,primitive:Qi.datetime({example:WU({schema:e,logger:n.logger,fallback:l})}),wrapAsOptional:t,wrapAsNullable:r,description:A,availability:y,namespace:a,groupName:f});if(e.format==="date-time-rfc-2822")return WS({nameOverride:p,generatedName:m,title:g,primitive:Qi.datetimeRfc2822({example:WU({schema:e,logger:n.logger,fallback:l})}),wrapAsOptional:t,wrapAsNullable:r,description:A,availability:y,namespace:a,groupName:f});if(e.format==="date"&&n.options.typeDatesAsStrings===!1)return WS({nameOverride:p,generatedName:m,title:g,primitive:Qi.date({example:WU({schema:e,logger:n.logger,fallback:l})}),wrapAsOptional:t,wrapAsNullable:r,description:A,availability:y,namespace:a,groupName:f});if(e.format==="json-string"){let J=Mr.unknown({nameOverride:p,generatedName:m,title:g,description:A,availability:y,namespace:a,groupName:f,example:void 0});return r&&(J=Mr.nullable({availability:y,namespace:a,groupName:f,description:A,generatedName:m,inline:void 0,nameOverride:p,title:g,value:J})),t&&(J=Mr.optional({availability:y,namespace:a,groupName:f,description:A,generatedName:m,inline:void 0,nameOverride:p,title:g,value:J})),J}if(e.format==="byte"&&n.options.respectByteFormat)return WS({nameOverride:p,generatedName:m,title:g,primitive:Qi.base64({example:WU({schema:e,logger:n.logger,fallback:l})}),wrapAsOptional:t,wrapAsNullable:r,description:A,availability:y,namespace:a,groupName:f});let K=onc(e,"const");return K!=null?enc({nameOverride:p,generatedName:m,title:g,literal:ny.string(K),wrapAsOptional:t,wrapAsNullable:r,description:A,availability:y,namespace:a,groupName:f}):WS({nameOverride:p,generatedName:m,title:g,primitive:Qi.string({default:qJe(e),pattern:e.pattern,format:e.format,minLength:e.minLength,maxLength:e.maxLength,example:WU({schema:e,logger:n.logger,fallback:l})}),namespace:a,groupName:f,wrapAsOptional:t,wrapAsNullable:r,description:A,availability:y})}if(e.type==="array")return Frc({nameOverride:p,generatedName:m,title:g,breadcrumbs:i,item:e.items,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,context:n,namespace:a,groupName:f,example:BSr({schema:e,logger:n.logger,fallback:l}),source:s,minItems:e.minItems,maxItems:e.maxItems,default:e.default});if(e.additionalProperties!=null&&e.additionalProperties!==!1&&PSr(e)&&$rc(e))return Drc({nameOverride:p,generatedName:m,title:g,breadcrumbs:i,additionalProperties:e.additionalProperties,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,context:n,namespace:a,groupName:f,encoding:o,example:e.example,source:s,minProperties:e.minProperties,maxProperties:e.maxProperties});let P=zr(e,Sn.IS_DISCRIMINATED);if(e.oneOf!=null&&e.oneOf.length>0&&P===!1)return obe({nameOverride:p,generatedName:m,title:g,breadcrumbs:i,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,context:n,subtypes:e.oneOf,namespace:a,groupName:f,encoding:o,source:s});if(e.type==="object"&&e.discriminator!=null&&e.discriminator.mapping!=null){let K=GFt({discriminator:e.discriminator,context:n});return P===!0||!n.options.discriminatedUnionV2||K==="protocol"?SSr({nameOverride:p,generatedName:m,title:g,breadcrumbs:i,description:A,availability:y,discriminator:e.discriminator,properties:e.properties??{},required:e.required,wrapAsOptional:t,wrapAsNullable:r,context:n,namespace:a,groupName:f,encoding:o,source:s}):fto({nameOverride:p,generatedName:m,title:g,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,context:n,namespace:a,groupName:f,discriminator:e.discriminator,encoding:o,source:s})}if(e.oneOf!=null&&e.oneOf.length>0){let K=zr(e,Sn.IS_UNDISCRIMINATED);if(e.discriminator!=null&&e.discriminator.mapping!=null&&Object.keys(e.discriminator.mapping).length>0){let J=GFt({discriminator:e.discriminator,context:n});return P!==!0&&(n.options.discriminatedUnionV2||K)&&J!=="protocol"?fto({nameOverride:p,generatedName:m,title:g,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,context:n,namespace:a,groupName:f,discriminator:e.discriminator,encoding:o,source:s}):SSr({nameOverride:p,generatedName:m,title:g,breadcrumbs:i,description:A,availability:y,discriminator:e.discriminator,properties:e.properties??{},required:e.required,wrapAsOptional:t,wrapAsNullable:r,context:n,namespace:a,groupName:f,encoding:o,source:s})}else if(e.oneOf.length===1&&e.oneOf[0]!=null){if(n.options.preserveSingleSchemaOneOf)return obe({nameOverride:p,generatedName:m,title:g,breadcrumbs:i,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,context:n,subtypes:e.oneOf.filter(Z=>qn(Z)||Z.type!=="null"),encoding:o,namespace:a,groupName:f,source:s});let J=_a(e.oneOf[0],t,r,n,i,s,a,u);return sX(J,A,a,f)}else if(e.oneOf.length>1){if(e.oneOf.length===2&&e.oneOf[0]!=null&&e.oneOf[1]!=null){let le=e.oneOf[0],oe=e.oneOf[1];if(!qn(le)&&le.type==="null"){let ce=_a(oe,t,!0,n,i,s,a);return sX(ce,A,a,f)}else if(!qn(oe)&&oe.type==="null"){let ce=_a(le,t,!0,n,i,s,a);return sX(ce,A,a,f)}}let J=lIf({schemas:e.oneOf});if(J!=null)return ibe({nameOverride:p,generatedName:m,title:g,fernEnum:void 0,enumVarNames:void 0,enumValues:J,_default:e.default,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,namespace:a,groupName:f,context:n,source:s,inline:void 0});let Z=tnc({schemas:e.oneOf,context:n});if(Z!=null&&(P===!0||!n.options.discriminatedUnionV2&&!K))return uto({nameOverride:p,generatedName:m,title:g,breadcrumbs:i,properties:e.properties??{},required:e.required,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,discriminant:Z.discriminant,variants:Z.schemas,defaultDiscriminantValue:Z.defaultDiscriminantValue,context:n,namespace:a,groupName:f,encoding:o,source:s});let ae=e.oneOf.filter(le=>!qn(le)&&le.type==="null").length>0;return obe({nameOverride:p,generatedName:m,title:g,breadcrumbs:i,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r||ae,context:n,subtypes:e.oneOf.filter(le=>qn(le)||le.type!=="null"),encoding:o,namespace:a,groupName:f,source:s,properties:e.properties,required:e.required})}}if(e.anyOf!=null&&e.anyOf.length>0){if(e.anyOf.length===1&&e.anyOf[0]!=null){let Z=_a(e.anyOf[0],t,r,n,i,s,a,u);return sX(Z,A,a,f)}if(e.anyOf.length===2){let[Z,ae]=e.anyOf;if(Z!=null&&ae!=null){if(!qn(Z)&&Z.type==="null"){let le=_a(ae,t,!0,n,i,s,a);return sX(le,A,a,f)}else if(!qn(ae)&&ae.type==="null"){let le=_a(Z,t,!0,n,i,s,a);return sX(le,A,a,f)}}}let K=tnc({schemas:e.anyOf,context:n});if(K!=null&&!n.options.discriminatedUnionV2)return uto({nameOverride:p,generatedName:m,title:g,breadcrumbs:i,properties:e.properties??{},required:e.required,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,discriminant:K.discriminant,variants:K.schemas,defaultDiscriminantValue:K.defaultDiscriminantValue,context:n,namespace:a,groupName:f,encoding:o,source:s});let J=e.anyOf.filter(Z=>!qn(Z)&&Z.type==="null").length>0;return obe({nameOverride:p,generatedName:m,title:g,breadcrumbs:i,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r||J,context:n,subtypes:e.anyOf.filter(Z=>qn(Z)||Z.type!=="null"),encoding:o,namespace:a,groupName:f,source:s,properties:e.properties,required:e.required})}if(e.discriminator?.mapping!=null&&Object.keys(e.discriminator.mapping).length>0&&e.oneOf==null&&e.anyOf==null)return SSr({nameOverride:p,generatedName:m,title:g,breadcrumbs:i,description:A,availability:y,discriminator:e.discriminator,properties:e.properties??{},required:e.required,wrapAsOptional:t,wrapAsNullable:r,context:n,namespace:a,groupName:f,encoding:o,source:s});if(e.allOf!=null||e.properties!=null){let K=[];for(let ae of e.allOf??[])(qn(ae)||Object.keys(ae).length>0)&&K.push(ae);if((e.properties==null||PSr(e))&&K.length===1&&K[0]!=null&&(e.additionalProperties==null||e.additionalProperties===!1)){let ae=_a(K[0],t,r,n,i,s,a,u);return sX(ae,A,a,f)}let J=[],Z=[];for(let ae of K)DSr(ae)?J.push(ae):(n.logger.debug(`Skipping non-object allOf element: ${JSON.stringify(ae)}`),qn(ae)||Z.push(ae));if((e.properties==null||PSr(e))&&J.length===1&&J[0]!=null&&(e.additionalProperties==null||e.additionalProperties===!1)){let ae=J[0];if(Z.length>0){let oe=qn(ae)?{...n.resolveSchemaReference(ae)}:{...ae};for(let ce of Z)Object.assign(oe,ce);ae=oe}let le=_a(ae,t,r,n,i,s,a,u);return sX(le,A,a,f)}return Qrc({nameOverride:p,generatedName:m,title:g,breadcrumbs:i,properties:e.properties??{},description:A,required:e.required,wrapAsOptional:t,wrapAsNullable:r,allOf:J,context:n,propertiesToExclude:c,namespace:a,groupName:f,fullExamples:E,additionalProperties:e.additionalProperties,availability:y,encoding:o,source:s,minProperties:e.minProperties,maxProperties:e.maxProperties})}if(e.type==="null"){let K=Mr.nullable({availability:y,namespace:a,groupName:f,description:A,generatedName:m,inline:void 0,nameOverride:p,title:g,value:Mr.unknown({nameOverride:p,generatedName:m,title:g,description:void 0,availability:void 0,namespace:a,groupName:f,example:void 0})});return t&&(K=Mr.optional({availability:y,namespace:a,groupName:f,description:A,generatedName:m,inline:void 0,nameOverride:p,title:g,value:K})),K}if(e.type==="object"&&uIf(e)&&$rc(e)&&PSr(e))return rto({nameOverride:p,generatedName:m,title:g,description:A,availability:y,wrapAsOptional:t,wrapAsNullable:r,keySchema:{nameOverride:void 0,generatedName:`${m}Key`,title:void 0,description:void 0,availability:void 0,schema:Qi.string({default:qJe(e),pattern:e.pattern,format:e.format,minLength:e.minLength,maxLength:e.maxLength,example:WU({schema:e,logger:n.logger,fallback:l})}),namespace:a,groupName:f},valueSchema:Mr.unknown({nameOverride:void 0,generatedName:`${m}Value`,title:void 0,description:void 0,availability:void 0,example:void 0,namespace:a,groupName:f}),namespace:a,groupName:f,encoding:o,example:e.example,minProperties:e.minProperties,maxProperties:e.maxProperties});e.type!=null&&n.logger.warn(`Failed to parse an OpenAPI schema at the following location: ${i.join("->")}. Coercing to unknown.`);let O=e.example??e.default,M=Mr.unknown({nameOverride:p,generatedName:m,title:g,description:A,availability:y,namespace:a,groupName:f,example:O});return r&&(M=Mr.nullable({availability:y,namespace:a,groupName:f,description:A,generatedName:m,inline:void 0,nameOverride:p,title:g,value:M})),t&&(M=Mr.optional({availability:y,namespace:a,groupName:f,description:A,generatedName:m,inline:void 0,nameOverride:p,title:g,value:M})),M}catch(w){return n.logger.debug(`Error converting schema: ${w.message}
|
|
206
206
|
Location: ${i.join("-> ")}`),Mr.unknown({nameOverride:p,generatedName:m,title:g,description:A,availability:y,namespace:a,groupName:f,example:void 0})}}function aIf(e,t,r){if(!t&&r&&e.enum!=null&&e.enum.length===1&&typeof e.enum[0]=="boolean")return e.enum[0]}function cIf(e){if(e!=null){if(typeof e=="boolean")return e;if(typeof e=="string"){let t=e.toLowerCase();if(t==="true")return!0;if(t==="false")return!1}}}function VJe(e){if(e.$ref.startsWith(wNe))return e.$ref.replace(wNe,"")}function sto(e,t,r,n,i){let o=zr(e,Sn.TYPE_NAME),s=oy(t,n),a=e.description,c=zx(e),u=VJe(e);if(u==null)throw new B({message:`Invalid schema reference ${JSON.stringify(e)}`,code:B.Code.ReferenceError});return fa.reference({generatedName:s,nameOverride:o,title:void 0,schema:u,description:a??void 0,availability:c,namespace:i.getNamespace(u),groupName:void 0,source:r})}function uIf(e){return e.oneOf==null||e.oneOf.length===0}function $rc(e){return e.allOf==null||e.allOf.length===0}function PSr(e){return e.properties==null||Ah(e.properties)===0}function RSr(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function sX(e,t,r,n){if(e.type==="reference")return Mr.reference({...e,description:t,availability:e.availability,namespace:r,groupName:n});if(e.type==="optional"){let i=sX(e.value,t,r,n);return Mr.optional({nameOverride:e.nameOverride,generatedName:e.generatedName,title:e.title,value:i,description:t,availability:e.availability,namespace:r,groupName:n,inline:void 0})}else if(e.type==="nullable"){let i=sX(e.value,t,r,n);return Mr.nullable({nameOverride:e.nameOverride,generatedName:e.generatedName,title:e.title,value:i,description:t,availability:e.availability,namespace:r,groupName:n,inline:void 0})}else if(e.type==="primitive"&&t!=null&&e.description==null)return Mr.primitive({...e,description:t});return e}function DSr(e){return qn(e)||e.type==="object"||e.properties!=null?!0:e.allOf!=null?e.allOf.every(t=>DSr(t)):e.oneOf!=null?e.oneOf.every(t=>DSr(t)):e.anyOf!=null?e.anyOf.every(t=>DSr(t)):!1}function enc({literal:e,wrapAsOptional:t,wrapAsNullable:r,namespace:n,groupName:i,description:o,availability:s,nameOverride:a,generatedName:c,title:u}){let l=Mr.literal({nameOverride:a,generatedName:c,title:u,value:e,namespace:n,groupName:i,description:o,availability:s});return r&&(l=Mr.nullable({nameOverride:a,generatedName:c,title:u,value:l,namespace:n,groupName:i,description:o,availability:s,inline:void 0})),t&&(l=Mr.optional({nameOverride:a,generatedName:c,title:u,value:l,namespace:n,groupName:i,description:o,availability:s,inline:void 0})),l}function WS({primitive:e,wrapAsOptional:t,wrapAsNullable:r,namespace:n,groupName:i,description:o,availability:s,generatedName:a,nameOverride:c,title:u}){i=typeof i=="string"?[i]:i;let l=Mr.primitive({nameOverride:c,generatedName:a,title:u,schema:e,description:o,availability:s,namespace:n,groupName:i});return r&&(l=Mr.nullable({nameOverride:c,generatedName:a,title:u,value:l,namespace:n,groupName:i,description:o,availability:s,inline:void 0})),t&&(l=Mr.optional({nameOverride:c,generatedName:a,title:u,value:l,namespace:n,groupName:i,description:o,availability:s,inline:void 0})),l}function lIf({schemas:e}){let t=new Set;for(let r of e){if(qn(r))return;if(r.enum!=null&&RSr(r.enum))r.enum.forEach(n=>t.add(n));else return}return Array.from(t)}function tnc({schemas:e,context:t}){let r={};for(let n of e){let i=inc({schema:n,context:t});for(let[o,s]of Object.entries(i)){let a=r[o];a!=null?a[s]=n:r[o]={[s]:n}}}for(let[n,i]of Object.entries(r))if(Object.keys(i).length===e.length){let o;for(let[s,a]of Object.entries(i)){let u=(qn(a)?t.resolveSchemaReference(a):a).properties?.[n];if(u!=null&&!qn(u)&&(zr(u,Sn.FERN_DEFAULT)??u.default)===s){o=s;break}}return{discriminant:n,schemas:i,defaultDiscriminantValue:o}}}function inc({schema:e,context:t}){let r=qn(e)?t.resolveSchemaReference(e):e;return pIf({schema:r,context:t})}function pIf({schema:e,context:t}){let r={};if(e.anyOf!=null){for(let n of e.anyOf){let i=inc({schema:n,context:t});for(let[o,s]of Object.entries(i??{}))r[o]=s}return r}for(let[n,i]of Object.entries(e.properties??{})){let o=qn(i)?t.resolveSchemaReference(i):i;o.type==="string"&&o.enum!=null&&RSr(o.enum)&&fIf(o.enum).length===1&&o.enum[0]!=null&&(r[n]=o.enum[0]);let s=onc(o,"const");o.type==="string"&&s!=null&&(r[n]=s),n==="type"&&o.example!=null&&(r[n]=o.example)}return r}function fIf(e){if(!e)return[];let t=new Set;return e.forEach(r=>{typeof r=="string"?t.add(r.toLowerCase()):t.add(r)}),Array.from(t)}function onc(e,t){let r=e[t];if(r!=null)return r}function dIf({schema:e,logger:t}){let r=xrc({schema:e,logger:t});if(r!=null)return Grc(r)}var wNe,rnc,GP=h(()=>{"use strict";gc();jt();Vi();Tu();vNe();rp();tto();Crc();Src();xSr();Brc();Prc();VFt();CSr();krc();MJe();qrc();Wrc();TSr();Krc();Jrc();Yrc();oto();dto();mto();hto();cto();nto();oX();yb();wNe="#/components/schemas/",rnc=iX()});var GJe,gto=h(()=>{"use strict";jt();GP();yb();GJe=class{document;taskContext;logger;DUMMY;options;namespace;static MESSAGE_REFERENCE_PREFIX="#/components/messages/";constructor({document:t,taskContext:r,options:n,namespace:i}){this.document=t,this.taskContext=r,this.logger=r.logger,this.DUMMY=this,this.options=n,this.namespace=i}resolveGroupName(t){return this.namespace!=null?[{type:"namespace",name:this.namespace},...t]:t}resolveTags(t,r){if(this.namespace==null&&t==null&&r!=null)return[r];let n=[];if(this.namespace!=null){let i={type:"namespace",name:this.namespace};n.push(i)}return n.concat(t??[])}resolveSchemaReference(t){if(!t.$ref.startsWith(wNe))throw new B({message:`Failed to resolve schema reference: ${t.$ref}`,code:B.Code.ReferenceError});let n=t.$ref.substring(wNe.length).split("/"),i=this.document.components;if(i==null||i.schemas==null)throw new B({message:"Document does not have components.schemas.",code:B.Code.ReferenceError});let[o,s,a]=n;if(o==null||o==="")throw new B({message:`${t.$ref} cannot be resolved. No schema key provided.`,code:B.Code.ReferenceError});let c=i.schemas[o];if(c==null)throw new B({message:`Schema "${o}" is undefined in document.components.schemas.`,code:B.Code.ReferenceError});if(qn(c)&&(c=this.resolveSchemaReference(c)),s==="properties"&&a!=null){let u=c.properties?.[a];if(u==null)throw new B({message:`Property "${a}" not found on "${o}". Full ref: ${t.$ref}`,code:B.Code.ReferenceError});qn(u)?c=this.resolveSchemaReference(u):c=u}return c}referenceExists(t){let r=t.substring(2).split("/").map(i=>i.replace(/~1/g,"/")),n=this.document;for(let i of r){if(typeof n!="object"||n==null)return!1;n=n[i]}return!0}markSchemaAsReferencedByNonRequest(t){}markSchemaAsReferencedByRequest(t){}markReferencedByDiscriminatedUnion(t,r,n){}markSchemaWithDiscriminantValue(t,r,n){}getNamespace(t){return this.namespace}}});var kSr,snc=h(()=>{"use strict";jt();gto();kSr=class extends GJe{getExampleMessageReference(t){return`#/components/messages/${t.messageId}`}resolveMessageReference(t){let r="#/components/messages/",n=this.document.components;if(n==null||n.messages==null||!t.$ref.startsWith(r))throw new B({message:`Failed to resolve message reference: ${t.$ref} in v2 components`,code:B.Code.ReferenceError});let i=t.$ref.substring(r.length),o=n.messages[i];if(o==null)throw new B({message:`${t.$ref} is undefined`,code:B.Code.ReferenceError});return o}}});function WJe(e,t){let r={};if(e!=null)return{rootSchemas:r,namespacedSchemas:{[e]:t}};let n={};for(let[i,o]of Object.entries(t))switch(o.type){case"object":case"array":case"map":case"optional":case"enum":case"literal":case"reference":case"nullable":case"primitive":{if(o.namespace==null){r[i]=o;continue}let s=o.namespace;n[s]??={},n[s][i]=o;continue}case"oneOf":case"unknown":r[i]=o;continue;default:Ie(o)}return{rootSchemas:r,namespacedSchemas:n}}var NSr=h(()=>{"use strict";Dt()});function sbe(e){if(typeof e=="string")return hc.primitive(vo.string(e));if(typeof e=="number")return Number.isInteger(e)?hc.primitive(vo.int(e)):hc.primitive(vo.double(e));if(typeof e=="boolean")return hc.primitive(vo.boolean(e));if(Array.isArray(e)){let t=e.map(r=>sbe(r));return t.length===0?void 0:hc.array(t.filter(r=>r!=null))}else if(e!=null&&typeof e=="object"&&Object.keys(e).every(t=>typeof t=="string")){let t=[];for(let[r,n]of Object.entries(e)){let i=sbe(n);i!=null&&t.push({key:vo.string(r),value:i})}return hc.map(t)}}var jSr=h(()=>{"use strict";gc()});function WFt(e){if(e!=null&&typeof e=="object"&&Object.keys(e).every(t=>typeof t=="string"))return e}function anc(e){if(e!=null&&Array.isArray(e))return e}var cnc=h(()=>{"use strict"});function unc({schema:e,value:t}){return e.values.map(r=>r.value).includes(t)}var abe,QSr=h(()=>{"use strict";Dt();gc();jt();jSr();cnc();abe=class e{schemas;nonRequestReferencedSchemas;context;constructor(t,r,n){this.schemas=t,this.nonRequestReferencedSchemas=r,this.context=n}buildExample({schema:t,exampleId:r,example:n,options:i,skipReadonly:o}){return this.buildExampleHelper({schema:t,visitedSchemaIds:new Set,exampleId:r,example:n,options:{...i,maxCheckerDepth:i.maxCheckerDepth??5},depth:0,skipReadonly:o??!1})}buildExampleHelper({exampleId:t,example:r,schema:n,depth:i,visitedSchemaIds:o,options:s,skipReadonly:a}){switch(n.type){case"enum":if(typeof r=="string"&&unc({schema:n,value:r}))return hc.enum(r);if(r!=null){let c=n.values.map(l=>l.value),u=e.truncateExample(r);this.context.logger.debug(`Example value ${u} is not a valid enum value${s.name!=null?` for '${s.name}'`:""}. Allowed values: [${c.join(", ")}]. Using fallback value instead.`)}return n.values[0]!=null?hc.enum(n.values[0]?.value):void 0;case"literal":return hc.literal(n.value);case"nullable":{if(r===null)return hc.null({});if(r==null&&!this.hasExample(n.value,0,o,s)&&this.exceedsMaxDepth(i,s))return hc.null({});let c=this.buildExampleHelper({schema:n.value,visitedSchemaIds:o,exampleId:t,example:r,depth:i,options:s,skipReadonly:a});return c??hc.null({})}case"optional":{if(r==null&&!this.hasExample(n.value,0,o,s)&&(s.ignoreOptionals||this.exceedsMaxDepth(i,s))||Object.is(r,null))return;let c=this.buildExampleHelper({schema:n.value,visitedSchemaIds:o,exampleId:t,example:r,depth:i,options:s,skipReadonly:a});return c!=null&&c.type==="array"&&c.value.length===0||c!=null&&c.type==="map"&&c.value.length===0||c!=null&&c.type==="object"&&Object.keys(c.properties).length===0?void 0:c}case"primitive":{let c=this.buildExampleFromPrimitive({schema:n.schema,example:r,options:s});return hc.primitive(c)}case"reference":{let c=this.schemas[n.schema];if(c!=null&&!o.has(n.schema)){o.add(n.schema);let u=c?.type==="object"&&!this.nonRequestReferencedSchemas.has(n.schema),l=this.buildExampleHelper({example:r,schema:c,exampleId:t,visitedSchemaIds:o,depth:i,options:s,skipReadonly:u||this.context.options.respectReadonlySchemas?a:!1});return o.delete(n.schema),l}return}case"oneOf":switch(n.value.type){case"discriminated":{let c={},u={},l={},p=WFt(r),d=p?.[n.value.discriminantProperty],f=n.value.schemas[d],m=[],g=this.getDiscriminatedUnionVariantSchema(n.value,p);g!=null&&m.push(g),m.push(...Object.entries(n.value.schemas));for(let A of m)if(d!=null&&f!=null&&f.type==="object"){u=this.getAllProperties(f),l=this.getAllRequiredProperties(f),c[n.value.discriminantProperty]=hc.primitive(vo.string(d));break}else{let y=this.buildExampleHelper({exampleId:t,schema:A[1],example:void 0,visitedSchemaIds:o,depth:i,options:s,skipReadonly:a});if(y!=null){this.mergeExampleWith(y,c),c[n.value.discriminantProperty]=hc.primitive(vo.string(A[0]));break}}for(let A of n.value.commonProperties){u[A.key]={schema:A.schema,readonly:!1};let y=this.getResolvedSchema(A.schema);y.type!=="optional"&&y.type!=="nullable"&&(l[A.key]=A.schema)}for(let[A,y]of Object.entries(u)){let E=A in l;if(E&&p?.[A]!=null){let v=this.buildExampleHelper({schema:y.schema,exampleId:t,example:p[A],visitedSchemaIds:o,depth:i+1,options:s,skipReadonly:a});if(v!=null)c[A]=v;else return}else{let v=this.buildExampleHelper({exampleId:t,schema:y.schema,example:p?.[A],visitedSchemaIds:o,depth:i+1,options:s,skipReadonly:a});if(v!=null)c[A]=v;else if(E)return}}return hc.oneOf(Lye.discriminated(c))}case"undiscriminated":{let c=this.getUnDiscriminatedUnionVariantSchema(n.value,r);if(c!=null)return this.buildExampleHelper({exampleId:t,example:r,schema:c,visitedSchemaIds:o,depth:i,options:s,skipReadonly:a});break}}return;case"unknown":if(r!=null){let c=sbe(r);if(c!=null)return hc.unknown(c)}return s.ignoreOptionals||this.exceedsMaxDepth(i,s)?void 0:s.isParameter?hc.primitive(vo.string(s.name??"string")):hc.map([{key:vo.string("key"),value:hc.primitive(vo.string("value"))}]);case"array":{let c=anc(r),u=[];if(c!=null&&c.length>0)for(let l of c){let p=this.buildExampleHelper({exampleId:t,example:l,schema:n.value,depth:i+1,visitedSchemaIds:o,options:s,skipReadonly:a});p!=null&&u.push(p)}else if(n.example!=null&&n.example.length>0)for(let l of n.example){let p=this.buildExampleHelper({exampleId:t,example:l,schema:n.value,depth:i+1,visitedSchemaIds:o,options:s,skipReadonly:a});p!=null&&u.push(p)}else{let l=this.buildExampleHelper({exampleId:t,example:void 0,schema:n.value,depth:i+1,visitedSchemaIds:o,options:s,skipReadonly:a});l!=null&&u.push(l)}return hc.array(u)}case"map":{let c=WFt(r??n.example);if(c!=null&&Object.entries(c).length>0){let p=[];for(let[d,f]of Object.entries(c)){let m=this.buildExampleFromPrimitive({schema:n.key.schema,example:d,options:s}),g=this.buildExampleHelper({exampleId:t,example:f,schema:n.value,visitedSchemaIds:o,depth:i+1,options:s,skipReadonly:a});g!=null&&p.push({key:m,value:g})}return hc.map(p)}if(n.key.schema.type==="string"&&n.value.type==="unknown")return hc.map([{key:vo.string("key"),value:hc.unknown(hc.primitive(vo.string("value")))}]);let u=this.buildExampleFromPrimitive({schema:n.key.schema,example:void 0,options:{...s,name:"key"}}),l=this.buildExampleHelper({exampleId:t,example:void 0,schema:n.value,visitedSchemaIds:o,depth:i+1,options:{...s,name:"value"},skipReadonly:a});return l!=null&&l.type!=="null"?hc.map([{key:u,value:l}]):hc.map([])}case"object":{let c={},u=n.fullExamples?.find(f=>f.name===t)??n.fullExamples?.find(f=>f.name==null)??n.fullExamples?.[0],l=WFt(r)??(u!=null?WFt(u.value):{})??{},p=this.getAllProperties(n),d=this.getAllRequiredProperties(n);for(let[f,m]of Object.entries(p)){if(a&&m.readonly||m.schema._visit({optional:C=>typeof C.availability=="string"&&C.availability==="Deprecated",primitive:()=>!1,object:()=>!1,array:()=>!1,map:()=>!1,enum:()=>!1,reference:()=>!1,literal:()=>!1,oneOf:()=>!1,nullable:()=>!1,unknown:()=>!1,_other:()=>!1}))continue;let g=f in d,A=Object.keys(l).includes(f),y=l[f],E=this.getSchemaExample(m.schema),v=A?y:E,I=this.buildExampleHelper({schema:m.schema,exampleId:t,example:v,visitedSchemaIds:o,depth:i+1,options:{...s,name:f},skipReadonly:a});if(g&&I!=null)c[f]=I;else{if(g)return;(A&&I!=null||!s.ignoreOptionals&&I!=null)&&(c[f]=I)}}if(n.additionalProperties){for(let[f,m]of Object.entries(l))if(!(f in c)){let g=this.buildExampleHelper({schema:Mr.unknown({example:m,title:void 0,availability:void 0,description:void 0,generatedName:"",nameOverride:void 0,namespace:void 0,groupName:void 0}),exampleId:t,example:m,visitedSchemaIds:o,depth:i+1,options:{...s,name:f},skipReadonly:a});g!=null&&(c[f]=g)}}return hc.object({properties:c})}default:Ie(n)}}mergeExampleWith(t,r){t._visit({array:ht,enum:ht,literal:ht,map:n=>{for(let i of n){let o=i.key;o.type==="string"&&(r[o.value]=i.value)}},object:n=>{for(let[i,o]of Object.entries(n.properties))r[i]=o},oneOf:n=>{if(n.type==="discriminated")for(let[i,o]of Object.entries(n.value))r[i]=o;else this.mergeExampleWith(n.value,r)},primitive:ht,unknown:ht,null:ht,_other:ht})}getObjectSchema(t){if(t.type==="object")return t;if(t.type==="reference"){let r=this.schemas[t.schema];if(r!=null)return this.getObjectSchema(r)}}getDiscriminatedUnionVariantSchema(t,r){let n=r?.[t.discriminantProperty];if(n==null||typeof n!="string")return Object.entries(t.schemas)[0];let i=t.schemas[n];return i==null?Object.entries(t.schemas)[0]:[n,i]}getUnDiscriminatedUnionVariantSchema(t,r){if(r==null){let o=t.schemas.find(a=>this.hasExample(a,0,new Set,{ignoreOptionals:!1,isParameter:!1}));if(o!=null)return o;let s=t.schemas.find(a=>this.hasInherentExample(a));return s??t.schemas[0]}return t.schemas.map(o=>({schema:o,heuristic:this.calcExampleHeuristic(o,r)})).sort((o,s)=>s.heuristic-o.heuristic)[0]?.schema}calcExampleHeuristic(t,r){switch(t.type){case"literal":return t.value.value===r?5:0;case"enum":return unc({schema:t,value:r})?5:0;case"object":{if(!oo(r))return 0;let n=this.getAllProperties(t),i=0;for(let[o,s]of Object.entries(n))r[o]!=null?(i++,i+=this.calcExampleHeuristic(s.schema,r[o])):i--;return i}case"array":{if(!Array.isArray(r))return 0;let n=0;for(let i of r)n+=this.calcExampleHeuristic(t.value,i);return n}case"map":{if(!oo(r))return 0;let n=0;for(let[,i]of Object.entries(r))n+=this.calcExampleHeuristic(t.value,i);return n}case"nullable":case"optional":return this.calcExampleHeuristic(t.value,r);case"reference":{let n=this.getResolvedSchema(t);return n==null?0:this.calcExampleHeuristic(n,r)}case"oneOf":return Object.values(t.value.schemas).map(i=>this.calcExampleHeuristic(i,r)).sort((i,o)=>o-i)[0]??0;case"primitive":return r==null?0:t.schema._visit({int:()=>typeof r=="number",int64:()=>typeof r=="number",uint:()=>typeof r=="number",uint64:()=>typeof r=="number",float:()=>typeof r=="number",double:()=>typeof r=="number",string:()=>typeof r=="string",datetime:()=>typeof r=="string",datetimeRfc2822:()=>typeof r=="string",date:()=>typeof r=="string",base64:()=>typeof r=="string",boolean:()=>typeof r=="boolean",_other:()=>!0})?1:-1;default:return 0}}hasExample(t,r,n=new Set,i){if(this.exceedsMaxCheckerDepth(r,i))return!1;switch(t.type){case"array":return this.hasExample(t.value,r+1,n,i);case"enum":return t.example!=null;case"literal":return!1;case"map":return t.example!=null||t.key.schema.example!=null&&this.hasExample(t.value,r+1,n,i);case"object":{if(t.fullExamples!=null&&t.fullExamples.length>0)return!0;for(let s of t.properties)if(this.hasExample(s.schema,r+1,n,i))return!0;return!1}case"primitive":return t.schema.example!=null;case"reference":{let o=this.schemas[t.schema];if(o!=null&&!n.has(t.schema)){n.add(t.schema);let s=this.hasExample(o,r,n,i);return n.delete(t.schema),s}return!1}case"unknown":return t.example!=null;case"nullable":case"optional":return this.hasExample(t.value,r,n,i);case"oneOf":return Object.values(t.value.schemas).some(o=>this.hasExample(o,r,n,i));default:return!1}}hasInherentExample(t){switch(t.type){case"literal":return!0;case"enum":return t.values.length>0;case"optional":case"nullable":return this.hasInherentExample(t.value);case"reference":{let r=this.schemas[t.schema];return r!=null?this.hasInherentExample(r):!1}default:return!1}}exceedsMaxCheckerDepth(t,r){return t>(r.maxCheckerDepth??0)}exceedsMaxDepth(t,r){return t>(r.maxDepth??0)}getAllProperties(t){let r={};for(let n of t.properties)r[n.key]={schema:n.schema,readonly:n.readonly??!1};for(let n of t.allOf){let i=this.schemas[n.schema];if(i==null)continue;let o=this.getResolvedSchema(i);o.type==="object"&&(r={...this.getAllProperties(o),...r})}return r}getAllRequiredProperties(t){let r={};for(let n of t.properties){let i=this.getResolvedSchema(n.schema);i.type!=="optional"&&i.type!=="nullable"&&(r[n.key]=n.schema)}for(let n of t.allOf){let i=this.schemas[n.schema];if(i==null)continue;let o=this.getResolvedSchema(i);o.type==="object"&&(r={...this.getAllRequiredProperties(o),...r})}return r}getResolvedSchema(t){for(;t.type==="reference";){let r=this.schemas[t.schema];if(r==null)throw new B({message:`Unexpected error: Failed to resolve schema reference: ${t.schema}`,code:B.Code.InternalError});t=r}return t}getSchemaExample(t){return t._visit({primitive:r=>r.schema.example,object:r=>r.fullExamples?.[0]?.value,array:r=>r.example,map:r=>r.example,optional:r=>this.getSchemaExample(r.value),enum:r=>r.example,reference:r=>{let n=this.schemas[r.schema];return n!=null?this.getSchemaExample(n):void 0},literal:()=>{},oneOf:()=>{},nullable:r=>this.getSchemaExample(r.value),unknown:r=>r.example,_other:()=>{}})}buildExampleFromPrimitive({example:t,schema:r,options:n}){switch(r.type){case"string":return t!=null&&typeof t=="string"?vo.string(t):(t!=null&&this.warnTypeMismatch({example:t,expected:"string",schemaType:r.type,options:n}),vo.string(r.example??n.name??Pi.STRING));case"base64":return t!=null&&typeof t=="string"?vo.base64(t):(t!=null&&this.warnTypeMismatch({example:t,expected:"string (base64)",schemaType:r.type,options:n}),vo.base64(r.example??Pi.BASE64));case"boolean":return t!=null&&typeof t=="boolean"?vo.boolean(t):(t!=null&&this.warnTypeMismatch({example:t,expected:"boolean",schemaType:r.type,options:n}),vo.boolean(r.example??Pi.BOOLEAN));case"date":return t!=null&&typeof t=="string"?vo.date(t):(t!=null&&this.warnTypeMismatch({example:t,expected:"string (date)",schemaType:r.type,options:n}),vo.date(r.example??Pi.DATE));case"datetime":return t!=null&&typeof t=="string"?vo.datetime(t):(t!=null&&this.warnTypeMismatch({example:t,expected:"string (datetime)",schemaType:r.type,options:n}),vo.datetime(r.example??Pi.DATE_TIME));case"datetimeRfc2822":return t!=null&&typeof t=="string"?vo.datetimeRfc2822(t):(t!=null&&this.warnTypeMismatch({example:t,expected:"string (datetime RFC 2822)",schemaType:r.type,options:n}),vo.datetimeRfc2822(r.example??Pi.DATE_TIME_RFC_2822));case"double":return t!=null&&typeof t=="number"?vo.double(t):(t!=null&&this.warnTypeMismatch({example:t,expected:"number (double)",schemaType:r.type,options:n}),vo.double(r.example??Pi.DOUBLE));case"float":return t!=null&&typeof t=="number"?vo.float(t):(t!=null&&this.warnTypeMismatch({example:t,expected:"number (float)",schemaType:r.type,options:n}),vo.float(r.example??Pi.FLOAT));case"int":return t!=null&&typeof t=="number"?vo.int(t):(t!=null&&this.warnTypeMismatch({example:t,expected:"number (int)",schemaType:r.type,options:n}),vo.int(r.example??Pi.INT));case"int64":return t!=null&&typeof t=="number"?vo.int64(t):(t!=null&&this.warnTypeMismatch({example:t,expected:"number (int64)",schemaType:r.type,options:n}),vo.int64(r.example??Pi.INT64));case"uint":return t!=null&&typeof t=="number"?vo.uint(t):(t!=null&&this.warnTypeMismatch({example:t,expected:"number (uint)",schemaType:r.type,options:n}),vo.uint(r.example??Pi.UINT));case"uint64":return t!=null&&typeof t=="number"?vo.uint64(t):(t!=null&&this.warnTypeMismatch({example:t,expected:"number (uint64)",schemaType:r.type,options:n}),vo.uint64(r.example??Pi.UINT64));default:Ie(r)}}warnTypeMismatch({example:t,expected:r,schemaType:n,options:i}){let o=i.name!=null?` for '${i.name}'`:"",s=typeof t,a=e.truncateExample(t);this.context.logger.debug(`Invalid example${o}: expected ${r} but got ${s} (${a}). The provided example does not match the '${n}' schema and will be replaced with a generated value.`)}static truncateExample(t,r=100){let n=JSON.stringify(t);return n.length<=r?n:n.slice(0,r)+"..."}}});function HU(e){switch(e.type){case"object":return Mr.object({allOf:e.allOf,properties:e.properties.map(t=>hIf(t)),allOfPropertyConflicts:e.allOfPropertyConflicts,description:e.description,generatedName:e.generatedName,title:e.title,nameOverride:e.nameOverride,namespace:e.namespace,groupName:e.groupName,fullExamples:void 0,additionalProperties:e.additionalProperties,availability:e.availability,encoding:e.encoding,source:e.source,inline:void 0,minProperties:e.minProperties,maxProperties:e.maxProperties});case"array":return Mr.array({description:e.description,availability:e.availability,value:HU(e.value),generatedName:e.generatedName,title:e.title,namespace:e.namespace,nameOverride:e.nameOverride,groupName:e.groupName,example:void 0,inline:void 0,minItems:e.minItems,maxItems:e.maxItems,default:e.default});case"enum":return Mr.enum({description:e.description,availability:e.availability,generatedName:e.generatedName,title:e.title,nameOverride:e.nameOverride,values:e.values,default:e.default,namespace:e.namespace,groupName:e.groupName,example:void 0,source:e.source,inline:void 0});case"literal":return Mr.literal({description:e.description,availability:e.availability,value:e.value,generatedName:e.generatedName,title:e.title,nameOverride:e.nameOverride,namespace:e.namespace,groupName:e.groupName});case"nullable":return Mr.nullable({generatedName:e.generatedName,nameOverride:e.nameOverride,title:e.title,description:e.description,availability:e.availability,value:HU(e.value),namespace:e.namespace,groupName:e.groupName,inline:void 0});case"optional":return Mr.optional({generatedName:e.generatedName,nameOverride:e.nameOverride,title:e.title,description:e.description,availability:e.availability,value:HU(e.value),namespace:e.namespace,groupName:e.groupName,inline:void 0});case"primitive":return Mr.primitive({description:e.description,availability:e.availability,schema:lnc(e.schema),generatedName:e.generatedName,nameOverride:e.nameOverride,title:e.title,namespace:e.namespace,groupName:e.groupName});case"map":return Mr.map({description:e.description,availability:e.availability,key:Mr.primitive({description:e.key.description,availability:e.key.availability,schema:lnc(e.key.schema),generatedName:e.key.generatedName,nameOverride:e.key.nameOverride,title:e.key.title,namespace:e.namespace,groupName:e.groupName}),value:HU(e.value),generatedName:e.generatedName,nameOverride:e.nameOverride,title:e.title,namespace:e.namespace,groupName:e.groupName,encoding:e.encoding,example:void 0,inline:void 0,minProperties:e.minProperties,maxProperties:e.maxProperties});case"reference":return Mr.reference({description:e.description,availability:e.availability,generatedName:e.generatedName,title:e.title,nameOverride:e.nameOverride,schema:e.schema,namespace:e.namespace,groupName:e.groupName,source:e.source});case"oneOf":return Mr.oneOf(mIf(e.value));case"unknown":return Mr.unknown({nameOverride:e.nameOverride,generatedName:e.generatedName,title:e.title,example:void 0,namespace:e.namespace,groupName:e.groupName,description:e.description,availability:e.availability});default:Ie(e)}}function mIf(e){switch(e.type){case"discriminated":return tL.discriminated({commonProperties:e.commonProperties.map(t=>({key:t.key,schema:HU(t.schema)})),description:e.description,availability:e.availability,discriminantProperty:e.discriminantProperty,discriminantPropertyNameOverride:e.discriminantPropertyNameOverride,discriminatorContext:e.discriminatorContext,defaultDiscriminantValue:e.defaultDiscriminantValue,generatedName:e.generatedName,nameOverride:e.nameOverride,title:e.title,schemas:Object.fromEntries(Object.entries(e.schemas).map(([t,r])=>[t,HU(r)])),namespace:e.namespace,groupName:e.groupName,encoding:e.encoding,source:e.source,inline:void 0});case"undiscriminated":return tL.undiscriminated({description:e.description,availability:e.availability,generatedName:e.generatedName,nameOverride:e.nameOverride,title:e.title,commonProperties:e.commonProperties?.map(t=>({key:t.key,schema:HU(t.schema)})),schemas:e.schemas.map(t=>HU(t)),namespace:e.namespace,groupName:e.groupName,encoding:e.encoding,source:e.source,inline:void 0});default:Ie(e)}}function lnc(e){switch(e.type){case"string":return Qi.string({default:e.default,pattern:e.pattern,format:e.format,minLength:e.minLength,maxLength:e.maxLength,example:void 0});case"base64":return Qi.base64({example:void 0});case"boolean":return Qi.boolean({default:e.default,example:void 0});case"date":return Qi.date({example:void 0});case"datetime":return Qi.datetime({example:void 0});case"datetimeRfc2822":return Qi.datetimeRfc2822({example:void 0});case"double":return Qi.double({default:e.default,minimum:e.minimum,maximum:e.maximum,exclusiveMinimum:e.exclusiveMinimum,exclusiveMaximum:e.exclusiveMaximum,multipleOf:e.multipleOf,example:void 0});case"float":return Qi.float({example:void 0});case"int":return Qi.int({default:e.default,minimum:e.minimum,maximum:e.maximum,exclusiveMinimum:e.exclusiveMinimum,exclusiveMaximum:e.exclusiveMaximum,multipleOf:e.multipleOf,example:void 0});case"int64":return Qi.int64({default:e.default,example:void 0});case"uint":return Qi.uint({default:void 0,example:void 0});case"uint64":return Qi.uint64({default:void 0,example:void 0});default:Ie(e)}}function hIf(e){return{conflict:e.conflict,generatedName:e.generatedName,key:e.key,schema:HU(e.schema),audiences:e.audiences,nameOverride:e.nameOverride,availability:e.availability,readonly:e.readonly,writeonly:e.writeonly}}var pnc=h(()=>{"use strict";Dt();gc()});function zSr(e){return e.type!=="optional"&&e.type!=="nullable"}var Ato=h(()=>{"use strict"});function yto(e){return e==="POST"||e==="PUT"||e==="PATCH"}var fnc=h(()=>{"use strict"});function HFt(e){if(e.type==="full")return e.request==null&&e.response==null&&e.queryParameters==null&&e.pathParameters==null&&e.headers==null;{let t=e.value;return t.request==null&&t.response==null&&t["query-parameters"]==null&&t["path-parameters"]==null&&t.headers==null}}var bto=h(()=>{"use strict"});function gIf(e,t){let r=[];if(e.length<=1){let[i,o]=e[0]??[];if(t.length===0)return r.push({id:i,request:o,response:void 0}),r;for(let[s,a]of t)r.push({id:s??i,request:o,response:a});return r}if(t.length<=1){let[i,o]=t[0]??[];if(t.length===0)return r.push({id:i,request:void 0,response:o}),r;for(let[s,a]of e)r.push({id:s??i,request:a,response:o});return r}let n=new Set;for(let[i,o]of e){let s=t.find(([c])=>c==null)?.[1]??t[0]?.[1];if(i==null){if(s==null)continue;r.push({id:void 0,request:o,response:s});continue}let a=!1;for(let c=0;c<t.length;c++){let[u,l]=t[c];u==null||n.has(c)||i===u&&(r.push({id:i,request:o,response:l}),u!=null&&n.add(c),a=!0)}!a&&s!=null&&r.push({id:i,request:o,response:s})}for(let i=0;i<t.length;i++){if(n.has(i))continue;let[o,s]=t[i],a=e.find(([c])=>c==null)?.[1]??e[0]?.[1];a!=null&&r.push({id:o,request:a,response:s})}return r}function AIf(e){if(e!=null)return e.type==="multipart"?{type:"present",schema:bIf(e),examples:[]}:e.type==="json"||e.type==="formUrlEncoded"?{type:"present",schema:e.schema,examples:e.fullExamples??[]}:{type:"unsupported"}}function yIf(e){if(e!=null)return e.type!=="json"&&e.type!=="streamingJson"&&e.type!=="streamingSse"?{type:"unsupported"}:{type:"present",schema:e.schema,examples:e.fullExamples??[]}}function E7(e){switch(e.type){case"primitive":case"enum":case"literal":return!0;case"unknown":return E7(e);case"array":case"object":case"map":return!1;case"oneOf":switch(e.value.type){case"discriminated":return!1;case"undiscriminated":return E7(e.value.value);default:return!1}case"null":return!0;default:Ie(e)}}function bIf(e){return Mr.object({properties:e.properties.map(t=>t.schema.type==="file"?null:{key:t.key,schema:HU(t.schema.value),audiences:[],conflict:{},generatedName:t.key,nameOverride:void 0,availability:void 0,readonly:void 0,writeonly:void 0,inline:void 0}).filter(Oa),allOf:[],allOfPropertyConflicts:[],fullExamples:void 0,description:e.description,nameOverride:void 0,generatedName:"",title:void 0,namespace:void 0,groupName:void 0,additionalProperties:!1,availability:void 0,encoding:void 0,source:e.source,inline:void 0,minProperties:void 0,maxProperties:void 0})}var HJe,SNe,MSr,Eto=h(()=>{"use strict";Dt();gc();HJe=be(require("fs"),1),SNe=be(require("path"),1);QSr();pnc();Ato();fnc();bto();MSr=class{schemas;context;globalHeaders;exampleTypeFactory;logger;missingExamples=[];constructor(t,r,n){this.schemas=t,this.context=r,this.globalHeaders=n,this.schemas=t,this.exampleTypeFactory=new abe(t,r.nonRequestReferencedSchemas,r),this.logger=r.logger}addMissingExampleRecord(t,r,n,i,o={}){this.missingExamples.push({endpoint:t.path,method:t.method.toUpperCase(),type:r,schemaType:n,reason:i,operationSummary:t.summary,operationDescription:t.description,schemaDescription:o.schemaDescription,autoGeneratedExample:o.autoGeneratedExample})}writeMissingExamplesLog(){if(this.missingExamples.length===0)return;let t;if(this.context.source.type==="openapi"){let o=this.context.source.file,s=SNe.dirname(o),a=s;for(;a!==SNe.dirname(a);){let c=SNe.join(a,"fern");if(HJe.existsSync(c)&&HJe.statSync(c).isDirectory()){t=c;break}a=SNe.dirname(a)}t||(t=s)}else t=process.cwd();let r=t??process.cwd(),n=SNe.join(r,"schemas_missing_examples.txt"),i=["# Schemas Missing Examples Report",`# Generated on: ${new Date().toISOString()}`,`# Total missing examples: ${this.missingExamples.length}`,"",...this.missingExamples.flatMap(o=>{let s=[];if(s.push(`${o.method} ${o.endpoint} - ${o.type.toUpperCase()} (${o.schemaType}): ${o.reason}`),o.operationSummary&&s.push(` Operation: ${o.operationSummary}`),o.operationDescription&&o.operationDescription!==o.operationSummary&&s.push(` Description: ${o.operationDescription}`),o.schemaDescription&&s.push(` ${o.type==="request"?"Request":"Response"} Schema: ${o.schemaDescription}`),o.autoGeneratedExample){s.push(" Auto-generated example:");let c=JSON.stringify(o.autoGeneratedExample,null,4).split(`
|
|
207
207
|
`).map(u=>` ${u}`).join(`
|
|
208
208
|
`);s.push(c)}return s.push(""),s}),""].join(`
|
|
@@ -3022,7 +3022,7 @@ ${G1u.default.cursorShow}`)}releaseCursor(){this.extraLinesUnderPrompt>0&&pFo(th
|
|
|
3022
3022
|
`+M6e.default.red(">> ")+t),this.screen.render(r,n)}getMaskedValue(t){return this.status==="answered"?this.opt.mask?M6e.default.cyan(eTu(t,this.opt.mask)):M6e.default.italic(M6e.default.dim("[hidden]")):this.opt.mask?eTu(t,this.opt.mask):M6e.default.italic(M6e.default.dim("[input is hidden] "))}getSpinningValue(t){return this.getMaskedValue(t)}filterInput(t){return t||(this.opt.default==null?"":this.opt.default)}onEnd(t){this.status="answered",this.answer=t.value,this.render(),this.screen.done(),this.done(t.value)}onError(t){this.render(t.isValid)}onKeypress(){this.opt.default&&=void 0,this.render()}};var q8r=be(Rw(),1);var $Tu=be(WFo(),1),V8r=require("child_process"),Ont=require("fs"),U8r=be(require("path"),1),eOu=be(require("os"),1),tOu=require("crypto"),Pko=be(XTu(),1);var z8r=class extends Error{originalError;constructor(t){super(`Failed to create temporary file. ${t.message}`),this.originalError=t}};var j4t=class extends Error{originalError;constructor(t){super(`Failed to launch editor. ${t.message}`),this.originalError=t}};var M8r=class extends Error{originalError;constructor(t){super(`Failed to read temporary file. ${t.message}`),this.originalError=t}};var L8r=class extends Error{originalError;constructor(t){super(`Failed to remove temporary file. ${t.message}`),this.originalError=t}};function _8r(e="",t,r){let n=new Dko(e,r);n.runAsync((i,o)=>{if(i)setImmediate(t,i,void 0);else try{n.cleanup(),setImmediate(t,void 0,o)}catch(s){setImmediate(t,s,void 0)}})}function ZTu(e){return e?e.replace(/[^a-zA-Z0-9_.-]/g,"_"):""}function Icm(e){let t=[],r="";for(let n=0;n<e.length;n++){let i=e.charAt(n);n>0&&i===" "&&e[n-1]!=="\\"&&r.length>0?(t.push(r),r=""):r=`${r}${i}`}return r.length>0&&t.push(r),t}var Dko=class{text="";tempFile;editor;lastExitStatus=0;fileOptions={};get temp_file(){return console.log("DEPRECATED: temp_file. Use tempFile moving forward."),this.tempFile}get last_exit_status(){return console.log("DEPRECATED: last_exit_status. Use lastExitStatus moving forward."),this.lastExitStatus}constructor(t="",r){this.text=t,r&&(this.fileOptions=r),this.determineEditor(),this.createTemporaryFile()}run(){return this.launchEditor(),this.readTemporaryFile(),this.text}runAsync(t){try{this.launchEditorAsync(()=>{try{this.readTemporaryFile(),setImmediate(t,void 0,this.text)}catch(r){setImmediate(t,r,void 0)}})}catch(r){setImmediate(t,r,void 0)}}cleanup(){this.removeTemporaryFile()}determineEditor(){let t=process.env.VISUAL?process.env.VISUAL:process.env.EDITOR?process.env.EDITOR:process.platform.startsWith("win")?"notepad":"vim",r=Icm(t).map(i=>i.replace("\\ "," ")),n=r.shift();this.editor={args:r,bin:n}}createTemporaryFile(){try{let t=this.fileOptions.dir??eOu.default.tmpdir(),r=(0,tOu.randomUUID)(),n=ZTu(this.fileOptions.prefix),i=ZTu(this.fileOptions.postfix),o=`${n}${r}${i}`,s=U8r.default.resolve(t,o),a=U8r.default.resolve(t)+U8r.default.sep;if(!s.startsWith(a))throw new Error("Resolved temporary file escaped the base directory");this.tempFile=s;let c={encoding:"utf8",flag:"wx"};Object.prototype.hasOwnProperty.call(this.fileOptions,"mode")&&(c.mode=this.fileOptions.mode),(0,Ont.writeFileSync)(this.tempFile,this.text,c)}catch(t){throw new z8r(t)}}readTemporaryFile(){try{let t=(0,Ont.readFileSync)(this.tempFile);if(t.length===0)this.text="";else{let r=(0,$Tu.detect)(t)??"utf8";Pko.default.encodingExists(r)||(r="utf8"),this.text=Pko.default.decode(t,r)}}catch(t){throw new M8r(t)}}removeTemporaryFile(){try{(0,Ont.unlinkSync)(this.tempFile)}catch(t){throw new L8r(t)}}launchEditor(){try{let t=(0,V8r.spawnSync)(this.editor.bin,this.editor.args.concat([this.tempFile]),{stdio:"inherit"});this.lastExitStatus=t.status??0}catch(t){throw new j4t(t)}}launchEditorAsync(t){try{(0,V8r.spawn)(this.editor.bin,this.editor.args.concat([this.tempFile]),{stdio:"inherit"}).on("exit",n=>{this.lastExitStatus=n,setImmediate(t)})}catch(r){throw new j4t(r)}}};var rOu=be(HL(),1);var Q4t=class extends Fw{_run(t){this.done=t,this.editorResult=new rOu.Subject;let r=EB(this.rl);this.lineSubscription=r.line.subscribe(this.startExternalEditor.bind(this));let n=this.opt.waitUserInput===void 0?!0:this.opt.waitUserInput,i=this.handleSubmitEvents(this.editorResult);return i.success.forEach(this.onEnd.bind(this)),i.error.forEach(this.onError.bind(this)),this.currentText=this.opt.default,this.opt.default=null,n?this.render():this.startExternalEditor(),this}render(t){let r="",n=this.getQuestion();n+=this.status==="answered"?q8r.default.dim("Received"):q8r.default.dim("Press <enter> to launch your preferred editor."),t&&(r=q8r.default.red(">> ")+t),this.screen.render(n,r)}startExternalEditor(){this.rl.pause(),_8r(this.currentText,this.endExternalEditor.bind(this),{postfix:this.opt.postfix??".txt"})}endExternalEditor(t,r){this.rl.resume(),t?this.editorResult.error(t):this.editorResult.next(r)}onEnd(t){this.editorResult.unsubscribe(),this.lineSubscription.unsubscribe(),this.answer=t.value,this.status="answered",this.render(),this.screen.done(),this.done(this.answer)}onError(t){this.render(t.isValid)}};var aOu=require("stream");var oOu=be(require("readline"),1),sOu=be(iOu(),1),_6e=class{constructor(t){this.rl||=oOu.default.createInterface(xcm(t)),this.rl.resume(),this.onForceClose=this.onForceClose.bind(this),process.on("exit",this.onForceClose),this.rl.on("SIGINT",this.onForceClose)}onForceClose(){this.close(),process.kill(process.pid,"SIGINT"),console.log("")}close(){this.rl.removeListener("SIGINT",this.onForceClose),process.removeListener("exit",this.onForceClose),this.rl.output.unmute(),this.activePrompt&&typeof this.activePrompt.close=="function"&&this.activePrompt.close(),this.rl.output.end(),this.rl.pause(),this.rl.close()}};function xcm(e={}){e.skipTTYChecks=e.skipTTYChecks===void 0?!0:e.skipTTYChecks;let t=e.input||process.stdin;if(!e.skipTTYChecks&&!t.isTTY){let i=new Error("Prompts can not be meaningfully rendered in non-TTY environments");throw i.isTtyError=!0,i}let r=new sOu.default;return r.pipe(e.output||process.stdout),{terminal:!0,...e,input:t,output:r}}var z4t=class extends _6e{constructor(t={}){super(t),this.log=new aOu.Writable({write:(r,n,i)=>{this.writeLog(r),i()}}),this.bottomBar=t.bottomBar||"",this.render()}render(){return this.write(this.bottomBar),this}clean(){return I4t(this.rl,this.bottomBar.split(`
|
|
3023
3023
|
`).length),this}updateBottomBar(t){return I4t(this.rl,1),this.rl.output.unmute(),this.clean(),this.bottomBar=t,this.render(),this.rl.output.mute(),this}writeLog(t){return this.rl.output.unmute(),this.clean(),this.rl.output.write(this.enforceLF(t.toString())),this.render(),this.rl.output.mute(),this}enforceLF(t){return/[\n\r]$/.test(t)?t:t+`
|
|
3024
3024
|
`}write(t){let r=t.split(/\n/);this.height=r.length,this.rl.setPrompt(r.at(-1)),this.rl.output.rows===0&&this.rl.output.columns===0&&f8r(this.rl,t.length+this.rl.line.length),this.rl.output.write(t)}};var wd=be(HL(),1),lOu=be(Z3t(),1);var G8r=be(HL(),1),cOu=be(Z3t(),1),W8r=function(e,t,r){return typeof e[t]!="function"?(0,G8r.of)(e):(0,G8r.from)((0,cOu.default)(e[t])(r).then(n=>(e[t]=n,e)))};var uOu={set:(e,t="",r)=>{let n=e;t.split(".").forEach((i,o,s)=>{i==="__proto__"||i==="constructor"||(o===s.length-1?n[i]=r:(!(i in n)||typeof n[i]!="object")&&(n[i]={}),n=n[i])})},get:(e,t="",r)=>{let n=o=>String.prototype.split.call(t,o).filter(Boolean).reduce((s,a)=>s!=null?s[a]:s,e),i=n(/[,[\]]+?/)||n(/[,.[\]]+?/);return i===void 0||i===e?r:i}},Bnt=class extends _6e{constructor(t,r){super(r),this.prompts=t}run(t,r){this.answers=typeof r=="object"?{...r}:{};let n;return Array.isArray(t)?n=(0,wd.from)(t):(0,wd.isObservable)(t)?n=t:Object.values(t).every(i=>typeof i=="object"&&!Array.isArray(i)&&i!=null)?n=(0,wd.from)(Object.entries(t).map(([i,o])=>({name:i,...o}))):n=(0,wd.from)([t]),this.process=n.pipe((0,wd.concatMap)(this.processQuestion.bind(this)),(0,wd.publish)()),this.process.connect(),this.process.pipe((0,wd.reduce)((i,o)=>(uOu.set(i,o.name,o.answer),i),this.answers)).toPromise(Promise).then(this.onCompletion.bind(this),this.onError.bind(this))}onCompletion(){return this.close(),this.answers}onError(t){return this.close(),Promise.reject(t)}processQuestion(t){return t={...t},(0,wd.defer)(()=>(0,wd.of)(t).pipe((0,wd.concatMap)(this.setDefaultType.bind(this)),(0,wd.concatMap)(this.filterIfRunnable.bind(this)),(0,wd.concatMap)(()=>W8r(t,"message",this.answers)),(0,wd.concatMap)(()=>W8r(t,"default",this.answers)),(0,wd.concatMap)(()=>W8r(t,"choices",this.answers)),(0,wd.concatMap)(this.fetchAnswer.bind(this))))}fetchAnswer(t){let r=this.prompts[t.type];return this.activePrompt=new r(t,this.rl,this.answers),(0,wd.defer)(()=>(0,wd.from)(this.activePrompt.run().then(n=>({name:t.name,answer:n}))))}setDefaultType(t){return this.prompts[t.type]||(t.type="input"),(0,wd.defer)(()=>(0,wd.of)(t))}filterIfRunnable(t){if(t.askAnswered!==!0&&uOu.get(this.answers,t.name)!==void 0)return wd.EMPTY;if(t.when===!1)return wd.EMPTY;if(typeof t.when!="function")return(0,wd.of)(t);let{answers:r}=this;return(0,wd.defer)(()=>(0,wd.from)((0,lOu.default)(t.when)(r).then(n=>{if(n)return t})).pipe((0,wd.filter)(n=>n!=null)))}};function pOu(e){let t=function(r,n){let i;try{i=new Bnt(t.prompts,e)}catch(s){return Promise.reject(s)}let o=i.run(r,n);return o.ui=i,o};return t.prompts={},t.registerPrompt=function(r,n){return t.prompts[r]=n,this},t.restoreDefaultPrompts=function(){this.registerPrompt("list",x4t),this.registerPrompt("input",z6e),this.registerPrompt("number",C4t),this.registerPrompt("confirm",w4t),this.registerPrompt("rawlist",S4t),this.registerPrompt("expand",T4t),this.registerPrompt("checkbox",O4t),this.registerPrompt("password",B4t),this.registerPrompt("editor",Q4t)},t.restoreDefaultPrompts(),t}var Fko=pOu();function wcm(e,t){Fko.registerPrompt(e,t)}function Scm(){Fko.restoreDefaultPrompts()}var Tcm={prompt:Fko,ui:{BottomBar:z4t,Prompt:Bnt},createPromptModule:pOu,registerPrompt:wcm,restoreDefaultPrompts:Scm,Separator:NQ},cu=Tcm;var Pnt=require("path");function dOu(){let e=Ocm();return async t=>{for(let r of t)r.module=e(r.filename);return t}}function Ocm(e=process.argv[1]?(0,Pnt.dirname)(process.argv[1]):process.cwd(),t=Pnt.sep==="\\"){let r=t?fOu(e):e;return n=>{if(!n)return;let i=t?fOu(n):n,{dir:o,base:s,ext:a}=Pnt.posix.parse(i);(a===".js"||a===".mjs"||a===".cjs")&&(s=s.slice(0,-1*a.length));let c=decodeURIComponent(s);o||(o=".");let u=o.lastIndexOf("/node_modules");if(u>-1)return`${o.slice(u+14).replace(/\//g,".")}:${c}`;if(o.startsWith(r)){let l=o.slice(r.length+1).replace(/\//g,".");return l?`${l}:${c}`:c}return c}}function fOu(e){return e.replace(/^[A-Z]:/,"").replace(/\\/g,"/")}var kko=e=>{if("flags"in e){let t=mOu(e.flags),r=hOu(e.flags);return{...e,featureFlags:t,featureFlagPayloads:r}}{let t=e.featureFlags??{},r=Object.fromEntries(Object.entries(e.featureFlagPayloads||{}).map(([i,o])=>[i,Nko(o)])),n=Object.fromEntries(Object.entries(t).map(([i,o])=>[i,Bcm(i,o,r[i])]));return{...e,featureFlags:t,featureFlagPayloads:r,flags:n}}};function Bcm(e,t,r){return{key:e,enabled:typeof t=="string"?!0:t,variant:typeof t=="string"?t:void 0,reason:void 0,metadata:{id:void 0,version:void 0,payload:r?JSON.stringify(r):void 0,description:void 0}}}var mOu=e=>Object.fromEntries(Object.entries(e??{}).map(([t,r])=>[t,M4t(r)]).filter(([,t])=>t!==void 0)),hOu=e=>{let t=e??{};return Object.fromEntries(Object.keys(t).filter(r=>{let n=t[r];return n.enabled&&n.metadata&&n.metadata.payload!==void 0}).map(r=>{let n=t[r].metadata?.payload;return[r,n?Nko(n):void 0]}))};var M4t=e=>e===void 0?void 0:e.variant??e.enabled,Nko=e=>{if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}};var Wk=(function(e){return e.AnonymousId="anonymous_id",e.DistinctId="distinct_id",e.Props="props",e.EnablePersonProcessing="enable_person_processing",e.PersonMode="person_mode",e.FeatureFlagDetails="feature_flag_details",e.FeatureFlags="feature_flags",e.FeatureFlagPayloads="feature_flag_payloads",e.BootstrapFeatureFlagDetails="bootstrap_feature_flag_details",e.BootstrapFeatureFlags="bootstrap_feature_flags",e.BootstrapFeatureFlagPayloads="bootstrap_feature_flag_payloads",e.OverrideFeatureFlags="override_feature_flags",e.Queue="queue",e.LogsQueue="logs_queue",e.OptedOut="opted_out",e.SessionId="session_id",e.SessionStartTimestamp="session_start_timestamp",e.SessionLastTimestamp="session_timestamp",e.PersonProperties="person_properties",e.GroupProperties="group_properties",e.InstalledAppBuild="installed_app_build",e.InstalledAppVersion="installed_app_version",e.SessionReplay="session_replay",e.SurveyLastSeenDate="survey_last_seen_date",e.SurveysSeen="surveys_seen",e.Surveys="surveys",e.RemoteConfig="remote_config",e.FlagsEndpointWasHit="flags_endpoint_was_hit",e.DeviceId="device_id",e})({});function jko(){return"CompressionStream"in globalThis&&"TextEncoder"in globalThis&&"Response"in globalThis&&typeof Response.prototype.blob=="function"}var Dcm="NativeGzipValidationError",Rcm=31,Fcm=139,kcm=8,Ncm=e=>e.length>=2&&e[0]===Rcm&&e[1]===Fcm;var L4t,jcm=()=>{if(L4t)return L4t;L4t=[];for(let e=0;e<256;e++){let t=e;for(let r=0;r<8;r++)t=1&t?3988292384^t>>>1:t>>>1;L4t[e]=t>>>0}return L4t},Qcm=e=>{let t=jcm(),r=4294967295;for(let n=0;n<e.length;n++)r=t[(r^e[n])&255]^r>>>8;return(4294967295^r)>>>0},H8r=e=>{let t=new Error(`Native gzip produced invalid output: ${e}`);throw t.name=Dcm,t},zcm=async(e,t)=>{e.size<18&&H8r("too-short");let r=new Uint8Array(await e.slice(0,10).arrayBuffer());(!Ncm(r)||r[2]!==kcm)&&H8r("invalid-header");let n=new DataView(await e.slice(e.size-8).arrayBuffer());n.getUint32(0,!0)!==Qcm(t)&&H8r("invalid-crc");let i=t.length>>>0;n.getUint32(4,!0)!==i&&H8r("invalid-size")};async function U4t(e,t=!0,r){try{let n=new TextEncoder().encode(e),i=new CompressionStream("gzip"),o=i.writable.getWriter(),s=o.write(n).then(()=>o.close()).catch(async u=>{try{await o.abort(u)}catch{}throw u}),a=new Response(i.readable).blob(),[c]=await Promise.all([a,s]);return await zcm(c,n),c}catch(n){if(r?.rethrow)throw n;return t&&console.error("Failed to gzip compress data",n),null}}var Mcm=["amazonbot","amazonproductbot","app.hypefactors.com","applebot","archive.org_bot","awariobot","backlinksextendedbot","baiduspider","bingbot","bingpreview","chrome-lighthouse","dataforseobot","deepscan","duckduckbot","facebookexternal","facebookcatalog","http://yandex.com/bots","hubspot","ia_archiver","leikibot","linkedinbot","meta-externalagent","mj12bot","msnbot","nessus","petalbot","pinterest","prerender","rogerbot","screaming frog","sebot-wa","sitebulb","slackbot","slurp","trendictionbot","turnitin","twitterbot","vercel-screenshot","vercelbot","yahoo! slurp","yandexbot","zoombot","bot.htm","bot.php","(bot;","bot/","crawler","ahrefsbot","ahrefssiteaudit","semrushbot","siteauditbot","splitsignalbot","gptbot","oai-searchbot","chatgpt-user","perplexitybot","better uptime bot","sentryuptimebot","uptimerobot","headlesschrome","cypress","google-hoteladsverifier","adsbot-google","apis-google","duplexweb-google","feedfetcher-google","google favicon","google web preview","google-read-aloud","googlebot","googleother","google-cloudvertexbot","googleweblight","mediapartners-google","storebot-google","google-inspectiontool","bytespider"],gOu=function(e,t=[]){if(!e)return!1;let r=e.toLowerCase();return Mcm.concat(t).some(n=>{let i=n.toLowerCase();return r.indexOf(i)!==-1})};var Ucm=Array.isArray,AOu=Object.prototype,$lI=AOu.hasOwnProperty,Qko=AOu.toString,Dnt=Ucm||function(e){return Qko.call(e)==="[object Array]"};var V4t=e=>e===Object(e)&&!Dnt(e);var Rnt=e=>e===void 0,gve=e=>Qko.call(e)=="[object String]",yOu=e=>gve(e)&&e.trim().length===0;var _4t=e=>Qko.call(e)=="[object Number]"&&e===e;var zko=e=>e instanceof Error;function K8r(e){return e===null||typeof e!="object"}function q6e(e,t){return Object.prototype.toString.call(e)===`[object ${t}]`}function bOu(e){return q6e(e,"ErrorEvent")}function Fnt(e){return typeof Event<"u"&&Vcm(e,Event)}function EOu(e){return q6e(e,"Object")}function Vcm(e,t){try{return e instanceof t}catch{return!1}}function q4t(e,t,r,n,i){return t>r&&(n.warn("min cannot be greater than max."),t=r),_4t(e)?e>r?(n.warn(" cannot be greater than max: "+r+". Using max value instead."),r):e<t?(n.warn(" cannot be less than min: "+t+". Using min value instead."),t):e:(n.warn(" must be a number. using max or fallback. max: "+r+", fallback: "+i),q4t(i||r,t,r,n))}var _cm=864e5,J8r=class{constructor(t){this._buckets={},this._onBucketRateLimited=t._onBucketRateLimited,this._bucketSize=q4t(t.bucketSize,0,100,t._logger),this._refillRate=q4t(t.refillRate,0,this._bucketSize,t._logger),this._refillInterval=q4t(t.refillInterval,0,_cm,t._logger)}_applyRefill(t,r){let n=r-t.lastAccess,i=Math.floor(n/this._refillInterval);if(i>0){let o=i*this._refillRate;t.tokens=Math.min(t.tokens+o,this._bucketSize),t.lastAccess=t.lastAccess+i*this._refillInterval}}consumeRateLimit(t){let r=Date.now(),n=String(t),i=this._buckets[n];return i?this._applyRefill(i,r):(i={tokens:this._bucketSize,lastAccess:r},this._buckets[n]=i),i.tokens===0?!0:(i.tokens--,i.tokens===0&&this._onBucketRateLimited?.(t),i.tokens===0)}stop(){this._buckets={}}};var Y8r="0123456789abcdef",X8r=class e{constructor(t){this.bytes=t}static ofInner(t){if(t.length===16)return new e(t);throw new TypeError("not 128-bit length")}static fromFieldsV7(t,r,n,i){if(!Number.isInteger(t)||!Number.isInteger(r)||!Number.isInteger(n)||!Number.isInteger(i)||t<0||r<0||n<0||i<0||t>0xffffffffffff||r>4095||n>1073741823||i>4294967295)throw new RangeError("invalid field value");let o=new Uint8Array(16);return o[0]=t/2**40,o[1]=t/2**32,o[2]=t/2**24,o[3]=t/2**16,o[4]=t/256,o[5]=t,o[6]=112|r>>>8,o[7]=r,o[8]=128|n>>>24,o[9]=n>>>16,o[10]=n>>>8,o[11]=n,o[12]=i>>>24,o[13]=i>>>16,o[14]=i>>>8,o[15]=i,new e(o)}static parse(t){let r;switch(t.length){case 32:r=/^[0-9a-f]{32}$/i.exec(t)?.[0];break;case 36:r=/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(t)?.slice(1,6).join("");break;case 38:r=/^\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\}$/i.exec(t)?.slice(1,6).join("");break;case 45:r=/^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(t)?.slice(1,6).join("");break;default:break}if(r){let n=new Uint8Array(16);for(let i=0;i<16;i+=4){let o=parseInt(r.substring(2*i,2*i+8),16);n[i+0]=o>>>24,n[i+1]=o>>>16,n[i+2]=o>>>8,n[i+3]=o}return new e(n)}throw new SyntaxError("could not parse UUID string")}toString(){let t="";for(let r=0;r<this.bytes.length;r++)t+=Y8r.charAt(this.bytes[r]>>>4),t+=Y8r.charAt(15&this.bytes[r]),(r===3||r===5||r===7||r===9)&&(t+="-");return t}toHex(){let t="";for(let r=0;r<this.bytes.length;r++)t+=Y8r.charAt(this.bytes[r]>>>4),t+=Y8r.charAt(15&this.bytes[r]);return t}toJSON(){return this.toString()}getVariant(){let t=this.bytes[8]>>>4;if(t<0)throw new Error("unreachable");if(t<=7)return this.bytes.every(r=>r===0)?"NIL":"VAR_0";if(t<=11)return"VAR_10";if(t<=13)return"VAR_110";if(t<=15)return this.bytes.every(r=>r===255)?"MAX":"VAR_RESERVED";throw new Error("unreachable")}getVersion(){return this.getVariant()==="VAR_10"?this.bytes[6]>>>4:void 0}clone(){return new e(this.bytes.slice(0))}equals(t){return this.compareTo(t)===0}compareTo(t){for(let r=0;r<16;r++){let n=this.bytes[r]-t.bytes[r];if(n!==0)return Math.sign(n)}return 0}},Mko=class{constructor(t){this.timestamp=0,this.counter=0,this.random=t??qcm()}generate(){return this.generateOrResetCore(Date.now(),1e4)}generateOrAbort(){return this.generateOrAbortCore(Date.now(),1e4)}generateOrResetCore(t,r){let n=this.generateOrAbortCore(t,r);return n===void 0&&(this.timestamp=0,n=this.generateOrAbortCore(t,r)),n}generateOrAbortCore(t,r){if(!Number.isInteger(t)||t<1||t>0xffffffffffff)throw new RangeError("`unixTsMs` must be a 48-bit positive integer");if(r<0||r>0xffffffffffff)throw new RangeError("`rollbackAllowance` out of reasonable range");if(t>this.timestamp)this.timestamp=t,this.resetCounter();else{if(!(t+r>=this.timestamp))return;this.counter++,this.counter>4398046511103&&(this.timestamp++,this.resetCounter())}return X8r.fromFieldsV7(this.timestamp,Math.trunc(this.counter/2**30),this.counter&2**30-1,this.random.nextUint32())}resetCounter(){this.counter=1024*this.random.nextUint32()+(1023&this.random.nextUint32())}generateV4(){let t=new Uint8Array(Uint32Array.of(this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32()).buffer);return t[6]=64|t[6]>>>4,t[8]=128|t[8]>>>2,X8r.ofInner(t)}},qcm=()=>({nextUint32:()=>65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random())}),IOu,uee=()=>Gcm().toString(),Gcm=()=>(IOu||(IOu=new Mko)).generate();var Z8r=class{add(t){let r=uee();return this.promiseByIds[r]=t,t.catch(()=>{}).finally(()=>{delete this.promiseByIds[r]}),t}async join(){let t=Object.values(this.promiseByIds),r=t.length;for(;r>0;)await Promise.all(t),t=Object.values(this.promiseByIds),r=t.length}get length(){return Object.keys(this.promiseByIds).length}constructor(){this.promiseByIds={}}};function Wcm(e=console){return{log:e.log.bind(e),warn:e.warn.bind(e),error:e.error.bind(e),debug:e.debug.bind(e)}}var vOu=(e,t,r)=>{function n(o,...s){t(()=>{let a=r[o];a(e,...s)})}return{debug:(...o)=>{n("debug",...o)},info:(...o)=>{n("log",...o)},warn:(...o)=>{n("warn",...o)},error:(...o)=>{n("error",...o)},critical:(...o)=>{r.error(e,...o)},createLogger:o=>vOu(`${e} ${o}`,t,r)}},Hcm=e=>e();function xOu(e,t=Hcm){return vOu(e,t,Wcm())}var Nnt="Mobile",e9r="iOS",knt="Android",COu="Tablet",ppI=knt+" "+COu;var Jcm="Apple",fpI=Jcm+" Watch",wOu="Safari",t9r="BlackBerry",SOu="Samsung",Ycm=SOu+"Browser",Xcm=SOu+" Internet",r9r="Chrome",Zcm=r9r+" OS",$cm=r9r+" "+e9r,TOu="Internet Explorer",eum=TOu+" "+Nnt,Uko="Opera",dpI=Uko+" Mini",OOu="Edge",tum="Microsoft "+OOu,Vko="Firefox",rum=Vko+" "+e9r,_ko="Nintendo",qko="PlayStation",$8r="Xbox",num=knt+" "+Nnt,ium=Nnt+" "+wOu,G4t="Windows",oum=G4t+" Phone";var BOu="Generic",mpI=BOu+" "+Nnt.toLowerCase(),hpI=BOu+" "+COu.toLowerCase(),sum="Konqueror",aum="Oculus Browser",SD="(\\d+(\\.\\d+)?)",Lko=new RegExp("Version/"+SD),gpI=new RegExp($8r,"i"),ApI=new RegExp(qko+" \\w+","i"),ypI=new RegExp(_ko+" \\w+","i"),cum=new RegExp(t9r+"|PlayBook|BB10","i"),uum={"NT3.51":"NT 3.11","NT4.0":"NT 4.0","5.0":"2000","5.1":"XP","5.2":"XP","6.0":"Vista","6.1":"7","6.2":"8","6.3":"8.1","6.4":"10","10.0":"10"};var bpI={[eum]:[new RegExp("rv:"+SD)],[tum]:[new RegExp(OOu+"?\\/"+SD)],[r9r]:[new RegExp("("+r9r+"|CrMo)\\/"+SD)],[$cm]:[new RegExp("CriOS\\/"+SD)],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/"+SD)],[wOu]:[Lko],[ium]:[Lko],[Uko]:[new RegExp("("+Uko+"|OPR)\\/"+SD)],[Vko]:[new RegExp(Vko+"\\/"+SD)],[rum]:[new RegExp("FxiOS\\/"+SD)],[sum]:[new RegExp("Konqueror[:/]?"+SD,"i")],[t9r]:[new RegExp(t9r+" "+SD),Lko],[num]:[new RegExp("android\\s"+SD,"i")],[Xcm]:[new RegExp(Ycm+"\\/"+SD)],[aum]:[new RegExp("OculusBrowser\\/"+SD)],[TOu]:[new RegExp("(rv:|MSIE )"+SD)],Mozilla:[new RegExp("rv:"+SD)]};var EpI=[[new RegExp($8r+"; "+$8r+" (.*?)[);]","i"),e=>[$8r,e&&e[1]||""]],[new RegExp(_ko,"i"),[_ko,""]],[new RegExp(qko,"i"),[qko,""]],[cum,[t9r,""]],[new RegExp(G4t,"i"),(e,t)=>{if(/Phone/.test(t)||/WPDesktop/.test(t))return[oum,""];if(new RegExp(Nnt).test(t)&&!/IEMobile\b/.test(t))return[G4t+" "+Nnt,""];let r=/Windows NT ([0-9.]+)/i.exec(t);if(r&&r[1]){let n=r[1],i=uum[n]||"";return/arm/i.test(t)&&(i="RT"),[G4t,i]}return[G4t,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,e=>{if(e&&e[3]){let t=[e[3],e[4],e[5]||"0"];return[e9r,t.join(".")]}return[e9r,""]}],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,e=>{let t="";return e&&e.length>=3&&(t=Rnt(e[2])?e[3]:e[2]),["watchOS",t]}],[new RegExp("("+knt+" (\\d+)\\.(\\d+)\\.?(\\d+)?|"+knt+")","i"),e=>{if(e&&e[2]){let t=[e[2],e[3],e[4]||"0"];return[knt,t.join(".")]}return[knt,""]}],[/Mac OS X (\d+)[_.](\d+)[_.]?(\d+)?/i,e=>{let t=["Mac OS X",""];if(e&&e[1]){let r=[e[1],e[2],e[3]||"0"];t[1]=r.join(".")}return t}],[/Mac/i,["Mac OS X",""]],[/CrOS/,[Zcm,""]],[/Linux|debian/i,["Linux",""]]];var POu="utf8";function DOu(e){return e?.replace(/\/+$/,"")}async function ROu(e,t){let r=null;for(let n=0;n<t.retryCount+1;n++){n>0&&await new Promise(i=>setTimeout(i,t.retryDelay));try{return await e()}catch(i){if(r=i,!t.retryCheck(i))throw i}}throw r}function n9r(){return new Date().toISOString()}function lee(e,t){let r=setTimeout(e,t);return r?.unref&&r?.unref(),r}var FOu=e=>e instanceof Error;function Gko(e){return Promise.all(e.map(t=>(t??Promise.resolve()).then(r=>({status:"fulfilled",value:r}),r=>({status:"rejected",reason:r}))))}var lum={trace:{text:"TRACE",number:1},debug:{text:"DEBUG",number:5},info:{text:"INFO",number:9},warn:{text:"WARN",number:13},error:{text:"ERROR",number:17},fatal:{text:"FATAL",number:21}},kpI=lum.info;var i9r=class{constructor(){this.events={},this.events={}}on(t,r){return this.events[t]||(this.events[t]=[]),this.events[t].push(r),()=>{this.events[t]=this.events[t].filter(n=>n!==r)}}emit(t,r){for(let n of this.events[t]||[])n(r);for(let n of this.events["*"]||[])n(t,r)}};var W6e=class extends Error{constructor(t,r){super("HTTP error while fetching PostHog: status="+t.status+", reqByteLength="+r),this.response=t,this.reqByteLength=r,this.name="PostHogFetchHttpError"}get status(){return this.response.status}get text(){return this.response.text()}get json(){return this.response.json()}},G6e=class extends Error{constructor(t){super("Network error while fetching PostHog",t instanceof Error?{cause:t}:{}),this.error=t,this.name="PostHogFetchNetworkError"}};async function kOu(e){if(e instanceof W6e){let t="";try{t=await e.text}catch{}console.error(`Error while flushing PostHog: message=${e.message}, response body=${t}`,e)}else console.error("Error while flushing PostHog",e);return Promise.resolve()}function o9r(e){return typeof e=="object"&&(e instanceof W6e||e instanceof G6e)}function s9r(e){return typeof e=="object"&&e instanceof W6e&&e.status===413}var W4t=class{constructor(t,r={}){this.flushPromise=null,this.shutdownPromise=null,this.promiseQueue=new Z8r,this._events=new i9r,this._isInitialized=!1;let n=typeof t=="string"?t.trim():"",i=typeof r.host=="string"?r.host.trim():"",o=!n;this._logger=xOu("[PostHog]",this.logMsgIfDebug.bind(this)),o&&this._logger.error("You must pass your PostHog project's api key. The client will be disabled."),this.apiKey=n,this.host=DOu(i||"https://us.i.posthog.com"),this.flushAt=r.flushAt?Math.max(r.flushAt,1):20,this.maxBatchSize=Math.max(this.flushAt,r.maxBatchSize??100),this.maxQueueSize=Math.max(this.flushAt,r.maxQueueSize??1e3),this.flushInterval=r.flushInterval??1e4,this.preloadFeatureFlags=r.preloadFeatureFlags??!0,this.defaultOptIn=r.defaultOptIn??!0,this.disableSurveys=r.disableSurveys??!1,this._retryOptions={retryCount:r.fetchRetryCount??3,retryDelay:r.fetchRetryDelay??3e3,retryCheck:o9r},this.requestTimeout=r.requestTimeout??1e4,this.featureFlagsRequestTimeoutMs=r.featureFlagsRequestTimeoutMs??3e3,this.remoteConfigRequestTimeoutMs=r.remoteConfigRequestTimeoutMs??3e3,this.disableGeoip=r.disableGeoip??!0,this.disabled=(r.disabled??!1)||o,this.historicalMigration=r?.historicalMigration??!1,this._initPromise=Promise.resolve(),this._isInitialized=!0,this.evaluationContexts=r?.evaluationContexts??r?.evaluationEnvironments,r?.evaluationEnvironments&&!r?.evaluationContexts&&this._logger.warn("evaluationEnvironments is deprecated. Use evaluationContexts instead. This property will be removed in a future version."),this.disableCompression=!jko()||(r?.disableCompression??!1)}logMsgIfDebug(t){this.isDebug&&t()}wrap(t){if(this.disabled)return void this._logger.warn("The client is disabled");if(this._isInitialized)return t();this._initPromise.then(()=>t())}getCommonEventProperties(){return{$lib:this.getLibraryId(),$lib_version:this.getLibraryVersion()}}get optedOut(){return this.getPersistedProperty(Wk.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty(Wk.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty(Wk.OptedOut,!0)})}on(t,r){return this._events.on(t,r)}debug(t=!0){if(this.removeDebugCallback?.(),t){let r=this.on("*",(n,i)=>this._logger.info(n,i));this.removeDebugCallback=()=>{r(),this.removeDebugCallback=void 0}}}get isDebug(){return!!this.removeDebugCallback}get isDisabled(){return this.disabled}buildPayload(t){return{distinct_id:t.distinct_id,event:t.event,properties:{...t.properties||{},...this.getCommonEventProperties()}}}addPendingPromise(t){return this.promiseQueue.add(t)}identifyStateless(t,r,n){this.wrap(()=>{let i={...this.buildPayload({distinct_id:t,event:"$identify",properties:r})};this.enqueue("identify",i,n)})}async identifyStatelessImmediate(t,r,n){let i={...this.buildPayload({distinct_id:t,event:"$identify",properties:r})};await this.sendImmediate("identify",i,n)}captureStateless(t,r,n,i){this.wrap(()=>{let o=this.buildPayload({distinct_id:t,event:r,properties:n});this.enqueue("capture",o,i)})}async captureStatelessImmediate(t,r,n,i){let o=this.buildPayload({distinct_id:t,event:r,properties:n});await this.sendImmediate("capture",o,i)}aliasStateless(t,r,n,i){this.wrap(()=>{let o=this.buildPayload({event:"$create_alias",distinct_id:r,properties:{...n||{},distinct_id:r,alias:t}});this.enqueue("alias",o,i)})}async aliasStatelessImmediate(t,r,n,i){let o=this.buildPayload({event:"$create_alias",distinct_id:r,properties:{...n||{},distinct_id:r,alias:t}});await this.sendImmediate("alias",o,i)}groupIdentifyStateless(t,r,n,i,o,s){this.wrap(()=>{let a=this.buildPayload({distinct_id:o||`$${t}_${r}`,event:"$groupidentify",properties:{$group_type:t,$group_key:r,$group_set:n||{},...s||{}}});this.enqueue("capture",a,i)})}async getRemoteConfig(){await this._initPromise;let t=this.host;t==="https://us.i.posthog.com"?t="https://us-assets.i.posthog.com":t==="https://eu.i.posthog.com"&&(t="https://eu-assets.i.posthog.com");let r=`${t}/array/${this.apiKey}/config`,n={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"}};return this.fetchWithRetry(r,n,{retryCount:0},this.remoteConfigRequestTimeoutMs).then(i=>i.json()).catch(i=>{this._logger.error("Remote config could not be loaded",i),this._events.emit("error",i)})}async getFlags(t,r={},n={},i={},o={},s=!1){await this._initPromise;let a=s?"&config=true":"",c=`${this.host}/flags/?v=2${a}`,u={token:this.apiKey,distinct_id:t,groups:r,person_properties:n,group_properties:i,...o};n.$device_id&&(u.$device_id=n.$device_id),this.evaluationContexts&&this.evaluationContexts.length>0&&(u.evaluation_contexts=this.evaluationContexts);let l={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:JSON.stringify(u)};return this._logger.info("Flags URL",c),this.fetchWithRetry(c,l,{retryCount:0},this.featureFlagsRequestTimeoutMs).then(p=>p.json()).then(p=>({success:!0,response:kko(p)})).catch(p=>(this._events.emit("error",p),{success:!1,error:this.categorizeRequestError(p)}))}categorizeRequestError(t){if(t instanceof W6e)return{type:"api_error",statusCode:t.status};if(t instanceof G6e){let r=t.error;return r instanceof Error&&(r.name==="AbortError"||r.name==="TimeoutError")?{type:"timeout"}:{type:"connection_error"}}return{type:"unknown_error"}}async getFeatureFlagStateless(t,r,n={},i={},o={},s){await this._initPromise;let a=await this.getFeatureFlagDetailStateless(t,r,n,i,o,s);if(a===void 0)return{response:void 0,requestId:void 0};let c=M4t(a.response);return c===void 0&&(c=!1),{response:c,requestId:a.requestId}}async getFeatureFlagDetailStateless(t,r,n={},i={},o={},s){await this._initPromise;let a=await this.getFeatureFlagDetailsStateless(r,n,i,o,s,[t]);return a===void 0?void 0:{response:a.flags[t],requestId:a.requestId,evaluatedAt:a.evaluatedAt}}async getFeatureFlagPayloadStateless(t,r,n={},i={},o={},s){await this._initPromise;let a=await this.getFeatureFlagPayloadsStateless(r,n,i,o,s,[t]);if(!a)return;let c=a[t];return c===void 0?null:c}async getFeatureFlagPayloadsStateless(t,r={},n={},i={},o,s){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless(t,r,n,i,o,s)).payloads}async getFeatureFlagsStateless(t,r={},n={},i={},o,s){return await this._initPromise,await this.getFeatureFlagsAndPayloadsStateless(t,r,n,i,o,s)}async getFeatureFlagsAndPayloadsStateless(t,r={},n={},i={},o,s){await this._initPromise;let a=await this.getFeatureFlagDetailsStateless(t,r,n,i,o,s);return a?{flags:a.featureFlags,payloads:a.featureFlagPayloads,requestId:a.requestId}:{flags:void 0,payloads:void 0,requestId:void 0}}async getFeatureFlagDetailsStateless(t,r={},n={},i={},o,s){await this._initPromise;let a={};(o??this.disableGeoip)&&(a.geoip_disable=!0),s&&(a.flag_keys_to_evaluate=s);let c=await this.getFlags(t,r,n,i,a);if(!c.success)return;let u=c.response;return u.errorsWhileComputingFlags&&console.error("[FEATURE FLAGS] Error while computing feature flags, some flags may be missing or incorrect. Learn more at https://posthog.com/docs/feature-flags/best-practices"),u.quotaLimited?.includes("feature_flags")?(console.warn("[FEATURE FLAGS] Feature flags quota limit exceeded - feature flags unavailable. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts"),{flags:{},featureFlags:{},featureFlagPayloads:{},requestId:u?.requestId,quotaLimited:u.quotaLimited}):u}async getSurveysStateless(){if(await this._initPromise,this.disabled)return[];if(this.disableSurveys===!0)return this._logger.info("Loading surveys is disabled."),[];let t=`${this.host}/api/surveys/?token=${this.apiKey}`,r={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"}},i=(await this.fetchWithRetry(t,r).then(o=>{if(o.status!==200||!o.json){let s=`Surveys API could not be loaded: ${o.status}`,a=new Error(s);this._logger.error(a),this._events.emit("error",new Error(s));return}return o.json()}).catch(o=>{this._logger.error("Surveys API could not be loaded",o),this._events.emit("error",o)}))?.surveys;return i&&this._logger.info("Surveys fetched from API: ",JSON.stringify(i)),i??[]}get props(){return this._props||(this._props=this.getPersistedProperty(Wk.Props)),this._props||{}}set props(t){this._props=t}async register(t){this.wrap(()=>{this.props={...this.props,...t},this.setPersistedProperty(Wk.Props,this.props)})}async unregister(t){this.wrap(()=>{delete this.props[t],this.setPersistedProperty(Wk.Props,this.props)})}processBeforeEnqueue(t){return t}async flushStorage(){}enqueue(t,r,n){this.wrap(()=>{if(this.optedOut)return void this._events.emit(t,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");let i=this.prepareMessage(t,r,n);if(i=this.processBeforeEnqueue(i),i===null)return;let o=this.getPersistedProperty(Wk.Queue)||[];o.length>=this.maxQueueSize&&(o.shift(),this._logger.info("Queue is full, the oldest event is dropped.")),o.push({message:i}),this.setPersistedProperty(Wk.Queue,o),this._events.emit(t,i),o.length>=this.flushAt&&this.flushBackground(),this.flushInterval&&!this._flushTimer&&(this._flushTimer=lee(()=>this.flushBackground(),this.flushInterval))})}async sendImmediate(t,r,n){if(this.disabled)return void this._logger.warn("The client is disabled");if(this._isInitialized||await this._initPromise,this.optedOut)return void this._events.emit(t,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");let i=this.prepareMessage(t,r,n);if(i=this.processBeforeEnqueue(i),i===null)return;let o={api_key:this.apiKey,batch:[i],sent_at:n9r()};this.historicalMigration&&(o.historical_migration=!0);let s=JSON.stringify(o),a=`${this.host}/batch/`,c=this.disableCompression?null:await U4t(s,this.isDebug),u={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...c!==null&&{"Content-Encoding":"gzip"}},body:c||s};try{await(await this.fetchWithRetry(a,u)).body?.cancel()?.catch(()=>{})}catch(l){this._events.emit("error",l)}}prepareMessage(t,r,n){let i={...r,type:t,library:this.getLibraryId(),library_version:this.getLibraryVersion(),timestamp:n?.timestamp?n?.timestamp:n9r(),uuid:n?.uuid?n.uuid:uee()};return(n?.disableGeoip??this.disableGeoip)&&(i.properties||(i.properties={}),i.properties.$geoip_disable=!0),i.distinctId&&(i.distinct_id=i.distinctId,delete i.distinctId),i}clearFlushTimer(){this._flushTimer&&(clearTimeout(this._flushTimer),this._flushTimer=void 0)}flushBackground(){this.flush().catch(async t=>{await kOu(t)})}async flush(){if(this.disabled)return;let t=Gko([this.flushPromise]).then(()=>this._flush());return this.flushPromise=t,this.addPendingPromise(t),Gko([t]).then(()=>{this.flushPromise===t&&(this.flushPromise=null)}),t}getCustomHeaders(){let t=this.getCustomUserAgent(),r={};return t&&t!==""&&(r["User-Agent"]=t),r}async _flush(){this.clearFlushTimer(),await this._initPromise;let t=this.getPersistedProperty(Wk.Queue)||[];if(!t.length)return;let r=[],n=t.length;for(;t.length>0&&r.length<n;){let i=t.slice(0,this.maxBatchSize),o=i.map(f=>f.message),s=async()=>{let m=(this.getPersistedProperty(Wk.Queue)||[]).slice(i.length);this.setPersistedProperty(Wk.Queue,m),t=m,await this.flushStorage()},a={api_key:this.apiKey,batch:o,sent_at:n9r()};this.historicalMigration&&(a.historical_migration=!0);let c=JSON.stringify(a),u=`${this.host}/batch/`,l=this.disableCompression?null:await U4t(c,this.isDebug),p={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...l!==null&&{"Content-Encoding":"gzip"}},body:l||c},d={retryCheck:f=>s9r(f)?!1:o9r(f)};try{await(await this.fetchWithRetry(u,p,d)).body?.cancel()?.catch(()=>{})}catch(f){if(s9r(f)&&o.length>1){this.maxBatchSize=Math.max(1,Math.floor(o.length/2)),this._logger.warn(`Received 413 when sending batch of size ${o.length}, reducing batch size to ${this.maxBatchSize}`);continue}throw f instanceof G6e||await s(),this._events.emit("error",f),f}await s(),r.push(...o)}this._events.emit("flush",r)}async _sendLogsBatch(t){if(this.disabled)return{kind:"fatal",error:new Error("The client is disabled")};let r=JSON.stringify(t),n=`${this.host}/i/v1/logs?token=${encodeURIComponent(this.apiKey)}`,i=this.disableCompression?null:await U4t(r,this.isDebug),o={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",...i!==null&&{"Content-Encoding":"gzip"}},body:i||r};try{return await this.fetchWithRetry(n,o,{retryCheck:s=>s9r(s)?!1:o9r(s)}),{kind:"ok"}}catch(s){return s9r(s)?{kind:"too-large"}:s instanceof G6e?{kind:"retry-later",error:s}:{kind:"fatal",error:s}}}async fetchWithRetry(t,r,n,i){let o=r.body?r.body:"",s=-1;try{s=o instanceof Blob?o.size:Buffer.byteLength(o,POu)}catch{o instanceof Blob?s=o.size:s=new TextEncoder().encode(o).length}return await ROu(async()=>{let a=new AbortController,c=i??this.requestTimeout,u=lee(()=>a.abort(),c),l=null;try{l=await this.fetch(t,{signal:a.signal,...r})}catch(d){throw new G6e(d)}finally{clearTimeout(u)}if(!(r.mode==="no-cors")&&(l.status<200||l.status>=400))throw new W6e(l,s);return l},{...this._retryOptions,...n})}async _shutdown(t=3e4){await this._initPromise;let r=!1;if(this.clearFlushTimer(),this.disabled)return;let n=async()=>{try{for(await this.promiseQueue.join();!((this.getPersistedProperty(Wk.Queue)||[]).length===0||(await this.flush(),r)););}catch(o){if(!o9r(o))throw o;await kOu(o)}},i;try{return await Promise.race([new Promise((o,s)=>{i=lee(()=>{this._logger.error("Timed out while shutting down PostHog"),r=!0,s("Timeout while shutting down PostHog. Some events may not have been sent.")},t)}),n()])}finally{clearTimeout(i)}}async shutdown(t=3e4){return this.shutdownPromise?this._logger.warn("shutdown() called while already shutting down. shutdown() is meant to be called once before process exit - use flush() for per-request cleanup"):this.shutdownPromise=this._shutdown(t).finally(()=>{this.shutdownPromise=null}),this.shutdownPromise}};var QQ={};X(QQ,{DEFAULT_EXCEPTION_STEPS_CONFIG:()=>p9r,DOMExceptionCoercer:()=>Jko,EXCEPTION_STEP_INTERNAL_FIELDS:()=>H4t,ErrorCoercer:()=>Yko,ErrorEventCoercer:()=>Xko,ErrorPropertiesBuilder:()=>Wko,EventCoercer:()=>e2o,ExceptionStepsBuffer:()=>o2o,ObjectCoercer:()=>$ko,PrimitiveCoercer:()=>t2o,PromiseRejectionEventCoercer:()=>r2o,ReduceableCache:()=>n2o,StringCoercer:()=>Zko,chromeStackLineParser:()=>Hko,createDefaultStackParser:()=>Tum,createStackParser:()=>GOu,geckoStackLineParser:()=>Kko,getUtf8ByteLength:()=>HOu,nodeStackLineParser:()=>UOu,opera10StackLineParser:()=>zOu,opera11StackLineParser:()=>MOu,resolveExceptionStepsConfig:()=>i2o,reverseAndStripFrames:()=>qOu,stripReservedExceptionStepFields:()=>Pum,winjsStackLineParser:()=>QOu});var a9r,NOu,c9r;function jOu(e){let t=globalThis._posthogChunkIds;if(!t)return;let r=Object.keys(t);return c9r&&r.length===NOu||(NOu=r.length,c9r=r.reduce((n,i)=>{a9r||(a9r={});let o=a9r[i];if(o)n[o[0]]=o[1];else{let s=e(i);for(let a=s.length-1;a>=0;a--){let u=s[a]?.filename,l=t[i];if(u&&l){n[u]=l,a9r[i]=[u,l];break}}}return n},{})),c9r}var mum=4,Wko=class{constructor(t,r,n=[]){this.coercers=t,this.stackParser=r,this.modifiers=n}buildFromUnknown(t,r={}){let i=r&&r.mechanism||{handled:!0,type:"generic"},s=this.buildCoercingContext(i,r,0).apply(t),a=this.buildParsingContext(r),c=this.parseStacktrace(s,a);return{$exception_list:this.convertToExceptionList(c,i),$exception_level:"error"}}async modifyFrames(t){for(let r of t)r.stacktrace&&r.stacktrace.frames&&Dnt(r.stacktrace.frames)&&(r.stacktrace.frames=await this.applyModifiers(r.stacktrace.frames));return t}coerceFallback(t){return{type:"Error",value:"Unknown error",stack:t.syntheticException?.stack,synthetic:!0}}parseStacktrace(t,r){let n;t.cause!=null&&(n=this.parseStacktrace(t.cause,r));let i;return t.stack!=""&&t.stack!=null&&(i=this.applyChunkIds(this.stackParser(t.stack,t.synthetic?r.skipFirstLines:0),r.chunkIdMap)),{...t,cause:n,stack:i}}applyChunkIds(t,r){return t.map(n=>(n.filename&&r&&(n.chunk_id=r[n.filename]),n))}applyCoercers(t,r){for(let n of this.coercers)if(n.match(t))return n.coerce(t,r);return this.coerceFallback(r)}async applyModifiers(t){let r=t;for(let n of this.modifiers)r=await n(r);return r}convertToExceptionList(t,r){let n={type:t.type,value:t.value,mechanism:{type:r.type??"generic",handled:r.handled??!0,synthetic:t.synthetic??!1}};t.stack&&(n.stacktrace={type:"raw",frames:t.stack});let i=[n];return t.cause!=null&&i.push(...this.convertToExceptionList(t.cause,{...r,handled:!0})),i}buildParsingContext(t){return{chunkIdMap:jOu(this.stackParser),skipFirstLines:t.skipFirstLines??1}}buildCoercingContext(t,r,n=0){let i=(s,a)=>{if(a<=mum){let c=this.buildCoercingContext(t,r,a);return this.applyCoercers(s,c)}};return{...r,syntheticException:n==0?r.syntheticException:void 0,mechanism:t,apply:s=>i(s,n),next:s=>i(s,n+1)}}};var vB="?";function pee(e,t,r,n,i){let o={platform:e,filename:t,function:r==="<anonymous>"?vB:r,in_app:!0};return Rnt(n)||(o.lineno=n),Rnt(i)||(o.colno=i),o}var u9r=(e,t)=>{let r=e.indexOf("safari-extension")!==-1,n=e.indexOf("safari-web-extension")!==-1;return r||n?[e.indexOf("@")!==-1?e.split("@")[0]:vB,r?`safari-extension:${t}`:`safari-web-extension:${t}`]:[e,t]};var hum=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,gum=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,Aum=/\((\S*)(?::(\d+))(?::(\d+))\)/,Hko=(e,t)=>{let r=hum.exec(e);if(r){let[,i,o,s]=r;return pee(t,i,vB,+o,+s)}let n=gum.exec(e);if(n){if(n[2]&&n[2].indexOf("eval")===0){let a=Aum.exec(n[2]);a&&(n[2]=a[1],n[3]=a[2],n[4]=a[3])}let[o,s]=u9r(n[1]||vB,n[2]);return pee(t,s,o,n[3]?+n[3]:void 0,n[4]?+n[4]:void 0)}};var yum=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,bum=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,Kko=(e,t)=>{let r=yum.exec(e);if(r){if(r[3]&&r[3].indexOf(" > eval")>-1){let s=bum.exec(r[3]);s&&(r[1]=r[1]||"eval",r[3]=s[1],r[4]=s[2],r[5]="")}let i=r[3],o=r[1]||vB;return[o,i]=u9r(o,i),pee(t,i,o,r[4]?+r[4]:void 0,r[5]?+r[5]:void 0)}};var Eum=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:[-a-z]+):.*?):(\d+)(?::(\d+))?\)?\s*$/i,QOu=(e,t)=>{let r=Eum.exec(e);return r?pee(t,r[2],r[1]||vB,+r[3],r[4]?+r[4]:void 0):void 0};var Ium=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,zOu=(e,t)=>{let r=Ium.exec(e);return r?pee(t,r[2],r[3]||vB,+r[1]):void 0},vum=/ line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^)]+))\(.*\))? in (.*):\s*$/i,MOu=(e,t)=>{let r=vum.exec(e);return r?pee(t,r[5],r[3]||r[4]||vB,+r[1],+r[2]):void 0};var xum=/^\s*[-]{4,}$/,Cum=/at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/,UOu=(e,t)=>{let r=e.match(Cum);if(r){let n,i,o,s,a;if(r[1]){o=r[1];let l=o.lastIndexOf(".");if(o[l-1]==="."&&l--,l>0){n=o.slice(0,l),i=o.slice(l+1);let p=n.indexOf(".Module");p>0&&(o=o.slice(p+1),n=n.slice(0,p))}s=void 0}i&&(s=n,a=i),i==="<anonymous>"&&(a=void 0,o=void 0),o===void 0&&(a=a||vB,o=s?`${s}.${a}`:a);let c=r[2]?.startsWith("file://")?r[2].slice(7):r[2],u=r[5]==="native";return c?.match(/\/[A-Z]:/)&&(c=c.slice(1)),!c&&r[5]&&!u&&(c=r[5]),{filename:c?decodeURI(c):void 0,module:void 0,function:o,lineno:LOu(r[3]),colno:LOu(r[4]),in_app:wum(c||"",u),platform:t}}if(e.match(xum))return{filename:e,platform:t}};function wum(e,t=!1){return!(t||e&&!e.startsWith("/")&&!e.match(/^[A-Z]:/)&&!e.startsWith(".")&&!e.match(/^[a-zA-Z]([a-zA-Z0-9.\-+])*:\/\//))&&e!==void 0&&!e.includes("node_modules/")}function LOu(e){return parseInt(e||"",10)||void 0}var VOu=/\(error: (.*)\)/,_Ou=50;function qOu(e){if(!e.length)return[];let t=Array.from(e);return t.reverse(),t.slice(0,_Ou).map(r=>({...r,filename:r.filename||Sum(t).filename,function:r.function||vB}))}function Sum(e){return e[e.length-1]||{}}function Tum(){return GOu("web:javascript",Hko,Kko)}function GOu(e,...t){return(r,n=0)=>{let i=[],o=r.split(`
|
|
3025
|
-
`);for(let s=n;s<o.length;s++){let a=o[s];if(a.length>1024)continue;let c=VOu.test(a)?a.replace(VOu,"$1"):a;if(!c.match(/\S*Error: /)){for(let u of t){let l=u(c,e);if(l){i.push(l);break}}if(i.length>=_Ou)break}}return qOu(i)}}var Jko=class{match(t){return this.isDOMException(t)||this.isDOMError(t)}coerce(t,r){let n=gve(t.stack);return{type:this.getType(t),value:this.getValue(t),stack:n?t.stack:void 0,cause:t.cause?r.next(t.cause):void 0,synthetic:!1}}getType(t){return this.isDOMError(t)?"DOMError":"DOMException"}getValue(t){let r=t.name||(this.isDOMError(t)?"DOMError":"DOMException");return t.message?`${r}: ${t.message}`:r}isDOMException(t){return q6e(t,"DOMException")}isDOMError(t){return q6e(t,"DOMError")}};var Yko=class{match(t){return zko(t)}coerce(t,r){return{type:this.getType(t),value:this.getMessage(t,r),stack:this.getStack(t),cause:t.cause?r.next(t.cause):void 0,synthetic:!1}}getType(t){return t.name||t.constructor.name}getMessage(t,r){let n=t.message;return n.error&&typeof n.error.message=="string"?String(n.error.message):String(n)}getStack(t){return t.stacktrace||t.stack||void 0}};var Xko=class{constructor(){}match(t){return bOu(t)&&t.error!=null}coerce(t,r){let n=r.apply(t.error);return n||{type:"ErrorEvent",value:t.message,stack:r.syntheticException?.stack,synthetic:!0}}};var Oum=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i,Zko=class{match(t){return typeof t=="string"}coerce(t,r){let[n,i]=this.getInfos(t);return{type:n??"Error",value:i??t,stack:r.syntheticException?.stack,synthetic:!0}}getInfos(t){let r="Error",n=t,i=t.match(Oum);return i&&(r=i[1],n=i[2]),[r,n]}};var WOu=["fatal","error","warning","log","info","debug"];function l9r(e,t=40){let r=Object.keys(e);if(r.sort(),!r.length)return"[object has no keys]";for(let n=r.length;n>0;n--){let i=r.slice(0,n).join(", ");if(!(i.length>t))return n===r.length||i.length<=t?i:`${i.slice(0,t)}...`}return""}var $ko=class{match(t){return typeof t=="object"&&t!==null}coerce(t,r){let n=this.getErrorPropertyFromObject(t);return n?r.apply(n):{type:this.getType(t),value:this.getValue(t),stack:r.syntheticException?.stack,level:this.isSeverityLevel(t.level)?t.level:"error",synthetic:!0}}getType(t){return Fnt(t)?t.constructor.name:"Error"}getValue(t){if("name"in t&&typeof t.name=="string"){let i=`'${t.name}' captured as exception`;return"message"in t&&typeof t.message=="string"&&(i+=` with message: '${t.message}'`),i}if("message"in t&&typeof t.message=="string")return t.message;let r=this.getObjectClassName(t),n=l9r(t);return`${r&&r!=="Object"?`'${r}'`:"Object"} captured as exception with keys: ${n}`}isSeverityLevel(t){return gve(t)&&!yOu(t)&&WOu.indexOf(t)>=0}getErrorPropertyFromObject(t){for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let n=t[r];if(FOu(n))return n}}getObjectClassName(t){try{let r=Object.getPrototypeOf(t);return r?r.constructor.name:void 0}catch{return}}};var e2o=class{match(t){return Fnt(t)}coerce(t,r){let n=t.constructor.name;return{type:n,value:`${n} captured as exception with keys: ${l9r(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var t2o=class{match(t){return K8r(t)}coerce(t,r){return{type:"Error",value:`Primitive value captured as exception: ${String(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var r2o=class{match(t){return q6e(t,"PromiseRejectionEvent")||this.isCustomEventWrappingRejection(t)}isCustomEventWrappingRejection(t){if(!Fnt(t))return!1;try{let r=t.detail;return r!=null&&typeof r=="object"&&"reason"in r}catch{return!1}}coerce(t,r){let n=this.getUnhandledRejectionReason(t);return K8r(n)?{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(n)}`,stack:r.syntheticException?.stack,synthetic:!0}:r.apply(n)}getUnhandledRejectionReason(t){try{if("reason"in t)return t.reason;if("detail"in t&&t.detail!=null&&typeof t.detail=="object"&&"reason"in t.detail)return t.detail.reason}catch{}return t}};var n2o=class{constructor(t){this._maxSize=t,this._cache=new Map}get(t){let r=this._cache.get(t);if(r!==void 0)return this._cache.delete(t),this._cache.set(t,r),r}set(t,r){this._cache.set(t,r)}reduce(){for(;this._cache.size>=this._maxSize;){let t=this._cache.keys().next().value;t&&this._cache.delete(t)}}};var H4t={MESSAGE:"$message",TIMESTAMP:"$timestamp"},Bum=new Set([H4t.MESSAGE,H4t.TIMESTAMP]),p9r={enabled:!0,max_bytes:32768};function i2o(e){return e?{enabled:e.enabled??p9r.enabled,max_bytes:Dum(e.max_bytes,p9r.max_bytes)}:{...p9r}}function Pum(e){if(!e)return{sanitizedProperties:{},droppedKeys:[]};let t=[];return{sanitizedProperties:Object.keys(e).reduce((n,i)=>Bum.has(i)?(t.push(i),n):(n[i]=e[i],n),{}),droppedKeys:t}}var o2o=class{constructor(t){this._entries=[],this._totalBytes=0,this._config=i2o(t)}setConfig(t){this._config=i2o(t),this._trimToMaxBytes()}add(t){let r=Rum(t);if(!r)return;let n=HOu(r.json);n>this._config.max_bytes||(this._entries.push({step:r.step,bytes:n}),this._totalBytes+=n,this._trimToMaxBytes())}getAttachable(){return this._entries.map(t=>t.step)}clear(){this._entries=[],this._totalBytes=0}size(){return this._entries.length}_trimToMaxBytes(){for(;this._totalBytes>this._config.max_bytes&&this._entries.length>0;){let t=this._entries.shift();t&&(this._totalBytes-=t.bytes)}}};function Dum(e,t){if(!_4t(e)||e===1/0||e===-1/0)return t;let r=Math.floor(e);return r<0?t:r}function Rum(e){let t=Fum(e);if(t)try{let r=JSON.parse(t);if(!V4t(r))return;let n=r,i=n[H4t.MESSAGE],o=n[H4t.TIMESTAMP];return!gve(i)||i.trim().length===0||!gve(o)&&!_4t(o)?void 0:{step:n,json:t}}catch{return}}function Fum(e){let t=new WeakSet;try{return JSON.stringify(e,(r,n)=>{if(typeof n=="bigint")return n.toString();if(!(typeof n=="function"||typeof n=="symbol")){if(n instanceof Date)return n.toISOString();if(n instanceof Error)return{name:n.name,message:n.message,stack:n.stack};if(n&&typeof n=="object"){if(t.has(n))return"[Circular]";t.add(n)}return n}})}catch{return}}function HOu(e){if(typeof TextEncoder<"u")return new TextEncoder().encode(e).length;let t=encodeURIComponent(e),r=0;for(let n=0;n<t.length;n++)t[n]==="%"?(r+=1,n+=2):r+=1;return r}var YOu=require("fs"),XOu=require("readline"),f9r=new QQ.ReduceableCache(25),ZOu=new QQ.ReduceableCache(20),s2o=7,kum=1e3,Num=1e4;async function $Ou(e){let t={};for(let i=e.length-1;i>=0;i--){let o=e[i],s=o?.filename;if(!o||typeof s!="string"||typeof o.lineno!="number"||Mum(s)||Lum(o))continue;t[s]||(t[s]=[]),t[s].push(o.lineno)}let r=Object.keys(t);if(r.length==0)return e;let n=[];for(let i of r){if(ZOu.get(i))continue;let o=t[i];if(!o)continue;o.sort((c,u)=>c-u);let s=Vum(o);if(s.every(c=>Uum(i,c)))continue;let a=_um(f9r,i,{});n.push(jum(i,s,a))}return await Promise.all(n).catch(()=>{}),e&&e.length>0&&Qum(e,f9r),f9r.reduce(),e}function jum(e,t,r){return new Promise(n=>{let i=(0,YOu.createReadStream)(e),o=(0,XOu.createInterface)({input:i});function s(){i.destroy(),n()}let a=0,c=0,u=t[c];if(u===void 0)return void s();let l=u[0],p=u[1];function d(){ZOu.set(e,1),o.close(),o.removeAllListeners(),s()}i.on("error",d),o.on("error",d),o.on("close",s),o.on("line",f=>{if(a++,!(a<l)&&(r[a]=qum(f,0),a>=p)){if(c===t.length-1){o.close(),o.removeAllListeners();return}c++;let m=t[c];if(m===void 0){o.close(),o.removeAllListeners();return}l=m[0],p=m[1]}})})}function Qum(e,t){for(let r of e)if(r.filename&&r.context_line===void 0&&typeof r.lineno=="number"){let n=t.get(r.filename);if(n===void 0)continue;zum(r.lineno,r,n)}}function zum(e,t,r){if(t.lineno===void 0||r===void 0)return;t.pre_context=[];for(let i=eBu(e);i<e;i++){let o=r[i];if(o===void 0)return void KOu(t);t.pre_context.push(o)}if(r[e]===void 0)return void KOu(t);t.context_line=r[e];let n=tBu(e);t.post_context=[];for(let i=e+1;i<=n;i++){let o=r[i];if(o===void 0)break;t.post_context.push(o)}}function KOu(e){delete e.pre_context,delete e.context_line,delete e.post_context}function Mum(e){return e.startsWith("node:")||e.endsWith(".min.js")||e.endsWith(".min.cjs")||e.endsWith(".min.mjs")||e.startsWith("data:")}function Lum(e){return e.lineno!==void 0&&e.lineno>Num||e.colno!==void 0&&e.colno>kum}function Uum(e,t){let r=f9r.get(e);if(r===void 0)return!1;for(let n=t[0];n<=t[1];n++)if(r[n]===void 0)return!1;return!0}function Vum(e){if(!e.length)return[];let t=0,r=e[0];if(typeof r!="number")return[];let n=JOu(r),i=[];for(;;){if(t===e.length-1){i.push(n);break}let o=e[t+1];if(typeof o!="number")break;o<=n[1]?n[1]=o+s2o:(i.push(n),n=JOu(o)),t++}return i}function JOu(e){return[eBu(e),tBu(e)]}function eBu(e){return Math.max(1,e-s2o)}function tBu(e){return e+s2o}function _um(e,t,r){let n=e.get(t);return n===void 0?(e.set(t,r),r):n}function qum(e,t){let r=e,n=r.length;if(n<=150)return r;t>n&&(t=n);let i=Math.max(t-60,0);i<5&&(i=0);let o=Math.min(i+140,n);return o>n-5&&(o=n),o===n&&(i=Math.max(o-140,0)),r=r.slice(i,o),i>0&&(r=`...${r}`),o<n&&(r+="..."),r}var jnt=require("path");function rBu(e=process.cwd()){let t=jnt.sep==="\\",r=i=>t?i.replace(/\\/g,"/"):i,n=r(e);return async i=>{for(let o of i)!o.filename||o.filename.startsWith("node:")||o.filename.startsWith("data:")||(0,jnt.isAbsolute)(o.filename)&&(o.filename=r((0,jnt.relative)(n,r(o.filename))));return i}}function Gum(e,t){let r=!1;return Object.assign(n=>{let o=global.process.listeners("uncaughtException").filter(s=>s.name!=="domainUncaughtExceptionClear"&&s._posthogErrorHandler!==!0).length===0;e(n,{mechanism:{type:"onuncaughtexception",handled:!1}}),!r&&o&&(r=!0,t(n))},{_posthogErrorHandler:!0})}function nBu(e,t){globalThis.process?.on("uncaughtException",Gum(e,t))}function iBu(e){globalThis.process?.on("unhandledRejection",t=>e(t,{mechanism:{type:"onunhandledrejection",handled:!1}}))}var Wum=2e3,tH=class e{constructor(t,r,n){this.client=t,this._exceptionAutocaptureEnabled=r.enableExceptionAutocapture||!1,this._logger=n,this._rateLimiter=new J8r({refillRate:1,bucketSize:10,refillInterval:1e4,_logger:this._logger}),this.startAutocaptureIfEnabled()}static isPreviouslyCapturedError(t){return V4t(t)&&"__posthog_previously_captured_error"in t&&t.__posthog_previously_captured_error===!0}static async buildEventMessage(t,r,n,i){let o={...i},s=this.errorPropertiesBuilder.buildFromUnknown(t,r);return s.$exception_list=await this.errorPropertiesBuilder.modifyFrames(s.$exception_list),{event:"$exception",distinctId:n,properties:{...s,...o},_originatedFromCaptureException:!0}}startAutocaptureIfEnabled(){this.isEnabled()&&(nBu(this.onException.bind(this),this.onFatalError.bind(this)),iBu(this.onException.bind(this)))}onException(t,r){this.client.addPendingPromise((async()=>{if(!e.isPreviouslyCapturedError(t)){let n=await e.buildEventMessage(t,r),o=n.properties?.$exception_list[0]?.type??"Exception";return this._rateLimiter.consumeRateLimit(o)?void this._logger.info("Skipping exception capture because of client rate limiting.",{exception:o}):this.client.capture(n)}})())}async onFatalError(t){console.error(t),await this.client.shutdown(Wum),process.exit(1)}isEnabled(){return!this.client.isDisabled&&this._exceptionAutocaptureEnabled}shutdown(){this._rateLimiter.stop()}};var oBu="5.35.1";var ofe={ERRORS_WHILE_COMPUTING:"errors_while_computing_flags",FLAG_MISSING:"flag_missing",QUOTA_LIMITED:"quota_limited",UNKNOWN_ERROR:"unknown_error"};var Qnt=class e{constructor(t){this._host=t.host,this._distinctId=t.distinctId,this._groups=t.groups,this._disableGeoip=t.disableGeoip,this._flags=t.flags,this._requestId=t.requestId,this._evaluatedAt=t.evaluatedAt,this._flagDefinitionsLoadedAt=t.flagDefinitionsLoadedAt,this._errorsWhileComputing=t.errorsWhileComputing??!1,this._quotaLimited=t.quotaLimited??!1,this._accessed=t.accessed??new Set,this._isSlice=t.isSlice??!1}isEnabled(t){let r=this._flags[t];return this._recordAccess(t),r?.enabled??!1}getFlag(t){let r=this._flags[t];if(this._recordAccess(t),!!r)return r.enabled?r.variant??!0:!1}getFlagPayload(t){return this._flags[t]?.payload}onlyAccessed(){let t={};for(let r of this._accessed){let n=this._flags[r];n&&(t[r]=n)}return this._cloneWith(t)}only(t){let r={},n=[];for(let i of t){let o=this._flags[i];o?r[i]=o:n.push(i)}return n.length>0&&this._host.logWarning(`FeatureFlagEvaluations.only() was called with flag keys that are not in the evaluation set and will be dropped: ${n.join(", ")}`),this._cloneWith(r)}get keys(){return Object.keys(this._flags)}_getEventProperties(){let t={},r=[];for(let[n,i]of Object.entries(this._flags)){let o=i.enabled===!1?!1:i.variant??!0;t[`$feature/${n}`]=o,i.enabled&&r.push(n)}return r.length>0&&(r.sort(),t.$active_feature_flags=r),t}_cloneWith(t){return new e({host:this._host,distinctId:this._distinctId,groups:this._groups,disableGeoip:this._disableGeoip,flags:t,requestId:this._requestId,evaluatedAt:this._evaluatedAt,flagDefinitionsLoadedAt:this._flagDefinitionsLoadedAt,errorsWhileComputing:this._errorsWhileComputing,quotaLimited:this._quotaLimited,accessed:new Set(this._accessed),isSlice:!0})}_recordAccess(t){if(this._accessed.add(t),this._distinctId===""||this._isSlice&&!(t in this._flags))return;let r=this._flags[t],n=r===void 0?void 0:r.enabled===!1?!1:r.variant??!0,i={$feature_flag:t,$feature_flag_response:n,$feature_flag_id:r?.id,$feature_flag_version:r?.version,$feature_flag_reason:r?.reason,locally_evaluated:r?.locallyEvaluated??!1,[`$feature/${t}`]:n,$feature_flag_request_id:this._requestId,$feature_flag_evaluated_at:r?.locallyEvaluated?Date.now():this._evaluatedAt};r?.locallyEvaluated&&this._flagDefinitionsLoadedAt!==void 0&&(i.$feature_flag_definitions_loaded_at=this._flagDefinitionsLoadedAt);let o=[];this._errorsWhileComputing&&o.push(ofe.ERRORS_WHILE_COMPUTING),this._quotaLimited&&o.push(ofe.QUOTA_LIMITED),r===void 0&&o.push(ofe.FLAG_MISSING),o.length>0&&(i.$feature_flag_error=o.join(",")),this._host.captureFlagCalledEventIfNeeded({distinctId:this._distinctId,key:t,response:n,groups:this._groups,disableGeoip:this._disableGeoip,properties:i})}};async function sBu(e){let t=globalThis.crypto?.subtle;if(!t)throw new Error("SubtleCrypto API not available");let r=await t.digest("SHA-1",new TextEncoder().encode(e));return Array.from(new Uint8Array(r)).map(i=>i.toString(16).padStart(2,"0")).join("")}var Hum=6e4,Kum=1152921504606847e3,Jum=["is_not","is_set"],znt=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},Sd=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},fee=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},d9r=class{constructor({pollingInterval:t,personalApiKey:r,projectApiKey:n,timeout:i,host:o,customHeaders:s,...a}){this.debugMode=!1,this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.pollingInterval=t,this.personalApiKey=r,this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={},this.loadedSuccessfullyOnce=!1,this.timeout=i,this.projectApiKey=n,this.host=o,this.poller=void 0,this.fetch=a.fetch||fetch,this.onError=a.onError,this.customHeaders=s,this.onLoad=a.onLoad,this.cacheProvider=a.cacheProvider,this.strictLocalEvaluation=a.strictLocalEvaluation??!1,this.loadFeatureFlags()}debug(t=!0){this.debugMode=t}logMsgIfDebug(t){this.debugMode&&t()}createEvaluationContext(t,r={},n={},i={},o={}){return{distinctId:t,groups:r,personProperties:n,groupProperties:i,evaluationCache:o}}async getFeatureFlag(t,r,n={},i={},o={}){await this.loadFeatureFlags();let s,a;if(!this.loadedSuccessfullyOnce)return s;if(a=this.featureFlagsByKey[t],a!==void 0){let c=this.createEvaluationContext(r,n,i,o);try{s=(await this.computeFlagAndPayloadLocally(a,c)).value,this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${t} -> ${s}`))}catch(u){u instanceof fee||u instanceof Sd?this.logMsgIfDebug(()=>console.debug(`${u.name} when computing flag locally: ${t}: ${u.message}`)):u instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${t}: ${u}`))}}return s}async getAllFlagsAndPayloads(t,r){await this.loadFeatureFlags();let n={},i={},o=this.featureFlags.length==0,s=r?r.map(c=>this.featureFlagsByKey[c]).filter(Boolean):this.featureFlags,a={...t,evaluationCache:t.evaluationCache??{}};return await Promise.all(s.map(async c=>{try{let{value:u,payload:l}=await this.computeFlagAndPayloadLocally(c,a);n[c.key]=u,l&&(i[c.key]=l)}catch(u){u instanceof fee||u instanceof Sd?this.logMsgIfDebug(()=>console.debug(`${u.name} when computing flag locally: ${c.key}: ${u.message}`)):u instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${c.key}: ${u}`)),o=!0}})),{response:n,payloads:i,fallbackToFlags:o}}async computeFlagAndPayloadLocally(t,r,n={}){let{matchValue:i,skipLoadCheck:o=!1}=n;if(o||await this.loadFeatureFlags(),!this.loadedSuccessfullyOnce)return{value:!1,payload:null};let s;s=i!==void 0?i:await this.computeFlagValueLocally(t,r);let a=this.getFeatureFlagPayload(t.key,s);return{value:s,payload:a}}async computeFlagValueLocally(t,r){let{distinctId:n,groups:i,personProperties:o,groupProperties:s}=r;if(!t.active)return!1;if(t.ensure_experience_continuity)throw new Sd("Flag has experience continuity enabled");let c=(t.filters||{}).aggregation_group_type_index;if(c!=null){let u=this.groupTypeMapping[String(c)];if(!u)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Unknown group type index ${c} for feature flag ${t.key}`)),new Sd("Flag has unknown group type index");if(!(u in i))return this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${t.key} without group names passed in`)),!1;t.bucketing_identifier==="device_id"&&(o?.$device_id===void 0||o?.$device_id===null||o?.$device_id==="")&&this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Ignoring bucketing_identifier for group flag: ${t.key}`));let l=s[u];return await this.matchFeatureFlagProperties(t,i[u],l,r)}{let u=this.getBucketingValueForFlag(t,n,o);if(u===void 0)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute feature flag: ${t.key} without $device_id, falling back to server evaluation`)),new Sd(`Can't compute feature flag: ${t.key} without $device_id`);return await this.matchFeatureFlagProperties(t,u,o,r)}}getBucketingValueForFlag(t,r,n){if(t.filters?.aggregation_group_type_index!=null)return r;if(t.bucketing_identifier==="device_id"){let i=n?.$device_id;return i==null||i===""?void 0:i}return r}getFeatureFlagPayload(t,r){let n=null;if(r!==!1&&r!=null&&(typeof r=="boolean"?n=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r.toString()]||null:typeof r=="string"&&(n=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r]||null),n!=null)){if(typeof n=="object")return n;if(typeof n=="string")try{return JSON.parse(n)}catch{}return n}return null}async evaluateFlagDependency(t,r,n){let{evaluationCache:i}=n,o=t.key;if(!this.featureFlagsByKey)throw new Sd("Feature flags not available for dependency evaluation");if(!("dependency_chain"in t))throw new Sd(`Flag dependency property for '${o}' is missing required 'dependency_chain' field`);let s=t.dependency_chain;if(!Array.isArray(s))throw new Sd(`Flag dependency property for '${o}' has an invalid 'dependency_chain' (expected array, got ${typeof s})`);if(s.length===0)throw new Sd(`Circular dependency detected for flag '${o}' (empty dependency chain)`);for(let c of s){if(!(c in i)){let l=this.featureFlagsByKey[c];if(l)if(l.active)try{let p=await this.computeFlagValueLocally(l,n);i[c]=p}catch(p){throw new Sd(`Error evaluating flag dependency '${c}' for flag '${o}': ${p}`)}else i[c]=!1;else throw new Sd(`Missing flag dependency '${c}' for flag '${o}'`)}if(i[c]==null)throw new Sd(`Dependency '${c}' could not be evaluated`)}let a=i[o];return this.flagEvaluatesToExpectedValue(t.value,a)}flagEvaluatesToExpectedValue(t,r){return typeof t=="boolean"?t===r||typeof r=="string"&&r!==""&&t===!0:typeof t=="string"?r===t:!1}async matchFeatureFlagProperties(t,r,n,i){let o=t.filters||{},s=o.groups||[],a=o.aggregation_group_type_index,{groups:c,groupProperties:u}=i,l=!1,p;for(let d of s)try{let f=d.aggregation_group_type_index!==void 0?d.aggregation_group_type_index:a,m=n,g=r;if(f!==a&&f!=null){let A=this.groupTypeMapping[String(f)];if(!A||!(A in c)){this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] Skipping group condition for flag '${t.key}': group type index ${f} not available`));continue}if(!(A in u)){l=!0;continue}m=u[A],g=c[A]}if(await this.isConditionMatch(t,g,d,m,i)){let A=d.variant,y=o.multivariate?.variants||[];p=A&&y.some(E=>E.key===A)?A:await this.getMatchingVariant(t,g)||!0;break}}catch(f){if(f instanceof fee)throw f;if(f instanceof Sd)l=!0;else throw f}if(p!==void 0)return p;if(l)throw new Sd("Can't determine if feature flag is enabled or not with given properties");return!1}async isConditionMatch(t,r,n,i,o){let s=n.rollout_percentage,a=c=>{this.logMsgIfDebug(()=>console.warn(c))};if((n.properties||[]).length>0){for(let c of n.properties){let u=c.type,l=!1;if(l=u==="cohort"?await pBu(c,i,this.cohorts,this.debugMode,p=>this.evaluateFlagDependency(p,i,o)):u==="flag"?await this.evaluateFlagDependency(c,i,o):lBu(c,i,a),!l)return!1}if(s==null)return!0}return!(s!=null&&await aBu(t.key,r)>s/100)}async getMatchingVariant(t,r){let n=await aBu(t.key,r,"variant"),i=this.variantLookupTable(t).find(o=>n>=o.valueMin&&n<o.valueMax);if(i)return i.key}variantLookupTable(t){let r=[],n=0,i=0;return((t.filters||{}).multivariate?.variants||[]).forEach(a=>{i=n+a.rollout_percentage/100,r.push({valueMin:n,valueMax:i,key:a.key}),n=i}),r}updateFlagState(t){this.featureFlags=t.flags,this.featureFlagsByKey=t.flags.reduce((r,n)=>(r[n.key]=n,r),{}),this.groupTypeMapping=t.groupTypeMapping,this.cohorts=t.cohorts,this.loadedSuccessfullyOnce=!0}warnAboutExperienceContinuityFlags(t){if(this.strictLocalEvaluation)return;let r=t.filter(n=>n.ensure_experience_continuity);r.length>0&&console.warn(`[PostHog] You are using local evaluation but ${r.length} flag(s) have experience continuity enabled: ${r.map(n=>n.key).join(", ")}. Experience continuity is incompatible with local evaluation and will cause a server request on every flag evaluation, negating local evaluation cost savings. To avoid server requests and unexpected costs, either disable experience continuity on these flags in PostHog, use strictLocalEvaluation: true in client init, or pass onlyEvaluateLocally: true per flag call (flags that cannot be evaluated locally will return undefined).`)}async loadFromCache(t){if(!this.cacheProvider)return!1;try{let r=await this.cacheProvider.getFlagDefinitions();return r?(this.updateFlagState(r),this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] ${t} (${r.flags.length} flags)`)),this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(r.flags),!0):!1}catch(r){return this.onError?.(new Error(`Failed to load from cache: ${r}`)),!1}}async loadFeatureFlags(t=!1){if(!(this.loadedSuccessfullyOnce&&!t))return!t&&this.nextFetchAllowedAt&&Date.now()<this.nextFetchAllowedAt?void this.logMsgIfDebug(()=>console.debug("[FEATURE FLAGS] Skipping fetch, in backoff period")):(this.loadingPromise||(this.loadingPromise=this._loadFeatureFlags().catch(r=>this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] Failed to load feature flags: ${r}`))).finally(()=>{this.loadingPromise=void 0})),this.loadingPromise)}isLocalEvaluationReady(){return(this.loadedSuccessfullyOnce??!1)&&(this.featureFlags?.length??0)>0}getFlagDefinitionsLoadedAt(){return this.flagDefinitionsLoadedAt}getPollingInterval(){return this.shouldBeginExponentialBackoff?Math.min(Hum,this.pollingInterval*2**this.backOffCount):this.pollingInterval}beginBackoff(){this.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,this.nextFetchAllowedAt=Date.now()+this.getPollingInterval()}clearBackoff(){this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.nextFetchAllowedAt=void 0}async _loadFeatureFlags(){this.poller&&(clearTimeout(this.poller),this.poller=void 0),this.poller=setTimeout(()=>this.loadFeatureFlags(!0),this.getPollingInterval());try{let t=!0;if(this.cacheProvider)try{t=await this.cacheProvider.shouldFetchFlagDefinitions()}catch(n){this.onError?.(new Error(`Error in shouldFetchFlagDefinitions: ${n}`))}if(!t&&(await this.loadFromCache("Loaded flags from cache (skipped fetch)")||this.loadedSuccessfullyOnce))return;let r=await this._requestFeatureFlagDefinitions();if(!r)return;switch(r.status){case 304:this.logMsgIfDebug(()=>console.debug("[FEATURE FLAGS] Flags not modified (304), using cached data")),this.flagsEtag=r.headers?.get("ETag")??this.flagsEtag,this.loadedSuccessfullyOnce=!0,this.clearBackoff();return;case 401:throw this.beginBackoff(),new znt(`Your project key or personal API key is invalid. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 402:console.warn("[FEATURE FLAGS] Feature flags quota limit exceeded - unsetting all local flags. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts"),this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={};return;case 403:throw this.beginBackoff(),new znt(`Your personal API key does not have permission to fetch feature flag definitions for local evaluation. Setting next polling interval to ${this.getPollingInterval()}ms. Are you sure you're using the correct personal and Project API key pair? More information: https://posthog.com/docs/api/overview`);case 429:throw this.beginBackoff(),new znt(`You are being rate limited. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 200:{let n=await r.json()??{};if(!("flags"in n))return void this.onError?.(new Error(`Invalid response when getting feature flags: ${JSON.stringify(n)}`));this.flagsEtag=r.headers?.get("ETag")??void 0;let i={flags:n.flags??[],groupTypeMapping:n.group_type_mapping||{},cohorts:n.cohorts||{}};if(this.updateFlagState(i),this.flagDefinitionsLoadedAt=Date.now(),this.clearBackoff(),this.cacheProvider&&t)try{await this.cacheProvider.onFlagDefinitionsReceived(i)}catch(o){this.onError?.(new Error(`Failed to store in cache: ${o}`))}this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(i.flags);break}default:return}}catch(t){t instanceof znt&&this.onError?.(t)}}getPersonalApiKeyRequestOptions(t="GET",r){let n={...this.customHeaders,"Content-Type":"application/json",Authorization:`Bearer ${this.personalApiKey}`};return r&&(n["If-None-Match"]=r),{method:t,headers:n}}_requestFeatureFlagDefinitions(){let t=`${this.host}/flags/definitions?token=${this.projectApiKey}&send_cohorts`,r=this.getPersonalApiKeyRequestOptions("GET",this.flagsEtag),n=null;if(this.timeout&&typeof this.timeout=="number"){let i=new AbortController;n=lee(()=>{i.abort()},this.timeout),r.signal=i.signal}try{let i=this.fetch;return i(t,r)}finally{clearTimeout(n)}}async stopPoller(t=3e4){if(clearTimeout(this.poller),this.cacheProvider)try{let r=this.cacheProvider.shutdown();r instanceof Promise&&await Promise.race([r,new Promise((n,i)=>setTimeout(()=>i(new Error(`Cache shutdown timeout after ${t}ms`)),t))])}catch(r){this.onError?.(new Error(`Error during cache shutdown: ${r}`))}}};async function aBu(e,t,r=""){let n=await sBu(`${e}.${t}${r}`);return parseInt(n.slice(0,15),16)/Kum}function lBu(e,t,r){let n=e.key,i=e.value,o=e.operator||"exact";if(n in t){if(o==="is_not_set")return!1}else{if(o==="is_not_set")return!0;throw new Sd(`Property ${n} not found in propertyValues`)}let s=t[n];if(s==null&&!Jum.includes(o))return r&&r(`Property ${n} cannot have a value of null/undefined with the ${o} operator`),!1;function a(u,l){return Array.isArray(u)?u.map(p=>String(p).toLowerCase()).includes(String(l).toLowerCase()):String(u).toLowerCase()===String(l).toLowerCase()}function c(u,l,p){if(p==="gt")return u>l;if(p==="gte")return u>=l;if(p==="lt")return u<l;if(p==="lte")return u<=l;throw new Error(`Invalid operator: ${p}`)}switch(o){case"exact":return a(i,s);case"is_not":return!a(i,s);case"is_set":return n in t;case"icontains":return String(s).toLowerCase().includes(String(i).toLowerCase());case"not_icontains":return!String(s).toLowerCase().includes(String(i).toLowerCase());case"regex":return cBu(String(i))&&String(s).match(String(i))!==null;case"not_regex":return cBu(String(i))&&String(s).match(String(i))===null;case"gt":case"gte":case"lt":case"lte":{let u=typeof i=="number"?i:parseFloat(String(i)),l;return l=typeof s=="number"?s:s!=null?parseFloat(String(s)):NaN,Number.isFinite(u)&&Number.isFinite(l)?c(l,u,o):c(String(s),String(i),o)}case"is_date_after":case"is_date_before":{if(typeof i=="boolean")throw new Sd("Date operations cannot be performed on boolean values");let u=elm(String(i));if(u==null&&(u=uBu(i)),u==null)throw new Sd(`Invalid date: ${i}`);let l=uBu(s);return["is_date_before"].includes(o)?l<u:l>u}case"semver_eq":return I_(xB(String(s)),xB(String(i)))===0;case"semver_neq":return I_(xB(String(s)),xB(String(i)))!==0;case"semver_gt":return I_(xB(String(s)),xB(String(i)))>0;case"semver_gte":return I_(xB(String(s)),xB(String(i)))>=0;case"semver_lt":return I_(xB(String(s)),xB(String(i)))<0;case"semver_lte":return I_(xB(String(s)),xB(String(i)))<=0;case"semver_tilde":{let u=xB(String(s)),{lower:l,upper:p}=Xum(String(i));return I_(u,l)>=0&&I_(u,p)<0}case"semver_caret":{let u=xB(String(s)),{lower:l,upper:p}=Zum(String(i));return I_(u,l)>=0&&I_(u,p)<0}case"semver_wildcard":{let u=xB(String(s)),{lower:l,upper:p}=$um(String(i));return I_(u,l)>=0&&I_(u,p)<0}default:throw new Sd(`Unknown operator: ${o}`)}}function Yum(e,t){if(!(e in t))throw new fee(`cohort ${e} not found in local cohorts - likely a static cohort that requires server evaluation`)}async function pBu(e,t,r,n=!1,i){let o=String(e.value);Yum(o,r);let s=r[o];return fBu(s,t,r,n,i)}async function fBu(e,t,r,n=!1,i){if(!e)return!0;let o=e.type,s=e.values;if(!s||s.length===0)return!0;let a=!1;if("values"in s[0]){for(let c of s)try{let u=await fBu(c,t,r,n,i);if(o==="AND"){if(!u)return!1}else if(u)return!0}catch(u){if(u instanceof fee)throw u;if(u instanceof Sd)n&&console.debug(`Failed to compute property ${c} locally: ${u}`),a=!0;else throw u}if(a)throw new Sd("Can't match cohort without a given cohort property value");return o==="AND"}for(let c of s)try{let u;if(c.type==="cohort")u=await pBu(c,t,r,n,i);else if(c.type==="flag"){if(!i)throw new Sd(`Flag dependency '${c.key||"unknown"}' cannot be evaluated without a flag dependency evaluator`);u=await i(c)}else u=lBu(c,t);let l=c.negation||!1;if(o==="AND"){if(!u&&!l||u&&l)return!1}else if(u&&!l||!u&&l)return!0}catch(u){if(u instanceof fee)throw u;if(u instanceof Sd)n&&console.debug(`Failed to compute property ${c} locally: ${u}`),a=!0;else throw u}if(a)throw new Sd("can't match cohort without a given cohort property value");return o==="AND"}function cBu(e){try{return new RegExp(e),!0}catch{return!1}}function dBu(e,t){if(!/^\d+$/.test(e))throw new Sd(`Invalid semver: ${t}`);if(e.length>1&&e[0]==="0")throw new Sd(`Invalid semver: ${t}`);return parseInt(e,10)}function xB(e){let r=String(e).trim().replace(/^[vV]/,"").split("-")[0].split("+")[0];if(!r||r.startsWith("."))throw new Sd(`Invalid semver: ${e}`);let n=r.split("."),i=c=>c===void 0||c===""?0:dBu(c,e),o=i(n[0]),s=i(n[1]),a=i(n[2]);return[o,s,a]}function I_(e,t){for(let r=0;r<3;r++){if(e[r]<t[r])return-1;if(e[r]>t[r])return 1}return 0}function Xum(e){let t=xB(e),r=[t[0],t[1],t[2]],n=[t[0],t[1]+1,0];return{lower:r,upper:n}}function Zum(e){let t=xB(e),[r,n,i]=t,o=[r,n,i],s;return s=r>0?[r+1,0,0]:n>0?[0,n+1,0]:[0,0,i+1],{lower:o,upper:s}}function $um(e){let r=String(e).trim().replace(/^[vV]/,"").replace(/\.\*$/,"").replace(/\*$/,"");if(!r)throw new Sd(`Invalid wildcard semver: ${e}`);let n=r.split("."),i=c=>{try{return dBu(c,e)}catch{throw new Sd(`Invalid wildcard semver: ${e}`)}},o=i(n[0]),s,a;if(n.length===1)s=[o,0,0],a=[o+1,0,0];else{let c=i(n[1]);s=[o,c,0],a=[o,c+1,0]}return{lower:s,upper:a}}function uBu(e){if(e instanceof Date)return e;if(typeof e=="string"||typeof e=="number"){let t=new Date(e);if(!isNaN(t.valueOf()))return t;throw new Sd(`${e} is in an invalid date format`)}throw new Sd(`The date provided ${e} must be a string, number, or date object`)}function elm(e){let t=/^-?(?<number>[0-9]+)(?<interval>[a-z])$/,r=e.match(t),n=new Date(new Date().toISOString());if(!r)return null;{if(!r.groups)return null;let i=parseInt(r.groups.number);if(i>=1e4)return null;let o=r.groups.interval;if(o=="h")n.setUTCHours(n.getUTCHours()-i);else if(o=="d")n.setUTCDate(n.getUTCDate()-i);else if(o=="w")n.setUTCDate(n.getUTCDate()-7*i);else if(o=="m")n.setUTCMonth(n.getUTCMonth()-i);else{if(o!="y")return null;n.setUTCFullYear(n.getUTCFullYear()-i)}return n}}var m9r=class{getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}constructor(){this._memoryStorage={}}};var tlm=100,mBu=3e4,rlm=5e4,nlm=50,ilm=500,olm="https://us.i.posthog.com",hBu=new Set;function h9r(e,t){hBu.has(e)||(hBu.add(e),console.warn(`[PostHog] ${t}`))}function slm(e){return typeof e=="string"?e.trim():""}function alm(e){return(typeof e=="string"?e.trim():"")||void 0}function clm(e){return(typeof e=="string"?e.trim():"")||olm}function ulm(e){if(!e)return{};let t={};for(let[n,i]of Object.entries(e))t[`$feature/${n}`]=i;let r=Object.keys(e).filter(n=>e[n]!==!1).sort();return r.length>0&&(t.$active_feature_flags=r),t}var g9r=class extends W4t{constructor(t,r={}){let n=slm(t),i={...r,host:clm(r.host),personalApiKey:alm(r.personalApiKey)};if(super(n,i),this._memoryStorage=new m9r,this.options=i,this.context=this.initializeContext(),this.options.featureFlagsPollingInterval=typeof i.featureFlagsPollingInterval=="number"?Math.max(i.featureFlagsPollingInterval,tlm):mBu,typeof i.waitUntilDebounceMs=="number"&&(this.options.waitUntilDebounceMs=Math.max(i.waitUntilDebounceMs,0)),typeof i.waitUntilMaxWaitMs=="number"&&(this.options.waitUntilMaxWaitMs=Math.max(i.waitUntilMaxWaitMs,0)),i.personalApiKey){if(i.personalApiKey.includes("phc_"))throw new Error('Your Personal API key is invalid. These keys are prefixed with "phx_" and can be created in PostHog project settings.');i.enableLocalEvaluation!==!1&&(this.featureFlagsPoller=new d9r({pollingInterval:this.options.featureFlagsPollingInterval,personalApiKey:i.personalApiKey,projectApiKey:n,timeout:i.requestTimeout??1e4,host:this.host,fetch:i.fetch,onError:s=>{this._events.emit("error",s)},onLoad:s=>{this._events.emit("localEvaluationFlagsLoaded",s)},customHeaders:this.getCustomHeaders(),cacheProvider:i.flagDefinitionCacheProvider,strictLocalEvaluation:i.strictLocalEvaluation}))}this.errorTracking=new tH(this,i,this._logger),this.distinctIdHasSentFlagCalls={},this.maxCacheSize=i.maxCacheSize||rlm}enqueue(t,r,n){super.enqueue(t,r,n),this.scheduleDebouncedFlush()}async flush(){let t=super.flush(),r=this.options.waitUntil;if(r&&!this._waitUntilCycle)try{r(t.catch(()=>{}))}catch{}return t}scheduleDebouncedFlush(){let t=this.options.waitUntil;if(!t||this.disabled||this.optedOut)return;if(!this._waitUntilCycle){let s,a=new Promise(c=>{s=c});try{t(a)}catch{return}this._waitUntilCycle={resolve:s,startedAt:Date.now(),timer:void 0}}let r=Date.now()-this._waitUntilCycle.startedAt,n=this.options.waitUntilMaxWaitMs??ilm,i=r>=n;if(this._waitUntilCycle.timer!==void 0&&clearTimeout(this._waitUntilCycle.timer),i)return void this.resolveWaitUntilFlush();let o=this.options.waitUntilDebounceMs??nlm;this._waitUntilCycle.timer=lee(()=>{this.resolveWaitUntilFlush()},o)}_consumeWaitUntilCycle(){let t=this._waitUntilCycle;return t&&(clearTimeout(t.timer),this._waitUntilCycle=void 0),t?.resolve}async resolveWaitUntilFlush(){let t=this._consumeWaitUntilCycle();try{await super.flush()}catch{}finally{t?.()}}getPersistedProperty(t){return this._memoryStorage.getProperty(t)}setPersistedProperty(t,r){return this._memoryStorage.setProperty(t,r)}fetch(t,r){return this.options.fetch?this.options.fetch(t,r):fetch(t,r)}getLibraryVersion(){return oBu}getCustomUserAgent(){return`${this.getLibraryId()}/${this.getLibraryVersion()}`}enable(){return super.optIn()}disable(){return super.optOut()}debug(t=!0){super.debug(t),this.featureFlagsPoller?.debug(t)}capture(t){typeof t=="string"&&this._logger.warn("Called capture() with a string as the first argument when an object was expected."),t.event==="$exception"&&!t._originatedFromCaptureException&&this._logger.warn("Using `posthog.capture('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureException(error)` instead, which attaches required metadata automatically."),this.addPendingPromise(this.prepareEventMessage(t).then(({distinctId:r,event:n,properties:i,options:o})=>super.captureStateless(r,n,i,{timestamp:o.timestamp,disableGeoip:o.disableGeoip,uuid:o.uuid})).catch(r=>{r&&console.error(r)}))}async captureImmediate(t){return typeof t=="string"&&this._logger.warn("Called captureImmediate() with a string as the first argument when an object was expected."),t.event==="$exception"&&!t._originatedFromCaptureException&&this._logger.warn("Capturing a `$exception` event via `posthog.captureImmediate('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureExceptionImmediate(error)` instead, which attaches this metadata by default."),this.addPendingPromise(this.prepareEventMessage(t).then(({distinctId:r,event:n,properties:i,options:o})=>super.captureStatelessImmediate(r,n,i,{timestamp:o.timestamp,disableGeoip:o.disableGeoip,uuid:o.uuid})).catch(r=>{r&&console.error(r)}))}identify({distinctId:t,properties:r={},disableGeoip:n}){let{$set:i,$set_once:o,$anon_distinct_id:s,...a}=r,l={$set:i||a,$set_once:o||{},$anon_distinct_id:s??void 0};super.identifyStateless(t,l,{disableGeoip:n})}async identifyImmediate({distinctId:t,properties:r={},disableGeoip:n}){let{$set:i,$set_once:o,$anon_distinct_id:s,...a}=r,l={$set:i||a,$set_once:o||{},$anon_distinct_id:s??void 0};await super.identifyStatelessImmediate(t,l,{disableGeoip:n})}alias(t){super.aliasStateless(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}async aliasImmediate(t){await super.aliasStatelessImmediate(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}isLocalEvaluationReady(){return this.featureFlagsPoller?.isLocalEvaluationReady()??!1}async waitForLocalEvaluationReady(t=mBu){return this.isLocalEvaluationReady()?!0:this.featureFlagsPoller===void 0?!1:new Promise(r=>{let n=setTimeout(()=>{i(),r(!1)},t),i=this._events.on("localEvaluationFlagsLoaded",o=>{clearTimeout(n),i(),r(o>0)})})}_resolveDistinctId(t,r){return typeof t=="string"?{distinctId:t,options:r}:{distinctId:this.context?.get()?.distinctId,options:t}}async _getFeatureFlagResult(t,r,n={},i){let o=n.sendFeatureFlagEvents??!0;if(this._flagOverrides!==void 0&&t in this._flagOverrides){let w=this._flagOverrides[t];if(w===void 0)return;let T=this._payloadOverrides?.[t];return{key:t,enabled:w!==!1,variant:typeof w=="string"?w:void 0,payload:T}}let{groups:s,disableGeoip:a}=n,{onlyEvaluateLocally:c,personProperties:u,groupProperties:l}=n,p=this.addLocalPersonAndGroupProperties(r,s,u,l);u=p.allPersonProperties,l=p.allGroupProperties;let d=this.createFeatureFlagEvaluationContext(r,s,u,l);c==null&&(c=this.options.strictLocalEvaluation??!1);let f,m=!1,g,A,y,E,v,I;if(this.featureFlagsPoller!==void 0){await this.featureFlagsPoller?.loadFeatureFlags();let w=this.featureFlagsPoller?.featureFlagsByKey[t];if(w)try{let T=await this.featureFlagsPoller?.computeFlagAndPayloadLocally(w,d,{matchValue:i});if(T){m=!0;let P=T.value;E=w.id,I="Evaluated locally",f={key:t,enabled:P!==!1,variant:typeof P=="string"?P:void 0,payload:T.payload??void 0}}}catch(T){if(T instanceof fee||T instanceof Sd)this._logger?.info(`${T.name} when computing flag locally: ${t}: ${T.message}`);else throw T}}if(!m&&!c){let w=await super.getFeatureFlagDetailsStateless(d.distinctId,d.groups,d.personProperties,d.groupProperties,a,[t]);if(w===void 0)y=ofe.UNKNOWN_ERROR;else{g=w.requestId,A=w.evaluatedAt;let T=[];w.errorsWhileComputingFlags&&T.push(ofe.ERRORS_WHILE_COMPUTING),w.quotaLimited?.includes("feature_flags")&&T.push(ofe.QUOTA_LIMITED);let P=w.flags[t];if(P===void 0)T.push(ofe.FLAG_MISSING);else{E=P.metadata?.id,v=P.metadata?.version,I=P.reason?.description??P.reason?.code;let O;if(P.metadata?.payload!==void 0)try{O=JSON.parse(P.metadata.payload)}catch{O=P.metadata.payload}f={key:t,enabled:P.enabled,variant:P.variant,payload:O}}T.length>0&&(y=T.join(","))}}if(o){let w=f===void 0?void 0:f.enabled===!1?!1:f.variant??!0,T={$feature_flag:t,$feature_flag_response:w,$feature_flag_id:E,$feature_flag_version:v,$feature_flag_reason:I,locally_evaluated:m,[`$feature/${t}`]:w,$feature_flag_request_id:g,$feature_flag_evaluated_at:m?Date.now():A};if(m&&this.featureFlagsPoller){let P=this.featureFlagsPoller.getFlagDefinitionsLoadedAt();P!==void 0&&(T.$feature_flag_definitions_loaded_at=P)}y&&(T.$feature_flag_error=y),this._captureFlagCalledEventIfNeeded({distinctId:r,key:t,response:w,groups:s,disableGeoip:a,properties:T})}return f!==void 0&&this._payloadOverrides!==void 0&&t in this._payloadOverrides&&(f={...f,payload:this._payloadOverrides[t]}),f}async getFeatureFlag(t,r,n){h9r("getFeatureFlag","`getFeatureFlag` is deprecated and will be removed in a future major version. Use `posthog.evaluateFlags(distinctId, ...)` and call `flags.getFlag(key)` instead \u2014 this consolidates flag evaluation into a single `/flags` request per incoming request.");let i=await this._getFeatureFlagResult(t,r,{...n,sendFeatureFlagEvents:n?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0});if(i!==void 0)return i.enabled===!1?!1:i.variant??!0}async getFeatureFlagPayload(t,r,n,i){if(h9r("getFeatureFlagPayload","`getFeatureFlagPayload` is deprecated and will be removed in a future major version. Use `posthog.evaluateFlags(distinctId, ...)` and call `flags.getFlagPayload(key)` instead \u2014 this consolidates flag evaluation into a single `/flags` request per incoming request."),this._payloadOverrides!==void 0&&t in this._payloadOverrides)return this._payloadOverrides[t];let o=await this._getFeatureFlagResult(t,r,{...i,sendFeatureFlagEvents:!1},n);if(o!==void 0)return o.payload??null}async getFeatureFlagResult(t,r,n){let{distinctId:i,options:o}=this._resolveDistinctId(r,n);return i?this._getFeatureFlagResult(t,i,{...o,sendFeatureFlagEvents:o?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0}):void this._logger.warn("[PostHog] distinctId is required \u2014 pass it explicitly or use withContext()")}async getRemoteConfigPayload(t){if(!this.options.personalApiKey)throw new Error("Personal API key is required for remote config payload decryption");let r=await this._requestRemoteConfigPayload(t);if(!r)return;let n=await r.json();if(typeof n=="string")try{return JSON.parse(n)}catch{}return n}async isFeatureEnabled(t,r,n){h9r("isFeatureEnabled","`isFeatureEnabled` is deprecated and will be removed in a future major version. Use `posthog.evaluateFlags(distinctId, ...)` and call `flags.isEnabled(key)` instead \u2014 this consolidates flag evaluation into a single `/flags` request per incoming request.");let i=await this._getFeatureFlagResult(t,r,{...n,sendFeatureFlagEvents:n?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0});return i===void 0?void 0:i.enabled===!1?!1:!!(i.variant??!0)||!1}async getAllFlags(t,r){let{distinctId:n,options:i}=this._resolveDistinctId(t,r);return n?(await this.getAllFlagsAndPayloads(n,i)).featureFlags||{}:(this._logger.warn("[PostHog] distinctId is required to get feature flags \u2014 pass it explicitly or use withContext()"),{})}async getAllFlagsAndPayloads(t,r){let{distinctId:n,options:i}=this._resolveDistinctId(t,r);if(!n)return this._logger.warn("[PostHog] distinctId is required to get feature flags and payloads \u2014 pass it explicitly or use withContext()"),{featureFlags:{},featureFlagPayloads:{}};let{groups:o,disableGeoip:s,flagKeys:a}=i||{},{onlyEvaluateLocally:c,personProperties:u,groupProperties:l}=i||{},p=this.addLocalPersonAndGroupProperties(n,o,u,l);u=p.allPersonProperties,l=p.allGroupProperties;let d=this.createFeatureFlagEvaluationContext(n,o,u,l);c==null&&(c=this.options.strictLocalEvaluation??!1);let f=await this.featureFlagsPoller?.getAllFlagsAndPayloads(d,a),m={},g={},A=!0;if(f&&(m=f.response,g=f.payloads,A=f.fallbackToFlags),A&&!c){let y=await super.getFeatureFlagsAndPayloadsStateless(d.distinctId,d.groups,d.personProperties,d.groupProperties,s,a);m={...m,...y.flags||{}},g={...g,...y.payloads||{}}}return this._flagOverrides!==void 0&&(m={...m,...this._flagOverrides}),this._payloadOverrides!==void 0&&(g={...g,...this._payloadOverrides}),{featureFlags:m,featureFlagPayloads:g}}async evaluateFlags(t,r){let{distinctId:n,options:i}=this._resolveDistinctId(t,r);if(!n)return this._logger.warn("[PostHog] distinctId is required to evaluate feature flags \u2014 pass it explicitly or use withContext()"),new Qnt({host:this._getFeatureFlagEvaluationsHost(),distinctId:"",flags:{}});let{groups:o,disableGeoip:s,flagKeys:a}=i||{},{onlyEvaluateLocally:c,personProperties:u,groupProperties:l}=i||{},p=this.addLocalPersonAndGroupProperties(n,o,u,l);u=p.allPersonProperties,l=p.allGroupProperties;let d=this.createFeatureFlagEvaluationContext(n,o,u,l);c==null&&(c=this.options.strictLocalEvaluation??!1);let f={},m,g,A=!1,y=!1,E=await this.featureFlagsPoller?.getAllFlagsAndPayloads(d,a),v=new Set;if(E)for(let[C,w]of Object.entries(E.response)){let T=this.featureFlagsPoller?.featureFlagsByKey[C];f[C]={key:C,enabled:w!==!1,variant:typeof w=="string"?w:void 0,payload:E.payloads[C],id:T?.id,version:void 0,reason:"Evaluated locally",locallyEvaluated:!0},v.add(C)}if((E?E.fallbackToFlags:!0)&&!c){let C=await super.getFeatureFlagDetailsStateless(d.distinctId,d.groups,d.personProperties,d.groupProperties,s,a);if(C){m=C.requestId,g=C.evaluatedAt,A=!!C.errorsWhileComputingFlags,y=Array.isArray(C.quotaLimited)&&C.quotaLimited.includes("feature_flags");for(let[w,T]of Object.entries(C.flags)){if(v.has(w))continue;let P;if(T.metadata?.payload!==void 0)try{P=JSON.parse(T.metadata.payload)}catch{P=T.metadata.payload}f[w]={key:w,enabled:T.enabled,variant:T.variant,payload:P,id:T.metadata?.id,version:T.metadata?.version,reason:T.reason?.description??T.reason?.code,locallyEvaluated:!1}}}}if(this._flagOverrides!==void 0)for(let[C,w]of Object.entries(this._flagOverrides)){if(w===void 0){delete f[C];continue}let T=f[C];f[C]={key:C,enabled:w!==!1,variant:typeof w=="string"?w:void 0,payload:T?.payload,id:T?.id,version:T?.version,reason:T?.reason,locallyEvaluated:T?.locallyEvaluated??!1}}if(this._payloadOverrides!==void 0)for(let[C,w]of Object.entries(this._payloadOverrides)){let T=f[C];T&&(f[C]={...T,payload:w})}return new Qnt({host:this._getFeatureFlagEvaluationsHost(),distinctId:n,groups:o,disableGeoip:s,flags:f,requestId:m,evaluatedAt:g,flagDefinitionsLoadedAt:this.featureFlagsPoller?.getFlagDefinitionsLoadedAt(),errorsWhileComputing:A,quotaLimited:y})}_captureFlagCalledEventIfNeeded(t){let{distinctId:r,key:n,response:i,groups:o,disableGeoip:s,properties:a}=t,c=`${n}_${i}`;r in this.distinctIdHasSentFlagCalls&&this.distinctIdHasSentFlagCalls[r].includes(c)||(Object.keys(this.distinctIdHasSentFlagCalls).length>=this.maxCacheSize&&(this.distinctIdHasSentFlagCalls={}),Array.isArray(this.distinctIdHasSentFlagCalls[r])?this.distinctIdHasSentFlagCalls[r].push(c):this.distinctIdHasSentFlagCalls[r]=[c],this.capture({distinctId:r,event:"$feature_flag_called",properties:a,groups:o,disableGeoip:s}))}_getFeatureFlagEvaluationsHost(){return this._featureFlagEvaluationsHost||(this._featureFlagEvaluationsHost={captureFlagCalledEventIfNeeded:t=>this._captureFlagCalledEventIfNeeded(t),logWarning:t=>{this.options.featureFlagsLogWarnings!==!1&&console.warn(`[PostHog] ${t}`)}}),this._featureFlagEvaluationsHost}groupIdentify({groupType:t,groupKey:r,properties:n,distinctId:i,disableGeoip:o}){super.groupIdentifyStateless(t,r,n,{disableGeoip:o},i)}async reloadFeatureFlags(){await this.featureFlagsPoller?.loadFeatureFlags(!0)}overrideFeatureFlags(t){let r=n=>Object.fromEntries(n.map(i=>[i,!0]));if(t===!1){this._flagOverrides=void 0,this._payloadOverrides=void 0;return}if(Array.isArray(t)){this._flagOverrides=r(t);return}if(this._isFeatureFlagOverrideOptions(t)){"flags"in t&&(t.flags===!1?this._flagOverrides=void 0:Array.isArray(t.flags)?this._flagOverrides=r(t.flags):t.flags!==void 0&&(this._flagOverrides={...t.flags})),"payloads"in t&&(t.payloads===!1?this._payloadOverrides=void 0:t.payloads!==void 0&&(this._payloadOverrides={...t.payloads}));return}this._flagOverrides={...t}}_isFeatureFlagOverrideOptions(t){if(typeof t!="object"||t===null||Array.isArray(t))return!1;let r=t;if("flags"in r){let n=r.flags;if(n===!1||Array.isArray(n)||typeof n=="object"&&n!==null)return!0}if("payloads"in r){let n=r.payloads;if(n===!1||typeof n=="object"&&n!==null)return!0}return!1}withContext(t,r,n){return this.context?this.context.run(t,r,n):r()}getContext(){return this.context?.get()}enterContext(t,r){this.context?.enter(t,r)}async _shutdown(t){let r=this._consumeWaitUntilCycle();await this.featureFlagsPoller?.stopPoller(t),this.errorTracking.shutdown();try{return await super._shutdown(t)}finally{r?.()}}async _requestRemoteConfigPayload(t){if(!this.options.personalApiKey)return;let r=`${this.host}/api/projects/@current/feature_flags/${t}/remote_config?token=${encodeURIComponent(this.apiKey)}`,n={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",Authorization:`Bearer ${this.options.personalApiKey}`}},i=null;if(this.options.requestTimeout&&typeof this.options.requestTimeout=="number"){let o=new AbortController;i=lee(()=>{o.abort()},this.options.requestTimeout),n.signal=o.signal}try{return await this.fetch(r,n)}catch(o){this._events.emit("error",o);return}finally{i&&clearTimeout(i)}}extractPropertiesFromEvent(t,r){if(!t)return{personProperties:{},groupProperties:{}};let n={},i={};for(let[o,s]of Object.entries(t))if(EOu(s)&&r&&o in r){let a={};for(let[c,u]of Object.entries(s))a[String(c)]=String(u);i[String(o)]=a}else n[String(o)]=String(s);return{personProperties:n,groupProperties:i}}async getFeatureFlagsForEvent(t,r,n,i){let o=i?.personProperties||{},s=i?.groupProperties||{},a=i?.flagKeys;if(i?.onlyEvaluateLocally??this.options.strictLocalEvaluation??!1)if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let u={};for(let[l,p]of Object.entries(r||{}))u[l]=String(p);return await this.getAllFlags(t,{groups:u,personProperties:o,groupProperties:s,disableGeoip:n,onlyEvaluateLocally:!0,flagKeys:a})}else return{};if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let u={};for(let[l,p]of Object.entries(r||{}))u[l]=String(p);return await this.getAllFlags(t,{groups:u,personProperties:o,groupProperties:s,disableGeoip:n,onlyEvaluateLocally:!0,flagKeys:a})}return(await super.getFeatureFlagsStateless(t,r,o,s,n)).flags}addLocalPersonAndGroupProperties(t,r,n,i){let o={distinct_id:t,...n||{}},s={};if(r)for(let a of Object.keys(r))s[a]={$group_key:r[a],...i?.[a]||{}};return{allPersonProperties:o,allGroupProperties:s}}createFeatureFlagEvaluationContext(t,r,n,i){return{distinctId:t,groups:r||{},personProperties:n||{},groupProperties:i||{},evaluationCache:{}}}captureException(t,r,n,i,o){if(!tH.isPreviouslyCapturedError(t)){let s=new Error("PostHog syntheticException");this.addPendingPromise(tH.buildEventMessage(t,{syntheticException:s},r,n).then(a=>this.capture({...a,uuid:i,flags:o})))}}async captureExceptionImmediate(t,r,n,i){if(!tH.isPreviouslyCapturedError(t)){let o=new Error("PostHog syntheticException");return this.addPendingPromise(tH.buildEventMessage(t,{syntheticException:o},r,n).then(s=>this.captureImmediate({...s,flags:i})))}}async prepareEventMessage(t){let{distinctId:r,event:n,properties:i,groups:o,flags:s,sendFeatureFlags:a,timestamp:c,disableGeoip:u,uuid:l}=t,p=this.context?.get(),d=r||p?.distinctId,f={...this.props,...p?.properties||{},...i||{}};d||(d=uee(),f.$process_person_profile=!1),p?.sessionId&&!f.$session_id&&(f.$session_id=p.sessionId);let m=this._runBeforeSend({distinctId:d,event:n,properties:f,groups:o,flags:s,sendFeatureFlags:a,timestamp:c,disableGeoip:u,uuid:l});if(!m)return Promise.reject(null);let g=await Promise.resolve().then(async()=>{if(s)return a&&console.warn("[PostHog] Both `flags` and `sendFeatureFlags` were passed to capture(); using `flags` and ignoring `sendFeatureFlags`."),s._getEventProperties();if(a){h9r("sendFeatureFlags","`sendFeatureFlags` is deprecated and will be removed in a future major version. Pass a `flags` snapshot from `posthog.evaluateFlags(...)` instead \u2014 it avoids a second `/flags` request per capture and guarantees the event carries the exact flag values your code branched on.");let A=typeof a=="object"?a:void 0,y=await this.getFeatureFlagsForEvent(m.distinctId,o,u,A);return ulm(y)}return{}}).catch(()=>({})).then(A=>({...A,...m.properties||{},$groups:m.groups||o}));return m.event==="$pageview"&&this.options.__preview_capture_bot_pageviews&&typeof g.$raw_user_agent=="string"&&gOu(g.$raw_user_agent,this.options.custom_blocked_useragents||[])&&(m.event="$bot_pageview",g.$browser_type="bot"),{distinctId:m.distinctId,event:m.event,properties:g,options:{timestamp:m.timestamp,disableGeoip:m.disableGeoip,uuid:m.uuid}}}_runBeforeSend(t){let r=this.options.before_send;if(!r)return t;let n=Array.isArray(r)?r:[r],i=t;for(let o of n){if(i=o(i),!i)return this._logger.info(`Event '${t.event}' was rejected in beforeSend function`),null;if(!i.properties||Object.keys(i.properties).length===0){let s=`Event '${i.event}' has no properties after beforeSend function, this is likely an error.`;this._logger.warn(s)}}return i}};var gBu=require("async_hooks"),A9r=class{constructor(){this.storage=new gBu.AsyncLocalStorage}get(){return this.storage.getStore()}run(t,r,n){return this.storage.run(this.resolve(t,n),r)}enter(t,r){this.storage.enterWith(this.resolve(t,r))}resolve(t,r){if(r?.fresh===!0)return t;let n=this.get()||{};return{distinctId:t.distinctId??n.distinctId,sessionId:t.sessionId??n.sessionId,properties:{...n.properties||{},...t.properties||{}}}}};var ABu="posthog-node";function llm(e,{organization:t,projectId:r,prefix:n,severityAllowList:i=["error"],sendExceptionsToPostHog:o=!0}={}){return s=>{if(!(i==="*"||i.includes(s.level)))return s;s.tags||(s.tags={});let c=s.tags[a2o.POSTHOG_ID_TAG];if(c===void 0)return s;let u=e.options.host??"https://us.i.posthog.com",l=new URL(`/project/${e.apiKey}/person/${c}`,u).toString();s.tags["PostHog Person URL"]=l;let p=s.exception?.values||[],d=p.map(m=>({...m,stacktrace:m.stacktrace?{...m.stacktrace,type:"raw",frames:(m.stacktrace.frames||[]).map(g=>({...g,platform:"node:javascript"}))}:void 0})),f={$exception_message:p[0]?.value||s.message,$exception_type:p[0]?.type,$exception_level:s.level,$exception_list:d,$sentry_event_id:s.event_id,$sentry_exception:s.exception,$sentry_exception_message:p[0]?.value||s.message,$sentry_exception_type:p[0]?.type,$sentry_tags:s.tags};return t&&r&&(f.$sentry_url=(n||"https://sentry.io/organizations/")+t+"/issues/?project="+r+"&query="+s.event_id),o&&e.capture({event:"$exception",distinctId:c,properties:f}),s}}var a2o=class{static#e=this.POSTHOG_ID_TAG="posthog_distinct_id";constructor(t,r,n,i,o){this.name=ABu,this.name=ABu,this.setupOnce=function(s,a){let c=a()?.getClient()?.getDsn()?.projectId;s(llm(t,{organization:r,projectId:c,prefix:n,severityAllowList:i,sendExceptionsToPostHog:o??!0}))}}};tH.errorPropertiesBuilder=new QQ.ErrorPropertiesBuilder([new QQ.EventCoercer,new QQ.ErrorCoercer,new QQ.ObjectCoercer,new QQ.StringCoercer,new QQ.PrimitiveCoercer],QQ.createStackParser("node:javascript",QQ.nodeStackLineParser),[dOu(),$Ou,rBu()]);var Ave=class extends g9r{getLibraryId(){return"posthog-node"}initializeContext(){return new A9r}};var y9r=class{posthog;constructor({posthogApiKey:t}){this.posthog=new Ave(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"5.51.1",usingAccessToken:!0,...Jae()}})}sendAutomationEvent(t){this.posthog.capture({distinctId:t.distinctId,event:t.event,properties:t.properties})}async flush(){try{await Promise.race([this.posthog.flush(),new Promise(t=>setTimeout(t,3e3))])}catch{}}};var K4t=class{async sendEvent(){}async sendAutomationEvent(){}async identify(){}async flush(){}};nm();Zt();var Mnt=require("fs/promises"),yBu=require("os"),bBu=require("path");Ctt();var plm="id",flm=".fern",J4t=class{posthog;userId;token;constructor({token:t,posthogApiKey:r}){this.posthog=new Ave(r),this.userId=t==null?void 0:POo(t),this.token=t}async identify(){this.userId!=null&&this.posthog.alias({distinctId:this.userId,alias:await this.getPersistedDistinctId()})}async sendEvent(t){let r=await this.getUserEmail();this.posthog.capture({distinctId:this.userId??await this.getPersistedDistinctId(),event:"CLI",properties:{version:"5.51.1",...t,...t.properties,usingAccessToken:!1,...r!=null?{userEmail:r}:{},...Jae()}})}sendAutomationEvent(t){this.posthog.capture({distinctId:t.distinctId,event:t.event,properties:t.properties})}async flush(){try{await Promise.race([this.posthog.flush(),new Promise(t=>setTimeout(t,3e3))])}catch{}}userEmail;async getUserEmail(){if(this.userEmail!==null){if(this.userEmail!=null)return this.userEmail;if(this.token==null){this.userEmail=null;return}try{let t=await vf({token:this.token.value}).user.getMyself();if(t.ok&&t.body.email!=null)return this.userEmail=t.body.email,this.userEmail}catch{}this.userEmail=null}}persistedDistinctId;async getPersistedDistinctId(){if(this.persistedDistinctId==null){let t=ID(),r=Ge(qt.of((0,yBu.homedir)()),Se.of(flm),Se.of(plm));try{await $t(r)?this.persistedDistinctId=(await(0,Mnt.readFile)(r)).toString():(await(0,Mnt.mkdir)((0,bBu.dirname)(r),{recursive:!0}),await(0,Mnt.writeFile)(r,t),this.persistedDistinctId=t)}catch{this.persistedDistinctId=t}}return this.persistedDistinctId}};var c2o;async function Y4t(){return c2o==null&&(c2o=await dlm()),c2o}async function dlm(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new K4t;let r=await ert();return r!=null?new J4t({token:r,posthogApiKey:e}):await o_()!=null?new y9r({posthogApiKey:e}):new J4t({token:void 0,posthogApiKey:e})}catch{return new K4t}}bn();Dt();jt();xW();var X4t=be(require("process"),1);Hqe();var vBu=be(nEo(),1),xBu=be(IBu(),1);function k1(e,t={}){if(typeof e!="string"||e.length===0||(t={ambiguousIsNarrow:!0,...t},e=FG(e),e.length===0))return 0;e=e.replace((0,xBu.default)()," ");let r=t.ambiguousIsNarrow?1:2,n=0;for(let i of e){let o=i.codePointAt(0);if(o<=31||o>=127&&o<=159||o>=768&&o<=879)continue;switch(vBu.default.eastAsianWidth(i)){case"F":case"W":n+=2;break;case"A":n+=r;break;default:n+=1}}return n}bn();function b9r(e){let t=0;for(let r of e.split(`
|
|
3025
|
+
`);for(let s=n;s<o.length;s++){let a=o[s];if(a.length>1024)continue;let c=VOu.test(a)?a.replace(VOu,"$1"):a;if(!c.match(/\S*Error: /)){for(let u of t){let l=u(c,e);if(l){i.push(l);break}}if(i.length>=_Ou)break}}return qOu(i)}}var Jko=class{match(t){return this.isDOMException(t)||this.isDOMError(t)}coerce(t,r){let n=gve(t.stack);return{type:this.getType(t),value:this.getValue(t),stack:n?t.stack:void 0,cause:t.cause?r.next(t.cause):void 0,synthetic:!1}}getType(t){return this.isDOMError(t)?"DOMError":"DOMException"}getValue(t){let r=t.name||(this.isDOMError(t)?"DOMError":"DOMException");return t.message?`${r}: ${t.message}`:r}isDOMException(t){return q6e(t,"DOMException")}isDOMError(t){return q6e(t,"DOMError")}};var Yko=class{match(t){return zko(t)}coerce(t,r){return{type:this.getType(t),value:this.getMessage(t,r),stack:this.getStack(t),cause:t.cause?r.next(t.cause):void 0,synthetic:!1}}getType(t){return t.name||t.constructor.name}getMessage(t,r){let n=t.message;return n.error&&typeof n.error.message=="string"?String(n.error.message):String(n)}getStack(t){return t.stacktrace||t.stack||void 0}};var Xko=class{constructor(){}match(t){return bOu(t)&&t.error!=null}coerce(t,r){let n=r.apply(t.error);return n||{type:"ErrorEvent",value:t.message,stack:r.syntheticException?.stack,synthetic:!0}}};var Oum=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i,Zko=class{match(t){return typeof t=="string"}coerce(t,r){let[n,i]=this.getInfos(t);return{type:n??"Error",value:i??t,stack:r.syntheticException?.stack,synthetic:!0}}getInfos(t){let r="Error",n=t,i=t.match(Oum);return i&&(r=i[1],n=i[2]),[r,n]}};var WOu=["fatal","error","warning","log","info","debug"];function l9r(e,t=40){let r=Object.keys(e);if(r.sort(),!r.length)return"[object has no keys]";for(let n=r.length;n>0;n--){let i=r.slice(0,n).join(", ");if(!(i.length>t))return n===r.length||i.length<=t?i:`${i.slice(0,t)}...`}return""}var $ko=class{match(t){return typeof t=="object"&&t!==null}coerce(t,r){let n=this.getErrorPropertyFromObject(t);return n?r.apply(n):{type:this.getType(t),value:this.getValue(t),stack:r.syntheticException?.stack,level:this.isSeverityLevel(t.level)?t.level:"error",synthetic:!0}}getType(t){return Fnt(t)?t.constructor.name:"Error"}getValue(t){if("name"in t&&typeof t.name=="string"){let i=`'${t.name}' captured as exception`;return"message"in t&&typeof t.message=="string"&&(i+=` with message: '${t.message}'`),i}if("message"in t&&typeof t.message=="string")return t.message;let r=this.getObjectClassName(t),n=l9r(t);return`${r&&r!=="Object"?`'${r}'`:"Object"} captured as exception with keys: ${n}`}isSeverityLevel(t){return gve(t)&&!yOu(t)&&WOu.indexOf(t)>=0}getErrorPropertyFromObject(t){for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let n=t[r];if(FOu(n))return n}}getObjectClassName(t){try{let r=Object.getPrototypeOf(t);return r?r.constructor.name:void 0}catch{return}}};var e2o=class{match(t){return Fnt(t)}coerce(t,r){let n=t.constructor.name;return{type:n,value:`${n} captured as exception with keys: ${l9r(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var t2o=class{match(t){return K8r(t)}coerce(t,r){return{type:"Error",value:`Primitive value captured as exception: ${String(t)}`,stack:r.syntheticException?.stack,synthetic:!0}}};var r2o=class{match(t){return q6e(t,"PromiseRejectionEvent")||this.isCustomEventWrappingRejection(t)}isCustomEventWrappingRejection(t){if(!Fnt(t))return!1;try{let r=t.detail;return r!=null&&typeof r=="object"&&"reason"in r}catch{return!1}}coerce(t,r){let n=this.getUnhandledRejectionReason(t);return K8r(n)?{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(n)}`,stack:r.syntheticException?.stack,synthetic:!0}:r.apply(n)}getUnhandledRejectionReason(t){try{if("reason"in t)return t.reason;if("detail"in t&&t.detail!=null&&typeof t.detail=="object"&&"reason"in t.detail)return t.detail.reason}catch{}return t}};var n2o=class{constructor(t){this._maxSize=t,this._cache=new Map}get(t){let r=this._cache.get(t);if(r!==void 0)return this._cache.delete(t),this._cache.set(t,r),r}set(t,r){this._cache.set(t,r)}reduce(){for(;this._cache.size>=this._maxSize;){let t=this._cache.keys().next().value;t&&this._cache.delete(t)}}};var H4t={MESSAGE:"$message",TIMESTAMP:"$timestamp"},Bum=new Set([H4t.MESSAGE,H4t.TIMESTAMP]),p9r={enabled:!0,max_bytes:32768};function i2o(e){return e?{enabled:e.enabled??p9r.enabled,max_bytes:Dum(e.max_bytes,p9r.max_bytes)}:{...p9r}}function Pum(e){if(!e)return{sanitizedProperties:{},droppedKeys:[]};let t=[];return{sanitizedProperties:Object.keys(e).reduce((n,i)=>Bum.has(i)?(t.push(i),n):(n[i]=e[i],n),{}),droppedKeys:t}}var o2o=class{constructor(t){this._entries=[],this._totalBytes=0,this._config=i2o(t)}setConfig(t){this._config=i2o(t),this._trimToMaxBytes()}add(t){let r=Rum(t);if(!r)return;let n=HOu(r.json);n>this._config.max_bytes||(this._entries.push({step:r.step,bytes:n}),this._totalBytes+=n,this._trimToMaxBytes())}getAttachable(){return this._entries.map(t=>t.step)}clear(){this._entries=[],this._totalBytes=0}size(){return this._entries.length}_trimToMaxBytes(){for(;this._totalBytes>this._config.max_bytes&&this._entries.length>0;){let t=this._entries.shift();t&&(this._totalBytes-=t.bytes)}}};function Dum(e,t){if(!_4t(e)||e===1/0||e===-1/0)return t;let r=Math.floor(e);return r<0?t:r}function Rum(e){let t=Fum(e);if(t)try{let r=JSON.parse(t);if(!V4t(r))return;let n=r,i=n[H4t.MESSAGE],o=n[H4t.TIMESTAMP];return!gve(i)||i.trim().length===0||!gve(o)&&!_4t(o)?void 0:{step:n,json:t}}catch{return}}function Fum(e){let t=new WeakSet;try{return JSON.stringify(e,(r,n)=>{if(typeof n=="bigint")return n.toString();if(!(typeof n=="function"||typeof n=="symbol")){if(n instanceof Date)return n.toISOString();if(n instanceof Error)return{name:n.name,message:n.message,stack:n.stack};if(n&&typeof n=="object"){if(t.has(n))return"[Circular]";t.add(n)}return n}})}catch{return}}function HOu(e){if(typeof TextEncoder<"u")return new TextEncoder().encode(e).length;let t=encodeURIComponent(e),r=0;for(let n=0;n<t.length;n++)t[n]==="%"?(r+=1,n+=2):r+=1;return r}var YOu=require("fs"),XOu=require("readline"),f9r=new QQ.ReduceableCache(25),ZOu=new QQ.ReduceableCache(20),s2o=7,kum=1e3,Num=1e4;async function $Ou(e){let t={};for(let i=e.length-1;i>=0;i--){let o=e[i],s=o?.filename;if(!o||typeof s!="string"||typeof o.lineno!="number"||Mum(s)||Lum(o))continue;t[s]||(t[s]=[]),t[s].push(o.lineno)}let r=Object.keys(t);if(r.length==0)return e;let n=[];for(let i of r){if(ZOu.get(i))continue;let o=t[i];if(!o)continue;o.sort((c,u)=>c-u);let s=Vum(o);if(s.every(c=>Uum(i,c)))continue;let a=_um(f9r,i,{});n.push(jum(i,s,a))}return await Promise.all(n).catch(()=>{}),e&&e.length>0&&Qum(e,f9r),f9r.reduce(),e}function jum(e,t,r){return new Promise(n=>{let i=(0,YOu.createReadStream)(e),o=(0,XOu.createInterface)({input:i});function s(){i.destroy(),n()}let a=0,c=0,u=t[c];if(u===void 0)return void s();let l=u[0],p=u[1];function d(){ZOu.set(e,1),o.close(),o.removeAllListeners(),s()}i.on("error",d),o.on("error",d),o.on("close",s),o.on("line",f=>{if(a++,!(a<l)&&(r[a]=qum(f,0),a>=p)){if(c===t.length-1){o.close(),o.removeAllListeners();return}c++;let m=t[c];if(m===void 0){o.close(),o.removeAllListeners();return}l=m[0],p=m[1]}})})}function Qum(e,t){for(let r of e)if(r.filename&&r.context_line===void 0&&typeof r.lineno=="number"){let n=t.get(r.filename);if(n===void 0)continue;zum(r.lineno,r,n)}}function zum(e,t,r){if(t.lineno===void 0||r===void 0)return;t.pre_context=[];for(let i=eBu(e);i<e;i++){let o=r[i];if(o===void 0)return void KOu(t);t.pre_context.push(o)}if(r[e]===void 0)return void KOu(t);t.context_line=r[e];let n=tBu(e);t.post_context=[];for(let i=e+1;i<=n;i++){let o=r[i];if(o===void 0)break;t.post_context.push(o)}}function KOu(e){delete e.pre_context,delete e.context_line,delete e.post_context}function Mum(e){return e.startsWith("node:")||e.endsWith(".min.js")||e.endsWith(".min.cjs")||e.endsWith(".min.mjs")||e.startsWith("data:")}function Lum(e){return e.lineno!==void 0&&e.lineno>Num||e.colno!==void 0&&e.colno>kum}function Uum(e,t){let r=f9r.get(e);if(r===void 0)return!1;for(let n=t[0];n<=t[1];n++)if(r[n]===void 0)return!1;return!0}function Vum(e){if(!e.length)return[];let t=0,r=e[0];if(typeof r!="number")return[];let n=JOu(r),i=[];for(;;){if(t===e.length-1){i.push(n);break}let o=e[t+1];if(typeof o!="number")break;o<=n[1]?n[1]=o+s2o:(i.push(n),n=JOu(o)),t++}return i}function JOu(e){return[eBu(e),tBu(e)]}function eBu(e){return Math.max(1,e-s2o)}function tBu(e){return e+s2o}function _um(e,t,r){let n=e.get(t);return n===void 0?(e.set(t,r),r):n}function qum(e,t){let r=e,n=r.length;if(n<=150)return r;t>n&&(t=n);let i=Math.max(t-60,0);i<5&&(i=0);let o=Math.min(i+140,n);return o>n-5&&(o=n),o===n&&(i=Math.max(o-140,0)),r=r.slice(i,o),i>0&&(r=`...${r}`),o<n&&(r+="..."),r}var jnt=require("path");function rBu(e=process.cwd()){let t=jnt.sep==="\\",r=i=>t?i.replace(/\\/g,"/"):i,n=r(e);return async i=>{for(let o of i)!o.filename||o.filename.startsWith("node:")||o.filename.startsWith("data:")||(0,jnt.isAbsolute)(o.filename)&&(o.filename=r((0,jnt.relative)(n,r(o.filename))));return i}}function Gum(e,t){let r=!1;return Object.assign(n=>{let o=global.process.listeners("uncaughtException").filter(s=>s.name!=="domainUncaughtExceptionClear"&&s._posthogErrorHandler!==!0).length===0;e(n,{mechanism:{type:"onuncaughtexception",handled:!1}}),!r&&o&&(r=!0,t(n))},{_posthogErrorHandler:!0})}function nBu(e,t){globalThis.process?.on("uncaughtException",Gum(e,t))}function iBu(e){globalThis.process?.on("unhandledRejection",t=>e(t,{mechanism:{type:"onunhandledrejection",handled:!1}}))}var Wum=2e3,tH=class e{constructor(t,r,n){this.client=t,this._exceptionAutocaptureEnabled=r.enableExceptionAutocapture||!1,this._logger=n,this._rateLimiter=new J8r({refillRate:1,bucketSize:10,refillInterval:1e4,_logger:this._logger}),this.startAutocaptureIfEnabled()}static isPreviouslyCapturedError(t){return V4t(t)&&"__posthog_previously_captured_error"in t&&t.__posthog_previously_captured_error===!0}static async buildEventMessage(t,r,n,i){let o={...i},s=this.errorPropertiesBuilder.buildFromUnknown(t,r);return s.$exception_list=await this.errorPropertiesBuilder.modifyFrames(s.$exception_list),{event:"$exception",distinctId:n,properties:{...s,...o},_originatedFromCaptureException:!0}}startAutocaptureIfEnabled(){this.isEnabled()&&(nBu(this.onException.bind(this),this.onFatalError.bind(this)),iBu(this.onException.bind(this)))}onException(t,r){this.client.addPendingPromise((async()=>{if(!e.isPreviouslyCapturedError(t)){let n=await e.buildEventMessage(t,r),o=n.properties?.$exception_list[0]?.type??"Exception";return this._rateLimiter.consumeRateLimit(o)?void this._logger.info("Skipping exception capture because of client rate limiting.",{exception:o}):this.client.capture(n)}})())}async onFatalError(t){console.error(t),await this.client.shutdown(Wum),process.exit(1)}isEnabled(){return!this.client.isDisabled&&this._exceptionAutocaptureEnabled}shutdown(){this._rateLimiter.stop()}};var oBu="5.35.1";var ofe={ERRORS_WHILE_COMPUTING:"errors_while_computing_flags",FLAG_MISSING:"flag_missing",QUOTA_LIMITED:"quota_limited",UNKNOWN_ERROR:"unknown_error"};var Qnt=class e{constructor(t){this._host=t.host,this._distinctId=t.distinctId,this._groups=t.groups,this._disableGeoip=t.disableGeoip,this._flags=t.flags,this._requestId=t.requestId,this._evaluatedAt=t.evaluatedAt,this._flagDefinitionsLoadedAt=t.flagDefinitionsLoadedAt,this._errorsWhileComputing=t.errorsWhileComputing??!1,this._quotaLimited=t.quotaLimited??!1,this._accessed=t.accessed??new Set,this._isSlice=t.isSlice??!1}isEnabled(t){let r=this._flags[t];return this._recordAccess(t),r?.enabled??!1}getFlag(t){let r=this._flags[t];if(this._recordAccess(t),!!r)return r.enabled?r.variant??!0:!1}getFlagPayload(t){return this._flags[t]?.payload}onlyAccessed(){let t={};for(let r of this._accessed){let n=this._flags[r];n&&(t[r]=n)}return this._cloneWith(t)}only(t){let r={},n=[];for(let i of t){let o=this._flags[i];o?r[i]=o:n.push(i)}return n.length>0&&this._host.logWarning(`FeatureFlagEvaluations.only() was called with flag keys that are not in the evaluation set and will be dropped: ${n.join(", ")}`),this._cloneWith(r)}get keys(){return Object.keys(this._flags)}_getEventProperties(){let t={},r=[];for(let[n,i]of Object.entries(this._flags)){let o=i.enabled===!1?!1:i.variant??!0;t[`$feature/${n}`]=o,i.enabled&&r.push(n)}return r.length>0&&(r.sort(),t.$active_feature_flags=r),t}_cloneWith(t){return new e({host:this._host,distinctId:this._distinctId,groups:this._groups,disableGeoip:this._disableGeoip,flags:t,requestId:this._requestId,evaluatedAt:this._evaluatedAt,flagDefinitionsLoadedAt:this._flagDefinitionsLoadedAt,errorsWhileComputing:this._errorsWhileComputing,quotaLimited:this._quotaLimited,accessed:new Set(this._accessed),isSlice:!0})}_recordAccess(t){if(this._accessed.add(t),this._distinctId===""||this._isSlice&&!(t in this._flags))return;let r=this._flags[t],n=r===void 0?void 0:r.enabled===!1?!1:r.variant??!0,i={$feature_flag:t,$feature_flag_response:n,$feature_flag_id:r?.id,$feature_flag_version:r?.version,$feature_flag_reason:r?.reason,locally_evaluated:r?.locallyEvaluated??!1,[`$feature/${t}`]:n,$feature_flag_request_id:this._requestId,$feature_flag_evaluated_at:r?.locallyEvaluated?Date.now():this._evaluatedAt};r?.locallyEvaluated&&this._flagDefinitionsLoadedAt!==void 0&&(i.$feature_flag_definitions_loaded_at=this._flagDefinitionsLoadedAt);let o=[];this._errorsWhileComputing&&o.push(ofe.ERRORS_WHILE_COMPUTING),this._quotaLimited&&o.push(ofe.QUOTA_LIMITED),r===void 0&&o.push(ofe.FLAG_MISSING),o.length>0&&(i.$feature_flag_error=o.join(",")),this._host.captureFlagCalledEventIfNeeded({distinctId:this._distinctId,key:t,response:n,groups:this._groups,disableGeoip:this._disableGeoip,properties:i})}};async function sBu(e){let t=globalThis.crypto?.subtle;if(!t)throw new Error("SubtleCrypto API not available");let r=await t.digest("SHA-1",new TextEncoder().encode(e));return Array.from(new Uint8Array(r)).map(i=>i.toString(16).padStart(2,"0")).join("")}var Hum=6e4,Kum=1152921504606847e3,Jum=["is_not","is_set"],znt=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},Sd=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},fee=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},d9r=class{constructor({pollingInterval:t,personalApiKey:r,projectApiKey:n,timeout:i,host:o,customHeaders:s,...a}){this.debugMode=!1,this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.pollingInterval=t,this.personalApiKey=r,this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={},this.loadedSuccessfullyOnce=!1,this.timeout=i,this.projectApiKey=n,this.host=o,this.poller=void 0,this.fetch=a.fetch||fetch,this.onError=a.onError,this.customHeaders=s,this.onLoad=a.onLoad,this.cacheProvider=a.cacheProvider,this.strictLocalEvaluation=a.strictLocalEvaluation??!1,this.loadFeatureFlags()}debug(t=!0){this.debugMode=t}logMsgIfDebug(t){this.debugMode&&t()}createEvaluationContext(t,r={},n={},i={},o={}){return{distinctId:t,groups:r,personProperties:n,groupProperties:i,evaluationCache:o}}async getFeatureFlag(t,r,n={},i={},o={}){await this.loadFeatureFlags();let s,a;if(!this.loadedSuccessfullyOnce)return s;if(a=this.featureFlagsByKey[t],a!==void 0){let c=this.createEvaluationContext(r,n,i,o);try{s=(await this.computeFlagAndPayloadLocally(a,c)).value,this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${t} -> ${s}`))}catch(u){u instanceof fee||u instanceof Sd?this.logMsgIfDebug(()=>console.debug(`${u.name} when computing flag locally: ${t}: ${u.message}`)):u instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${t}: ${u}`))}}return s}async getAllFlagsAndPayloads(t,r){await this.loadFeatureFlags();let n={},i={},o=this.featureFlags.length==0,s=r?r.map(c=>this.featureFlagsByKey[c]).filter(Boolean):this.featureFlags,a={...t,evaluationCache:t.evaluationCache??{}};return await Promise.all(s.map(async c=>{try{let{value:u,payload:l}=await this.computeFlagAndPayloadLocally(c,a);n[c.key]=u,l&&(i[c.key]=l)}catch(u){u instanceof fee||u instanceof Sd?this.logMsgIfDebug(()=>console.debug(`${u.name} when computing flag locally: ${c.key}: ${u.message}`)):u instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${c.key}: ${u}`)),o=!0}})),{response:n,payloads:i,fallbackToFlags:o}}async computeFlagAndPayloadLocally(t,r,n={}){let{matchValue:i,skipLoadCheck:o=!1}=n;if(o||await this.loadFeatureFlags(),!this.loadedSuccessfullyOnce)return{value:!1,payload:null};let s;s=i!==void 0?i:await this.computeFlagValueLocally(t,r);let a=this.getFeatureFlagPayload(t.key,s);return{value:s,payload:a}}async computeFlagValueLocally(t,r){let{distinctId:n,groups:i,personProperties:o,groupProperties:s}=r;if(!t.active)return!1;if(t.ensure_experience_continuity)throw new Sd("Flag has experience continuity enabled");let c=(t.filters||{}).aggregation_group_type_index;if(c!=null){let u=this.groupTypeMapping[String(c)];if(!u)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Unknown group type index ${c} for feature flag ${t.key}`)),new Sd("Flag has unknown group type index");if(!(u in i))return this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${t.key} without group names passed in`)),!1;t.bucketing_identifier==="device_id"&&(o?.$device_id===void 0||o?.$device_id===null||o?.$device_id==="")&&this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Ignoring bucketing_identifier for group flag: ${t.key}`));let l=s[u];return await this.matchFeatureFlagProperties(t,i[u],l,r)}{let u=this.getBucketingValueForFlag(t,n,o);if(u===void 0)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute feature flag: ${t.key} without $device_id, falling back to server evaluation`)),new Sd(`Can't compute feature flag: ${t.key} without $device_id`);return await this.matchFeatureFlagProperties(t,u,o,r)}}getBucketingValueForFlag(t,r,n){if(t.filters?.aggregation_group_type_index!=null)return r;if(t.bucketing_identifier==="device_id"){let i=n?.$device_id;return i==null||i===""?void 0:i}return r}getFeatureFlagPayload(t,r){let n=null;if(r!==!1&&r!=null&&(typeof r=="boolean"?n=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r.toString()]||null:typeof r=="string"&&(n=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r]||null),n!=null)){if(typeof n=="object")return n;if(typeof n=="string")try{return JSON.parse(n)}catch{}return n}return null}async evaluateFlagDependency(t,r,n){let{evaluationCache:i}=n,o=t.key;if(!this.featureFlagsByKey)throw new Sd("Feature flags not available for dependency evaluation");if(!("dependency_chain"in t))throw new Sd(`Flag dependency property for '${o}' is missing required 'dependency_chain' field`);let s=t.dependency_chain;if(!Array.isArray(s))throw new Sd(`Flag dependency property for '${o}' has an invalid 'dependency_chain' (expected array, got ${typeof s})`);if(s.length===0)throw new Sd(`Circular dependency detected for flag '${o}' (empty dependency chain)`);for(let c of s){if(!(c in i)){let l=this.featureFlagsByKey[c];if(l)if(l.active)try{let p=await this.computeFlagValueLocally(l,n);i[c]=p}catch(p){throw new Sd(`Error evaluating flag dependency '${c}' for flag '${o}': ${p}`)}else i[c]=!1;else throw new Sd(`Missing flag dependency '${c}' for flag '${o}'`)}if(i[c]==null)throw new Sd(`Dependency '${c}' could not be evaluated`)}let a=i[o];return this.flagEvaluatesToExpectedValue(t.value,a)}flagEvaluatesToExpectedValue(t,r){return typeof t=="boolean"?t===r||typeof r=="string"&&r!==""&&t===!0:typeof t=="string"?r===t:!1}async matchFeatureFlagProperties(t,r,n,i){let o=t.filters||{},s=o.groups||[],a=o.aggregation_group_type_index,{groups:c,groupProperties:u}=i,l=!1,p;for(let d of s)try{let f=d.aggregation_group_type_index!==void 0?d.aggregation_group_type_index:a,m=n,g=r;if(f!==a&&f!=null){let A=this.groupTypeMapping[String(f)];if(!A||!(A in c)){this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] Skipping group condition for flag '${t.key}': group type index ${f} not available`));continue}if(!(A in u)){l=!0;continue}m=u[A],g=c[A]}if(await this.isConditionMatch(t,g,d,m,i)){let A=d.variant,y=o.multivariate?.variants||[];p=A&&y.some(E=>E.key===A)?A:await this.getMatchingVariant(t,g)||!0;break}}catch(f){if(f instanceof fee)throw f;if(f instanceof Sd)l=!0;else throw f}if(p!==void 0)return p;if(l)throw new Sd("Can't determine if feature flag is enabled or not with given properties");return!1}async isConditionMatch(t,r,n,i,o){let s=n.rollout_percentage,a=c=>{this.logMsgIfDebug(()=>console.warn(c))};if((n.properties||[]).length>0){for(let c of n.properties){let u=c.type,l=!1;if(l=u==="cohort"?await pBu(c,i,this.cohorts,this.debugMode,p=>this.evaluateFlagDependency(p,i,o)):u==="flag"?await this.evaluateFlagDependency(c,i,o):lBu(c,i,a),!l)return!1}if(s==null)return!0}return!(s!=null&&await aBu(t.key,r)>s/100)}async getMatchingVariant(t,r){let n=await aBu(t.key,r,"variant"),i=this.variantLookupTable(t).find(o=>n>=o.valueMin&&n<o.valueMax);if(i)return i.key}variantLookupTable(t){let r=[],n=0,i=0;return((t.filters||{}).multivariate?.variants||[]).forEach(a=>{i=n+a.rollout_percentage/100,r.push({valueMin:n,valueMax:i,key:a.key}),n=i}),r}updateFlagState(t){this.featureFlags=t.flags,this.featureFlagsByKey=t.flags.reduce((r,n)=>(r[n.key]=n,r),{}),this.groupTypeMapping=t.groupTypeMapping,this.cohorts=t.cohorts,this.loadedSuccessfullyOnce=!0}warnAboutExperienceContinuityFlags(t){if(this.strictLocalEvaluation)return;let r=t.filter(n=>n.ensure_experience_continuity);r.length>0&&console.warn(`[PostHog] You are using local evaluation but ${r.length} flag(s) have experience continuity enabled: ${r.map(n=>n.key).join(", ")}. Experience continuity is incompatible with local evaluation and will cause a server request on every flag evaluation, negating local evaluation cost savings. To avoid server requests and unexpected costs, either disable experience continuity on these flags in PostHog, use strictLocalEvaluation: true in client init, or pass onlyEvaluateLocally: true per flag call (flags that cannot be evaluated locally will return undefined).`)}async loadFromCache(t){if(!this.cacheProvider)return!1;try{let r=await this.cacheProvider.getFlagDefinitions();return r?(this.updateFlagState(r),this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] ${t} (${r.flags.length} flags)`)),this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(r.flags),!0):!1}catch(r){return this.onError?.(new Error(`Failed to load from cache: ${r}`)),!1}}async loadFeatureFlags(t=!1){if(!(this.loadedSuccessfullyOnce&&!t))return!t&&this.nextFetchAllowedAt&&Date.now()<this.nextFetchAllowedAt?void this.logMsgIfDebug(()=>console.debug("[FEATURE FLAGS] Skipping fetch, in backoff period")):(this.loadingPromise||(this.loadingPromise=this._loadFeatureFlags().catch(r=>this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] Failed to load feature flags: ${r}`))).finally(()=>{this.loadingPromise=void 0})),this.loadingPromise)}isLocalEvaluationReady(){return(this.loadedSuccessfullyOnce??!1)&&(this.featureFlags?.length??0)>0}getFlagDefinitionsLoadedAt(){return this.flagDefinitionsLoadedAt}getPollingInterval(){return this.shouldBeginExponentialBackoff?Math.min(Hum,this.pollingInterval*2**this.backOffCount):this.pollingInterval}beginBackoff(){this.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,this.nextFetchAllowedAt=Date.now()+this.getPollingInterval()}clearBackoff(){this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.nextFetchAllowedAt=void 0}async _loadFeatureFlags(){this.poller&&(clearTimeout(this.poller),this.poller=void 0),this.poller=setTimeout(()=>this.loadFeatureFlags(!0),this.getPollingInterval());try{let t=!0;if(this.cacheProvider)try{t=await this.cacheProvider.shouldFetchFlagDefinitions()}catch(n){this.onError?.(new Error(`Error in shouldFetchFlagDefinitions: ${n}`))}if(!t&&(await this.loadFromCache("Loaded flags from cache (skipped fetch)")||this.loadedSuccessfullyOnce))return;let r=await this._requestFeatureFlagDefinitions();if(!r)return;switch(r.status){case 304:this.logMsgIfDebug(()=>console.debug("[FEATURE FLAGS] Flags not modified (304), using cached data")),this.flagsEtag=r.headers?.get("ETag")??this.flagsEtag,this.loadedSuccessfullyOnce=!0,this.clearBackoff();return;case 401:throw this.beginBackoff(),new znt(`Your project key or personal API key is invalid. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 402:console.warn("[FEATURE FLAGS] Feature flags quota limit exceeded - unsetting all local flags. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts"),this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={};return;case 403:throw this.beginBackoff(),new znt(`Your personal API key does not have permission to fetch feature flag definitions for local evaluation. Setting next polling interval to ${this.getPollingInterval()}ms. Are you sure you're using the correct personal and Project API key pair? More information: https://posthog.com/docs/api/overview`);case 429:throw this.beginBackoff(),new znt(`You are being rate limited. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 200:{let n=await r.json()??{};if(!("flags"in n))return void this.onError?.(new Error(`Invalid response when getting feature flags: ${JSON.stringify(n)}`));this.flagsEtag=r.headers?.get("ETag")??void 0;let i={flags:n.flags??[],groupTypeMapping:n.group_type_mapping||{},cohorts:n.cohorts||{}};if(this.updateFlagState(i),this.flagDefinitionsLoadedAt=Date.now(),this.clearBackoff(),this.cacheProvider&&t)try{await this.cacheProvider.onFlagDefinitionsReceived(i)}catch(o){this.onError?.(new Error(`Failed to store in cache: ${o}`))}this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(i.flags);break}default:return}}catch(t){t instanceof znt&&this.onError?.(t)}}getPersonalApiKeyRequestOptions(t="GET",r){let n={...this.customHeaders,"Content-Type":"application/json",Authorization:`Bearer ${this.personalApiKey}`};return r&&(n["If-None-Match"]=r),{method:t,headers:n}}_requestFeatureFlagDefinitions(){let t=`${this.host}/flags/definitions?token=${this.projectApiKey}&send_cohorts`,r=this.getPersonalApiKeyRequestOptions("GET",this.flagsEtag),n=null;if(this.timeout&&typeof this.timeout=="number"){let i=new AbortController;n=lee(()=>{i.abort()},this.timeout),r.signal=i.signal}try{let i=this.fetch;return i(t,r)}finally{clearTimeout(n)}}async stopPoller(t=3e4){if(clearTimeout(this.poller),this.cacheProvider)try{let r=this.cacheProvider.shutdown();r instanceof Promise&&await Promise.race([r,new Promise((n,i)=>setTimeout(()=>i(new Error(`Cache shutdown timeout after ${t}ms`)),t))])}catch(r){this.onError?.(new Error(`Error during cache shutdown: ${r}`))}}};async function aBu(e,t,r=""){let n=await sBu(`${e}.${t}${r}`);return parseInt(n.slice(0,15),16)/Kum}function lBu(e,t,r){let n=e.key,i=e.value,o=e.operator||"exact";if(n in t){if(o==="is_not_set")return!1}else{if(o==="is_not_set")return!0;throw new Sd(`Property ${n} not found in propertyValues`)}let s=t[n];if(s==null&&!Jum.includes(o))return r&&r(`Property ${n} cannot have a value of null/undefined with the ${o} operator`),!1;function a(u,l){return Array.isArray(u)?u.map(p=>String(p).toLowerCase()).includes(String(l).toLowerCase()):String(u).toLowerCase()===String(l).toLowerCase()}function c(u,l,p){if(p==="gt")return u>l;if(p==="gte")return u>=l;if(p==="lt")return u<l;if(p==="lte")return u<=l;throw new Error(`Invalid operator: ${p}`)}switch(o){case"exact":return a(i,s);case"is_not":return!a(i,s);case"is_set":return n in t;case"icontains":return String(s).toLowerCase().includes(String(i).toLowerCase());case"not_icontains":return!String(s).toLowerCase().includes(String(i).toLowerCase());case"regex":return cBu(String(i))&&String(s).match(String(i))!==null;case"not_regex":return cBu(String(i))&&String(s).match(String(i))===null;case"gt":case"gte":case"lt":case"lte":{let u=typeof i=="number"?i:parseFloat(String(i)),l;return l=typeof s=="number"?s:s!=null?parseFloat(String(s)):NaN,Number.isFinite(u)&&Number.isFinite(l)?c(l,u,o):c(String(s),String(i),o)}case"is_date_after":case"is_date_before":{if(typeof i=="boolean")throw new Sd("Date operations cannot be performed on boolean values");let u=elm(String(i));if(u==null&&(u=uBu(i)),u==null)throw new Sd(`Invalid date: ${i}`);let l=uBu(s);return["is_date_before"].includes(o)?l<u:l>u}case"semver_eq":return I_(xB(String(s)),xB(String(i)))===0;case"semver_neq":return I_(xB(String(s)),xB(String(i)))!==0;case"semver_gt":return I_(xB(String(s)),xB(String(i)))>0;case"semver_gte":return I_(xB(String(s)),xB(String(i)))>=0;case"semver_lt":return I_(xB(String(s)),xB(String(i)))<0;case"semver_lte":return I_(xB(String(s)),xB(String(i)))<=0;case"semver_tilde":{let u=xB(String(s)),{lower:l,upper:p}=Xum(String(i));return I_(u,l)>=0&&I_(u,p)<0}case"semver_caret":{let u=xB(String(s)),{lower:l,upper:p}=Zum(String(i));return I_(u,l)>=0&&I_(u,p)<0}case"semver_wildcard":{let u=xB(String(s)),{lower:l,upper:p}=$um(String(i));return I_(u,l)>=0&&I_(u,p)<0}default:throw new Sd(`Unknown operator: ${o}`)}}function Yum(e,t){if(!(e in t))throw new fee(`cohort ${e} not found in local cohorts - likely a static cohort that requires server evaluation`)}async function pBu(e,t,r,n=!1,i){let o=String(e.value);Yum(o,r);let s=r[o];return fBu(s,t,r,n,i)}async function fBu(e,t,r,n=!1,i){if(!e)return!0;let o=e.type,s=e.values;if(!s||s.length===0)return!0;let a=!1;if("values"in s[0]){for(let c of s)try{let u=await fBu(c,t,r,n,i);if(o==="AND"){if(!u)return!1}else if(u)return!0}catch(u){if(u instanceof fee)throw u;if(u instanceof Sd)n&&console.debug(`Failed to compute property ${c} locally: ${u}`),a=!0;else throw u}if(a)throw new Sd("Can't match cohort without a given cohort property value");return o==="AND"}for(let c of s)try{let u;if(c.type==="cohort")u=await pBu(c,t,r,n,i);else if(c.type==="flag"){if(!i)throw new Sd(`Flag dependency '${c.key||"unknown"}' cannot be evaluated without a flag dependency evaluator`);u=await i(c)}else u=lBu(c,t);let l=c.negation||!1;if(o==="AND"){if(!u&&!l||u&&l)return!1}else if(u&&!l||!u&&l)return!0}catch(u){if(u instanceof fee)throw u;if(u instanceof Sd)n&&console.debug(`Failed to compute property ${c} locally: ${u}`),a=!0;else throw u}if(a)throw new Sd("can't match cohort without a given cohort property value");return o==="AND"}function cBu(e){try{return new RegExp(e),!0}catch{return!1}}function dBu(e,t){if(!/^\d+$/.test(e))throw new Sd(`Invalid semver: ${t}`);if(e.length>1&&e[0]==="0")throw new Sd(`Invalid semver: ${t}`);return parseInt(e,10)}function xB(e){let r=String(e).trim().replace(/^[vV]/,"").split("-")[0].split("+")[0];if(!r||r.startsWith("."))throw new Sd(`Invalid semver: ${e}`);let n=r.split("."),i=c=>c===void 0||c===""?0:dBu(c,e),o=i(n[0]),s=i(n[1]),a=i(n[2]);return[o,s,a]}function I_(e,t){for(let r=0;r<3;r++){if(e[r]<t[r])return-1;if(e[r]>t[r])return 1}return 0}function Xum(e){let t=xB(e),r=[t[0],t[1],t[2]],n=[t[0],t[1]+1,0];return{lower:r,upper:n}}function Zum(e){let t=xB(e),[r,n,i]=t,o=[r,n,i],s;return s=r>0?[r+1,0,0]:n>0?[0,n+1,0]:[0,0,i+1],{lower:o,upper:s}}function $um(e){let r=String(e).trim().replace(/^[vV]/,"").replace(/\.\*$/,"").replace(/\*$/,"");if(!r)throw new Sd(`Invalid wildcard semver: ${e}`);let n=r.split("."),i=c=>{try{return dBu(c,e)}catch{throw new Sd(`Invalid wildcard semver: ${e}`)}},o=i(n[0]),s,a;if(n.length===1)s=[o,0,0],a=[o+1,0,0];else{let c=i(n[1]);s=[o,c,0],a=[o,c+1,0]}return{lower:s,upper:a}}function uBu(e){if(e instanceof Date)return e;if(typeof e=="string"||typeof e=="number"){let t=new Date(e);if(!isNaN(t.valueOf()))return t;throw new Sd(`${e} is in an invalid date format`)}throw new Sd(`The date provided ${e} must be a string, number, or date object`)}function elm(e){let t=/^-?(?<number>[0-9]+)(?<interval>[a-z])$/,r=e.match(t),n=new Date(new Date().toISOString());if(!r)return null;{if(!r.groups)return null;let i=parseInt(r.groups.number);if(i>=1e4)return null;let o=r.groups.interval;if(o=="h")n.setUTCHours(n.getUTCHours()-i);else if(o=="d")n.setUTCDate(n.getUTCDate()-i);else if(o=="w")n.setUTCDate(n.getUTCDate()-7*i);else if(o=="m")n.setUTCMonth(n.getUTCMonth()-i);else{if(o!="y")return null;n.setUTCFullYear(n.getUTCFullYear()-i)}return n}}var m9r=class{getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}constructor(){this._memoryStorage={}}};var tlm=100,mBu=3e4,rlm=5e4,nlm=50,ilm=500,olm="https://us.i.posthog.com",hBu=new Set;function h9r(e,t){hBu.has(e)||(hBu.add(e),console.warn(`[PostHog] ${t}`))}function slm(e){return typeof e=="string"?e.trim():""}function alm(e){return(typeof e=="string"?e.trim():"")||void 0}function clm(e){return(typeof e=="string"?e.trim():"")||olm}function ulm(e){if(!e)return{};let t={};for(let[n,i]of Object.entries(e))t[`$feature/${n}`]=i;let r=Object.keys(e).filter(n=>e[n]!==!1).sort();return r.length>0&&(t.$active_feature_flags=r),t}var g9r=class extends W4t{constructor(t,r={}){let n=slm(t),i={...r,host:clm(r.host),personalApiKey:alm(r.personalApiKey)};if(super(n,i),this._memoryStorage=new m9r,this.options=i,this.context=this.initializeContext(),this.options.featureFlagsPollingInterval=typeof i.featureFlagsPollingInterval=="number"?Math.max(i.featureFlagsPollingInterval,tlm):mBu,typeof i.waitUntilDebounceMs=="number"&&(this.options.waitUntilDebounceMs=Math.max(i.waitUntilDebounceMs,0)),typeof i.waitUntilMaxWaitMs=="number"&&(this.options.waitUntilMaxWaitMs=Math.max(i.waitUntilMaxWaitMs,0)),i.personalApiKey){if(i.personalApiKey.includes("phc_"))throw new Error('Your Personal API key is invalid. These keys are prefixed with "phx_" and can be created in PostHog project settings.');i.enableLocalEvaluation!==!1&&(this.featureFlagsPoller=new d9r({pollingInterval:this.options.featureFlagsPollingInterval,personalApiKey:i.personalApiKey,projectApiKey:n,timeout:i.requestTimeout??1e4,host:this.host,fetch:i.fetch,onError:s=>{this._events.emit("error",s)},onLoad:s=>{this._events.emit("localEvaluationFlagsLoaded",s)},customHeaders:this.getCustomHeaders(),cacheProvider:i.flagDefinitionCacheProvider,strictLocalEvaluation:i.strictLocalEvaluation}))}this.errorTracking=new tH(this,i,this._logger),this.distinctIdHasSentFlagCalls={},this.maxCacheSize=i.maxCacheSize||rlm}enqueue(t,r,n){super.enqueue(t,r,n),this.scheduleDebouncedFlush()}async flush(){let t=super.flush(),r=this.options.waitUntil;if(r&&!this._waitUntilCycle)try{r(t.catch(()=>{}))}catch{}return t}scheduleDebouncedFlush(){let t=this.options.waitUntil;if(!t||this.disabled||this.optedOut)return;if(!this._waitUntilCycle){let s,a=new Promise(c=>{s=c});try{t(a)}catch{return}this._waitUntilCycle={resolve:s,startedAt:Date.now(),timer:void 0}}let r=Date.now()-this._waitUntilCycle.startedAt,n=this.options.waitUntilMaxWaitMs??ilm,i=r>=n;if(this._waitUntilCycle.timer!==void 0&&clearTimeout(this._waitUntilCycle.timer),i)return void this.resolveWaitUntilFlush();let o=this.options.waitUntilDebounceMs??nlm;this._waitUntilCycle.timer=lee(()=>{this.resolveWaitUntilFlush()},o)}_consumeWaitUntilCycle(){let t=this._waitUntilCycle;return t&&(clearTimeout(t.timer),this._waitUntilCycle=void 0),t?.resolve}async resolveWaitUntilFlush(){let t=this._consumeWaitUntilCycle();try{await super.flush()}catch{}finally{t?.()}}getPersistedProperty(t){return this._memoryStorage.getProperty(t)}setPersistedProperty(t,r){return this._memoryStorage.setProperty(t,r)}fetch(t,r){return this.options.fetch?this.options.fetch(t,r):fetch(t,r)}getLibraryVersion(){return oBu}getCustomUserAgent(){return`${this.getLibraryId()}/${this.getLibraryVersion()}`}enable(){return super.optIn()}disable(){return super.optOut()}debug(t=!0){super.debug(t),this.featureFlagsPoller?.debug(t)}capture(t){typeof t=="string"&&this._logger.warn("Called capture() with a string as the first argument when an object was expected."),t.event==="$exception"&&!t._originatedFromCaptureException&&this._logger.warn("Using `posthog.capture('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureException(error)` instead, which attaches required metadata automatically."),this.addPendingPromise(this.prepareEventMessage(t).then(({distinctId:r,event:n,properties:i,options:o})=>super.captureStateless(r,n,i,{timestamp:o.timestamp,disableGeoip:o.disableGeoip,uuid:o.uuid})).catch(r=>{r&&console.error(r)}))}async captureImmediate(t){return typeof t=="string"&&this._logger.warn("Called captureImmediate() with a string as the first argument when an object was expected."),t.event==="$exception"&&!t._originatedFromCaptureException&&this._logger.warn("Capturing a `$exception` event via `posthog.captureImmediate('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureExceptionImmediate(error)` instead, which attaches this metadata by default."),this.addPendingPromise(this.prepareEventMessage(t).then(({distinctId:r,event:n,properties:i,options:o})=>super.captureStatelessImmediate(r,n,i,{timestamp:o.timestamp,disableGeoip:o.disableGeoip,uuid:o.uuid})).catch(r=>{r&&console.error(r)}))}identify({distinctId:t,properties:r={},disableGeoip:n}){let{$set:i,$set_once:o,$anon_distinct_id:s,...a}=r,l={$set:i||a,$set_once:o||{},$anon_distinct_id:s??void 0};super.identifyStateless(t,l,{disableGeoip:n})}async identifyImmediate({distinctId:t,properties:r={},disableGeoip:n}){let{$set:i,$set_once:o,$anon_distinct_id:s,...a}=r,l={$set:i||a,$set_once:o||{},$anon_distinct_id:s??void 0};await super.identifyStatelessImmediate(t,l,{disableGeoip:n})}alias(t){super.aliasStateless(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}async aliasImmediate(t){await super.aliasStatelessImmediate(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}isLocalEvaluationReady(){return this.featureFlagsPoller?.isLocalEvaluationReady()??!1}async waitForLocalEvaluationReady(t=mBu){return this.isLocalEvaluationReady()?!0:this.featureFlagsPoller===void 0?!1:new Promise(r=>{let n=setTimeout(()=>{i(),r(!1)},t),i=this._events.on("localEvaluationFlagsLoaded",o=>{clearTimeout(n),i(),r(o>0)})})}_resolveDistinctId(t,r){return typeof t=="string"?{distinctId:t,options:r}:{distinctId:this.context?.get()?.distinctId,options:t}}async _getFeatureFlagResult(t,r,n={},i){let o=n.sendFeatureFlagEvents??!0;if(this._flagOverrides!==void 0&&t in this._flagOverrides){let w=this._flagOverrides[t];if(w===void 0)return;let T=this._payloadOverrides?.[t];return{key:t,enabled:w!==!1,variant:typeof w=="string"?w:void 0,payload:T}}let{groups:s,disableGeoip:a}=n,{onlyEvaluateLocally:c,personProperties:u,groupProperties:l}=n,p=this.addLocalPersonAndGroupProperties(r,s,u,l);u=p.allPersonProperties,l=p.allGroupProperties;let d=this.createFeatureFlagEvaluationContext(r,s,u,l);c==null&&(c=this.options.strictLocalEvaluation??!1);let f,m=!1,g,A,y,E,v,I;if(this.featureFlagsPoller!==void 0){await this.featureFlagsPoller?.loadFeatureFlags();let w=this.featureFlagsPoller?.featureFlagsByKey[t];if(w)try{let T=await this.featureFlagsPoller?.computeFlagAndPayloadLocally(w,d,{matchValue:i});if(T){m=!0;let P=T.value;E=w.id,I="Evaluated locally",f={key:t,enabled:P!==!1,variant:typeof P=="string"?P:void 0,payload:T.payload??void 0}}}catch(T){if(T instanceof fee||T instanceof Sd)this._logger?.info(`${T.name} when computing flag locally: ${t}: ${T.message}`);else throw T}}if(!m&&!c){let w=await super.getFeatureFlagDetailsStateless(d.distinctId,d.groups,d.personProperties,d.groupProperties,a,[t]);if(w===void 0)y=ofe.UNKNOWN_ERROR;else{g=w.requestId,A=w.evaluatedAt;let T=[];w.errorsWhileComputingFlags&&T.push(ofe.ERRORS_WHILE_COMPUTING),w.quotaLimited?.includes("feature_flags")&&T.push(ofe.QUOTA_LIMITED);let P=w.flags[t];if(P===void 0)T.push(ofe.FLAG_MISSING);else{E=P.metadata?.id,v=P.metadata?.version,I=P.reason?.description??P.reason?.code;let O;if(P.metadata?.payload!==void 0)try{O=JSON.parse(P.metadata.payload)}catch{O=P.metadata.payload}f={key:t,enabled:P.enabled,variant:P.variant,payload:O}}T.length>0&&(y=T.join(","))}}if(o){let w=f===void 0?void 0:f.enabled===!1?!1:f.variant??!0,T={$feature_flag:t,$feature_flag_response:w,$feature_flag_id:E,$feature_flag_version:v,$feature_flag_reason:I,locally_evaluated:m,[`$feature/${t}`]:w,$feature_flag_request_id:g,$feature_flag_evaluated_at:m?Date.now():A};if(m&&this.featureFlagsPoller){let P=this.featureFlagsPoller.getFlagDefinitionsLoadedAt();P!==void 0&&(T.$feature_flag_definitions_loaded_at=P)}y&&(T.$feature_flag_error=y),this._captureFlagCalledEventIfNeeded({distinctId:r,key:t,response:w,groups:s,disableGeoip:a,properties:T})}return f!==void 0&&this._payloadOverrides!==void 0&&t in this._payloadOverrides&&(f={...f,payload:this._payloadOverrides[t]}),f}async getFeatureFlag(t,r,n){h9r("getFeatureFlag","`getFeatureFlag` is deprecated and will be removed in a future major version. Use `posthog.evaluateFlags(distinctId, ...)` and call `flags.getFlag(key)` instead \u2014 this consolidates flag evaluation into a single `/flags` request per incoming request.");let i=await this._getFeatureFlagResult(t,r,{...n,sendFeatureFlagEvents:n?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0});if(i!==void 0)return i.enabled===!1?!1:i.variant??!0}async getFeatureFlagPayload(t,r,n,i){if(h9r("getFeatureFlagPayload","`getFeatureFlagPayload` is deprecated and will be removed in a future major version. Use `posthog.evaluateFlags(distinctId, ...)` and call `flags.getFlagPayload(key)` instead \u2014 this consolidates flag evaluation into a single `/flags` request per incoming request."),this._payloadOverrides!==void 0&&t in this._payloadOverrides)return this._payloadOverrides[t];let o=await this._getFeatureFlagResult(t,r,{...i,sendFeatureFlagEvents:!1},n);if(o!==void 0)return o.payload??null}async getFeatureFlagResult(t,r,n){let{distinctId:i,options:o}=this._resolveDistinctId(r,n);return i?this._getFeatureFlagResult(t,i,{...o,sendFeatureFlagEvents:o?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0}):void this._logger.warn("[PostHog] distinctId is required \u2014 pass it explicitly or use withContext()")}async getRemoteConfigPayload(t){if(!this.options.personalApiKey)throw new Error("Personal API key is required for remote config payload decryption");let r=await this._requestRemoteConfigPayload(t);if(!r)return;let n=await r.json();if(typeof n=="string")try{return JSON.parse(n)}catch{}return n}async isFeatureEnabled(t,r,n){h9r("isFeatureEnabled","`isFeatureEnabled` is deprecated and will be removed in a future major version. Use `posthog.evaluateFlags(distinctId, ...)` and call `flags.isEnabled(key)` instead \u2014 this consolidates flag evaluation into a single `/flags` request per incoming request.");let i=await this._getFeatureFlagResult(t,r,{...n,sendFeatureFlagEvents:n?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0});return i===void 0?void 0:i.enabled===!1?!1:!!(i.variant??!0)||!1}async getAllFlags(t,r){let{distinctId:n,options:i}=this._resolveDistinctId(t,r);return n?(await this.getAllFlagsAndPayloads(n,i)).featureFlags||{}:(this._logger.warn("[PostHog] distinctId is required to get feature flags \u2014 pass it explicitly or use withContext()"),{})}async getAllFlagsAndPayloads(t,r){let{distinctId:n,options:i}=this._resolveDistinctId(t,r);if(!n)return this._logger.warn("[PostHog] distinctId is required to get feature flags and payloads \u2014 pass it explicitly or use withContext()"),{featureFlags:{},featureFlagPayloads:{}};let{groups:o,disableGeoip:s,flagKeys:a}=i||{},{onlyEvaluateLocally:c,personProperties:u,groupProperties:l}=i||{},p=this.addLocalPersonAndGroupProperties(n,o,u,l);u=p.allPersonProperties,l=p.allGroupProperties;let d=this.createFeatureFlagEvaluationContext(n,o,u,l);c==null&&(c=this.options.strictLocalEvaluation??!1);let f=await this.featureFlagsPoller?.getAllFlagsAndPayloads(d,a),m={},g={},A=!0;if(f&&(m=f.response,g=f.payloads,A=f.fallbackToFlags),A&&!c){let y=await super.getFeatureFlagsAndPayloadsStateless(d.distinctId,d.groups,d.personProperties,d.groupProperties,s,a);m={...m,...y.flags||{}},g={...g,...y.payloads||{}}}return this._flagOverrides!==void 0&&(m={...m,...this._flagOverrides}),this._payloadOverrides!==void 0&&(g={...g,...this._payloadOverrides}),{featureFlags:m,featureFlagPayloads:g}}async evaluateFlags(t,r){let{distinctId:n,options:i}=this._resolveDistinctId(t,r);if(!n)return this._logger.warn("[PostHog] distinctId is required to evaluate feature flags \u2014 pass it explicitly or use withContext()"),new Qnt({host:this._getFeatureFlagEvaluationsHost(),distinctId:"",flags:{}});let{groups:o,disableGeoip:s,flagKeys:a}=i||{},{onlyEvaluateLocally:c,personProperties:u,groupProperties:l}=i||{},p=this.addLocalPersonAndGroupProperties(n,o,u,l);u=p.allPersonProperties,l=p.allGroupProperties;let d=this.createFeatureFlagEvaluationContext(n,o,u,l);c==null&&(c=this.options.strictLocalEvaluation??!1);let f={},m,g,A=!1,y=!1,E=await this.featureFlagsPoller?.getAllFlagsAndPayloads(d,a),v=new Set;if(E)for(let[C,w]of Object.entries(E.response)){let T=this.featureFlagsPoller?.featureFlagsByKey[C];f[C]={key:C,enabled:w!==!1,variant:typeof w=="string"?w:void 0,payload:E.payloads[C],id:T?.id,version:void 0,reason:"Evaluated locally",locallyEvaluated:!0},v.add(C)}if((E?E.fallbackToFlags:!0)&&!c){let C=await super.getFeatureFlagDetailsStateless(d.distinctId,d.groups,d.personProperties,d.groupProperties,s,a);if(C){m=C.requestId,g=C.evaluatedAt,A=!!C.errorsWhileComputingFlags,y=Array.isArray(C.quotaLimited)&&C.quotaLimited.includes("feature_flags");for(let[w,T]of Object.entries(C.flags)){if(v.has(w))continue;let P;if(T.metadata?.payload!==void 0)try{P=JSON.parse(T.metadata.payload)}catch{P=T.metadata.payload}f[w]={key:w,enabled:T.enabled,variant:T.variant,payload:P,id:T.metadata?.id,version:T.metadata?.version,reason:T.reason?.description??T.reason?.code,locallyEvaluated:!1}}}}if(this._flagOverrides!==void 0)for(let[C,w]of Object.entries(this._flagOverrides)){if(w===void 0){delete f[C];continue}let T=f[C];f[C]={key:C,enabled:w!==!1,variant:typeof w=="string"?w:void 0,payload:T?.payload,id:T?.id,version:T?.version,reason:T?.reason,locallyEvaluated:T?.locallyEvaluated??!1}}if(this._payloadOverrides!==void 0)for(let[C,w]of Object.entries(this._payloadOverrides)){let T=f[C];T&&(f[C]={...T,payload:w})}return new Qnt({host:this._getFeatureFlagEvaluationsHost(),distinctId:n,groups:o,disableGeoip:s,flags:f,requestId:m,evaluatedAt:g,flagDefinitionsLoadedAt:this.featureFlagsPoller?.getFlagDefinitionsLoadedAt(),errorsWhileComputing:A,quotaLimited:y})}_captureFlagCalledEventIfNeeded(t){let{distinctId:r,key:n,response:i,groups:o,disableGeoip:s,properties:a}=t,c=`${n}_${i}`;r in this.distinctIdHasSentFlagCalls&&this.distinctIdHasSentFlagCalls[r].includes(c)||(Object.keys(this.distinctIdHasSentFlagCalls).length>=this.maxCacheSize&&(this.distinctIdHasSentFlagCalls={}),Array.isArray(this.distinctIdHasSentFlagCalls[r])?this.distinctIdHasSentFlagCalls[r].push(c):this.distinctIdHasSentFlagCalls[r]=[c],this.capture({distinctId:r,event:"$feature_flag_called",properties:a,groups:o,disableGeoip:s}))}_getFeatureFlagEvaluationsHost(){return this._featureFlagEvaluationsHost||(this._featureFlagEvaluationsHost={captureFlagCalledEventIfNeeded:t=>this._captureFlagCalledEventIfNeeded(t),logWarning:t=>{this.options.featureFlagsLogWarnings!==!1&&console.warn(`[PostHog] ${t}`)}}),this._featureFlagEvaluationsHost}groupIdentify({groupType:t,groupKey:r,properties:n,distinctId:i,disableGeoip:o}){super.groupIdentifyStateless(t,r,n,{disableGeoip:o},i)}async reloadFeatureFlags(){await this.featureFlagsPoller?.loadFeatureFlags(!0)}overrideFeatureFlags(t){let r=n=>Object.fromEntries(n.map(i=>[i,!0]));if(t===!1){this._flagOverrides=void 0,this._payloadOverrides=void 0;return}if(Array.isArray(t)){this._flagOverrides=r(t);return}if(this._isFeatureFlagOverrideOptions(t)){"flags"in t&&(t.flags===!1?this._flagOverrides=void 0:Array.isArray(t.flags)?this._flagOverrides=r(t.flags):t.flags!==void 0&&(this._flagOverrides={...t.flags})),"payloads"in t&&(t.payloads===!1?this._payloadOverrides=void 0:t.payloads!==void 0&&(this._payloadOverrides={...t.payloads}));return}this._flagOverrides={...t}}_isFeatureFlagOverrideOptions(t){if(typeof t!="object"||t===null||Array.isArray(t))return!1;let r=t;if("flags"in r){let n=r.flags;if(n===!1||Array.isArray(n)||typeof n=="object"&&n!==null)return!0}if("payloads"in r){let n=r.payloads;if(n===!1||typeof n=="object"&&n!==null)return!0}return!1}withContext(t,r,n){return this.context?this.context.run(t,r,n):r()}getContext(){return this.context?.get()}enterContext(t,r){this.context?.enter(t,r)}async _shutdown(t){let r=this._consumeWaitUntilCycle();await this.featureFlagsPoller?.stopPoller(t),this.errorTracking.shutdown();try{return await super._shutdown(t)}finally{r?.()}}async _requestRemoteConfigPayload(t){if(!this.options.personalApiKey)return;let r=`${this.host}/api/projects/@current/feature_flags/${t}/remote_config?token=${encodeURIComponent(this.apiKey)}`,n={method:"GET",headers:{...this.getCustomHeaders(),"Content-Type":"application/json",Authorization:`Bearer ${this.options.personalApiKey}`}},i=null;if(this.options.requestTimeout&&typeof this.options.requestTimeout=="number"){let o=new AbortController;i=lee(()=>{o.abort()},this.options.requestTimeout),n.signal=o.signal}try{return await this.fetch(r,n)}catch(o){this._events.emit("error",o);return}finally{i&&clearTimeout(i)}}extractPropertiesFromEvent(t,r){if(!t)return{personProperties:{},groupProperties:{}};let n={},i={};for(let[o,s]of Object.entries(t))if(EOu(s)&&r&&o in r){let a={};for(let[c,u]of Object.entries(s))a[String(c)]=String(u);i[String(o)]=a}else n[String(o)]=String(s);return{personProperties:n,groupProperties:i}}async getFeatureFlagsForEvent(t,r,n,i){let o=i?.personProperties||{},s=i?.groupProperties||{},a=i?.flagKeys;if(i?.onlyEvaluateLocally??this.options.strictLocalEvaluation??!1)if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let u={};for(let[l,p]of Object.entries(r||{}))u[l]=String(p);return await this.getAllFlags(t,{groups:u,personProperties:o,groupProperties:s,disableGeoip:n,onlyEvaluateLocally:!0,flagKeys:a})}else return{};if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let u={};for(let[l,p]of Object.entries(r||{}))u[l]=String(p);return await this.getAllFlags(t,{groups:u,personProperties:o,groupProperties:s,disableGeoip:n,onlyEvaluateLocally:!0,flagKeys:a})}return(await super.getFeatureFlagsStateless(t,r,o,s,n)).flags}addLocalPersonAndGroupProperties(t,r,n,i){let o={distinct_id:t,...n||{}},s={};if(r)for(let a of Object.keys(r))s[a]={$group_key:r[a],...i?.[a]||{}};return{allPersonProperties:o,allGroupProperties:s}}createFeatureFlagEvaluationContext(t,r,n,i){return{distinctId:t,groups:r||{},personProperties:n||{},groupProperties:i||{},evaluationCache:{}}}captureException(t,r,n,i,o){if(!tH.isPreviouslyCapturedError(t)){let s=new Error("PostHog syntheticException");this.addPendingPromise(tH.buildEventMessage(t,{syntheticException:s},r,n).then(a=>this.capture({...a,uuid:i,flags:o})))}}async captureExceptionImmediate(t,r,n,i){if(!tH.isPreviouslyCapturedError(t)){let o=new Error("PostHog syntheticException");return this.addPendingPromise(tH.buildEventMessage(t,{syntheticException:o},r,n).then(s=>this.captureImmediate({...s,flags:i})))}}async prepareEventMessage(t){let{distinctId:r,event:n,properties:i,groups:o,flags:s,sendFeatureFlags:a,timestamp:c,disableGeoip:u,uuid:l}=t,p=this.context?.get(),d=r||p?.distinctId,f={...this.props,...p?.properties||{},...i||{}};d||(d=uee(),f.$process_person_profile=!1),p?.sessionId&&!f.$session_id&&(f.$session_id=p.sessionId);let m=this._runBeforeSend({distinctId:d,event:n,properties:f,groups:o,flags:s,sendFeatureFlags:a,timestamp:c,disableGeoip:u,uuid:l});if(!m)return Promise.reject(null);let g=await Promise.resolve().then(async()=>{if(s)return a&&console.warn("[PostHog] Both `flags` and `sendFeatureFlags` were passed to capture(); using `flags` and ignoring `sendFeatureFlags`."),s._getEventProperties();if(a){h9r("sendFeatureFlags","`sendFeatureFlags` is deprecated and will be removed in a future major version. Pass a `flags` snapshot from `posthog.evaluateFlags(...)` instead \u2014 it avoids a second `/flags` request per capture and guarantees the event carries the exact flag values your code branched on.");let A=typeof a=="object"?a:void 0,y=await this.getFeatureFlagsForEvent(m.distinctId,o,u,A);return ulm(y)}return{}}).catch(()=>({})).then(A=>({...A,...m.properties||{},$groups:m.groups||o}));return m.event==="$pageview"&&this.options.__preview_capture_bot_pageviews&&typeof g.$raw_user_agent=="string"&&gOu(g.$raw_user_agent,this.options.custom_blocked_useragents||[])&&(m.event="$bot_pageview",g.$browser_type="bot"),{distinctId:m.distinctId,event:m.event,properties:g,options:{timestamp:m.timestamp,disableGeoip:m.disableGeoip,uuid:m.uuid}}}_runBeforeSend(t){let r=this.options.before_send;if(!r)return t;let n=Array.isArray(r)?r:[r],i=t;for(let o of n){if(i=o(i),!i)return this._logger.info(`Event '${t.event}' was rejected in beforeSend function`),null;if(!i.properties||Object.keys(i.properties).length===0){let s=`Event '${i.event}' has no properties after beforeSend function, this is likely an error.`;this._logger.warn(s)}}return i}};var gBu=require("async_hooks"),A9r=class{constructor(){this.storage=new gBu.AsyncLocalStorage}get(){return this.storage.getStore()}run(t,r,n){return this.storage.run(this.resolve(t,n),r)}enter(t,r){this.storage.enterWith(this.resolve(t,r))}resolve(t,r){if(r?.fresh===!0)return t;let n=this.get()||{};return{distinctId:t.distinctId??n.distinctId,sessionId:t.sessionId??n.sessionId,properties:{...n.properties||{},...t.properties||{}}}}};var ABu="posthog-node";function llm(e,{organization:t,projectId:r,prefix:n,severityAllowList:i=["error"],sendExceptionsToPostHog:o=!0}={}){return s=>{if(!(i==="*"||i.includes(s.level)))return s;s.tags||(s.tags={});let c=s.tags[a2o.POSTHOG_ID_TAG];if(c===void 0)return s;let u=e.options.host??"https://us.i.posthog.com",l=new URL(`/project/${e.apiKey}/person/${c}`,u).toString();s.tags["PostHog Person URL"]=l;let p=s.exception?.values||[],d=p.map(m=>({...m,stacktrace:m.stacktrace?{...m.stacktrace,type:"raw",frames:(m.stacktrace.frames||[]).map(g=>({...g,platform:"node:javascript"}))}:void 0})),f={$exception_message:p[0]?.value||s.message,$exception_type:p[0]?.type,$exception_level:s.level,$exception_list:d,$sentry_event_id:s.event_id,$sentry_exception:s.exception,$sentry_exception_message:p[0]?.value||s.message,$sentry_exception_type:p[0]?.type,$sentry_tags:s.tags};return t&&r&&(f.$sentry_url=(n||"https://sentry.io/organizations/")+t+"/issues/?project="+r+"&query="+s.event_id),o&&e.capture({event:"$exception",distinctId:c,properties:f}),s}}var a2o=class{static#e=this.POSTHOG_ID_TAG="posthog_distinct_id";constructor(t,r,n,i,o){this.name=ABu,this.name=ABu,this.setupOnce=function(s,a){let c=a()?.getClient()?.getDsn()?.projectId;s(llm(t,{organization:r,projectId:c,prefix:n,severityAllowList:i,sendExceptionsToPostHog:o??!0}))}}};tH.errorPropertiesBuilder=new QQ.ErrorPropertiesBuilder([new QQ.EventCoercer,new QQ.ErrorCoercer,new QQ.ObjectCoercer,new QQ.StringCoercer,new QQ.PrimitiveCoercer],QQ.createStackParser("node:javascript",QQ.nodeStackLineParser),[dOu(),$Ou,rBu()]);var Ave=class extends g9r{getLibraryId(){return"posthog-node"}initializeContext(){return new A9r}};var y9r=class{posthog;constructor({posthogApiKey:t}){this.posthog=new Ave(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"5.51.2",usingAccessToken:!0,...Jae()}})}sendAutomationEvent(t){this.posthog.capture({distinctId:t.distinctId,event:t.event,properties:t.properties})}async flush(){try{await Promise.race([this.posthog.flush(),new Promise(t=>setTimeout(t,3e3))])}catch{}}};var K4t=class{async sendEvent(){}async sendAutomationEvent(){}async identify(){}async flush(){}};nm();Zt();var Mnt=require("fs/promises"),yBu=require("os"),bBu=require("path");Ctt();var plm="id",flm=".fern",J4t=class{posthog;userId;token;constructor({token:t,posthogApiKey:r}){this.posthog=new Ave(r),this.userId=t==null?void 0:POo(t),this.token=t}async identify(){this.userId!=null&&this.posthog.alias({distinctId:this.userId,alias:await this.getPersistedDistinctId()})}async sendEvent(t){let r=await this.getUserEmail();this.posthog.capture({distinctId:this.userId??await this.getPersistedDistinctId(),event:"CLI",properties:{version:"5.51.2",...t,...t.properties,usingAccessToken:!1,...r!=null?{userEmail:r}:{},...Jae()}})}sendAutomationEvent(t){this.posthog.capture({distinctId:t.distinctId,event:t.event,properties:t.properties})}async flush(){try{await Promise.race([this.posthog.flush(),new Promise(t=>setTimeout(t,3e3))])}catch{}}userEmail;async getUserEmail(){if(this.userEmail!==null){if(this.userEmail!=null)return this.userEmail;if(this.token==null){this.userEmail=null;return}try{let t=await vf({token:this.token.value}).user.getMyself();if(t.ok&&t.body.email!=null)return this.userEmail=t.body.email,this.userEmail}catch{}this.userEmail=null}}persistedDistinctId;async getPersistedDistinctId(){if(this.persistedDistinctId==null){let t=ID(),r=Ge(qt.of((0,yBu.homedir)()),Se.of(flm),Se.of(plm));try{await $t(r)?this.persistedDistinctId=(await(0,Mnt.readFile)(r)).toString():(await(0,Mnt.mkdir)((0,bBu.dirname)(r),{recursive:!0}),await(0,Mnt.writeFile)(r,t),this.persistedDistinctId=t)}catch{this.persistedDistinctId=t}}return this.persistedDistinctId}};var c2o;async function Y4t(){return c2o==null&&(c2o=await dlm()),c2o}async function dlm(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new K4t;let r=await ert();return r!=null?new J4t({token:r,posthogApiKey:e}):await o_()!=null?new y9r({posthogApiKey:e}):new J4t({token:void 0,posthogApiKey:e})}catch{return new K4t}}bn();Dt();jt();xW();var X4t=be(require("process"),1);Hqe();var vBu=be(nEo(),1),xBu=be(IBu(),1);function k1(e,t={}){if(typeof e!="string"||e.length===0||(t={ambiguousIsNarrow:!0,...t},e=FG(e),e.length===0))return 0;e=e.replace((0,xBu.default)()," ");let r=t.ambiguousIsNarrow?1:2,n=0;for(let i of e){let o=i.codePointAt(0);if(o<=31||o>=127&&o<=159||o>=768&&o<=879)continue;switch(vBu.default.eastAsianWidth(i)){case"F":case"W":n+=2;break;case"A":n+=r;break;default:n+=1}}return n}bn();function b9r(e){let t=0;for(let r of e.split(`
|
|
3026
3026
|
`))t=Math.max(t,k1(r));return t}var _Bu=be(l2o(),1);var hlm=/[\p{Lu}]/u,glm=/[\p{Ll}]/u,SBu=/^[\p{Lu}](?![\p{Lu}])/gu,BBu=/([\p{Alpha}\p{N}_]|$)/u,p2o=/[_.\- ]+/,Alm=new RegExp("^"+p2o.source),TBu=new RegExp(p2o.source+BBu.source,"gu"),OBu=new RegExp("\\d+"+BBu.source,"gu"),ylm=(e,t,r,n)=>{let i=!1,o=!1,s=!1,a=!1;for(let c=0;c<e.length;c++){let u=e[c];a=c>2?e[c-3]==="-":!0,i&&hlm.test(u)?(e=e.slice(0,c)+"-"+e.slice(c),i=!1,s=o,o=!0,c++):o&&s&&glm.test(u)&&(!a||n)?(e=e.slice(0,c-1)+"-"+e.slice(c-1),s=o,o=!1,i=!0):(i=t(u)===u&&r(u)!==u,s=o,o=r(u)===u&&t(u)!==u)}return e},blm=(e,t)=>(SBu.lastIndex=0,e.replace(SBu,r=>t(r))),Elm=(e,t)=>(TBu.lastIndex=0,OBu.lastIndex=0,e.replace(TBu,(r,n)=>t(n)).replace(OBu,r=>t(r)));function f2o(e,t){if(!(typeof e=="string"||Array.isArray(e)))throw new TypeError("Expected the input to be `string | string[]`");if(t={pascalCase:!1,preserveConsecutiveUppercase:!1,...t},Array.isArray(e)?e=e.map(o=>o.trim()).filter(o=>o.length).join("-"):e=e.trim(),e.length===0)return"";let r=t.locale===!1?o=>o.toLowerCase():o=>o.toLocaleLowerCase(t.locale),n=t.locale===!1?o=>o.toUpperCase():o=>o.toLocaleUpperCase(t.locale);return e.length===1?p2o.test(e)?"":t.pascalCase?n(e):r(e):(e!==r(e)&&(e=ylm(e,r,n,t.preserveConsecutiveUppercase)),e=e.replace(Alm,""),e=t.preserveConsecutiveUppercase?blm(e,r):r(e),t.pascalCase&&(e=n(e.charAt(0))+e.slice(1)),Elm(e,n))}var g2o=be(DBu(),1);Hqe();var RBu=(e=0)=>t=>`\x1B[${t+e}m`,FBu=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,kBu=(e=0)=>(t,r,n)=>`\x1B[${38+e};2;${t};${r};${n}m`,B0={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},ShI=Object.keys(B0.modifier),Clm=Object.keys(B0.color),wlm=Object.keys(B0.bgColor),ThI=[...Clm,...wlm];function Slm(){let e=new Map;for(let[t,r]of Object.entries(B0)){for(let[n,i]of Object.entries(r))B0[n]={open:`\x1B[${i[0]}m`,close:`\x1B[${i[1]}m`},r[n]=B0[n],e.set(i[0],i[1]);Object.defineProperty(B0,t,{value:r,enumerable:!1})}return Object.defineProperty(B0,"codes",{value:e,enumerable:!1}),B0.color.close="\x1B[39m",B0.bgColor.close="\x1B[49m",B0.color.ansi=RBu(),B0.color.ansi256=FBu(),B0.color.ansi16m=kBu(),B0.bgColor.ansi=RBu(10),B0.bgColor.ansi256=FBu(10),B0.bgColor.ansi16m=kBu(10),Object.defineProperties(B0,{rgbToAnsi256:{value(t,r,n){return t===r&&r===n?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(t){let r=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!r)return[0,0,0];let[n]=r;n.length===3&&(n=[...n].map(o=>o+o).join(""));let i=Number.parseInt(n,16);return[i>>16&255,i>>8&255,i&255]},enumerable:!1},hexToAnsi256:{value:t=>B0.rgbToAnsi256(...B0.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value(t){if(t<8)return 30+t;if(t<16)return 90+(t-8);let r,n,i;if(t>=232)r=((t-232)*10+8)/255,n=r,i=r;else{t-=16;let a=t%36;r=Math.floor(t/36)/5,n=Math.floor(a/6)/5,i=a%6/5}let o=Math.max(r,n,i)*2;if(o===0)return 30;let s=30+(Math.round(i)<<2|Math.round(n)<<1|Math.round(r));return o===2&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(t,r,n)=>B0.ansi256ToAnsi(B0.rgbToAnsi256(t,r,n)),enumerable:!1},hexToAnsi:{value:t=>B0.ansi256ToAnsi(B0.hexToAnsi256(t)),enumerable:!1}}),B0}var Tlm=Slm(),NBu=Tlm;var E9r=new Set(["\x1B","\x9B"]),Olm=39,m2o="\x07",zBu="[",Blm="]",MBu="m",h2o=`${Blm}8;;`,jBu=e=>`${E9r.values().next().value}${zBu}${e}${MBu}`,QBu=e=>`${E9r.values().next().value}${h2o}${e}${m2o}`,Plm=e=>e.split(" ").map(t=>k1(t)),d2o=(e,t,r)=>{let n=[...t],i=!1,o=!1,s=k1(FG(e[e.length-1]));for(let[a,c]of n.entries()){let u=k1(c);if(s+u<=r?e[e.length-1]+=c:(e.push(c),s=0),E9r.has(c)&&(i=!0,o=n.slice(a+1).join("").startsWith(h2o)),i){o?c===m2o&&(i=!1,o=!1):c===MBu&&(i=!1);continue}s+=u,s===r&&a<n.length-1&&(e.push(""),s=0)}!s&&e[e.length-1].length>0&&e.length>1&&(e[e.length-2]+=e.pop())},Dlm=e=>{let t=e.split(" "),r=t.length;for(;r>0&&!(k1(t[r-1])>0);)r--;return r===t.length?e:t.slice(0,r).join(" ")+t.slice(r).join("")},Rlm=(e,t,r={})=>{if(r.trim!==!1&&e.trim()==="")return"";let n="",i,o,s=Plm(e),a=[""];for(let[u,l]of e.split(" ").entries()){r.trim!==!1&&(a[a.length-1]=a[a.length-1].trimStart());let p=k1(a[a.length-1]);if(u!==0&&(p>=t&&(r.wordWrap===!1||r.trim===!1)&&(a.push(""),p=0),(p>0||r.trim===!1)&&(a[a.length-1]+=" ",p++)),r.hard&&s[u]>t){let d=t-p,f=1+Math.floor((s[u]-d-1)/t);Math.floor((s[u]-1)/t)<f&&a.push(""),d2o(a,l,t);continue}if(p+s[u]>t&&p>0&&s[u]>0){if(r.wordWrap===!1&&p<t){d2o(a,l,t);continue}a.push("")}if(p+s[u]>t&&r.wordWrap===!1){d2o(a,l,t);continue}a[a.length-1]+=l}r.trim!==!1&&(a=a.map(u=>Dlm(u)));let c=[...a.join(`
|
|
3027
3027
|
`)];for(let[u,l]of c.entries()){if(n+=l,E9r.has(l)){let{groups:d}=new RegExp(`(?:\\${zBu}(?<code>\\d+)m|\\${h2o}(?<uri>.*)${m2o})`).exec(c.slice(u).join(""))||{groups:{}};if(d.code!==void 0){let f=Number.parseFloat(d.code);i=f===Olm?void 0:f}else d.uri!==void 0&&(o=d.uri.length===0?void 0:d.uri)}let p=NBu.codes.get(Number(i));c[u+1]===`
|
|
3028
3028
|
`?(o&&(n+=QBu("")),i&&p&&(n+=jBu(p))):l===`
|
|
@@ -3594,7 +3594,7 @@ Hint: Values starting with "@" (such as scoped npm packages) must be wrapped in
|
|
|
3594
3594
|
Add a 'docs:' section to your fern.yml to get started.`,code:B.Code.ConfigError});let o=await new VBe({context:t}).check({workspace:n,strict:r.strict}),s=new Set(o.mdxParseErrors.map(p=>p.displayRelativeFilepath)),a=new Set(o.mdxParseErrors.map(p=>p.rawMessage)),c=o.violations.filter(p=>!(s.size>0&&JKm(p,s,a))),u=o.hasErrors||r.strict&&o.hasWarnings;if(r.json){let p=this.buildJsonResponse({result:o,filteredViolations:c,hasErrors:u});if(t.stdout.info(JSON.stringify(p,null,2)),u)throw new B({code:B.Code.ValidationError});return}if(c.length>0)for(let p of c){let d=p.severity==="warning"?fe.yellow:fe.red;process.stderr.write(`${d(`${p.displayRelativeFilepath}:${p.line}:${p.column}: ${p.message}`)}
|
|
3595
3595
|
`)}let l=0;if(o.mdxParseErrors.length>0){for(let p of o.mdxParseErrors)t.stderr.info(`
|
|
3596
3596
|
${p.toString()}
|
|
3597
|
-
`);r.fix?l+=await D$n(t,o.mdxParseErrors):process.stdout.isTTY===!0&&!lYn()&&await R$n(t,o.mdxParseErrors)}if(r.fix&&c.length>0){let d=await new _yt({context:t}).fix({workspace:n,violations:c});l+=d.fixedCount}if(u&&(!r.fix||l===0))throw new B({code:B.Code.ValidationError});if(o.warningCount>0){t.stderr.info(`${Pr.warning} ${fe.yellow(`Found ${o.warningCount} warnings`)}`),t.stderr.info(fe.dim(" Run 'fern docs check --strict' to treat warnings as errors"));return}t.stderr.info(`${Pr.success} ${fe.green("All checks passed")}`)}buildJsonResponse({result:t,filteredViolations:r,hasErrors:n}){let i={};return(r.length>0||t.mdxParseErrors.length>0)&&(i.docs=[...r.map(o=>Aee(o)),...t.mdxParseErrors.map(o=>({severity:"error",rule:o.code.code,filepath:o.displayRelativeFilepath,...o.line!=null?{line:o.line}:{},...o.column!=null?{column:o.column}:{},message:`[${o.code.code}] ${o.code.title}: ${o.rawMessage}`}))]),{success:!n,results:i}}};function JKm(e,t,r){if(!/failed to parse|failed to initialize/i.test(e.message))return!1;for(let n of r)if(n.length>0&&e.message.includes(n))return!0;for(let n of t){if(e.message.includes(n))return!0;let i=n.split("/").filter(Boolean);for(let o=i.length;o>=2;o--){let s=i.slice(i.length-o).join("/");if(e.message.includes(s))return!0}if(i.length===1){let o=i[0];if(o!=null&&e.message.includes(o))return!0}}return!1}function EKo(e){let t=new bKo;Xn(e,"check","Validate docs configuration",(r,n)=>t.handle(r,n),r=>r.option("strict",{type:"boolean",description:"Treat warnings as errors",default:!1}).option("json",{type:"boolean",description:"Output results as JSON to stdout",default:!1}).option("fix",{type:"boolean",description:"Automatically fix issues that have a known resolution",default:!1}))}mb();jt();var Ctl=be(require("net"),1),wtl=be(require("os"),1),N$n=class extends Error{constructor(t){super(`${t} is locked`)}},Hyt={old:new Set,young:new Set},YKm=1e3*15,Stl=new Set;var L8t,XKm=()=>{let e=wtl.default.networkInterfaces(),t=new Set([void 0,"0.0.0.0"]);for(let r of Object.values(e))for(let n of r)t.add(n.address);return t},vtl=e=>new Promise((t,r)=>{let n=Ctl.default.createServer();n.unref(),n.on("error",r),n.listen(e,()=>{let{port:i}=n.address();n.close(()=>{t(i)})})}),xtl=async(e,t)=>{if(e.host||e.port===0)return vtl(e);for(let r of t)try{await vtl({port:e.port,host:r})}catch(n){if(!["EADDRNOTAVAIL","EINVAL"].includes(n.code))throw n}return e.port},ZKm=e=>Hyt.old.has(e)||Hyt.young.has(e)||Stl.has(e),$Km=function*(e){e&&(yield*e),yield 0};async function qBe(e){let t,r=new Set;if(e&&(e.port&&(t=typeof e.port=="number"?[e.port]:e.port),e.exclude)){let s=e.exclude;if(typeof s[Symbol.iterator]!="function")throw new TypeError("The `exclude` option must be an iterable.");for(let a of s){if(typeof a!="number")throw new TypeError("Each item in the `exclude` option must be a number corresponding to the port you want excluded.");if(!Number.isSafeInteger(a))throw new TypeError(`Number ${a} in the exclude option is not a safe integer and can't be used`)}r=new Set(s)}let{reserve:n,...i}=e??{};L8t===void 0&&(L8t=setTimeout(()=>{L8t=void 0,Hyt.old=Hyt.young,Hyt.young=new Set},YKm),L8t.unref&&L8t.unref());let o=XKm();for(let s of $Km(t))try{if(r.has(s))continue;let a=await xtl({...i,port:s},o);for(;ZKm(a);){if(s!==0)throw new N$n(s);a=await xtl({...i,port:s},o)}return n?Stl.add(a):Hyt.young.add(a),a}catch(a){if(!["EADDRINUSE","EACCES"].includes(a.code)&&!(a instanceof N$n))throw a}throw new Error("No available ports found")}jt();var Btl=/^[a-z0-9-]+-preview-[a-z0-9-]+\.docs\.buildwithfern\.com$/i,Ttl="docs.buildwithfern.com",Otl=62;function X3e(e){let t=e.toLowerCase().trim();t.startsWith("https://")?t=t.slice(8):t.startsWith("http://")&&(t=t.slice(7));let r=t.indexOf("/");return r!==-1&&(t=t.slice(0,r)),Btl.test(t)}function Ptl(e){let t=e.toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"");return t.length===0?"default":t}function U8t({orgId:e,previewId:t}){let r=Ptl(t),n=`${e}-preview-${r}.${Ttl}`;if(n.length<=Otl)return n;let i=`${e}-preview-`,o=Otl-i.length;if(o<8)throw new B({message:`Organization name "${e}" is too long to generate a valid preview URL`,code:B.Code.ValidationError});let a=r.slice(0,o).replace(/-+$/,"");return`${i}${a}.${Ttl}`}Dt();CC();zm();Zt();Ow();jt();bn();var sZo=require("child_process"),Zdl=be(xKo(),1),aZo=be(Iei(),1),cZo=be(require("fs"),1),x4e=require("fs/promises"),$dl=be(require("http"),1),pZo=be(require("path"),1);jei();Zt();var T9=require("fs/promises"),mal=require("os"),lYo=be(require("path"),1),Lnh=".fern",Unh="logs",uYo=100*1024*1024;function Vnh(){return"cli@5.51.
|
|
3597
|
+
`);r.fix?l+=await D$n(t,o.mdxParseErrors):process.stdout.isTTY===!0&&!lYn()&&await R$n(t,o.mdxParseErrors)}if(r.fix&&c.length>0){let d=await new _yt({context:t}).fix({workspace:n,violations:c});l+=d.fixedCount}if(u&&(!r.fix||l===0))throw new B({code:B.Code.ValidationError});if(o.warningCount>0){t.stderr.info(`${Pr.warning} ${fe.yellow(`Found ${o.warningCount} warnings`)}`),t.stderr.info(fe.dim(" Run 'fern docs check --strict' to treat warnings as errors"));return}t.stderr.info(`${Pr.success} ${fe.green("All checks passed")}`)}buildJsonResponse({result:t,filteredViolations:r,hasErrors:n}){let i={};return(r.length>0||t.mdxParseErrors.length>0)&&(i.docs=[...r.map(o=>Aee(o)),...t.mdxParseErrors.map(o=>({severity:"error",rule:o.code.code,filepath:o.displayRelativeFilepath,...o.line!=null?{line:o.line}:{},...o.column!=null?{column:o.column}:{},message:`[${o.code.code}] ${o.code.title}: ${o.rawMessage}`}))]),{success:!n,results:i}}};function JKm(e,t,r){if(!/failed to parse|failed to initialize/i.test(e.message))return!1;for(let n of r)if(n.length>0&&e.message.includes(n))return!0;for(let n of t){if(e.message.includes(n))return!0;let i=n.split("/").filter(Boolean);for(let o=i.length;o>=2;o--){let s=i.slice(i.length-o).join("/");if(e.message.includes(s))return!0}if(i.length===1){let o=i[0];if(o!=null&&e.message.includes(o))return!0}}return!1}function EKo(e){let t=new bKo;Xn(e,"check","Validate docs configuration",(r,n)=>t.handle(r,n),r=>r.option("strict",{type:"boolean",description:"Treat warnings as errors",default:!1}).option("json",{type:"boolean",description:"Output results as JSON to stdout",default:!1}).option("fix",{type:"boolean",description:"Automatically fix issues that have a known resolution",default:!1}))}mb();jt();var Ctl=be(require("net"),1),wtl=be(require("os"),1),N$n=class extends Error{constructor(t){super(`${t} is locked`)}},Hyt={old:new Set,young:new Set},YKm=1e3*15,Stl=new Set;var L8t,XKm=()=>{let e=wtl.default.networkInterfaces(),t=new Set([void 0,"0.0.0.0"]);for(let r of Object.values(e))for(let n of r)t.add(n.address);return t},vtl=e=>new Promise((t,r)=>{let n=Ctl.default.createServer();n.unref(),n.on("error",r),n.listen(e,()=>{let{port:i}=n.address();n.close(()=>{t(i)})})}),xtl=async(e,t)=>{if(e.host||e.port===0)return vtl(e);for(let r of t)try{await vtl({port:e.port,host:r})}catch(n){if(!["EADDRNOTAVAIL","EINVAL"].includes(n.code))throw n}return e.port},ZKm=e=>Hyt.old.has(e)||Hyt.young.has(e)||Stl.has(e),$Km=function*(e){e&&(yield*e),yield 0};async function qBe(e){let t,r=new Set;if(e&&(e.port&&(t=typeof e.port=="number"?[e.port]:e.port),e.exclude)){let s=e.exclude;if(typeof s[Symbol.iterator]!="function")throw new TypeError("The `exclude` option must be an iterable.");for(let a of s){if(typeof a!="number")throw new TypeError("Each item in the `exclude` option must be a number corresponding to the port you want excluded.");if(!Number.isSafeInteger(a))throw new TypeError(`Number ${a} in the exclude option is not a safe integer and can't be used`)}r=new Set(s)}let{reserve:n,...i}=e??{};L8t===void 0&&(L8t=setTimeout(()=>{L8t=void 0,Hyt.old=Hyt.young,Hyt.young=new Set},YKm),L8t.unref&&L8t.unref());let o=XKm();for(let s of $Km(t))try{if(r.has(s))continue;let a=await xtl({...i,port:s},o);for(;ZKm(a);){if(s!==0)throw new N$n(s);a=await xtl({...i,port:s},o)}return n?Stl.add(a):Hyt.young.add(a),a}catch(a){if(!["EADDRINUSE","EACCES"].includes(a.code)&&!(a instanceof N$n))throw a}throw new Error("No available ports found")}jt();var Btl=/^[a-z0-9-]+-preview-[a-z0-9-]+\.docs\.buildwithfern\.com$/i,Ttl="docs.buildwithfern.com",Otl=62;function X3e(e){let t=e.toLowerCase().trim();t.startsWith("https://")?t=t.slice(8):t.startsWith("http://")&&(t=t.slice(7));let r=t.indexOf("/");return r!==-1&&(t=t.slice(0,r)),Btl.test(t)}function Ptl(e){let t=e.toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"");return t.length===0?"default":t}function U8t({orgId:e,previewId:t}){let r=Ptl(t),n=`${e}-preview-${r}.${Ttl}`;if(n.length<=Otl)return n;let i=`${e}-preview-`,o=Otl-i.length;if(o<8)throw new B({message:`Organization name "${e}" is too long to generate a valid preview URL`,code:B.Code.ValidationError});let a=r.slice(0,o).replace(/-+$/,"");return`${i}${a}.${Ttl}`}Dt();CC();zm();Zt();Ow();jt();bn();var sZo=require("child_process"),Zdl=be(xKo(),1),aZo=be(Iei(),1),cZo=be(require("fs"),1),x4e=require("fs/promises"),$dl=be(require("http"),1),pZo=be(require("path"),1);jei();Zt();var T9=require("fs/promises"),mal=require("os"),lYo=be(require("path"),1),Lnh=".fern",Unh="logs",uYo=100*1024*1024;function Vnh(){return"cli@5.51.2"}var p4e=class{logFilePath=null;initialized=!1;sessionStartTime;consoleLogger;constructor(){this.sessionStartTime=Date.now()}async initialize(t,r){if(this.initialized)return;this.consoleLogger=t;let n=r??Ge(Ge(qt.of((0,mal.homedir)()),Se.of(Lnh)),Se.of(Unh));await $t(n)||await(0,T9.mkdir)(n,{recursive:!0});let o=`${new Date().toISOString().replace(/[:.]/g,"-")}.debug.log`;this.logFilePath=Ge(n,Se.of(o));let s=["================================================================================","Fern Docs Dev Debug Log",`Session started: ${new Date().toISOString()}`,`Log file: ${lYo.default.basename(this.logFilePath)}`,"================================================================================",""].join(`
|
|
3598
3598
|
`);await(0,T9.writeFile)(this.logFilePath,s,"utf-8"),this.initialized=!0,this.enforceLogSizeLimit(n)}getLogFilePath(){return this.logFilePath}async writeEntry(t){if(!this.initialized||!this.logFilePath)return;let r=JSON.stringify(t)+`
|
|
3599
3599
|
`;try{await(0,T9.appendFile)(this.logFilePath,r,"utf-8")}catch{}}async logFrontendMetrics(t){let r={timestamp:t.timestamp,source:t.source,level:t.level,eventType:this.getEventType(t.payload,t.isAggregate),isAggregate:t.isAggregate,data:t.payload};await this.writeEntry(r)}async logCliMetric(t,r="info"){let n={timestamp:t.timestamp,source:Vnh(),level:r,eventType:t.type,data:{durationMs:t.durationMs,metadata:t.metadata}};await this.writeEntry(n)}async logCliMemory(){let t=process.memoryUsage(),r={type:"cli_memory",timestamp:new Date().toISOString(),metadata:{heapUsed:t.heapUsed,heapTotal:t.heapTotal,external:t.external,rss:t.rss,heapUsedMB:Math.round(t.heapUsed/1024/1024*100)/100,heapTotalMB:Math.round(t.heapTotal/1024/1024*100)/100,rssMB:Math.round(t.rss/1024/1024*100)/100}};await this.logCliMetric(r)}async logCliReloadStart(){let t={type:"cli_reload_start",timestamp:new Date().toISOString()};await this.logCliMetric(t)}async logCliReloadFinish(t,r){let n={type:"cli_reload_finish",timestamp:new Date().toISOString(),durationMs:t,metadata:r};await this.logCliMetric(n)}async logCliDocsGeneration(t,r){let n={type:"cli_docs_generation",timestamp:new Date().toISOString(),durationMs:t,metadata:r};await this.logCliMetric(n)}async logCliValidation(t,r){let n={type:"cli_validation",timestamp:new Date().toISOString(),durationMs:t,metadata:{success:r}};await this.logCliMetric(n)}async enforceLogSizeLimit(t){try{let n=(await(0,T9.readdir)(t)).filter(c=>c.endsWith(".log")),i=[];for(let c of n){let u=lYo.default.join(t,c);try{let l=await(0,T9.stat)(u);i.push({name:c,fullPath:u,size:l.size,mtimeMs:l.mtimeMs})}catch{}}let o=i.reduce((c,u)=>c+u.size,0),s=Math.round(o/1024/1024*100)/100,a=uYo/1024/1024;if(o<=uYo){this.consoleLogger?.debug(`Log directory size ${s} MB does not exceed ${a} MB cap`);return}this.consoleLogger?.info(`Rotating logs: total size ${s} MB exceeds ${a} MB cap`),i.sort((c,u)=>c.mtimeMs-u.mtimeMs);for(let c of i){if(o<=uYo)break;if(!(this.logFilePath!=null&&c.fullPath===this.logFilePath))try{await(0,T9.unlink)(c.fullPath),o-=c.size}catch{}}}catch{}}getEventType(t,r){return r?"aggregate_summary":"type"in t&&typeof t.type=="string"?t.type:"unknown"}static isMetricsMessage(t){if(typeof t!="object"||t===null)return!1;let r=t;return r.type==="metrics"&&typeof r.timestamp=="string"&&typeof r.source=="string"}};var Qei={"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, OPTIONS","Access-Control-Allow-Headers":"Content-Type"};function hal(e){let t=_nh();if(t==null)return;let{port:r,debugLogger:n,getDocsLoadResponse:i,extractLocaleFromPath:o}=e,s=new Map;function a(u){let l=JSON.stringify(u),p=[];for(let[d]of s)try{d.send(l)}catch{p.push(d)}for(let d of p){let f=s.get(d);f&&(clearInterval(f.pingInterval),s.delete(d))}}let c=t.serve({port:r,async fetch(u,l){if(u.method==="OPTIONS")return new Response(null,{status:204,headers:Qei});let p=new URL(u.url);if(u.headers.get("upgrade")?.toLowerCase()==="websocket"){l.upgrade(u,{data:{connectionId:`${Date.now()}`}});return}if(u.method==="POST"&&p.pathname==="/v2/registry/docs/load-with-url")try{let f=await u.json(),m=o?.(f?.url);return new Response(JSON.stringify(i(m)),{headers:{"Content-Type":"application/json",...Qei}})}catch{return new Response(JSON.stringify(i()),{headers:{"Content-Type":"application/json",...Qei}})}let d=/^\/_local\/(.*)/.exec(p.pathname);return u.method==="GET"&&d!=null?new Response(t.file(`/${d[1]}`),{headers:Qei}):new Response("Not Found",{status:404})},websocket:{open(u){let{connectionId:l}=u.data,p=setInterval(()=>{let d=s.get(u);if(!d)return;let f=Date.now();if(f-d.lastPong>9e4){u.close();return}try{u.send(JSON.stringify({type:"ping",timestamp:f}))}catch{u.close()}},3e4);s.set(u,{pingInterval:p,lastPong:Date.now()});try{u.send(JSON.stringify({type:"connected",connectionId:l}))}catch{}},message(u,l){try{let p=JSON.parse(l.toString());if(p.type==="pong"){let d=s.get(u);d&&(d.lastPong=Date.now())}else p4e.isMetricsMessage(p)&&n.logFrontendMetrics(p)}catch{}},close(u){let l=s.get(u);l&&(clearInterval(l.pingInterval),s.delete(u))}}});return{sendData:a,stop:u=>c.stop(u)}}function _nh(){return globalThis.Bun}jt();var kal=require("events"),Vei=be(require("fs"),1),d4e=be(require("path"),1);var gal=be(require("os"),1),Aal=300,$Be=20,E9t=1e7,yal=gal.default.platform();var qnh=yal==="darwin",pYo=yal==="win32",ePe=qnh||pYo,bal=3e3,Eal=2e4,fYo=1250;var Eie;(function(e){e[e.DIR=1]="DIR",e[e.FILE=2]="FILE"})(Eie||(Eie={}));var f4e;(function(e){e.CHANGE="change",e.RENAME="rename"})(f4e||(f4e={}));var I9t;(function(e){e.CHANGE="change",e.ERROR="error"})(I9t||(I9t={}));var Cc;(function(e){e.ADD="add",e.ADD_DIR="addDir",e.CHANGE="change",e.RENAME="rename",e.RENAME_DIR="renameDir",e.UNLINK="unlink",e.UNLINK_DIR="unlinkDir"})(Cc||(Cc={}));var eN;(function(e){e.ALL="all",e.CLOSE="close",e.ERROR="error",e.READY="ready"})(eN||(eN={}));var Gnh=(e,t=1,r)=>{t=Math.max(1,t);let n=r?.leading??!1,i=r?.trailing??!0,o=Math.max(r?.maxWait??1/0,t),s,a,c=0,u=0,l=()=>{let I=Date.now(),C=I-c,w=I-u,T=C>=t||w>=o;return[I,T]},p=I=>{if(u=I,!s)return;let C=s;s=void 0,e.apply(void 0,C)},d=()=>{E(0)},f=()=>{a&&(d(),p(Date.now()))},m=I=>{if(u=I,n)return p(I)},g=I=>{if(i&&s)return p(I);s=void 0},A=()=>{a=void 0;let[I,C]=l();return C?g(I):y(I)},y=I=>{let C=I-c,w=I-u,T=t-C,P=o-w,O=Math.min(T,P);return E(O)},E=I=>{a&&clearTimeout(a),!(I<=0)&&(a=setTimeout(A,I))},v=(...I)=>{let[C,w]=l(),T=!!a;if(s=I,c=C,(w||!a)&&E(t),w)return T?p(C):m(C)};return v.cancel=d,v.flush=f,v},zei=Gnh;var gYo=be(require("fs"),1),Lei=be(require("path"),1);var Bd=be(require("fs"),1),MB=require("util");var zde=(e,t)=>function(...n){return e.apply(void 0,n).catch(t)},Iie=(e,t)=>function(...n){try{return e.apply(void 0,n)}catch(i){return t(i)}};var dYo=be(require("process"),1),Ial=dYo.default.getuid?!dYo.default.getuid():!1,val=1e4,rM=()=>{};var v9t={isChangeErrorOk:e=>{if(!v9t.isNodeError(e))return!1;let{code:t}=e;return t==="ENOSYS"||!Ial&&(t==="EINVAL"||t==="EPERM")},isNodeError:e=>e instanceof Error,isRetriableError:e=>{if(!v9t.isNodeError(e))return!1;let{code:t}=e;return t==="EMFILE"||t==="ENFILE"||t==="EAGAIN"||t==="EBUSY"||t==="EACCESS"||t==="EACCES"||t==="EACCS"||t==="EPERM"},onChangeError:e=>{if(!v9t.isNodeError(e))throw e;if(!v9t.isChangeErrorOk(e))throw e}},Zv=v9t;var mYo=class{constructor(){this.interval=25,this.intervalId=void 0,this.limit=val,this.queueActive=new Set,this.queueWaiting=new Set,this.init=()=>{this.intervalId||(this.intervalId=setInterval(this.tick,this.interval))},this.reset=()=>{this.intervalId&&(clearInterval(this.intervalId),delete this.intervalId)},this.add=t=>{this.queueWaiting.add(t),this.queueActive.size<this.limit/2?this.tick():this.init()},this.remove=t=>{this.queueWaiting.delete(t),this.queueActive.delete(t)},this.schedule=()=>new Promise(t=>{let r=()=>this.remove(n),n=()=>t(r);this.add(n)}),this.tick=()=>{if(!(this.queueActive.size>=this.limit)){if(!this.queueWaiting.size)return this.reset();for(let t of this.queueWaiting){if(this.queueActive.size>=this.limit)break;this.queueWaiting.delete(t),this.queueActive.add(t),t()}}}}},xal=new mYo;var Mde=(e,t)=>function(n){return function i(...o){return xal.schedule().then(s=>{let a=u=>(s(),u),c=u=>{if(s(),Date.now()>=n)throw u;if(t(u)){let l=Math.round(100*Math.random());return new Promise(d=>setTimeout(d,l)).then(()=>i.apply(void 0,o))}throw u};return e.apply(void 0,o).then(a,c)})}},Lde=(e,t)=>function(n){return function i(...o){try{return e.apply(void 0,o)}catch(s){if(Date.now()>n)throw s;if(t(s))return i.apply(void 0,o);throw s}}};var Wnh={attempt:{chmod:zde((0,MB.promisify)(Bd.default.chmod),Zv.onChangeError),chown:zde((0,MB.promisify)(Bd.default.chown),Zv.onChangeError),close:zde((0,MB.promisify)(Bd.default.close),rM),fsync:zde((0,MB.promisify)(Bd.default.fsync),rM),mkdir:zde((0,MB.promisify)(Bd.default.mkdir),rM),realpath:zde((0,MB.promisify)(Bd.default.realpath),rM),stat:zde((0,MB.promisify)(Bd.default.stat),rM),unlink:zde((0,MB.promisify)(Bd.default.unlink),rM),chmodSync:Iie(Bd.default.chmodSync,Zv.onChangeError),chownSync:Iie(Bd.default.chownSync,Zv.onChangeError),closeSync:Iie(Bd.default.closeSync,rM),existsSync:Iie(Bd.default.existsSync,rM),fsyncSync:Iie(Bd.default.fsync,rM),mkdirSync:Iie(Bd.default.mkdirSync,rM),realpathSync:Iie(Bd.default.realpathSync,rM),statSync:Iie(Bd.default.statSync,rM),unlinkSync:Iie(Bd.default.unlinkSync,rM)},retry:{close:Mde((0,MB.promisify)(Bd.default.close),Zv.isRetriableError),fsync:Mde((0,MB.promisify)(Bd.default.fsync),Zv.isRetriableError),open:Mde((0,MB.promisify)(Bd.default.open),Zv.isRetriableError),readFile:Mde((0,MB.promisify)(Bd.default.readFile),Zv.isRetriableError),rename:Mde((0,MB.promisify)(Bd.default.rename),Zv.isRetriableError),stat:Mde((0,MB.promisify)(Bd.default.stat),Zv.isRetriableError),write:Mde((0,MB.promisify)(Bd.default.write),Zv.isRetriableError),writeFile:Mde((0,MB.promisify)(Bd.default.writeFile),Zv.isRetriableError),closeSync:Lde(Bd.default.closeSync,Zv.isRetriableError),fsyncSync:Lde(Bd.default.fsyncSync,Zv.isRetriableError),openSync:Lde(Bd.default.openSync,Zv.isRetriableError),readFileSync:Lde(Bd.default.readFileSync,Zv.isRetriableError),renameSync:Lde(Bd.default.renameSync,Zv.isRetriableError),statSync:Lde(Bd.default.statSync,Zv.isRetriableError),writeSync:Lde(Bd.default.writeSync,Zv.isRetriableError),writeFileSync:Lde(Bd.default.writeFileSync,Zv.isRetriableError)}},Cal=Wnh;var Mei=be(require("fs"),1),x9t=be(require("path"),1);var hYo=()=>{};var Hnh=()=>{let e=hYo,t=hYo,r=!1,n=!1;return{promise:new Promise((c,u)=>{e=l=>(r=!0,c(l)),t=l=>(n=!0,u(l))}),resolve:e,reject:t,isPending:()=>!r&&!n,isResolved:()=>r,isRejected:()=>n}},wal=Hnh;var Knh=()=>{let{promise:e,resolve:t,isPending:r}=wal(),n=0,i=()=>{n+=1},o=()=>{n-=1,!n&&t()};return i(),queueMicrotask(o),{promise:e,isPending:r,increment:i,decrement:o}},Sal=Knh;var Tal={then:e=>{e()}};var Oal=e=>Array.isArray(e)?e:[e],Bal=e=>typeof e=="function";var Jnh=(e,t)=>{let r=t?.followSymlinks??!1,n=t?.depth??1/0,i=t?.limit??1/0,o=t?.ignore??[],s=Oal(o).map(se=>Bal(se)?se:pe=>se.test(pe)),a=se=>s.some(pe=>pe(se)),c=t?.signal??{aborted:!1},u=t?.onDirents||(()=>{}),l=[],p=new Set,d={},f=[],m=new Set,g={},A=[],y=new Set,E={},v={},I=new Set,C={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{},map:{}},w={directories:l,directoriesNames:p,directoriesNamesToPaths:d,files:f,filesNames:m,filesNamesToPaths:g,symlinks:A,symlinksNames:y,symlinksNamesToPaths:E,map:v},{promise:T,increment:P,decrement:O}=Sal(),M=0,K=(se,pe,xe,Ee)=>{I.has(pe)||M>=i||(M+=1,se.directories.push(pe),se.directoriesNames.add(xe),l.push(pe),p.add(xe),d.propertyIsEnumerable(xe)||(d[xe]=[]),d[xe].push(pe),I.add(pe),!(Ee>=n)&&(M>=i||ce(pe,Ee+1)))},J=(se,pe,xe)=>{I.has(pe)||M>=i||(M+=1,se.files.push(pe),se.filesNames.add(xe),f.push(pe),m.add(xe),g.propertyIsEnumerable(xe)||(g[xe]=[]),g[xe].push(pe),I.add(pe))},Z=(se,pe,xe,Ee)=>{I.has(pe)||M>=i||(M+=1,se.symlinks.push(pe),se.symlinksNames.add(xe),A.push(pe),y.add(xe),E.propertyIsEnumerable(xe)||(E[xe]=[]),E[xe].push(pe),I.add(pe),r&&(Ee>=n||M>=i||Te(pe,Ee+1)))},ae=(se,pe,xe,Ee,De)=>{c.aborted||a(pe)||(Ee.isDirectory()?K(se,pe,xe,De):Ee.isFile()?J(se,pe,xe):Ee.isSymbolicLink()&&Z(se,pe,xe,De))},le=(se,pe,xe,Ee)=>{if(c.aborted)return;let De=pe===x9t.default.sep?"":x9t.default.sep,Ke=xe.name,ct=`${pe}${De}${Ke}`;a(ct)||(xe.isDirectory()?K(se,ct,Ke,Ee):xe.isFile()?J(se,ct,Ke):xe.isSymbolicLink()&&Z(se,ct,Ke,Ee))},oe=(se,pe,xe,Ee)=>{for(let De=0,Ke=xe.length;De<Ke;De++)le(se,pe,xe[De],Ee)},ce=(se,pe)=>{c.aborted||pe>n||M>=i||(P(),Mei.default.readdir(se,{withFileTypes:!0},(xe,Ee)=>{if(xe||c.aborted||!Ee.length)return O();(u(Ee)||Tal).then(()=>{let Ke=v[se]={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{}};oe(Ke,se,Ee,pe),O()})}))},Te=(se,pe)=>{P(),Mei.default.realpath(se,(xe,Ee)=>{if(xe||c.aborted)return O();Mei.default.stat(Ee,(De,Ke)=>{if(De||c.aborted)return O();let ct=x9t.default.basename(Ee),Ct=v[se]={directories:[],directoriesNames:new Set,directoriesNamesToPaths:{},files:[],filesNames:new Set,filesNamesToPaths:{},symlinks:[],symlinksNames:new Set,symlinksNamesToPaths:{}};ae(Ct,Ee,ct,Ke,pe),O()})})};return(async(se,pe=1)=>(se=x9t.default.normalize(se),I.add(se),ce(se,pe),await T,c.aborted?C:w))(e)},Pal=Jnh;var vie={lang:{debounce:zei,attempt:e=>{try{return e()}catch(t){return vie.lang.castError(t)}},castArray:e=>vie.lang.isArray(e)?e:[e],castError:e=>vie.lang.isError(e)?e:vie.lang.isString(e)?new Error(e):new Error("Unknown error"),defer:e=>setTimeout(e,0),isArray:e=>Array.isArray(e),isError:e=>e instanceof Error,isFunction:e=>typeof e=="function",isNaN:e=>Number.isNaN(e),isNumber:e=>typeof e=="number",isPrimitive:e=>{if(e===null)return!0;let t=typeof e;return t!=="object"&&t!=="function"},isShallowEqual:(e,t)=>{if(e===t)return!0;if(vie.lang.isNaN(e))return vie.lang.isNaN(t);if(vie.lang.isPrimitive(e)||vie.lang.isPrimitive(t))return e===t;for(let r in e)if(!(r in t))return!1;for(let r in t)if(e[r]!==t[r])return!1;return!0},isSet:e=>e instanceof Set,isString:e=>typeof e=="string",isUndefined:e=>e===void 0,noop:()=>{},uniq:e=>e.length<2?e:Array.from(new Set(e))},fs:{getDepth:e=>Math.max(0,e.split(Lei.default.sep).length-1),getRealPath:(e,t)=>{try{return t?gYo.default.realpathSync.native(e):gYo.default.realpathSync(e)}catch{return}},isSubPath:(e,t)=>t.startsWith(e)&&t[e.length]===Lei.default.sep&&t.length-e.length>Lei.default.sep.length,poll:(e,t=Eal)=>Cal.retry.stat(t)(e,{bigint:!0}).catch(vie.lang.noop),readdir:async(e,t,r=1/0,n=1/0,i,o)=>{if(o&&r===1&&e in o){let s=o[e];return[s.directories,s.files]}else{let s=await Pal(e,{depth:r,limit:n,ignore:t,signal:i});return[s.directories,s.files]}}}},Yl=vie;var Uei=be(require("path"),1);var AYo=class{constructor(t,r,n){this.base=n,this.watcher=t,this.handler=r.handler,this.fswatcher=r.watcher,this.options=r.options,this.folderPath=r.folderPath,this.filePath=r.filePath,this.handlerBatched=this.base?this.base.onWatcherEvent.bind(this.base):this._makeHandlerBatched(this.options.debounce)}_isSubRoot(t){return this.filePath?t===this.filePath:t===this.folderPath||Yl.fs.isSubPath(this.folderPath,t)}_makeHandlerBatched(t=Aal){return(()=>{let r=this.watcher._readyWait,n=[],i=new Set,o=async(a,c)=>{let u=this.options.ignoreInitial?[]:a,l=await this.eventsPopulate([...c]),p=this.eventsDeduplicate([...u,...l]);this.onTargetEvents(p)},s=Yl.lang.debounce(()=>{this.watcher.isClosed()||(r=o(n,i),n=[],i=new Set)},t);return async(a,c="",u=!1)=>{u?await this.eventsPopulate([c],n,!0):i.add(c),r.then(s)}})()}eventsDeduplicate(t){if(t.length<2)return t;let r={};return t.reduce((n,i)=>{let[o,s]=i,a=r[s];return o===a||o===Cc.CHANGE&&a===Cc.ADD||(r[s]=o,n.push(i)),n},[])}async eventsPopulate(t,r=[],n=!1){return await Promise.all(t.map(async i=>{let o=await this.watcher._poller.update(i,this.options.pollingTimeout);await Promise.all(o.map(async s=>{r.push([s,i]),s===Cc.ADD_DIR?await this.eventsPopulateAddDir(t,i,r,n):s===Cc.UNLINK_DIR&&await this.eventsPopulateUnlinkDir(t,i,r,n)}))})),r}async eventsPopulateAddDir(t,r,n=[],i=!1){if(i)return n;let o=this.options.recursive?this.options.depth??$Be:Math.min(1,this.options.depth??$Be),s=this.options.limit??E9t,[a,c]=await Yl.fs.readdir(r,this.options.ignore,o,s,this.watcher._closeSignal),u=[...a,...c];return await Promise.all(u.map(l=>{if(!this.watcher.isIgnored(l,this.options.ignore)&&!t.includes(l))return this.eventsPopulate([l],n,!0)})),n}async eventsPopulateUnlinkDir(t,r,n=[],i=!1){if(i)return n;for(let o of this.watcher._poller.stats.keys())Yl.fs.isSubPath(r,o)&&(t.includes(o)||await this.eventsPopulate([o],n,!0));return n}onTargetAdd(t){this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetAdd(t,this.options.renameTimeout):this.watcher.event(Cc.ADD,t))}onTargetAddDir(t){t!==this.folderPath&&this.options.recursive&&!ePe&&this.options.native!==!1&&this.watcher.watchDirectory(t,this.options,this.handler,void 0,this.base||this),this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetAddDir(t,this.options.renameTimeout):this.watcher.event(Cc.ADD_DIR,t))}onTargetChange(t){this._isSubRoot(t)&&this.watcher.event(Cc.CHANGE,t)}onTargetUnlink(t){this.watcher.watchersClose(Uei.default.dirname(t),t,!1),this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetUnlink(t,this.options.renameTimeout):this.watcher.event(Cc.UNLINK,t))}onTargetUnlinkDir(t){this.watcher.watchersClose(Uei.default.dirname(t),t,!1),this.watcher.watchersClose(t),this._isSubRoot(t)&&(this.options.renameDetection?this.watcher._locker.getLockTargetUnlinkDir(t,this.options.renameTimeout):this.watcher.event(Cc.UNLINK_DIR,t))}onTargetEvent(t){let[r,n]=t;r===Cc.ADD?this.onTargetAdd(n):r===Cc.ADD_DIR?this.onTargetAddDir(n):r===Cc.CHANGE?this.onTargetChange(n):r===Cc.UNLINK?this.onTargetUnlink(n):r===Cc.UNLINK_DIR&&this.onTargetUnlinkDir(n)}onTargetEvents(t){for(let r of t)this.onTargetEvent(r)}onWatcherEvent(t,r,n=!1){return this.handlerBatched(t,r,n)}onWatcherChange(t=f4e.CHANGE,r){if(this.watcher.isClosed())return;let n=Uei.default.resolve(this.folderPath,r||"");this.filePath&&n!==this.folderPath&&n!==this.filePath||this.watcher.isIgnored(n,this.options.ignore)||this.onWatcherEvent(t,n)}onWatcherError(t){pYo&&t.code==="EPERM"?this.onWatcherChange(f4e.CHANGE,""):this.watcher.error(t)}async init(){await this.initWatcherEvents(),await this.initInitialEvents()}async initWatcherEvents(){let t=this.onWatcherChange.bind(this);this.fswatcher.on(I9t.CHANGE,t);let r=this.onWatcherError.bind(this);this.fswatcher.on(I9t.ERROR,r)}async initInitialEvents(){let t=!this.watcher.isReady();if(this.filePath){if(this.watcher._poller.stats.has(this.filePath))return;await this.onWatcherEvent(f4e.CHANGE,this.filePath,t)}else{let r=this.options.recursive&&ePe&&this.options.native!==!1?this.options.depth??$Be:Math.min(1,this.options.depth??$Be),n=this.options.limit??E9t,[i,o]=await Yl.fs.readdir(this.folderPath,this.options.ignore,r,n,this.watcher._closeSignal,this.options.readdirMap),s=[this.folderPath,...i,...o];await Promise.all(s.map(a=>{if(!this.watcher._poller.stats.has(a)&&!this.watcher.isIgnored(a,this.options.ignore))return this.onWatcherEvent(f4e.CHANGE,a,t)}))}}},Dal=AYo;var tN={interval:100,intervalId:void 0,fns:new Map,init:()=>{tN.intervalId||(tN.intervalId=setInterval(tN.resolve,tN.interval))},reset:()=>{tN.intervalId&&(clearInterval(tN.intervalId),delete tN.intervalId)},add:(e,t)=>{tN.fns.set(e,Date.now()+t),tN.init()},remove:e=>{tN.fns.delete(e)},resolve:()=>{if(!tN.fns.size)return tN.reset();let e=Date.now();for(let[t,r]of tN.fns)r>=e||(tN.remove(t),t())}},C9t=tN;var w9t=class e{constructor(t){this._watcher=t,this.reset()}getLockAdd(t,r=fYo){let{ino:n,targetPath:i,events:o,locks:s}=t,a=()=>{let p=this._watcher._poller.paths.find(n||-1,d=>d!==i);if(p&&p!==i){if(Yl.fs.getRealPath(i,!0)===p)return;this._watcher.event(o.rename,p,i)}else this._watcher.event(o.add,i)};if(!n)return a();let c=()=>{s.add.delete(n),C9t.remove(u)},u=()=>{c(),a()};C9t.add(u,r);let l=()=>{let p=s.unlink.get(n);if(!p)return;c();let d=p();i===d?o.change&&this._watcher._poller.stats.has(i)&&this._watcher.event(o.change,i):this._watcher.event(o.rename,d,i)};s.add.set(n,l),l()}getLockUnlink(t,r=fYo){let{ino:n,targetPath:i,events:o,locks:s}=t,a=()=>{this._watcher.event(o.unlink,i)};if(!n)return a();let c=()=>{s.unlink.delete(n),C9t.remove(u)},u=()=>{c(),a()};C9t.add(u,r);let l=()=>(c(),i);s.unlink.set(n,l),s.add.get(n)?.()}getLockTargetAdd(t,r){let n=this._watcher._poller.getIno(t,Cc.ADD,Eie.FILE);return this.getLockAdd({ino:n,targetPath:t,events:e.FILE_EVENTS,locks:this._locksFile},r)}getLockTargetAddDir(t,r){let n=this._watcher._poller.getIno(t,Cc.ADD_DIR,Eie.DIR);return this.getLockAdd({ino:n,targetPath:t,events:e.DIR_EVENTS,locks:this._locksDir},r)}getLockTargetUnlink(t,r){let n=this._watcher._poller.getIno(t,Cc.UNLINK,Eie.FILE);return this.getLockUnlink({ino:n,targetPath:t,events:e.FILE_EVENTS,locks:this._locksFile},r)}getLockTargetUnlinkDir(t,r){let n=this._watcher._poller.getIno(t,Cc.UNLINK_DIR,Eie.DIR);return this.getLockUnlink({ino:n,targetPath:t,events:e.DIR_EVENTS,locks:this._locksDir},r)}reset(){this._locksAdd=new Map,this._locksAddDir=new Map,this._locksUnlink=new Map,this._locksUnlinkDir=new Map,this._locksDir={add:this._locksAddDir,unlink:this._locksUnlinkDir},this._locksFile={add:this._locksAdd,unlink:this._locksUnlink}}};w9t.DIR_EVENTS={add:Cc.ADD_DIR,rename:Cc.RENAME_DIR,unlink:Cc.UNLINK_DIR};w9t.FILE_EVENTS={add:Cc.ADD,change:Cc.CHANGE,rename:Cc.RENAME,unlink:Cc.UNLINK};var Ral=w9t;var yYo=class{constructor(){this.map=new Map}clear(){this.map.clear()}delete(t,r){if(Yl.lang.isUndefined(r))return this.map.delete(t);if(this.map.has(t)){let n=this.map.get(t);if(Yl.lang.isSet(n)){let i=n.delete(r);return n.size||this.map.delete(t),i}else if(n===r)return this.map.delete(t),!0}return!1}find(t,r){if(this.map.has(t)){let n=this.map.get(t);if(Yl.lang.isSet(n))return Array.from(n).find(r);if(r(n))return n}}get(t){return this.map.get(t)}has(t,r){if(Yl.lang.isUndefined(r))return this.map.has(t);if(this.map.has(t)){let n=this.map.get(t);return Yl.lang.isSet(n)?n.has(r):n===r}return!1}set(t,r){if(this.map.has(t)){let n=this.map.get(t);Yl.lang.isSet(n)?n.add(r):n!==r&&this.map.set(t,new Set([n,r]))}else this.map.set(t,r);return this}},bYo=yYo;var EYo=class{constructor(t){this.ino=t.ino<=Number.MAX_SAFE_INTEGER?Number(t.ino):t.ino,this.size=Number(t.size),this.atimeMs=Number(t.atimeMs),this.mtimeMs=Number(t.mtimeMs),this.ctimeMs=Number(t.ctimeMs),this.birthtimeMs=Number(t.birthtimeMs),this._isFile=t.isFile(),this._isDirectory=t.isDirectory(),this._isSymbolicLink=t.isSymbolicLink()}isFile(){return this._isFile}isDirectory(){return this._isDirectory}isSymbolicLink(){return this._isSymbolicLink}},Fal=EYo;var IYo=class{constructor(){this.inos={},this.paths=new bYo,this.stats=new Map}getIno(t,r,n){let i=this.inos[r];if(!i)return;let o=i[t];if(o&&!(n&&o[1]!==n))return o[0]}getStats(t){return this.stats.get(t)}async poll(t,r){let n=await Yl.fs.poll(t,r);if(!(!n||!(n.isFile()||n.isDirectory())))return new Fal(n)}reset(){this.inos={},this.paths=new bYo,this.stats=new Map}async update(t,r){let n=this.getStats(t),i=await this.poll(t,r);if(this.updateStats(t,i),!n&&i){if(i.isFile())return this.updateIno(t,Cc.ADD,i),[Cc.ADD];if(i.isDirectory())return this.updateIno(t,Cc.ADD_DIR,i),[Cc.ADD_DIR]}else if(n&&!i){if(n.isFile())return this.updateIno(t,Cc.UNLINK,n),[Cc.UNLINK];if(n.isDirectory())return this.updateIno(t,Cc.UNLINK_DIR,n),[Cc.UNLINK_DIR]}else if(n&&i){if(n.isFile()){if(i.isFile())return n.ino===i.ino&&!n.size&&!i.size?[]:(this.updateIno(t,Cc.CHANGE,i),[Cc.CHANGE]);if(i.isDirectory())return this.updateIno(t,Cc.UNLINK,n),this.updateIno(t,Cc.ADD_DIR,i),[Cc.UNLINK,Cc.ADD_DIR]}else if(n.isDirectory()){if(i.isFile())return this.updateIno(t,Cc.UNLINK_DIR,n),this.updateIno(t,Cc.ADD,i),[Cc.UNLINK_DIR,Cc.ADD];if(i.isDirectory())return n.ino===i.ino?[]:(this.updateIno(t,Cc.UNLINK_DIR,n),this.updateIno(t,Cc.ADD_DIR,i),[Cc.UNLINK_DIR,Cc.ADD_DIR])}}return[]}updateIno(t,r,n){let i=this.inos[r]=this.inos[r]||(this.inos[r]={}),o=n.isFile()?Eie.FILE:Eie.DIR;i[t]=[n.ino,o]}updateStats(t,r){if(r)this.paths.set(r.ino,t),this.stats.set(t,r);else{let n=this.stats.get(t)?.ino||-1;this.paths.delete(n,t),this.stats.delete(t)}}},vYo=IYo;var xYo=class e extends kal.EventEmitter{constructor(t,r,n){super(),this._closed=!1,this._ready=!1,this._closeAborter=new AbortController,this._closeSignal=this._closeAborter.signal,this.on(eN.CLOSE,()=>this._closeAborter.abort()),this._closeWait=new Promise(i=>this.on(eN.CLOSE,i)),this._readyWait=new Promise(i=>this.on(eN.READY,i)),this._locker=new Ral(this),this._roots=new Set,this._poller=new vYo,this._pollers=new Set,this._subwatchers=new Set,this._watchers={},this._watchersLock=Promise.resolve(),this._watchersRestorable={},this.watch(t,r,n)}isClosed(){return this._closed}isIgnored(t,r){return!!r&&(Yl.lang.isFunction(r)?!!r(t):r.test(t))}isReady(){return this._ready}close(){return this._locker.reset(),this._poller.reset(),this._roots.clear(),this.watchersClose(),this.isClosed()?!1:(this._closed=!0,this.emit(eN.CLOSE))}error(t){if(this.isClosed())return!1;let r=Yl.lang.castError(t);return this.emit(eN.ERROR,r)}event(t,r,n){return this.isClosed()?!1:(this.emit(eN.ALL,t,r,n),this.emit(t,r,n))}ready(){return this.isClosed()||this.isReady()?!1:(this._ready=!0,this.emit(eN.READY))}pollerExists(t,r){for(let n of this._pollers)if(n.targetPath===t&&Yl.lang.isShallowEqual(n.options,r))return!0;return!1}subwatcherExists(t,r){for(let n of this._subwatchers)if(n.targetPath===t&&Yl.lang.isShallowEqual(n.options,r))return!0;return!1}watchersClose(t,r,n=!0){if(t){let i=this._watchers[t];if(i)for(let o of[...i])r&&o.filePath!==r||this.watcherClose(o);if(n)for(let o in this._watchers)Yl.fs.isSubPath(t,o)&&this.watchersClose(o,r,!1)}else for(let i in this._watchers)this.watchersClose(i,r,!1)}watchersLock(t){return this._watchersLock.then(()=>this._watchersLock=new Promise(async r=>{await t(),r()}))}watchersRestore(){delete this._watchersRestoreTimeout;let t=Object.entries(this._watchersRestorable);this._watchersRestorable={};for(let[r,n]of t)this.watchPath(r,n.options,n.handler)}async watcherAdd(t,r){let{folderPath:n}=t;(this._watchers[n]=this._watchers[n]||[]).push(t);let o=new Dal(this,t,r);return await o.init(),o}watcherClose(t){t.watcher.close();let r=this._watchers[t.folderPath];if(r){let o=r.indexOf(t);r.splice(o,1),r.length||delete this._watchers[t.folderPath]}let n=t.filePath||t.folderPath;this._roots.has(n)&&(this._watchersRestorable[n]=t,this._watchersRestoreTimeout||(this._watchersRestoreTimeout=Yl.lang.defer(()=>this.watchersRestore())))}watcherExists(t,r,n,i){if(this._watchers[t]?.find(a=>a.handler===n&&(!a.filePath||a.filePath===i)&&a.options.ignore===r.ignore&&!!a.options.native==!!r.native&&(!r.recursive||a.options.recursive)))return!0;let s=d4e.default.dirname(t);for(let a=1;a<1/0;a++){if(this._watchers[s]?.find(l=>(a===1||l.options.recursive&&a<=(l.options.depth??$Be))&&l.handler===n&&(!l.filePath||l.filePath===i)&&l.options.ignore===r.ignore&&!!l.options.native==!!r.native&&(!r.recursive||l.options.recursive&&ePe&&l.options.native!==!1)))return!0;if(!ePe)break;let u=d4e.default.dirname(t);if(s===u)break;s=u}return!1}async watchDirectories(t,r,n,i,o){if(this.isClosed())return;t=Yl.lang.uniq(t).sort();let s;for(let a of t)if(!this.isIgnored(a,r.ignore)&&!this.watcherExists(a,r,n,i))try{let c=!r.recursive||ePe&&r.native!==!1?r:{...r,recursive:!1},l={watcher:Vei.default.watch(a,c),handler:n,options:r,folderPath:a,filePath:i},p=s=await this.watcherAdd(l,o);if(this._roots.has(i||a)){let f={...r,ignoreInitial:!0,recursive:!1},m=d4e.default.dirname(a),g=a;await this.watchDirectories([m],f,n,g,p)}}catch(c){this.error(c)}return s}async watchDirectory(t,r,n,i,o){if(!this.isClosed()&&!this.isIgnored(t,r.ignore)){if(!r.recursive||ePe&&r.native!==!1)return this.watchersLock(()=>this.watchDirectories([t],r,n,i,o));{r={...r,recursive:!0};let s=r.depth??$Be,a=r.limit??E9t,[c]=await Yl.fs.readdir(t,r.ignore,s,a,this._closeSignal,r.readdirMap);return this.watchersLock(async()=>{let u=await this.watchDirectories([t],r,n,i,o);if(c.length){let l=Yl.fs.getDepth(t);for(let p of c){let d=Yl.fs.getDepth(p),f=Math.max(0,s-(d-l)),m={...r,depth:f};await this.watchDirectories([p],m,n,i,o||u)}}})}}}async watchFileOnce(t,r,n){if(this.isClosed()||(r={...r,ignoreInitial:!1},this.subwatcherExists(t,r)))return;let i={targetPath:t,options:r},o=(u,l)=>{l===t&&(c(),n())},s=new e(o),a=()=>{this._subwatchers.add(i),this.on(eN.CLOSE,c),s.watchFile(t,r,o)},c=()=>{this._subwatchers.delete(i),this.removeListener(eN.CLOSE,c),s.close()};return a()}async watchFile(t,r,n){if(this.isClosed()||this.isIgnored(t,r.ignore))return;r={...r,recursive:!1};let i=d4e.default.dirname(t);return this.watchDirectory(i,r,n,t)}async watchPollingOnce(t,r,n){if(this.isClosed())return;let i=!1,o=new vYo,s=await this.watchPolling(t,r,async()=>{i||!(await o.update(t,r.pollingTimeout)).length||i||(i=!0,s(),n())})}async watchPolling(t,r,n){if(this.isClosed())return Yl.lang.noop;if(this.pollerExists(t,r))return Yl.lang.noop;let i={...r,interval:r.pollingInterval??bal},o={targetPath:t,options:r},s=()=>{this._pollers.add(o),this.on(eN.CLOSE,a),Vei.default.watchFile(t,i,n)},a=()=>{this._pollers.delete(o),this.removeListener(eN.CLOSE,a),Vei.default.unwatchFile(t,n)};return Yl.lang.attempt(s),()=>Yl.lang.attempt(a)}async watchUnknownChild(t,r,n){if(this.isClosed())return;let i=()=>this.watchPath(t,r,n);return this.watchFileOnce(t,r,i)}async watchUnknownTarget(t,r,n){if(this.isClosed())return;let i=()=>this.watchPath(t,r,n);return this.watchPollingOnce(t,r,i)}async watchPaths(t,r,n){if(this.isClosed())return;if(t=Yl.lang.uniq(t).sort(),t.every((o,s)=>t.every((a,c)=>c===s||!Yl.fs.isSubPath(o,a))))await Promise.all(t.map(o=>this.watchPath(o,r,n)));else for(let o of t)await this.watchPath(o,r,n)}async watchPath(t,r,n){if(this.isClosed()||(t=d4e.default.resolve(t),this.isIgnored(t,r.ignore)))return;let i=await Yl.fs.poll(t,r.pollingTimeout);if(i){if(i.isFile())return this.watchFile(t,r,n);if(i.isDirectory())return this.watchDirectory(t,r,n);this.error(`"${t}" is not supported`)}else{let o=d4e.default.dirname(t);return(await Yl.fs.poll(o,r.pollingTimeout))?.isDirectory()?this.watchUnknownChild(t,r,n):this.watchUnknownTarget(t,r,n)}}async watch(t,r,n=Yl.lang.noop){if(Yl.lang.isFunction(t))return this.watch([],{},t);if(Yl.lang.isUndefined(t))return this.watch([],r,n);if(Yl.lang.isFunction(r))return this.watch(t,{},r);if(Yl.lang.isUndefined(r))return this.watch(t,{},n);if(this.isClosed())return;this.isReady()&&(r.readdirMap=void 0);let i=Yl.lang.castArray(t);i.forEach(o=>this._roots.add(o)),await this.watchPaths(i,r,n),!this.isClosed()&&(n!==Yl.lang.noop&&this.on(eN.ALL,n),r.readdirMap=void 0,this.ready())}},Nal=xYo;function Ynh(e){return"code"in e&&typeof e.code=="string"}function jal(e){return e instanceof Error?e:new Error(String(e))}function Qal(e){return Ynh(e)&&e.code==="ENOSPC"?"Unable to watch Fern docs files for changes because the system limit for file watchers was reached. Close other file-watching processes or increase the file watcher limit, then restart `fern docs dev`.":`Unable to watch Fern docs files for changes: ${e.message}`}async function _ei({absoluteFilePathToFern:e,additionalFilepaths:t,context:r}){let n=new Nal([e,...t],{recursive:!0,ignoreInitial:!0,debounce:100,renameDetection:!0}),i=await new Promise(o=>{let s=()=>{n.off("error",a),o(void 0)},a=c=>{n.off("ready",s),o(jal(c))};n.once("ready",s),n.once("error",a)});return i!=null&&(n.close(),r.failAndThrow(Qal(i),i,{code:B.Code.EnvironmentError})),n.on("error",o=>{let s=jal(o);r.failWithoutThrowing(Qal(s),s,{code:B.Code.EnvironmentError}),n.close()}),n}Zt();Ow();jt();bn();var Mdl=require("child_process"),rri=be(RYo(),1),Ldl=be(GXo(),1),qE=require("fs"),iN=require("fs/promises"),Udl=require("os"),nN=be(require("path"),1),Vdl=be(hv(),1),_dl=be(zdl(),1),v4e=process.platform==="win32",tri=fe.cyan("[docs]:"),Sch="etag",Tch=23,rZo=e=>e.padEnd(Tch," "),Och="preview",Bch="app-preview",Pch="bundle",Dch=".next",Rch="standalone",Fch=".fern",kch="packages/fern-docs/bundle/.next/server/instrumentation.js",Nch='Cannot find matching keyid: {"signatures":',jch="ERR_PNPM_IGNORED_BUILDS";function Qch(e){try{let r=(0,Mdl.execSync)('reg query "HKLM\\SYSTEM\\CurrentControlSet\\Control\\FileSystem" /v LongPathsEnabled',{encoding:"utf-8",timeout:5e3}).match(/LongPathsEnabled\s+REG_DWORD\s+0x(\d+)/i);if(r!=null&&r[1]==="1")return}catch(t){e.debug(`Registry query for LongPathsEnabled failed: ${t}`)}throw new B({message:`Windows long path support is not enabled. The docs bundle contains deeply nested .pnpm paths that exceed the 260-character MAX_PATH limit.
|
|
3600
3600
|
|
|
@@ -4163,7 +4163,7 @@ Please ensure you have membership at https://dashboard.buildwithfern.com, and as
|
|
|
4163
4163
|
|
|
4164
4164
|
Please ensure you have membership at https://dashboard.buildwithfern.com, and ask a team member for an invite if not.`:r}function h4h(e,t,r){return t!=null&&t.includes("Invalid authorization token")?`Your authentication token is invalid or expired. Please run '${r}' to re-authenticate.`:`You are not authorized to publish docs under organization '${e}'. Please run '${r}' to ensure you are logged in with the correct account.
|
|
4165
4165
|
|
|
4166
|
-
Please ensure you have membership at https://dashboard.buildwithfern.com, and ask a team member for an invite if not.`}function g4h(e){if(e==null)return{code:void 0,message:void 0};let t=e.body;if(t!=null&&typeof t=="object"){let n=typeof t.code=="string"?t.code:void 0,i=typeof t.message=="string"?t.message:void 0;return{code:n,message:i}}return{code:void 0,message:typeof t=="string"&&t.length>0?t:typeof e.errorMessage=="string"?e.errorMessage:typeof e.message=="string"?e.message:void 0}}function A4h(e){try{return new URL(W2(e)).pathname}catch{return}}async function y4h({fdr:e,workspace:t,organization:r,context:n,snippetsConfig:i}){if(!t)return;let o=await b4h({fdr:e,workspace:t,snippetsConfig:i,context:n});if(Object.keys(o).length===0){n.logger.debug("[SDK Dynamic IR] No snippet configs found, skipping S3 check");return}try{let s=Object.fromEntries(Object.entries(o).map(([l,p])=>[l,{packageName:p.packageName,version:p.version}])),c=(await e.api.register.checkSdkDynamicIrExists({orgId:cn.OrgId(r),snippetConfiguration:s})).existingDynamicIrs??{};if(Object.keys(c).length===0){n.logger.debug("[SDK Dynamic IR] No existing SDK dynamic IRs found in S3");return}let u={};for(let[l,p]of Object.entries(c??{}))try{n.logger.debug(`Downloading existing SDK dynamic IR for ${l}...`);let d=await fetch(p.downloadUrl);if(d.ok){let f=await d.json();u[l]={dynamicIR:f},n.logger.debug(`Successfully downloaded SDK dynamic IR for ${l}`)}else n.logger.warn(`Failed to download SDK dynamic IR for ${l}: ${d.status}`)}catch(d){n.logger.warn(`Error downloading SDK dynamic IR for ${l}: ${d}`)}return Object.keys(u).length>0?u:void 0}catch(s){n.logger.debug(`Error checking for existing SDK dynamic IRs: ${s}`);return}}function Gfs(e){return e.replace(/^https:\/\//,"")}async function b4h({fdr:e,workspace:t,snippetsConfig:r,context:n}){let i={},o=[{language:"typescript",snippetName:r.typescriptSdk?.package??void 0,explicitVersion:r.typescriptSdk?.version??void 0},{language:"python",snippetName:r.pythonSdk?.package??void 0,explicitVersion:r.pythonSdk?.version??void 0},{language:"java",snippetName:r.javaSdk?.coordinate??void 0,explicitVersion:r.javaSdk?.version??void 0},{language:"go",snippetName:r.goSdk?.githubRepo&&Gfs(r.goSdk?.githubRepo),explicitVersion:r.goSdk?.version??void 0},{language:"csharp",snippetName:r.csharpSdk?.package??void 0,explicitVersion:r.csharpSdk?.version??void 0},{language:"ruby",snippetName:r.rubySdk?.gem??void 0,explicitVersion:r.rubySdk?.version??void 0},{language:"php",snippetName:r.phpSdk?.package??void 0,explicitVersion:r.phpSdk?.version??void 0},{language:"swift",snippetName:r.swiftSdk?.package??void 0,explicitVersion:r.swiftSdk?.version??void 0},{language:"rust",snippetName:r.rustSdk?.package??void 0,explicitVersion:r.rustSdk?.version??void 0}];for(let s of o){if(!s.snippetName)continue;let a=s.explicitVersion??void 0;a||(a=(await E4h({fdr:e,workspace:t,language:s.language,snippetName:s.snippetName,context:n}))?.version),i[s.language]={packageName:s.snippetName,version:a},a||n.logger.debug(`[SDK Dynamic IR] ${s.language}: no version specified, will use latest`)}return i}async function E4h({fdr:e,workspace:t,language:r,snippetName:n,context:i}){let o;switch(r){case"csharp":o="Csharp";break;case"go":o="Go";break;case"java":o="Java";break;case"python":o="Python";break;case"ruby":o="Ruby";break;case"typescript":o="TypeScript";break;case"php":o="Php";break;case"swift":o="Swift";break;default:return}let s,a,c;if(t.generatorsConfiguration?.groups){let u=[];for(let l of t.generatorsConfiguration.groups)for(let p of l.generators)if(p.language===r){let d=jn.getPackageName({generatorInvocation:p});d&&u.push(d),!a&&d&&(a=d,c=p.name,p.outputMode.type==="githubV2"&&(s=`${p.outputMode.githubV2.owner}/${p.outputMode.githubV2.repo}`))}}if(!a){i.logger.debug(`[SDK Dynamic IR] ${r}: no generator found with a package name`);return}try{let u=await e.sdks.computeSemanticVersion({githubRepository:s,language:o,package:a});return i.logger.debug(`[SDK Dynamic IR] ${r}: computed version ${u.version} for package "${a}"`),{version:u.version,generatorPackage:a}}catch(u){i.logger.debug(`[SDK Dynamic IR] ${r}: error computing version: ${u}`);return}}async function I4h({workspace:e,organization:t,context:r,snippetsConfig:n,skipLanguages:i=new Set}){let o={};if(!e)return;let s={typescript:n.typescriptSdk?.package,python:n.pythonSdk?.package,java:n.javaSdk?.coordinate,go:n.goSdk?.githubRepo&&Gfs(n.goSdk?.githubRepo),csharp:n.csharpSdk?.package,ruby:n.rubySdk?.gem,php:n.phpSdk?.package,swift:n.swiftSdk?.package,rust:n.rustSdk?.package};if(e.generatorsConfiguration?.groups)for(let a of e.generatorsConfiguration.groups)for(let c of a.generators){let u=FUe({apiName:e.workspaceName??"",organization:t,generatorInvocation:c}),l="";if(u?.outputConfig.type==="publish")switch(u.outputConfig.value.type){case"npm":case"nuget":case"pypi":case"rubygems":l=u.outputConfig.value.packageName;break;case"maven":l=u.outputConfig.value.coordinate;break;case"go":l=u.outputConfig.value.repoUrl;break;case"swift":l=u.outputConfig.value.repoUrl;break;case"crates":l=u.outputConfig.value.packageName;break}if(c.language==="php"&&c.config&&typeof c.config=="object"&&"packageName"in c.config&&(l=c.config.packageName??""),c.language==="go"&&l&&(l=Gfs(l)),!!c.language){if(i.has(c.language)){r.logger.debug(`Skipping dynamic IR generation for ${c.language} (using existing SDK dynamic IR)`);continue}if(c.language&&s[c.language]===l){let p=Sg({workspace:e,generationLanguage:c.language,keywords:void 0,smartCasing:c.smartCasing,exampleGeneration:{disabled:!0,skipAutogenerationIfManualExamplesExist:!0,skipErrorAutogenerationIfManualErrorExamplesExist:!0},audiences:{type:"all"},readme:void 0,packageName:l,version:void 0,context:r,sourceResolver:new xh(r,e),dynamicGeneratorConfig:u}),d=Lze({ir:p,disableExamples:!0,smartCasing:c.smartCasing,generationLanguage:c.language,generatorConfig:u});d?o[c.language]={dynamicIR:d}:r.logger.debug(`Failed to create dynamic IR for ${c.language}`)}}}for(let[a,c]of Object.entries(s))a&&c&&!Object.keys(o).includes(a)&&!i.has(a)&&(r.logger.warn(),r.logger.warn(`Failed to upload ${a} SDK snippets because of unknown package \`${c}\`.`),r.logger.warn(`Please make sure your ${e.workspaceName?`${e.workspaceName}/`:""}generators.yml has a generator that publishes a ${c} package.`),r.logger.warn());if(Object.keys(o).length>0)return o}async function v4h({dynamicIRs:e,dynamicIRUploadUrls:t,context:r,apiId:n}){if(Object.keys(t).length>0)for(let[i,o]of Object.entries(t)){let s=e[i]?.dynamicIR;if(s){let a=JSON.stringify(s);try{(await fetch(o.uploadUrl,{method:"PUT",body:a,headers:{"Content-Type":"application/octet-stream","Content-Length":Buffer.byteLength(a,"utf8").toString()}})).ok?r.logger.debug(`Uploaded dynamic IR for ${n}:${i}`):r.logger.warn(`Failed to upload dynamic IR for ${n}:${i}`)}catch(c){r.logger.warn(`Network error uploading dynamic IR for ${n}:${i}: ${c}`)}}else r.logger.warn(`Could not find matching dynamic IR to upload for ${n}:${i}`)}}async function x4h({docsDefinition:e,isPreview:t,context:r}){e.config.aiChatConfig==null||t||r.logger.warn(fe.yellow("Enabling Ask Fern from docs.yml is deprecated. Please enable it from the Fern dashboard instead."))}function C4h(e,t){if(e)return{enabled:!0,model:process.env.FERN_AI_MODEL||"gpt-4o-mini",maxRetries:parseInt(process.env.FERN_AI_MAX_RETRIES||"3"),requestTimeoutMs:parseInt(process.env.FERN_AI_TIMEOUT_MS||"25000"),styleInstructions:t}}function w4h(e){let t=e,r=t?.content,n=t?.statusCode??r?.statusCode;return n==null?!0:n===429||n>=500}function G6l(e){let t=e,r=t?.content;return{errorType:t?.error,statusCode:t?.statusCode??r?.statusCode,reason:r?.reason,errorMessage:r?.errorMessage??r?.message,body:r?.body,cause:r?.cause,rawError:e}}var eWt=[60*1e3,300*1e3,300*1e3];async function tWt({organization:e,apiWorkspaces:t,ossWorkspaces:r,docsWorkspace:n,context:i,token:o,instanceUrl:s,preview:a,previewId:c,disableTemplates:u,skipUpload:l,cliVersion:p,ciSource:d,deployerAuthor:f,loginCommand:m}){let g=a&&!n.config.settings?.substituteEnvVars;n.config=XA(n.config,{onError:C=>i.failAndThrow(void 0,C,{code:B.Code.EnvironmentError})},{substituteAsEmpty:g});let A=n.config.instances;if(A.length===0){i.failAndThrow("No instances specified in docs.yml! Cannot register docs.",void 0,{code:B.Code.ConfigError});return}if(A.length>1&&s==null){i.failAndThrow(`More than one docs instances. Please specify one (e.g. --instance ${A[0]?.url})`,void 0,{code:B.Code.ConfigError});return}let y=A.find(C=>C.url===s)??A[0];if(y==null){i.failAndThrow(`No docs instance with url ${s}. Failed to register.`,void 0,{code:B.Code.ConfigError});return}let E=(typeof y.customDomain=="string"?[y.customDomain]:y.customDomain??[]).map(BFl);(y.multiSource===!0||n.config.experimental?.basepathAware===!0)&&PFl(y.url,E,i),i.logger.info(`Starting docs publishing for ${a?"preview":"production"}: ${y.url}`),i.logger.debug(`Organization: ${e}, Preview: ${a}, APIs: ${t.length}, OSS: ${r.length}`);let I;return await i.runInteractiveTask({name:y.url},async()=>{let C=performance.now(),w=()=>V6l({docsWorkspace:n,customDomains:E,domain:y.url,token:o,organization:e,context:i,apiWorkspaces:t,ossWorkspaces:r,preview:a,previewId:c,editThisPage:y.editThisPage,disableTemplates:u,skipUpload:l,withAiExamples:n.config.aiExamples?.enabled??n.config.experimental?.aiExamples??!0,excludeApis:n.config.experimental?.excludeApis??!1,targetAudiences:y.audiences?Array.isArray(y.audiences)?y.audiences:[y.audiences]:void 0,docsUrl:y.url,cliVersion:p,ciSource:d,deployerAuthor:f,loginCommand:m,multiSource:y.multiSource??!1});for(let P=0;;P++)try{I=await w();break}catch(O){if(!(O instanceof svt)||P>=eWt.length){if(O instanceof svt)return i.failAndThrow("Another docs publish is currently in progress. Please try again once the other publish is complete.",void 0,{code:B.Code.NetworkError});throw O}let M=eWt[P]??eWt[eWt.length-1]??6e4,K=M/6e4;i.logger.warn(`Another docs publish is in progress. Retrying in ${K} minute${K===1?"":"s"} (attempt ${P+1}/${eWt.length})...`),await new Promise(J=>setTimeout(J,M))}let T=performance.now()-C;i.logger.debug(`Docs publishing completed in ${T.toFixed(0)}ms`)}),I}jt();var tpi=class{context;task;project;docsWorkspace;ossWorkspaces;token;constructor({context:t,task:r,project:n,docsWorkspace:i,ossWorkspaces:o,token:s}){this.context=t,this.task=r,this.project=n,this.docsWorkspace=i,this.ossWorkspaces=o,this.token=s}async publish({instanceUrl:t,preview:r,previewId:n,skipUpload:i}){let o=new od({context:this.context,task:this.task});try{let s=await tWt({organization:this.project.config.organization,apiWorkspaces:this.project.apiWorkspaces,ossWorkspaces:this.ossWorkspaces,docsWorkspace:this.docsWorkspace,context:o,token:this.token,instanceUrl:t,preview:r,previewId:n,disableTemplates:void 0,skipUpload:i,cliVersion:"5.51.1",loginCommand:"fern auth login"});return o.getResult()===df.Failure?{success:!1}:{success:!0,url:s}}catch(s){return{success:!1,error:Ln(s)}}}};Dt();bn();var avt=class e{static MAX_DISPLAYED_LOGS_TTY=10;static URL_PATTERN=/https?:\/\/[^\s]+/;context;stream;tasks={};taskOrder=[];startTime;isRegistered=!1;constructor(t){this.context=t.context,this.stream=t.stream??process.stderr}addTask(t){let r={...t,status:t.status??"pending"};return this.tasks[t.id]=r,this.taskOrder.push(t.id),this}async start(t){return this.startTime=Date.now(),t!=null&&await this.context.ttyAwareLogger.takeOverTerminal(()=>{this.stream.write(`
|
|
4166
|
+
Please ensure you have membership at https://dashboard.buildwithfern.com, and ask a team member for an invite if not.`}function g4h(e){if(e==null)return{code:void 0,message:void 0};let t=e.body;if(t!=null&&typeof t=="object"){let n=typeof t.code=="string"?t.code:void 0,i=typeof t.message=="string"?t.message:void 0;return{code:n,message:i}}return{code:void 0,message:typeof t=="string"&&t.length>0?t:typeof e.errorMessage=="string"?e.errorMessage:typeof e.message=="string"?e.message:void 0}}function A4h(e){try{return new URL(W2(e)).pathname}catch{return}}async function y4h({fdr:e,workspace:t,organization:r,context:n,snippetsConfig:i}){if(!t)return;let o=await b4h({fdr:e,workspace:t,snippetsConfig:i,context:n});if(Object.keys(o).length===0){n.logger.debug("[SDK Dynamic IR] No snippet configs found, skipping S3 check");return}try{let s=Object.fromEntries(Object.entries(o).map(([l,p])=>[l,{packageName:p.packageName,version:p.version}])),c=(await e.api.register.checkSdkDynamicIrExists({orgId:cn.OrgId(r),snippetConfiguration:s})).existingDynamicIrs??{};if(Object.keys(c).length===0){n.logger.debug("[SDK Dynamic IR] No existing SDK dynamic IRs found in S3");return}let u={};for(let[l,p]of Object.entries(c??{}))try{n.logger.debug(`Downloading existing SDK dynamic IR for ${l}...`);let d=await fetch(p.downloadUrl);if(d.ok){let f=await d.json();u[l]={dynamicIR:f},n.logger.debug(`Successfully downloaded SDK dynamic IR for ${l}`)}else n.logger.warn(`Failed to download SDK dynamic IR for ${l}: ${d.status}`)}catch(d){n.logger.warn(`Error downloading SDK dynamic IR for ${l}: ${d}`)}return Object.keys(u).length>0?u:void 0}catch(s){n.logger.debug(`Error checking for existing SDK dynamic IRs: ${s}`);return}}function Gfs(e){return e.replace(/^https:\/\//,"")}async function b4h({fdr:e,workspace:t,snippetsConfig:r,context:n}){let i={},o=[{language:"typescript",snippetName:r.typescriptSdk?.package??void 0,explicitVersion:r.typescriptSdk?.version??void 0},{language:"python",snippetName:r.pythonSdk?.package??void 0,explicitVersion:r.pythonSdk?.version??void 0},{language:"java",snippetName:r.javaSdk?.coordinate??void 0,explicitVersion:r.javaSdk?.version??void 0},{language:"go",snippetName:r.goSdk?.githubRepo&&Gfs(r.goSdk?.githubRepo),explicitVersion:r.goSdk?.version??void 0},{language:"csharp",snippetName:r.csharpSdk?.package??void 0,explicitVersion:r.csharpSdk?.version??void 0},{language:"ruby",snippetName:r.rubySdk?.gem??void 0,explicitVersion:r.rubySdk?.version??void 0},{language:"php",snippetName:r.phpSdk?.package??void 0,explicitVersion:r.phpSdk?.version??void 0},{language:"swift",snippetName:r.swiftSdk?.package??void 0,explicitVersion:r.swiftSdk?.version??void 0},{language:"rust",snippetName:r.rustSdk?.package??void 0,explicitVersion:r.rustSdk?.version??void 0}];for(let s of o){if(!s.snippetName)continue;let a=s.explicitVersion??void 0;a||(a=(await E4h({fdr:e,workspace:t,language:s.language,snippetName:s.snippetName,context:n}))?.version),i[s.language]={packageName:s.snippetName,version:a},a||n.logger.debug(`[SDK Dynamic IR] ${s.language}: no version specified, will use latest`)}return i}async function E4h({fdr:e,workspace:t,language:r,snippetName:n,context:i}){let o;switch(r){case"csharp":o="Csharp";break;case"go":o="Go";break;case"java":o="Java";break;case"python":o="Python";break;case"ruby":o="Ruby";break;case"typescript":o="TypeScript";break;case"php":o="Php";break;case"swift":o="Swift";break;default:return}let s,a,c;if(t.generatorsConfiguration?.groups){let u=[];for(let l of t.generatorsConfiguration.groups)for(let p of l.generators)if(p.language===r){let d=jn.getPackageName({generatorInvocation:p});d&&u.push(d),!a&&d&&(a=d,c=p.name,p.outputMode.type==="githubV2"&&(s=`${p.outputMode.githubV2.owner}/${p.outputMode.githubV2.repo}`))}}if(!a){i.logger.debug(`[SDK Dynamic IR] ${r}: no generator found with a package name`);return}try{let u=await e.sdks.computeSemanticVersion({githubRepository:s,language:o,package:a});return i.logger.debug(`[SDK Dynamic IR] ${r}: computed version ${u.version} for package "${a}"`),{version:u.version,generatorPackage:a}}catch(u){i.logger.debug(`[SDK Dynamic IR] ${r}: error computing version: ${u}`);return}}async function I4h({workspace:e,organization:t,context:r,snippetsConfig:n,skipLanguages:i=new Set}){let o={};if(!e)return;let s={typescript:n.typescriptSdk?.package,python:n.pythonSdk?.package,java:n.javaSdk?.coordinate,go:n.goSdk?.githubRepo&&Gfs(n.goSdk?.githubRepo),csharp:n.csharpSdk?.package,ruby:n.rubySdk?.gem,php:n.phpSdk?.package,swift:n.swiftSdk?.package,rust:n.rustSdk?.package};if(e.generatorsConfiguration?.groups)for(let a of e.generatorsConfiguration.groups)for(let c of a.generators){let u=FUe({apiName:e.workspaceName??"",organization:t,generatorInvocation:c}),l="";if(u?.outputConfig.type==="publish")switch(u.outputConfig.value.type){case"npm":case"nuget":case"pypi":case"rubygems":l=u.outputConfig.value.packageName;break;case"maven":l=u.outputConfig.value.coordinate;break;case"go":l=u.outputConfig.value.repoUrl;break;case"swift":l=u.outputConfig.value.repoUrl;break;case"crates":l=u.outputConfig.value.packageName;break}if(c.language==="php"&&c.config&&typeof c.config=="object"&&"packageName"in c.config&&(l=c.config.packageName??""),c.language==="go"&&l&&(l=Gfs(l)),!!c.language){if(i.has(c.language)){r.logger.debug(`Skipping dynamic IR generation for ${c.language} (using existing SDK dynamic IR)`);continue}if(c.language&&s[c.language]===l){let p=Sg({workspace:e,generationLanguage:c.language,keywords:void 0,smartCasing:c.smartCasing,exampleGeneration:{disabled:!0,skipAutogenerationIfManualExamplesExist:!0,skipErrorAutogenerationIfManualErrorExamplesExist:!0},audiences:{type:"all"},readme:void 0,packageName:l,version:void 0,context:r,sourceResolver:new xh(r,e),dynamicGeneratorConfig:u}),d=Lze({ir:p,disableExamples:!0,smartCasing:c.smartCasing,generationLanguage:c.language,generatorConfig:u});d?o[c.language]={dynamicIR:d}:r.logger.debug(`Failed to create dynamic IR for ${c.language}`)}}}for(let[a,c]of Object.entries(s))a&&c&&!Object.keys(o).includes(a)&&!i.has(a)&&(r.logger.warn(),r.logger.warn(`Failed to upload ${a} SDK snippets because of unknown package \`${c}\`.`),r.logger.warn(`Please make sure your ${e.workspaceName?`${e.workspaceName}/`:""}generators.yml has a generator that publishes a ${c} package.`),r.logger.warn());if(Object.keys(o).length>0)return o}async function v4h({dynamicIRs:e,dynamicIRUploadUrls:t,context:r,apiId:n}){if(Object.keys(t).length>0)for(let[i,o]of Object.entries(t)){let s=e[i]?.dynamicIR;if(s){let a=JSON.stringify(s);try{(await fetch(o.uploadUrl,{method:"PUT",body:a,headers:{"Content-Type":"application/octet-stream","Content-Length":Buffer.byteLength(a,"utf8").toString()}})).ok?r.logger.debug(`Uploaded dynamic IR for ${n}:${i}`):r.logger.warn(`Failed to upload dynamic IR for ${n}:${i}`)}catch(c){r.logger.warn(`Network error uploading dynamic IR for ${n}:${i}: ${c}`)}}else r.logger.warn(`Could not find matching dynamic IR to upload for ${n}:${i}`)}}async function x4h({docsDefinition:e,isPreview:t,context:r}){e.config.aiChatConfig==null||t||r.logger.warn(fe.yellow("Enabling Ask Fern from docs.yml is deprecated. Please enable it from the Fern dashboard instead."))}function C4h(e,t){if(e)return{enabled:!0,model:process.env.FERN_AI_MODEL||"gpt-4o-mini",maxRetries:parseInt(process.env.FERN_AI_MAX_RETRIES||"3"),requestTimeoutMs:parseInt(process.env.FERN_AI_TIMEOUT_MS||"25000"),styleInstructions:t}}function w4h(e){let t=e,r=t?.content,n=t?.statusCode??r?.statusCode;return n==null?!0:n===429||n>=500}function G6l(e){let t=e,r=t?.content;return{errorType:t?.error,statusCode:t?.statusCode??r?.statusCode,reason:r?.reason,errorMessage:r?.errorMessage??r?.message,body:r?.body,cause:r?.cause,rawError:e}}var eWt=[60*1e3,300*1e3,300*1e3];async function tWt({organization:e,apiWorkspaces:t,ossWorkspaces:r,docsWorkspace:n,context:i,token:o,instanceUrl:s,preview:a,previewId:c,disableTemplates:u,skipUpload:l,cliVersion:p,ciSource:d,deployerAuthor:f,loginCommand:m}){let g=a&&!n.config.settings?.substituteEnvVars;n.config=XA(n.config,{onError:C=>i.failAndThrow(void 0,C,{code:B.Code.EnvironmentError})},{substituteAsEmpty:g});let A=n.config.instances;if(A.length===0){i.failAndThrow("No instances specified in docs.yml! Cannot register docs.",void 0,{code:B.Code.ConfigError});return}if(A.length>1&&s==null){i.failAndThrow(`More than one docs instances. Please specify one (e.g. --instance ${A[0]?.url})`,void 0,{code:B.Code.ConfigError});return}let y=A.find(C=>C.url===s)??A[0];if(y==null){i.failAndThrow(`No docs instance with url ${s}. Failed to register.`,void 0,{code:B.Code.ConfigError});return}let E=(typeof y.customDomain=="string"?[y.customDomain]:y.customDomain??[]).map(BFl);(y.multiSource===!0||n.config.experimental?.basepathAware===!0)&&PFl(y.url,E,i),i.logger.info(`Starting docs publishing for ${a?"preview":"production"}: ${y.url}`),i.logger.debug(`Organization: ${e}, Preview: ${a}, APIs: ${t.length}, OSS: ${r.length}`);let I;return await i.runInteractiveTask({name:y.url},async()=>{let C=performance.now(),w=()=>V6l({docsWorkspace:n,customDomains:E,domain:y.url,token:o,organization:e,context:i,apiWorkspaces:t,ossWorkspaces:r,preview:a,previewId:c,editThisPage:y.editThisPage,disableTemplates:u,skipUpload:l,withAiExamples:n.config.aiExamples?.enabled??n.config.experimental?.aiExamples??!0,excludeApis:n.config.experimental?.excludeApis??!1,targetAudiences:y.audiences?Array.isArray(y.audiences)?y.audiences:[y.audiences]:void 0,docsUrl:y.url,cliVersion:p,ciSource:d,deployerAuthor:f,loginCommand:m,multiSource:y.multiSource??!1});for(let P=0;;P++)try{I=await w();break}catch(O){if(!(O instanceof svt)||P>=eWt.length){if(O instanceof svt)return i.failAndThrow("Another docs publish is currently in progress. Please try again once the other publish is complete.",void 0,{code:B.Code.NetworkError});throw O}let M=eWt[P]??eWt[eWt.length-1]??6e4,K=M/6e4;i.logger.warn(`Another docs publish is in progress. Retrying in ${K} minute${K===1?"":"s"} (attempt ${P+1}/${eWt.length})...`),await new Promise(J=>setTimeout(J,M))}let T=performance.now()-C;i.logger.debug(`Docs publishing completed in ${T.toFixed(0)}ms`)}),I}jt();var tpi=class{context;task;project;docsWorkspace;ossWorkspaces;token;constructor({context:t,task:r,project:n,docsWorkspace:i,ossWorkspaces:o,token:s}){this.context=t,this.task=r,this.project=n,this.docsWorkspace=i,this.ossWorkspaces=o,this.token=s}async publish({instanceUrl:t,preview:r,previewId:n,skipUpload:i}){let o=new od({context:this.context,task:this.task});try{let s=await tWt({organization:this.project.config.organization,apiWorkspaces:this.project.apiWorkspaces,ossWorkspaces:this.ossWorkspaces,docsWorkspace:this.docsWorkspace,context:o,token:this.token,instanceUrl:t,preview:r,previewId:n,disableTemplates:void 0,skipUpload:i,cliVersion:"5.51.2",loginCommand:"fern auth login"});return o.getResult()===df.Failure?{success:!1}:{success:!0,url:s}}catch(s){return{success:!1,error:Ln(s)}}}};Dt();bn();var avt=class e{static MAX_DISPLAYED_LOGS_TTY=10;static URL_PATTERN=/https?:\/\/[^\s]+/;context;stream;tasks={};taskOrder=[];startTime;isRegistered=!1;constructor(t){this.context=t.context,this.stream=t.stream??process.stderr}addTask(t){let r={...t,status:t.status??"pending"};return this.tasks[t.id]=r,this.taskOrder.push(t.id),this}async start(t){return this.startTime=Date.now(),t!=null&&await this.context.ttyAwareLogger.takeOverTerminal(()=>{this.stream.write(`
|
|
4167
4167
|
`),this.stream.write(`${fe.cyan("\u25C6")} ${fe.bold(t.title)}
|
|
4168
4168
|
`),t.subtitle!=null&&this.stream.write(` ${fe.dim(t.subtitle)}
|
|
4169
4169
|
`),this.stream.write(`
|
|
@@ -4810,7 +4810,7 @@ ${r}`}function QAi(e){let t=this,{emitParseErrors:r,...n}={...t.data("settings")
|
|
|
4810
4810
|
`),g="";return c&&(g=l.style.error(c)),[`${p} ${f} ${s}`,[m,g].filter(Boolean).join(`
|
|
4811
4811
|
`)]});var Mzg=yx((e,t)=>{let{validate:r=()=>!0}=e,n=iI(e.theme),[i,o]=$c("idle"),[s,a]=$c(),[c,u]=$c(""),l=gx({status:i,theme:n});Ax(async(g,A)=>{if(i==="idle")if(hx(g)){let y=c;o("loading");let E=await r(y);E===!0?(u(y),o("done"),t(y)):(A.write(c),a(E||"You must provide a valid value"),o("idle"))}else u(A.line),a(void 0)});let p=n.style.message(e.message,i),d="",f;e.mask?d=(typeof e.mask=="string"?e.mask:"*").repeat(c.length):i!=="done"&&(f=`${n.style.help("[input is masked]")}${vwt}`),i==="done"&&(d=n.style.answer(d));let m="";return s&&(m=n.style.error(s)),[[l,p,e.mask?d:f].join(" "),m]});var F5e=be(Rw(),1);var Lzg={icon:{cursor:sC.pointer},style:{disabled:e=>F5e.default.dim(`- ${e}`),searchTerm:e=>F5e.default.cyan(e),description:e=>F5e.default.cyan(e),keysHelpTip:e=>e.map(([t,r])=>`${F5e.default.bold(t)} ${F5e.default.dim(r)}`).join(F5e.default.dim(" \u2022 "))},helpMode:"always"};function gRs(e){return!fd.isSeparator(e)&&!e.disabled}function Uzg(e){return e.map(t=>{if(fd.isSeparator(t))return t;if(typeof t=="string")return{value:t,name:t,short:t,disabled:!1};let r=t.name??String(t.value),n={value:t.value,name:r,short:t.short??r,disabled:t.disabled??!1};return t.description&&(n.description=t.description),n})}var Vzg=yx((e,t)=>{let{pageSize:r=7,validate:n=()=>!0}=e,i=iI(Lzg,e.theme),[o,s]=$c("loading"),[a,c]=$c(""),[u,l]=$c([]),[p,d]=$c(),f=gx({status:o,theme:i}),m=e6(()=>{let M=u.findIndex(gRs),K=u.findLastIndex(gRs);return{first:M,last:K}},[u]),[g=m.first,A]=$c();Z3(()=>{let M=new AbortController;return s("loading"),d(void 0),(async()=>{try{let J=await e.source(a||void 0,{signal:M.signal});M.signal.aborted||(A(void 0),d(void 0),l(Uzg(J)),s("idle"))}catch(J){!M.signal.aborted&&J instanceof Error&&d(J.message)}})(),()=>{M.abort()}},[a]);let y=u[g];Ax(async(M,K)=>{if(hx(M))if(y){s("loading");let J=await n(y.value);s("idle"),J===!0?(s("done"),t(y.value)):y.name===a?d(J||"You must provide a valid value"):(K.write(y.name),c(y.name))}else K.write(a);else if(She(M)&&y)K.clearLine(0),K.write(y.name),c(y.name);else if(o!=="loading"&&(nP(M)||$M(M))){if(K.clearLine(0),nP(M)&&g!==m.first||$M(M)&&g!==m.last){let J=nP(M)?-1:1,Z=g;do Z=(Z+J+u.length)%u.length;while(!gRs(u[Z]));A(Z)}}else c(K.line)});let E=i.style.message(e.message,o),v;if(i.helpMode!=="never")if(e.instructions){let{pager:M,navigation:K}=e.instructions;v=i.style.help(u.length>r?M:K)}else v=i.style.keysHelpTip([["\u2191\u2193","navigate"],["\u23CE","select"]]);let I=B5e({items:u,active:g,renderItem({item:M,isActive:K}){if(fd.isSeparator(M))return` ${M.separator}`;if(M.disabled){let ae=typeof M.disabled=="string"?M.disabled:"(disabled)";return i.style.disabled(`${M.name} ${ae}`)}let J=K?i.style.highlight:ae=>ae,Z=K?i.icon.cursor:" ";return J(`${Z} ${M.name}`)},pageSize:r,loop:!1}),C;p?C=i.style.error(p):u.length===0&&a!==""&&o==="idle"&&(C=i.style.error("No results found"));let w;if(o==="done"&&y)return[f,E,i.style.answer(y.short)].filter(Boolean).join(" ").trimEnd();w=i.style.searchTerm(a);let T=y?.description,P=[f,E,w].filter(Boolean).join(" ").trimEnd(),O=[C??I," ",T?i.style.description(T):"",v].filter(Boolean).join(`
|
|
4812
4812
|
`).trimEnd();return[P,O]});var Cwt=be(Rw(),1);var _zg={icon:{cursor:sC.pointer},style:{disabled:e=>Cwt.default.dim(`- ${e}`),description:e=>Cwt.default.cyan(e),keysHelpTip:e=>e.map(([t,r])=>`${Cwt.default.bold(t)} ${Cwt.default.dim(r)}`).join(Cwt.default.dim(" \u2022 "))},helpMode:"always",indexMode:"hidden",keybindings:[]};function xwt(e){return!fd.isSeparator(e)&&!e.disabled}function qzg(e){return e.map(t=>{if(fd.isSeparator(t))return t;if(typeof t=="string")return{value:t,name:t,short:t,disabled:!1};let r=t.name??String(t.value),n={value:t.value,name:r,short:t.short??r,disabled:t.disabled??!1};return t.description&&(n.description=t.description),n})}var ARs=yx((e,t)=>{let{loop:r=!0,pageSize:n=7}=e,i=iI(_zg,e.theme),{keybindings:o}=i,[s,a]=$c("idle"),c=gx({status:s,theme:i}),u=O5e(),l=!o.includes("vim"),p=e6(()=>qzg(e.choices),[e.choices]),d=e6(()=>{let T=p.findIndex(xwt),P=p.findLastIndex(xwt);if(T===-1)throw new Aae("[select prompt] No selectable choices. All choices are disabled.");return{first:T,last:P}},[p]),f=e6(()=>"default"in e?p.findIndex(T=>xwt(T)&&T.value===e.default):-1,[e.default,p]),[m,g]=$c(f===-1?d.first:f),A=p[m];Ax((T,P)=>{if(clearTimeout(u.current),hx(T))a("done"),t(A.value);else if(nP(T,o)||$M(T,o)){if(P.clearLine(0),r||nP(T,o)&&m!==d.first||$M(T,o)&&m!==d.last){let O=nP(T,o)?-1:1,M=m;do M=(M+O+p.length)%p.length;while(!xwt(p[M]));g(M)}}else if(OJt(T)&&!Number.isNaN(Number(P.line))){let O=Number(P.line)-1,M=-1,K=p.findIndex(Z=>fd.isSeparator(Z)?!1:(M++,M===O)),J=p[K];J!=null&&xwt(J)&&g(K),u.current=setTimeout(()=>{P.clearLine(0)},700)}else if(w5e(T))P.clearLine(0);else if(l){let O=P.line.toLowerCase(),M=p.findIndex(K=>fd.isSeparator(K)||!xwt(K)?!1:K.name.toLowerCase().startsWith(O));M!==-1&&g(M),u.current=setTimeout(()=>{P.clearLine(0)},700)}}),Z3(()=>()=>{clearTimeout(u.current)},[]);let y=i.style.message(e.message,s),E;if(i.helpMode!=="never")if(e.instructions){let{pager:T,navigation:P}=e.instructions;E=i.style.help(p.length>n?T:P)}else E=i.style.keysHelpTip([["\u2191\u2193","navigate"],["\u23CE","select"]]);let v=0,I=B5e({items:p,active:m,renderItem({item:T,isActive:P,index:O}){if(fd.isSeparator(T))return v++,` ${T.separator}`;let M=i.indexMode==="number"?`${O+1-v}. `:"";if(T.disabled){let Z=typeof T.disabled=="string"?T.disabled:"(disabled)";return i.style.disabled(`${M}${T.name} ${Z}`)}let K=P?i.style.highlight:Z=>Z,J=P?i.icon.cursor:" ";return K(`${J} ${M}${T.name}`)},pageSize:n,loop:r});if(s==="done")return[c,y,i.style.answer(A.short)].filter(Boolean).join(" ");let{description:C}=A;return`${[[c,y].filter(Boolean).join(" "),I," ",C?i.style.description(C):"",E].filter(Boolean).join(`
|
|
4813
|
-
`).trimEnd()}${vwt}`});bn();Vi();var yae={GENERATION_STARTED:"generation_started",GENERATION_COMPLETED:"generation_completed",GENERATION_FAILED:"generation_failed",VERIFICATION_FAILED:"verification_failed",SDK_PR_CREATED:"sdk_pr_created",UPGRADE_APPLIED:"upgrade_applied",MAJOR_VERSION_BUMP:"major_version_bump"},Gzg={[yae.GENERATION_STARTED]:!1,[yae.GENERATION_COMPLETED]:!1,[yae.GENERATION_FAILED]:!0,[yae.VERIFICATION_FAILED]:!0,[yae.SDK_PR_CREATED]:!1,[yae.UPGRADE_APPLIED]:!1,[yae.MAJOR_VERSION_BUMP]:!1};function cnp(e){return Gzg[e]}function unp(e,t){return{automation_mode:!0,surface:"cli",action:t.action,run_id:t.run_id,github_run_id:t.github_run_id,github_run_url:t.github_run_url,org:t.org,config_repo:t.config_repo,config_commit_sha:t.config_commit_sha,config_branch:t.config_branch,config_pr_number:t.config_pr_number,trigger:t.trigger,cli_version:t.cli_version,...e.errorCode!==void 0?{error_code:e.errorCode}:{},...e.attributes??{}}}function lnp(e,t){function r(i,o,s){s!=null&&(i[o]=s)}let n={surface:"cli",automation_mode:"true"};return r(n,"event",e.event),r(n,"action",t.action),r(n,"run_id",t.run_id),r(n,"org",t.org),r(n,"config_repo",t.config_repo),r(n,"trigger",t.trigger),r(n,"error_code",e.errorCode??"none"),n}function pnp(e,t){return{github_run_id:t.github_run_id,github_run_url:t.github_run_url,config_commit_sha:t.config_commit_sha,config_branch:t.config_branch,config_pr_number:t.config_pr_number,cli_version:t.cli_version,...e.attributes??{}}}function fnp(e,t){return{event:e.event,timestamp:new Date().toISOString(),surface:"cli",action:t.action,run_id:t.run_id,github_run_id:t.github_run_id,github_run_url:t.github_run_url,org:t.org,config_repo:t.config_repo,config_commit_sha:t.config_commit_sha,config_branch:t.config_branch,config_pr_number:t.config_pr_number,trigger:t.trigger,cli_version:t.cli_version,...e.errorCode!==void 0?{error_code:e.errorCode}:{},...e.attributes??{}}}function dnp(e){let t=e.join(" ");return/\bautomations\s+generate\b/.test(t)?yae.GENERATION_FAILED:/\bautomations\s+preview\b/.test(t)?yae.VERIFICATION_FAILED:yae.GENERATION_FAILED}var Wzg="",Hzg="FERN_AUTOMATION_EVENTS_ORIGIN",Kzg=3e3,byi=class e{static instance;origin;inflight=[];static getInstance(){return e.instance==null&&(e.instance=new e(process.env[Hzg]??Wzg)),e.instance}constructor(t){this.origin=t}resolveEndpoint(){if(this.origin.length!==0)return`${this.origin.replace(/\/$/,"")}/v1/automation/events`}post(t,r){this.inflight.push(this.send(t,r))}async shutdown(){let t=this.inflight;this.inflight=[],t.length>0&&await Promise.allSettled(t)}async send(t,r){let n=this.resolveEndpoint();if(n==null)return;let i=new AbortController,o=setTimeout(()=>i.abort(),Kzg);try{let s={"content-type":"application/json"},a=await o_();a!=null&&a.value.length>0&&(s.Authorization=`Bearer ${a.value}`);let c=await fetch(n,{method:"POST",headers:s,body:JSON.stringify(fnp(t,r)),signal:i.signal})}catch{return}finally{clearTimeout(o)}}};function mnp(){let{fern_run_id:e,github_run_id:t}=Jae();return{action:process.env.FERN_ACTION,run_id:e,github_run_id:t,github_run_url:process.env.FERN_GITHUB_RUN_URL,org:void 0,config_repo:process.env.FERN_CONFIG_REPO,config_commit_sha:process.env.FERN_CONFIG_COMMIT_SHA,config_branch:process.env.FERN_CONFIG_BRANCH,config_pr_number:process.env.FERN_CONFIG_PR_NUMBER,trigger:process.env.GITHUB_EVENT_NAME,cli_version:"5.51.
|
|
4813
|
+
`).trimEnd()}${vwt}`});bn();Vi();var yae={GENERATION_STARTED:"generation_started",GENERATION_COMPLETED:"generation_completed",GENERATION_FAILED:"generation_failed",VERIFICATION_FAILED:"verification_failed",SDK_PR_CREATED:"sdk_pr_created",UPGRADE_APPLIED:"upgrade_applied",MAJOR_VERSION_BUMP:"major_version_bump"},Gzg={[yae.GENERATION_STARTED]:!1,[yae.GENERATION_COMPLETED]:!1,[yae.GENERATION_FAILED]:!0,[yae.VERIFICATION_FAILED]:!0,[yae.SDK_PR_CREATED]:!1,[yae.UPGRADE_APPLIED]:!1,[yae.MAJOR_VERSION_BUMP]:!1};function cnp(e){return Gzg[e]}function unp(e,t){return{automation_mode:!0,surface:"cli",action:t.action,run_id:t.run_id,github_run_id:t.github_run_id,github_run_url:t.github_run_url,org:t.org,config_repo:t.config_repo,config_commit_sha:t.config_commit_sha,config_branch:t.config_branch,config_pr_number:t.config_pr_number,trigger:t.trigger,cli_version:t.cli_version,...e.errorCode!==void 0?{error_code:e.errorCode}:{},...e.attributes??{}}}function lnp(e,t){function r(i,o,s){s!=null&&(i[o]=s)}let n={surface:"cli",automation_mode:"true"};return r(n,"event",e.event),r(n,"action",t.action),r(n,"run_id",t.run_id),r(n,"org",t.org),r(n,"config_repo",t.config_repo),r(n,"trigger",t.trigger),r(n,"error_code",e.errorCode??"none"),n}function pnp(e,t){return{github_run_id:t.github_run_id,github_run_url:t.github_run_url,config_commit_sha:t.config_commit_sha,config_branch:t.config_branch,config_pr_number:t.config_pr_number,cli_version:t.cli_version,...e.attributes??{}}}function fnp(e,t){return{event:e.event,timestamp:new Date().toISOString(),surface:"cli",action:t.action,run_id:t.run_id,github_run_id:t.github_run_id,github_run_url:t.github_run_url,org:t.org,config_repo:t.config_repo,config_commit_sha:t.config_commit_sha,config_branch:t.config_branch,config_pr_number:t.config_pr_number,trigger:t.trigger,cli_version:t.cli_version,...e.errorCode!==void 0?{error_code:e.errorCode}:{},...e.attributes??{}}}function dnp(e){let t=e.join(" ");return/\bautomations\s+generate\b/.test(t)?yae.GENERATION_FAILED:/\bautomations\s+preview\b/.test(t)?yae.VERIFICATION_FAILED:yae.GENERATION_FAILED}var Wzg="",Hzg="FERN_AUTOMATION_EVENTS_ORIGIN",Kzg=3e3,byi=class e{static instance;origin;inflight=[];static getInstance(){return e.instance==null&&(e.instance=new e(process.env[Hzg]??Wzg)),e.instance}constructor(t){this.origin=t}resolveEndpoint(){if(this.origin.length!==0)return`${this.origin.replace(/\/$/,"")}/v1/automation/events`}post(t,r){this.inflight.push(this.send(t,r))}async shutdown(){let t=this.inflight;this.inflight=[],t.length>0&&await Promise.allSettled(t)}async send(t,r){let n=this.resolveEndpoint();if(n==null)return;let i=new AbortController,o=setTimeout(()=>i.abort(),Kzg);try{let s={"content-type":"application/json"},a=await o_();a!=null&&a.value.length>0&&(s.Authorization=`Bearer ${a.value}`);let c=await fetch(n,{method:"POST",headers:s,body:JSON.stringify(fnp(t,r)),signal:i.signal})}catch{return}finally{clearTimeout(o)}}};function mnp(){let{fern_run_id:e,github_run_id:t}=Jae();return{action:process.env.FERN_ACTION,run_id:e,github_run_id:t,github_run_url:process.env.FERN_GITHUB_RUN_URL,org:void 0,config_repo:process.env.FERN_CONFIG_REPO,config_commit_sha:process.env.FERN_CONFIG_COMMIT_SHA,config_branch:process.env.FERN_CONFIG_BRANCH,config_pr_number:process.env.FERN_CONFIG_PR_NUMBER,trigger:process.env.GITHUB_EVENT_NAME,cli_version:"5.51.2"}}function hnp(){return process.env.FERN_AUTOMATION==="true"}var Eyi=class{constructor(t,r=byi.getInstance()){this.reporter=t;this.automationEventApiClient=r;this.context=mnp()}reporter;automationEventApiClient;context;setOrganization(t){this.context={...this.context,org:t}}emit(t,r){let n=this.captureSentryForFailure({event:t,context:this.context,error:r?.error}),i=n==null?t:{...t,attributes:{...t.attributes??{},sentry_event_id:n}};this.capturePostHogEvent({event:i,context:this.context}),this.captureAutomationEventApiEvent(i,this.context)}async flush(){await this.automationEventApiClient.shutdown()}capturePostHogEvent({event:t,context:r}){this.reporter.instrumentPostHogAutomationEvent({distinctId:r.run_id??void 0,event:t.event,properties:unp(t,r)})}captureSentryForFailure({event:t,context:r,error:n}){if(!(!cnp(t.event)||t.errorCode==null))return this.reporter.captureException(n,{tags:lnp(t,r),context:{automation:pnp(t,r)}})}captureAutomationEventApiEvent(t,r){this.automationEventApiClient.post(t,r)}};jt();function Iyi(e,t,r){if(t instanceof _c)return;let n=iAe(t,r?.code),i=r?.argv??process.argv,o=i.join(" "),s=r?.message??(t instanceof Error?t.message:void 0)??"",a=t??new B({message:s,code:n});hnp()?Yzg(i,e,n,s,a):Jzg(e,o,n,a)}function Jzg(e,t,r,n){e.instrumentPostHogEvent({command:t,properties:{failed:!0,errorCode:r}}),Wqe(r)&&e.captureException(n,{tags:{"error.code":r}})}function Yzg(e,t,r,n,i){let o=dnp(e);t.emitAutomationTelemetryEvent({event:o,errorCode:r,attributes:{error_message:n}},{error:i})}jt();function k5e(){return process.env.FERN_DISABLE_TELEMETRY==="true"}function vyi({cliName:e,packageVersion:t,isLocal:r}){return k5e()||r?!1:!(t==="0.0.0")&&(e==="fern"&&!0)}var xyi=class{sentry;constructor({release:t,telemetry:r}){let n="https://84f58b5e457f06999d92f11ce4b79158@o4509504076185600.ingest.us.sentry.io/4511021546602496";if(vyi(r)&&n!=null&&n.length>0){let i="production";if(i==null||i.length===0)throw new B({message:"SENTRY_ENVIRONMENT must be set when SENTRY_DSN is configured",code:B.Code.ConfigError});this.sentry=QOt({dsn:n,release:t,environment:i,defaultIntegrations:!1,integrations:[S9e(),Pge(),Dge(),mge(),Bge()],tracesSampleRate:0,attachStacktrace:!0,sendClientReports:!1}),zOt()}}captureException(t,r){if(this.sentry!=null)try{let n=r?.tags,i=r?.context,o=n!=null&&Object.keys(n).length>0,s=i!=null&&Object.values(i).some(a=>a!=null);return!o&&!s?this.sentry.captureException(t):lO(a=>{if(o&&a.setTags(n),i!=null)for(let[c,u]of Object.entries(i))u!=null&&a.setContext(c,u);return this.sentry?.captureException(t,void 0,a)})}catch{return}}async flush(){this.sentry!=null&&await Promise.resolve(this.sentry.flush(2e3)).catch(()=>{})}};jt();var Cyi=class{originalWrite;redirected=!1;redirect(){if(this.redirected)throw new B({message:"StdoutRedirector: already redirected \u2014 did you forget to restore()?",code:B.Code.InternalError});this.originalWrite=process.stdout.write,process.stdout.write=process.stderr.write.bind(process.stderr),this.redirected=!0}restore(){!this.redirected||this.originalWrite==null||(process.stdout.write=this.originalWrite,this.originalWrite=void 0,this.redirected=!1)}async withRedirect(t){this.redirect();try{return await t()}finally{this.restore()}}};kEe();Dt();mb();jt();bn();var RJt=class{result=df.Success;lastFailureMessage=void 0;logImmediately;logPrefix;title;subtasks=[];shouldBufferLogs;bufferedLogs=[];status="notStarted";onResult;instrumentPostHogEventImpl;captureExceptionImpl;emitAutomationTelemetryEventImpl;constructor({logImmediately:t,logPrefix:r,title:n,takeOverTerminal:i,onResult:o,shouldBufferLogs:s,instrumentPostHogEvent:a,captureException:c,emitAutomationTelemetryEvent:u}){this.logImmediately=t,this.logPrefix=r??"",this.title=n,this.takeOverTerminal=i,this.onResult=o,this.shouldBufferLogs=s,this.instrumentPostHogEventImpl=a,this.captureExceptionImpl=c,this.emitAutomationTelemetryEventImpl=u}start(){return this.status="running",this}isStarted(){return this.status!=="notStarted"}finish(){this.status!=="finished"&&(this.status="finished",this.flushLogs(),this.onResult?.(this.getResult()))}isFinished(){return this.status==="finished"}takeOverTerminal;failAndThrow(t,r,n){throw this.failWithoutThrowing(t,r,n),this.finish(),new _c}failWithoutThrowing(t,r,n){this.result=df.Failure,!(r instanceof _c)&&(t!=null&&(this.lastFailureMessage=t),iMt({message:t,error:r,logger:this.logger}),Iyi(this,r,{...n,message:t}))}getLastFailureMessage(){return this.lastFailureMessage}captureException(t,r){return this.captureExceptionImpl?.(t,r)}emitAutomationTelemetryEvent(t,r){this.emitAutomationTelemetryEventImpl(t,r)}getResult(){return this.result}instrumentPostHogEvent(t){this.instrumentPostHogEventImpl(t)}logAtLevel(t,...r){this.logAtLevelWithOverrides(t,r)}logAtLevelWithOverrides(t,r,n={}){this.log({parts:r,level:t,time:new Date,...n})}log(t){this.bufferedLogs.push({...t,prefix:this.logPrefix}),this.shouldBufferLogs||this.flushLogs()}flushLogs(){this.logImmediately(this.bufferedLogs),this.bufferedLogs=[]}logger=uv(this.logAtLevel.bind(this));addInteractiveTask({name:t,subtitle:r}){let n=new yRs({name:t,subtitle:r,logImmediately:i=>this.logImmediately(i),logPrefix:`${this.logPrefix}${fe.blackBright(t)} `,takeOverTerminal:this.takeOverTerminal,onResult:this.onResult,shouldBufferLogs:this.shouldBufferLogs,instrumentPostHogEvent:i=>this.instrumentPostHogEventImpl(i),captureException:this.captureExceptionImpl,emitAutomationTelemetryEvent:this.emitAutomationTelemetryEventImpl});return this.subtasks.push(n),n}async runInteractiveTask(t,r){let n=this.addInteractiveTask(t).start();try{await r(n)}catch(i){n.failWithoutThrowing(void 0,i)}finally{n.finish()}return n.getResult()===df.Success}printInteractiveTasks({spinner:t}){return this.subtasks.map(r=>r.print({spinner:t})).join(`
|
|
4814
4814
|
`)}},yRs=class extends RJt{name;subtitle;constructor({name:t,subtitle:r,...n}){super(n),this.name=t,this.subtitle=r}start(){return super.start(),this.logAtLevelWithOverrides(Un.Info,["Started."],{omitOnTTY:!0}),this.flushLogs(),this}isStarted(){return this.status!=="notStarted"}finish(){this.status!=="finished"&&(this.result===df.Success?this.logAtLevelWithOverrides(Un.Info,["Finished."],{omitOnTTY:!0}):this.logAtLevelWithOverrides(Un.Error,["Failed."],{omitOnTTY:!0}),super.finish())}setSubtitle(t){this.subtitle=t}print({spinner:t}){let r=[this.name];return this.subtitle!=null&&r.push(fe.dim(this.subtitle)),r.push(...this.subtasks.map(n=>n.print({spinner:t}))),$N({prefix:this.getIcon({spinner:t}),content:r.join(`
|
|
4815
4815
|
`)})}printInteractiveTasks({spinner:t}){return this.print({spinner:t})}getIcon({spinner:t}){let r=this.subtasks.length>0;switch(this.status){case"notStarted":return r?fe.dim("\u25B8 "):fe.dim("\u25E6 ");case"running":return r?fe.cyan("\u25BE "):t;case"finished":switch(this.getResult()){case df.Success:return r?fe.green("\u25BE "):fe.green("\u2713 ");case df.Failure:return r?fe.red("\u25BE "):fe.red("x ")}}}getResult(){if(this.result===df.Failure)return df.Failure;for(let t of this.subtasks)if(t.getResult()===df.Failure)return df.Failure;return df.Success}};jt();var gnp=be(pze(),1);bn();function Anp(e){return e.filter(t=>t.isUpgradeAvailable).length>0}function Xzg(e){return(e.cliUpgradeInfo?.isUpgradeAvailable??!1)||Anp(e.generatorUpgradeInfo)}async function ynp({cliEnvironment:e,upgradeInfo:t}){if(!Xzg(t)||e.packageVersion==t.cliUpgradeInfo?.latestVersion)return;let r=`${fe.underline("Upgrades available")}
|
|
4816
4816
|
|
|
@@ -4819,7 +4819,7 @@ ${r}`}function QAi(e){let t=this,{emitParseErrors:r,...n}={...t.data("settings")
|
|
|
4819
4819
|
Run ${fe.cyan("fern generator upgrade")} to upgrade your generators.`),i.length>2&&(r+=`
|
|
4820
4820
|
Run ${fe.cyan("fern generator upgrade --list")} to see the full list of generator upgrades available.`),Lnt(r,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"})}async function bRs({generatorUpgradeInfo:e,header:t,limit:r,includeBoxen:n=!0}){if(!Anp(e))return;let i=t??"",o=e.filter(a=>a.isUpgradeAvailable);r!=null&&(o=o.slice(0,r+1));let s=o.sort((a,c)=>a.generatorName.localeCompare(c.generatorName)||a.currentVersion.localeCompare(c.currentVersion));for(let a of s)i+=`
|
|
4821
4821
|
${await Zzg(a.generatorName)} (${a.apiName!=null?"API: "+a.apiName+", ":""}Group: ${a.generatorGroup}) `+fe.dim(a.currentVersion)+fe.reset(" \u2192 ")+fe.green(a.latestVersion);return i+=`
|
|
4822
|
-
`,n?Lnt(i,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):i}async function Zzg(e){let r=await new gnp.FernRegistryClient({environment:"https://registry.buildwithfern.com"}).generators.getGeneratorByImage({dockerImage:e});if(!r.ok||r.body==null)throw new B({message:`Generator ${e} not found`,code:B.Code.ConfigError});return r.body.displayName}Uo();LEe();jt();async function $zg({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:n,channel:i,includeMajor:o}){if(t.length===1){let a={type:"singleApi",versions:{}};return await bnp({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(c,u,l,p)=>{a.versions[u]==null&&(a.versions[u]={});let d=tze(l.name);if(d==null){p.logger.debug(`Skipping unknown generator: ${l.name}`);return}let f=await s1({generatorName:d,cliVersion:e.environment.packageVersion,currentGeneratorVersion:l.version,channel:i,includeMajor:o,context:p});f!=null&&(a.versions[u][l.name]={previousVersion:l.version,latestVersion:f})},generatorFilter:r,groupFilter:n}),a}let s={type:"multiApi",versions:{}};return await bnp({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(a,c,u,l)=>{if(a==null)return;s.versions[a]==null&&(s.versions[a]={}),s.versions[a][c]==null&&(s.versions[a][c]={});let p=tze(u.name);if(p==null){l.logger.debug(`Skipping unknown generator: ${u.name}`);return}let d=await s1({generatorName:p,cliVersion:e.environment.packageVersion,currentGeneratorVersion:u.version,channel:i,includeMajor:o,context:l});d!=null&&(s.versions[a][c][u.name]={previousVersion:u.version,latestVersion:d})},generatorFilter:r,groupFilter:n}),s}async function bnp({cliContext:e,apiWorkspaces:t,perGeneratorAction:r,generatorFilter:n,groupFilter:i}){await Promise.all(t.map(async o=>{await e.runTaskForWorkspace(o,async s=>{let a=await yL({absolutePathToWorkspace:o.absoluteFilePath,context:s});if(a==null||a.groups==null)return;let c=n!=null?PA(n):void 0;for(let u of a.groups)if(!(i!=null&&u.groupName!==i))for(let l of u.generators)c!=null&&l.name!==c||await r(o.workspaceName,u.groupName,l,s)})}))}function Enp(e,t,r){let n=[];for(let[i,o]of Object.entries(e))for(let[s,a]of Object.entries(o)){r.debug(`Checking if ${s} in group ${i} has an upgrade available...`);let c;try{c=AQ(a.latestVersion,a.previousVersion)}catch{throw new B({message:`Generator "${s}" has an invalid version "${a.previousVersion}" in generators.yml. Use an exact version like 1.2.3.`,code:B.Code.ConfigError})}r.debug(`Latest version: ${a.latestVersion}. `+(c?"Upgrade available.":"No upgrade available.")),n.push({generatorName:s,generatorGroup:i,apiName:t,isUpgradeAvailable:c,currentVersion:a.previousVersion,latestVersion:a.latestVersion})}return n}async function wyi({project:e,cliContext:t,generatorFilter:r,groupFilter:n,channel:i,includeMajor:o}){let s=[];if(e!=null){let a=await $zg({cliContext:t,project:e,generatorFilter:r,groupFilter:n,channel:i,includeMajor:o});if(a.type==="multiApi")for(let[c,u]of Object.entries(a.versions))s.push(...Enp(u,c,t.logger));else s.push(...Enp(a.versions,void 0,t.logger))}return s}jt();q_i();async function The({cliEnvironment:e,includePreReleases:t=!1}){if(e.packageName!=="fern-api"||e.packageVersion==="0.0.0")return e.packageVersion;try{return await QDt(e.packageName,{version:t?"prerelease":"latest"})}catch(r){throw new B({message:`Failed to resolve latest CLI version: ${r instanceof Error?r.message:String(r)}`,code:B.Code.NetworkError})}}var Inp=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],Syi=class e{environment;sentryClient;posthogManager;automationTelemetryManager;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=Un.Info;isLocal;stdoutRedirector=new Cyi;jsonMode=!1;static async create(t,r,{isLocal:n}){let i=await Y4t();return new e(t,r,{isLocal:n,posthogManager:i})}constructor(t,r,{isLocal:n,posthogManager:i}){this.ttyAwareLogger=new IMt(t,r),this.isLocal=n??!1,this.posthogManager=i;let o=this.getPackageName(),s=this.getPackageVersion(),a=this.getCliName();(o==null||s==null||a==null)&&this.exitProgram(),this.environment={packageName:o,packageVersion:s,cliName:a},this.sentryClient=new xyi({release:`cli@${this.environment.packageVersion}`,telemetry:{cliName:this.environment.cliName,packageVersion:this.environment.packageVersion,isLocal:this.isLocal}}),this.automationTelemetryManager=new Eyi(this)}getPackageName(){return"fern-api"}getPackageVersion(){return"5.51.
|
|
4822
|
+
`,n?Lnt(i,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):i}async function Zzg(e){let r=await new gnp.FernRegistryClient({environment:"https://registry.buildwithfern.com"}).generators.getGeneratorByImage({dockerImage:e});if(!r.ok||r.body==null)throw new B({message:`Generator ${e} not found`,code:B.Code.ConfigError});return r.body.displayName}Uo();LEe();jt();async function $zg({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:n,channel:i,includeMajor:o}){if(t.length===1){let a={type:"singleApi",versions:{}};return await bnp({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(c,u,l,p)=>{a.versions[u]==null&&(a.versions[u]={});let d=tze(l.name);if(d==null){p.logger.debug(`Skipping unknown generator: ${l.name}`);return}let f=await s1({generatorName:d,cliVersion:e.environment.packageVersion,currentGeneratorVersion:l.version,channel:i,includeMajor:o,context:p});f!=null&&(a.versions[u][l.name]={previousVersion:l.version,latestVersion:f})},generatorFilter:r,groupFilter:n}),a}let s={type:"multiApi",versions:{}};return await bnp({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(a,c,u,l)=>{if(a==null)return;s.versions[a]==null&&(s.versions[a]={}),s.versions[a][c]==null&&(s.versions[a][c]={});let p=tze(u.name);if(p==null){l.logger.debug(`Skipping unknown generator: ${u.name}`);return}let d=await s1({generatorName:p,cliVersion:e.environment.packageVersion,currentGeneratorVersion:u.version,channel:i,includeMajor:o,context:l});d!=null&&(s.versions[a][c][u.name]={previousVersion:u.version,latestVersion:d})},generatorFilter:r,groupFilter:n}),s}async function bnp({cliContext:e,apiWorkspaces:t,perGeneratorAction:r,generatorFilter:n,groupFilter:i}){await Promise.all(t.map(async o=>{await e.runTaskForWorkspace(o,async s=>{let a=await yL({absolutePathToWorkspace:o.absoluteFilePath,context:s});if(a==null||a.groups==null)return;let c=n!=null?PA(n):void 0;for(let u of a.groups)if(!(i!=null&&u.groupName!==i))for(let l of u.generators)c!=null&&l.name!==c||await r(o.workspaceName,u.groupName,l,s)})}))}function Enp(e,t,r){let n=[];for(let[i,o]of Object.entries(e))for(let[s,a]of Object.entries(o)){r.debug(`Checking if ${s} in group ${i} has an upgrade available...`);let c;try{c=AQ(a.latestVersion,a.previousVersion)}catch{throw new B({message:`Generator "${s}" has an invalid version "${a.previousVersion}" in generators.yml. Use an exact version like 1.2.3.`,code:B.Code.ConfigError})}r.debug(`Latest version: ${a.latestVersion}. `+(c?"Upgrade available.":"No upgrade available.")),n.push({generatorName:s,generatorGroup:i,apiName:t,isUpgradeAvailable:c,currentVersion:a.previousVersion,latestVersion:a.latestVersion})}return n}async function wyi({project:e,cliContext:t,generatorFilter:r,groupFilter:n,channel:i,includeMajor:o}){let s=[];if(e!=null){let a=await $zg({cliContext:t,project:e,generatorFilter:r,groupFilter:n,channel:i,includeMajor:o});if(a.type==="multiApi")for(let[c,u]of Object.entries(a.versions))s.push(...Enp(u,c,t.logger));else s.push(...Enp(a.versions,void 0,t.logger))}return s}jt();q_i();async function The({cliEnvironment:e,includePreReleases:t=!1}){if(e.packageName!=="fern-api"||e.packageVersion==="0.0.0")return e.packageVersion;try{return await QDt(e.packageName,{version:t?"prerelease":"latest"})}catch(r){throw new B({message:`Failed to resolve latest CLI version: ${r instanceof Error?r.message:String(r)}`,code:B.Code.NetworkError})}}var Inp=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],Syi=class e{environment;sentryClient;posthogManager;automationTelemetryManager;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=Un.Info;isLocal;stdoutRedirector=new Cyi;jsonMode=!1;static async create(t,r,{isLocal:n}){let i=await Y4t();return new e(t,r,{isLocal:n,posthogManager:i})}constructor(t,r,{isLocal:n,posthogManager:i}){this.ttyAwareLogger=new IMt(t,r),this.isLocal=n??!1,this.posthogManager=i;let o=this.getPackageName(),s=this.getPackageVersion(),a=this.getCliName();(o==null||s==null||a==null)&&this.exitProgram(),this.environment={packageName:o,packageVersion:s,cliName:a},this.sentryClient=new xyi({release:`cli@${this.environment.packageVersion}`,telemetry:{cliName:this.environment.cliName,packageVersion:this.environment.packageVersion,isLocal:this.isLocal}}),this.automationTelemetryManager=new Eyi(this)}getPackageName(){return"fern-api"}getPackageVersion(){return"5.51.2"}getCliName(){return"fern"}setLogLevel(t){this.logLevel=t}logFernVersionDebug(){this.logger.debug(`Running ${fe.bold(`${this.environment.cliName}`)} (${this.environment.packageName}@${this.environment.packageVersion})`)}failAndThrow(t,r,n){throw this.failWithoutThrowing(t,r,n),new _c}failWithoutThrowing(t,r,n){this.didSucceed=!1,!(r instanceof _c)&&(iMt({message:t,error:r,logger:this.logger}),Iyi(this,r,{...n,message:t}))}enableJsonMode(){this.jsonMode||(this.jsonMode=!0,this.stdoutRedirector.redirect())}get isJsonMode(){return this.jsonMode}writeJsonToStdout(t){this.stdoutRedirector.restore(),process.stdout.write(JSON.stringify(t,null,2)+`
|
|
4823
4823
|
`),this.jsonMode&&this.stdoutRedirector.redirect()}async exit({code:t}={}){!this._suppressUpgradeMessage&&!this.isLocal&&await this.nudgeUpgradeIfAvailable(),this.ttyAwareLogger.finish();try{await this.posthogManager.flush()}catch{}await this.sentryClient.flush(),await this.automationTelemetryManager.flush(),this.exitProgram({code:t})}async nudgeUpgradeIfAvailable(){try{let t=await Promise.race([this.isUpgradeAvailable(),new Promise((n,i)=>setTimeout(()=>i("Request timed out"),300))]),r=await ynp({cliEnvironment:this.environment,upgradeInfo:t});r!=null&&(r.endsWith(`
|
|
4824
4824
|
`)||(r+=`
|
|
4825
4825
|
`),this.stderr.info(r))}catch{}}async exitIfFailed(){this.didSucceed||await this.exit()}exitProgram({code:t}={}){process.exit(t??(this.didSucceed?0:1))}longestWorkspaceName;registerWorkspaces(t){let r=WBi(t.map(n=>n.type==="docs"?"docs":n.workspaceName??"api"),n=>n.length);r!=null&&(this.longestWorkspaceName=r)}project;registerProject(t){this.project=t,this.automationTelemetryManager.setOrganization(t.config.organization)}runTask(t){return this.runTaskWithInit(this.constructTaskInit(),t)}addTask(){return this.addTaskWithInit(this.constructTaskInit())}async runTaskForWorkspace(t,r){await this.runTaskWithInit(this.constructTaskInitForWorkspace(t),r)}addTaskWithInit(t){let r=new RJt(t);return this.ttyAwareLogger.registerTask(r),r}USE_NODE_18_OR_ABOVE_MESSAGE="The Fern CLI requires Node 18+ or above.";async runTaskWithInit(t,r){let n=this.addTaskWithInit(t).start(),i;try{i=await r(n)}catch(o){throw n.failWithoutThrowing(void 0,o),new _c}finally{n.finish()}return i}instrumentPostHogEvent(t){this.isLocal||this.posthogManager.sendEvent(t)}instrumentPostHogAutomationEvent(t){this.isLocal||this.posthogManager.sendAutomationEvent(t)}captureException(t,r){return this.sentryClient.captureException(t,r)}emitAutomationTelemetryEvent(t,r){this.automationTelemetryManager.emit(t,r)}logger=uv((t,...r)=>this.log(t,...r));stderr=uv((t,...r)=>this.logStderr(t,...r));constructTaskInitForWorkspace(t){let r=t.type==="docs"?"docs":t.workspaceName??"api",n=vnp(r),i=1+(this.longestWorkspaceName!=null?vnp(this.longestWorkspaceName):n).length,o=n.padEnd(i),s=Inp[this.numTasks++%Inp.length],a=fe.hex(s)(o);return{...this.constructTaskInit(),logPrefix:a,title:fe.hex(s).bold(r)}}constructTaskInit(){return{logImmediately:t=>this.logImmediately(t),takeOverTerminal:t=>this.ttyAwareLogger.takeOverTerminal(t),onResult:t=>{t===df.Failure&&(this.didSucceed=!1)},instrumentPostHogEvent:t=>{this.instrumentPostHogEvent(t)},shouldBufferLogs:!1,captureException:(t,r)=>this.sentryClient.captureException(t,r),emitAutomationTelemetryEvent:(t,r)=>this.emitAutomationTelemetryEvent(t,r)}}log(t,...r){this.logImmediately([{parts:r,level:t,time:new Date}])}logStderr(t,...r){this.logImmediately([{parts:r,level:t,time:new Date}],{stderr:!0})}logImmediately(t,{stderr:r=!1}={}){let n=t.filter(i=>ew.indexOf(i.level)>=ew.indexOf(this.logLevel));this.ttyAwareLogger.log(n,{includeDebugInfo:this.logLevel===Un.Debug,stderr:r||this.jsonMode})}_suppressUpgradeMessage=!1;suppressUpgradeMessage(){this._suppressUpgradeMessage=!0}_isUpgradeAvailable;async isUpgradeAvailable({includePreReleases:t=!1}={}){if(this._isUpgradeAvailable==null){this.logger.debug(`Checking if ${this.environment.packageName} upgrade is available...`);let r=await The({cliEnvironment:this.environment,includePreReleases:t}),n=AQ(r,this.environment.packageVersion);this.logger.debug(`Latest version: ${r}. `+(n?"Upgrade available.":"No upgrade available."));let i={isUpgradeAvailable:n,latestVersion:r},o=await wyi({project:this.project,cliContext:this});this._isUpgradeAvailable={cliUpgradeInfo:i,generatorUpgradeInfo:o}}return this._isUpgradeAvailable}async confirmPrompt(t,r=!1){try{return await ARs({message:t,choices:[{name:"No",value:!1},{name:"Yes",value:!0}],default:r,theme:{prefix:fe.yellow("?"),style:{answer:i=>fe.cyan(i),message:i=>fe.bold(i),highlight:i=>fe.cyan(i)}}})}catch(n){throw n?.name==="ExitPromptError"?(this.logger.info(`
|