fern-api 0.57.7 → 0.57.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/cli.cjs +3 -3
  2. package/package.json +1 -1
package/cli.cjs CHANGED
@@ -1701,7 +1701,7 @@ ${c.indent}`:""}${TQf(o)}:${l.indent?" ":""}`;return u=!1,s=!0,l.objectItem=void
1701
1701
  `}),r.replaceAll(/\n$/g,"")}function i5S(e){return e?k_.green(P7.radioOn):P7.radioOff}var pmo=di(NSe(),1);function gup(e,t){return e=String(e),t=typeof t=="string"?t:"*",e.length===0?"":Array.from({length:e.length+1}).join(t)}var Pca=class extends T2{_run(t){this.done=t;let r=fV(this.rl),i=r.line.pipe((0,pmo.map)(this.filterInput.bind(this))),n=this.handleSubmitEvents(i);return n.success.forEach(this.onEnd.bind(this)),n.error.forEach(this.onError.bind(this)),r.keypress.pipe((0,pmo.takeUntil)(n.success)).forEach(this.onKeypress.bind(this)),this.render(),this}render(t){let r=this.getQuestion(),i="";r+=this.status==="answered"?this.getMaskedValue(this.answer):this.getMaskedValue(this.rl.line||""),t&&(i=`
1702
1702
  `+k_.red(">> ")+t),this.screen.render(r,i)}getMaskedValue(t){return this.status==="answered"?this.opt.mask?k_.cyan(gup(t,this.opt.mask)):k_.italic.dim("[hidden]"):this.opt.mask?gup(t,this.opt.mask):k_.italic.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 Wsp=di(Sxs(),1),Hsp=di(NSe(),1);var Cca=class extends T2{_run(t){this.done=t,this.editorResult=new Hsp.Subject;let r=fV(this.rl);this.lineSubscription=r.line.subscribe(this.startExternalEditor.bind(this));let i=this.opt.waitUserInput===void 0?!0:this.opt.waitUserInput,n=this.handleSubmitEvents(this.editorResult);return n.success.forEach(this.onEnd.bind(this)),n.error.forEach(this.onError.bind(this)),this.currentText=this.opt.default,this.opt.default=null,i?this.render():this.startExternalEditor(),this}render(t){let r="",i=this.getQuestion();i+=this.status==="answered"?k_.dim("Received"):k_.dim("Press <enter> to launch your preferred editor."),t&&(r=k_.red(">> ")+t),this.screen.render(i,r)}startExternalEditor(){this.rl.pause(),(0,Wsp.editAsync)(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 Scp=di(Ocp(),1);var jcp=di(require("readline"),1),wcp=di(Pcp(),1),JIi=class{constructor(t){this.rl||=jcp.default.createInterface(g9S(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 g9S(e={}){e.skipTTYChecks=e.skipTTYChecks===void 0?!0:e.skipTTYChecks;let t=e.input||process.stdin;if(!e.skipTTYChecks&&!t.isTTY){let n=new Error("Prompts can not be meaningfully rendered in non-TTY environments");throw n.isTtyError=!0,n}let r=new wcp.default;return r.pipe(e.output||process.stdout),{terminal:!0,...e,input:t,output:r}}var Ica=class extends JIi{constructor(t={}){super(t),this.log=(0,Scp.default)(this.writeLog.bind(this)),this.bottomBar=t.bottomBar||"",this.render()}render(){return this.write(this.bottomBar),this}clean(){return _ca(this.rl,this.bottomBar.split(`
1703
1703
  `).length),this}updateBottomBar(t){return _ca(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+`
1704
- `}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&&cmo(this.rl,t.length+this.rl.line.length),this.rl.output.write(t)}};var Icp=di(Mcp(),1),zcp=di(BCs(),1),Rcp=di(Bcp(),1),YA=di(NSe(),1),Ncp=di(jsa(),1);var Nmo=di(NSe(),1),xcp=di(jsa(),1),Fmo=function(e,t,r){return typeof e[t]!="function"?(0,Nmo.of)(e):(0,Nmo.from)((0,xcp.default)(e[t])(r).then(i=>(e[t]=i,e)))};var zca={isPlainObject:Icp.default,set:Rcp.default,get:zcp.default},$mn=class extends JIi{constructor(t,r){super(r),this.prompts=t}run(t,r){this.answers=zca.isPlainObject(r)?{...r}:{},zca.isPlainObject(t)&&(t=Object.values(t).every(n=>zca.isPlainObject(n)&&n.name===void 0)?Object.entries(t).map(([n,a])=>({name:n,...a})):[t]);let i=Array.isArray(t)?(0,YA.from)(t):t;return this.process=i.pipe((0,YA.concatMap)(this.processQuestion.bind(this)),(0,YA.publish)()),this.process.connect(),this.process.pipe((0,YA.reduce)((n,a)=>(zca.set(n,a.name,a.answer),n),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,YA.defer)(()=>(0,YA.of)(t).pipe((0,YA.concatMap)(this.setDefaultType.bind(this)),(0,YA.concatMap)(this.filterIfRunnable.bind(this)),(0,YA.concatMap)(()=>Fmo(t,"message",this.answers)),(0,YA.concatMap)(()=>Fmo(t,"default",this.answers)),(0,YA.concatMap)(()=>Fmo(t,"choices",this.answers)),(0,YA.concatMap)(this.fetchAnswer.bind(this))))}fetchAnswer(t){let r=this.prompts[t.type];return this.activePrompt=new r(t,this.rl,this.answers),(0,YA.defer)(()=>(0,YA.from)(this.activePrompt.run().then(i=>({name:t.name,answer:i}))))}setDefaultType(t){return this.prompts[t.type]||(t.type="input"),(0,YA.defer)(()=>(0,YA.of)(t))}filterIfRunnable(t){if(t.askAnswered!==!0&&zca.get(this.answers,t.name)!==void 0)return(0,YA.empty)();if(t.when===!1)return(0,YA.empty)();if(typeof t.when!="function")return(0,YA.of)(t);let{answers:r}=this;return(0,YA.defer)(()=>(0,YA.from)((0,Ncp.default)(t.when)(r).then(i=>{if(i)return t})).pipe((0,YA.filter)(i=>i!=null)))}};function Fcp(e){let t=function(r,i){let n;try{n=new $mn(t.prompts,e)}catch(u){return Promise.reject(u)}let a=n.run(r,i);return a.ui=n,a};return t.prompts={},t.registerPrompt=function(r,i){return t.prompts[r]=i,this},t.restoreDefaultPrompts=function(){this.registerPrompt("list",yca),this.registerPrompt("input",NIi),this.registerPrompt("number",vca),this.registerPrompt("confirm",bca),this.registerPrompt("rawlist",gca),this.registerPrompt("expand",Oca),this.registerPrompt("checkbox",mca),this.registerPrompt("password",Pca),this.registerPrompt("editor",Cca)},t.restoreDefaultPrompts(),t}var Ixs=Fcp();function R9S(e,t){Ixs.registerPrompt(e,t)}function N9S(){Ixs.restoreDefaultPrompts()}var F9S={prompt:Ixs,ui:{BottomBar:Ica,Prompt:$mn},createPromptModule:Fcp,registerPrompt:R9S,restoreDefaultPrompts:N9S,Separator:Die},Lmo=F9S;var Klp=di(Lcp()),dVS="4.2.1",h5t;(function(e){e.AnonymousId="anonymous_id",e.DistinctId="distinct_id",e.Props="props",e.FeatureFlags="feature_flags",e.FeatureFlagPayloads="feature_flag_payloads",e.OverrideFeatureFlags="override_feature_flags",e.Queue="queue",e.OptedOut="opted_out",e.SessionId="session_id",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"})(h5t||(h5t={}));function pVS(e,t){if(!e)throw new Error(t)}function _VS(e){return e?.replace(/\/+$/,"")}async function hVS(e,t){let r=null;for(let i=0;i<t.retryCount+1;i++){i>0&&await new Promise(n=>setTimeout(n,t.retryDelay));try{return await e()}catch(n){if(r=n,!t.retryCheck(n))throw n}}throw r}function yVS(){return new Date().getTime()}function Ulp(){return new Date().toISOString()}function Ylp(e,t){let r=setTimeout(e,t);return r?.unref&&r?.unref(),r}var Qca=String.fromCharCode,Vlp="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",tPo={};function vVS(e,t){if(!tPo[e]){tPo[e]={};for(let r=0;r<e.length;r++)tPo[e][e.charAt(r)]=r}return tPo[e][t]}var Jca={compressToBase64:function(e){if(e==null)return"";let t=Jca._compress(e,6,function(r){return Vlp.charAt(r)});switch(t.length%4){default:case 0:return t;case 1:return t+"===";case 2:return t+"==";case 3:return t+"="}},decompressFromBase64:function(e){return e==null?"":e==""?null:Jca._decompress(e.length,32,function(t){return vVS(Vlp,e.charAt(t))})},compress:function(e){return Jca._compress(e,16,function(t){return Qca(t)})},_compress:function(e,t,r){if(e==null)return"";let i={},n={},a=[],u,l,d="",s="",o="",c=2,b=3,g=2,O=0,m=0,P;for(P=0;P<e.length;P+=1)if(d=e.charAt(P),Object.prototype.hasOwnProperty.call(i,d)||(i[d]=b++,n[d]=!0),s=o+d,Object.prototype.hasOwnProperty.call(i,s))o=s;else{if(Object.prototype.hasOwnProperty.call(n,o)){if(o.charCodeAt(0)<256){for(u=0;u<g;u++)O=O<<1,m==t-1?(m=0,a.push(r(O)),O=0):m++;for(l=o.charCodeAt(0),u=0;u<8;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1}else{for(l=1,u=0;u<g;u++)O=O<<1|l,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=0;for(l=o.charCodeAt(0),u=0;u<16;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1}c--,c==0&&(c=Math.pow(2,g),g++),delete n[o]}else for(l=i[o],u=0;u<g;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1;c--,c==0&&(c=Math.pow(2,g),g++),i[s]=b++,o=String(d)}if(o!==""){if(Object.prototype.hasOwnProperty.call(n,o)){if(o.charCodeAt(0)<256){for(u=0;u<g;u++)O=O<<1,m==t-1?(m=0,a.push(r(O)),O=0):m++;for(l=o.charCodeAt(0),u=0;u<8;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1}else{for(l=1,u=0;u<g;u++)O=O<<1|l,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=0;for(l=o.charCodeAt(0),u=0;u<16;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1}c--,c==0&&(c=Math.pow(2,g),g++),delete n[o]}else for(l=i[o],u=0;u<g;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1;c--,c==0&&(c=Math.pow(2,g),g++)}for(l=2,u=0;u<g;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1;for(;;)if(O=O<<1,m==t-1){a.push(r(O));break}else m++;return a.join("")},decompress:function(e){return e==null?"":e==""?null:Jca._decompress(e.length,32768,function(t){return e.charCodeAt(t)})},_decompress:function(e,t,r){let i=[],n=[],a={val:r(0),position:t,index:1},u=4,l=4,d=3,s="",o,c,b,g,O,m,P;for(o=0;o<3;o+=1)i[o]=o;for(b=0,O=Math.pow(2,2),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;switch(b){case 0:for(b=0,O=Math.pow(2,8),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;P=Qca(b);break;case 1:for(b=0,O=Math.pow(2,16),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;P=Qca(b);break;case 2:return""}for(i[3]=P,c=P,n.push(P);;){if(a.index>e)return"";for(b=0,O=Math.pow(2,d),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;switch(P=b){case 0:for(b=0,O=Math.pow(2,8),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;i[l++]=Qca(b),P=l-1,u--;break;case 1:for(b=0,O=Math.pow(2,16),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;i[l++]=Qca(b),P=l-1,u--;break;case 2:return n.join("")}if(u==0&&(u=Math.pow(2,d),d++),i[P])s=i[P];else if(P===l)s=c+c.charAt(0);else return null;n.push(s),i[l++]=c+s.charAt(0),u--,c=s,u==0&&(u=Math.pow(2,d),d++)}}},gIs=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(i=>i!==r)}}emit(t,r){for(let i of this.events[t]||[])i(r);for(let i of this.events["*"]||[])i(t,r)}};var rPo="0123456789abcdef",iPo=class e{constructor(t){this.bytes=t}static ofInner(t){if(t.length!==16)throw new TypeError("not 128-bit length");return new e(t)}static fromFieldsV7(t,r,i,n){if(!Number.isInteger(t)||!Number.isInteger(r)||!Number.isInteger(i)||!Number.isInteger(n)||t<0||r<0||i<0||n<0||t>0xffffffffffff||r>4095||i>1073741823||n>4294967295)throw new RangeError("invalid field value");let a=new Uint8Array(16);return a[0]=t/2**40,a[1]=t/2**32,a[2]=t/2**24,a[3]=t/2**16,a[4]=t/2**8,a[5]=t,a[6]=112|r>>>8,a[7]=r,a[8]=128|i>>>24,a[9]=i>>>16,a[10]=i>>>8,a[11]=i,a[12]=n>>>24,a[13]=n>>>16,a[14]=n>>>8,a[15]=n,new e(a)}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}if(r){let i=new Uint8Array(16);for(let n=0;n<16;n+=4){let a=parseInt(r.substring(2*n,2*n+8),16);i[n+0]=a>>>24,i[n+1]=a>>>16,i[n+2]=a>>>8,i[n+3]=a}return new e(i)}else throw new SyntaxError("could not parse UUID string")}toString(){let t="";for(let r=0;r<this.bytes.length;r++)t+=rPo.charAt(this.bytes[r]>>>4),t+=rPo.charAt(this.bytes[r]&15),(r===3||r===5||r===7||r===9)&&(t+="-");return t}toHex(){let t="";for(let r=0;r<this.bytes.length;r++)t+=rPo.charAt(this.bytes[r]>>>4),t+=rPo.charAt(this.bytes[r]&15);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 i=this.bytes[r]-t.bytes[r];if(i!==0)return Math.sign(i)}return 0}},OIs=class{constructor(t){this.timestamp=0,this.counter=0,this.random=t??bVS()}generate(){return this.generateOrResetCore(Date.now(),1e4)}generateOrAbort(){return this.generateOrAbortCore(Date.now(),1e4)}generateOrResetCore(t,r){let i=this.generateOrAbortCore(t,r);return i===void 0&&(this.timestamp=0,i=this.generateOrAbortCore(t,r)),i}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)this.counter++,this.counter>4398046511103&&(this.timestamp++,this.resetCounter());else return;return iPo.fromFieldsV7(this.timestamp,Math.trunc(this.counter/2**30),this.counter&2**30-1,this.random.nextUint32())}resetCounter(){this.counter=this.random.nextUint32()*1024+(this.random.nextUint32()&1023)}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,iPo.ofInner(t)}},bVS=()=>({nextUint32:()=>Math.trunc(Math.random()*65536)*65536+Math.trunc(Math.random()*65536)}),Wlp,Hlp=()=>gVS().toString(),gVS=()=>(Wlp||(Wlp=new OIs)).generate(),nPo=class extends Error{constructor(t){super("HTTP error while fetching PostHog: "+t.status),this.response=t,this.name="PostHogFetchHttpError"}},Kca=class extends Error{constructor(t){super("Network error while fetching PostHog",t instanceof Error?{cause:t}:{}),this.error=t,this.name="PostHogFetchNetworkError"}};function $lp(e){return typeof e=="object"&&(e instanceof nPo||e instanceof Kca)}var mIs=class{constructor(t,r){this.flushPromise=null,this.disableGeoip=!0,this.historicalMigration=!1,this.disabled=!1,this.defaultOptIn=!0,this.pendingPromises={},this._events=new gIs,this._isInitialized=!1,pVS(t,"You must pass your PostHog project's api key."),this.apiKey=t,this.host=_VS(r?.host||"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.captureMode=r?.captureMode||"json",this.defaultOptIn=r?.defaultOptIn??!0,this._retryOptions={retryCount:r?.fetchRetryCount??3,retryDelay:r?.fetchRetryDelay??3e3,retryCheck:$lp},this.requestTimeout=r?.requestTimeout??1e4,this.featureFlagsRequestTimeoutMs=r?.featureFlagsRequestTimeoutMs??3e3,this.disableGeoip=r?.disableGeoip??!0,this.disabled=r?.disabled??!1,this.historicalMigration=r?.historicalMigration??!1,this._initPromise=Promise.resolve(),this._isInitialized=!0}logMsgIfDebug(t){this.isDebug&&t()}wrap(t){if(this.disabled){this.logMsgIfDebug(()=>console.warn("[PostHog] The client is disabled"));return}if(this._isInitialized)return t();this._initPromise.then(()=>t())}getCommonEventProperties(){return{$lib:this.getLibraryId(),$lib_version:this.getLibraryVersion()}}get optedOut(){return this.getPersistedProperty(h5t.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty(h5t.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty(h5t.OptedOut,!0)})}on(t,r){return this._events.on(t,r)}debug(t=!0){if(this.removeDebugCallback?.(),t){let r=this.on("*",(i,n)=>console.log("PostHog Debug",i,n));this.removeDebugCallback=()=>{r(),this.removeDebugCallback=void 0}}}get isDebug(){return!!this.removeDebugCallback}buildPayload(t){return{distinct_id:t.distinct_id,event:t.event,properties:{...t.properties||{},...this.getCommonEventProperties()}}}addPendingPromise(t){let r=Hlp();return this.pendingPromises[r]=t,t.catch(()=>{}).finally(()=>{delete this.pendingPromises[r]}),t}identifyStateless(t,r,i){this.wrap(()=>{let n={...this.buildPayload({distinct_id:t,event:"$identify",properties:r})};this.enqueue("identify",n,i)})}captureStateless(t,r,i,n){this.wrap(()=>{let a=this.buildPayload({distinct_id:t,event:r,properties:i});this.enqueue("capture",a,n)})}aliasStateless(t,r,i,n){this.wrap(()=>{let a=this.buildPayload({event:"$create_alias",distinct_id:r,properties:{...i||{},distinct_id:r,alias:t}});this.enqueue("alias",a,n)})}groupIdentifyStateless(t,r,i,n,a,u){this.wrap(()=>{let l=this.buildPayload({distinct_id:a||`$${t}_${r}`,event:"$groupidentify",properties:{$group_type:t,$group_key:r,$group_set:i||{},...u||{}}});this.enqueue("capture",l,n)})}async getDecide(t,r={},i={},n={},a={}){await this._initPromise;let u=`${this.host}/decide/?v=3`,l={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:JSON.stringify({token:this.apiKey,distinct_id:t,groups:r,person_properties:i,group_properties:n,...a})};return this.fetchWithRetry(u,l,{retryCount:0},this.featureFlagsRequestTimeoutMs).then(d=>d.json()).catch(d=>{this._events.emit("error",d)})}async getFeatureFlagStateless(t,r,i={},n={},a={},u){await this._initPromise;let l=await this.getFeatureFlagsStateless(r,i,n,a,u);if(!l)return;let d=l[t];return d===void 0&&(d=!1),d}async getFeatureFlagPayloadStateless(t,r,i={},n={},a={},u){await this._initPromise;let l=await this.getFeatureFlagPayloadsStateless(r,i,n,a,u);if(!l)return;let d=l[t];return d===void 0?null:d}async getFeatureFlagPayloadsStateless(t,r={},i={},n={},a){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless(t,r,i,n,a)).payloads}_parsePayload(t){try{return JSON.parse(t)}catch{return t}}async getFeatureFlagsStateless(t,r={},i={},n={},a){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless(t,r,i,n,a)).flags}async getFeatureFlagsAndPayloadsStateless(t,r={},i={},n={},a){await this._initPromise;let u={};(a??this.disableGeoip)&&(u.geoip_disable=!0);let l=await this.getDecide(t,r,i,n,u),d=l?.featureFlags,s=l?.featureFlagPayloads,o=s;return s&&(o=Object.fromEntries(Object.entries(s).map(([c,b])=>[c,this._parsePayload(b)]))),{flags:d,payloads:o}}enqueue(t,r,i){this.wrap(()=>{if(this.optedOut){this._events.emit(t,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");return}let n={...r,type:t,library:this.getLibraryId(),library_version:this.getLibraryVersion(),timestamp:i?.timestamp?i?.timestamp:Ulp(),uuid:i?.uuid?i.uuid:Hlp()};(i?.disableGeoip??this.disableGeoip)&&(n.properties||(n.properties={}),n.properties.$geoip_disable=!0),n.distinctId&&(n.distinct_id=n.distinctId,delete n.distinctId);let u=this.getPersistedProperty(h5t.Queue)||[];u.length>=this.maxQueueSize&&(u.shift(),this.logMsgIfDebug(()=>console.info("Queue is full, the oldest event is dropped."))),u.push({message:n}),this.setPersistedProperty(h5t.Queue,u),this._events.emit(t,n),u.length>=this.flushAt&&this.flushBackground(),this.flushInterval&&!this._flushTimer&&(this._flushTimer=Ylp(()=>this.flushBackground(),this.flushInterval))})}clearFlushTimer(){this._flushTimer&&(clearTimeout(this._flushTimer),this._flushTimer=void 0)}flushBackground(){this.flush().catch(()=>{})}async flush(){return this.flushPromise||(this.flushPromise=this._flush().finally(()=>{this.flushPromise=null}),this.addPendingPromise(this.flushPromise)),this.flushPromise}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(h5t.Queue)||[];if(!t.length)return[];let r=t.slice(0,this.maxBatchSize),i=r.map(s=>s.message),n=()=>{let s=this.getPersistedProperty(h5t.Queue)||[];this.setPersistedProperty(h5t.Queue,s.slice(r.length))},a={api_key:this.apiKey,batch:i,sent_at:Ulp()};this.historicalMigration&&(a.historical_migration=!0);let u=JSON.stringify(a),l=this.captureMode==="form"?`${this.host}/e/?ip=1&_=${yVS()}&v=${this.getLibraryVersion()}`:`${this.host}/batch/`,d=this.captureMode==="form"?{method:"POST",mode:"no-cors",credentials:"omit",headers:{...this.getCustomHeaders(),"Content-Type":"application/x-www-form-urlencoded"},body:`data=${encodeURIComponent(Jca.compressToBase64(u))}&compression=lz64`}:{method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:u};try{await this.fetchWithRetry(l,d)}catch(s){throw s instanceof Kca||n(),this._events.emit("error",s),s}return n(),this._events.emit("flush",i),i}async fetchWithRetry(t,r,i,n){var a;return(a=AbortSignal).timeout??(a.timeout=function(l){let d=new AbortController;return setTimeout(()=>d.abort(),l),d.signal}),await hVS(async()=>{let u=null;try{u=await this.fetch(t,{signal:AbortSignal.timeout(n??this.requestTimeout),...r})}catch(d){throw new Kca(d)}if(!(r.mode==="no-cors")&&(u.status<200||u.status>=400))throw new nPo(u);return u},{...this._retryOptions,...i})}async shutdown(t=3e4){await this._initPromise,this.clearFlushTimer();try{await Promise.all(Object.values(this.pendingPromises));let r=Date.now()+t;for(;(this.getPersistedProperty(h5t.Queue)||[]).length!==0;){await this.flush();let n=Date.now();if(r<n)break}}catch(r){if(!$lp(r))throw r;this.logMsgIfDebug(()=>console.error("Error while shutting down PostHog",r))}}},PIs=class{constructor(){this._memoryStorage={}}getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}},jIs=typeof fetch<"u"?fetch:typeof global.fetch<"u"?global.fetch:void 0;if(!jIs){let e=Llp();jIs=async(t,r)=>{let i=await e.request({url:t,headers:r.headers,method:r.method.toLowerCase(),data:r.body,signal:r.signal,validateStatus:()=>!0});return{status:i.status,text:async()=>i.data,json:async()=>i.data}}}var Xlp=jIs,OVS=1152921504606847e3,mVS=["is_not"],aPo=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},C2=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},wIs=class{constructor({pollingInterval:t,personalApiKey:r,projectApiKey:i,timeout:n,host:a,customHeaders:u,...l}){this.debugMode=!1,this.pollingInterval=t,this.personalApiKey=r,this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={},this.loadedSuccessfullyOnce=!1,this.timeout=n,this.projectApiKey=i,this.host=a,this.poller=void 0,this.fetch=l.fetch||Xlp,this.onError=l.onError,this.customHeaders=u,this.loadFeatureFlags()}debug(t=!0){this.debugMode=t}logMsgIfDebug(t){this.debugMode&&t()}async getFeatureFlag(t,r,i={},n={},a={}){await this.loadFeatureFlags();let u,l;if(!this.loadedSuccessfullyOnce)return u;for(let d of this.featureFlags)if(t===d.key){l=d;break}if(l!==void 0)try{u=this.computeFlagLocally(l,r,i,n,a),this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${t} -> ${u}`))}catch(d){d instanceof C2?this.logMsgIfDebug(()=>console.debug(`InconclusiveMatchError when computing flag locally: ${t}: ${d}`)):d instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${t}: ${d}`))}return u}async computeFeatureFlagPayloadLocally(t,r){await this.loadFeatureFlags();let i;if(this.loadedSuccessfullyOnce){if(typeof r=="boolean"?i=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r.toString()]:typeof r=="string"&&(i=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r]),i==null)return null;try{return JSON.parse(i)}catch{return i}}}async getAllFlagsAndPayloads(t,r={},i={},n={}){await this.loadFeatureFlags();let a={},u={},l=this.featureFlags.length==0;return this.featureFlags.map(async d=>{try{let s=this.computeFlagLocally(d,t,r,i,n);a[d.key]=s;let o=await this.computeFeatureFlagPayloadLocally(d.key,s);o&&(u[d.key]=o)}catch(s){s instanceof C2||s instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${d.key}: ${s}`)),l=!0}}),{response:a,payloads:u,fallbackToDecide:l}}computeFlagLocally(t,r,i={},n={},a={}){if(t.ensure_experience_continuity)throw new C2("Flag has experience continuity enabled");if(!t.active)return!1;let l=(t.filters||{}).aggregation_group_type_index;if(l!=null){let d=this.groupTypeMapping[String(l)];if(!d)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Unknown group type index ${l} for feature flag ${t.key}`)),new C2("Flag has unknown group type index");if(!(d in i))return this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${t.key} without group names passed in`)),!1;let s=a[d];return this.matchFeatureFlagProperties(t,i[d],s)}else return this.matchFeatureFlagProperties(t,r,n)}matchFeatureFlagProperties(t,r,i){let n=t.filters||{},a=n.groups||[],u=!1,l,d=[...a].sort((s,o)=>{let c=!!s.variant,b=!!o.variant;return c&&b?0:c?-1:b?1:0});for(let s of d)try{if(this.isConditionMatch(t,r,s,i)){let o=s.variant,c=n.multivariate?.variants||[];o&&c.some(b=>b.key===o)?l=o:l=this.getMatchingVariant(t,r)||!0;break}}catch(o){if(o instanceof C2)u=!0;else throw o}if(l!==void 0)return l;if(u)throw new C2("Can't determine if feature flag is enabled or not with given properties");return!1}isConditionMatch(t,r,i,n){let a=i.rollout_percentage,u=l=>{this.logMsgIfDebug(()=>console.warn(l))};if((i.properties||[]).length>0){for(let l of i.properties){let d=l.type,s=!1;if(d==="cohort"?s=klp(l,n,this.cohorts,this.debugMode):s=Zlp(l,n,u),!s)return!1}if(a==null)return!0}return!(a!=null&&Glp(t.key,r)>a/100)}getMatchingVariant(t,r){let i=Glp(t.key,r,"variant"),n=this.variantLookupTable(t).find(a=>i>=a.valueMin&&i<a.valueMax);if(n)return n.key}variantLookupTable(t){let r=[],i=0,n=0;return((t.filters||{}).multivariate?.variants||[]).forEach(l=>{n=i+l.rollout_percentage/100,r.push({valueMin:i,valueMax:n,key:l.key}),i=n}),r}async loadFeatureFlags(t=!1){(!this.loadedSuccessfullyOnce||t)&&await this._loadFeatureFlags()}async _loadFeatureFlags(){this.poller&&(clearTimeout(this.poller),this.poller=void 0),this.poller=setTimeout(()=>this._loadFeatureFlags(),this.pollingInterval);try{let t=await this._requestFeatureFlagDefinitions();if(t&&t.status===401)throw new aPo("Your personalApiKey is invalid. Are you sure you're not using your Project API key? More information: https://posthog.com/docs/api/overview");if(t&&t.status!==200)return;let r=await t.json();"flags"in r||this.onError?.(new Error(`Invalid response when getting feature flags: ${JSON.stringify(r)}`)),this.featureFlags=r.flags||[],this.featureFlagsByKey=this.featureFlags.reduce((i,n)=>(i[n.key]=n,i),{}),this.groupTypeMapping=r.group_type_mapping||{},this.cohorts=r.cohorts||[],this.loadedSuccessfullyOnce=!0}catch(t){t instanceof aPo&&this.onError?.(t)}}async _requestFeatureFlagDefinitions(){let t=`${this.host}/api/feature_flag/local_evaluation?token=${this.projectApiKey}&send_cohorts`,r={method:"GET",headers:{...this.customHeaders,"Content-Type":"application/json",Authorization:`Bearer ${this.personalApiKey}`}},i=null;if(this.timeout&&typeof this.timeout=="number"){let n=new AbortController;i=Ylp(()=>{n.abort()},this.timeout),r.signal=n.signal}try{return await this.fetch(t,r)}finally{clearTimeout(i)}}stopPoller(){clearTimeout(this.poller)}};function Glp(e,t,r=""){let i=(0,Klp.createHash)();return i.update(`${e}.${t}${r}`),parseInt(i.digest("hex").slice(0,15),16)/OVS}function Zlp(e,t,r){let i=e.key,n=e.value,a=e.operator||"exact";if(i in t){if(a==="is_not_set")throw new C2("Operator is_not_set is not supported")}else throw new C2(`Property ${i} not found in propertyValues`);let u=t[i];if(u==null&&!mVS.includes(a))return r&&r(`Property ${i} cannot have a value of null/undefined with the ${a} operator`),!1;function l(s,o){return Array.isArray(s)?s.map(c=>String(c).toLowerCase()).includes(String(o).toLowerCase()):String(s).toLowerCase()===String(o).toLowerCase()}function d(s,o,c){if(c==="gt")return s>o;if(c==="gte")return s>=o;if(c==="lt")return s<o;if(c==="lte")return s<=o;throw new Error(`Invalid operator: ${c}`)}switch(a){case"exact":return l(n,u);case"is_not":return!l(n,u);case"is_set":return i in t;case"icontains":return String(u).toLowerCase().includes(String(n).toLowerCase());case"not_icontains":return!String(u).toLowerCase().includes(String(n).toLowerCase());case"regex":return Qlp(String(n))&&String(u).match(String(n))!==null;case"not_regex":return Qlp(String(n))&&String(u).match(String(n))===null;case"gt":case"gte":case"lt":case"lte":{let s=typeof n=="number"?n:null;if(typeof n=="string")try{s=parseFloat(n)}catch{}return s!=null&&u!=null?typeof u=="string"?d(u,String(n),a):d(u,s,a):d(String(u),String(n),a)}case"is_date_after":case"is_date_before":{let s=PVS(String(n));if(s==null&&(s=Jlp(n)),s==null)throw new C2(`Invalid date: ${n}`);let o=Jlp(u);return["is_date_before"].includes(a)?o<s:o>s}default:throw new C2(`Unknown operator: ${a}`)}}function klp(e,t,r,i=!1){let n=String(e.value);if(!(n in r))throw new C2("can't match cohort without a given cohort property value");let a=r[n];return efp(a,t,r,i)}function efp(e,t,r,i=!1){if(!e)return!0;let n=e.type,a=e.values;if(!a||a.length===0)return!0;let u=!1;if("values"in a[0]){for(let l of a)try{let d=efp(l,t,r,i);if(n==="AND"){if(!d)return!1}else if(d)return!0}catch(d){if(d instanceof C2)i&&console.debug(`Failed to compute property ${l} locally: ${d}`),u=!0;else throw d}if(u)throw new C2("Can't match cohort without a given cohort property value");return n==="AND"}else{for(let l of a)try{let d;l.type==="cohort"?d=klp(l,t,r,i):d=Zlp(l,t);let s=l.negation||!1;if(n==="AND"){if(!d&&!s||d&&s)return!1}else if(d&&!s||!d&&s)return!0}catch(d){if(d instanceof C2)i&&console.debug(`Failed to compute property ${l} locally: ${d}`),u=!0;else throw d}if(u)throw new C2("can't match cohort without a given cohort property value");return n==="AND"}}function Qlp(e){try{return new RegExp(e),!0}catch{return!1}}function Jlp(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 C2(`${e} is in an invalid date format`)}else throw new C2(`The date provided ${e} must be a string, number, or date object`)}function PVS(e){let t=/^-?(?<number>[0-9]+)(?<interval>[a-z])$/,r=e.match(t),i=new Date(new Date().toISOString());if(r){if(!r.groups)return null;let n=parseInt(r.groups.number);if(n>=1e4)return null;let a=r.groups.interval;if(a=="h")i.setUTCHours(i.getUTCHours()-n);else if(a=="d")i.setUTCDate(i.getUTCDate()-n);else if(a=="w")i.setUTCDate(i.getUTCDate()-n*7);else if(a=="m")i.setUTCMonth(i.getUTCMonth()-n);else if(a=="y")i.setUTCFullYear(i.getUTCFullYear()-n);else return null;return i}else return null}var jVS=30*1e3,wVS=50*1e3,Zmn=class extends mIs{constructor(t,r={}){super(t,r),this._memoryStorage=new PIs,this.options=r,r.personalApiKey&&(this.featureFlagsPoller=new wIs({pollingInterval:typeof r.featureFlagsPollingInterval=="number"?r.featureFlagsPollingInterval:jVS,personalApiKey:r.personalApiKey,projectApiKey:t,timeout:r.requestTimeout??1e4,host:this.host,fetch:r.fetch,onError:i=>{this._events.emit("error",i)},customHeaders:this.getCustomHeaders()})),this.distinctIdHasSentFlagCalls={},this.maxCacheSize=r.maxCacheSize||wVS}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):Xlp(t,r)}getLibraryId(){return"posthog-node"}getLibraryVersion(){return dVS}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({distinctId:t,event:r,properties:i,groups:n,sendFeatureFlags:a,timestamp:u,disableGeoip:l,uuid:d}){let s=b=>{super.captureStateless(t,r,b,{timestamp:u,disableGeoip:l,uuid:d})},o=(b,g,O)=>super.getFeatureFlagsStateless(b,g,void 0,void 0,O),c=Promise.resolve().then(async()=>{if(a)return await o(t,n,l);if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let b={};for(let[g,O]of Object.entries(n||{}))b[g]=String(O);return await this.getAllFlags(t,{groups:b,disableGeoip:l,onlyEvaluateLocally:!0})}return{}}).then(b=>{let g={};if(b)for(let[m,P]of Object.entries(b))g[`$feature/${m}`]=P;let O=Object.keys(b||{}).filter(m=>b?.[m]!==!1);return O.length>0&&(g.$active_feature_flags=O),g}).catch(()=>({})).then(b=>{s({...b,...i,$groups:n})});this.addPendingPromise(c)}identify({distinctId:t,properties:r,disableGeoip:i}){let n=r?.$set||r;super.identifyStateless(t,{$set:n},{disableGeoip:i})}alias(t){super.aliasStateless(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}async getFeatureFlag(t,r,i){let{groups:n,disableGeoip:a}=i||{},{onlyEvaluateLocally:u,sendFeatureFlagEvents:l,personProperties:d,groupProperties:s}=i||{},o=this.addLocalPersonAndGroupProperties(r,n,d,s);d=o.allPersonProperties,s=o.allGroupProperties,u==null&&(u=!1),l==null&&(l=!0);let c=await this.featureFlagsPoller?.getFeatureFlag(t,r,n,d,s),b=c!==void 0;!b&&!u&&(c=await super.getFeatureFlagStateless(t,r,n,d,s,a));let g=`${t}_${c}`;return l&&(!(r in this.distinctIdHasSentFlagCalls)||!this.distinctIdHasSentFlagCalls[r].includes(g))&&(Object.keys(this.distinctIdHasSentFlagCalls).length>=this.maxCacheSize&&(this.distinctIdHasSentFlagCalls={}),Array.isArray(this.distinctIdHasSentFlagCalls[r])?this.distinctIdHasSentFlagCalls[r].push(g):this.distinctIdHasSentFlagCalls[r]=[g],this.capture({distinctId:r,event:"$feature_flag_called",properties:{$feature_flag:t,$feature_flag_response:c,locally_evaluated:b,[`$feature/${t}`]:c},groups:n,disableGeoip:a})),c}async getFeatureFlagPayload(t,r,i,n){let{groups:a,disableGeoip:u}=n||{},{onlyEvaluateLocally:l,sendFeatureFlagEvents:d,personProperties:s,groupProperties:o}=n||{},c=this.addLocalPersonAndGroupProperties(r,a,s,o);s=c.allPersonProperties,o=c.allGroupProperties;let b;return i||(i=await this.getFeatureFlag(t,r,{...n,onlyEvaluateLocally:!0})),i&&(b=await this.featureFlagsPoller?.computeFeatureFlagPayloadLocally(t,i)),l==null&&(l=!1),d==null&&(d=!0),l==null&&(l=!1),!(b!==void 0)&&!l&&(b=await super.getFeatureFlagPayloadStateless(t,r,a,s,o,u)),b}async isFeatureEnabled(t,r,i){let n=await this.getFeatureFlag(t,r,i);if(n!==void 0)return!!n||!1}async getAllFlags(t,r){return(await this.getAllFlagsAndPayloads(t,r)).featureFlags}async getAllFlagsAndPayloads(t,r){let{groups:i,disableGeoip:n}=r||{},{onlyEvaluateLocally:a,personProperties:u,groupProperties:l}=r||{},d=this.addLocalPersonAndGroupProperties(t,i,u,l);u=d.allPersonProperties,l=d.allGroupProperties,a==null&&(a=!1);let s=await this.featureFlagsPoller?.getAllFlagsAndPayloads(t,i,u,l),o={},c={},b=!0;if(s&&(o=s.response,c=s.payloads,b=s.fallbackToDecide),b&&!a){let g=await super.getFeatureFlagsAndPayloadsStateless(t,i,u,l,n);o={...o,...g.flags||{}},c={...c,...g.payloads||{}}}return{featureFlags:o,featureFlagPayloads:c}}groupIdentify({groupType:t,groupKey:r,properties:i,distinctId:n,disableGeoip:a}){super.groupIdentifyStateless(t,r,i,{disableGeoip:a},n)}async reloadFeatureFlags(){await this.featureFlagsPoller?.loadFeatureFlags(!0)}async shutdown(t){return this.featureFlagsPoller?.stopPoller(),super.shutdown(t)}addLocalPersonAndGroupProperties(t,r,i,n){let a={distinct_id:t,...i||{}},u={};if(r)for(let l of Object.keys(r))u[l]={$group_key:r[l],...n?.[l]||{}};return{allPersonProperties:a,allGroupProperties:u}}},SIs=class e{constructor(t,r,i,n){this.posthog=t,this.posthogHost=r,this.organization=i,this.prefix=n,this.name="posthog-node",this.posthogHost=t.options.host??"https://us.i.posthog.com"}setupOnce(t,r){t(i=>{if(i.exception?.values===void 0||i.exception.values.length===0)return i;i.tags||(i.tags={});let n=r(),a=i.tags[e.POSTHOG_ID_TAG];if(a===void 0)return i;i.tags["PostHog Person URL"]=new URL(`/person/${a}`,this.posthogHost).toString();let u={$exception_message:i.exception.values[0]?.value,$exception_type:i.exception.values[0]?.type,$exception_personURL:i.tags["PostHog Person URL"],$sentry_event_id:i.event_id,$sentry_exception:i.exception,$sentry_exception_message:i.exception.values[0]?.value,$sentry_exception_type:i.exception.values[0]?.type,$sentry_tags:i.tags},l=n.getClient()?.getDsn()?.projectId;return this.organization!==void 0&&l!==void 0&&i.event_id!==void 0&&(u.$sentry_url=`${this.prefix??"https://sentry.io/organizations"}/${this.organization}/issues/?project=${l}&query=${i.event_id}`),this.posthog.capture({event:"$exception",distinctId:a,properties:u}),i})}};SIs.POSTHOG_ID_TAG="posthog_distinct_id";var oPo=class{posthog;constructor({posthogApiKey:t}){this.posthog=new Zmn(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"0.57.7",usingAccessToken:!0}})}async flush(){await this.posthog.flush()}};var Yca=class{async sendEvent(){}async identify(){}async flush(){}};var kmn=require("fs/promises"),nfp=require("os"),afp=require("path");var tfp=di(require("crypto")),sPo=new Uint8Array(256),uPo=sPo.length;function DIs(){return uPo>sPo.length-16&&(tfp.default.randomFillSync(sPo),uPo=0),sPo.slice(uPo,uPo+=16)}var _V=[];for(let e=0;e<256;++e)_V.push((e+256).toString(16).slice(1));function rfp(e,t=0){return _V[e[t+0]]+_V[e[t+1]]+_V[e[t+2]]+_V[e[t+3]]+"-"+_V[e[t+4]]+_V[e[t+5]]+"-"+_V[e[t+6]]+_V[e[t+7]]+"-"+_V[e[t+8]]+_V[e[t+9]]+"-"+_V[e[t+10]]+_V[e[t+11]]+_V[e[t+12]]+_V[e[t+13]]+_V[e[t+14]]+_V[e[t+15]]}var ifp=di(require("crypto")),EIs={randomUUID:ifp.default.randomUUID};function SVS(e,t,r){if(EIs.randomUUID&&!t&&!e)return EIs.randomUUID();e=e||{};let i=e.random||(e.rng||DIs)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,t){r=r||0;for(let n=0;n<16;++n)t[r+n]=i[n];return t}return rfp(i)}var Tie=SVS;var DVS="id",EVS=".fern",Xca=class{posthog;userId;constructor({token:t,posthogApiKey:r}){this.posthog=new Zmn(r),this.userId=t==null?void 0:zEs(t)}async identify(){this.userId!=null&&this.posthog.alias({distinctId:this.userId,alias:await this.getPersistedDistinctId()})}async sendEvent(t){this.posthog.capture({distinctId:this.userId??await this.getPersistedDistinctId(),event:"CLI",properties:{version:"0.57.7",...t,...t.properties}})}async flush(){await this.posthog.flush()}persistedDistinctId;async getPersistedDistinctId(){if(this.persistedDistinctId==null){let t=es(Wl.of((0,nfp.homedir)()),uo.of(EVS),uo.of(DVS));await Cf(t)||(await(0,kmn.mkdir)((0,afp.dirname)(t),{recursive:!0}),await(0,kmn.writeFile)(t,Tie())),this.persistedDistinctId=(await(0,kmn.readFile)(t)).toString()}return this.persistedDistinctId}};var MIs;async function ePn(){return MIs==null&&(MIs=await MVS()),MIs}async function MVS(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new Yca;let r=await cyo();return r!=null?new Xca({token:r,posthogApiKey:e}):await syo()!=null?new oPo({posthogApiKey:e}):new Xca({token:void 0,posthogApiKey:e})}catch{return new Yca}}function Zca(e,t){return function(){return e.apply(t,arguments)}}var{toString:AVS}=Object.prototype,{getPrototypeOf:qIs}=Object,lPo=(e=>t=>{let r=AVS.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),y5t=e=>(e=e.toLowerCase(),t=>lPo(t)===e),fPo=e=>t=>typeof t===e,{isArray:tPn}=Array,kca=fPo("undefined");function qVS(e){return e!==null&&!kca(e)&&e.constructor!==null&&!kca(e.constructor)&&LSe(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var ufp=y5t("ArrayBuffer");function TVS(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&ufp(e.buffer),t}var CVS=fPo("string"),LSe=fPo("function"),sfp=fPo("number"),dPo=e=>e!==null&&typeof e=="object",BVS=e=>e===!0||e===!1,cPo=e=>{if(lPo(e)!=="object")return!1;let t=qIs(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},xVS=y5t("Date"),IVS=y5t("File"),zVS=y5t("Blob"),RVS=y5t("FileList"),NVS=e=>dPo(e)&&LSe(e.pipe),FVS=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||LSe(e.append)&&((t=lPo(e))==="formdata"||t==="object"&&LSe(e.toString)&&e.toString()==="[object FormData]"))},LVS=y5t("URLSearchParams"),[UVS,VVS,WVS,HVS]=["ReadableStream","Request","Response","Headers"].map(y5t),$VS=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function ela(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let i,n;if(typeof e!="object"&&(e=[e]),tPn(e))for(i=0,n=e.length;i<n;i++)t.call(null,e[i],i,e);else{let a=r?Object.getOwnPropertyNames(e):Object.keys(e),u=a.length,l;for(i=0;i<u;i++)l=a[i],t.call(null,e[l],l,e)}}function cfp(e,t){t=t.toLowerCase();let r=Object.keys(e),i=r.length,n;for(;i-- >0;)if(n=r[i],t===n.toLowerCase())return n;return null}var kIi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,lfp=e=>!kca(e)&&e!==kIi;function AIs(){let{caseless:e}=lfp(this)&&this||{},t={},r=(i,n)=>{let a=e&&cfp(t,n)||n;cPo(t[a])&&cPo(i)?t[a]=AIs(t[a],i):cPo(i)?t[a]=AIs({},i):tPn(i)?t[a]=i.slice():t[a]=i};for(let i=0,n=arguments.length;i<n;i++)arguments[i]&&ela(arguments[i],r);return t}var GVS=(e,t,r,{allOwnKeys:i}={})=>(ela(t,(n,a)=>{r&&LSe(n)?e[a]=Zca(n,r):e[a]=n},{allOwnKeys:i}),e),QVS=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),JVS=(e,t,r,i)=>{e.prototype=Object.create(t.prototype,i),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},KVS=(e,t,r,i)=>{let n,a,u,l={};if(t=t||{},e==null)return t;do{for(n=Object.getOwnPropertyNames(e),a=n.length;a-- >0;)u=n[a],(!i||i(u,e,t))&&!l[u]&&(t[u]=e[u],l[u]=!0);e=r!==!1&&qIs(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},YVS=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;let i=e.indexOf(t,r);return i!==-1&&i===r},XVS=e=>{if(!e)return null;if(tPn(e))return e;let t=e.length;if(!sfp(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},ZVS=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&qIs(Uint8Array)),kVS=(e,t)=>{let i=(e&&e[Symbol.iterator]).call(e),n;for(;(n=i.next())&&!n.done;){let a=n.value;t.call(e,a[0],a[1])}},eWS=(e,t)=>{let r,i=[];for(;(r=e.exec(t))!==null;)i.push(r);return i},tWS=y5t("HTMLFormElement"),rWS=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,i,n){return i.toUpperCase()+n}),ofp=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),iWS=y5t("RegExp"),ffp=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),i={};ela(r,(n,a)=>{let u;(u=t(n,a,e))!==!1&&(i[a]=u||n)}),Object.defineProperties(e,i)},nWS=e=>{ffp(e,(t,r)=>{if(LSe(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let i=e[r];if(LSe(i)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},aWS=(e,t)=>{let r={},i=n=>{n.forEach(a=>{r[a]=!0})};return tPn(e)?i(e):i(String(e).split(t)),r},oWS=()=>{},uWS=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function sWS(e){return!!(e&&LSe(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}var cWS=e=>{let t=new Array(10),r=(i,n)=>{if(dPo(i)){if(t.indexOf(i)>=0)return;if(!("toJSON"in i)){t[n]=i;let a=tPn(i)?[]:{};return ela(i,(u,l)=>{let d=r(u,n+1);!kca(d)&&(a[l]=d)}),t[n]=void 0,a}}return i};return r(e,0)},lWS=y5t("AsyncFunction"),fWS=e=>e&&(dPo(e)||LSe(e))&&LSe(e.then)&&LSe(e.catch),dfp=((e,t)=>e?setImmediate:t?((r,i)=>(kIi.addEventListener("message",({source:n,data:a})=>{n===kIi&&a===r&&i.length&&i.shift()()},!1),n=>{i.push(n),kIi.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",LSe(kIi.postMessage)),dWS=typeof queueMicrotask<"u"?queueMicrotask.bind(kIi):typeof process<"u"&&process.nextTick||dfp,ds={isArray:tPn,isArrayBuffer:ufp,isBuffer:qVS,isFormData:FVS,isArrayBufferView:TVS,isString:CVS,isNumber:sfp,isBoolean:BVS,isObject:dPo,isPlainObject:cPo,isReadableStream:UVS,isRequest:VVS,isResponse:WVS,isHeaders:HVS,isUndefined:kca,isDate:xVS,isFile:IVS,isBlob:zVS,isRegExp:iWS,isFunction:LSe,isStream:NVS,isURLSearchParams:LVS,isTypedArray:ZVS,isFileList:RVS,forEach:ela,merge:AIs,extend:GVS,trim:$VS,stripBOM:QVS,inherits:JVS,toFlatObject:KVS,kindOf:lPo,kindOfTest:y5t,endsWith:YVS,toArray:XVS,forEachEntry:kVS,matchAll:eWS,isHTMLForm:tWS,hasOwnProperty:ofp,hasOwnProp:ofp,reduceDescriptors:ffp,freezeMethods:nWS,toObjectSet:aWS,toCamelCase:rWS,noop:oWS,toFiniteNumber:uWS,findKey:cfp,global:kIi,isContextDefined:lfp,isSpecCompliantForm:sWS,toJSONObject:cWS,isAsyncFn:lWS,isThenable:fWS,setImmediate:dfp,asap:dWS};function rPn(e,t,r,i,n){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),i&&(this.request=i),n&&(this.response=n,this.status=n.status?n.status:null)}ds.inherits(rPn,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:ds.toJSONObject(this.config),code:this.code,status:this.status}}});var pfp=rPn.prototype,_fp={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{_fp[e]={value:e}});Object.defineProperties(rPn,_fp);Object.defineProperty(pfp,"isAxiosError",{value:!0});rPn.from=(e,t,r,i,n,a)=>{let u=Object.create(pfp);return ds.toFlatObject(e,u,function(d){return d!==Error.prototype},l=>l!=="isAxiosError"),rPn.call(u,e.message,t,r,i,n),u.cause=e,u.name=e.name,a&&Object.assign(u,a),u};var wp=rPn;var hfp=di(qia(),1),pPo=hfp.default;function TIs(e){return ds.isPlainObject(e)||ds.isArray(e)}function vfp(e){return ds.endsWith(e,"[]")?e.slice(0,-2):e}function yfp(e,t,r){return e?e.concat(t).map(function(n,a){return n=vfp(n),!r&&a?"["+n+"]":n}).join(r?".":""):t}function pWS(e){return ds.isArray(e)&&!e.some(TIs)}var _WS=ds.toFlatObject(ds,{},null,function(t){return/^is[A-Z]/.test(t)});function hWS(e,t,r){if(!ds.isObject(e))throw new TypeError("target must be an object");t=t||new(pPo||FormData),r=ds.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,P){return!ds.isUndefined(P[m])});let i=r.metaTokens,n=r.visitor||o,a=r.dots,u=r.indexes,d=(r.Blob||typeof Blob<"u"&&Blob)&&ds.isSpecCompliantForm(t);if(!ds.isFunction(n))throw new TypeError("visitor must be a function");function s(O){if(O===null)return"";if(ds.isDate(O))return O.toISOString();if(!d&&ds.isBlob(O))throw new wp("Blob is not supported. Use a Buffer instead.");return ds.isArrayBuffer(O)||ds.isTypedArray(O)?d&&typeof Blob=="function"?new Blob([O]):Buffer.from(O):O}function o(O,m,P){let E=O;if(O&&!P&&typeof O=="object"){if(ds.endsWith(m,"{}"))m=i?m:m.slice(0,-2),O=JSON.stringify(O);else if(ds.isArray(O)&&pWS(O)||(ds.isFileList(O)||ds.endsWith(m,"[]"))&&(E=ds.toArray(O)))return m=vfp(m),E.forEach(function(q,D){!(ds.isUndefined(q)||q===null)&&t.append(u===!0?yfp([m],D,a):u===null?m:m+"[]",s(q))}),!1}return TIs(O)?!0:(t.append(yfp(P,m,a),s(O)),!1)}let c=[],b=Object.assign(_WS,{defaultVisitor:o,convertValue:s,isVisitable:TIs});function g(O,m){if(!ds.isUndefined(O)){if(c.indexOf(O)!==-1)throw Error("Circular reference detected in "+m.join("."));c.push(O),ds.forEach(O,function(E,A){(!(ds.isUndefined(E)||E===null)&&n.call(t,E,ds.isString(A)?A.trim():A,m,b))===!0&&g(E,m?m.concat(A):[A])}),c.pop()}}if(!ds.isObject(e))throw new TypeError("data must be an object");return g(e),t}var mfi=hWS;function bfp(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(i){return t[i]})}function gfp(e,t){this._pairs=[],e&&mfi(e,this,t)}var Ofp=gfp.prototype;Ofp.append=function(t,r){this._pairs.push([t,r])};Ofp.toString=function(t){let r=t?function(i){return t.call(this,i,bfp)}:bfp;return this._pairs.map(function(n){return r(n[0])+"="+r(n[1])},"").join("&")};var mfp=gfp;function yWS(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function ezi(e,t,r){if(!t)return e;let i=r&&r.encode||yWS;ds.isFunction(r)&&(r={serialize:r});let n=r&&r.serialize,a;if(n?a=n(t,r):a=ds.isURLSearchParams(t)?t.toString():new mfp(t,r).toString(i),a){let u=e.indexOf("#");u!==-1&&(e=e.slice(0,u)),e+=(e.indexOf("?")===-1?"?":"&")+a}return e}var CIs=class{constructor(){this.handlers=[]}use(t,r,i){return this.handlers.push({fulfilled:t,rejected:r,synchronous:i?i.synchronous:!1,runWhen:i?i.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){ds.forEach(this.handlers,function(i){i!==null&&t(i)})}},BIs=CIs;var iPn={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var Sfp=di(require("crypto"),1);var Pfp=di(require("url"),1),jfp=Pfp.default.URLSearchParams;var xIs="abcdefghijklmnopqrstuvwxyz",wfp="0123456789",Dfp={DIGIT:wfp,ALPHA:xIs,ALPHA_DIGIT:xIs+xIs.toUpperCase()+wfp},vWS=(e=16,t=Dfp.ALPHA_DIGIT)=>{let r="",{length:i}=t,n=new Uint32Array(e);Sfp.default.randomFillSync(n);for(let a=0;a<e;a++)r+=t[n[a]%i];return r},Efp={isNode:!0,classes:{URLSearchParams:jfp,FormData:pPo,Blob:typeof Blob<"u"&&Blob||null},ALPHABET:Dfp,generateString:vWS,protocols:["http","https","file","data"]};var RIs={};Eo(RIs,{hasBrowserEnv:()=>zIs,hasStandardBrowserEnv:()=>bWS,hasStandardBrowserWebWorkerEnv:()=>gWS,navigator:()=>IIs,origin:()=>OWS});var zIs=typeof window<"u"&&typeof document<"u",IIs=typeof navigator=="object"&&navigator||void 0,bWS=zIs&&(!IIs||["ReactNative","NativeScript","NS"].indexOf(IIs.product)<0),gWS=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",OWS=zIs&&window.location.href||"http://localhost";var SM={...RIs,...Efp};function NIs(e,t){return mfi(e,new SM.classes.URLSearchParams,Object.assign({visitor:function(r,i,n,a){return SM.isNode&&ds.isBuffer(r)?(this.append(i,r.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)}},t))}function mWS(e){return ds.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function PWS(e){let t={},r=Object.keys(e),i,n=r.length,a;for(i=0;i<n;i++)a=r[i],t[a]=e[a];return t}function jWS(e){function t(r,i,n,a){let u=r[a++];if(u==="__proto__")return!0;let l=Number.isFinite(+u),d=a>=r.length;return u=!u&&ds.isArray(n)?n.length:u,d?(ds.hasOwnProp(n,u)?n[u]=[n[u],i]:n[u]=i,!l):((!n[u]||!ds.isObject(n[u]))&&(n[u]=[]),t(r,i,n[u],a)&&ds.isArray(n[u])&&(n[u]=PWS(n[u])),!l)}if(ds.isFormData(e)&&ds.isFunction(e.entries)){let r={};return ds.forEachEntry(e,(i,n)=>{t(mWS(i),n,r,0)}),r}return null}var _Po=jWS;function wWS(e,t,r){if(ds.isString(e))try{return(t||JSON.parse)(e),ds.trim(e)}catch(i){if(i.name!=="SyntaxError")throw i}return(r||JSON.stringify)(e)}var FIs={transitional:iPn,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){let i=r.getContentType()||"",n=i.indexOf("application/json")>-1,a=ds.isObject(t);if(a&&ds.isHTMLForm(t)&&(t=new FormData(t)),ds.isFormData(t))return n?JSON.stringify(_Po(t)):t;if(ds.isArrayBuffer(t)||ds.isBuffer(t)||ds.isStream(t)||ds.isFile(t)||ds.isBlob(t)||ds.isReadableStream(t))return t;if(ds.isArrayBufferView(t))return t.buffer;if(ds.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let l;if(a){if(i.indexOf("application/x-www-form-urlencoded")>-1)return NIs(t,this.formSerializer).toString();if((l=ds.isFileList(t))||i.indexOf("multipart/form-data")>-1){let d=this.env&&this.env.FormData;return mfi(l?{"files[]":t}:t,d&&new d,this.formSerializer)}}return a||n?(r.setContentType("application/json",!1),wWS(t)):t}],transformResponse:[function(t){let r=this.transitional||FIs.transitional,i=r&&r.forcedJSONParsing,n=this.responseType==="json";if(ds.isResponse(t)||ds.isReadableStream(t))return t;if(t&&ds.isString(t)&&(i&&!this.responseType||n)){let u=!(r&&r.silentJSONParsing)&&n;try{return JSON.parse(t)}catch(l){if(u)throw l.name==="SyntaxError"?wp.from(l,wp.ERR_BAD_RESPONSE,this,null,this.response):l}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:SM.classes.FormData,Blob:SM.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ds.forEach(["delete","get","head","post","put","patch"],e=>{FIs.headers[e]={}});var nPn=FIs;var SWS=ds.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Mfp=e=>{let t={},r,i,n;return e&&e.split(`
1704
+ `}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&&cmo(this.rl,t.length+this.rl.line.length),this.rl.output.write(t)}};var Icp=di(Mcp(),1),zcp=di(BCs(),1),Rcp=di(Bcp(),1),YA=di(NSe(),1),Ncp=di(jsa(),1);var Nmo=di(NSe(),1),xcp=di(jsa(),1),Fmo=function(e,t,r){return typeof e[t]!="function"?(0,Nmo.of)(e):(0,Nmo.from)((0,xcp.default)(e[t])(r).then(i=>(e[t]=i,e)))};var zca={isPlainObject:Icp.default,set:Rcp.default,get:zcp.default},$mn=class extends JIi{constructor(t,r){super(r),this.prompts=t}run(t,r){this.answers=zca.isPlainObject(r)?{...r}:{},zca.isPlainObject(t)&&(t=Object.values(t).every(n=>zca.isPlainObject(n)&&n.name===void 0)?Object.entries(t).map(([n,a])=>({name:n,...a})):[t]);let i=Array.isArray(t)?(0,YA.from)(t):t;return this.process=i.pipe((0,YA.concatMap)(this.processQuestion.bind(this)),(0,YA.publish)()),this.process.connect(),this.process.pipe((0,YA.reduce)((n,a)=>(zca.set(n,a.name,a.answer),n),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,YA.defer)(()=>(0,YA.of)(t).pipe((0,YA.concatMap)(this.setDefaultType.bind(this)),(0,YA.concatMap)(this.filterIfRunnable.bind(this)),(0,YA.concatMap)(()=>Fmo(t,"message",this.answers)),(0,YA.concatMap)(()=>Fmo(t,"default",this.answers)),(0,YA.concatMap)(()=>Fmo(t,"choices",this.answers)),(0,YA.concatMap)(this.fetchAnswer.bind(this))))}fetchAnswer(t){let r=this.prompts[t.type];return this.activePrompt=new r(t,this.rl,this.answers),(0,YA.defer)(()=>(0,YA.from)(this.activePrompt.run().then(i=>({name:t.name,answer:i}))))}setDefaultType(t){return this.prompts[t.type]||(t.type="input"),(0,YA.defer)(()=>(0,YA.of)(t))}filterIfRunnable(t){if(t.askAnswered!==!0&&zca.get(this.answers,t.name)!==void 0)return(0,YA.empty)();if(t.when===!1)return(0,YA.empty)();if(typeof t.when!="function")return(0,YA.of)(t);let{answers:r}=this;return(0,YA.defer)(()=>(0,YA.from)((0,Ncp.default)(t.when)(r).then(i=>{if(i)return t})).pipe((0,YA.filter)(i=>i!=null)))}};function Fcp(e){let t=function(r,i){let n;try{n=new $mn(t.prompts,e)}catch(u){return Promise.reject(u)}let a=n.run(r,i);return a.ui=n,a};return t.prompts={},t.registerPrompt=function(r,i){return t.prompts[r]=i,this},t.restoreDefaultPrompts=function(){this.registerPrompt("list",yca),this.registerPrompt("input",NIi),this.registerPrompt("number",vca),this.registerPrompt("confirm",bca),this.registerPrompt("rawlist",gca),this.registerPrompt("expand",Oca),this.registerPrompt("checkbox",mca),this.registerPrompt("password",Pca),this.registerPrompt("editor",Cca)},t.restoreDefaultPrompts(),t}var Ixs=Fcp();function R9S(e,t){Ixs.registerPrompt(e,t)}function N9S(){Ixs.restoreDefaultPrompts()}var F9S={prompt:Ixs,ui:{BottomBar:Ica,Prompt:$mn},createPromptModule:Fcp,registerPrompt:R9S,restoreDefaultPrompts:N9S,Separator:Die},Lmo=F9S;var Klp=di(Lcp()),dVS="4.2.1",h5t;(function(e){e.AnonymousId="anonymous_id",e.DistinctId="distinct_id",e.Props="props",e.FeatureFlags="feature_flags",e.FeatureFlagPayloads="feature_flag_payloads",e.OverrideFeatureFlags="override_feature_flags",e.Queue="queue",e.OptedOut="opted_out",e.SessionId="session_id",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"})(h5t||(h5t={}));function pVS(e,t){if(!e)throw new Error(t)}function _VS(e){return e?.replace(/\/+$/,"")}async function hVS(e,t){let r=null;for(let i=0;i<t.retryCount+1;i++){i>0&&await new Promise(n=>setTimeout(n,t.retryDelay));try{return await e()}catch(n){if(r=n,!t.retryCheck(n))throw n}}throw r}function yVS(){return new Date().getTime()}function Ulp(){return new Date().toISOString()}function Ylp(e,t){let r=setTimeout(e,t);return r?.unref&&r?.unref(),r}var Qca=String.fromCharCode,Vlp="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",tPo={};function vVS(e,t){if(!tPo[e]){tPo[e]={};for(let r=0;r<e.length;r++)tPo[e][e.charAt(r)]=r}return tPo[e][t]}var Jca={compressToBase64:function(e){if(e==null)return"";let t=Jca._compress(e,6,function(r){return Vlp.charAt(r)});switch(t.length%4){default:case 0:return t;case 1:return t+"===";case 2:return t+"==";case 3:return t+"="}},decompressFromBase64:function(e){return e==null?"":e==""?null:Jca._decompress(e.length,32,function(t){return vVS(Vlp,e.charAt(t))})},compress:function(e){return Jca._compress(e,16,function(t){return Qca(t)})},_compress:function(e,t,r){if(e==null)return"";let i={},n={},a=[],u,l,d="",s="",o="",c=2,b=3,g=2,O=0,m=0,P;for(P=0;P<e.length;P+=1)if(d=e.charAt(P),Object.prototype.hasOwnProperty.call(i,d)||(i[d]=b++,n[d]=!0),s=o+d,Object.prototype.hasOwnProperty.call(i,s))o=s;else{if(Object.prototype.hasOwnProperty.call(n,o)){if(o.charCodeAt(0)<256){for(u=0;u<g;u++)O=O<<1,m==t-1?(m=0,a.push(r(O)),O=0):m++;for(l=o.charCodeAt(0),u=0;u<8;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1}else{for(l=1,u=0;u<g;u++)O=O<<1|l,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=0;for(l=o.charCodeAt(0),u=0;u<16;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1}c--,c==0&&(c=Math.pow(2,g),g++),delete n[o]}else for(l=i[o],u=0;u<g;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1;c--,c==0&&(c=Math.pow(2,g),g++),i[s]=b++,o=String(d)}if(o!==""){if(Object.prototype.hasOwnProperty.call(n,o)){if(o.charCodeAt(0)<256){for(u=0;u<g;u++)O=O<<1,m==t-1?(m=0,a.push(r(O)),O=0):m++;for(l=o.charCodeAt(0),u=0;u<8;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1}else{for(l=1,u=0;u<g;u++)O=O<<1|l,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=0;for(l=o.charCodeAt(0),u=0;u<16;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1}c--,c==0&&(c=Math.pow(2,g),g++),delete n[o]}else for(l=i[o],u=0;u<g;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1;c--,c==0&&(c=Math.pow(2,g),g++)}for(l=2,u=0;u<g;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1;for(;;)if(O=O<<1,m==t-1){a.push(r(O));break}else m++;return a.join("")},decompress:function(e){return e==null?"":e==""?null:Jca._decompress(e.length,32768,function(t){return e.charCodeAt(t)})},_decompress:function(e,t,r){let i=[],n=[],a={val:r(0),position:t,index:1},u=4,l=4,d=3,s="",o,c,b,g,O,m,P;for(o=0;o<3;o+=1)i[o]=o;for(b=0,O=Math.pow(2,2),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;switch(b){case 0:for(b=0,O=Math.pow(2,8),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;P=Qca(b);break;case 1:for(b=0,O=Math.pow(2,16),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;P=Qca(b);break;case 2:return""}for(i[3]=P,c=P,n.push(P);;){if(a.index>e)return"";for(b=0,O=Math.pow(2,d),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;switch(P=b){case 0:for(b=0,O=Math.pow(2,8),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;i[l++]=Qca(b),P=l-1,u--;break;case 1:for(b=0,O=Math.pow(2,16),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;i[l++]=Qca(b),P=l-1,u--;break;case 2:return n.join("")}if(u==0&&(u=Math.pow(2,d),d++),i[P])s=i[P];else if(P===l)s=c+c.charAt(0);else return null;n.push(s),i[l++]=c+s.charAt(0),u--,c=s,u==0&&(u=Math.pow(2,d),d++)}}},gIs=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(i=>i!==r)}}emit(t,r){for(let i of this.events[t]||[])i(r);for(let i of this.events["*"]||[])i(t,r)}};var rPo="0123456789abcdef",iPo=class e{constructor(t){this.bytes=t}static ofInner(t){if(t.length!==16)throw new TypeError("not 128-bit length");return new e(t)}static fromFieldsV7(t,r,i,n){if(!Number.isInteger(t)||!Number.isInteger(r)||!Number.isInteger(i)||!Number.isInteger(n)||t<0||r<0||i<0||n<0||t>0xffffffffffff||r>4095||i>1073741823||n>4294967295)throw new RangeError("invalid field value");let a=new Uint8Array(16);return a[0]=t/2**40,a[1]=t/2**32,a[2]=t/2**24,a[3]=t/2**16,a[4]=t/2**8,a[5]=t,a[6]=112|r>>>8,a[7]=r,a[8]=128|i>>>24,a[9]=i>>>16,a[10]=i>>>8,a[11]=i,a[12]=n>>>24,a[13]=n>>>16,a[14]=n>>>8,a[15]=n,new e(a)}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}if(r){let i=new Uint8Array(16);for(let n=0;n<16;n+=4){let a=parseInt(r.substring(2*n,2*n+8),16);i[n+0]=a>>>24,i[n+1]=a>>>16,i[n+2]=a>>>8,i[n+3]=a}return new e(i)}else throw new SyntaxError("could not parse UUID string")}toString(){let t="";for(let r=0;r<this.bytes.length;r++)t+=rPo.charAt(this.bytes[r]>>>4),t+=rPo.charAt(this.bytes[r]&15),(r===3||r===5||r===7||r===9)&&(t+="-");return t}toHex(){let t="";for(let r=0;r<this.bytes.length;r++)t+=rPo.charAt(this.bytes[r]>>>4),t+=rPo.charAt(this.bytes[r]&15);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 i=this.bytes[r]-t.bytes[r];if(i!==0)return Math.sign(i)}return 0}},OIs=class{constructor(t){this.timestamp=0,this.counter=0,this.random=t??bVS()}generate(){return this.generateOrResetCore(Date.now(),1e4)}generateOrAbort(){return this.generateOrAbortCore(Date.now(),1e4)}generateOrResetCore(t,r){let i=this.generateOrAbortCore(t,r);return i===void 0&&(this.timestamp=0,i=this.generateOrAbortCore(t,r)),i}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)this.counter++,this.counter>4398046511103&&(this.timestamp++,this.resetCounter());else return;return iPo.fromFieldsV7(this.timestamp,Math.trunc(this.counter/2**30),this.counter&2**30-1,this.random.nextUint32())}resetCounter(){this.counter=this.random.nextUint32()*1024+(this.random.nextUint32()&1023)}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,iPo.ofInner(t)}},bVS=()=>({nextUint32:()=>Math.trunc(Math.random()*65536)*65536+Math.trunc(Math.random()*65536)}),Wlp,Hlp=()=>gVS().toString(),gVS=()=>(Wlp||(Wlp=new OIs)).generate(),nPo=class extends Error{constructor(t){super("HTTP error while fetching PostHog: "+t.status),this.response=t,this.name="PostHogFetchHttpError"}},Kca=class extends Error{constructor(t){super("Network error while fetching PostHog",t instanceof Error?{cause:t}:{}),this.error=t,this.name="PostHogFetchNetworkError"}};function $lp(e){return typeof e=="object"&&(e instanceof nPo||e instanceof Kca)}var mIs=class{constructor(t,r){this.flushPromise=null,this.disableGeoip=!0,this.historicalMigration=!1,this.disabled=!1,this.defaultOptIn=!0,this.pendingPromises={},this._events=new gIs,this._isInitialized=!1,pVS(t,"You must pass your PostHog project's api key."),this.apiKey=t,this.host=_VS(r?.host||"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.captureMode=r?.captureMode||"json",this.defaultOptIn=r?.defaultOptIn??!0,this._retryOptions={retryCount:r?.fetchRetryCount??3,retryDelay:r?.fetchRetryDelay??3e3,retryCheck:$lp},this.requestTimeout=r?.requestTimeout??1e4,this.featureFlagsRequestTimeoutMs=r?.featureFlagsRequestTimeoutMs??3e3,this.disableGeoip=r?.disableGeoip??!0,this.disabled=r?.disabled??!1,this.historicalMigration=r?.historicalMigration??!1,this._initPromise=Promise.resolve(),this._isInitialized=!0}logMsgIfDebug(t){this.isDebug&&t()}wrap(t){if(this.disabled){this.logMsgIfDebug(()=>console.warn("[PostHog] The client is disabled"));return}if(this._isInitialized)return t();this._initPromise.then(()=>t())}getCommonEventProperties(){return{$lib:this.getLibraryId(),$lib_version:this.getLibraryVersion()}}get optedOut(){return this.getPersistedProperty(h5t.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty(h5t.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty(h5t.OptedOut,!0)})}on(t,r){return this._events.on(t,r)}debug(t=!0){if(this.removeDebugCallback?.(),t){let r=this.on("*",(i,n)=>console.log("PostHog Debug",i,n));this.removeDebugCallback=()=>{r(),this.removeDebugCallback=void 0}}}get isDebug(){return!!this.removeDebugCallback}buildPayload(t){return{distinct_id:t.distinct_id,event:t.event,properties:{...t.properties||{},...this.getCommonEventProperties()}}}addPendingPromise(t){let r=Hlp();return this.pendingPromises[r]=t,t.catch(()=>{}).finally(()=>{delete this.pendingPromises[r]}),t}identifyStateless(t,r,i){this.wrap(()=>{let n={...this.buildPayload({distinct_id:t,event:"$identify",properties:r})};this.enqueue("identify",n,i)})}captureStateless(t,r,i,n){this.wrap(()=>{let a=this.buildPayload({distinct_id:t,event:r,properties:i});this.enqueue("capture",a,n)})}aliasStateless(t,r,i,n){this.wrap(()=>{let a=this.buildPayload({event:"$create_alias",distinct_id:r,properties:{...i||{},distinct_id:r,alias:t}});this.enqueue("alias",a,n)})}groupIdentifyStateless(t,r,i,n,a,u){this.wrap(()=>{let l=this.buildPayload({distinct_id:a||`$${t}_${r}`,event:"$groupidentify",properties:{$group_type:t,$group_key:r,$group_set:i||{},...u||{}}});this.enqueue("capture",l,n)})}async getDecide(t,r={},i={},n={},a={}){await this._initPromise;let u=`${this.host}/decide/?v=3`,l={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:JSON.stringify({token:this.apiKey,distinct_id:t,groups:r,person_properties:i,group_properties:n,...a})};return this.fetchWithRetry(u,l,{retryCount:0},this.featureFlagsRequestTimeoutMs).then(d=>d.json()).catch(d=>{this._events.emit("error",d)})}async getFeatureFlagStateless(t,r,i={},n={},a={},u){await this._initPromise;let l=await this.getFeatureFlagsStateless(r,i,n,a,u);if(!l)return;let d=l[t];return d===void 0&&(d=!1),d}async getFeatureFlagPayloadStateless(t,r,i={},n={},a={},u){await this._initPromise;let l=await this.getFeatureFlagPayloadsStateless(r,i,n,a,u);if(!l)return;let d=l[t];return d===void 0?null:d}async getFeatureFlagPayloadsStateless(t,r={},i={},n={},a){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless(t,r,i,n,a)).payloads}_parsePayload(t){try{return JSON.parse(t)}catch{return t}}async getFeatureFlagsStateless(t,r={},i={},n={},a){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless(t,r,i,n,a)).flags}async getFeatureFlagsAndPayloadsStateless(t,r={},i={},n={},a){await this._initPromise;let u={};(a??this.disableGeoip)&&(u.geoip_disable=!0);let l=await this.getDecide(t,r,i,n,u),d=l?.featureFlags,s=l?.featureFlagPayloads,o=s;return s&&(o=Object.fromEntries(Object.entries(s).map(([c,b])=>[c,this._parsePayload(b)]))),{flags:d,payloads:o}}enqueue(t,r,i){this.wrap(()=>{if(this.optedOut){this._events.emit(t,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");return}let n={...r,type:t,library:this.getLibraryId(),library_version:this.getLibraryVersion(),timestamp:i?.timestamp?i?.timestamp:Ulp(),uuid:i?.uuid?i.uuid:Hlp()};(i?.disableGeoip??this.disableGeoip)&&(n.properties||(n.properties={}),n.properties.$geoip_disable=!0),n.distinctId&&(n.distinct_id=n.distinctId,delete n.distinctId);let u=this.getPersistedProperty(h5t.Queue)||[];u.length>=this.maxQueueSize&&(u.shift(),this.logMsgIfDebug(()=>console.info("Queue is full, the oldest event is dropped."))),u.push({message:n}),this.setPersistedProperty(h5t.Queue,u),this._events.emit(t,n),u.length>=this.flushAt&&this.flushBackground(),this.flushInterval&&!this._flushTimer&&(this._flushTimer=Ylp(()=>this.flushBackground(),this.flushInterval))})}clearFlushTimer(){this._flushTimer&&(clearTimeout(this._flushTimer),this._flushTimer=void 0)}flushBackground(){this.flush().catch(()=>{})}async flush(){return this.flushPromise||(this.flushPromise=this._flush().finally(()=>{this.flushPromise=null}),this.addPendingPromise(this.flushPromise)),this.flushPromise}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(h5t.Queue)||[];if(!t.length)return[];let r=t.slice(0,this.maxBatchSize),i=r.map(s=>s.message),n=()=>{let s=this.getPersistedProperty(h5t.Queue)||[];this.setPersistedProperty(h5t.Queue,s.slice(r.length))},a={api_key:this.apiKey,batch:i,sent_at:Ulp()};this.historicalMigration&&(a.historical_migration=!0);let u=JSON.stringify(a),l=this.captureMode==="form"?`${this.host}/e/?ip=1&_=${yVS()}&v=${this.getLibraryVersion()}`:`${this.host}/batch/`,d=this.captureMode==="form"?{method:"POST",mode:"no-cors",credentials:"omit",headers:{...this.getCustomHeaders(),"Content-Type":"application/x-www-form-urlencoded"},body:`data=${encodeURIComponent(Jca.compressToBase64(u))}&compression=lz64`}:{method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:u};try{await this.fetchWithRetry(l,d)}catch(s){throw s instanceof Kca||n(),this._events.emit("error",s),s}return n(),this._events.emit("flush",i),i}async fetchWithRetry(t,r,i,n){var a;return(a=AbortSignal).timeout??(a.timeout=function(l){let d=new AbortController;return setTimeout(()=>d.abort(),l),d.signal}),await hVS(async()=>{let u=null;try{u=await this.fetch(t,{signal:AbortSignal.timeout(n??this.requestTimeout),...r})}catch(d){throw new Kca(d)}if(!(r.mode==="no-cors")&&(u.status<200||u.status>=400))throw new nPo(u);return u},{...this._retryOptions,...i})}async shutdown(t=3e4){await this._initPromise,this.clearFlushTimer();try{await Promise.all(Object.values(this.pendingPromises));let r=Date.now()+t;for(;(this.getPersistedProperty(h5t.Queue)||[]).length!==0;){await this.flush();let n=Date.now();if(r<n)break}}catch(r){if(!$lp(r))throw r;this.logMsgIfDebug(()=>console.error("Error while shutting down PostHog",r))}}},PIs=class{constructor(){this._memoryStorage={}}getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}},jIs=typeof fetch<"u"?fetch:typeof global.fetch<"u"?global.fetch:void 0;if(!jIs){let e=Llp();jIs=async(t,r)=>{let i=await e.request({url:t,headers:r.headers,method:r.method.toLowerCase(),data:r.body,signal:r.signal,validateStatus:()=>!0});return{status:i.status,text:async()=>i.data,json:async()=>i.data}}}var Xlp=jIs,OVS=1152921504606847e3,mVS=["is_not"],aPo=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},C2=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},wIs=class{constructor({pollingInterval:t,personalApiKey:r,projectApiKey:i,timeout:n,host:a,customHeaders:u,...l}){this.debugMode=!1,this.pollingInterval=t,this.personalApiKey=r,this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={},this.loadedSuccessfullyOnce=!1,this.timeout=n,this.projectApiKey=i,this.host=a,this.poller=void 0,this.fetch=l.fetch||Xlp,this.onError=l.onError,this.customHeaders=u,this.loadFeatureFlags()}debug(t=!0){this.debugMode=t}logMsgIfDebug(t){this.debugMode&&t()}async getFeatureFlag(t,r,i={},n={},a={}){await this.loadFeatureFlags();let u,l;if(!this.loadedSuccessfullyOnce)return u;for(let d of this.featureFlags)if(t===d.key){l=d;break}if(l!==void 0)try{u=this.computeFlagLocally(l,r,i,n,a),this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${t} -> ${u}`))}catch(d){d instanceof C2?this.logMsgIfDebug(()=>console.debug(`InconclusiveMatchError when computing flag locally: ${t}: ${d}`)):d instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${t}: ${d}`))}return u}async computeFeatureFlagPayloadLocally(t,r){await this.loadFeatureFlags();let i;if(this.loadedSuccessfullyOnce){if(typeof r=="boolean"?i=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r.toString()]:typeof r=="string"&&(i=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r]),i==null)return null;try{return JSON.parse(i)}catch{return i}}}async getAllFlagsAndPayloads(t,r={},i={},n={}){await this.loadFeatureFlags();let a={},u={},l=this.featureFlags.length==0;return this.featureFlags.map(async d=>{try{let s=this.computeFlagLocally(d,t,r,i,n);a[d.key]=s;let o=await this.computeFeatureFlagPayloadLocally(d.key,s);o&&(u[d.key]=o)}catch(s){s instanceof C2||s instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${d.key}: ${s}`)),l=!0}}),{response:a,payloads:u,fallbackToDecide:l}}computeFlagLocally(t,r,i={},n={},a={}){if(t.ensure_experience_continuity)throw new C2("Flag has experience continuity enabled");if(!t.active)return!1;let l=(t.filters||{}).aggregation_group_type_index;if(l!=null){let d=this.groupTypeMapping[String(l)];if(!d)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Unknown group type index ${l} for feature flag ${t.key}`)),new C2("Flag has unknown group type index");if(!(d in i))return this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${t.key} without group names passed in`)),!1;let s=a[d];return this.matchFeatureFlagProperties(t,i[d],s)}else return this.matchFeatureFlagProperties(t,r,n)}matchFeatureFlagProperties(t,r,i){let n=t.filters||{},a=n.groups||[],u=!1,l,d=[...a].sort((s,o)=>{let c=!!s.variant,b=!!o.variant;return c&&b?0:c?-1:b?1:0});for(let s of d)try{if(this.isConditionMatch(t,r,s,i)){let o=s.variant,c=n.multivariate?.variants||[];o&&c.some(b=>b.key===o)?l=o:l=this.getMatchingVariant(t,r)||!0;break}}catch(o){if(o instanceof C2)u=!0;else throw o}if(l!==void 0)return l;if(u)throw new C2("Can't determine if feature flag is enabled or not with given properties");return!1}isConditionMatch(t,r,i,n){let a=i.rollout_percentage,u=l=>{this.logMsgIfDebug(()=>console.warn(l))};if((i.properties||[]).length>0){for(let l of i.properties){let d=l.type,s=!1;if(d==="cohort"?s=klp(l,n,this.cohorts,this.debugMode):s=Zlp(l,n,u),!s)return!1}if(a==null)return!0}return!(a!=null&&Glp(t.key,r)>a/100)}getMatchingVariant(t,r){let i=Glp(t.key,r,"variant"),n=this.variantLookupTable(t).find(a=>i>=a.valueMin&&i<a.valueMax);if(n)return n.key}variantLookupTable(t){let r=[],i=0,n=0;return((t.filters||{}).multivariate?.variants||[]).forEach(l=>{n=i+l.rollout_percentage/100,r.push({valueMin:i,valueMax:n,key:l.key}),i=n}),r}async loadFeatureFlags(t=!1){(!this.loadedSuccessfullyOnce||t)&&await this._loadFeatureFlags()}async _loadFeatureFlags(){this.poller&&(clearTimeout(this.poller),this.poller=void 0),this.poller=setTimeout(()=>this._loadFeatureFlags(),this.pollingInterval);try{let t=await this._requestFeatureFlagDefinitions();if(t&&t.status===401)throw new aPo("Your personalApiKey is invalid. Are you sure you're not using your Project API key? More information: https://posthog.com/docs/api/overview");if(t&&t.status!==200)return;let r=await t.json();"flags"in r||this.onError?.(new Error(`Invalid response when getting feature flags: ${JSON.stringify(r)}`)),this.featureFlags=r.flags||[],this.featureFlagsByKey=this.featureFlags.reduce((i,n)=>(i[n.key]=n,i),{}),this.groupTypeMapping=r.group_type_mapping||{},this.cohorts=r.cohorts||[],this.loadedSuccessfullyOnce=!0}catch(t){t instanceof aPo&&this.onError?.(t)}}async _requestFeatureFlagDefinitions(){let t=`${this.host}/api/feature_flag/local_evaluation?token=${this.projectApiKey}&send_cohorts`,r={method:"GET",headers:{...this.customHeaders,"Content-Type":"application/json",Authorization:`Bearer ${this.personalApiKey}`}},i=null;if(this.timeout&&typeof this.timeout=="number"){let n=new AbortController;i=Ylp(()=>{n.abort()},this.timeout),r.signal=n.signal}try{return await this.fetch(t,r)}finally{clearTimeout(i)}}stopPoller(){clearTimeout(this.poller)}};function Glp(e,t,r=""){let i=(0,Klp.createHash)();return i.update(`${e}.${t}${r}`),parseInt(i.digest("hex").slice(0,15),16)/OVS}function Zlp(e,t,r){let i=e.key,n=e.value,a=e.operator||"exact";if(i in t){if(a==="is_not_set")throw new C2("Operator is_not_set is not supported")}else throw new C2(`Property ${i} not found in propertyValues`);let u=t[i];if(u==null&&!mVS.includes(a))return r&&r(`Property ${i} cannot have a value of null/undefined with the ${a} operator`),!1;function l(s,o){return Array.isArray(s)?s.map(c=>String(c).toLowerCase()).includes(String(o).toLowerCase()):String(s).toLowerCase()===String(o).toLowerCase()}function d(s,o,c){if(c==="gt")return s>o;if(c==="gte")return s>=o;if(c==="lt")return s<o;if(c==="lte")return s<=o;throw new Error(`Invalid operator: ${c}`)}switch(a){case"exact":return l(n,u);case"is_not":return!l(n,u);case"is_set":return i in t;case"icontains":return String(u).toLowerCase().includes(String(n).toLowerCase());case"not_icontains":return!String(u).toLowerCase().includes(String(n).toLowerCase());case"regex":return Qlp(String(n))&&String(u).match(String(n))!==null;case"not_regex":return Qlp(String(n))&&String(u).match(String(n))===null;case"gt":case"gte":case"lt":case"lte":{let s=typeof n=="number"?n:null;if(typeof n=="string")try{s=parseFloat(n)}catch{}return s!=null&&u!=null?typeof u=="string"?d(u,String(n),a):d(u,s,a):d(String(u),String(n),a)}case"is_date_after":case"is_date_before":{let s=PVS(String(n));if(s==null&&(s=Jlp(n)),s==null)throw new C2(`Invalid date: ${n}`);let o=Jlp(u);return["is_date_before"].includes(a)?o<s:o>s}default:throw new C2(`Unknown operator: ${a}`)}}function klp(e,t,r,i=!1){let n=String(e.value);if(!(n in r))throw new C2("can't match cohort without a given cohort property value");let a=r[n];return efp(a,t,r,i)}function efp(e,t,r,i=!1){if(!e)return!0;let n=e.type,a=e.values;if(!a||a.length===0)return!0;let u=!1;if("values"in a[0]){for(let l of a)try{let d=efp(l,t,r,i);if(n==="AND"){if(!d)return!1}else if(d)return!0}catch(d){if(d instanceof C2)i&&console.debug(`Failed to compute property ${l} locally: ${d}`),u=!0;else throw d}if(u)throw new C2("Can't match cohort without a given cohort property value");return n==="AND"}else{for(let l of a)try{let d;l.type==="cohort"?d=klp(l,t,r,i):d=Zlp(l,t);let s=l.negation||!1;if(n==="AND"){if(!d&&!s||d&&s)return!1}else if(d&&!s||!d&&s)return!0}catch(d){if(d instanceof C2)i&&console.debug(`Failed to compute property ${l} locally: ${d}`),u=!0;else throw d}if(u)throw new C2("can't match cohort without a given cohort property value");return n==="AND"}}function Qlp(e){try{return new RegExp(e),!0}catch{return!1}}function Jlp(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 C2(`${e} is in an invalid date format`)}else throw new C2(`The date provided ${e} must be a string, number, or date object`)}function PVS(e){let t=/^-?(?<number>[0-9]+)(?<interval>[a-z])$/,r=e.match(t),i=new Date(new Date().toISOString());if(r){if(!r.groups)return null;let n=parseInt(r.groups.number);if(n>=1e4)return null;let a=r.groups.interval;if(a=="h")i.setUTCHours(i.getUTCHours()-n);else if(a=="d")i.setUTCDate(i.getUTCDate()-n);else if(a=="w")i.setUTCDate(i.getUTCDate()-n*7);else if(a=="m")i.setUTCMonth(i.getUTCMonth()-n);else if(a=="y")i.setUTCFullYear(i.getUTCFullYear()-n);else return null;return i}else return null}var jVS=30*1e3,wVS=50*1e3,Zmn=class extends mIs{constructor(t,r={}){super(t,r),this._memoryStorage=new PIs,this.options=r,r.personalApiKey&&(this.featureFlagsPoller=new wIs({pollingInterval:typeof r.featureFlagsPollingInterval=="number"?r.featureFlagsPollingInterval:jVS,personalApiKey:r.personalApiKey,projectApiKey:t,timeout:r.requestTimeout??1e4,host:this.host,fetch:r.fetch,onError:i=>{this._events.emit("error",i)},customHeaders:this.getCustomHeaders()})),this.distinctIdHasSentFlagCalls={},this.maxCacheSize=r.maxCacheSize||wVS}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):Xlp(t,r)}getLibraryId(){return"posthog-node"}getLibraryVersion(){return dVS}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({distinctId:t,event:r,properties:i,groups:n,sendFeatureFlags:a,timestamp:u,disableGeoip:l,uuid:d}){let s=b=>{super.captureStateless(t,r,b,{timestamp:u,disableGeoip:l,uuid:d})},o=(b,g,O)=>super.getFeatureFlagsStateless(b,g,void 0,void 0,O),c=Promise.resolve().then(async()=>{if(a)return await o(t,n,l);if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let b={};for(let[g,O]of Object.entries(n||{}))b[g]=String(O);return await this.getAllFlags(t,{groups:b,disableGeoip:l,onlyEvaluateLocally:!0})}return{}}).then(b=>{let g={};if(b)for(let[m,P]of Object.entries(b))g[`$feature/${m}`]=P;let O=Object.keys(b||{}).filter(m=>b?.[m]!==!1);return O.length>0&&(g.$active_feature_flags=O),g}).catch(()=>({})).then(b=>{s({...b,...i,$groups:n})});this.addPendingPromise(c)}identify({distinctId:t,properties:r,disableGeoip:i}){let n=r?.$set||r;super.identifyStateless(t,{$set:n},{disableGeoip:i})}alias(t){super.aliasStateless(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}async getFeatureFlag(t,r,i){let{groups:n,disableGeoip:a}=i||{},{onlyEvaluateLocally:u,sendFeatureFlagEvents:l,personProperties:d,groupProperties:s}=i||{},o=this.addLocalPersonAndGroupProperties(r,n,d,s);d=o.allPersonProperties,s=o.allGroupProperties,u==null&&(u=!1),l==null&&(l=!0);let c=await this.featureFlagsPoller?.getFeatureFlag(t,r,n,d,s),b=c!==void 0;!b&&!u&&(c=await super.getFeatureFlagStateless(t,r,n,d,s,a));let g=`${t}_${c}`;return l&&(!(r in this.distinctIdHasSentFlagCalls)||!this.distinctIdHasSentFlagCalls[r].includes(g))&&(Object.keys(this.distinctIdHasSentFlagCalls).length>=this.maxCacheSize&&(this.distinctIdHasSentFlagCalls={}),Array.isArray(this.distinctIdHasSentFlagCalls[r])?this.distinctIdHasSentFlagCalls[r].push(g):this.distinctIdHasSentFlagCalls[r]=[g],this.capture({distinctId:r,event:"$feature_flag_called",properties:{$feature_flag:t,$feature_flag_response:c,locally_evaluated:b,[`$feature/${t}`]:c},groups:n,disableGeoip:a})),c}async getFeatureFlagPayload(t,r,i,n){let{groups:a,disableGeoip:u}=n||{},{onlyEvaluateLocally:l,sendFeatureFlagEvents:d,personProperties:s,groupProperties:o}=n||{},c=this.addLocalPersonAndGroupProperties(r,a,s,o);s=c.allPersonProperties,o=c.allGroupProperties;let b;return i||(i=await this.getFeatureFlag(t,r,{...n,onlyEvaluateLocally:!0})),i&&(b=await this.featureFlagsPoller?.computeFeatureFlagPayloadLocally(t,i)),l==null&&(l=!1),d==null&&(d=!0),l==null&&(l=!1),!(b!==void 0)&&!l&&(b=await super.getFeatureFlagPayloadStateless(t,r,a,s,o,u)),b}async isFeatureEnabled(t,r,i){let n=await this.getFeatureFlag(t,r,i);if(n!==void 0)return!!n||!1}async getAllFlags(t,r){return(await this.getAllFlagsAndPayloads(t,r)).featureFlags}async getAllFlagsAndPayloads(t,r){let{groups:i,disableGeoip:n}=r||{},{onlyEvaluateLocally:a,personProperties:u,groupProperties:l}=r||{},d=this.addLocalPersonAndGroupProperties(t,i,u,l);u=d.allPersonProperties,l=d.allGroupProperties,a==null&&(a=!1);let s=await this.featureFlagsPoller?.getAllFlagsAndPayloads(t,i,u,l),o={},c={},b=!0;if(s&&(o=s.response,c=s.payloads,b=s.fallbackToDecide),b&&!a){let g=await super.getFeatureFlagsAndPayloadsStateless(t,i,u,l,n);o={...o,...g.flags||{}},c={...c,...g.payloads||{}}}return{featureFlags:o,featureFlagPayloads:c}}groupIdentify({groupType:t,groupKey:r,properties:i,distinctId:n,disableGeoip:a}){super.groupIdentifyStateless(t,r,i,{disableGeoip:a},n)}async reloadFeatureFlags(){await this.featureFlagsPoller?.loadFeatureFlags(!0)}async shutdown(t){return this.featureFlagsPoller?.stopPoller(),super.shutdown(t)}addLocalPersonAndGroupProperties(t,r,i,n){let a={distinct_id:t,...i||{}},u={};if(r)for(let l of Object.keys(r))u[l]={$group_key:r[l],...n?.[l]||{}};return{allPersonProperties:a,allGroupProperties:u}}},SIs=class e{constructor(t,r,i,n){this.posthog=t,this.posthogHost=r,this.organization=i,this.prefix=n,this.name="posthog-node",this.posthogHost=t.options.host??"https://us.i.posthog.com"}setupOnce(t,r){t(i=>{if(i.exception?.values===void 0||i.exception.values.length===0)return i;i.tags||(i.tags={});let n=r(),a=i.tags[e.POSTHOG_ID_TAG];if(a===void 0)return i;i.tags["PostHog Person URL"]=new URL(`/person/${a}`,this.posthogHost).toString();let u={$exception_message:i.exception.values[0]?.value,$exception_type:i.exception.values[0]?.type,$exception_personURL:i.tags["PostHog Person URL"],$sentry_event_id:i.event_id,$sentry_exception:i.exception,$sentry_exception_message:i.exception.values[0]?.value,$sentry_exception_type:i.exception.values[0]?.type,$sentry_tags:i.tags},l=n.getClient()?.getDsn()?.projectId;return this.organization!==void 0&&l!==void 0&&i.event_id!==void 0&&(u.$sentry_url=`${this.prefix??"https://sentry.io/organizations"}/${this.organization}/issues/?project=${l}&query=${i.event_id}`),this.posthog.capture({event:"$exception",distinctId:a,properties:u}),i})}};SIs.POSTHOG_ID_TAG="posthog_distinct_id";var oPo=class{posthog;constructor({posthogApiKey:t}){this.posthog=new Zmn(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"0.57.8",usingAccessToken:!0}})}async flush(){await this.posthog.flush()}};var Yca=class{async sendEvent(){}async identify(){}async flush(){}};var kmn=require("fs/promises"),nfp=require("os"),afp=require("path");var tfp=di(require("crypto")),sPo=new Uint8Array(256),uPo=sPo.length;function DIs(){return uPo>sPo.length-16&&(tfp.default.randomFillSync(sPo),uPo=0),sPo.slice(uPo,uPo+=16)}var _V=[];for(let e=0;e<256;++e)_V.push((e+256).toString(16).slice(1));function rfp(e,t=0){return _V[e[t+0]]+_V[e[t+1]]+_V[e[t+2]]+_V[e[t+3]]+"-"+_V[e[t+4]]+_V[e[t+5]]+"-"+_V[e[t+6]]+_V[e[t+7]]+"-"+_V[e[t+8]]+_V[e[t+9]]+"-"+_V[e[t+10]]+_V[e[t+11]]+_V[e[t+12]]+_V[e[t+13]]+_V[e[t+14]]+_V[e[t+15]]}var ifp=di(require("crypto")),EIs={randomUUID:ifp.default.randomUUID};function SVS(e,t,r){if(EIs.randomUUID&&!t&&!e)return EIs.randomUUID();e=e||{};let i=e.random||(e.rng||DIs)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,t){r=r||0;for(let n=0;n<16;++n)t[r+n]=i[n];return t}return rfp(i)}var Tie=SVS;var DVS="id",EVS=".fern",Xca=class{posthog;userId;constructor({token:t,posthogApiKey:r}){this.posthog=new Zmn(r),this.userId=t==null?void 0:zEs(t)}async identify(){this.userId!=null&&this.posthog.alias({distinctId:this.userId,alias:await this.getPersistedDistinctId()})}async sendEvent(t){this.posthog.capture({distinctId:this.userId??await this.getPersistedDistinctId(),event:"CLI",properties:{version:"0.57.8",...t,...t.properties}})}async flush(){await this.posthog.flush()}persistedDistinctId;async getPersistedDistinctId(){if(this.persistedDistinctId==null){let t=es(Wl.of((0,nfp.homedir)()),uo.of(EVS),uo.of(DVS));await Cf(t)||(await(0,kmn.mkdir)((0,afp.dirname)(t),{recursive:!0}),await(0,kmn.writeFile)(t,Tie())),this.persistedDistinctId=(await(0,kmn.readFile)(t)).toString()}return this.persistedDistinctId}};var MIs;async function ePn(){return MIs==null&&(MIs=await MVS()),MIs}async function MVS(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new Yca;let r=await cyo();return r!=null?new Xca({token:r,posthogApiKey:e}):await syo()!=null?new oPo({posthogApiKey:e}):new Xca({token:void 0,posthogApiKey:e})}catch{return new Yca}}function Zca(e,t){return function(){return e.apply(t,arguments)}}var{toString:AVS}=Object.prototype,{getPrototypeOf:qIs}=Object,lPo=(e=>t=>{let r=AVS.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),y5t=e=>(e=e.toLowerCase(),t=>lPo(t)===e),fPo=e=>t=>typeof t===e,{isArray:tPn}=Array,kca=fPo("undefined");function qVS(e){return e!==null&&!kca(e)&&e.constructor!==null&&!kca(e.constructor)&&LSe(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var ufp=y5t("ArrayBuffer");function TVS(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&ufp(e.buffer),t}var CVS=fPo("string"),LSe=fPo("function"),sfp=fPo("number"),dPo=e=>e!==null&&typeof e=="object",BVS=e=>e===!0||e===!1,cPo=e=>{if(lPo(e)!=="object")return!1;let t=qIs(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},xVS=y5t("Date"),IVS=y5t("File"),zVS=y5t("Blob"),RVS=y5t("FileList"),NVS=e=>dPo(e)&&LSe(e.pipe),FVS=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||LSe(e.append)&&((t=lPo(e))==="formdata"||t==="object"&&LSe(e.toString)&&e.toString()==="[object FormData]"))},LVS=y5t("URLSearchParams"),[UVS,VVS,WVS,HVS]=["ReadableStream","Request","Response","Headers"].map(y5t),$VS=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function ela(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let i,n;if(typeof e!="object"&&(e=[e]),tPn(e))for(i=0,n=e.length;i<n;i++)t.call(null,e[i],i,e);else{let a=r?Object.getOwnPropertyNames(e):Object.keys(e),u=a.length,l;for(i=0;i<u;i++)l=a[i],t.call(null,e[l],l,e)}}function cfp(e,t){t=t.toLowerCase();let r=Object.keys(e),i=r.length,n;for(;i-- >0;)if(n=r[i],t===n.toLowerCase())return n;return null}var kIi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,lfp=e=>!kca(e)&&e!==kIi;function AIs(){let{caseless:e}=lfp(this)&&this||{},t={},r=(i,n)=>{let a=e&&cfp(t,n)||n;cPo(t[a])&&cPo(i)?t[a]=AIs(t[a],i):cPo(i)?t[a]=AIs({},i):tPn(i)?t[a]=i.slice():t[a]=i};for(let i=0,n=arguments.length;i<n;i++)arguments[i]&&ela(arguments[i],r);return t}var GVS=(e,t,r,{allOwnKeys:i}={})=>(ela(t,(n,a)=>{r&&LSe(n)?e[a]=Zca(n,r):e[a]=n},{allOwnKeys:i}),e),QVS=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),JVS=(e,t,r,i)=>{e.prototype=Object.create(t.prototype,i),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},KVS=(e,t,r,i)=>{let n,a,u,l={};if(t=t||{},e==null)return t;do{for(n=Object.getOwnPropertyNames(e),a=n.length;a-- >0;)u=n[a],(!i||i(u,e,t))&&!l[u]&&(t[u]=e[u],l[u]=!0);e=r!==!1&&qIs(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},YVS=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;let i=e.indexOf(t,r);return i!==-1&&i===r},XVS=e=>{if(!e)return null;if(tPn(e))return e;let t=e.length;if(!sfp(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},ZVS=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&qIs(Uint8Array)),kVS=(e,t)=>{let i=(e&&e[Symbol.iterator]).call(e),n;for(;(n=i.next())&&!n.done;){let a=n.value;t.call(e,a[0],a[1])}},eWS=(e,t)=>{let r,i=[];for(;(r=e.exec(t))!==null;)i.push(r);return i},tWS=y5t("HTMLFormElement"),rWS=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,i,n){return i.toUpperCase()+n}),ofp=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),iWS=y5t("RegExp"),ffp=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),i={};ela(r,(n,a)=>{let u;(u=t(n,a,e))!==!1&&(i[a]=u||n)}),Object.defineProperties(e,i)},nWS=e=>{ffp(e,(t,r)=>{if(LSe(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let i=e[r];if(LSe(i)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},aWS=(e,t)=>{let r={},i=n=>{n.forEach(a=>{r[a]=!0})};return tPn(e)?i(e):i(String(e).split(t)),r},oWS=()=>{},uWS=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function sWS(e){return!!(e&&LSe(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}var cWS=e=>{let t=new Array(10),r=(i,n)=>{if(dPo(i)){if(t.indexOf(i)>=0)return;if(!("toJSON"in i)){t[n]=i;let a=tPn(i)?[]:{};return ela(i,(u,l)=>{let d=r(u,n+1);!kca(d)&&(a[l]=d)}),t[n]=void 0,a}}return i};return r(e,0)},lWS=y5t("AsyncFunction"),fWS=e=>e&&(dPo(e)||LSe(e))&&LSe(e.then)&&LSe(e.catch),dfp=((e,t)=>e?setImmediate:t?((r,i)=>(kIi.addEventListener("message",({source:n,data:a})=>{n===kIi&&a===r&&i.length&&i.shift()()},!1),n=>{i.push(n),kIi.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",LSe(kIi.postMessage)),dWS=typeof queueMicrotask<"u"?queueMicrotask.bind(kIi):typeof process<"u"&&process.nextTick||dfp,ds={isArray:tPn,isArrayBuffer:ufp,isBuffer:qVS,isFormData:FVS,isArrayBufferView:TVS,isString:CVS,isNumber:sfp,isBoolean:BVS,isObject:dPo,isPlainObject:cPo,isReadableStream:UVS,isRequest:VVS,isResponse:WVS,isHeaders:HVS,isUndefined:kca,isDate:xVS,isFile:IVS,isBlob:zVS,isRegExp:iWS,isFunction:LSe,isStream:NVS,isURLSearchParams:LVS,isTypedArray:ZVS,isFileList:RVS,forEach:ela,merge:AIs,extend:GVS,trim:$VS,stripBOM:QVS,inherits:JVS,toFlatObject:KVS,kindOf:lPo,kindOfTest:y5t,endsWith:YVS,toArray:XVS,forEachEntry:kVS,matchAll:eWS,isHTMLForm:tWS,hasOwnProperty:ofp,hasOwnProp:ofp,reduceDescriptors:ffp,freezeMethods:nWS,toObjectSet:aWS,toCamelCase:rWS,noop:oWS,toFiniteNumber:uWS,findKey:cfp,global:kIi,isContextDefined:lfp,isSpecCompliantForm:sWS,toJSONObject:cWS,isAsyncFn:lWS,isThenable:fWS,setImmediate:dfp,asap:dWS};function rPn(e,t,r,i,n){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),i&&(this.request=i),n&&(this.response=n,this.status=n.status?n.status:null)}ds.inherits(rPn,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:ds.toJSONObject(this.config),code:this.code,status:this.status}}});var pfp=rPn.prototype,_fp={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{_fp[e]={value:e}});Object.defineProperties(rPn,_fp);Object.defineProperty(pfp,"isAxiosError",{value:!0});rPn.from=(e,t,r,i,n,a)=>{let u=Object.create(pfp);return ds.toFlatObject(e,u,function(d){return d!==Error.prototype},l=>l!=="isAxiosError"),rPn.call(u,e.message,t,r,i,n),u.cause=e,u.name=e.name,a&&Object.assign(u,a),u};var wp=rPn;var hfp=di(qia(),1),pPo=hfp.default;function TIs(e){return ds.isPlainObject(e)||ds.isArray(e)}function vfp(e){return ds.endsWith(e,"[]")?e.slice(0,-2):e}function yfp(e,t,r){return e?e.concat(t).map(function(n,a){return n=vfp(n),!r&&a?"["+n+"]":n}).join(r?".":""):t}function pWS(e){return ds.isArray(e)&&!e.some(TIs)}var _WS=ds.toFlatObject(ds,{},null,function(t){return/^is[A-Z]/.test(t)});function hWS(e,t,r){if(!ds.isObject(e))throw new TypeError("target must be an object");t=t||new(pPo||FormData),r=ds.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,P){return!ds.isUndefined(P[m])});let i=r.metaTokens,n=r.visitor||o,a=r.dots,u=r.indexes,d=(r.Blob||typeof Blob<"u"&&Blob)&&ds.isSpecCompliantForm(t);if(!ds.isFunction(n))throw new TypeError("visitor must be a function");function s(O){if(O===null)return"";if(ds.isDate(O))return O.toISOString();if(!d&&ds.isBlob(O))throw new wp("Blob is not supported. Use a Buffer instead.");return ds.isArrayBuffer(O)||ds.isTypedArray(O)?d&&typeof Blob=="function"?new Blob([O]):Buffer.from(O):O}function o(O,m,P){let E=O;if(O&&!P&&typeof O=="object"){if(ds.endsWith(m,"{}"))m=i?m:m.slice(0,-2),O=JSON.stringify(O);else if(ds.isArray(O)&&pWS(O)||(ds.isFileList(O)||ds.endsWith(m,"[]"))&&(E=ds.toArray(O)))return m=vfp(m),E.forEach(function(q,D){!(ds.isUndefined(q)||q===null)&&t.append(u===!0?yfp([m],D,a):u===null?m:m+"[]",s(q))}),!1}return TIs(O)?!0:(t.append(yfp(P,m,a),s(O)),!1)}let c=[],b=Object.assign(_WS,{defaultVisitor:o,convertValue:s,isVisitable:TIs});function g(O,m){if(!ds.isUndefined(O)){if(c.indexOf(O)!==-1)throw Error("Circular reference detected in "+m.join("."));c.push(O),ds.forEach(O,function(E,A){(!(ds.isUndefined(E)||E===null)&&n.call(t,E,ds.isString(A)?A.trim():A,m,b))===!0&&g(E,m?m.concat(A):[A])}),c.pop()}}if(!ds.isObject(e))throw new TypeError("data must be an object");return g(e),t}var mfi=hWS;function bfp(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(i){return t[i]})}function gfp(e,t){this._pairs=[],e&&mfi(e,this,t)}var Ofp=gfp.prototype;Ofp.append=function(t,r){this._pairs.push([t,r])};Ofp.toString=function(t){let r=t?function(i){return t.call(this,i,bfp)}:bfp;return this._pairs.map(function(n){return r(n[0])+"="+r(n[1])},"").join("&")};var mfp=gfp;function yWS(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function ezi(e,t,r){if(!t)return e;let i=r&&r.encode||yWS;ds.isFunction(r)&&(r={serialize:r});let n=r&&r.serialize,a;if(n?a=n(t,r):a=ds.isURLSearchParams(t)?t.toString():new mfp(t,r).toString(i),a){let u=e.indexOf("#");u!==-1&&(e=e.slice(0,u)),e+=(e.indexOf("?")===-1?"?":"&")+a}return e}var CIs=class{constructor(){this.handlers=[]}use(t,r,i){return this.handlers.push({fulfilled:t,rejected:r,synchronous:i?i.synchronous:!1,runWhen:i?i.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){ds.forEach(this.handlers,function(i){i!==null&&t(i)})}},BIs=CIs;var iPn={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var Sfp=di(require("crypto"),1);var Pfp=di(require("url"),1),jfp=Pfp.default.URLSearchParams;var xIs="abcdefghijklmnopqrstuvwxyz",wfp="0123456789",Dfp={DIGIT:wfp,ALPHA:xIs,ALPHA_DIGIT:xIs+xIs.toUpperCase()+wfp},vWS=(e=16,t=Dfp.ALPHA_DIGIT)=>{let r="",{length:i}=t,n=new Uint32Array(e);Sfp.default.randomFillSync(n);for(let a=0;a<e;a++)r+=t[n[a]%i];return r},Efp={isNode:!0,classes:{URLSearchParams:jfp,FormData:pPo,Blob:typeof Blob<"u"&&Blob||null},ALPHABET:Dfp,generateString:vWS,protocols:["http","https","file","data"]};var RIs={};Eo(RIs,{hasBrowserEnv:()=>zIs,hasStandardBrowserEnv:()=>bWS,hasStandardBrowserWebWorkerEnv:()=>gWS,navigator:()=>IIs,origin:()=>OWS});var zIs=typeof window<"u"&&typeof document<"u",IIs=typeof navigator=="object"&&navigator||void 0,bWS=zIs&&(!IIs||["ReactNative","NativeScript","NS"].indexOf(IIs.product)<0),gWS=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",OWS=zIs&&window.location.href||"http://localhost";var SM={...RIs,...Efp};function NIs(e,t){return mfi(e,new SM.classes.URLSearchParams,Object.assign({visitor:function(r,i,n,a){return SM.isNode&&ds.isBuffer(r)?(this.append(i,r.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)}},t))}function mWS(e){return ds.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function PWS(e){let t={},r=Object.keys(e),i,n=r.length,a;for(i=0;i<n;i++)a=r[i],t[a]=e[a];return t}function jWS(e){function t(r,i,n,a){let u=r[a++];if(u==="__proto__")return!0;let l=Number.isFinite(+u),d=a>=r.length;return u=!u&&ds.isArray(n)?n.length:u,d?(ds.hasOwnProp(n,u)?n[u]=[n[u],i]:n[u]=i,!l):((!n[u]||!ds.isObject(n[u]))&&(n[u]=[]),t(r,i,n[u],a)&&ds.isArray(n[u])&&(n[u]=PWS(n[u])),!l)}if(ds.isFormData(e)&&ds.isFunction(e.entries)){let r={};return ds.forEachEntry(e,(i,n)=>{t(mWS(i),n,r,0)}),r}return null}var _Po=jWS;function wWS(e,t,r){if(ds.isString(e))try{return(t||JSON.parse)(e),ds.trim(e)}catch(i){if(i.name!=="SyntaxError")throw i}return(r||JSON.stringify)(e)}var FIs={transitional:iPn,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){let i=r.getContentType()||"",n=i.indexOf("application/json")>-1,a=ds.isObject(t);if(a&&ds.isHTMLForm(t)&&(t=new FormData(t)),ds.isFormData(t))return n?JSON.stringify(_Po(t)):t;if(ds.isArrayBuffer(t)||ds.isBuffer(t)||ds.isStream(t)||ds.isFile(t)||ds.isBlob(t)||ds.isReadableStream(t))return t;if(ds.isArrayBufferView(t))return t.buffer;if(ds.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let l;if(a){if(i.indexOf("application/x-www-form-urlencoded")>-1)return NIs(t,this.formSerializer).toString();if((l=ds.isFileList(t))||i.indexOf("multipart/form-data")>-1){let d=this.env&&this.env.FormData;return mfi(l?{"files[]":t}:t,d&&new d,this.formSerializer)}}return a||n?(r.setContentType("application/json",!1),wWS(t)):t}],transformResponse:[function(t){let r=this.transitional||FIs.transitional,i=r&&r.forcedJSONParsing,n=this.responseType==="json";if(ds.isResponse(t)||ds.isReadableStream(t))return t;if(t&&ds.isString(t)&&(i&&!this.responseType||n)){let u=!(r&&r.silentJSONParsing)&&n;try{return JSON.parse(t)}catch(l){if(u)throw l.name==="SyntaxError"?wp.from(l,wp.ERR_BAD_RESPONSE,this,null,this.response):l}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:SM.classes.FormData,Blob:SM.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ds.forEach(["delete","get","head","post","put","patch"],e=>{FIs.headers[e]={}});var nPn=FIs;var SWS=ds.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Mfp=e=>{let t={},r,i,n;return e&&e.split(`
1705
1705
  `).forEach(function(u){n=u.indexOf(":"),r=u.substring(0,n).trim().toLowerCase(),i=u.substring(n+1).trim(),!(!r||t[r]&&SWS[r])&&(r==="set-cookie"?t[r]?t[r].push(i):t[r]=[i]:t[r]=t[r]?t[r]+", "+i:i)}),t};var Afp=Symbol("internals");function tla(e){return e&&String(e).trim().toLowerCase()}function hPo(e){return e===!1||e==null?e:ds.isArray(e)?e.map(hPo):String(e)}function DWS(e){let t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,i;for(;i=r.exec(e);)t[i[1]]=i[2];return t}var EWS=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function LIs(e,t,r,i,n){if(ds.isFunction(i))return i.call(this,t,r);if(n&&(t=r),!!ds.isString(t)){if(ds.isString(i))return t.indexOf(i)!==-1;if(ds.isRegExp(i))return i.test(t)}}function MWS(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,i)=>r.toUpperCase()+i)}function AWS(e,t){let r=ds.toCamelCase(" "+t);["get","set","has"].forEach(i=>{Object.defineProperty(e,i+r,{value:function(n,a,u){return this[i].call(this,t,n,a,u)},configurable:!0})})}var aPn=class{constructor(t){t&&this.set(t)}set(t,r,i){let n=this;function a(l,d,s){let o=tla(d);if(!o)throw new Error("header name must be a non-empty string");let c=ds.findKey(n,o);(!c||n[c]===void 0||s===!0||s===void 0&&n[c]!==!1)&&(n[c||d]=hPo(l))}let u=(l,d)=>ds.forEach(l,(s,o)=>a(s,o,d));if(ds.isPlainObject(t)||t instanceof this.constructor)u(t,r);else if(ds.isString(t)&&(t=t.trim())&&!EWS(t))u(Mfp(t),r);else if(ds.isHeaders(t))for(let[l,d]of t.entries())a(d,l,i);else t!=null&&a(r,t,i);return this}get(t,r){if(t=tla(t),t){let i=ds.findKey(this,t);if(i){let n=this[i];if(!r)return n;if(r===!0)return DWS(n);if(ds.isFunction(r))return r.call(this,n,i);if(ds.isRegExp(r))return r.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,r){if(t=tla(t),t){let i=ds.findKey(this,t);return!!(i&&this[i]!==void 0&&(!r||LIs(this,this[i],i,r)))}return!1}delete(t,r){let i=this,n=!1;function a(u){if(u=tla(u),u){let l=ds.findKey(i,u);l&&(!r||LIs(i,i[l],l,r))&&(delete i[l],n=!0)}}return ds.isArray(t)?t.forEach(a):a(t),n}clear(t){let r=Object.keys(this),i=r.length,n=!1;for(;i--;){let a=r[i];(!t||LIs(this,this[a],a,t,!0))&&(delete this[a],n=!0)}return n}normalize(t){let r=this,i={};return ds.forEach(this,(n,a)=>{let u=ds.findKey(i,a);if(u){r[u]=hPo(n),delete r[a];return}let l=t?MWS(a):String(a).trim();l!==a&&delete r[a],r[l]=hPo(n),i[l]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){let r=Object.create(null);return ds.forEach(this,(i,n)=>{i!=null&&i!==!1&&(r[n]=t&&ds.isArray(i)?i.join(", "):i)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,r])=>t+": "+r).join(`
1706
1706
  `)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...r){let i=new this(t);return r.forEach(n=>i.set(n)),i}static accessor(t){let i=(this[Afp]=this[Afp]={accessors:{}}).accessors,n=this.prototype;function a(u){let l=tla(u);i[l]||(AWS(n,u),i[l]=!0)}return ds.isArray(t)?t.forEach(a):a(t),this}};aPn.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);ds.reduceDescriptors(aPn.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(i){this[r]=i}}});ds.freezeMethods(aPn);var pz=aPn;function rla(e,t){let r=this||nPn,i=t||r,n=pz.from(i.headers),a=i.data;return ds.forEach(e,function(l){a=l.call(r,a,n.normalize(),t?t.status:void 0)}),n.normalize(),a}function ila(e){return!!(e&&e.__CANCEL__)}function qfp(e,t,r){wp.call(this,e??"canceled",wp.ERR_CANCELED,t,r),this.name="CanceledError"}ds.inherits(qfp,wp,{__CANCEL__:!0});var USe=qfp;function WYt(e,t,r){let i=r.config.validateStatus;!r.status||!i||i(r.status)?e(r):t(new wp("Request failed with status code "+r.status,[wp.ERR_BAD_REQUEST,wp.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function UIs(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function VIs(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function tzi(e,t,r){let i=!UIs(t);return e&&i||r==!1?VIs(e,t):t}var Gfp=di(Nca(),1),Qfp=di(require("http"),1),Jfp=di(require("https"),1),Kfp=di(require("util"),1),Yfp=di(Kxs(),1),BJr=di(require("zlib"),1);var rzi="1.8.2";function nla(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}var qWS=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;function WIs(e,t,r){let i=r&&r.Blob||SM.classes.Blob,n=nla(e);if(t===void 0&&i&&(t=!0),n==="data"){e=n.length?e.slice(n.length+1):e;let a=qWS.exec(e);if(!a)throw new wp("Invalid URL",wp.ERR_INVALID_URL);let u=a[1],l=a[2],d=a[3],s=Buffer.from(decodeURIComponent(d),l?"base64":"utf8");if(t){if(!i)throw new wp("Blob is not supported",wp.ERR_NOT_SUPPORT);return new i([s],{type:u})}return s}throw new wp("Unsupported protocol "+n,wp.ERR_NOT_SUPPORT)}var izi=di(require("stream"),1);var Tfp=di(require("stream"),1);var HIs=Symbol("internals"),$Is=class extends Tfp.default.Transform{constructor(t){t=ds.toFlatObject(t,{maxRate:0,chunkSize:64*1024,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,(i,n)=>!ds.isUndefined(n[i])),super({readableHighWaterMark:t.chunkSize});let r=this[HIs]={timeWindow:t.timeWindow,chunkSize:t.chunkSize,maxRate:t.maxRate,minChunkSize:t.minChunkSize,bytesSeen:0,isCaptured:!1,notifiedBytesLoaded:0,ts:Date.now(),bytes:0,onReadCallback:null};this.on("newListener",i=>{i==="progress"&&(r.isCaptured||(r.isCaptured=!0))})}_read(t){let r=this[HIs];return r.onReadCallback&&r.onReadCallback(),super._read(t)}_transform(t,r,i){let n=this[HIs],a=n.maxRate,u=this.readableHighWaterMark,l=n.timeWindow,d=1e3/l,s=a/d,o=n.minChunkSize!==!1?Math.max(n.minChunkSize,s*.01):0,c=(g,O)=>{let m=Buffer.byteLength(g);n.bytesSeen+=m,n.bytes+=m,n.isCaptured&&this.emit("progress",n.bytesSeen),this.push(g)?process.nextTick(O):n.onReadCallback=()=>{n.onReadCallback=null,process.nextTick(O)}},b=(g,O)=>{let m=Buffer.byteLength(g),P=null,E=u,A,q=0;if(a){let D=Date.now();(!n.ts||(q=D-n.ts)>=l)&&(n.ts=D,A=s-n.bytes,n.bytes=A<0?-A:0,q=0),A=s-n.bytes}if(a){if(A<=0)return setTimeout(()=>{O(null,g)},l-q);A<E&&(E=A)}E&&m>E&&m-E>o&&(P=g.subarray(E),g=g.subarray(0,E)),c(g,P?()=>{process.nextTick(O,null,P)}:O)};b(t,function g(O,m){if(O)return i(O);m?b(m,g):i(null)})}},GIs=$Is;var Xfp=require("events");var Bfp=di(require("util"),1),xfp=require("stream");var{asyncIterator:Cfp}=Symbol,TWS=async function*(e){e.stream?yield*e.stream():e.arrayBuffer?yield await e.arrayBuffer():e[Cfp]?yield*e[Cfp]():yield e},yPo=TWS;var CWS=SM.ALPHABET.ALPHA_DIGIT+"-_",ala=typeof TextEncoder=="function"?new TextEncoder:new Bfp.default.TextEncoder,Pfi=`\r
1707
1707
  `,BWS=ala.encode(Pfi),xWS=2,QIs=class{constructor(t,r){let{escapeName:i}=this.constructor,n=ds.isString(r),a=`Content-Disposition: form-data; name="${i(t)}"${!n&&r.name?`; filename="${i(r.name)}"`:""}${Pfi}`;n?r=ala.encode(String(r).replace(/\r?\n|\r\n?/g,Pfi)):a+=`Content-Type: ${r.type||"application/octet-stream"}${Pfi}`,this.headers=ala.encode(a+Pfi),this.contentLength=n?r.byteLength:r.size,this.size=this.headers.byteLength+this.contentLength+xWS,this.name=t,this.value=r}async*encode(){yield this.headers;let{value:t}=this;ds.isTypedArray(t)?yield t:yield*yPo(t),yield BWS}static escapeName(t){return String(t).replace(/[\r\n"]/g,r=>({"\r":"%0D","\n":"%0A",'"':"%22"})[r])}},IWS=(e,t,r)=>{let{tag:i="form-data-boundary",size:n=25,boundary:a=i+"-"+SM.generateString(n,CWS)}=r||{};if(!ds.isFormData(e))throw TypeError("FormData instance required");if(a.length<1||a.length>70)throw Error("boundary must be 10-70 characters long");let u=ala.encode("--"+a+Pfi),l=ala.encode("--"+a+"--"+Pfi+Pfi),d=l.byteLength,s=Array.from(e.entries()).map(([c,b])=>{let g=new QIs(c,b);return d+=g.size,g});d+=u.byteLength*s.length,d=ds.toFiniteNumber(d);let o={"Content-Type":`multipart/form-data; boundary=${a}`};return Number.isFinite(d)&&(o["Content-Length"]=d),t&&t(o),xfp.Readable.from(async function*(){for(let c of s)yield u,yield*c.encode();yield l}())},Ifp=IWS;var zfp=di(require("stream"),1),JIs=class extends zfp.default.Transform{__transform(t,r,i){this.push(t),i()}_transform(t,r,i){if(t.length!==0&&(this._transform=this.__transform,t[0]!==120)){let n=Buffer.alloc(2);n[0]=120,n[1]=156,this.push(n,r)}this.__transform(t,r,i)}},Rfp=JIs;var zWS=(e,t)=>ds.isAsyncFn(e)?function(...r){let i=r.pop();e.apply(this,r).then(n=>{try{t?i(null,...t(n)):i(null,n)}catch(a){i(a)}},i)}:e,Nfp=zWS;function RWS(e,t){e=e||10;let r=new Array(e),i=new Array(e),n=0,a=0,u;return t=t!==void 0?t:1e3,function(d){let s=Date.now(),o=i[a];u||(u=s),r[n]=d,i[n]=s;let c=a,b=0;for(;c!==n;)b+=r[c++],c=c%e;if(n=(n+1)%e,n===a&&(a=(a+1)%e),s-u<t)return;let g=o&&s-o;return g?Math.round(b*1e3/g):void 0}}var Ffp=RWS;function NWS(e,t){let r=0,i=1e3/t,n,a,u=(s,o=Date.now())=>{r=o,n=null,a&&(clearTimeout(a),a=null),e.apply(null,s)};return[(...s)=>{let o=Date.now(),c=o-r;c>=i?u(s,o):(n=s,a||(a=setTimeout(()=>{a=null,u(n)},i-c)))},()=>n&&u(n)]}var Lfp=NWS;var CJr=(e,t,r=3)=>{let i=0,n=Ffp(50,250);return Lfp(a=>{let u=a.loaded,l=a.lengthComputable?a.total:void 0,d=u-i,s=n(d),o=u<=l;i=u;let c={loaded:u,total:l,progress:l?u/l:void 0,bytes:d,rate:s||void 0,estimated:s&&l&&o?(l-u)/s:void 0,event:a,lengthComputable:l!=null,[t?"download":"upload"]:!0};e(c)},r)},oPn=(e,t)=>{let r=e!=null;return[i=>t[0]({lengthComputable:r,total:e,loaded:i}),t[1]]},uPn=e=>(...t)=>ds.asap(()=>e(...t));var Ufp={flush:BJr.default.constants.Z_SYNC_FLUSH,finishFlush:BJr.default.constants.Z_SYNC_FLUSH},FWS={flush:BJr.default.constants.BROTLI_OPERATION_FLUSH,finishFlush:BJr.default.constants.BROTLI_OPERATION_FLUSH},Vfp=ds.isFunction(BJr.default.createBrotliDecompress),{http:LWS,https:UWS}=Yfp.default,VWS=/https:?/,Wfp=SM.protocols.map(e=>e+":"),Hfp=(e,[t,r])=>(e.on("end",r).on("error",r),t);function WWS(e,t){e.beforeRedirects.proxy&&e.beforeRedirects.proxy(e),e.beforeRedirects.config&&e.beforeRedirects.config(e,t)}function Zfp(e,t,r){let i=t;if(!i&&i!==!1){let n=Gfp.default.getProxyForUrl(r);n&&(i=new URL(n))}if(i){if(i.username&&(i.auth=(i.username||"")+":"+(i.password||"")),i.auth){(i.auth.username||i.auth.password)&&(i.auth=(i.auth.username||"")+":"+(i.auth.password||""));let a=Buffer.from(i.auth,"utf8").toString("base64");e.headers["Proxy-Authorization"]="Basic "+a}e.headers.host=e.hostname+(e.port?":"+e.port:"");let n=i.hostname||i.host;e.hostname=n,e.host=n,e.port=i.port,e.path=r,i.protocol&&(e.protocol=i.protocol.includes(":")?i.protocol:`${i.protocol}:`)}e.beforeRedirects.proxy=function(a){Zfp(a,t,a.href)}}var HWS=typeof process<"u"&&ds.kindOf(process)==="process",$WS=e=>new Promise((t,r)=>{let i,n,a=(d,s)=>{n||(n=!0,i&&i(d,s))},u=d=>{a(d),t(d)},l=d=>{a(d,!0),r(d)};e(u,l,d=>i=d).catch(l)}),GWS=({address:e,family:t})=>{if(!ds.isString(e))throw TypeError("address must be a string");return{address:e,family:t||(e.indexOf(".")<0?6:4)}},$fp=(e,t)=>GWS(ds.isObject(e)?e:{address:e,family:t}),kfp=HWS&&function(t){return $WS(async function(i,n,a){let{data:u,lookup:l,family:d}=t,{responseType:s,responseEncoding:o}=t,c=t.method.toUpperCase(),b,g=!1,O;if(l){let Se=Nfp(l,Qe=>ds.isArray(Qe)?Qe:[Qe]);l=(Qe,St,Ee)=>{Se(Qe,St,(Te,xt,Pe)=>{if(Te)return Ee(Te);let Ot=ds.isArray(xt)?xt.map(at=>$fp(at)):[$fp(xt,Pe)];St.all?Ee(Te,Ot):Ee(Te,Ot[0].address,Ot[0].family)})}}let m=new Xfp.EventEmitter,P=()=>{t.cancelToken&&t.cancelToken.unsubscribe(E),t.signal&&t.signal.removeEventListener("abort",E),m.removeAllListeners()};a((Se,Qe)=>{b=!0,Qe&&(g=!0,P())});function E(Se){m.emit("abort",!Se||Se.type?new USe(null,t,O):Se)}m.once("abort",n),(t.cancelToken||t.signal)&&(t.cancelToken&&t.cancelToken.subscribe(E),t.signal&&(t.signal.aborted?E():t.signal.addEventListener("abort",E)));let A=tzi(t.baseURL,t.url,t.allowAbsoluteUrls),q=new URL(A,SM.hasBrowserEnv?SM.origin:void 0),D=q.protocol||Wfp[0];if(D==="data:"){let Se;if(c!=="GET")return WYt(i,n,{status:405,statusText:"method not allowed",headers:{},config:t});try{Se=WIs(t.url,s==="blob",{Blob:t.env&&t.env.Blob})}catch(Qe){throw wp.from(Qe,wp.ERR_BAD_REQUEST,t)}return s==="text"?(Se=Se.toString(o),(!o||o==="utf8")&&(Se=ds.stripBOM(Se))):s==="stream"&&(Se=izi.default.Readable.from(Se)),WYt(i,n,{data:Se,status:200,statusText:"OK",headers:new pz,config:t})}if(Wfp.indexOf(D)===-1)return n(new wp("Unsupported protocol "+D,wp.ERR_BAD_REQUEST,t));let C=pz.from(t.headers).normalize();C.set("User-Agent","axios/"+rzi,!1);let{onUploadProgress:z,onDownloadProgress:$}=t,x=t.maxRate,L,V;if(ds.isSpecCompliantForm(u)){let Se=C.getContentType(/boundary=([-_\w\d]{10,70})/i);u=Ifp(u,Qe=>{C.set(Qe)},{tag:`axios-${rzi}-boundary`,boundary:Se&&Se[1]||void 0})}else if(ds.isFormData(u)&&ds.isFunction(u.getHeaders)){if(C.set(u.getHeaders()),!C.hasContentLength())try{let Se=await Kfp.default.promisify(u.getLength).call(u);Number.isFinite(Se)&&Se>=0&&C.setContentLength(Se)}catch{}}else if(ds.isBlob(u)||ds.isFile(u))u.size&&C.setContentType(u.type||"application/octet-stream"),C.setContentLength(u.size||0),u=izi.default.Readable.from(yPo(u));else if(u&&!ds.isStream(u)){if(!Buffer.isBuffer(u))if(ds.isArrayBuffer(u))u=Buffer.from(new Uint8Array(u));else if(ds.isString(u))u=Buffer.from(u,"utf-8");else return n(new wp("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",wp.ERR_BAD_REQUEST,t));if(C.setContentLength(u.length,!1),t.maxBodyLength>-1&&u.length>t.maxBodyLength)return n(new wp("Request body larger than maxBodyLength limit",wp.ERR_BAD_REQUEST,t))}let Z=ds.toFiniteNumber(C.getContentLength());ds.isArray(x)?(L=x[0],V=x[1]):L=V=x,u&&(z||L)&&(ds.isStream(u)||(u=izi.default.Readable.from(u,{objectMode:!1})),u=izi.default.pipeline([u,new GIs({maxRate:ds.toFiniteNumber(L)})],ds.noop),z&&u.on("progress",Hfp(u,oPn(Z,CJr(uPn(z),!1,3)))));let K;if(t.auth){let Se=t.auth.username||"",Qe=t.auth.password||"";K=Se+":"+Qe}if(!K&&q.username){let Se=q.username,Qe=q.password;K=Se+":"+Qe}K&&C.delete("authorization");let X;try{X=ezi(q.pathname+q.search,t.params,t.paramsSerializer).replace(/^\?/,"")}catch(Se){let Qe=new Error(Se.message);return Qe.config=t,Qe.url=t.url,Qe.exists=!0,n(Qe)}C.set("Accept-Encoding","gzip, compress, deflate"+(Vfp?", br":""),!1);let le={path:X,method:c,headers:C.toJSON(),agents:{http:t.httpAgent,https:t.httpsAgent},auth:K,protocol:D,family:d,beforeRedirect:WWS,beforeRedirects:{}};!ds.isUndefined(l)&&(le.lookup=l),t.socketPath?le.socketPath=t.socketPath:(le.hostname=q.hostname.startsWith("[")?q.hostname.slice(1,-1):q.hostname,le.port=q.port,Zfp(le,t.proxy,D+"//"+q.hostname+(q.port?":"+q.port:"")+le.path));let ge,_e=VWS.test(le.protocol);if(le.agent=_e?t.httpsAgent:t.httpAgent,t.transport?ge=t.transport:t.maxRedirects===0?ge=_e?Jfp.default:Qfp.default:(t.maxRedirects&&(le.maxRedirects=t.maxRedirects),t.beforeRedirect&&(le.beforeRedirects.config=t.beforeRedirect),ge=_e?UWS:LWS),t.maxBodyLength>-1?le.maxBodyLength=t.maxBodyLength:le.maxBodyLength=1/0,t.insecureHTTPParser&&(le.insecureHTTPParser=t.insecureHTTPParser),O=ge.request(le,function(Qe){if(O.destroyed)return;let St=[Qe],Ee=+Qe.headers["content-length"];if($||V){let at=new GIs({maxRate:ds.toFiniteNumber(V)});$&&at.on("progress",Hfp(at,oPn(Ee,CJr(uPn($),!0,3)))),St.push(at)}let Te=Qe,xt=Qe.req||O;if(t.decompress!==!1&&Qe.headers["content-encoding"])switch((c==="HEAD"||Qe.statusCode===204)&&delete Qe.headers["content-encoding"],(Qe.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":St.push(BJr.default.createUnzip(Ufp)),delete Qe.headers["content-encoding"];break;case"deflate":St.push(new Rfp),St.push(BJr.default.createUnzip(Ufp)),delete Qe.headers["content-encoding"];break;case"br":Vfp&&(St.push(BJr.default.createBrotliDecompress(FWS)),delete Qe.headers["content-encoding"])}Te=St.length>1?izi.default.pipeline(St,ds.noop):St[0];let Pe=izi.default.finished(Te,()=>{Pe(),P()}),Ot={status:Qe.statusCode,statusText:Qe.statusMessage,headers:new pz(Qe.headers),config:t,request:xt};if(s==="stream")Ot.data=Te,WYt(i,n,Ot);else{let at=[],he=0;Te.on("data",function(bt){at.push(bt),he+=bt.length,t.maxContentLength>-1&&he>t.maxContentLength&&(g=!0,Te.destroy(),n(new wp("maxContentLength size of "+t.maxContentLength+" exceeded",wp.ERR_BAD_RESPONSE,t,xt)))}),Te.on("aborted",function(){if(g)return;let bt=new wp("stream has been aborted",wp.ERR_BAD_RESPONSE,t,xt);Te.destroy(bt),n(bt)}),Te.on("error",function(bt){O.destroyed||n(wp.from(bt,null,t,xt))}),Te.on("end",function(){try{let bt=at.length===1?at[0]:Buffer.concat(at);s!=="arraybuffer"&&(bt=bt.toString(o),(!o||o==="utf8")&&(bt=ds.stripBOM(bt))),Ot.data=bt}catch(bt){return n(wp.from(bt,null,t,Ot.request,Ot))}WYt(i,n,Ot)})}m.once("abort",at=>{Te.destroyed||(Te.emit("error",at),Te.destroy())})}),m.once("abort",Se=>{n(Se),O.destroy(Se)}),O.on("error",function(Qe){n(wp.from(Qe,null,t,O))}),O.on("socket",function(Qe){Qe.setKeepAlive(!0,1e3*60)}),t.timeout){let Se=parseInt(t.timeout,10);if(Number.isNaN(Se)){n(new wp("error trying to parse `config.timeout` to int",wp.ERR_BAD_OPTION_VALUE,t,O));return}O.setTimeout(Se,function(){if(b)return;let St=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",Ee=t.transitional||iPn;t.timeoutErrorMessage&&(St=t.timeoutErrorMessage),n(new wp(St,Ee.clarifyTimeoutError?wp.ETIMEDOUT:wp.ECONNABORTED,t,O)),E()})}if(ds.isStream(u)){let Se=!1,Qe=!1;u.on("end",()=>{Se=!0}),u.once("error",St=>{Qe=!0,O.destroy(St)}),u.on("close",()=>{!Se&&!Qe&&E(new USe("Request stream has been aborted",t,O))}),u.pipe(O)}else O.end(u)})};var edp=SM.hasStandardBrowserEnv?((e,t)=>r=>(r=new URL(r,SM.origin),e.protocol===r.protocol&&e.host===r.host&&(t||e.port===r.port)))(new URL(SM.origin),SM.navigator&&/(msie|trident)/i.test(SM.navigator.userAgent)):()=>!0;var tdp=SM.hasStandardBrowserEnv?{write(e,t,r,i,n,a){let u=[e+"="+encodeURIComponent(t)];ds.isNumber(r)&&u.push("expires="+new Date(r).toGMTString()),ds.isString(i)&&u.push("path="+i),ds.isString(n)&&u.push("domain="+n),a===!0&&u.push("secure"),document.cookie=u.join("; ")},read(e){let t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};var rdp=e=>e instanceof pz?{...e}:e;function v5t(e,t){t=t||{};let r={};function i(s,o,c,b){return ds.isPlainObject(s)&&ds.isPlainObject(o)?ds.merge.call({caseless:b},s,o):ds.isPlainObject(o)?ds.merge({},o):ds.isArray(o)?o.slice():o}function n(s,o,c,b){if(ds.isUndefined(o)){if(!ds.isUndefined(s))return i(void 0,s,c,b)}else return i(s,o,c,b)}function a(s,o){if(!ds.isUndefined(o))return i(void 0,o)}function u(s,o){if(ds.isUndefined(o)){if(!ds.isUndefined(s))return i(void 0,s)}else return i(void 0,o)}function l(s,o,c){if(c in t)return i(s,o);if(c in e)return i(void 0,s)}let d={url:a,method:a,data:a,baseURL:u,transformRequest:u,transformResponse:u,paramsSerializer:u,timeout:u,timeoutMessage:u,withCredentials:u,withXSRFToken:u,adapter:u,responseType:u,xsrfCookieName:u,xsrfHeaderName:u,onUploadProgress:u,onDownloadProgress:u,decompress:u,maxContentLength:u,maxBodyLength:u,beforeRedirect:u,transport:u,httpAgent:u,httpsAgent:u,cancelToken:u,socketPath:u,responseEncoding:u,validateStatus:l,headers:(s,o,c)=>n(rdp(s),rdp(o),c,!0)};return ds.forEach(Object.keys(Object.assign({},e,t)),function(o){let c=d[o]||n,b=c(e[o],t[o],o);ds.isUndefined(b)&&c!==l||(r[o]=b)}),r}var vPo=e=>{let t=v5t({},e),{data:r,withXSRFToken:i,xsrfHeaderName:n,xsrfCookieName:a,headers:u,auth:l}=t;t.headers=u=pz.from(u),t.url=ezi(tzi(t.baseURL,t.url),e.params,e.paramsSerializer),l&&u.set("Authorization","Basic "+btoa((l.username||"")+":"+(l.password?unescape(encodeURIComponent(l.password)):"")));let d;if(ds.isFormData(r)){if(SM.hasStandardBrowserEnv||SM.hasStandardBrowserWebWorkerEnv)u.setContentType(void 0);else if((d=u.getContentType())!==!1){let[s,...o]=d?d.split(";").map(c=>c.trim()).filter(Boolean):[];u.setContentType([s||"multipart/form-data",...o].join("; "))}}if(SM.hasStandardBrowserEnv&&(i&&ds.isFunction(i)&&(i=i(t)),i||i!==!1&&edp(t.url))){let s=n&&a&&tdp.read(a);s&&u.set(n,s)}return t};var QWS=typeof XMLHttpRequest<"u",idp=QWS&&function(e){return new Promise(function(r,i){let n=vPo(e),a=n.data,u=pz.from(n.headers).normalize(),{responseType:l,onUploadProgress:d,onDownloadProgress:s}=n,o,c,b,g,O;function m(){g&&g(),O&&O(),n.cancelToken&&n.cancelToken.unsubscribe(o),n.signal&&n.signal.removeEventListener("abort",o)}let P=new XMLHttpRequest;P.open(n.method.toUpperCase(),n.url,!0),P.timeout=n.timeout;function E(){if(!P)return;let q=pz.from("getAllResponseHeaders"in P&&P.getAllResponseHeaders()),C={data:!l||l==="text"||l==="json"?P.responseText:P.response,status:P.status,statusText:P.statusText,headers:q,config:e,request:P};WYt(function($){r($),m()},function($){i($),m()},C),P=null}"onloadend"in P?P.onloadend=E:P.onreadystatechange=function(){!P||P.readyState!==4||P.status===0&&!(P.responseURL&&P.responseURL.indexOf("file:")===0)||setTimeout(E)},P.onabort=function(){P&&(i(new wp("Request aborted",wp.ECONNABORTED,e,P)),P=null)},P.onerror=function(){i(new wp("Network Error",wp.ERR_NETWORK,e,P)),P=null},P.ontimeout=function(){let D=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded",C=n.transitional||iPn;n.timeoutErrorMessage&&(D=n.timeoutErrorMessage),i(new wp(D,C.clarifyTimeoutError?wp.ETIMEDOUT:wp.ECONNABORTED,e,P)),P=null},a===void 0&&u.setContentType(null),"setRequestHeader"in P&&ds.forEach(u.toJSON(),function(D,C){P.setRequestHeader(C,D)}),ds.isUndefined(n.withCredentials)||(P.withCredentials=!!n.withCredentials),l&&l!=="json"&&(P.responseType=n.responseType),s&&([b,O]=CJr(s,!0),P.addEventListener("progress",b)),d&&P.upload&&([c,g]=CJr(d),P.upload.addEventListener("progress",c),P.upload.addEventListener("loadend",g)),(n.cancelToken||n.signal)&&(o=q=>{P&&(i(!q||q.type?new USe(null,e,P):q),P.abort(),P=null)},n.cancelToken&&n.cancelToken.subscribe(o),n.signal&&(n.signal.aborted?o():n.signal.addEventListener("abort",o)));let A=nla(n.url);if(A&&SM.protocols.indexOf(A)===-1){i(new wp("Unsupported protocol "+A+":",wp.ERR_BAD_REQUEST,e));return}P.send(a||null)})};var JWS=(e,t)=>{let{length:r}=e=e?e.filter(Boolean):[];if(t||r){let i=new AbortController,n,a=function(s){if(!n){n=!0,l();let o=s instanceof Error?s:this.reason;i.abort(o instanceof wp?o:new USe(o instanceof Error?o.message:o))}},u=t&&setTimeout(()=>{u=null,a(new wp(`timeout ${t} of ms exceeded`,wp.ETIMEDOUT))},t),l=()=>{e&&(u&&clearTimeout(u),u=null,e.forEach(s=>{s.unsubscribe?s.unsubscribe(a):s.removeEventListener("abort",a)}),e=null)};e.forEach(s=>s.addEventListener("abort",a));let{signal:d}=i;return d.unsubscribe=()=>ds.asap(l),d}},ndp=JWS;var KWS=function*(e,t){let r=e.byteLength;if(!t||r<t){yield e;return}let i=0,n;for(;i<r;)n=i+t,yield e.slice(i,n),i=n},YWS=async function*(e,t){for await(let r of XWS(e))yield*KWS(r,t)},XWS=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}let t=e.getReader();try{for(;;){let{done:r,value:i}=await t.read();if(r)break;yield i}}finally{await t.cancel()}},KIs=(e,t,r,i)=>{let n=YWS(e,t),a=0,u,l=d=>{u||(u=!0,i&&i(d))};return new ReadableStream({async pull(d){try{let{done:s,value:o}=await n.next();if(s){l(),d.close();return}let c=o.byteLength;if(r){let b=a+=c;r(b)}d.enqueue(new Uint8Array(o))}catch(s){throw l(s),s}},cancel(d){return l(d),n.return()}},{highWaterMark:2})};var gPo=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",odp=gPo&&typeof ReadableStream=="function",ZWS=gPo&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),udp=(e,...t)=>{try{return!!e(...t)}catch{return!1}},kWS=odp&&udp(()=>{let e=!1,t=new Request(SM.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),adp=64*1024,YIs=odp&&udp(()=>ds.isReadableStream(new Response("").body)),bPo={stream:YIs&&(e=>e.body)};gPo&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!bPo[t]&&(bPo[t]=ds.isFunction(e[t])?r=>r[t]():(r,i)=>{throw new wp(`Response type '${t}' is not supported`,wp.ERR_NOT_SUPPORT,i)})})})(new Response);var eHS=async e=>{if(e==null)return 0;if(ds.isBlob(e))return e.size;if(ds.isSpecCompliantForm(e))return(await new Request(SM.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(ds.isArrayBufferView(e)||ds.isArrayBuffer(e))return e.byteLength;if(ds.isURLSearchParams(e)&&(e=e+""),ds.isString(e))return(await ZWS(e)).byteLength},tHS=async(e,t)=>{let r=ds.toFiniteNumber(e.getContentLength());return r??eHS(t)},sdp=gPo&&(async e=>{let{url:t,method:r,data:i,signal:n,cancelToken:a,timeout:u,onDownloadProgress:l,onUploadProgress:d,responseType:s,headers:o,withCredentials:c="same-origin",fetchOptions:b}=vPo(e);s=s?(s+"").toLowerCase():"text";let g=ndp([n,a&&a.toAbortSignal()],u),O,m=g&&g.unsubscribe&&(()=>{g.unsubscribe()}),P;try{if(d&&kWS&&r!=="get"&&r!=="head"&&(P=await tHS(o,i))!==0){let C=new Request(t,{method:"POST",body:i,duplex:"half"}),z;if(ds.isFormData(i)&&(z=C.headers.get("content-type"))&&o.setContentType(z),C.body){let[$,x]=oPn(P,CJr(uPn(d)));i=KIs(C.body,adp,$,x)}}ds.isString(c)||(c=c?"include":"omit");let E="credentials"in Request.prototype;O=new Request(t,{...b,signal:g,method:r.toUpperCase(),headers:o.normalize().toJSON(),body:i,duplex:"half",credentials:E?c:void 0});let A=await fetch(O),q=YIs&&(s==="stream"||s==="response");if(YIs&&(l||q&&m)){let C={};["status","statusText","headers"].forEach(L=>{C[L]=A[L]});let z=ds.toFiniteNumber(A.headers.get("content-length")),[$,x]=l&&oPn(z,CJr(uPn(l),!0))||[];A=new Response(KIs(A.body,adp,$,()=>{x&&x(),m&&m()}),C)}s=s||"text";let D=await bPo[ds.findKey(bPo,s)||"text"](A,e);return!q&&m&&m(),await new Promise((C,z)=>{WYt(C,z,{data:D,headers:pz.from(A.headers),status:A.status,statusText:A.statusText,config:e,request:O})})}catch(E){throw m&&m(),E&&E.name==="TypeError"&&/fetch/i.test(E.message)?Object.assign(new wp("Network Error",wp.ERR_NETWORK,e,O),{cause:E.cause||E}):wp.from(E,E&&E.code,e,O)}});var XIs={http:kfp,xhr:idp,fetch:sdp};ds.forEach(XIs,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});var cdp=e=>`- ${e}`,rHS=e=>ds.isFunction(e)||e===null||e===!1,OPo={getAdapter:e=>{e=ds.isArray(e)?e:[e];let{length:t}=e,r,i,n={};for(let a=0;a<t;a++){r=e[a];let u;if(i=r,!rHS(r)&&(i=XIs[(u=String(r)).toLowerCase()],i===void 0))throw new wp(`Unknown adapter '${u}'`);if(i)break;n[u||"#"+a]=i}if(!i){let a=Object.entries(n).map(([l,d])=>`adapter ${l} `+(d===!1?"is not supported by the environment":"is not available in the build")),u=t?a.length>1?`since :
@@ -1939,7 +1939,7 @@ ${q}${A}${D}${LFp.default.cursorHide}`});var Y_a=di(axi(),1);function WLs(e,t){i
1939
1939
  Run ${Js.cyan("fern generator upgrade")} to upgrade your generators.`),n.length>2&&(r+=`
1940
1940
  Run ${Js.cyan("fern generator upgrade --list")} to see the full list of generator upgrades available.`),cPn(r,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"})}async function eUs({generatorUpgradeInfo:e,header:t,limit:r,includeBoxen:i=!0}){if(!l3p(e))return;let n=t??"",a=e.filter(l=>l.isUpgradeAvailable);r!=null&&(a=a.slice(0,r+1));let u=a.sort((l,d)=>l.generatorName.localeCompare(d.generatorName)||l.currentVersion.localeCompare(d.currentVersion));for(let l of u)n+=`
1941
1941
  ${await BMD(l.generatorName)} (${l.apiName!=null?"API: "+l.apiName+", ":""}Group: ${l.generatorGroup}) `+Js.dim(l.currentVersion)+Js.reset(" \u2192 ")+Js.green(l.latestVersion);return n+=`
1942
- `,i?cPn(n,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):n}async function BMD(e){let r=await new c3p.FernRegistryClient({environment:"https://registry.buildwithfern.com"}).generators.getGeneratorByImage({dockerImage:e});if(!r.ok||r.body==null)throw new Error(`Generator ${e} not found`);return r.body.displayName}async function xMD({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){if(t.length===1){let l={type:"singleApi",versions:{}};return await d3p({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(d,s,o,c)=>{l.versions[s]==null&&(l.versions[s]={});let b=Xsi(o.name,c),g=await iJt({generatorName:b,cliVersion:e.environment.packageVersion,currentGeneratorVersion:o.version,channel:n,includeMajor:a,context:c});g!=null&&(l.versions[s][o.name]={previousVersion:o.version,latestVersion:g})},generatorFilter:r,groupFilter:i}),l}let u={type:"multiApi",versions:{}};return await d3p({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(l,d,s,o)=>{if(l==null)return;u.versions[l]==null&&(u.versions[l]={}),u.versions[l][d]==null&&(u.versions[l][d]={});let c=Xsi(s.name,o),b=await iJt({generatorName:c,cliVersion:e.environment.packageVersion,currentGeneratorVersion:s.version,channel:n,includeMajor:a,context:o});b!=null&&(u.versions[l][d][s.name]={previousVersion:s.version,latestVersion:b})},generatorFilter:r,groupFilter:i}),u}async function d3p({cliContext:e,apiWorkspaces:t,perGeneratorAction:r,generatorFilter:i,groupFilter:n}){await Promise.all(t.map(async a=>{await e.runTaskForWorkspace(a,async u=>{let l=await L8t({absolutePathToWorkspace:a.absoluteFilePath,context:u});if(!(l==null||l.groups==null)){for(let d of l.groups)if(!(n!=null&&d.groupName!==n))for(let s of d.generators)i!=null&&s.name!==i||await r(a.workspaceName,d.groupName,s,u)}})}))}function p3p(e,t,r){let i=[];for(let[n,a]of Object.entries(e))for(let[u,l]of Object.entries(a)){r.debug(`Checking if ${u} in group ${n} has an upgrade available...`);let d=Vie(l.latestVersion,l.previousVersion);r.debug(`Latest version: ${l.latestVersion}. `+(d?"Upgrade available.":"No upgrade available.")),i.push({generatorName:u,generatorGroup:n,apiName:t,isUpgradeAvailable:d,currentVersion:l.previousVersion,latestVersion:l.latestVersion})}return i}async function Oqo({project:e,cliContext:t,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){let u=[];if(e!=null){let l=await xMD({cliContext:t,project:e,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a});if(l.type==="multiApi")for(let[d,s]of Object.entries(l.versions))u.push(...p3p(s,d,t.logger));else u.push(...p3p(l.versions,void 0,t.logger))}return u}var nha=class extends Error{response;request;options;constructor(t,r,i){let n=t.status||t.status===0?t.status:"",a=t.statusText||"",u=`${n} ${a}`.trim(),l=u?`status code ${u}`:"an unknown error";super(`Request failed with ${l}: ${r.method} ${r.url}`),this.name="HTTPError",this.response=t,this.request=r,this.options=i}};var X1n=class extends Error{request;constructor(t){super(`Request timed out: ${t.method} ${t.url}`),this.name="TimeoutError",this.request=t}};var Z1n=e=>e!==null&&typeof e=="object";var aha=(...e)=>{for(let t of e)if((!Z1n(t)||Array.isArray(t))&&t!==void 0)throw new TypeError("The `options` argument must be an object");return iUs({},...e)},tUs=(e={},t={})=>{let r=new globalThis.Headers(e),i=t instanceof globalThis.Headers,n=new globalThis.Headers(t);for(let[a,u]of n.entries())i&&u==="undefined"||u===void 0?r.delete(a):r.set(a,u);return r};function mqo(e,t,r){return Object.hasOwn(t,r)&&t[r]===void 0?[]:iUs(e[r]??[],t[r]??[])}var rUs=(e={},t={})=>({beforeRequest:mqo(e,t,"beforeRequest"),beforeRetry:mqo(e,t,"beforeRetry"),afterResponse:mqo(e,t,"afterResponse"),beforeError:mqo(e,t,"beforeError")}),iUs=(...e)=>{let t={},r={},i={};for(let n of e)if(Array.isArray(n))Array.isArray(t)||(t=[]),t=[...t,...n];else if(Z1n(n)){for(let[a,u]of Object.entries(n))Z1n(u)&&a in t&&(u=iUs(t[a],u)),t={...t,[a]:u};Z1n(n.hooks)&&(i=rUs(i,n.hooks),t.hooks=i),Z1n(n.headers)&&(r=tUs(r,n.headers),t.headers=r)}return t};var _3p=(()=>{let e=!1,t=!1,r=typeof globalThis.ReadableStream=="function",i=typeof globalThis.Request=="function";if(r&&i)try{t=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type")}catch(n){if(n instanceof Error&&n.message==="unsupported BodyInit type")return!1;throw n}return e&&!t})(),h3p=typeof globalThis.AbortController=="function",y3p=typeof globalThis.ReadableStream=="function",v3p=typeof globalThis.FormData=="function",Pqo=["get","post","put","patch","head","delete"],IMD=()=>{};IMD();var b3p={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},jqo=2147483647,wqo=Symbol("stop"),g3p={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},O3p={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,dispatcher:!0,duplex:!0,priority:!0};var P3p=e=>Pqo.includes(e)?e.toUpperCase():e,zMD=["get","put","head","delete","options","trace"],RMD=[408,413,429,500,502,503,504],NMD=[413,429,503],m3p={limit:2,methods:zMD,statusCodes:RMD,afterStatusCodes:NMD,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:e=>.3*2**(e-1)*1e3},j3p=(e={})=>{if(typeof e=="number")return{...m3p,limit:e};if(e.methods&&!Array.isArray(e.methods))throw new Error("retry.methods must be an array");if(e.statusCodes&&!Array.isArray(e.statusCodes))throw new Error("retry.statusCodes must be an array");return{...m3p,...e}};async function nUs(e,t,r,i){return new Promise((n,a)=>{let u=setTimeout(()=>{r&&r.abort(),a(new X1n(e))},i.timeout);i.fetch(e,t).then(n).catch(a).then(()=>{clearTimeout(u)})})}async function aUs(e,{signal:t}){return new Promise((r,i)=>{t&&(t.throwIfAborted(),t.addEventListener("abort",n,{once:!0}));function n(){clearTimeout(a),i(t.reason)}let a=setTimeout(()=>{t?.removeEventListener("abort",n),r()},e)})}var w3p=(e,t)=>{let r={};for(let i in t)!(i in O3p)&&!(i in g3p)&&!(i in e)&&(r[i]=t[i]);return r};var oha=class e{static create(t,r){let i=new e(t,r),n=async()=>{if(typeof i._options.timeout=="number"&&i._options.timeout>jqo)throw new RangeError(`The \`timeout\` option cannot be greater than ${jqo}`);await Promise.resolve();let l=await i._fetch();for(let d of i._options.hooks.afterResponse){let s=await d(i.request,i._options,i._decorateResponse(l.clone()));s instanceof globalThis.Response&&(l=s)}if(i._decorateResponse(l),!l.ok&&i._options.throwHttpErrors){let d=new nha(l,i.request,i._options);for(let s of i._options.hooks.beforeError)d=await s(d);throw d}if(i._options.onDownloadProgress){if(typeof i._options.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!y3p)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return i._stream(l.clone(),i._options.onDownloadProgress)}return l},u=i._options.retry.methods.includes(i.request.method.toLowerCase())?i._retry(n):n();for(let[l,d]of Object.entries(b3p))u[l]=async()=>{i.request.headers.set("accept",i.request.headers.get("accept")||d);let o=(await u).clone();if(l==="json"){if(o.status===204||(await o.clone().arrayBuffer()).byteLength===0)return"";if(r.parseJson)return r.parseJson(await o.text())}return o[l]()};return u}request;abortController;_retryCount=0;_input;_options;constructor(t,r={}){if(this._input=t,this._options={...r,headers:tUs(this._input.headers,r.headers),hooks:rUs({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},r.hooks),method:P3p(r.method??this._input.method),prefixUrl:String(r.prefixUrl||""),retry:j3p(r.retry),throwHttpErrors:r.throwHttpErrors!==!1,timeout:r.timeout??1e4,fetch:r.fetch??globalThis.fetch.bind(globalThis)},typeof this._input!="string"&&!(this._input instanceof URL||this._input instanceof globalThis.Request))throw new TypeError("`input` must be a string, URL, or Request");if(this._options.prefixUrl&&typeof this._input=="string"){if(this._input.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");this._options.prefixUrl.endsWith("/")||(this._options.prefixUrl+="/"),this._input=this._options.prefixUrl+this._input}if(h3p){this.abortController=new globalThis.AbortController;let i=this._options.signal??this._input.signal;i?.addEventListener("abort",()=>{this.abortController.abort(i.reason)}),this._options.signal=this.abortController.signal}if(_3p&&(this._options.duplex="half"),this._options.json!==void 0&&(this._options.body=this._options.stringifyJson?.(this._options.json)??JSON.stringify(this._options.json),this._options.headers.set("content-type",this._options.headers.get("content-type")??"application/json")),this.request=new globalThis.Request(this._input,this._options),this._options.searchParams){let n="?"+(typeof this._options.searchParams=="string"?this._options.searchParams.replace(/^\?/,""):new URLSearchParams(this._options.searchParams).toString()),a=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,n);(v3p&&this._options.body instanceof globalThis.FormData||this._options.body instanceof URLSearchParams)&&!(this._options.headers&&this._options.headers["content-type"])&&this.request.headers.delete("content-type"),this.request=new globalThis.Request(new globalThis.Request(a,{...this.request}),this._options)}}_calculateRetryDelay(t){if(this._retryCount++,this._retryCount>this._options.retry.limit||t instanceof X1n)throw t;if(t instanceof nha){if(!this._options.retry.statusCodes.includes(t.response.status))throw t;let i=t.response.headers.get("Retry-After")??t.response.headers.get("RateLimit-Reset")??t.response.headers.get("X-RateLimit-Reset")??t.response.headers.get("X-Rate-Limit-Reset");if(i&&this._options.retry.afterStatusCodes.includes(t.response.status)){let n=Number(i)*1e3;Number.isNaN(n)?n=Date.parse(i)-Date.now():n>=Date.parse("2024-01-01")&&(n-=Date.now());let a=this._options.retry.maxRetryAfter??n;return n<a?n:a}if(t.response.status===413)throw t}let r=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,r)}_decorateResponse(t){return this._options.parseJson&&(t.json=async()=>this._options.parseJson(await t.text())),t}async _retry(t){try{return await t()}catch(r){let i=Math.min(this._calculateRetryDelay(r),jqo);if(this._retryCount<1)throw r;await aUs(i,{signal:this._options.signal});for(let n of this._options.hooks.beforeRetry)if(await n({request:this.request,options:this._options,error:r,retryCount:this._retryCount})===wqo)return;return this._retry(t)}}async _fetch(){for(let i of this._options.hooks.beforeRequest){let n=await i(this.request,this._options);if(n instanceof Request){this.request=n;break}if(n instanceof Response)return n}let t=w3p(this.request,this._options),r=this.request;return this.request=r.clone(),this._options.timeout===!1?this._options.fetch(r,t):nUs(r,t,this.abortController,this._options)}_stream(t,r){let i=Number(t.headers.get("content-length"))||0,n=0;return t.status===204?(r&&r({percent:1,totalBytes:i,transferredBytes:n},new Uint8Array),new globalThis.Response(null,{status:t.status,statusText:t.statusText,headers:t.headers})):new globalThis.Response(new globalThis.ReadableStream({async start(a){let u=t.body.getReader();r&&r({percent:0,transferredBytes:0,totalBytes:i},new Uint8Array);async function l(){let{done:d,value:s}=await u.read();if(d){a.close();return}if(r){n+=s.byteLength;let o=i===0?0:n/i;r({percent:o,transferredBytes:n,totalBytes:i},s)}a.enqueue(s),await l()}await l()}}),{status:t.status,statusText:t.statusText,headers:t.headers})}};var oUs=e=>{let t=(r,i)=>oha.create(r,aha(e,i));for(let r of Pqo)t[r]=(i,n)=>oha.create(i,aha(e,n,{method:r}));return t.create=r=>oUs(aha(r)),t.extend=r=>(typeof r=="function"&&(r=r(e??{})),oUs(aha(e,r))),t.stop=wqo,t},FMD=oUs(),S3p=FMD;var J3p=di(Q3p(),1);function fUs(e){let t=(0,J3p.default)("npm",{registry:"https://registry.npmjs.org/"}),r=t[`${e}:registry`]||t.config_registry||t.registry;return r.slice(-1)==="/"?r:`${r}/`}var V7p=di(U7p(),1),W7p=di(axi(),1),SUs=class extends Error{constructor(t){super(`Package \`${t}\` could not be found`),this.name="PackageNotFoundError"}},DUs=class extends Error{constructor(t,r){super(`Version \`${r}\` for package \`${t}\` could not be found`),this.name="VersionNotFoundError"}};async function EUs(e,t={}){let{version:r="latest"}=t,{omitDeprecated:i=!0}=t,n=e.split("/")[0],a=t.registryUrl??fUs(n),u=new URL(encodeURIComponent(e).replace(/^%40/,"@"),a),l=(0,V7p.default)(a.toString(),{recursive:!0}),d={accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"};t.fullMetadata&&delete d.accept,l&&(d.authorization=`${l.type} ${l.token}`);let s;try{s=await S3p(u,{headers:d,keepalive:!0}).json()}catch(c){throw c?.response?.status===404?new SUs(e):c}if(t.allVersions)return s;let o=new DUs(e,r);if(s["dist-tags"][r]){let{time:c}=s;s=s.versions[s["dist-tags"][r]],s.time=c}else if(r){let c=!!s.versions[r];if(i&&!c)for(let[g,O]of Object.entries(s.versions))O.deprecated&&delete s.versions[g];if(!c){let g=Object.keys(s.versions);if(r=W7p.default.maxSatisfying(g,r),!r)throw o}let{time:b}=s;if(s=s.versions[r],s.time=b,!s)throw o}return s}async function dha(e,t){let{version:r}=await EUs(e.toLowerCase(),t);return r}async function Qdi({cliEnvironment:e,includePreReleases:t=!1}){return e.packageName!=="fern-api"?e.packageVersion:dha(e.packageName,{version:t?"prerelease":"latest"})}var H7p=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],zqo=class{environment;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=V0.Info;constructor(t){this.ttyAwareLogger=new gqo(t);let r=this.getPackageName(),i=this.getPackageVersion(),n=this.getCliName();(r==null||i==null||n==null)&&this.exitProgram(),this.environment={packageName:r,packageVersion:i,cliName:n}}getPackageName(){return"fern-api"}getPackageVersion(){return"0.57.7"}getCliName(){return"fern"}setLogLevel(t){this.logLevel=t}logDebugInfo(){this.logger.debug(`Running ${Js.bold(`${this.environment.cliName}`)} (${this.environment.packageName}@${this.environment.packageVersion})`)}failAndThrow(t,r){throw this.failWithoutThrowing(t,r),new ure}failWithoutThrowing(t,r){this.didSucceed=!1,hqo({message:t,error:r,logger:this.logger})}async exit(){this._suppressUpgradeMessage||await this.nudgeUpgradeIfAvailable(),this.ttyAwareLogger.finish(),await(await ePn()).flush(),this.exitProgram()}async nudgeUpgradeIfAvailable(){try{let t=await Promise.race([this.isUpgradeAvailable(),new Promise((i,n)=>setTimeout(()=>n("Request timed out"),300))]),r=await f3p({cliEnvironment:this.environment,upgradeInfo:t});r!=null&&(r.endsWith(`
1942
+ `,i?cPn(n,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):n}async function BMD(e){let r=await new c3p.FernRegistryClient({environment:"https://registry.buildwithfern.com"}).generators.getGeneratorByImage({dockerImage:e});if(!r.ok||r.body==null)throw new Error(`Generator ${e} not found`);return r.body.displayName}async function xMD({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){if(t.length===1){let l={type:"singleApi",versions:{}};return await d3p({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(d,s,o,c)=>{l.versions[s]==null&&(l.versions[s]={});let b=Xsi(o.name,c),g=await iJt({generatorName:b,cliVersion:e.environment.packageVersion,currentGeneratorVersion:o.version,channel:n,includeMajor:a,context:c});g!=null&&(l.versions[s][o.name]={previousVersion:o.version,latestVersion:g})},generatorFilter:r,groupFilter:i}),l}let u={type:"multiApi",versions:{}};return await d3p({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(l,d,s,o)=>{if(l==null)return;u.versions[l]==null&&(u.versions[l]={}),u.versions[l][d]==null&&(u.versions[l][d]={});let c=Xsi(s.name,o),b=await iJt({generatorName:c,cliVersion:e.environment.packageVersion,currentGeneratorVersion:s.version,channel:n,includeMajor:a,context:o});b!=null&&(u.versions[l][d][s.name]={previousVersion:s.version,latestVersion:b})},generatorFilter:r,groupFilter:i}),u}async function d3p({cliContext:e,apiWorkspaces:t,perGeneratorAction:r,generatorFilter:i,groupFilter:n}){await Promise.all(t.map(async a=>{await e.runTaskForWorkspace(a,async u=>{let l=await L8t({absolutePathToWorkspace:a.absoluteFilePath,context:u});if(!(l==null||l.groups==null)){for(let d of l.groups)if(!(n!=null&&d.groupName!==n))for(let s of d.generators)i!=null&&s.name!==i||await r(a.workspaceName,d.groupName,s,u)}})}))}function p3p(e,t,r){let i=[];for(let[n,a]of Object.entries(e))for(let[u,l]of Object.entries(a)){r.debug(`Checking if ${u} in group ${n} has an upgrade available...`);let d=Vie(l.latestVersion,l.previousVersion);r.debug(`Latest version: ${l.latestVersion}. `+(d?"Upgrade available.":"No upgrade available.")),i.push({generatorName:u,generatorGroup:n,apiName:t,isUpgradeAvailable:d,currentVersion:l.previousVersion,latestVersion:l.latestVersion})}return i}async function Oqo({project:e,cliContext:t,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){let u=[];if(e!=null){let l=await xMD({cliContext:t,project:e,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a});if(l.type==="multiApi")for(let[d,s]of Object.entries(l.versions))u.push(...p3p(s,d,t.logger));else u.push(...p3p(l.versions,void 0,t.logger))}return u}var nha=class extends Error{response;request;options;constructor(t,r,i){let n=t.status||t.status===0?t.status:"",a=t.statusText||"",u=`${n} ${a}`.trim(),l=u?`status code ${u}`:"an unknown error";super(`Request failed with ${l}: ${r.method} ${r.url}`),this.name="HTTPError",this.response=t,this.request=r,this.options=i}};var X1n=class extends Error{request;constructor(t){super(`Request timed out: ${t.method} ${t.url}`),this.name="TimeoutError",this.request=t}};var Z1n=e=>e!==null&&typeof e=="object";var aha=(...e)=>{for(let t of e)if((!Z1n(t)||Array.isArray(t))&&t!==void 0)throw new TypeError("The `options` argument must be an object");return iUs({},...e)},tUs=(e={},t={})=>{let r=new globalThis.Headers(e),i=t instanceof globalThis.Headers,n=new globalThis.Headers(t);for(let[a,u]of n.entries())i&&u==="undefined"||u===void 0?r.delete(a):r.set(a,u);return r};function mqo(e,t,r){return Object.hasOwn(t,r)&&t[r]===void 0?[]:iUs(e[r]??[],t[r]??[])}var rUs=(e={},t={})=>({beforeRequest:mqo(e,t,"beforeRequest"),beforeRetry:mqo(e,t,"beforeRetry"),afterResponse:mqo(e,t,"afterResponse"),beforeError:mqo(e,t,"beforeError")}),iUs=(...e)=>{let t={},r={},i={};for(let n of e)if(Array.isArray(n))Array.isArray(t)||(t=[]),t=[...t,...n];else if(Z1n(n)){for(let[a,u]of Object.entries(n))Z1n(u)&&a in t&&(u=iUs(t[a],u)),t={...t,[a]:u};Z1n(n.hooks)&&(i=rUs(i,n.hooks),t.hooks=i),Z1n(n.headers)&&(r=tUs(r,n.headers),t.headers=r)}return t};var _3p=(()=>{let e=!1,t=!1,r=typeof globalThis.ReadableStream=="function",i=typeof globalThis.Request=="function";if(r&&i)try{t=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type")}catch(n){if(n instanceof Error&&n.message==="unsupported BodyInit type")return!1;throw n}return e&&!t})(),h3p=typeof globalThis.AbortController=="function",y3p=typeof globalThis.ReadableStream=="function",v3p=typeof globalThis.FormData=="function",Pqo=["get","post","put","patch","head","delete"],IMD=()=>{};IMD();var b3p={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},jqo=2147483647,wqo=Symbol("stop"),g3p={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},O3p={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,dispatcher:!0,duplex:!0,priority:!0};var P3p=e=>Pqo.includes(e)?e.toUpperCase():e,zMD=["get","put","head","delete","options","trace"],RMD=[408,413,429,500,502,503,504],NMD=[413,429,503],m3p={limit:2,methods:zMD,statusCodes:RMD,afterStatusCodes:NMD,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:e=>.3*2**(e-1)*1e3},j3p=(e={})=>{if(typeof e=="number")return{...m3p,limit:e};if(e.methods&&!Array.isArray(e.methods))throw new Error("retry.methods must be an array");if(e.statusCodes&&!Array.isArray(e.statusCodes))throw new Error("retry.statusCodes must be an array");return{...m3p,...e}};async function nUs(e,t,r,i){return new Promise((n,a)=>{let u=setTimeout(()=>{r&&r.abort(),a(new X1n(e))},i.timeout);i.fetch(e,t).then(n).catch(a).then(()=>{clearTimeout(u)})})}async function aUs(e,{signal:t}){return new Promise((r,i)=>{t&&(t.throwIfAborted(),t.addEventListener("abort",n,{once:!0}));function n(){clearTimeout(a),i(t.reason)}let a=setTimeout(()=>{t?.removeEventListener("abort",n),r()},e)})}var w3p=(e,t)=>{let r={};for(let i in t)!(i in O3p)&&!(i in g3p)&&!(i in e)&&(r[i]=t[i]);return r};var oha=class e{static create(t,r){let i=new e(t,r),n=async()=>{if(typeof i._options.timeout=="number"&&i._options.timeout>jqo)throw new RangeError(`The \`timeout\` option cannot be greater than ${jqo}`);await Promise.resolve();let l=await i._fetch();for(let d of i._options.hooks.afterResponse){let s=await d(i.request,i._options,i._decorateResponse(l.clone()));s instanceof globalThis.Response&&(l=s)}if(i._decorateResponse(l),!l.ok&&i._options.throwHttpErrors){let d=new nha(l,i.request,i._options);for(let s of i._options.hooks.beforeError)d=await s(d);throw d}if(i._options.onDownloadProgress){if(typeof i._options.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!y3p)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return i._stream(l.clone(),i._options.onDownloadProgress)}return l},u=i._options.retry.methods.includes(i.request.method.toLowerCase())?i._retry(n):n();for(let[l,d]of Object.entries(b3p))u[l]=async()=>{i.request.headers.set("accept",i.request.headers.get("accept")||d);let o=(await u).clone();if(l==="json"){if(o.status===204||(await o.clone().arrayBuffer()).byteLength===0)return"";if(r.parseJson)return r.parseJson(await o.text())}return o[l]()};return u}request;abortController;_retryCount=0;_input;_options;constructor(t,r={}){if(this._input=t,this._options={...r,headers:tUs(this._input.headers,r.headers),hooks:rUs({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},r.hooks),method:P3p(r.method??this._input.method),prefixUrl:String(r.prefixUrl||""),retry:j3p(r.retry),throwHttpErrors:r.throwHttpErrors!==!1,timeout:r.timeout??1e4,fetch:r.fetch??globalThis.fetch.bind(globalThis)},typeof this._input!="string"&&!(this._input instanceof URL||this._input instanceof globalThis.Request))throw new TypeError("`input` must be a string, URL, or Request");if(this._options.prefixUrl&&typeof this._input=="string"){if(this._input.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");this._options.prefixUrl.endsWith("/")||(this._options.prefixUrl+="/"),this._input=this._options.prefixUrl+this._input}if(h3p){this.abortController=new globalThis.AbortController;let i=this._options.signal??this._input.signal;i?.addEventListener("abort",()=>{this.abortController.abort(i.reason)}),this._options.signal=this.abortController.signal}if(_3p&&(this._options.duplex="half"),this._options.json!==void 0&&(this._options.body=this._options.stringifyJson?.(this._options.json)??JSON.stringify(this._options.json),this._options.headers.set("content-type",this._options.headers.get("content-type")??"application/json")),this.request=new globalThis.Request(this._input,this._options),this._options.searchParams){let n="?"+(typeof this._options.searchParams=="string"?this._options.searchParams.replace(/^\?/,""):new URLSearchParams(this._options.searchParams).toString()),a=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,n);(v3p&&this._options.body instanceof globalThis.FormData||this._options.body instanceof URLSearchParams)&&!(this._options.headers&&this._options.headers["content-type"])&&this.request.headers.delete("content-type"),this.request=new globalThis.Request(new globalThis.Request(a,{...this.request}),this._options)}}_calculateRetryDelay(t){if(this._retryCount++,this._retryCount>this._options.retry.limit||t instanceof X1n)throw t;if(t instanceof nha){if(!this._options.retry.statusCodes.includes(t.response.status))throw t;let i=t.response.headers.get("Retry-After")??t.response.headers.get("RateLimit-Reset")??t.response.headers.get("X-RateLimit-Reset")??t.response.headers.get("X-Rate-Limit-Reset");if(i&&this._options.retry.afterStatusCodes.includes(t.response.status)){let n=Number(i)*1e3;Number.isNaN(n)?n=Date.parse(i)-Date.now():n>=Date.parse("2024-01-01")&&(n-=Date.now());let a=this._options.retry.maxRetryAfter??n;return n<a?n:a}if(t.response.status===413)throw t}let r=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,r)}_decorateResponse(t){return this._options.parseJson&&(t.json=async()=>this._options.parseJson(await t.text())),t}async _retry(t){try{return await t()}catch(r){let i=Math.min(this._calculateRetryDelay(r),jqo);if(this._retryCount<1)throw r;await aUs(i,{signal:this._options.signal});for(let n of this._options.hooks.beforeRetry)if(await n({request:this.request,options:this._options,error:r,retryCount:this._retryCount})===wqo)return;return this._retry(t)}}async _fetch(){for(let i of this._options.hooks.beforeRequest){let n=await i(this.request,this._options);if(n instanceof Request){this.request=n;break}if(n instanceof Response)return n}let t=w3p(this.request,this._options),r=this.request;return this.request=r.clone(),this._options.timeout===!1?this._options.fetch(r,t):nUs(r,t,this.abortController,this._options)}_stream(t,r){let i=Number(t.headers.get("content-length"))||0,n=0;return t.status===204?(r&&r({percent:1,totalBytes:i,transferredBytes:n},new Uint8Array),new globalThis.Response(null,{status:t.status,statusText:t.statusText,headers:t.headers})):new globalThis.Response(new globalThis.ReadableStream({async start(a){let u=t.body.getReader();r&&r({percent:0,transferredBytes:0,totalBytes:i},new Uint8Array);async function l(){let{done:d,value:s}=await u.read();if(d){a.close();return}if(r){n+=s.byteLength;let o=i===0?0:n/i;r({percent:o,transferredBytes:n,totalBytes:i},s)}a.enqueue(s),await l()}await l()}}),{status:t.status,statusText:t.statusText,headers:t.headers})}};var oUs=e=>{let t=(r,i)=>oha.create(r,aha(e,i));for(let r of Pqo)t[r]=(i,n)=>oha.create(i,aha(e,n,{method:r}));return t.create=r=>oUs(aha(r)),t.extend=r=>(typeof r=="function"&&(r=r(e??{})),oUs(aha(e,r))),t.stop=wqo,t},FMD=oUs(),S3p=FMD;var J3p=di(Q3p(),1);function fUs(e){let t=(0,J3p.default)("npm",{registry:"https://registry.npmjs.org/"}),r=t[`${e}:registry`]||t.config_registry||t.registry;return r.slice(-1)==="/"?r:`${r}/`}var V7p=di(U7p(),1),W7p=di(axi(),1),SUs=class extends Error{constructor(t){super(`Package \`${t}\` could not be found`),this.name="PackageNotFoundError"}},DUs=class extends Error{constructor(t,r){super(`Version \`${r}\` for package \`${t}\` could not be found`),this.name="VersionNotFoundError"}};async function EUs(e,t={}){let{version:r="latest"}=t,{omitDeprecated:i=!0}=t,n=e.split("/")[0],a=t.registryUrl??fUs(n),u=new URL(encodeURIComponent(e).replace(/^%40/,"@"),a),l=(0,V7p.default)(a.toString(),{recursive:!0}),d={accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"};t.fullMetadata&&delete d.accept,l&&(d.authorization=`${l.type} ${l.token}`);let s;try{s=await S3p(u,{headers:d,keepalive:!0}).json()}catch(c){throw c?.response?.status===404?new SUs(e):c}if(t.allVersions)return s;let o=new DUs(e,r);if(s["dist-tags"][r]){let{time:c}=s;s=s.versions[s["dist-tags"][r]],s.time=c}else if(r){let c=!!s.versions[r];if(i&&!c)for(let[g,O]of Object.entries(s.versions))O.deprecated&&delete s.versions[g];if(!c){let g=Object.keys(s.versions);if(r=W7p.default.maxSatisfying(g,r),!r)throw o}let{time:b}=s;if(s=s.versions[r],s.time=b,!s)throw o}return s}async function dha(e,t){let{version:r}=await EUs(e.toLowerCase(),t);return r}async function Qdi({cliEnvironment:e,includePreReleases:t=!1}){return e.packageName!=="fern-api"?e.packageVersion:dha(e.packageName,{version:t?"prerelease":"latest"})}var H7p=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],zqo=class{environment;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=V0.Info;constructor(t){this.ttyAwareLogger=new gqo(t);let r=this.getPackageName(),i=this.getPackageVersion(),n=this.getCliName();(r==null||i==null||n==null)&&this.exitProgram(),this.environment={packageName:r,packageVersion:i,cliName:n}}getPackageName(){return"fern-api"}getPackageVersion(){return"0.57.8"}getCliName(){return"fern"}setLogLevel(t){this.logLevel=t}logDebugInfo(){this.logger.debug(`Running ${Js.bold(`${this.environment.cliName}`)} (${this.environment.packageName}@${this.environment.packageVersion})`)}failAndThrow(t,r){throw this.failWithoutThrowing(t,r),new ure}failWithoutThrowing(t,r){this.didSucceed=!1,hqo({message:t,error:r,logger:this.logger})}async exit(){this._suppressUpgradeMessage||await this.nudgeUpgradeIfAvailable(),this.ttyAwareLogger.finish(),await(await ePn()).flush(),this.exitProgram()}async nudgeUpgradeIfAvailable(){try{let t=await Promise.race([this.isUpgradeAvailable(),new Promise((i,n)=>setTimeout(()=>n("Request timed out"),300))]),r=await f3p({cliEnvironment:this.environment,upgradeInfo:t});r!=null&&(r.endsWith(`
1943
1943
  `)||(r+=`
1944
1944
  `),this.logger.info(r))}catch{}}async exitIfFailed(){this.didSucceed||await this.exit()}exitProgram(){process.exit(this.didSucceed?0:1)}longestWorkspaceName;registerWorkspaces(t){let r=B_s(t.map(i=>i.type==="docs"?"docs":i.workspaceName??"api"),i=>i.length);r!=null&&(this.longestWorkspaceName=r)}project;registerProject(t){this.project=t}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 X_a(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 i=this.addTaskWithInit(t).start(),n;try{n=await r(i)}catch(a){throw a.message.includes("globalThis")?(i.logger.error(this.USE_NODE_18_OR_ABOVE_MESSAGE),i.failWithoutThrowing()):i.failWithoutThrowing(void 0,a),new ure}finally{i.finish()}return n}async instrumentPostHogEvent(t){(await ePn()).sendEvent(t)}logger=vQr(this.log.bind(this));constructTaskInitForWorkspace(t){let r=$7p(t.type==="docs"?"docs":t.workspaceName??"api"),i=1+(this.longestWorkspaceName!=null?$7p(this.longestWorkspaceName):r).length,n=r.padEnd(i),a=H7p[this.numTasks++%H7p.length],u=Js.hex(a)(n);return{...this.constructTaskInit(),logPrefix:u}}constructTaskInit(){return{logImmediately:t=>this.logImmediately(t),takeOverTerminal:t=>this.ttyAwareLogger.takeOverTerminal(t),onResult:t=>{t===BC.Failure&&(this.didSucceed=!1)},instrumentPostHogEvent:async t=>{await this.instrumentPostHogEvent(t)},shouldBufferLogs:!1}}log(t,...r){this.logImmediately([{parts:r,level:t,time:new Date}])}logImmediately(t){let r=t.filter(i=>_si.indexOf(i.level)>=_si.indexOf(this.logLevel));this.ttyAwareLogger.log(r,{includeDebugInfo:this.logLevel===V0.Debug})}_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 Qdi({cliEnvironment:this.environment,includePreReleases:t}),i=Vie(r,this.environment.packageVersion);this.logger.debug(`Latest version: ${r}. `+(i?"Upgrade available.":"No upgrade available."));let n={isUpgradeAvailable:i,latestVersion:r},a=await Oqo({project:this.project,cliContext:this});this._isUpgradeAvailable={cliUpgradeInfo:n,generatorUpgradeInfo:a}}return this._isUpgradeAvailable}async confirmPrompt(t,r=!1){return await RLs({message:t,default:r})}async getInput(t){return await NLs({message:t.message,default:t.default})}};function $7p(e){return`[${e}]:`}var ft_=require("fs/promises");function Wie({breadcrumbs:e=[],title:t,subtitle:r}){let i=[];return e.length>0&&i.push(Js.blue(e.join(" -> "))),i.push(t),r!=null&&i.push(Js.dim(r)),i.join(`
1945
1945
  `)}var gKp=require("fs/promises");var Y5t=class e{generatorsConfiguration;workspaceName;cliVersion;absoluteFilePath;changelog;type=e.Type;constructor({generatorsConfiguration:t,workspaceName:r,cliVersion:i,absoluteFilePath:n,changelog:a}){this.generatorsConfiguration=t,this.workspaceName=r,this.cliVersion=i,this.absoluteFilePath=n,this.changelog=a}};var oDe=class extends Y5t{definition;sources;constructor({definition:t,sources:r,...i}){super(i),this.definition=t,this.sources=r??[]}async getDefinition(){return this.definition}async toFernWorkspace(){return this}getSources(){return this.sources}getAbsoluteFilePaths(){return[this.absoluteFilePath]}};var pha=class{context;constructor(t){this.context=t}};var Rqo=class e{files={};directories={};getAllFiles(){let t={},r=(i,n)=>{for(let[u,l]of Object.entries(i.files)){let d=n!=null?Yh.of(`${n}${t8t}${u}`):Yh.of(u);t[d]=l}let a=Object.keys(i.directories).sort();for(let u of a){let l=n!=null?`${n}${t8t}${u}`:u,d=i.directories[u];r(d,l)}};return r(this),t}getOrCreateFile(t){return this.getOrCreateFileRecursive(t.split(t8t))}getOrCreateFileRecursive(t){if(t.length===1)return this.files[Yh.of(t[0])]??={};let[r,...i]=t;if(r==null)throw new Error(`Internal error; cannot add file with path: ${t}`);return this.directories[r]||(this.directories[r]=new e),this.directories[r].getOrCreateFileRecursive(i)}};var dNi=class{enableUniqueErrorsPerEndpoint;root;rootApiFile;packageMarkerFile={};basePath=void 0;constructor(t){this.enableUniqueErrorsPerEndpoint=t,this.root=new Rqo,this.rootApiFile={name:"api","error-discrimination":{strategy:"status-code"}}}setDisplayName({displayName:t}){this.rootApiFile["display-name"]=t}addNavigation({navigation:t}){this.packageMarkerFile.navigation=t}setServiceInfo(t,{auth:r,"base-path":i,"display-name":n,docs:a}){let u=this.getOrCreateFile(t);u.service==null&&(u.service={auth:!1,"base-path":"",endpoints:{}}),r!=null&&(u.service.auth=r),i!=null&&(u.service["base-path"]=i),n!=null&&(u.service["display-name"]=n),a!=null&&(u.docs=a)}addAudience(t){this.rootApiFile.audiences==null&&(this.rootApiFile.audiences=[]),this.rootApiFile.audiences.push(t)}setAuth(t){this.rootApiFile.auth=t}addAuthScheme({name:t,schema:r}){this.rootApiFile["auth-schemes"]==null&&(this.rootApiFile["auth-schemes"]={}),this.rootApiFile["auth-schemes"][t]==null&&(this.rootApiFile["auth-schemes"][t]=r)}setDefaultEnvironment(t){this.rootApiFile["default-environment"]=t}setDefaultUrl(t){this.rootApiFile["default-url"]=t}setBasePath(t){this.basePath=t}setApiVersion(t){this.rootApiFile.version=t}getEnvironmentType(){let t=Object.entries(this.rootApiFile.environments??{})[0];if(t!=null)return LQr(t[1],{singleBaseUrl:()=>"single",multipleBaseUrls:()=>"multi"})}addEnvironment({name:t,schema:r}){this.rootApiFile.environments==null&&(this.rootApiFile.environments={}),this.rootApiFile.environments[t]=r}getGlobalHeaderNames(){let t=Object.keys(this.rootApiFile.headers??{});if(this.rootApiFile["auth-schemes"]!=null)for(let i of Object.values(this.rootApiFile["auth-schemes"]))HAD(i)&&t.push(i.header);let r=this.getVersionHeader();return r!=null&&t.push(r),new Set(t)}addGlobalHeader({name:t,schema:r}){let i=this.getVersionHeader();i!=null&&i===t||(this.rootApiFile.headers==null&&(this.rootApiFile.headers={}),this.rootApiFile.headers[t]=r)}addIdempotencyHeader({name:t,schema:r}){this.rootApiFile["idempotency-headers"]==null&&(this.rootApiFile["idempotency-headers"]={}),this.rootApiFile["idempotency-headers"][t]=r}addVariable({name:t,schema:r}){this.rootApiFile.variables==null&&(this.rootApiFile.variables={}),this.rootApiFile.variables[t]=r}addImport({file:t,fileToImport:r,alias:i}){if(t===r)return;let n=i??L0((QBe(r)+"/"+uBi(r,{stripExtension:!0})).replaceAll("__package__","root"));if(t===Yh.of(QN))return this.rootApiFile.imports==null&&(this.rootApiFile.imports={}),this.rootApiFile.imports[n]=Ato(QBe(rvn.of(`/${t}`)),rvn.of(`/${r}`)),n;let a=this.getOrCreateFile(t);return a.imports==null&&(a.imports={}),a.imports[n]=Ato(QBe(rvn.of(`/${t}`)),rvn.of(`/${r}`)),n}addType(t,{name:r,schema:i}){if(t===Yh.of(QN))return;let n=this.getOrCreateFile(t);n.types==null&&(n.types={}),n.types[r]=i}addTypeExample(t,r,i){let n=this.getOrCreateFile(t);n.types==null&&(n.types={});let a=n.types[r];a!=null&&(typeof a=="string"?n.types[r]={type:a,examples:[i]}:(a.examples==null&&(a.examples=[]),a.examples.push(i)))}addError(t,{name:r,schema:i}){let n=this.getOrCreateFile(t);n.errors==null&&(n.errors={}),n.errors[r]==null?n.errors[r]=i:n.errors[r]?.type!==i.type&&(n.errors[r]={"status-code":i["status-code"],type:"unknown"})}addErrorExample(t,{name:r,example:i}){let n=this.getOrCreateFile(t);if(n.errors==null)return;let a=n.errors[r];if(a==null)return;a.examples==null&&(a.examples=[]),(a.examples.some(l=>oSe(l,i))??!1)||a.examples?.push(i)}addEndpoint(t,{name:r,schema:i,source:n}){let a=this.getOrCreateFile(t);a.service==null&&(a.service={auth:!1,"base-path":"",endpoints:{}}),n!=null&&(a.service.source=n),a.service.endpoints[r]=i}addWebhook(t,{name:r,schema:i}){let n=this.getOrCreateFile(t);n.webhooks==null&&(n.webhooks={}),n.webhooks[r]=i}addChannel(t,{channel:r}){let i=this.getOrCreateFile(t);i.channel=r;let n=this.basePath;n!=null&&(i.channel.path=xR(n,r.path))}addChannelExample(t,{example:r}){let i=this.getOrCreateFile(t);i.channel==null&&(i.channel={path:"",auth:!1}),i.channel.messages==null&&(i.channel.messages={}),i.channel.examples==null&&(i.channel.examples=[]),i.channel.examples.push(r)}addChannelMessage(t,{messageId:r,message:i}){let n=this.getOrCreateFile(t);n.channel==null&&(n.channel={path:"",auth:!1}),n.channel.messages==null&&(n.channel.messages={}),n.channel.messages[r]=i}build(){let t=this.root.getAllFiles(),r=this.basePath;if(r!=null){this.packageMarkerFile.service!=null&&(this.packageMarkerFile.service={...this.packageMarkerFile.service,endpoints:Object.fromEntries(Object.entries(this.packageMarkerFile.service.endpoints).map(([n,a])=>[n,{...a,path:xR(r,a.path)}]))});for(let n of Object.values(t))n.service!=null&&(n.service={...n.service,endpoints:Object.fromEntries(Object.entries(n.service.endpoints).map(([a,u])=>[a,{...u,path:xR(r,u.path)}]))})}return{rootApiFile:this.rootApiFile,packageMarkerFile:this.packageMarkerFile,definitionFiles:t}}getOrCreateFile(t){return t===iS?this.packageMarkerFile:this.root.getOrCreateFile(t)}getVersionHeader(){if(this.rootApiFile.version!=null)return typeof this.rootApiFile.version.header=="string"?this.rootApiFile.version.header:this.rootApiFile.version.header.value}};function HAD(e){return e?.header!=null}var Hie={openapi:e=>({...e,type:"openapi",_visit:function(t){return Hie._visit(this,t)}}),protobuf:e=>({...e,type:"protobuf",_visit:function(t){return Hie._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"openapi":return t.openapi(e);case"protobuf":return t.protobuf(e);default:return t._other(e)}}};var aSn={protobuf:e=>({...e,type:"protobuf",_visit:function(t){return aSn._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"protobuf":return t.protobuf(e);default:return t._other(e)}}};var C5={basic:e=>({...e,type:"basic",_visit:function(t){return C5._visit(this,t)}}),bearer:e=>({...e,type:"bearer",_visit:function(t){return C5._visit(this,t)}}),header:e=>({...e,type:"header",_visit:function(t){return C5._visit(this,t)}}),query:e=>({...e,type:"query",_visit:function(t){return C5._visit(this,t)}}),oauth:e=>({...e,type:"oauth",_visit:function(t){return C5._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"basic":return t.basic(e);case"bearer":return t.bearer(e);case"header":return t.header(e);case"query":return t.query(e);case"oauth":return t.oauth(e);default:return t._other(e)}}};var ig={primitive:e=>({value:e,type:"primitive",_visit:function(t){return ig._visit(this,t)}}),object:e=>({...e,type:"object",_visit:function(t){return ig._visit(this,t)}}),array:e=>({value:e,type:"array",_visit:function(t){return ig._visit(this,t)}}),map:e=>({value:e,type:"map",_visit:function(t){return ig._visit(this,t)}}),enum:e=>({value:e,type:"enum",_visit:function(t){return ig._visit(this,t)}}),literal:e=>({value:e,type:"literal",_visit:function(t){return ig._visit(this,t)}}),oneOf:e=>({value:e,type:"oneOf",_visit:function(t){return ig._visit(this,t)}}),unknown:e=>({value:e,type:"unknown",_visit:function(t){return ig._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"primitive":return t.primitive(e.value);case"object":return t.object(e);case"array":return t.array(e.value);case"map":return t.map(e.value);case"enum":return t.enum(e.value);case"literal":return t.literal(e.value);case"oneOf":return t.oneOf(e.value);case"unknown":return t.unknown(e.value);default:return t._other(e)}}};var s_={int:e=>({value:e,type:"int",_visit:function(t){return s_._visit(this,t)}}),int64:e=>({value:e,type:"int64",_visit:function(t){return s_._visit(this,t)}}),uint:e=>({value:e,type:"uint",_visit:function(t){return s_._visit(this,t)}}),uint64:e=>({value:e,type:"uint64",_visit:function(t){return s_._visit(this,t)}}),float:e=>({value:e,type:"float",_visit:function(t){return s_._visit(this,t)}}),double:e=>({value:e,type:"double",_visit:function(t){return s_._visit(this,t)}}),string:e=>({value:e,type:"string",_visit:function(t){return s_._visit(this,t)}}),datetime:e=>({value:e,type:"datetime",_visit:function(t){return s_._visit(this,t)}}),date:e=>({value:e,type:"date",_visit:function(t){return s_._visit(this,t)}}),base64:e=>({value:e,type:"base64",_visit:function(t){return s_._visit(this,t)}}),boolean:e=>({value:e,type:"boolean",_visit:function(t){return s_._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"int":return t.int(e.value);case"int64":return t.int64(e.value);case"uint":return t.uint(e.value);case"uint64":return t.uint64(e.value);case"float":return t.float(e.value);case"double":return t.double(e.value);case"string":return t.string(e.value);case"datetime":return t.datetime(e.value);case"date":return t.date(e.value);case"base64":return t.base64(e.value);case"boolean":return t.boolean(e.value);default:return t._other(e)}}};var oSn={boolean:e=>({value:e,type:"boolean",_visit:function(t){return oSn._visit(this,t)}}),string:e=>({value:e,type:"string",_visit:function(t){return oSn._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"boolean":return t.boolean(e.value);case"string":return t.string(e.value);default:return t._other(e)}}};var Jdi={discriminated:e=>({value:e,type:"discriminated",_visit:function(t){return Jdi._visit(this,t)}}),undiscriminated:e=>({value:e,type:"undiscriminated",_visit:function(t){return Jdi._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"discriminated":return t.discriminated(e.value);case"undiscriminated":return t.undiscriminated(e.value);default:return t._other(e)}}};var EV={GenerallyAvailable:"GenerallyAvailable",Beta:"Beta",Deprecated:"Deprecated",_visit:(e,t)=>{switch(e){case EV.GenerallyAvailable:return t.generallyAvailable();case EV.Beta:return t.beta();case EV.Deprecated:return t.deprecated();default:return t._other()}}};var Cze={cursor:e=>({...e,type:"cursor",_visit:function(t){return Cze._visit(this,t)}}),offset:e=>({...e,type:"offset",_visit:function(t){return Cze._visit(this,t)}}),custom:e=>({...e,type:"custom",_visit:function(t){return Cze._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"cursor":return t.cursor(e);case"offset":return t.offset(e);case"custom":return t.custom(e);default:return t._other(e)}}};var DKr={language:e=>({...e,type:"language",_visit:function(t){return DKr._visit(this,t)}}),sdk:e=>({...e,type:"sdk",_visit:function(t){return DKr._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"language":return t.language(e);case"sdk":return t.sdk(e);default:return t._other(e)}}};var MV={Curl:"curl",Python:"python",Javascript:"javascript",Typescript:"typescript",Go:"go",Ruby:"ruby",Csharp:"csharp",Java:"java",Js:"js",Node:"node",Ts:"ts",Nodets:"nodets",Golang:"golang",Dotnet:"dotnet",Jvm:"jvm",_visit:(e,t)=>{switch(e){case MV.Curl:return t.curl();case MV.Python:return t.python();case MV.Javascript:return t.javascript();case MV.Typescript:return t.typescript();case MV.Go:return t.go();case MV.Ruby:return t.ruby();case MV.Csharp:return t.csharp();case MV.Java:return t.java();case MV.Js:return t.js();case MV.Node:return t.node();case MV.Ts:return t.ts();case MV.Nodets:return t.nodets();case MV.Golang:return t.golang();case MV.Dotnet:return t.dotnet();case MV.Jvm:return t.jvm();default:return t._other()}}};var X5t={unknown:e=>({value:e,type:"unknown",_visit:function(t){return X5t._visit(this,t)}}),full:e=>({...e,type:"full",_visit:function(t){return X5t._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"unknown":return t.unknown(e.value);case"full":return t.full(e);default:return t._other(e)}}};var Bze={withStreaming:e=>({...e,type:"withStreaming",_visit:function(t){return Bze._visit(this,t)}}),withoutStreaming:e=>({value:e,type:"withoutStreaming",_visit:function(t){return Bze._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"withStreaming":return t.withStreaming(e);case"withoutStreaming":return t.withoutStreaming(e.value);default:return t._other(e)}}};var MG={Get:"GET",Post:"POST",Put:"PUT",Patch:"PATCH",Delete:"DELETE",Head:"HEAD",Options:"OPTIONS",Trace:"TRACE",_visit:(e,t)=>{switch(e){case MG.Get:return t.get();case MG.Post:return t.post();case MG.Put:return t.put();case MG.Patch:return t.patch();case MG.Delete:return t.delete();case MG.Head:return t.head();case MG.Options:return t.options();case MG.Trace:return t.trace();default:return t._other()}}};var Kdi={octetStream:e=>({...e,type:"octetStream",_visit:function(t){return Kdi._visit(this,t)}}),multipart:e=>({...e,type:"multipart",_visit:function(t){return Kdi._visit(this,t)}}),json:e=>({...e,type:"json",_visit:function(t){return Kdi._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"octetStream":return t.octetStream(e);case"multipart":return t.multipart(e);case"json":return t.json(e);default:return t._other(e)}}};var xze={file:e=>({...e,type:"file",_visit:function(t){return xze._visit(this,t)}}),json:e=>({value:e,type:"json",_visit:function(t){return xze._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"file":return t.file(e);case"json":return t.json(e.value);default:return t._other(e)}}};var AG={file:e=>({...e,type:"file",_visit:function(t){return AG._visit(this,t)}}),json:e=>({...e,type:"json",_visit:function(t){return AG._visit(this,t)}}),text:e=>({...e,type:"text",_visit:function(t){return AG._visit(this,t)}}),bytes:e=>({...e,type:"bytes",_visit:function(t){return AG._visit(this,t)}}),streamingSse:e=>({...e,type:"streamingSse",_visit:function(t){return AG._visit(this,t)}}),streamingText:e=>({...e,type:"streamingText",_visit:function(t){return AG._visit(this,t)}}),streamingJson:e=>({...e,type:"streamingJson",_visit:function(t){return AG._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"file":return t.file(e);case"json":return t.json(e);case"text":return t.text(e);case"bytes":return t.bytes(e);case"streamingSse":return t.streamingSse(e);case"streamingText":return t.streamingText(e);case"streamingJson":return t.streamingJson(e);default:return t._other(e)}}};var Oy={primitive:e=>({...e,type:"primitive",_visit:function(t){return Oy._visit(this,t)}}),object:e=>({...e,type:"object",_visit:function(t){return Oy._visit(this,t)}}),array:e=>({...e,type:"array",_visit:function(t){return Oy._visit(this,t)}}),map:e=>({...e,type:"map",_visit:function(t){return Oy._visit(this,t)}}),optional:e=>({...e,type:"optional",_visit:function(t){return Oy._visit(this,t)}}),enum:e=>({...e,type:"enum",_visit:function(t){return Oy._visit(this,t)}}),reference:e=>({...e,type:"reference",_visit:function(t){return Oy._visit(this,t)}}),literal:e=>({...e,type:"literal",_visit:function(t){return Oy._visit(this,t)}}),oneOf:e=>({value:e,type:"oneOf",_visit:function(t){return Oy._visit(this,t)}}),nullable:e=>({...e,type:"nullable",_visit:function(t){return Oy._visit(this,t)}}),unknown:e=>({...e,type:"unknown",_visit:function(t){return Oy._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"primitive":return t.primitive(e);case"object":return t.object(e);case"array":return t.array(e);case"map":return t.map(e);case"optional":return t.optional(e);case"enum":return t.enum(e);case"reference":return t.reference(e);case"literal":return t.literal(e);case"oneOf":return t.oneOf(e.value);case"nullable":return t.nullable(e);case"unknown":return t.unknown(e);default:return t._other(e)}}};var mj={int:e=>({...e,type:"int",_visit:function(t){return mj._visit(this,t)}}),int64:e=>({...e,type:"int64",_visit:function(t){return mj._visit(this,t)}}),uint:()=>({type:"uint",_visit:function(e){return mj._visit(this,e)}}),uint64:()=>({type:"uint64",_visit:function(e){return mj._visit(this,e)}}),float:()=>({type:"float",_visit:function(e){return mj._visit(this,e)}}),double:e=>({...e,type:"double",_visit:function(t){return mj._visit(this,t)}}),string:e=>({...e,type:"string",_visit:function(t){return mj._visit(this,t)}}),datetime:()=>({type:"datetime",_visit:function(e){return mj._visit(this,e)}}),date:()=>({type:"date",_visit:function(e){return mj._visit(this,e)}}),base64:()=>({type:"base64",_visit:function(e){return mj._visit(this,e)}}),boolean:e=>({...e,type:"boolean",_visit:function(t){return mj._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"int":return t.int(e);case"int64":return t.int64(e);case"uint":return t.uint();case"uint64":return t.uint64();case"float":return t.float();case"double":return t.double(e);case"string":return t.string(e);case"datetime":return t.datetime();case"date":return t.date();case"base64":return t.base64();case"boolean":return t.boolean(e);default:return t._other(e)}}};var jx={boolean:e=>({value:e,type:"boolean",_visit:function(t){return jx._visit(this,t)}}),string:e=>({value:e,type:"string",_visit:function(t){return jx._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"boolean":return t.boolean(e.value);case"string":return t.string(e.value);default:return t._other(e)}}};var EKr={discriminated:e=>({...e,type:"discriminated",_visit:function(t){return EKr._visit(this,t)}}),undiscriminated:e=>({...e,type:"undiscriminated",_visit:function(t){return EKr._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"discriminated":return t.discriminated(e);case"undiscriminated":return t.undiscriminated(e);default:return t._other(e)}}};var uDe={octetStream:e=>({...e,type:"octetStream",_visit:function(t){return uDe._visit(this,t)}}),multipart:e=>({...e,type:"multipart",_visit:function(t){return uDe._visit(this,t)}}),json:e=>({...e,type:"json",_visit:function(t){return uDe._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"octetStream":return t.octetStream(e);case"multipart":return t.multipart(e);case"json":return t.json(e);default:return t._other(e)}}};var PT={file:e=>({...e,type:"file",_visit:function(t){return PT._visit(this,t)}}),json:e=>({...e,type:"json",_visit:function(t){return PT._visit(this,t)}}),text:e=>({...e,type:"text",_visit:function(t){return PT._visit(this,t)}}),bytes:e=>({...e,type:"bytes",_visit:function(t){return PT._visit(this,t)}}),streamingSse:e=>({...e,type:"streamingSse",_visit:function(t){return PT._visit(this,t)}}),streamingText:e=>({...e,type:"streamingText",_visit:function(t){return PT._visit(this,t)}}),streamingJson:e=>({...e,type:"streamingJson",_visit:function(t){return PT._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"file":return t.file(e);case"json":return t.json(e);case"text":return t.text(e);case"bytes":return t.bytes(e);case"streamingSse":return t.streamingSse(e);case"streamingText":return t.streamingText(e);case"streamingJson":return t.streamingJson(e);default:return t._other(e)}}};var El={primitive:e=>({...e,type:"primitive",_visit:function(t){return El._visit(this,t)}}),object:e=>({...e,type:"object",_visit:function(t){return El._visit(this,t)}}),array:e=>({...e,type:"array",_visit:function(t){return El._visit(this,t)}}),map:e=>({...e,type:"map",_visit:function(t){return El._visit(this,t)}}),optional:e=>({...e,type:"optional",_visit:function(t){return El._visit(this,t)}}),enum:e=>({...e,type:"enum",_visit:function(t){return El._visit(this,t)}}),reference:e=>({...e,type:"reference",_visit:function(t){return El._visit(this,t)}}),literal:e=>({...e,type:"literal",_visit:function(t){return El._visit(this,t)}}),oneOf:e=>({value:e,type:"oneOf",_visit:function(t){return El._visit(this,t)}}),nullable:e=>({...e,type:"nullable",_visit:function(t){return El._visit(this,t)}}),unknown:e=>({...e,type:"unknown",_visit:function(t){return El._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"primitive":return t.primitive(e);case"object":return t.object(e);case"array":return t.array(e);case"map":return t.map(e);case"optional":return t.optional(e);case"enum":return t.enum(e);case"reference":return t.reference(e);case"literal":return t.literal(e);case"oneOf":return t.oneOf(e.value);case"nullable":return t.nullable(e);case"unknown":return t.unknown(e);default:return t._other(e)}}};var pX={discriminated:e=>({...e,type:"discriminated",_visit:function(t){return pX._visit(this,t)}}),undiscriminated:e=>({...e,type:"undiscriminated",_visit:function(t){return pX._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"discriminated":return t.discriminated(e);case"undiscriminated":return t.undiscriminated(e);default:return t._other(e)}}};var Xd={int:e=>({...e,type:"int",_visit:function(t){return Xd._visit(this,t)}}),int64:e=>({...e,type:"int64",_visit:function(t){return Xd._visit(this,t)}}),uint:e=>({...e,type:"uint",_visit:function(t){return Xd._visit(this,t)}}),uint64:e=>({...e,type:"uint64",_visit:function(t){return Xd._visit(this,t)}}),float:e=>({...e,type:"float",_visit:function(t){return Xd._visit(this,t)}}),double:e=>({...e,type:"double",_visit:function(t){return Xd._visit(this,t)}}),string:e=>({...e,type:"string",_visit:function(t){return Xd._visit(this,t)}}),datetime:e=>({...e,type:"datetime",_visit:function(t){return Xd._visit(this,t)}}),date:e=>({...e,type:"date",_visit:function(t){return Xd._visit(this,t)}}),base64:e=>({...e,type:"base64",_visit:function(t){return Xd._visit(this,t)}}),boolean:e=>({...e,type:"boolean",_visit:function(t){return Xd._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"int":return t.int(e);case"int64":return t.int64(e);case"uint":return t.uint(e);case"uint64":return t.uint64(e);case"float":return t.float(e);case"double":return t.double(e);case"string":return t.string(e);case"datetime":return t.datetime(e);case"date":return t.date(e);case"base64":return t.base64(e);case"boolean":return t.boolean(e);default:return t._other(e)}}};var cv={};Eo(cv,{AllOfPropertyConflict:()=>ASn,ArraySchema:()=>kTo,ArraySchemaWithExample:()=>ECo,Availability:()=>Qqo,Base64WithExample:()=>PCo,BasicSecurityScheme:()=>Yqo,BearerSecurityScheme:()=>Xqo,BooleanSchema:()=>QTo,BooleanWithExample:()=>jCo,BytesResponse:()=>OSn,CasingOverrides:()=>eTo,CommonProperty:()=>uCo,CommonPropertyWithExample:()=>zCo,CursorPagination:()=>qTo,CustomCodeSample:()=>MTo,CustomCodeSampleLanguage:()=>STo,CustomCodeSampleSdk:()=>ETo,CustomPagination:()=>CTo,DateWithExample:()=>mCo,DatetimeWithExample:()=>OCo,DiscriminatedOneOfSchema:()=>aCo,DiscriminatedOneOfSchemaWithExample:()=>xCo,DoubleSchema:()=>$To,DoubleWithExample:()=>bCo,Encoding:()=>Gqo,Endpoint:()=>BTo,EndpointExample:()=>wSn,EndpointResponseExample:()=>wTo,EndpointSdkName:()=>CXt,EndpointWithExample:()=>m6p,EnumSchema:()=>lSn,EnumSchemaWithExample:()=>SCo,EnumValue:()=>Zdi,ErrorExample:()=>gTo,FernExample:()=>mTo,FileResponse:()=>bSn,FileSchema:()=>dTo,FloatWithExample:()=>vCo,FullEndpointExample:()=>ATo,FullExample:()=>kA,FullObjectExample:()=>uTo,FullOneOfExample:()=>cTo,GlobalHeader:()=>KTo,Header:()=>epi,HeaderExample:()=>jSn,HeaderSecurityScheme:()=>Zqo,HeaderWithExample:()=>ipi,HttpEndpointServer:()=>mSn,HttpError:()=>OTo,HttpErrorWithExample:()=>dCo,HttpMethod:()=>pSn,IdempotencyHeader:()=>YTo,Int64WithExample:()=>_Co,IntSchema:()=>WTo,IntWithExample:()=>pCo,JsonRequest:()=>yTo,JsonRequestWithExample:()=>cCo,JsonResponse:()=>gSn,JsonResponseWithExample:()=>CSn,KeyValuePair:()=>sTo,LiteralExample:()=>oTo,LiteralSchema:()=>MSn,LiteralSchemaValue:()=>XTo,LongSchema:()=>HTo,MapSchema:()=>eCo,MapSchemaWithExample:()=>MCo,MultipartRequest:()=>vSn,MultipartRequestProperty:()=>hTo,MultipartRequestPropertyEncoding:()=>_To,MultipartSchema:()=>pTo,NamedFullExample:()=>xXt,Namespace:()=>tTo,NamespaceId:()=>aTo,NullableSchema:()=>rCo,NullableSchemaWithExample:()=>qCo,OauthSecurityScheme:()=>iTo,ObjectProperty:()=>nCo,ObjectPropertyConflictInfo:()=>qSn,ObjectPropertyWithExample:()=>BCo,ObjectSchema:()=>ZTo,ObjectSchemaWithExample:()=>TCo,OctetStreamRequest:()=>ySn,OffsetPagination:()=>TTo,OneOfSchema:()=>iCo,OneOfSchemaWithExample:()=>CCo,OpenApiIntermediateRepresentation:()=>g6p,OpenApiSource:()=>Vqo,OptionalSchema:()=>tCo,OptionalSchemaWithExample:()=>ACo,Pagination:()=>SSn,PathParameter:()=>_Sn,PathParameterExample:()=>PTo,PathParameterWithExample:()=>sCo,PrimitiveExample:()=>dSn,PrimitiveSchema:()=>rpi,PrimitiveSchemaValue:()=>JTo,PrimitiveSchemaValueWithExample:()=>wCo,PrimitiveSchemaWithExample:()=>BSn,PropertyKey:()=>fSn,ProtobufEncoding:()=>$qo,ProtobufSource:()=>Wqo,QueryParameter:()=>hSn,QueryParameterExample:()=>PSn,QueryParameterWithExample:()=>TSn,QuerySecurityScheme:()=>kqo,ReferencedSchema:()=>BXt,Request:()=>vTo,RequestWithExample:()=>lCo,Response:()=>bTo,ResponseWithExample:()=>fCo,Schema:()=>KO,SchemaId:()=>_X,SchemaWithExample:()=>qM,Schemas:()=>VTo,SdkGroup:()=>rTo,SdkGroupInfo:()=>lTo,SdkGroupName:()=>kdi,SecurityScheme:()=>nTo,SecuritySchemeId:()=>Kqo,Server:()=>vha,Source:()=>Hqo,StatusCode:()=>qXt,StreamingResponseExample:()=>jTo,StringSchema:()=>GTo,StringSchemaWithExample:()=>gCo,SupportedSdkLanguage:()=>DTo,Tag:()=>Jqo,TagId:()=>hX,Tags:()=>fTo,TextResponse:()=>tpi,Uint64WithExample:()=>yCo,UintWithExample:()=>hCo,UnDiscriminatedOneOfSchema:()=>oCo,UnDiscriminatedOneOfSchemaWithExample:()=>ICo,UnknownSchemaWithExample:()=>DCo,Webhook:()=>xTo,WebhookExampleCall:()=>ESn,WebhookHttpMethod:()=>DSn,WebhookWithExample:()=>P6p,WebsocketChannel:()=>UTo,WebsocketHandshake:()=>ITo,WebsocketHandshakeWithExample:()=>O6p,WebsocketMessageExample:()=>FTo,WebsocketMessageOrigin:()=>zTo,WebsocketMessageSchema:()=>RTo,WebsocketServer:()=>NTo,WebsocketSessionExample:()=>LTo,WithAvailability:()=>dh,WithDescription:()=>pf,WithEncoding:()=>$ie,WithInline:()=>dE,WithName:()=>o0,WithNamespace:()=>TXt,WithSdkGroupName:()=>IO,WithSource:()=>Ah,WithStatusCode:()=>Ize,WithTitle:()=>xO,commons:()=>CUs,example:()=>BUs,finalIr:()=>xUs,parseIr:()=>IUs});var CUs={};Eo(CUs,{BasicSecurityScheme:()=>Yqo,BearerSecurityScheme:()=>Xqo,Encoding:()=>Gqo,HeaderSecurityScheme:()=>Zqo,Namespace:()=>tTo,NamespaceId:()=>aTo,OauthSecurityScheme:()=>iTo,OpenApiSource:()=>Vqo,ProtobufEncoding:()=>$qo,ProtobufSource:()=>Wqo,QuerySecurityScheme:()=>kqo,SchemaId:()=>_X,SdkGroup:()=>rTo,SdkGroupName:()=>kdi,SecurityScheme:()=>nTo,SecuritySchemeId:()=>Kqo,Server:()=>vha,Source:()=>Hqo,StatusCode:()=>qXt,Tag:()=>Jqo,TagId:()=>hX,WithAvailability:()=>dh,WithDescription:()=>pf,WithEncoding:()=>$ie,WithInline:()=>dE,WithName:()=>o0,WithNamespace:()=>TXt,WithSdkGroupName:()=>IO,WithSource:()=>Ah,WithStatusCode:()=>Ize,WithTitle:()=>xO});var qt={};Eo(qt,{JsonError:()=>uSn,ParseError:()=>sSn,any:()=>o6p,bigint:()=>Q7p,boolean:()=>u6p,booleanLiteral:()=>a6p,date:()=>J7p,discriminant:()=>y6p,enum_:()=>Fqo,getObjectLikeUtils:()=>Z5t,getObjectUtils:()=>pNi,getSchemaUtils:()=>ZA,isProperty:()=>Xdi,lazy:()=>K7p,lazyObject:()=>r6p,list:()=>Uqo,number:()=>s6p,object:()=>Lqo,objectWithoutOptionalProperties:()=>t6p,optional:()=>MUs,property:()=>X7p,record:()=>d6p,set:()=>p6p,string:()=>c6p,stringLiteral:()=>n6p,transform:()=>AUs,undiscriminatedUnion:()=>h6p,union:()=>b6p,unknown:()=>l6p,withParsedProperties:()=>TUs});var ZP={BIGINT:"bigint",DATE:"date",ENUM:"enum",LIST:"list",STRING_LITERAL:"stringLiteral",BOOLEAN_LITERAL:"booleanLiteral",OBJECT:"object",ANY:"any",BOOLEAN:"boolean",NUMBER:"number",STRING:"string",UNKNOWN:"unknown",RECORD:"record",SET:"set",UNION:"union",UNDISCRIMINATED_UNION:"undiscriminatedUnion",OPTIONAL:"optional"};function AM(e,t){return`Expected ${t}. Received ${$AD(e)}.`}function $AD(e){if(Array.isArray(e))return"list";if(e===null)return"null";if(e instanceof BigInt)return"BigInt";switch(typeof e){case"string":return`"${e}"`;case"bigint":case"number":case"boolean":case"undefined":return`${e}`}return typeof e}function B5(e){return{...e,json:G7p(e.json),parse:G7p(e.parse)}}function G7p(e){return(t,r)=>{let i=e(t,r),{skipValidation:n=!1}=r??{};return!i.ok&&n?(console.warn(["Failed to validate.",...i.errors.map(a=>" - "+(a.path.length>0?`${a.path.join(".")}: ${a.message}`:a.message))].join(`
@@ -2051,7 +2051,7 @@ error-discriminant: error`;await(0,GZu.writeFile)(r,n)}}};var wT3={version:"0.0.
2051
2051
  `));if(await r.takeOverTerminal(async()=>{await mI3(i)||r.failAndThrow("Canceled.")}),r.getResult()===BC.Failure)return;let n=i.flatMap(({migrations:a,version:u})=>a.map(l=>({migration:l,context:r.addInteractiveTask({name:`${u} ${l.name}`})})));for(let{migration:a,context:u}of n){let l=u.start();if(await a.run({context:l}),l.finish(),l.getResult()===BC.Failure){r.logger.error("Failed to run migrations. You may need to undo changes to files.");return}}}async function mI3(e){let t="wantsToContinue",r=["Some migrations need to be run:"];for(let{migrations:n}of e)for(let a of n)r.push(V4t({prefix:" \u25E6 ",content:`${a.name}
2052
2052
  ${Js.dim(a.summary)}`}));r.push("Do you wish to continue?");let{[t]:i}=await Lmo.prompt({name:t,type:"confirm",message:r.join(`
2053
2053
  `)});return i}async function UHP({cliEnvironment:e,version:t}){try{return await dha(e.packageName,{version:t}),!0}catch{return!1}}var TLa="FERN_CWD";async function CLa({version:e,cliContext:t,env:r}){t.suppressUpgradeMessage();let i=["--quiet","--yes",`${t.environment.packageName}@${e}`,...process.argv.slice(2)];t.logger.debug([`Re-running CLI at version ${e}.`,`${Js.dim(`+ npx ${i.map(l=>`"${l}"`).join(" ")}`)}`].join(`
2054
- `));let{failed:n,stdout:a,stderr:u}=await LG(t.logger,"npx",["--quiet",...i],{stdio:"inherit",reject:!1,env:{...r,[TLa]:process.env[TLa]??process.cwd()}});if(a.includes("code EEXIST")||u.includes("code EEXIST"))return await CLa({version:e,cliContext:t});n&&t.failWithoutThrowing()}var VHP="FERN_PRE_UPGRADE_VERSION";async function $HP({cliContext:e,includePreReleases:t,targetVersion:r}){r!=null&&(await UHP({cliEnvironment:e.environment,version:r})||e.failAndThrow(`Failed to upgrade to ${r} because it does not exist. See https://www.npmjs.com/package/${e.environment.packageName}?activeTab=versions.`),Vie(r,e.environment.packageVersion)||e.failAndThrow(`Cannot upgrade because target version (${r}) is not ahead of existing version ${e.environment.packageVersion}`));let i=r!=null?{targetVersion:r,isUpgradeAvailable:!0}:void 0;if(i==null){let n=await e.isUpgradeAvailable({includePreReleases:t});n.cliUpgradeInfo!=null&&(i={targetVersion:n.cliUpgradeInfo.latestVersion,isUpgradeAvailable:n.cliUpgradeInfo.isUpgradeAvailable})}if(i&&!i.isUpgradeAvailable){let n=process.env[VHP];if(n==null){e.logger.info("No upgrade available.");return}await WHP({cliContext:e,previousVersion:n,newVersion:i.targetVersion})}else if(i!=null){let n=await u8t();if(n==null)return e.failAndThrow(`Directory "${qU}" not found.`);let a=await e.runTask(l=>qQr({directory:n,context:l})),u=E9P(a.rawConfig,l=>{l.version=i.targetVersion});await(0,HHP.writeFile)(a._absolutePath,JSON.stringify(u,void 0,2)),e.logger.info(`Upgrading from ${Js.dim(e.environment.packageVersion)} \u2192 ${Js.green(i.targetVersion)}`),e.environment.packageVersion==="0.0.0"?await WHP({cliContext:e,previousVersion:a.version,newVersion:i.targetVersion}):(await LG(e.logger,"npm",["install","-g",`${e.environment.packageName}@${i.targetVersion}`]),await CLa({version:i.targetVersion,cliContext:e,env:{[VHP]:e.environment.packageVersion}}))}}async function WHP({cliContext:e,previousVersion:t,newVersion:r}){await e.runTask(async i=>{await cPf({fromVersion:t,toVersion:r,context:i})}),await e.exitIfFailed()}async function GHP({project:e,cliContext:t,errorOnBrokenLinks:r}){let i=e.docsWorkspaces;if(i==null){t.failAndThrow("No docs workspace found");return}await t.runTaskForWorkspace(i,async n=>{let a=performance.now(),u=await Promise.all(e.apiWorkspaces.map(async o=>o.toFernWorkspace({context:n}))),l=await IX(e),d=await Pga(i,n,u,l,!0),s=performance.now()-a;vAn({violations:d,context:n,logWarnings:!0,logSummary:!0,logBreadcrumbs:!1,elapsedMillis:s}),d.length>0&&r&&n.failAndThrow()})}async function QHP({project:e,cliContext:t,logWarnings:r,brokenLinks:i,errorOnBrokenLinks:n}){let a=e.docsWorkspaces;a!=null&&await t.runTaskForWorkspace(a,async u=>{let l=i||n?[]:["valid-markdown-links"];await I4o({workspace:a,context:u,logWarnings:r,apiWorkspaces:e.apiWorkspaces,ossWorkspaces:await IX(e),errorOnBrokenLinks:n,excludeRules:l})}),await Promise.all(e.apiWorkspaces.map(async u=>{u.generatorsConfiguration?.groups.length!==0&&await t.runTaskForWorkspace(u,async l=>{let d=await u.toFernWorkspace({context:l});await $Zt({workspace:d,context:l,logWarnings:r,ossWorkspace:u instanceof $7?u:void 0})})}))}var jHr=require("fs/promises");var lPf=di(require("path"),1);async function JHP({project:e,cliContext:t,sdkLanguage:r,preserveSchemaIds:i}){await Promise.all(e.apiWorkspaces.map(async n=>{await t.runTaskForWorkspace(n,async a=>{n instanceof oDe?await PI3({workspace:n,context:a}):await jI3({workspace:await n.toFernWorkspace({context:a},{preserveSchemaIds:i}),context:a})})}))}async function PI3({workspace:e,context:t}){for(let[r,i]of Object.entries(e.definition.importedDefinitions)){let n=es(e.absoluteFilePath,uo.of(X8),uo.of(r),uo.of(`.${X8}`));await KHP({definition:i.definition,absolutePathToOutputDirectory:n}),t.logger.info(Js.green(`Wrote imported definition at ${lPf.default.relative(process.cwd(),n)}`))}}async function jI3({workspace:e,context:t}){let r=es(e.absoluteFilePath,uo.of(`.${X8}`));await KHP({definition:e.definition,absolutePathToOutputDirectory:r}),t.logger.info(Js.green(`Wrote definition to ${lPf.default.relative(process.cwd(),r)}`))}async function KHP({definition:e,absolutePathToOutputDirectory:t}){let r=(i,n)=>{let a={imports:0,types:1,services:2},u=i in a?a[i]:Object.keys(a).length,l=n in a?a[n]:Object.keys(a).length;return u==null?-1:l==null?1:u!==l?u-l:i.localeCompare(n)};await Cf(t)&&await(0,jHr.rmdir)(t,{recursive:!0}),await(0,jHr.mkdir)(t,{recursive:!0}),await(0,jHr.writeFile)(es(t,uo.of(QN)),Kd.dump(e.rootApiFile.contents,{sortKeys:r}));for(let[i,n]of Object.entries(e.packageMarkers)){let a=es(t,uo.of(i));await(0,jHr.mkdir)(_p(a),{recursive:!0}),await(0,jHr.writeFile)(a,Kd.dump(n.contents,{sortKeys:r}))}for(let[i,n]of Object.entries(e.namedDefinitionFiles)){let a=es(t,uo.of(i));await(0,jHr.mkdir)(_p(a),{recursive:!0}),await(0,jHr.writeFile)(a,Kd.dump(n.contents,{sortKeys:r}))}}var YHP=require("fs/promises");async function XHP({project:e,outputPath:t,cliContext:r}){let i=e.docsWorkspaces;i!=null&&await r.runTaskForWorkspace(i,async n=>{let a=await IX(e),u=await Promise.all(e.apiWorkspaces.map(async s=>s.toFernWorkspace({context:n},{enableUniqueErrorsPerEndpoint:!0,detectGlobalHeaders:!1}))),d=await new C9t(i.config.instances[0]?.url??"http://localhost:8080",i,a,u,n).resolve();await(0,YHP.writeFile)(Wl.of(t),JSON.stringify(d,null,2)),n.logger.info(Js.green(`Docs definition written to ${t}`))})}FL3();var NL3="The Fern CLI requires Node 18+ or above.";async function FL3(){let e=new zqo(process.stdout),t=async()=>{await e.exit()};if(trs.RUNTIME.type==="node"&&trs.RUNTIME.parsedVersion!=null&&trs.RUNTIME.parsedVersion>=18){let{setGlobalDispatcher:r,Agent:i}=await Promise.resolve().then(()=>di(FZP(),1));r(new i({connect:{timeout:1e4},bodyTimeout:0,headersTimeout:6e5}))}process.on("SIGINT",async()=>{e.suppressUpgradeMessage(),await t()});try{let r=process.env[TLa];r!=null&&process.chdir(r);let i=await UL3(e);e.environment.packageVersion===i?await LL3(e):await CLa({version:i,cliContext:e})}catch(r){await e.instrumentPostHogEvent({command:process.argv.join(" "),properties:{failed:!0,error:r}}),r?.message.includes("globalThis")?(e.logger.error(NL3),e.failWithoutThrowing()):r instanceof ure?e.failWithoutThrowing():r instanceof yQr?e.logger.error(`Failed. ${r.log}`):e.failWithoutThrowing("Failed.",r)}await t()}async function LL3(e){let t=d5f(yps(process.argv)).scriptName(e.environment.cliName).version(!1).fail((r,i,n)=>{i==null&&(n.showHelp(),e.logger.error(r))}).strict().exitProcess(!1).command("$0",!1,r=>r.option("version",{describe:"Print current version",alias:"v"}).version(!1),r=>{r.version!=null?e.logger.info(e.environment.packageVersion):(t.showHelp(),e.failAndThrow())}).option("log-level",{default:V0.Info,choices:_si}).demandCommand().recommendCommands();WL3(t,e),HL3(t,e),$L3(t,e),GL3(t,e),QL3(t,e),YL3(t,e),JL3(t,e),KL3(t,e),kL3(t,e),XL3(t,e),ZL3(t,e),rU3(t,e),iU3(t,e),uU3(t,e),sU3(t,e),aU3(t,e),oU3(t,e),nU3(t,e),tU3(t,e),eU3({cli:t,cliContext:e,onRun:()=>{e.suppressUpgradeMessage()}}),fU3(t,e),dU3(t,e),jt_(t,e),wt_(t,e),t.middleware(async r=>{e.setLogLevel(r["log-level"]),e.logDebugInfo()}),await t.parse()}async function UL3(e){if(process.env.FERN_NO_VERSION_REDIRECTION==="true")return e.environment.packageVersion;let t=await u8t();if(t!=null){let r=await e.runTask(i=>qQr({directory:t,context:i}));return r.version==="*"?e.environment.packageVersion:r.version}return Qdi({cliEnvironment:e.environment})}async function VL3(e){let t=await u8t();if(t!=null)return(await e.runTask(i=>qQr({directory:t,context:i}))).organization}function WL3(e,t){e.command("init","Initialize a Fern API",r=>r.option("api",{boolean:!0,description:"Initialize an api."}).option("docs",{boolean:!0,description:"Initialize a docs website."}).option("organization",{alias:"org",type:"string",description:"Organization name"}).option("openapi",{type:"string",description:"Filepath or url to an existing OpenAPI spec"}).option("mintlify",{type:"string",description:"Migrate docs from Mintlify provided a path to a mint.json file"}).option("readme",{type:"string",description:"Migrate docs from Readme provided a URL to a Readme generated docs site"}),async r=>{if(r.organization==null){let i=await VL3(t);i!=null?r.organization=i:r.organization=await t.getInput({message:"Please enter your organization"})}if(r.api!=null&&r.docs!=null)return t.failWithoutThrowing("Cannot specify both --api and --docs. Please choose one.");if(r.readme!=null&&r.mintlify!=null)return t.failWithoutThrowing("Cannot specify both --readme and --mintlify. Please choose one.");if(r.readme!=null)await t.runTask(async i=>{await wLs({readmeUrl:r.readme,organization:r.organization??"fern",taskContext:i,versionOfCli:await Qdi({cliEnvironment:t.environment})})});else if(r.docs!=null)await t.runTask(async i=>{await NRs({organization:r.organization,versionOfCli:await Qdi({cliEnvironment:t.environment}),taskContext:i})});else if(r.mintlify!=null)await t.runTask(async i=>{await aNs({pathToMintJson:r.mintlify,organization:r.organization??"fern",taskContext:i,versionOfCli:await Qdi({cliEnvironment:t.environment})})});else{let i;if(r.openapi!=null){if(_Bi(r.openapi)){let a=await lFp({url:r.openapi,logger:t.logger});a.status==="failure"&&t.failAndThrow(a.errorMessage);let u=a.filePath;i=Wl.of(u)}else i=Wl.of(AO(TU(),r.openapi));await Cf(i)||t.failAndThrow(`${i} does not exist`)}await t.runTask(async n=>{await zRs({organization:r.organization,versionOfCli:await Qdi({cliEnvironment:t.environment}),context:n,openApiPath:i})})}})}function HL3(e,t){e.command("token","Generate a Fern Token",r=>r.option("organization",{alias:"org",type:"string",description:"The organization to create a token for. Defaults to the one in `fern.config.json`"}),async r=>{await t.runTask(async i=>{await f9P({orgId:r.organization??(await rq(t,{commandLineApiWorkspace:void 0,defaultToAllApiWorkspaces:!0})).config.organization,taskContext:i})})})}function $L3(e,t){e.command("add <generator>",`Add a code generator to ${JN}`,r=>r.positional("generator",{type:"string",demandOption:!0}).option("api",{string:!0,description:"Only run the command on the provided API"}).option("group",{string:!0,description:"Add the generator to the specified group"}),async r=>{await Dt_({project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!1}),generatorName:r.generator,groupName:r.group,cliContext:t})})}function GL3(e,t){e.command(["generate"],"Generate all generators in the specified group",r=>r.option("api",{string:!0,description:"If multiple APIs, specify the name with --api <name>. Otherwise, just --api."}).option("docs",{string:!0,description:"If multiple docs sites, specify the name with --docs <name>. Otherwise just --docs."}).option("instance",{string:!0,description:"The url for the instance of docs (e.g. --instance acme.docs.buildwithfern.com)"}).option("preview",{boolean:!0,default:!1,description:"Whether to generate a preview link for the docs"}).option("group",{type:"string",description:"The group to generate"}).option("mode",{choices:Object.values(V5P),description:"Defaults to the mode specified in generators.yml"}).option("version",{type:"string",description:"The version for the generated packages"}).option("printZipUrl",{boolean:!0,hidden:!0,default:!1}).option("local",{boolean:!0,default:!1,description:"Run the generator(s) locally, using Docker"}).option("keepDocker",{boolean:!0,default:!1,description:"Prevent auto-deletion of the Docker containers."}).option("force",{boolean:!0,default:!1,description:"Ignore prompts to confirm generation, defaults to false"}).option("broken-links",{boolean:!0,description:"Log a warning if there are broken links in the docs.",default:!1}).option("strict-broken-links",{boolean:!0,description:"Throw an error (rather than logging a warning) if there are broken links in the docs.",default:!1}),async r=>r.api!=null&&r.docs!=null?t.failWithoutThrowing("Cannot specify both --api and --docs. Please choose one."):r.local&&r.preview?t.failWithoutThrowing("The --local flag is incompatible with --preview."):r.api!=null?await XOf({project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!1}),cliContext:t,version:r.version,groupName:r.group,shouldLogS3Url:r.printZipUrl,keepDocker:r.keepDocker,useLocalDocker:r.local,preview:r.preview,mode:r.mode,force:r.force}):r.docs!=null?(r.group!=null&&t.logger.warn("--group is ignored when generating docs"),r.version!=null&&t.logger.warn("--version is ignored when generating docs"),await W5P({project:await rq(t,{commandLineApiWorkspace:void 0,defaultToAllApiWorkspaces:!0},!0),cliContext:t,instance:r.instance,preview:r.preview,brokenLinks:r.brokenLinks,strictBrokenLinks:r.strictBrokenLinks})):await XOf({project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!1}),cliContext:t,version:r.version,groupName:r.group,shouldLogS3Url:r.printZipUrl,keepDocker:r.keepDocker,useLocalDocker:r.local,preview:r.preview,mode:r.mode,force:r.force}))}function QL3(e,t){e.command("ir <path-to-output>","Generate IR (Intermediate Representation)",r=>r.positional("path-to-output",{type:"string",description:"Path to write intermediate representation (IR)",demandOption:!0}).option("api",{string:!0,description:"Only run the command on the provided API"}).option("version",{string:!0,description:"The version of IR to produce"}).option("language",{choices:Object.values(My.GenerationLanguage),description:"Generate IR for a particular language"}).option("audience",{type:"array",string:!0,default:new Array,description:"Filter the IR for certain audiences"}).option("smart-casing",{boolean:!0,description:"Whether to use smart casing"}).option("from-openapi",{boolean:!0,description:"Whether to use the new parser and go directly from OpenAPI to IR",default:!1}),async r=>{await qNP({project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!1,sdkLanguage:r.language}),irFilepath:AO(TU(),r.pathToOutput),cliContext:t,generationLanguage:r.language,audiences:r.audience.length>0?{type:"select",audiences:r.audience}:{type:"all"},version:r.version,keywords:void 0,smartCasing:r.smartCasing??!1,readme:void 0,directFromOpenapi:r.fromOpenapi})})}function JL3(e,t){e.command("openapi-ir <path-to-output>",!1,r=>r.positional("path-to-output",{type:"string",description:"Path to write intermediate representation (IR)",demandOption:!0}).option("language",{choices:Object.values(My.GenerationLanguage),description:"Generate IR for a particular language"}).option("api",{string:!0,description:"Only run the command on the provided API"}),async r=>{await zNP({project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!1,sdkLanguage:r.language}),irFilepath:AO(TU(),r.pathToOutput),cliContext:t,sdkLanguage:r.language})})}function KL3(e,t){e.command("dynamic-ir <path-to-output>",!1,r=>r.positional("path-to-output",{type:"string",description:"Path to write intermediate representation (IR)",demandOption:!0}).option("api",{string:!0,description:"Only run the command on the provided API"}).option("version",{string:!0,description:"The version of IR to produce"}).option("language",{choices:Object.values(My.GenerationLanguage),description:"Generate IR for a particular language"}).option("audience",{type:"array",string:!0,default:new Array,description:"Filter the IR for certain audiences"}).option("smart-casing",{boolean:!0,description:"Whether to use smart casing"}).option("disable-examples",{boolean:!0,description:"Whether to suppress examples from being included in the IR"}),async r=>{await S1_({project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!1,sdkLanguage:r.language}),irFilepath:AO(TU(),r.pathToOutput),cliContext:t,generationLanguage:r.language,audiences:{type:"all"},version:r.version,keywords:void 0,smartCasing:r.smartCasing??!1,disableDynamicExamples:r.disableExamples??!1})})}function YL3(e,t){e.command("fdr <path-to-output>",!1,r=>r.positional("path-to-output",{type:"string",description:"Path to write FDR API definition",demandOption:!0}).option("api",{string:!0,description:"Only run the command on the provided API"}).option("audience",{type:"array",string:!0,default:new Array,description:"Filter the FDR API definition for certain audiences"}).option("v2",{boolean:!0,description:"Use v2 format"}),async r=>{r.v2?await BNP({project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!1}),outputFilepath:AO(TU(),r.pathToOutput),cliContext:t}):await M1_({project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!1}),outputFilepath:AO(TU(),r.pathToOutput),cliContext:t,audiences:r.audience.length>0?{type:"select",audiences:r.audience}:{type:"all"}})})}function XL3(e,t){e.command(["register"],!1,r=>r.option("version",{type:"string",description:"The version for the registered api"}).option("api",{string:!0,description:"Only run the command on the provided API"}),async r=>{let i=await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!1}),n=await t.runTask(a=>GIe(a));await u9P({project:i,cliContext:t,token:n,version:r.version})})}function ZL3(e,t){e.command(["register-v2"],!1,r=>r.option("api",{string:!0,description:"Only run the command on the provided API"}),async r=>{let i=await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!1}),n=await t.runTask(a=>GIe(a));await s9P({project:i,cliContext:t,token:n})})}function kL3(e,t){e.command("check","Validates your Fern Definition. Logs errors.",r=>r.option("api",{string:!0,description:"Only run the command on the provided API"}).option("warnings",{boolean:!0,description:"Log warnings in addition to errors.",default:!1}).option("broken-links",{boolean:!0,description:"Log a warning if there are broken links in the docs.",default:!1}).option("strict-broken-links",{boolean:!0,description:"Throw an error (rather than logging a warning) if there are broken links in the docs.",default:!1}),async r=>{await QHP({project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!0}),cliContext:t,logWarnings:r.warnings,brokenLinks:r.brokenLinks,errorOnBrokenLinks:r.strictBrokenLinks})})}function eU3({cli:e,cliContext:t,onRun:r}){e.command("upgrade",`Upgrades version in ${ire}. Also upgrades generators in ${JN} to their minimum-compatible versions.`,i=>i.option("rc",{boolean:!0,hidden:!0,default:!1}).option("version",{string:!0,description:"The version to upgrade to. Defaults to the latest release."}),async i=>{await $HP({cliContext:t,includePreReleases:i.rc,targetVersion:i.version}),r()})}function tU3(e,t){e.command("api update",`Pulls the latest OpenAPI spec from the specified origin in ${JN} and updates the local spec.`,r=>r.option("api",{string:!0,description:"The API to update the spec for. If not specified, all APIs with a declared origin will be updated."}),async r=>{await t.instrumentPostHogEvent({command:"fern api update"}),await h9P({cliContext:t,project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!0})})})}function rU3(e,t){e.command("login","Log in to Fern via GitHub",r=>r.option("device-code",{boolean:!0,default:!1,description:"Use device code authorization"}),async r=>{await t.runTask(async i=>{await t.instrumentPostHogEvent({command:"fern login"}),await fla(i,{useDeviceCodeFlow:r.deviceCode})})})}function iU3(e,t){e.command("format","Formats your Fern Definition",r=>r.option("ci",{boolean:!0,default:!1,description:"Fail with non-zero exit status if files are not formatted correctly."}).option("api",{string:!0,description:"Only run the command on the provided API"}),async r=>{await t.instrumentPostHogEvent({command:"fern format"}),await jw_({project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!0}),cliContext:t,shouldFix:!r.ci})})}function nU3(e,t){e.command("test","Runs tests specified in --command, this spins up a mock server in the background that is terminated upon completion of the tests.",r=>r.option("api",{string:!0,description:"The API to mock."}).option("command",{string:!0,description:"The command to run to test your SDK."}).option("language",{choices:Object.values(My.GenerationLanguage),description:"Run the tests configured to a specific language"}),async r=>{await t.instrumentPostHogEvent({command:"fern test"}),await c9P({cliContext:t,project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!1,nameOverride:".mock",sdkLanguage:r.language}),testCommand:r.command,generationLanguage:r.language})})}function aU3(e,t){e.command("mock","Starts a mock server for an API.",r=>r.option("port",{number:!0,description:"The port the server binds to."}).option("api",{string:!0,description:"The API to mock."}),async r=>{await t.instrumentPostHogEvent({command:"fern mock"}),await t9P({cliContext:t,project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!1}),port:r.port})})}function oU3(e,t){e.command("write-overrides","Generate a basic openapi overrides file.",r=>[r.option("api",{string:!0,description:"Only run the command on the provided API"}),r.option("exclude-models",{boolean:!0,description:"When generating the initial overrides, also stub the models (in addition to the endpoints)",default:!1})],async r=>{await t.instrumentPostHogEvent({command:"fern generate-overrides"}),await NNP({project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!0}),includeModels:!r.excludeModels,cliContext:t})})}function uU3(e,t){e.command("write-definition","Write underlying Fern Definition for OpenAPI specs and API Dependencies.",r=>r.option("api",{string:!0,description:"Only run the command on the provided API"}).option("language",{choices:Object.values(My.GenerationLanguage),description:"Write the definition for a particular SDK language"}).option("preserve-schemas",{string:!0,description:"Preserve potentially unsafe schema Ids in the generated fern definition"}),async r=>{let i=r.preserveSchemas!=null;await t.instrumentPostHogEvent({command:"fern write-definition"}),await JHP({project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!0,sdkLanguage:r.language,preserveSchemaIds:i}),cliContext:t,sdkLanguage:r.language,preserveSchemaIds:i})})}function sU3(e,t){e.command("docs","Commands for managing your docs",r=>(cU3(r,t),lU3(r,t),r))}function cU3(e,t){e.command("dev","Run a local development server to preview your docs",r=>r.option("port",{number:!0,description:"Run the development server on the following port"}).option("bundle-path",{string:!0,hidden:!0,description:"Path of the local docs bundle to use"}).option("broken-links",{boolean:!0,default:!1,description:"Check for broken links in your docs"}),async r=>{let i;r.port!=null?i=r.port:i=await Hia({port:[3e3,3001,3002,3003,3004,3005,3006,3007,3008,3009,3010]});let n=r.bundlePath;await Pw_({loadProject:()=>rq(t,{defaultToAllApiWorkspaces:!0,commandLineApiWorkspace:void 0}),cliContext:t,port:i,bundlePath:n,brokenLinks:r.brokenLinks})})}function lU3(e,t){e.command("broken-links","Check for broken links in your docs",r=>r.option("strict",{boolean:!0,default:!1,description:"Fail with non-zero exit status"}),async r=>{let i=await rq(t,{commandLineApiWorkspace:void 0,defaultToAllApiWorkspaces:!0});await GHP({project:i,cliContext:t,errorOnBrokenLinks:r.strict})})}function fU3(e,t){e.command("jsonschema <path-to-output>","Generate JSON Schema for a specific type",r=>r.option("api",{string:!0,description:"Only run the command on the provided API"}).positional("path-to-output",{type:"string",description:"Path to write JSON Schema",demandOption:!0}).option("type",{string:!0,demandOption:!0,description:"The type to generate JSON Schema for (e.g. 'MySchema' or 'mypackage.MySchema')"}),async r=>{await t.instrumentPostHogEvent({command:"fern jsonschema",properties:{output:r.output}}),await K5P({typeLocator:r.type,project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!1}),jsonschemaFilepath:AO(TU(),r.pathToOutput),cliContext:t})})}function dU3(e,t){e.command("write-docs-definition <output-path>",!1,r=>r.positional("output-path",{type:"string",description:"Path to write the docs definition",demandOption:!0}),async r=>{await t.instrumentPostHogEvent({command:"fern write-docs-definition",properties:{outputPath:r.outputPath}}),await XHP({project:await rq(t,{defaultToAllApiWorkspaces:!0,commandLineApiWorkspace:void 0}),outputPath:AO(TU(),r.outputPath),cliContext:t})})}
2054
+ `));let{failed:n,stdout:a,stderr:u}=await LG(t.logger,"npx",["--quiet",...i],{stdio:"inherit",reject:!1,env:{...r,[TLa]:process.env[TLa]??process.cwd()}});if(a.includes("code EEXIST")||u.includes("code EEXIST"))return await CLa({version:e,cliContext:t});n&&t.failWithoutThrowing()}var VHP="FERN_PRE_UPGRADE_VERSION";async function $HP({cliContext:e,includePreReleases:t,targetVersion:r}){r!=null&&(await UHP({cliEnvironment:e.environment,version:r})||e.failAndThrow(`Failed to upgrade to ${r} because it does not exist. See https://www.npmjs.com/package/${e.environment.packageName}?activeTab=versions.`),Vie(r,e.environment.packageVersion)||e.failAndThrow(`Cannot upgrade because target version (${r}) is not ahead of existing version ${e.environment.packageVersion}`));let i=r!=null?{targetVersion:r,isUpgradeAvailable:!0}:void 0;if(i==null){let n=await e.isUpgradeAvailable({includePreReleases:t});n.cliUpgradeInfo!=null&&(i={targetVersion:n.cliUpgradeInfo.latestVersion,isUpgradeAvailable:n.cliUpgradeInfo.isUpgradeAvailable})}if(i&&!i.isUpgradeAvailable){let n=process.env[VHP];if(n==null){e.logger.info("No upgrade available.");return}await WHP({cliContext:e,previousVersion:n,newVersion:i.targetVersion})}else if(i!=null){let n=await u8t();if(n==null)return e.failAndThrow(`Directory "${qU}" not found.`);let a=await e.runTask(l=>qQr({directory:n,context:l})),u=E9P(a.rawConfig,l=>{l.version=i.targetVersion});await(0,HHP.writeFile)(a._absolutePath,JSON.stringify(u,void 0,2)),e.logger.info(`Upgrading from ${Js.dim(e.environment.packageVersion)} \u2192 ${Js.green(i.targetVersion)}`),e.environment.packageVersion==="0.0.0"?await WHP({cliContext:e,previousVersion:a.version,newVersion:i.targetVersion}):(await LG(e.logger,"npm",["install","-g",`${e.environment.packageName}@${i.targetVersion}`]),await CLa({version:i.targetVersion,cliContext:e,env:{[VHP]:e.environment.packageVersion}}))}}async function WHP({cliContext:e,previousVersion:t,newVersion:r}){await e.runTask(async i=>{await cPf({fromVersion:t,toVersion:r,context:i})}),await e.exitIfFailed()}async function GHP({project:e,cliContext:t,errorOnBrokenLinks:r}){let i=e.docsWorkspaces;if(i==null){t.failAndThrow("No docs workspace found");return}await t.runTaskForWorkspace(i,async n=>{let a=performance.now(),u=await Promise.all(e.apiWorkspaces.map(async o=>o.toFernWorkspace({context:n}))),l=await IX(e),d=await Pga(i,n,u,l,!0),s=performance.now()-a;vAn({violations:d,context:n,logWarnings:!0,logSummary:!0,logBreadcrumbs:!1,elapsedMillis:s}),d.length>0&&r&&n.failAndThrow()})}async function QHP({project:e,cliContext:t,logWarnings:r,brokenLinks:i,errorOnBrokenLinks:n}){let a=e.docsWorkspaces;a!=null&&await t.runTaskForWorkspace(a,async u=>{let l=i||n?[]:["valid-markdown-links"];await I4o({workspace:a,context:u,logWarnings:r,apiWorkspaces:e.apiWorkspaces,ossWorkspaces:await IX(e),errorOnBrokenLinks:n,excludeRules:l})}),await Promise.all(e.apiWorkspaces.map(async u=>{u.generatorsConfiguration?.groups.length!==0&&await t.runTaskForWorkspace(u,async l=>{let d=await u.toFernWorkspace({context:l});await $Zt({workspace:d,context:l,logWarnings:r,ossWorkspace:u instanceof $7?u:void 0})})}))}var jHr=require("fs/promises");var lPf=di(require("path"),1);async function JHP({project:e,cliContext:t,sdkLanguage:r,preserveSchemaIds:i}){await Promise.all(e.apiWorkspaces.map(async n=>{await t.runTaskForWorkspace(n,async a=>{n instanceof oDe?await PI3({workspace:n,context:a}):await jI3({workspace:await n.toFernWorkspace({context:a},{preserveSchemaIds:i}),context:a})})}))}async function PI3({workspace:e,context:t}){for(let[r,i]of Object.entries(e.definition.importedDefinitions)){let n=es(e.absoluteFilePath,uo.of(X8),uo.of(r),uo.of(`.${X8}`));await KHP({definition:i.definition,absolutePathToOutputDirectory:n}),t.logger.info(Js.green(`Wrote imported definition at ${lPf.default.relative(process.cwd(),n)}`))}}async function jI3({workspace:e,context:t}){let r=es(e.absoluteFilePath,uo.of(`.${X8}`));await KHP({definition:e.definition,absolutePathToOutputDirectory:r}),t.logger.info(Js.green(`Wrote definition to ${lPf.default.relative(process.cwd(),r)}`))}async function KHP({definition:e,absolutePathToOutputDirectory:t}){let r=(i,n)=>{let a={imports:0,types:1,services:2},u=i in a?a[i]:Object.keys(a).length,l=n in a?a[n]:Object.keys(a).length;return u==null?-1:l==null?1:u!==l?u-l:i.localeCompare(n)};await Cf(t)&&await(0,jHr.rmdir)(t,{recursive:!0}),await(0,jHr.mkdir)(t,{recursive:!0}),await(0,jHr.writeFile)(es(t,uo.of(QN)),Kd.dump(e.rootApiFile.contents,{sortKeys:r}));for(let[i,n]of Object.entries(e.packageMarkers)){let a=es(t,uo.of(i));await(0,jHr.mkdir)(_p(a),{recursive:!0}),await(0,jHr.writeFile)(a,Kd.dump(n.contents,{sortKeys:r}))}for(let[i,n]of Object.entries(e.namedDefinitionFiles)){let a=es(t,uo.of(i));await(0,jHr.mkdir)(_p(a),{recursive:!0}),await(0,jHr.writeFile)(a,Kd.dump(n.contents,{sortKeys:r}))}}var YHP=require("fs/promises");async function XHP({project:e,outputPath:t,cliContext:r}){let i=e.docsWorkspaces;i!=null&&await r.runTaskForWorkspace(i,async n=>{let a=await IX(e),u=await Promise.all(e.apiWorkspaces.map(async s=>s.toFernWorkspace({context:n},{enableUniqueErrorsPerEndpoint:!0,detectGlobalHeaders:!1}))),d=await new C9t(i.config.instances[0]?.url??"http://localhost:8080",i,a,u,n).resolve();await(0,YHP.writeFile)(Wl.of(t),JSON.stringify(d,null,2)),n.logger.info(Js.green(`Docs definition written to ${t}`))})}FL3();var NL3="The Fern CLI requires Node 18+ or above.";async function FL3(){let e=new zqo(process.stdout),t=async()=>{await e.exit()};if(trs.RUNTIME.type==="node"&&trs.RUNTIME.parsedVersion!=null&&trs.RUNTIME.parsedVersion>=18){let{setGlobalDispatcher:r,Agent:i}=await Promise.resolve().then(()=>di(FZP(),1));r(new i({connect:{timeout:2147483647},bodyTimeout:0,headersTimeout:2147483647}))}process.on("SIGINT",async()=>{e.suppressUpgradeMessage(),await t()});try{let r=process.env[TLa];r!=null&&process.chdir(r);let i=await UL3(e);e.environment.packageVersion===i?await LL3(e):await CLa({version:i,cliContext:e})}catch(r){await e.instrumentPostHogEvent({command:process.argv.join(" "),properties:{failed:!0,error:r}}),r?.message.includes("globalThis")?(e.logger.error(NL3),e.failWithoutThrowing()):r instanceof ure?e.failWithoutThrowing():r instanceof yQr?e.logger.error(`Failed. ${r.log}`):e.failWithoutThrowing("Failed.",r)}await t()}async function LL3(e){let t=d5f(yps(process.argv)).scriptName(e.environment.cliName).version(!1).fail((r,i,n)=>{i==null&&(n.showHelp(),e.logger.error(r))}).strict().exitProcess(!1).command("$0",!1,r=>r.option("version",{describe:"Print current version",alias:"v"}).version(!1),r=>{r.version!=null?e.logger.info(e.environment.packageVersion):(t.showHelp(),e.failAndThrow())}).option("log-level",{default:V0.Info,choices:_si}).demandCommand().recommendCommands();WL3(t,e),HL3(t,e),$L3(t,e),GL3(t,e),QL3(t,e),YL3(t,e),JL3(t,e),KL3(t,e),kL3(t,e),XL3(t,e),ZL3(t,e),rU3(t,e),iU3(t,e),uU3(t,e),sU3(t,e),aU3(t,e),oU3(t,e),nU3(t,e),tU3(t,e),eU3({cli:t,cliContext:e,onRun:()=>{e.suppressUpgradeMessage()}}),fU3(t,e),dU3(t,e),jt_(t,e),wt_(t,e),t.middleware(async r=>{e.setLogLevel(r["log-level"]),e.logDebugInfo()}),await t.parse()}async function UL3(e){if(process.env.FERN_NO_VERSION_REDIRECTION==="true")return e.environment.packageVersion;let t=await u8t();if(t!=null){let r=await e.runTask(i=>qQr({directory:t,context:i}));return r.version==="*"?e.environment.packageVersion:r.version}return Qdi({cliEnvironment:e.environment})}async function VL3(e){let t=await u8t();if(t!=null)return(await e.runTask(i=>qQr({directory:t,context:i}))).organization}function WL3(e,t){e.command("init","Initialize a Fern API",r=>r.option("api",{boolean:!0,description:"Initialize an api."}).option("docs",{boolean:!0,description:"Initialize a docs website."}).option("organization",{alias:"org",type:"string",description:"Organization name"}).option("openapi",{type:"string",description:"Filepath or url to an existing OpenAPI spec"}).option("mintlify",{type:"string",description:"Migrate docs from Mintlify provided a path to a mint.json file"}).option("readme",{type:"string",description:"Migrate docs from Readme provided a URL to a Readme generated docs site"}),async r=>{if(r.organization==null){let i=await VL3(t);i!=null?r.organization=i:r.organization=await t.getInput({message:"Please enter your organization"})}if(r.api!=null&&r.docs!=null)return t.failWithoutThrowing("Cannot specify both --api and --docs. Please choose one.");if(r.readme!=null&&r.mintlify!=null)return t.failWithoutThrowing("Cannot specify both --readme and --mintlify. Please choose one.");if(r.readme!=null)await t.runTask(async i=>{await wLs({readmeUrl:r.readme,organization:r.organization??"fern",taskContext:i,versionOfCli:await Qdi({cliEnvironment:t.environment})})});else if(r.docs!=null)await t.runTask(async i=>{await NRs({organization:r.organization,versionOfCli:await Qdi({cliEnvironment:t.environment}),taskContext:i})});else if(r.mintlify!=null)await t.runTask(async i=>{await aNs({pathToMintJson:r.mintlify,organization:r.organization??"fern",taskContext:i,versionOfCli:await Qdi({cliEnvironment:t.environment})})});else{let i;if(r.openapi!=null){if(_Bi(r.openapi)){let a=await lFp({url:r.openapi,logger:t.logger});a.status==="failure"&&t.failAndThrow(a.errorMessage);let u=a.filePath;i=Wl.of(u)}else i=Wl.of(AO(TU(),r.openapi));await Cf(i)||t.failAndThrow(`${i} does not exist`)}await t.runTask(async n=>{await zRs({organization:r.organization,versionOfCli:await Qdi({cliEnvironment:t.environment}),context:n,openApiPath:i})})}})}function HL3(e,t){e.command("token","Generate a Fern Token",r=>r.option("organization",{alias:"org",type:"string",description:"The organization to create a token for. Defaults to the one in `fern.config.json`"}),async r=>{await t.runTask(async i=>{await f9P({orgId:r.organization??(await rq(t,{commandLineApiWorkspace:void 0,defaultToAllApiWorkspaces:!0})).config.organization,taskContext:i})})})}function $L3(e,t){e.command("add <generator>",`Add a code generator to ${JN}`,r=>r.positional("generator",{type:"string",demandOption:!0}).option("api",{string:!0,description:"Only run the command on the provided API"}).option("group",{string:!0,description:"Add the generator to the specified group"}),async r=>{await Dt_({project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!1}),generatorName:r.generator,groupName:r.group,cliContext:t})})}function GL3(e,t){e.command(["generate"],"Generate all generators in the specified group",r=>r.option("api",{string:!0,description:"If multiple APIs, specify the name with --api <name>. Otherwise, just --api."}).option("docs",{string:!0,description:"If multiple docs sites, specify the name with --docs <name>. Otherwise just --docs."}).option("instance",{string:!0,description:"The url for the instance of docs (e.g. --instance acme.docs.buildwithfern.com)"}).option("preview",{boolean:!0,default:!1,description:"Whether to generate a preview link for the docs"}).option("group",{type:"string",description:"The group to generate"}).option("mode",{choices:Object.values(V5P),description:"Defaults to the mode specified in generators.yml"}).option("version",{type:"string",description:"The version for the generated packages"}).option("printZipUrl",{boolean:!0,hidden:!0,default:!1}).option("local",{boolean:!0,default:!1,description:"Run the generator(s) locally, using Docker"}).option("keepDocker",{boolean:!0,default:!1,description:"Prevent auto-deletion of the Docker containers."}).option("force",{boolean:!0,default:!1,description:"Ignore prompts to confirm generation, defaults to false"}).option("broken-links",{boolean:!0,description:"Log a warning if there are broken links in the docs.",default:!1}).option("strict-broken-links",{boolean:!0,description:"Throw an error (rather than logging a warning) if there are broken links in the docs.",default:!1}),async r=>r.api!=null&&r.docs!=null?t.failWithoutThrowing("Cannot specify both --api and --docs. Please choose one."):r.local&&r.preview?t.failWithoutThrowing("The --local flag is incompatible with --preview."):r.api!=null?await XOf({project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!1}),cliContext:t,version:r.version,groupName:r.group,shouldLogS3Url:r.printZipUrl,keepDocker:r.keepDocker,useLocalDocker:r.local,preview:r.preview,mode:r.mode,force:r.force}):r.docs!=null?(r.group!=null&&t.logger.warn("--group is ignored when generating docs"),r.version!=null&&t.logger.warn("--version is ignored when generating docs"),await W5P({project:await rq(t,{commandLineApiWorkspace:void 0,defaultToAllApiWorkspaces:!0},!0),cliContext:t,instance:r.instance,preview:r.preview,brokenLinks:r.brokenLinks,strictBrokenLinks:r.strictBrokenLinks})):await XOf({project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!1}),cliContext:t,version:r.version,groupName:r.group,shouldLogS3Url:r.printZipUrl,keepDocker:r.keepDocker,useLocalDocker:r.local,preview:r.preview,mode:r.mode,force:r.force}))}function QL3(e,t){e.command("ir <path-to-output>","Generate IR (Intermediate Representation)",r=>r.positional("path-to-output",{type:"string",description:"Path to write intermediate representation (IR)",demandOption:!0}).option("api",{string:!0,description:"Only run the command on the provided API"}).option("version",{string:!0,description:"The version of IR to produce"}).option("language",{choices:Object.values(My.GenerationLanguage),description:"Generate IR for a particular language"}).option("audience",{type:"array",string:!0,default:new Array,description:"Filter the IR for certain audiences"}).option("smart-casing",{boolean:!0,description:"Whether to use smart casing"}).option("from-openapi",{boolean:!0,description:"Whether to use the new parser and go directly from OpenAPI to IR",default:!1}),async r=>{await qNP({project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!1,sdkLanguage:r.language}),irFilepath:AO(TU(),r.pathToOutput),cliContext:t,generationLanguage:r.language,audiences:r.audience.length>0?{type:"select",audiences:r.audience}:{type:"all"},version:r.version,keywords:void 0,smartCasing:r.smartCasing??!1,readme:void 0,directFromOpenapi:r.fromOpenapi})})}function JL3(e,t){e.command("openapi-ir <path-to-output>",!1,r=>r.positional("path-to-output",{type:"string",description:"Path to write intermediate representation (IR)",demandOption:!0}).option("language",{choices:Object.values(My.GenerationLanguage),description:"Generate IR for a particular language"}).option("api",{string:!0,description:"Only run the command on the provided API"}),async r=>{await zNP({project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!1,sdkLanguage:r.language}),irFilepath:AO(TU(),r.pathToOutput),cliContext:t,sdkLanguage:r.language})})}function KL3(e,t){e.command("dynamic-ir <path-to-output>",!1,r=>r.positional("path-to-output",{type:"string",description:"Path to write intermediate representation (IR)",demandOption:!0}).option("api",{string:!0,description:"Only run the command on the provided API"}).option("version",{string:!0,description:"The version of IR to produce"}).option("language",{choices:Object.values(My.GenerationLanguage),description:"Generate IR for a particular language"}).option("audience",{type:"array",string:!0,default:new Array,description:"Filter the IR for certain audiences"}).option("smart-casing",{boolean:!0,description:"Whether to use smart casing"}).option("disable-examples",{boolean:!0,description:"Whether to suppress examples from being included in the IR"}),async r=>{await S1_({project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!1,sdkLanguage:r.language}),irFilepath:AO(TU(),r.pathToOutput),cliContext:t,generationLanguage:r.language,audiences:{type:"all"},version:r.version,keywords:void 0,smartCasing:r.smartCasing??!1,disableDynamicExamples:r.disableExamples??!1})})}function YL3(e,t){e.command("fdr <path-to-output>",!1,r=>r.positional("path-to-output",{type:"string",description:"Path to write FDR API definition",demandOption:!0}).option("api",{string:!0,description:"Only run the command on the provided API"}).option("audience",{type:"array",string:!0,default:new Array,description:"Filter the FDR API definition for certain audiences"}).option("v2",{boolean:!0,description:"Use v2 format"}),async r=>{r.v2?await BNP({project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!1}),outputFilepath:AO(TU(),r.pathToOutput),cliContext:t}):await M1_({project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!1}),outputFilepath:AO(TU(),r.pathToOutput),cliContext:t,audiences:r.audience.length>0?{type:"select",audiences:r.audience}:{type:"all"}})})}function XL3(e,t){e.command(["register"],!1,r=>r.option("version",{type:"string",description:"The version for the registered api"}).option("api",{string:!0,description:"Only run the command on the provided API"}),async r=>{let i=await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!1}),n=await t.runTask(a=>GIe(a));await u9P({project:i,cliContext:t,token:n,version:r.version})})}function ZL3(e,t){e.command(["register-v2"],!1,r=>r.option("api",{string:!0,description:"Only run the command on the provided API"}),async r=>{let i=await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!1}),n=await t.runTask(a=>GIe(a));await s9P({project:i,cliContext:t,token:n})})}function kL3(e,t){e.command("check","Validates your Fern Definition. Logs errors.",r=>r.option("api",{string:!0,description:"Only run the command on the provided API"}).option("warnings",{boolean:!0,description:"Log warnings in addition to errors.",default:!1}).option("broken-links",{boolean:!0,description:"Log a warning if there are broken links in the docs.",default:!1}).option("strict-broken-links",{boolean:!0,description:"Throw an error (rather than logging a warning) if there are broken links in the docs.",default:!1}),async r=>{await QHP({project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!0}),cliContext:t,logWarnings:r.warnings,brokenLinks:r.brokenLinks,errorOnBrokenLinks:r.strictBrokenLinks})})}function eU3({cli:e,cliContext:t,onRun:r}){e.command("upgrade",`Upgrades version in ${ire}. Also upgrades generators in ${JN} to their minimum-compatible versions.`,i=>i.option("rc",{boolean:!0,hidden:!0,default:!1}).option("version",{string:!0,description:"The version to upgrade to. Defaults to the latest release."}),async i=>{await $HP({cliContext:t,includePreReleases:i.rc,targetVersion:i.version}),r()})}function tU3(e,t){e.command("api update",`Pulls the latest OpenAPI spec from the specified origin in ${JN} and updates the local spec.`,r=>r.option("api",{string:!0,description:"The API to update the spec for. If not specified, all APIs with a declared origin will be updated."}),async r=>{await t.instrumentPostHogEvent({command:"fern api update"}),await h9P({cliContext:t,project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!0})})})}function rU3(e,t){e.command("login","Log in to Fern via GitHub",r=>r.option("device-code",{boolean:!0,default:!1,description:"Use device code authorization"}),async r=>{await t.runTask(async i=>{await t.instrumentPostHogEvent({command:"fern login"}),await fla(i,{useDeviceCodeFlow:r.deviceCode})})})}function iU3(e,t){e.command("format","Formats your Fern Definition",r=>r.option("ci",{boolean:!0,default:!1,description:"Fail with non-zero exit status if files are not formatted correctly."}).option("api",{string:!0,description:"Only run the command on the provided API"}),async r=>{await t.instrumentPostHogEvent({command:"fern format"}),await jw_({project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!0}),cliContext:t,shouldFix:!r.ci})})}function nU3(e,t){e.command("test","Runs tests specified in --command, this spins up a mock server in the background that is terminated upon completion of the tests.",r=>r.option("api",{string:!0,description:"The API to mock."}).option("command",{string:!0,description:"The command to run to test your SDK."}).option("language",{choices:Object.values(My.GenerationLanguage),description:"Run the tests configured to a specific language"}),async r=>{await t.instrumentPostHogEvent({command:"fern test"}),await c9P({cliContext:t,project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!1,nameOverride:".mock",sdkLanguage:r.language}),testCommand:r.command,generationLanguage:r.language})})}function aU3(e,t){e.command("mock","Starts a mock server for an API.",r=>r.option("port",{number:!0,description:"The port the server binds to."}).option("api",{string:!0,description:"The API to mock."}),async r=>{await t.instrumentPostHogEvent({command:"fern mock"}),await t9P({cliContext:t,project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!1}),port:r.port})})}function oU3(e,t){e.command("write-overrides","Generate a basic openapi overrides file.",r=>[r.option("api",{string:!0,description:"Only run the command on the provided API"}),r.option("exclude-models",{boolean:!0,description:"When generating the initial overrides, also stub the models (in addition to the endpoints)",default:!1})],async r=>{await t.instrumentPostHogEvent({command:"fern generate-overrides"}),await NNP({project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!0}),includeModels:!r.excludeModels,cliContext:t})})}function uU3(e,t){e.command("write-definition","Write underlying Fern Definition for OpenAPI specs and API Dependencies.",r=>r.option("api",{string:!0,description:"Only run the command on the provided API"}).option("language",{choices:Object.values(My.GenerationLanguage),description:"Write the definition for a particular SDK language"}).option("preserve-schemas",{string:!0,description:"Preserve potentially unsafe schema Ids in the generated fern definition"}),async r=>{let i=r.preserveSchemas!=null;await t.instrumentPostHogEvent({command:"fern write-definition"}),await JHP({project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!0,sdkLanguage:r.language,preserveSchemaIds:i}),cliContext:t,sdkLanguage:r.language,preserveSchemaIds:i})})}function sU3(e,t){e.command("docs","Commands for managing your docs",r=>(cU3(r,t),lU3(r,t),r))}function cU3(e,t){e.command("dev","Run a local development server to preview your docs",r=>r.option("port",{number:!0,description:"Run the development server on the following port"}).option("bundle-path",{string:!0,hidden:!0,description:"Path of the local docs bundle to use"}).option("broken-links",{boolean:!0,default:!1,description:"Check for broken links in your docs"}),async r=>{let i;r.port!=null?i=r.port:i=await Hia({port:[3e3,3001,3002,3003,3004,3005,3006,3007,3008,3009,3010]});let n=r.bundlePath;await Pw_({loadProject:()=>rq(t,{defaultToAllApiWorkspaces:!0,commandLineApiWorkspace:void 0}),cliContext:t,port:i,bundlePath:n,brokenLinks:r.brokenLinks})})}function lU3(e,t){e.command("broken-links","Check for broken links in your docs",r=>r.option("strict",{boolean:!0,default:!1,description:"Fail with non-zero exit status"}),async r=>{let i=await rq(t,{commandLineApiWorkspace:void 0,defaultToAllApiWorkspaces:!0});await GHP({project:i,cliContext:t,errorOnBrokenLinks:r.strict})})}function fU3(e,t){e.command("jsonschema <path-to-output>","Generate JSON Schema for a specific type",r=>r.option("api",{string:!0,description:"Only run the command on the provided API"}).positional("path-to-output",{type:"string",description:"Path to write JSON Schema",demandOption:!0}).option("type",{string:!0,demandOption:!0,description:"The type to generate JSON Schema for (e.g. 'MySchema' or 'mypackage.MySchema')"}),async r=>{await t.instrumentPostHogEvent({command:"fern jsonschema",properties:{output:r.output}}),await K5P({typeLocator:r.type,project:await rq(t,{commandLineApiWorkspace:r.api,defaultToAllApiWorkspaces:!1}),jsonschemaFilepath:AO(TU(),r.pathToOutput),cliContext:t})})}function dU3(e,t){e.command("write-docs-definition <output-path>",!1,r=>r.positional("output-path",{type:"string",description:"Path to write the docs definition",demandOption:!0}),async r=>{await t.instrumentPostHogEvent({command:"fern write-docs-definition",properties:{outputPath:r.outputPath}}),await XHP({project:await rq(t,{defaultToAllApiWorkspaces:!0,commandLineApiWorkspace:void 0}),outputPath:AO(TU(),r.outputPath),cliContext:t})})}
2055
2055
  /*! Bundled license information:
2056
2056
 
2057
2057
  formdata-node/lib/form-data.cjs:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fern-api",
3
- "version": "0.57.7",
3
+ "version": "0.57.8",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/fern-api/fern.git",