fern-api 0.56.27 → 0.56.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli.cjs +3 -3
- package/package.json +1 -1
package/cli.cjs
CHANGED
|
@@ -1697,7 +1697,7 @@ ${c.indent}`:""}${s$f(o)}:${l.indent?" ":""}`;return u=!1,s=!0,l.objectItem=void
|
|
|
1697
1697
|
`}),r.replaceAll(/\n$/g,"")}function g3S(e){return e?k_.green(d7.radioOn):d7.radioOff}var TOo=yi(wSe(),1);function Gnp(e,t){return e=String(e),t=typeof t=="string"?t:"*",e.length===0?"":Array.from({length:e.length+1}).join(t)}var vsa=class extends g2{_run(t){this.done=t;let r=tV(this.rl),i=r.line.pipe((0,TOo.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,TOo.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=`
|
|
1698
1698
|
`+k_.red(">> ")+t),this.screen.render(r,i)}getMaskedValue(t){return this.status==="answered"?this.opt.mask?k_.cyan(Gnp(t,this.opt.mask)):k_.italic.dim("[hidden]"):this.opt.mask?Gnp(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 vop=yi(MCs(),1),bop=yi(wSe(),1);var Esa=class extends g2{_run(t){this.done=t,this.editorResult=new bop.Subject;let r=tV(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,vop.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 Dop=yi(mop(),1);var wop=yi(require("readline"),1),Sop=yi(jop(),1),oIi=class{constructor(t){this.rl||=wop.default.createInterface(c7S(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 c7S(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 Sop.default;return r.pipe(e.output||process.stdout),{terminal:!0,...e,input:t,output:r}}var Msa=class extends oIi{constructor(t={}){super(t),this.log=(0,Dop.default)(this.writeLog.bind(this)),this.bottomBar=t.bottomBar||"",this.render()}render(){return this.write(this.bottomBar),this}clean(){return csa(this.rl,this.bottomBar.split(`
|
|
1699
1699
|
`).length),this}updateBottomBar(t){return csa(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+`
|
|
1700
|
-
`}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&&EOo(this.rl,t.length+this.rl.line.length),this.rl.output.write(t)}};var zop=yi(Aop(),1),Rop=yi(zqs(),1),Nop=yi(xop(),1),VA=yi(wSe(),1),Fop=yi(bua(),1);var YOo=yi(wSe(),1),Iop=yi(bua(),1),XOo=function(e,t,r){return typeof e[t]!="function"?(0,YOo.of)(e):(0,YOo.from)((0,Iop.default)(e[t])(r).then(i=>(e[t]=i,e)))};var Asa={isPlainObject:zop.default,set:Nop.default,get:Rop.default},JOn=class extends oIi{constructor(t,r){super(r),this.prompts=t}run(t,r){this.answers=Asa.isPlainObject(r)?{...r}:{},Asa.isPlainObject(t)&&(t=Object.values(t).every(n=>Asa.isPlainObject(n)&&n.name===void 0)?Object.entries(t).map(([n,a])=>({name:n,...a})):[t]);let i=Array.isArray(t)?(0,VA.from)(t):t;return this.process=i.pipe((0,VA.concatMap)(this.processQuestion.bind(this)),(0,VA.publish)()),this.process.connect(),this.process.pipe((0,VA.reduce)((n,a)=>(Asa.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,VA.defer)(()=>(0,VA.of)(t).pipe((0,VA.concatMap)(this.setDefaultType.bind(this)),(0,VA.concatMap)(this.filterIfRunnable.bind(this)),(0,VA.concatMap)(()=>XOo(t,"message",this.answers)),(0,VA.concatMap)(()=>XOo(t,"default",this.answers)),(0,VA.concatMap)(()=>XOo(t,"choices",this.answers)),(0,VA.concatMap)(this.fetchAnswer.bind(this))))}fetchAnswer(t){let r=this.prompts[t.type];return this.activePrompt=new r(t,this.rl,this.answers),(0,VA.defer)(()=>(0,VA.from)(this.activePrompt.run().then(i=>({name:t.name,answer:i}))))}setDefaultType(t){return this.prompts[t.type]||(t.type="input"),(0,VA.defer)(()=>(0,VA.of)(t))}filterIfRunnable(t){if(t.askAnswered!==!0&&Asa.get(this.answers,t.name)!==void 0)return(0,VA.empty)();if(t.when===!1)return(0,VA.empty)();if(typeof t.when!="function")return(0,VA.of)(t);let{answers:r}=this;return(0,VA.defer)(()=>(0,VA.from)((0,Fop.default)(t.when)(r).then(i=>{if(i)return t})).pipe((0,VA.filter)(i=>i!=null)))}};function Lop(e){let t=function(r,i){let n;try{n=new JOn(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",fsa),this.registerPrompt("input",kxi),this.registerPrompt("number",dsa),this.registerPrompt("confirm",psa),this.registerPrompt("rawlist",_sa),this.registerPrompt("expand",hsa),this.registerPrompt("checkbox",ysa),this.registerPrompt("password",vsa),this.registerPrompt("editor",Esa)},t.restoreDefaultPrompts(),t}var TCs=Lop();function E7S(e,t){TCs.registerPrompt(e,t)}function M7S(){TCs.restoreDefaultPrompts()}var A7S={prompt:TCs,ui:{BottomBar:Msa,Prompt:JOn},createPromptModule:Lop,registerPrompt:E7S,restoreDefaultPrompts:M7S,Separator:lie},ZOo=A7S;var Yup=yi(Uop()),r4S="4.2.1",Y8t;(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"})(Y8t||(Y8t={}));function i4S(e,t){if(!e)throw new Error(t)}function n4S(e){return e?.replace(/\/+$/,"")}async function a4S(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 o4S(){return new Date().getTime()}function Vup(){return new Date().toISOString()}function Xup(e,t){let r=setTimeout(e,t);return r?.unref&&r?.unref(),r}var Lsa=String.fromCharCode,Wup="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",pmo={};function u4S(e,t){if(!pmo[e]){pmo[e]={};for(let r=0;r<e.length;r++)pmo[e][e.charAt(r)]=r}return pmo[e][t]}var Usa={compressToBase64:function(e){if(e==null)return"";let t=Usa._compress(e,6,function(r){return Wup.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:Usa._decompress(e.length,32,function(t){return u4S(Wup,e.charAt(t))})},compress:function(e){return Usa._compress(e,16,function(t){return Lsa(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,w;for(w=0;w<e.length;w+=1)if(d=e.charAt(w),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:Usa._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,w;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;w=Lsa(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;w=Lsa(b);break;case 2:return""}for(i[3]=w,c=w,n.push(w);;){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(w=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++]=Lsa(b),w=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++]=Lsa(b),w=l-1,u--;break;case 2:return n.join("")}if(u==0&&(u=Math.pow(2,d),d++),i[w])s=i[w];else if(w===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++)}}},hBs=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 _mo="0123456789abcdef",hmo=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+=_mo.charAt(this.bytes[r]>>>4),t+=_mo.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+=_mo.charAt(this.bytes[r]>>>4),t+=_mo.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}},yBs=class{constructor(t){this.timestamp=0,this.counter=0,this.random=t??s4S()}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 hmo.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,hmo.ofInner(t)}},s4S=()=>({nextUint32:()=>Math.trunc(Math.random()*65536)*65536+Math.trunc(Math.random()*65536)}),Hup,$up=()=>c4S().toString(),c4S=()=>(Hup||(Hup=new yBs)).generate(),ymo=class extends Error{constructor(t){super("HTTP error while fetching PostHog: "+t.status),this.response=t,this.name="PostHogFetchHttpError"}},Vsa=class extends Error{constructor(t){super("Network error while fetching PostHog",t instanceof Error?{cause:t}:{}),this.error=t,this.name="PostHogFetchNetworkError"}};function Gup(e){return typeof e=="object"&&(e instanceof ymo||e instanceof Vsa)}var vBs=class{constructor(t,r){this.flushPromise=null,this.disableGeoip=!0,this.historicalMigration=!1,this.disabled=!1,this.defaultOptIn=!0,this.pendingPromises={},this._events=new hBs,this._isInitialized=!1,i4S(t,"You must pass your PostHog project's api key."),this.apiKey=t,this.host=n4S(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:Gup},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(Y8t.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty(Y8t.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty(Y8t.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=$up();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:Vup(),uuid:i?.uuid?i.uuid:$up()};(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(Y8t.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(Y8t.Queue,u),this._events.emit(t,n),u.length>=this.flushAt&&this.flushBackground(),this.flushInterval&&!this._flushTimer&&(this._flushTimer=Xup(()=>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(Y8t.Queue)||[];if(!t.length)return[];let r=t.slice(0,this.maxBatchSize),i=r.map(s=>s.message),n=()=>{let s=this.getPersistedProperty(Y8t.Queue)||[];this.setPersistedProperty(Y8t.Queue,s.slice(r.length))},a={api_key:this.apiKey,batch:i,sent_at:Vup()};this.historicalMigration&&(a.historical_migration=!0);let u=JSON.stringify(a),l=this.captureMode==="form"?`${this.host}/e/?ip=1&_=${o4S()}&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(Usa.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 Vsa||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 a4S(async()=>{let u=null;try{u=await this.fetch(t,{signal:AbortSignal.timeout(n??this.requestTimeout),...r})}catch(d){throw new Vsa(d)}if(!(r.mode==="no-cors")&&(u.status<200||u.status>=400))throw new ymo(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(Y8t.Queue)||[]).length!==0;){await this.flush();let n=Date.now();if(r<n)break}}catch(r){if(!Gup(r))throw r;this.logMsgIfDebug(()=>console.error("Error while shutting down PostHog",r))}}},bBs=class{constructor(){this._memoryStorage={}}getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}},gBs=typeof fetch<"u"?fetch:typeof global.fetch<"u"?global.fetch:void 0;if(!gBs){let e=Uup();gBs=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 Zup=gBs,l4S=1152921504606847e3,f4S=["is_not"],vmo=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},O2=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},OBs=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||Zup,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 O2?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 O2||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 O2("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 O2("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 O2)u=!0;else throw o}if(l!==void 0)return l;if(u)throw new O2("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=esp(l,n,this.cohorts,this.debugMode):s=kup(l,n,u),!s)return!1}if(a==null)return!0}return!(a!=null&&Qup(t.key,r)>a/100)}getMatchingVariant(t,r){let i=Qup(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 vmo("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 vmo&&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=Xup(()=>{n.abort()},this.timeout),r.signal=n.signal}try{return await this.fetch(t,r)}finally{clearTimeout(i)}}stopPoller(){clearTimeout(this.poller)}};function Qup(e,t,r=""){let i=(0,Yup.createHash)();return i.update(`${e}.${t}${r}`),parseInt(i.digest("hex").slice(0,15),16)/l4S}function kup(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 O2("Operator is_not_set is not supported")}else throw new O2(`Property ${i} not found in propertyValues`);let u=t[i];if(u==null&&!f4S.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 Jup(String(n))&&String(u).match(String(n))!==null;case"not_regex":return Jup(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=d4S(String(n));if(s==null&&(s=Kup(n)),s==null)throw new O2(`Invalid date: ${n}`);let o=Kup(u);return["is_date_before"].includes(a)?o<s:o>s}default:throw new O2(`Unknown operator: ${a}`)}}function esp(e,t,r,i=!1){let n=String(e.value);if(!(n in r))throw new O2("can't match cohort without a given cohort property value");let a=r[n];return tsp(a,t,r,i)}function tsp(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=tsp(l,t,r,i);if(n==="AND"){if(!d)return!1}else if(d)return!0}catch(d){if(d instanceof O2)i&&console.debug(`Failed to compute property ${l} locally: ${d}`),u=!0;else throw d}if(u)throw new O2("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=esp(l,t,r,i):d=kup(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 O2)i&&console.debug(`Failed to compute property ${l} locally: ${d}`),u=!0;else throw d}if(u)throw new O2("can't match cohort without a given cohort property value");return n==="AND"}}function Jup(e){try{return new RegExp(e),!0}catch{return!1}}function Kup(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 O2(`${e} is in an invalid date format`)}else throw new O2(`The date provided ${e} must be a string, number, or date object`)}function d4S(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 p4S=30*1e3,_4S=50*1e3,tmn=class extends vBs{constructor(t,r={}){super(t,r),this._memoryStorage=new bBs,this.options=r,r.personalApiKey&&(this.featureFlagsPoller=new OBs({pollingInterval:typeof r.featureFlagsPollingInterval=="number"?r.featureFlagsPollingInterval:p4S,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||_4S}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):Zup(t,r)}getLibraryId(){return"posthog-node"}getLibraryVersion(){return r4S}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,w]of Object.entries(b))g[`$feature/${m}`]=w;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}}},mBs=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})}};mBs.POSTHOG_ID_TAG="posthog_distinct_id";var bmo=class{posthog;constructor({posthogApiKey:t}){this.posthog=new tmn(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"0.56.27",usingAccessToken:!0}})}async flush(){await this.posthog.flush()}};var Wsa=class{async sendEvent(){}async identify(){}async flush(){}};var rmn=require("fs/promises"),asp=require("os"),osp=require("path");var rsp=yi(require("crypto")),Omo=new Uint8Array(256),gmo=Omo.length;function PBs(){return gmo>Omo.length-16&&(rsp.default.randomFillSync(Omo),gmo=0),Omo.slice(gmo,gmo+=16)}var nV=[];for(let e=0;e<256;++e)nV.push((e+256).toString(16).slice(1));function isp(e,t=0){return nV[e[t+0]]+nV[e[t+1]]+nV[e[t+2]]+nV[e[t+3]]+"-"+nV[e[t+4]]+nV[e[t+5]]+"-"+nV[e[t+6]]+nV[e[t+7]]+"-"+nV[e[t+8]]+nV[e[t+9]]+"-"+nV[e[t+10]]+nV[e[t+11]]+nV[e[t+12]]+nV[e[t+13]]+nV[e[t+14]]+nV[e[t+15]]}var nsp=yi(require("crypto")),jBs={randomUUID:nsp.default.randomUUID};function h4S(e,t,r){if(jBs.randomUUID&&!t&&!e)return jBs.randomUUID();e=e||{};let i=e.random||(e.rng||PBs)();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 isp(i)}var hie=h4S;var y4S="id",v4S=".fern",Hsa=class{posthog;userId;constructor({token:t,posthogApiKey:r}){this.posthog=new tmn(r),this.userId=t==null?void 0:FSs(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.56.27",...t,...t.properties}})}async flush(){await this.posthog.flush()}persistedDistinctId;async getPersistedDistinctId(){if(this.persistedDistinctId==null){let t=es(Wl.of((0,asp.homedir)()),uo.of(v4S),uo.of(y4S));await Cf(t)||(await(0,rmn.mkdir)((0,osp.dirname)(t),{recursive:!0}),await(0,rmn.writeFile)(t,hie())),this.persistedDistinctId=(await(0,rmn.readFile)(t)).toString()}return this.persistedDistinctId}};var wBs;async function imn(){return wBs==null&&(wBs=await b4S()),wBs}async function b4S(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new Wsa;let r=await Eho();return r!=null?new Hsa({token:r,posthogApiKey:e}):await Dho()!=null?new bmo({posthogApiKey:e}):new Hsa({token:void 0,posthogApiKey:e})}catch{return new Wsa}}function $sa(e,t){return function(){return e.apply(t,arguments)}}var{toString:g4S}=Object.prototype,{getPrototypeOf:DBs}=Object,Pmo=(e=>t=>{let r=g4S.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),X8t=e=>(e=e.toLowerCase(),t=>Pmo(t)===e),jmo=e=>t=>typeof t===e,{isArray:nmn}=Array,Gsa=jmo("undefined");function O4S(e){return e!==null&&!Gsa(e)&&e.constructor!==null&&!Gsa(e.constructor)&&DSe(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var ssp=X8t("ArrayBuffer");function m4S(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&ssp(e.buffer),t}var P4S=jmo("string"),DSe=jmo("function"),csp=jmo("number"),wmo=e=>e!==null&&typeof e=="object",j4S=e=>e===!0||e===!1,mmo=e=>{if(Pmo(e)!=="object")return!1;let t=DBs(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},w4S=X8t("Date"),S4S=X8t("File"),D4S=X8t("Blob"),E4S=X8t("FileList"),M4S=e=>wmo(e)&&DSe(e.pipe),A4S=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||DSe(e.append)&&((t=Pmo(e))==="formdata"||t==="object"&&DSe(e.toString)&&e.toString()==="[object FormData]"))},q4S=X8t("URLSearchParams"),[T4S,C4S,B4S,x4S]=["ReadableStream","Request","Response","Headers"].map(X8t),I4S=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Qsa(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let i,n;if(typeof e!="object"&&(e=[e]),nmn(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 lsp(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 fIi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,fsp=e=>!Gsa(e)&&e!==fIi;function SBs(){let{caseless:e}=fsp(this)&&this||{},t={},r=(i,n)=>{let a=e&&lsp(t,n)||n;mmo(t[a])&&mmo(i)?t[a]=SBs(t[a],i):mmo(i)?t[a]=SBs({},i):nmn(i)?t[a]=i.slice():t[a]=i};for(let i=0,n=arguments.length;i<n;i++)arguments[i]&&Qsa(arguments[i],r);return t}var z4S=(e,t,r,{allOwnKeys:i}={})=>(Qsa(t,(n,a)=>{r&&DSe(n)?e[a]=$sa(n,r):e[a]=n},{allOwnKeys:i}),e),R4S=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),N4S=(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)},F4S=(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&&DBs(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},L4S=(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},U4S=e=>{if(!e)return null;if(nmn(e))return e;let t=e.length;if(!csp(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},V4S=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&DBs(Uint8Array)),W4S=(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])}},H4S=(e,t)=>{let r,i=[];for(;(r=e.exec(t))!==null;)i.push(r);return i},$4S=X8t("HTMLFormElement"),G4S=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,i,n){return i.toUpperCase()+n}),usp=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),Q4S=X8t("RegExp"),dsp=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),i={};Qsa(r,(n,a)=>{let u;(u=t(n,a,e))!==!1&&(i[a]=u||n)}),Object.defineProperties(e,i)},J4S=e=>{dsp(e,(t,r)=>{if(DSe(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let i=e[r];if(DSe(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+"'")})}})},K4S=(e,t)=>{let r={},i=n=>{n.forEach(a=>{r[a]=!0})};return nmn(e)?i(e):i(String(e).split(t)),r},Y4S=()=>{},X4S=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Z4S(e){return!!(e&&DSe(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}var k4S=e=>{let t=new Array(10),r=(i,n)=>{if(wmo(i)){if(t.indexOf(i)>=0)return;if(!("toJSON"in i)){t[n]=i;let a=nmn(i)?[]:{};return Qsa(i,(u,l)=>{let d=r(u,n+1);!Gsa(d)&&(a[l]=d)}),t[n]=void 0,a}}return i};return r(e,0)},e8S=X8t("AsyncFunction"),t8S=e=>e&&(wmo(e)||DSe(e))&&DSe(e.then)&&DSe(e.catch),psp=((e,t)=>e?setImmediate:t?((r,i)=>(fIi.addEventListener("message",({source:n,data:a})=>{n===fIi&&a===r&&i.length&&i.shift()()},!1),n=>{i.push(n),fIi.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",DSe(fIi.postMessage)),r8S=typeof queueMicrotask<"u"?queueMicrotask.bind(fIi):typeof process<"u"&&process.nextTick||psp,ds={isArray:nmn,isArrayBuffer:ssp,isBuffer:O4S,isFormData:A4S,isArrayBufferView:m4S,isString:P4S,isNumber:csp,isBoolean:j4S,isObject:wmo,isPlainObject:mmo,isReadableStream:T4S,isRequest:C4S,isResponse:B4S,isHeaders:x4S,isUndefined:Gsa,isDate:w4S,isFile:S4S,isBlob:D4S,isRegExp:Q4S,isFunction:DSe,isStream:M4S,isURLSearchParams:q4S,isTypedArray:V4S,isFileList:E4S,forEach:Qsa,merge:SBs,extend:z4S,trim:I4S,stripBOM:R4S,inherits:N4S,toFlatObject:F4S,kindOf:Pmo,kindOfTest:X8t,endsWith:L4S,toArray:U4S,forEachEntry:W4S,matchAll:H4S,isHTMLForm:$4S,hasOwnProperty:usp,hasOwnProp:usp,reduceDescriptors:dsp,freezeMethods:J4S,toObjectSet:K4S,toCamelCase:G4S,noop:Y4S,toFiniteNumber:X4S,findKey:lsp,global:fIi,isContextDefined:fsp,isSpecCompliantForm:Z4S,toJSONObject:k4S,isAsyncFn:e8S,isThenable:t8S,setImmediate:psp,asap:r8S};function amn(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(amn,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 _sp=amn.prototype,hsp={};["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=>{hsp[e]={value:e}});Object.defineProperties(amn,hsp);Object.defineProperty(_sp,"isAxiosError",{value:!0});amn.from=(e,t,r,i,n,a)=>{let u=Object.create(_sp);return ds.toFlatObject(e,u,function(d){return d!==Error.prototype},l=>l!=="isAxiosError"),amn.call(u,e.message,t,r,i,n),u.cause=e,u.name=e.name,a&&Object.assign(u,a),u};var wp=amn;var ysp=yi(Pra(),1),Smo=ysp.default;function EBs(e){return ds.isPlainObject(e)||ds.isArray(e)}function bsp(e){return ds.endsWith(e,"[]")?e.slice(0,-2):e}function vsp(e,t,r){return e?e.concat(t).map(function(n,a){return n=bsp(n),!r&&a?"["+n+"]":n}).join(r?".":""):t}function i8S(e){return ds.isArray(e)&&!e.some(EBs)}var n8S=ds.toFlatObject(ds,{},null,function(t){return/^is[A-Z]/.test(t)});function a8S(e,t,r){if(!ds.isObject(e))throw new TypeError("target must be an object");t=t||new(Smo||FormData),r=ds.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,w){return!ds.isUndefined(w[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,w){let E=O;if(O&&!w&&typeof O=="object"){if(ds.endsWith(m,"{}"))m=i?m:m.slice(0,-2),O=JSON.stringify(O);else if(ds.isArray(O)&&i8S(O)||(ds.isFileList(O)||ds.endsWith(m,"[]"))&&(E=ds.toArray(O)))return m=bsp(m),E.forEach(function(q,D){!(ds.isUndefined(q)||q===null)&&t.append(u===!0?vsp([m],D,a):u===null?m:m+"[]",s(q))}),!1}return EBs(O)?!0:(t.append(vsp(w,m,a),s(O)),!1)}let c=[],b=Object.assign(n8S,{defaultVisitor:o,convertValue:s,isVisitable:EBs});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 Uli=a8S;function gsp(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(i){return t[i]})}function Osp(e,t){this._pairs=[],e&&Uli(e,this,t)}var msp=Osp.prototype;msp.append=function(t,r){this._pairs.push([t,r])};msp.toString=function(t){let r=t?function(i){return t.call(this,i,gsp)}:gsp;return this._pairs.map(function(n){return r(n[0])+"="+r(n[1])},"").join("&")};var Psp=Osp;function o8S(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function dIi(e,t,r){if(!t)return e;let i=r&&r.encode||o8S;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 Psp(t,r).toString(i),a){let u=e.indexOf("#");u!==-1&&(e=e.slice(0,u)),e+=(e.indexOf("?")===-1?"?":"&")+a}return e}var MBs=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)})}},ABs=MBs;var omn={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var Dsp=yi(require("crypto"),1);var jsp=yi(require("url"),1),wsp=jsp.default.URLSearchParams;var qBs="abcdefghijklmnopqrstuvwxyz",Ssp="0123456789",Esp={DIGIT:Ssp,ALPHA:qBs,ALPHA_DIGIT:qBs+qBs.toUpperCase()+Ssp},u8S=(e=16,t=Esp.ALPHA_DIGIT)=>{let r="",{length:i}=t,n=new Uint32Array(e);Dsp.default.randomFillSync(n);for(let a=0;a<e;a++)r+=t[n[a]%i];return r},Msp={isNode:!0,classes:{URLSearchParams:wsp,FormData:Smo,Blob:typeof Blob<"u"&&Blob||null},ALPHABET:Esp,generateString:u8S,protocols:["http","https","file","data"]};var BBs={};Co(BBs,{hasBrowserEnv:()=>CBs,hasStandardBrowserEnv:()=>s8S,hasStandardBrowserWebWorkerEnv:()=>c8S,navigator:()=>TBs,origin:()=>l8S});var CBs=typeof window<"u"&&typeof document<"u",TBs=typeof navigator=="object"&&navigator||void 0,s8S=CBs&&(!TBs||["ReactNative","NativeScript","NS"].indexOf(TBs.product)<0),c8S=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",l8S=CBs&&window.location.href||"http://localhost";var jM={...BBs,...Msp};function xBs(e,t){return Uli(e,new jM.classes.URLSearchParams,Object.assign({visitor:function(r,i,n,a){return jM.isNode&&ds.isBuffer(r)?(this.append(i,r.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)}},t))}function f8S(e){return ds.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function d8S(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 p8S(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]=d8S(n[u])),!l)}if(ds.isFormData(e)&&ds.isFunction(e.entries)){let r={};return ds.forEachEntry(e,(i,n)=>{t(f8S(i),n,r,0)}),r}return null}var Dmo=p8S;function _8S(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 IBs={transitional:omn,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(Dmo(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 xBs(t,this.formSerializer).toString();if((l=ds.isFileList(t))||i.indexOf("multipart/form-data")>-1){let d=this.env&&this.env.FormData;return Uli(l?{"files[]":t}:t,d&&new d,this.formSerializer)}}return a||n?(r.setContentType("application/json",!1),_8S(t)):t}],transformResponse:[function(t){let r=this.transitional||IBs.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:jM.classes.FormData,Blob:jM.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=>{IBs.headers[e]={}});var umn=IBs;var h8S=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"]),Asp=e=>{let t={},r,i,n;return e&&e.split(`
|
|
1700
|
+
`}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&&EOo(this.rl,t.length+this.rl.line.length),this.rl.output.write(t)}};var zop=yi(Aop(),1),Rop=yi(zqs(),1),Nop=yi(xop(),1),VA=yi(wSe(),1),Fop=yi(bua(),1);var YOo=yi(wSe(),1),Iop=yi(bua(),1),XOo=function(e,t,r){return typeof e[t]!="function"?(0,YOo.of)(e):(0,YOo.from)((0,Iop.default)(e[t])(r).then(i=>(e[t]=i,e)))};var Asa={isPlainObject:zop.default,set:Nop.default,get:Rop.default},JOn=class extends oIi{constructor(t,r){super(r),this.prompts=t}run(t,r){this.answers=Asa.isPlainObject(r)?{...r}:{},Asa.isPlainObject(t)&&(t=Object.values(t).every(n=>Asa.isPlainObject(n)&&n.name===void 0)?Object.entries(t).map(([n,a])=>({name:n,...a})):[t]);let i=Array.isArray(t)?(0,VA.from)(t):t;return this.process=i.pipe((0,VA.concatMap)(this.processQuestion.bind(this)),(0,VA.publish)()),this.process.connect(),this.process.pipe((0,VA.reduce)((n,a)=>(Asa.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,VA.defer)(()=>(0,VA.of)(t).pipe((0,VA.concatMap)(this.setDefaultType.bind(this)),(0,VA.concatMap)(this.filterIfRunnable.bind(this)),(0,VA.concatMap)(()=>XOo(t,"message",this.answers)),(0,VA.concatMap)(()=>XOo(t,"default",this.answers)),(0,VA.concatMap)(()=>XOo(t,"choices",this.answers)),(0,VA.concatMap)(this.fetchAnswer.bind(this))))}fetchAnswer(t){let r=this.prompts[t.type];return this.activePrompt=new r(t,this.rl,this.answers),(0,VA.defer)(()=>(0,VA.from)(this.activePrompt.run().then(i=>({name:t.name,answer:i}))))}setDefaultType(t){return this.prompts[t.type]||(t.type="input"),(0,VA.defer)(()=>(0,VA.of)(t))}filterIfRunnable(t){if(t.askAnswered!==!0&&Asa.get(this.answers,t.name)!==void 0)return(0,VA.empty)();if(t.when===!1)return(0,VA.empty)();if(typeof t.when!="function")return(0,VA.of)(t);let{answers:r}=this;return(0,VA.defer)(()=>(0,VA.from)((0,Fop.default)(t.when)(r).then(i=>{if(i)return t})).pipe((0,VA.filter)(i=>i!=null)))}};function Lop(e){let t=function(r,i){let n;try{n=new JOn(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",fsa),this.registerPrompt("input",kxi),this.registerPrompt("number",dsa),this.registerPrompt("confirm",psa),this.registerPrompt("rawlist",_sa),this.registerPrompt("expand",hsa),this.registerPrompt("checkbox",ysa),this.registerPrompt("password",vsa),this.registerPrompt("editor",Esa)},t.restoreDefaultPrompts(),t}var TCs=Lop();function E7S(e,t){TCs.registerPrompt(e,t)}function M7S(){TCs.restoreDefaultPrompts()}var A7S={prompt:TCs,ui:{BottomBar:Msa,Prompt:JOn},createPromptModule:Lop,registerPrompt:E7S,restoreDefaultPrompts:M7S,Separator:lie},ZOo=A7S;var Yup=yi(Uop()),r4S="4.2.1",Y8t;(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"})(Y8t||(Y8t={}));function i4S(e,t){if(!e)throw new Error(t)}function n4S(e){return e?.replace(/\/+$/,"")}async function a4S(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 o4S(){return new Date().getTime()}function Vup(){return new Date().toISOString()}function Xup(e,t){let r=setTimeout(e,t);return r?.unref&&r?.unref(),r}var Lsa=String.fromCharCode,Wup="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",pmo={};function u4S(e,t){if(!pmo[e]){pmo[e]={};for(let r=0;r<e.length;r++)pmo[e][e.charAt(r)]=r}return pmo[e][t]}var Usa={compressToBase64:function(e){if(e==null)return"";let t=Usa._compress(e,6,function(r){return Wup.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:Usa._decompress(e.length,32,function(t){return u4S(Wup,e.charAt(t))})},compress:function(e){return Usa._compress(e,16,function(t){return Lsa(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,w;for(w=0;w<e.length;w+=1)if(d=e.charAt(w),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:Usa._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,w;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;w=Lsa(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;w=Lsa(b);break;case 2:return""}for(i[3]=w,c=w,n.push(w);;){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(w=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++]=Lsa(b),w=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++]=Lsa(b),w=l-1,u--;break;case 2:return n.join("")}if(u==0&&(u=Math.pow(2,d),d++),i[w])s=i[w];else if(w===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++)}}},hBs=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 _mo="0123456789abcdef",hmo=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+=_mo.charAt(this.bytes[r]>>>4),t+=_mo.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+=_mo.charAt(this.bytes[r]>>>4),t+=_mo.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}},yBs=class{constructor(t){this.timestamp=0,this.counter=0,this.random=t??s4S()}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 hmo.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,hmo.ofInner(t)}},s4S=()=>({nextUint32:()=>Math.trunc(Math.random()*65536)*65536+Math.trunc(Math.random()*65536)}),Hup,$up=()=>c4S().toString(),c4S=()=>(Hup||(Hup=new yBs)).generate(),ymo=class extends Error{constructor(t){super("HTTP error while fetching PostHog: "+t.status),this.response=t,this.name="PostHogFetchHttpError"}},Vsa=class extends Error{constructor(t){super("Network error while fetching PostHog",t instanceof Error?{cause:t}:{}),this.error=t,this.name="PostHogFetchNetworkError"}};function Gup(e){return typeof e=="object"&&(e instanceof ymo||e instanceof Vsa)}var vBs=class{constructor(t,r){this.flushPromise=null,this.disableGeoip=!0,this.historicalMigration=!1,this.disabled=!1,this.defaultOptIn=!0,this.pendingPromises={},this._events=new hBs,this._isInitialized=!1,i4S(t,"You must pass your PostHog project's api key."),this.apiKey=t,this.host=n4S(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:Gup},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(Y8t.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty(Y8t.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty(Y8t.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=$up();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:Vup(),uuid:i?.uuid?i.uuid:$up()};(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(Y8t.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(Y8t.Queue,u),this._events.emit(t,n),u.length>=this.flushAt&&this.flushBackground(),this.flushInterval&&!this._flushTimer&&(this._flushTimer=Xup(()=>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(Y8t.Queue)||[];if(!t.length)return[];let r=t.slice(0,this.maxBatchSize),i=r.map(s=>s.message),n=()=>{let s=this.getPersistedProperty(Y8t.Queue)||[];this.setPersistedProperty(Y8t.Queue,s.slice(r.length))},a={api_key:this.apiKey,batch:i,sent_at:Vup()};this.historicalMigration&&(a.historical_migration=!0);let u=JSON.stringify(a),l=this.captureMode==="form"?`${this.host}/e/?ip=1&_=${o4S()}&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(Usa.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 Vsa||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 a4S(async()=>{let u=null;try{u=await this.fetch(t,{signal:AbortSignal.timeout(n??this.requestTimeout),...r})}catch(d){throw new Vsa(d)}if(!(r.mode==="no-cors")&&(u.status<200||u.status>=400))throw new ymo(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(Y8t.Queue)||[]).length!==0;){await this.flush();let n=Date.now();if(r<n)break}}catch(r){if(!Gup(r))throw r;this.logMsgIfDebug(()=>console.error("Error while shutting down PostHog",r))}}},bBs=class{constructor(){this._memoryStorage={}}getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}},gBs=typeof fetch<"u"?fetch:typeof global.fetch<"u"?global.fetch:void 0;if(!gBs){let e=Uup();gBs=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 Zup=gBs,l4S=1152921504606847e3,f4S=["is_not"],vmo=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},O2=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},OBs=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||Zup,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 O2?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 O2||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 O2("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 O2("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 O2)u=!0;else throw o}if(l!==void 0)return l;if(u)throw new O2("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=esp(l,n,this.cohorts,this.debugMode):s=kup(l,n,u),!s)return!1}if(a==null)return!0}return!(a!=null&&Qup(t.key,r)>a/100)}getMatchingVariant(t,r){let i=Qup(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 vmo("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 vmo&&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=Xup(()=>{n.abort()},this.timeout),r.signal=n.signal}try{return await this.fetch(t,r)}finally{clearTimeout(i)}}stopPoller(){clearTimeout(this.poller)}};function Qup(e,t,r=""){let i=(0,Yup.createHash)();return i.update(`${e}.${t}${r}`),parseInt(i.digest("hex").slice(0,15),16)/l4S}function kup(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 O2("Operator is_not_set is not supported")}else throw new O2(`Property ${i} not found in propertyValues`);let u=t[i];if(u==null&&!f4S.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 Jup(String(n))&&String(u).match(String(n))!==null;case"not_regex":return Jup(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=d4S(String(n));if(s==null&&(s=Kup(n)),s==null)throw new O2(`Invalid date: ${n}`);let o=Kup(u);return["is_date_before"].includes(a)?o<s:o>s}default:throw new O2(`Unknown operator: ${a}`)}}function esp(e,t,r,i=!1){let n=String(e.value);if(!(n in r))throw new O2("can't match cohort without a given cohort property value");let a=r[n];return tsp(a,t,r,i)}function tsp(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=tsp(l,t,r,i);if(n==="AND"){if(!d)return!1}else if(d)return!0}catch(d){if(d instanceof O2)i&&console.debug(`Failed to compute property ${l} locally: ${d}`),u=!0;else throw d}if(u)throw new O2("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=esp(l,t,r,i):d=kup(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 O2)i&&console.debug(`Failed to compute property ${l} locally: ${d}`),u=!0;else throw d}if(u)throw new O2("can't match cohort without a given cohort property value");return n==="AND"}}function Jup(e){try{return new RegExp(e),!0}catch{return!1}}function Kup(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 O2(`${e} is in an invalid date format`)}else throw new O2(`The date provided ${e} must be a string, number, or date object`)}function d4S(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 p4S=30*1e3,_4S=50*1e3,tmn=class extends vBs{constructor(t,r={}){super(t,r),this._memoryStorage=new bBs,this.options=r,r.personalApiKey&&(this.featureFlagsPoller=new OBs({pollingInterval:typeof r.featureFlagsPollingInterval=="number"?r.featureFlagsPollingInterval:p4S,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||_4S}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):Zup(t,r)}getLibraryId(){return"posthog-node"}getLibraryVersion(){return r4S}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,w]of Object.entries(b))g[`$feature/${m}`]=w;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}}},mBs=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})}};mBs.POSTHOG_ID_TAG="posthog_distinct_id";var bmo=class{posthog;constructor({posthogApiKey:t}){this.posthog=new tmn(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"0.56.28",usingAccessToken:!0}})}async flush(){await this.posthog.flush()}};var Wsa=class{async sendEvent(){}async identify(){}async flush(){}};var rmn=require("fs/promises"),asp=require("os"),osp=require("path");var rsp=yi(require("crypto")),Omo=new Uint8Array(256),gmo=Omo.length;function PBs(){return gmo>Omo.length-16&&(rsp.default.randomFillSync(Omo),gmo=0),Omo.slice(gmo,gmo+=16)}var nV=[];for(let e=0;e<256;++e)nV.push((e+256).toString(16).slice(1));function isp(e,t=0){return nV[e[t+0]]+nV[e[t+1]]+nV[e[t+2]]+nV[e[t+3]]+"-"+nV[e[t+4]]+nV[e[t+5]]+"-"+nV[e[t+6]]+nV[e[t+7]]+"-"+nV[e[t+8]]+nV[e[t+9]]+"-"+nV[e[t+10]]+nV[e[t+11]]+nV[e[t+12]]+nV[e[t+13]]+nV[e[t+14]]+nV[e[t+15]]}var nsp=yi(require("crypto")),jBs={randomUUID:nsp.default.randomUUID};function h4S(e,t,r){if(jBs.randomUUID&&!t&&!e)return jBs.randomUUID();e=e||{};let i=e.random||(e.rng||PBs)();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 isp(i)}var hie=h4S;var y4S="id",v4S=".fern",Hsa=class{posthog;userId;constructor({token:t,posthogApiKey:r}){this.posthog=new tmn(r),this.userId=t==null?void 0:FSs(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.56.28",...t,...t.properties}})}async flush(){await this.posthog.flush()}persistedDistinctId;async getPersistedDistinctId(){if(this.persistedDistinctId==null){let t=es(Wl.of((0,asp.homedir)()),uo.of(v4S),uo.of(y4S));await Cf(t)||(await(0,rmn.mkdir)((0,osp.dirname)(t),{recursive:!0}),await(0,rmn.writeFile)(t,hie())),this.persistedDistinctId=(await(0,rmn.readFile)(t)).toString()}return this.persistedDistinctId}};var wBs;async function imn(){return wBs==null&&(wBs=await b4S()),wBs}async function b4S(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new Wsa;let r=await Eho();return r!=null?new Hsa({token:r,posthogApiKey:e}):await Dho()!=null?new bmo({posthogApiKey:e}):new Hsa({token:void 0,posthogApiKey:e})}catch{return new Wsa}}function $sa(e,t){return function(){return e.apply(t,arguments)}}var{toString:g4S}=Object.prototype,{getPrototypeOf:DBs}=Object,Pmo=(e=>t=>{let r=g4S.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),X8t=e=>(e=e.toLowerCase(),t=>Pmo(t)===e),jmo=e=>t=>typeof t===e,{isArray:nmn}=Array,Gsa=jmo("undefined");function O4S(e){return e!==null&&!Gsa(e)&&e.constructor!==null&&!Gsa(e.constructor)&&DSe(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var ssp=X8t("ArrayBuffer");function m4S(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&ssp(e.buffer),t}var P4S=jmo("string"),DSe=jmo("function"),csp=jmo("number"),wmo=e=>e!==null&&typeof e=="object",j4S=e=>e===!0||e===!1,mmo=e=>{if(Pmo(e)!=="object")return!1;let t=DBs(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},w4S=X8t("Date"),S4S=X8t("File"),D4S=X8t("Blob"),E4S=X8t("FileList"),M4S=e=>wmo(e)&&DSe(e.pipe),A4S=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||DSe(e.append)&&((t=Pmo(e))==="formdata"||t==="object"&&DSe(e.toString)&&e.toString()==="[object FormData]"))},q4S=X8t("URLSearchParams"),[T4S,C4S,B4S,x4S]=["ReadableStream","Request","Response","Headers"].map(X8t),I4S=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Qsa(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let i,n;if(typeof e!="object"&&(e=[e]),nmn(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 lsp(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 fIi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,fsp=e=>!Gsa(e)&&e!==fIi;function SBs(){let{caseless:e}=fsp(this)&&this||{},t={},r=(i,n)=>{let a=e&&lsp(t,n)||n;mmo(t[a])&&mmo(i)?t[a]=SBs(t[a],i):mmo(i)?t[a]=SBs({},i):nmn(i)?t[a]=i.slice():t[a]=i};for(let i=0,n=arguments.length;i<n;i++)arguments[i]&&Qsa(arguments[i],r);return t}var z4S=(e,t,r,{allOwnKeys:i}={})=>(Qsa(t,(n,a)=>{r&&DSe(n)?e[a]=$sa(n,r):e[a]=n},{allOwnKeys:i}),e),R4S=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),N4S=(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)},F4S=(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&&DBs(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},L4S=(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},U4S=e=>{if(!e)return null;if(nmn(e))return e;let t=e.length;if(!csp(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},V4S=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&DBs(Uint8Array)),W4S=(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])}},H4S=(e,t)=>{let r,i=[];for(;(r=e.exec(t))!==null;)i.push(r);return i},$4S=X8t("HTMLFormElement"),G4S=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,i,n){return i.toUpperCase()+n}),usp=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),Q4S=X8t("RegExp"),dsp=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),i={};Qsa(r,(n,a)=>{let u;(u=t(n,a,e))!==!1&&(i[a]=u||n)}),Object.defineProperties(e,i)},J4S=e=>{dsp(e,(t,r)=>{if(DSe(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let i=e[r];if(DSe(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+"'")})}})},K4S=(e,t)=>{let r={},i=n=>{n.forEach(a=>{r[a]=!0})};return nmn(e)?i(e):i(String(e).split(t)),r},Y4S=()=>{},X4S=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Z4S(e){return!!(e&&DSe(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}var k4S=e=>{let t=new Array(10),r=(i,n)=>{if(wmo(i)){if(t.indexOf(i)>=0)return;if(!("toJSON"in i)){t[n]=i;let a=nmn(i)?[]:{};return Qsa(i,(u,l)=>{let d=r(u,n+1);!Gsa(d)&&(a[l]=d)}),t[n]=void 0,a}}return i};return r(e,0)},e8S=X8t("AsyncFunction"),t8S=e=>e&&(wmo(e)||DSe(e))&&DSe(e.then)&&DSe(e.catch),psp=((e,t)=>e?setImmediate:t?((r,i)=>(fIi.addEventListener("message",({source:n,data:a})=>{n===fIi&&a===r&&i.length&&i.shift()()},!1),n=>{i.push(n),fIi.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",DSe(fIi.postMessage)),r8S=typeof queueMicrotask<"u"?queueMicrotask.bind(fIi):typeof process<"u"&&process.nextTick||psp,ds={isArray:nmn,isArrayBuffer:ssp,isBuffer:O4S,isFormData:A4S,isArrayBufferView:m4S,isString:P4S,isNumber:csp,isBoolean:j4S,isObject:wmo,isPlainObject:mmo,isReadableStream:T4S,isRequest:C4S,isResponse:B4S,isHeaders:x4S,isUndefined:Gsa,isDate:w4S,isFile:S4S,isBlob:D4S,isRegExp:Q4S,isFunction:DSe,isStream:M4S,isURLSearchParams:q4S,isTypedArray:V4S,isFileList:E4S,forEach:Qsa,merge:SBs,extend:z4S,trim:I4S,stripBOM:R4S,inherits:N4S,toFlatObject:F4S,kindOf:Pmo,kindOfTest:X8t,endsWith:L4S,toArray:U4S,forEachEntry:W4S,matchAll:H4S,isHTMLForm:$4S,hasOwnProperty:usp,hasOwnProp:usp,reduceDescriptors:dsp,freezeMethods:J4S,toObjectSet:K4S,toCamelCase:G4S,noop:Y4S,toFiniteNumber:X4S,findKey:lsp,global:fIi,isContextDefined:fsp,isSpecCompliantForm:Z4S,toJSONObject:k4S,isAsyncFn:e8S,isThenable:t8S,setImmediate:psp,asap:r8S};function amn(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(amn,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 _sp=amn.prototype,hsp={};["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=>{hsp[e]={value:e}});Object.defineProperties(amn,hsp);Object.defineProperty(_sp,"isAxiosError",{value:!0});amn.from=(e,t,r,i,n,a)=>{let u=Object.create(_sp);return ds.toFlatObject(e,u,function(d){return d!==Error.prototype},l=>l!=="isAxiosError"),amn.call(u,e.message,t,r,i,n),u.cause=e,u.name=e.name,a&&Object.assign(u,a),u};var wp=amn;var ysp=yi(Pra(),1),Smo=ysp.default;function EBs(e){return ds.isPlainObject(e)||ds.isArray(e)}function bsp(e){return ds.endsWith(e,"[]")?e.slice(0,-2):e}function vsp(e,t,r){return e?e.concat(t).map(function(n,a){return n=bsp(n),!r&&a?"["+n+"]":n}).join(r?".":""):t}function i8S(e){return ds.isArray(e)&&!e.some(EBs)}var n8S=ds.toFlatObject(ds,{},null,function(t){return/^is[A-Z]/.test(t)});function a8S(e,t,r){if(!ds.isObject(e))throw new TypeError("target must be an object");t=t||new(Smo||FormData),r=ds.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,w){return!ds.isUndefined(w[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,w){let E=O;if(O&&!w&&typeof O=="object"){if(ds.endsWith(m,"{}"))m=i?m:m.slice(0,-2),O=JSON.stringify(O);else if(ds.isArray(O)&&i8S(O)||(ds.isFileList(O)||ds.endsWith(m,"[]"))&&(E=ds.toArray(O)))return m=bsp(m),E.forEach(function(q,D){!(ds.isUndefined(q)||q===null)&&t.append(u===!0?vsp([m],D,a):u===null?m:m+"[]",s(q))}),!1}return EBs(O)?!0:(t.append(vsp(w,m,a),s(O)),!1)}let c=[],b=Object.assign(n8S,{defaultVisitor:o,convertValue:s,isVisitable:EBs});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 Uli=a8S;function gsp(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(i){return t[i]})}function Osp(e,t){this._pairs=[],e&&Uli(e,this,t)}var msp=Osp.prototype;msp.append=function(t,r){this._pairs.push([t,r])};msp.toString=function(t){let r=t?function(i){return t.call(this,i,gsp)}:gsp;return this._pairs.map(function(n){return r(n[0])+"="+r(n[1])},"").join("&")};var Psp=Osp;function o8S(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function dIi(e,t,r){if(!t)return e;let i=r&&r.encode||o8S;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 Psp(t,r).toString(i),a){let u=e.indexOf("#");u!==-1&&(e=e.slice(0,u)),e+=(e.indexOf("?")===-1?"?":"&")+a}return e}var MBs=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)})}},ABs=MBs;var omn={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var Dsp=yi(require("crypto"),1);var jsp=yi(require("url"),1),wsp=jsp.default.URLSearchParams;var qBs="abcdefghijklmnopqrstuvwxyz",Ssp="0123456789",Esp={DIGIT:Ssp,ALPHA:qBs,ALPHA_DIGIT:qBs+qBs.toUpperCase()+Ssp},u8S=(e=16,t=Esp.ALPHA_DIGIT)=>{let r="",{length:i}=t,n=new Uint32Array(e);Dsp.default.randomFillSync(n);for(let a=0;a<e;a++)r+=t[n[a]%i];return r},Msp={isNode:!0,classes:{URLSearchParams:wsp,FormData:Smo,Blob:typeof Blob<"u"&&Blob||null},ALPHABET:Esp,generateString:u8S,protocols:["http","https","file","data"]};var BBs={};Co(BBs,{hasBrowserEnv:()=>CBs,hasStandardBrowserEnv:()=>s8S,hasStandardBrowserWebWorkerEnv:()=>c8S,navigator:()=>TBs,origin:()=>l8S});var CBs=typeof window<"u"&&typeof document<"u",TBs=typeof navigator=="object"&&navigator||void 0,s8S=CBs&&(!TBs||["ReactNative","NativeScript","NS"].indexOf(TBs.product)<0),c8S=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",l8S=CBs&&window.location.href||"http://localhost";var jM={...BBs,...Msp};function xBs(e,t){return Uli(e,new jM.classes.URLSearchParams,Object.assign({visitor:function(r,i,n,a){return jM.isNode&&ds.isBuffer(r)?(this.append(i,r.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)}},t))}function f8S(e){return ds.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function d8S(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 p8S(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]=d8S(n[u])),!l)}if(ds.isFormData(e)&&ds.isFunction(e.entries)){let r={};return ds.forEachEntry(e,(i,n)=>{t(f8S(i),n,r,0)}),r}return null}var Dmo=p8S;function _8S(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 IBs={transitional:omn,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(Dmo(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 xBs(t,this.formSerializer).toString();if((l=ds.isFileList(t))||i.indexOf("multipart/form-data")>-1){let d=this.env&&this.env.FormData;return Uli(l?{"files[]":t}:t,d&&new d,this.formSerializer)}}return a||n?(r.setContentType("application/json",!1),_8S(t)):t}],transformResponse:[function(t){let r=this.transitional||IBs.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:jM.classes.FormData,Blob:jM.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=>{IBs.headers[e]={}});var umn=IBs;var h8S=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"]),Asp=e=>{let t={},r,i,n;return e&&e.split(`
|
|
1701
1701
|
`).forEach(function(u){n=u.indexOf(":"),r=u.substring(0,n).trim().toLowerCase(),i=u.substring(n+1).trim(),!(!r||t[r]&&h8S[r])&&(r==="set-cookie"?t[r]?t[r].push(i):t[r]=[i]:t[r]=t[r]?t[r]+", "+i:i)}),t};var qsp=Symbol("internals");function Jsa(e){return e&&String(e).trim().toLowerCase()}function Emo(e){return e===!1||e==null?e:ds.isArray(e)?e.map(Emo):String(e)}function y8S(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 v8S=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function zBs(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 b8S(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,i)=>r.toUpperCase()+i)}function g8S(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 smn=class{constructor(t){t&&this.set(t)}set(t,r,i){let n=this;function a(l,d,s){let o=Jsa(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]=Emo(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())&&!v8S(t))u(Asp(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=Jsa(t),t){let i=ds.findKey(this,t);if(i){let n=this[i];if(!r)return n;if(r===!0)return y8S(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=Jsa(t),t){let i=ds.findKey(this,t);return!!(i&&this[i]!==void 0&&(!r||zBs(this,this[i],i,r)))}return!1}delete(t,r){let i=this,n=!1;function a(u){if(u=Jsa(u),u){let l=ds.findKey(i,u);l&&(!r||zBs(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||zBs(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]=Emo(n),delete r[a];return}let l=t?b8S(a):String(a).trim();l!==a&&delete r[a],r[l]=Emo(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(`
|
|
1702
1702
|
`)}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[qsp]=this[qsp]={accessors:{}}).accessors,n=this.prototype;function a(u){let l=Jsa(u);i[l]||(g8S(n,u),i[l]=!0)}return ds.isArray(t)?t.forEach(a):a(t),this}};smn.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);ds.reduceDescriptors(smn.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(i){this[r]=i}}});ds.freezeMethods(smn);var iz=smn;function Ksa(e,t){let r=this||umn,i=t||r,n=iz.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 Ysa(e){return!!(e&&e.__CANCEL__)}function Tsp(e,t,r){wp.call(this,e??"canceled",wp.ERR_CANCELED,t,r),this.name="CanceledError"}ds.inherits(Tsp,wp,{__CANCEL__:!0});var ESe=Tsp;function bYt(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 RBs(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function NBs(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function pIi(e,t,r){let i=!RBs(t);return e&&i||r==!1?NBs(e,t):t}var Qsp=yi(Tsa(),1),Jsp=yi(require("http"),1),Ksp=yi(require("https"),1),Ysp=yi(require("util"),1),Xsp=yi($Cs(),1),dJr=yi(require("zlib"),1);var _Ii="1.8.2";function Xsa(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}var O8S=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;function FBs(e,t,r){let i=r&&r.Blob||jM.classes.Blob,n=Xsa(e);if(t===void 0&&i&&(t=!0),n==="data"){e=n.length?e.slice(n.length+1):e;let a=O8S.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 hIi=yi(require("stream"),1);var Csp=yi(require("stream"),1);var LBs=Symbol("internals"),UBs=class extends Csp.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[LBs]={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[LBs];return r.onReadCallback&&r.onReadCallback(),super._read(t)}_transform(t,r,i){let n=this[LBs],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),w=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&&(w=g.subarray(E),g=g.subarray(0,E)),c(g,w?()=>{process.nextTick(O,null,w)}:O)};b(t,function g(O,m){if(O)return i(O);m?b(m,g):i(null)})}},VBs=UBs;var Zsp=require("events");var xsp=yi(require("util"),1),Isp=require("stream");var{asyncIterator:Bsp}=Symbol,m8S=async function*(e){e.stream?yield*e.stream():e.arrayBuffer?yield await e.arrayBuffer():e[Bsp]?yield*e[Bsp]():yield e},Mmo=m8S;var P8S=jM.ALPHABET.ALPHA_DIGIT+"-_",Zsa=typeof TextEncoder=="function"?new TextEncoder:new xsp.default.TextEncoder,Vli=`\r
|
|
1703
1703
|
`,j8S=Zsa.encode(Vli),w8S=2,WBs=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)}"`:""}${Vli}`;n?r=Zsa.encode(String(r).replace(/\r?\n|\r\n?/g,Vli)):a+=`Content-Type: ${r.type||"application/octet-stream"}${Vli}`,this.headers=Zsa.encode(a+Vli),this.contentLength=n?r.byteLength:r.size,this.size=this.headers.byteLength+this.contentLength+w8S,this.name=t,this.value=r}async*encode(){yield this.headers;let{value:t}=this;ds.isTypedArray(t)?yield t:yield*Mmo(t),yield j8S}static escapeName(t){return String(t).replace(/[\r\n"]/g,r=>({"\r":"%0D","\n":"%0A",'"':"%22"})[r])}},S8S=(e,t,r)=>{let{tag:i="form-data-boundary",size:n=25,boundary:a=i+"-"+jM.generateString(n,P8S)}=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=Zsa.encode("--"+a+Vli),l=Zsa.encode("--"+a+"--"+Vli+Vli),d=l.byteLength,s=Array.from(e.entries()).map(([c,b])=>{let g=new WBs(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),Isp.Readable.from(async function*(){for(let c of s)yield u,yield*c.encode();yield l}())},zsp=S8S;var Rsp=yi(require("stream"),1),HBs=class extends Rsp.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)}},Nsp=HBs;var D8S=(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,Fsp=D8S;function E8S(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 Lsp=E8S;function M8S(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 Usp=M8S;var fJr=(e,t,r=3)=>{let i=0,n=Lsp(50,250);return Usp(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)},cmn=(e,t)=>{let r=e!=null;return[i=>t[0]({lengthComputable:r,total:e,loaded:i}),t[1]]},lmn=e=>(...t)=>ds.asap(()=>e(...t));var Vsp={flush:dJr.default.constants.Z_SYNC_FLUSH,finishFlush:dJr.default.constants.Z_SYNC_FLUSH},A8S={flush:dJr.default.constants.BROTLI_OPERATION_FLUSH,finishFlush:dJr.default.constants.BROTLI_OPERATION_FLUSH},Wsp=ds.isFunction(dJr.default.createBrotliDecompress),{http:q8S,https:T8S}=Xsp.default,C8S=/https:?/,Hsp=jM.protocols.map(e=>e+":"),$sp=(e,[t,r])=>(e.on("end",r).on("error",r),t);function B8S(e,t){e.beforeRedirects.proxy&&e.beforeRedirects.proxy(e),e.beforeRedirects.config&&e.beforeRedirects.config(e,t)}function ksp(e,t,r){let i=t;if(!i&&i!==!1){let n=Qsp.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){ksp(a,t,a.href)}}var x8S=typeof process<"u"&&ds.kindOf(process)==="process",I8S=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)}),z8S=({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)}},Gsp=(e,t)=>z8S(ds.isObject(e)?e:{address:e,family:t}),ecp=x8S&&function(t){return I8S(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 we=Fsp(l,Ze=>ds.isArray(Ze)?Ze:[Ze]);l=(Ze,Mt,De)=>{we(Ze,Mt,(Te,xt,Ee)=>{if(Te)return De(Te);let It=ds.isArray(xt)?xt.map(st=>Gsp(st)):[Gsp(xt,Ee)];Mt.all?De(Te,It):De(Te,It[0].address,It[0].family)})}}let m=new Zsp.EventEmitter,w=()=>{t.cancelToken&&t.cancelToken.unsubscribe(E),t.signal&&t.signal.removeEventListener("abort",E),m.removeAllListeners()};a((we,Ze)=>{b=!0,Ze&&(g=!0,w())});function E(we){m.emit("abort",!we||we.type?new ESe(null,t,O):we)}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=pIi(t.baseURL,t.url,t.allowAbsoluteUrls),q=new URL(A,jM.hasBrowserEnv?jM.origin:void 0),D=q.protocol||Hsp[0];if(D==="data:"){let we;if(c!=="GET")return bYt(i,n,{status:405,statusText:"method not allowed",headers:{},config:t});try{we=FBs(t.url,s==="blob",{Blob:t.env&&t.env.Blob})}catch(Ze){throw wp.from(Ze,wp.ERR_BAD_REQUEST,t)}return s==="text"?(we=we.toString(o),(!o||o==="utf8")&&(we=ds.stripBOM(we))):s==="stream"&&(we=hIi.default.Readable.from(we)),bYt(i,n,{data:we,status:200,statusText:"OK",headers:new iz,config:t})}if(Hsp.indexOf(D)===-1)return n(new wp("Unsupported protocol "+D,wp.ERR_BAD_REQUEST,t));let C=iz.from(t.headers).normalize();C.set("User-Agent","axios/"+_Ii,!1);let{onUploadProgress:R,onDownloadProgress:$}=t,I=t.maxRate,U,H;if(ds.isSpecCompliantForm(u)){let we=C.getContentType(/boundary=([-_\w\d]{10,70})/i);u=zsp(u,Ze=>{C.set(Ze)},{tag:`axios-${_Ii}-boundary`,boundary:we&&we[1]||void 0})}else if(ds.isFormData(u)&&ds.isFunction(u.getHeaders)){if(C.set(u.getHeaders()),!C.hasContentLength())try{let we=await Ysp.default.promisify(u.getLength).call(u);Number.isFinite(we)&&we>=0&&C.setContentLength(we)}catch{}}else if(ds.isBlob(u)||ds.isFile(u))u.size&&C.setContentType(u.type||"application/octet-stream"),C.setContentLength(u.size||0),u=hIi.default.Readable.from(Mmo(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 k=ds.toFiniteNumber(C.getContentLength());ds.isArray(I)?(U=I[0],H=I[1]):U=H=I,u&&(R||U)&&(ds.isStream(u)||(u=hIi.default.Readable.from(u,{objectMode:!1})),u=hIi.default.pipeline([u,new VBs({maxRate:ds.toFiniteNumber(U)})],ds.noop),R&&u.on("progress",$sp(u,cmn(k,fJr(lmn(R),!1,3)))));let K;if(t.auth){let we=t.auth.username||"",Ze=t.auth.password||"";K=we+":"+Ze}if(!K&&q.username){let we=q.username,Ze=q.password;K=we+":"+Ze}K&&C.delete("authorization");let ee;try{ee=dIi(q.pathname+q.search,t.params,t.paramsSerializer).replace(/^\?/,"")}catch(we){let Ze=new Error(we.message);return Ze.config=t,Ze.url=t.url,Ze.exists=!0,n(Ze)}C.set("Accept-Encoding","gzip, compress, deflate"+(Wsp?", br":""),!1);let fe={path:ee,method:c,headers:C.toJSON(),agents:{http:t.httpAgent,https:t.httpsAgent},auth:K,protocol:D,family:d,beforeRedirect:B8S,beforeRedirects:{}};!ds.isUndefined(l)&&(fe.lookup=l),t.socketPath?fe.socketPath=t.socketPath:(fe.hostname=q.hostname.startsWith("[")?q.hostname.slice(1,-1):q.hostname,fe.port=q.port,ksp(fe,t.proxy,D+"//"+q.hostname+(q.port?":"+q.port:"")+fe.path));let me,ge=C8S.test(fe.protocol);if(fe.agent=ge?t.httpsAgent:t.httpAgent,t.transport?me=t.transport:t.maxRedirects===0?me=ge?Ksp.default:Jsp.default:(t.maxRedirects&&(fe.maxRedirects=t.maxRedirects),t.beforeRedirect&&(fe.beforeRedirects.config=t.beforeRedirect),me=ge?T8S:q8S),t.maxBodyLength>-1?fe.maxBodyLength=t.maxBodyLength:fe.maxBodyLength=1/0,t.insecureHTTPParser&&(fe.insecureHTTPParser=t.insecureHTTPParser),O=me.request(fe,function(Ze){if(O.destroyed)return;let Mt=[Ze],De=+Ze.headers["content-length"];if($||H){let st=new VBs({maxRate:ds.toFiniteNumber(H)});$&&st.on("progress",$sp(st,cmn(De,fJr(lmn($),!0,3)))),Mt.push(st)}let Te=Ze,xt=Ze.req||O;if(t.decompress!==!1&&Ze.headers["content-encoding"])switch((c==="HEAD"||Ze.statusCode===204)&&delete Ze.headers["content-encoding"],(Ze.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":Mt.push(dJr.default.createUnzip(Vsp)),delete Ze.headers["content-encoding"];break;case"deflate":Mt.push(new Nsp),Mt.push(dJr.default.createUnzip(Vsp)),delete Ze.headers["content-encoding"];break;case"br":Wsp&&(Mt.push(dJr.default.createBrotliDecompress(A8S)),delete Ze.headers["content-encoding"])}Te=Mt.length>1?hIi.default.pipeline(Mt,ds.noop):Mt[0];let Ee=hIi.default.finished(Te,()=>{Ee(),w()}),It={status:Ze.statusCode,statusText:Ze.statusMessage,headers:new iz(Ze.headers),config:t,request:xt};if(s==="stream")It.data=Te,bYt(i,n,It);else{let st=[],ve=0;Te.on("data",function(Ot){st.push(Ot),ve+=Ot.length,t.maxContentLength>-1&&ve>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 Ot=new wp("stream has been aborted",wp.ERR_BAD_RESPONSE,t,xt);Te.destroy(Ot),n(Ot)}),Te.on("error",function(Ot){O.destroyed||n(wp.from(Ot,null,t,xt))}),Te.on("end",function(){try{let Ot=st.length===1?st[0]:Buffer.concat(st);s!=="arraybuffer"&&(Ot=Ot.toString(o),(!o||o==="utf8")&&(Ot=ds.stripBOM(Ot))),It.data=Ot}catch(Ot){return n(wp.from(Ot,null,t,It.request,It))}bYt(i,n,It)})}m.once("abort",st=>{Te.destroyed||(Te.emit("error",st),Te.destroy())})}),m.once("abort",we=>{n(we),O.destroy(we)}),O.on("error",function(Ze){n(wp.from(Ze,null,t,O))}),O.on("socket",function(Ze){Ze.setKeepAlive(!0,1e3*60)}),t.timeout){let we=parseInt(t.timeout,10);if(Number.isNaN(we)){n(new wp("error trying to parse `config.timeout` to int",wp.ERR_BAD_OPTION_VALUE,t,O));return}O.setTimeout(we,function(){if(b)return;let Mt=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",De=t.transitional||omn;t.timeoutErrorMessage&&(Mt=t.timeoutErrorMessage),n(new wp(Mt,De.clarifyTimeoutError?wp.ETIMEDOUT:wp.ECONNABORTED,t,O)),E()})}if(ds.isStream(u)){let we=!1,Ze=!1;u.on("end",()=>{we=!0}),u.once("error",Mt=>{Ze=!0,O.destroy(Mt)}),u.on("close",()=>{!we&&!Ze&&E(new ESe("Request stream has been aborted",t,O))}),u.pipe(O)}else O.end(u)})};var tcp=jM.hasStandardBrowserEnv?((e,t)=>r=>(r=new URL(r,jM.origin),e.protocol===r.protocol&&e.host===r.host&&(t||e.port===r.port)))(new URL(jM.origin),jM.navigator&&/(msie|trident)/i.test(jM.navigator.userAgent)):()=>!0;var rcp=jM.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 icp=e=>e instanceof iz?{...e}:e;function Z8t(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(icp(s),icp(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 Amo=e=>{let t=Z8t({},e),{data:r,withXSRFToken:i,xsrfHeaderName:n,xsrfCookieName:a,headers:u,auth:l}=t;t.headers=u=iz.from(u),t.url=dIi(pIi(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(jM.hasStandardBrowserEnv||jM.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(jM.hasStandardBrowserEnv&&(i&&ds.isFunction(i)&&(i=i(t)),i||i!==!1&&tcp(t.url))){let s=n&&a&&rcp.read(a);s&&u.set(n,s)}return t};var R8S=typeof XMLHttpRequest<"u",ncp=R8S&&function(e){return new Promise(function(r,i){let n=Amo(e),a=n.data,u=iz.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 w=new XMLHttpRequest;w.open(n.method.toUpperCase(),n.url,!0),w.timeout=n.timeout;function E(){if(!w)return;let q=iz.from("getAllResponseHeaders"in w&&w.getAllResponseHeaders()),C={data:!l||l==="text"||l==="json"?w.responseText:w.response,status:w.status,statusText:w.statusText,headers:q,config:e,request:w};bYt(function($){r($),m()},function($){i($),m()},C),w=null}"onloadend"in w?w.onloadend=E:w.onreadystatechange=function(){!w||w.readyState!==4||w.status===0&&!(w.responseURL&&w.responseURL.indexOf("file:")===0)||setTimeout(E)},w.onabort=function(){w&&(i(new wp("Request aborted",wp.ECONNABORTED,e,w)),w=null)},w.onerror=function(){i(new wp("Network Error",wp.ERR_NETWORK,e,w)),w=null},w.ontimeout=function(){let D=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded",C=n.transitional||omn;n.timeoutErrorMessage&&(D=n.timeoutErrorMessage),i(new wp(D,C.clarifyTimeoutError?wp.ETIMEDOUT:wp.ECONNABORTED,e,w)),w=null},a===void 0&&u.setContentType(null),"setRequestHeader"in w&&ds.forEach(u.toJSON(),function(D,C){w.setRequestHeader(C,D)}),ds.isUndefined(n.withCredentials)||(w.withCredentials=!!n.withCredentials),l&&l!=="json"&&(w.responseType=n.responseType),s&&([b,O]=fJr(s,!0),w.addEventListener("progress",b)),d&&w.upload&&([c,g]=fJr(d),w.upload.addEventListener("progress",c),w.upload.addEventListener("loadend",g)),(n.cancelToken||n.signal)&&(o=q=>{w&&(i(!q||q.type?new ESe(null,e,w):q),w.abort(),w=null)},n.cancelToken&&n.cancelToken.subscribe(o),n.signal&&(n.signal.aborted?o():n.signal.addEventListener("abort",o)));let A=Xsa(n.url);if(A&&jM.protocols.indexOf(A)===-1){i(new wp("Unsupported protocol "+A+":",wp.ERR_BAD_REQUEST,e));return}w.send(a||null)})};var N8S=(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 ESe(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}},acp=N8S;var F8S=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},L8S=async function*(e,t){for await(let r of U8S(e))yield*F8S(r,t)},U8S=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()}},$Bs=(e,t,r,i)=>{let n=L8S(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 Tmo=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",ucp=Tmo&&typeof ReadableStream=="function",V8S=Tmo&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),scp=(e,...t)=>{try{return!!e(...t)}catch{return!1}},W8S=ucp&&scp(()=>{let e=!1,t=new Request(jM.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),ocp=64*1024,GBs=ucp&&scp(()=>ds.isReadableStream(new Response("").body)),qmo={stream:GBs&&(e=>e.body)};Tmo&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!qmo[t]&&(qmo[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 H8S=async e=>{if(e==null)return 0;if(ds.isBlob(e))return e.size;if(ds.isSpecCompliantForm(e))return(await new Request(jM.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 V8S(e)).byteLength},$8S=async(e,t)=>{let r=ds.toFiniteNumber(e.getContentLength());return r??H8S(t)},ccp=Tmo&&(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}=Amo(e);s=s?(s+"").toLowerCase():"text";let g=acp([n,a&&a.toAbortSignal()],u),O,m=g&&g.unsubscribe&&(()=>{g.unsubscribe()}),w;try{if(d&&W8S&&r!=="get"&&r!=="head"&&(w=await $8S(o,i))!==0){let C=new Request(t,{method:"POST",body:i,duplex:"half"}),R;if(ds.isFormData(i)&&(R=C.headers.get("content-type"))&&o.setContentType(R),C.body){let[$,I]=cmn(w,fJr(lmn(d)));i=$Bs(C.body,ocp,$,I)}}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=GBs&&(s==="stream"||s==="response");if(GBs&&(l||q&&m)){let C={};["status","statusText","headers"].forEach(U=>{C[U]=A[U]});let R=ds.toFiniteNumber(A.headers.get("content-length")),[$,I]=l&&cmn(R,fJr(lmn(l),!0))||[];A=new Response($Bs(A.body,ocp,$,()=>{I&&I(),m&&m()}),C)}s=s||"text";let D=await qmo[ds.findKey(qmo,s)||"text"](A,e);return!q&&m&&m(),await new Promise((C,R)=>{bYt(C,R,{data:D,headers:iz.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 QBs={http:ecp,xhr:ncp,fetch:ccp};ds.forEach(QBs,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});var lcp=e=>`- ${e}`,G8S=e=>ds.isFunction(e)||e===null||e===!1,Cmo={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,!G8S(r)&&(i=QBs[(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 :
|
|
@@ -1935,7 +1935,7 @@ ${q}${A}${D}${Yzp.default.cursorHide}`});var Gpa=yi(mBi(),1);function U5s(e,t){i
|
|
|
1935
1935
|
Run ${Js.cyan("fern generator upgrade")} to upgrade your generators.`),n.length>2&&(r+=`
|
|
1936
1936
|
Run ${Js.cyan("fern generator upgrade --list")} to see the full list of generator upgrades available.`),dmn(r,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"})}async function Z5s({generatorUpgradeInfo:e,header:t,limit:r,includeBoxen:i=!0}){if(!ORp(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+=`
|
|
1937
1937
|
${await JjD(l.generatorName)} (${l.apiName!=null?"API: "+l.apiName+", ":""}Group: ${l.generatorGroup}) `+Js.dim(l.currentVersion)+Js.reset(" \u2192 ")+Js.green(l.latestVersion);return n+=`
|
|
1938
|
-
`,i?dmn(n,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):n}async function JjD(e){let r=await new gRp.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 KjD({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){if(t.length===1){let l={type:"singleApi",versions:{}};return await PRp({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(d,s,o,c)=>{l.versions[s]==null&&(l.versions[s]={});let b=vsi(o.name,c),g=await BQt({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 PRp({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=vsi(s.name,o),b=await BQt({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 PRp({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 P8t({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 jRp(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=Die(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 xAo({project:e,cliContext:t,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){let u=[];if(e!=null){let l=await KjD({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(...jRp(s,d,t.logger));else u.push(...jRp(l.versions,void 0,t.logger))}return u}var e_a=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 a1n=class extends Error{request;constructor(t){super(`Request timed out: ${t.method} ${t.url}`),this.name="TimeoutError",this.request=t}};var o1n=e=>e!==null&&typeof e=="object";var t_a=(...e)=>{for(let t of e)if((!o1n(t)||Array.isArray(t))&&t!==void 0)throw new TypeError("The `options` argument must be an object");return t9s({},...e)},k5s=(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 IAo(e,t,r){return Object.hasOwn(t,r)&&t[r]===void 0?[]:t9s(e[r]??[],t[r]??[])}var e9s=(e={},t={})=>({beforeRequest:IAo(e,t,"beforeRequest"),beforeRetry:IAo(e,t,"beforeRetry"),afterResponse:IAo(e,t,"afterResponse"),beforeError:IAo(e,t,"beforeError")}),t9s=(...e)=>{let t={},r={},i={};for(let n of e)if(Array.isArray(n))Array.isArray(t)||(t=[]),t=[...t,...n];else if(o1n(n)){for(let[a,u]of Object.entries(n))o1n(u)&&a in t&&(u=t9s(t[a],u)),t={...t,[a]:u};o1n(n.hooks)&&(i=e9s(i,n.hooks),t.hooks=i),o1n(n.headers)&&(r=k5s(r,n.headers),t.headers=r)}return t};var wRp=(()=>{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})(),SRp=typeof globalThis.AbortController=="function",DRp=typeof globalThis.ReadableStream=="function",ERp=typeof globalThis.FormData=="function",zAo=["get","post","put","patch","head","delete"],YjD=()=>{};YjD();var MRp={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},RAo=2147483647,NAo=Symbol("stop"),ARp={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},qRp={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 CRp=e=>zAo.includes(e)?e.toUpperCase():e,XjD=["get","put","head","delete","options","trace"],ZjD=[408,413,429,500,502,503,504],kjD=[413,429,503],TRp={limit:2,methods:XjD,statusCodes:ZjD,afterStatusCodes:kjD,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:e=>.3*2**(e-1)*1e3},BRp=(e={})=>{if(typeof e=="number")return{...TRp,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{...TRp,...e}};async function r9s(e,t,r,i){return new Promise((n,a)=>{let u=setTimeout(()=>{r&&r.abort(),a(new a1n(e))},i.timeout);i.fetch(e,t).then(n).catch(a).then(()=>{clearTimeout(u)})})}async function i9s(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 xRp=(e,t)=>{let r={};for(let i in t)!(i in qRp)&&!(i in ARp)&&!(i in e)&&(r[i]=t[i]);return r};var r_a=class e{static create(t,r){let i=new e(t,r),n=async()=>{if(typeof i._options.timeout=="number"&&i._options.timeout>RAo)throw new RangeError(`The \`timeout\` option cannot be greater than ${RAo}`);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 e_a(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(!DRp)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(MRp))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:k5s(this._input.headers,r.headers),hooks:e9s({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},r.hooks),method:CRp(r.method??this._input.method),prefixUrl:String(r.prefixUrl||""),retry:BRp(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(SRp){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(wRp&&(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);(ERp&&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 a1n)throw t;if(t instanceof e_a){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),RAo);if(this._retryCount<1)throw r;await i9s(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})===NAo)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=xRp(this.request,this._options),r=this.request;return this.request=r.clone(),this._options.timeout===!1?this._options.fetch(r,t):r9s(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 n9s=e=>{let t=(r,i)=>r_a.create(r,t_a(e,i));for(let r of zAo)t[r]=(i,n)=>r_a.create(i,t_a(e,n,{method:r}));return t.create=r=>n9s(t_a(r)),t.extend=r=>(typeof r=="function"&&(r=r(e??{})),n9s(t_a(e,r))),t.stop=NAo,t},ewD=n9s(),IRp=ewD;var nNp=yi(iNp(),1);function c9s(e){let t=(0,nNp.default)("npm",{registry:"https://registry.npmjs.org/"}),r=t[`${e}:registry`]||t.config_registry||t.registry;return r.slice(-1)==="/"?r:`${r}/`}var ZNp=yi(XNp(),1),kNp=yi(mBi(),1),j9s=class extends Error{constructor(t){super(`Package \`${t}\` could not be found`),this.name="PackageNotFoundError"}},w9s=class extends Error{constructor(t,r){super(`Version \`${r}\` for package \`${t}\` could not be found`),this.name="VersionNotFoundError"}};async function S9s(e,t={}){let{version:r="latest"}=t,{omitDeprecated:i=!0}=t,n=e.split("/")[0],a=t.registryUrl??c9s(n),u=new URL(encodeURIComponent(e).replace(/^%40/,"@"),a),l=(0,ZNp.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 IRp(u,{headers:d,keepalive:!0}).json()}catch(c){throw c?.response?.status===404?new j9s(e):c}if(t.allVersions)return s;let o=new w9s(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=kNp.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 s_a(e,t){let{version:r}=await S9s(e.toLowerCase(),t);return r}async function pdi({cliEnvironment:e,includePreReleases:t=!1}){return e.packageName!=="fern-api"?e.packageVersion:s_a(e.packageName,{version:t?"prerelease":"latest"})}var eFp=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],YAo=class{environment;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=W0.Info;constructor(t){this.ttyAwareLogger=new BAo(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.56.27"}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 $te}failWithoutThrowing(t,r){this.didSucceed=!1,AAo({message:t,error:r,logger:this.logger})}async exit(){this._suppressUpgradeMessage||await this.nudgeUpgradeIfAvailable(),this.ttyAwareLogger.finish(),await(await imn()).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 mRp({cliEnvironment:this.environment,upgradeInfo:t});r!=null&&(r.endsWith(`
|
|
1938
|
+
`,i?dmn(n,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):n}async function JjD(e){let r=await new gRp.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 KjD({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){if(t.length===1){let l={type:"singleApi",versions:{}};return await PRp({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(d,s,o,c)=>{l.versions[s]==null&&(l.versions[s]={});let b=vsi(o.name,c),g=await BQt({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 PRp({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=vsi(s.name,o),b=await BQt({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 PRp({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 P8t({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 jRp(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=Die(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 xAo({project:e,cliContext:t,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){let u=[];if(e!=null){let l=await KjD({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(...jRp(s,d,t.logger));else u.push(...jRp(l.versions,void 0,t.logger))}return u}var e_a=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 a1n=class extends Error{request;constructor(t){super(`Request timed out: ${t.method} ${t.url}`),this.name="TimeoutError",this.request=t}};var o1n=e=>e!==null&&typeof e=="object";var t_a=(...e)=>{for(let t of e)if((!o1n(t)||Array.isArray(t))&&t!==void 0)throw new TypeError("The `options` argument must be an object");return t9s({},...e)},k5s=(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 IAo(e,t,r){return Object.hasOwn(t,r)&&t[r]===void 0?[]:t9s(e[r]??[],t[r]??[])}var e9s=(e={},t={})=>({beforeRequest:IAo(e,t,"beforeRequest"),beforeRetry:IAo(e,t,"beforeRetry"),afterResponse:IAo(e,t,"afterResponse"),beforeError:IAo(e,t,"beforeError")}),t9s=(...e)=>{let t={},r={},i={};for(let n of e)if(Array.isArray(n))Array.isArray(t)||(t=[]),t=[...t,...n];else if(o1n(n)){for(let[a,u]of Object.entries(n))o1n(u)&&a in t&&(u=t9s(t[a],u)),t={...t,[a]:u};o1n(n.hooks)&&(i=e9s(i,n.hooks),t.hooks=i),o1n(n.headers)&&(r=k5s(r,n.headers),t.headers=r)}return t};var wRp=(()=>{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})(),SRp=typeof globalThis.AbortController=="function",DRp=typeof globalThis.ReadableStream=="function",ERp=typeof globalThis.FormData=="function",zAo=["get","post","put","patch","head","delete"],YjD=()=>{};YjD();var MRp={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},RAo=2147483647,NAo=Symbol("stop"),ARp={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},qRp={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 CRp=e=>zAo.includes(e)?e.toUpperCase():e,XjD=["get","put","head","delete","options","trace"],ZjD=[408,413,429,500,502,503,504],kjD=[413,429,503],TRp={limit:2,methods:XjD,statusCodes:ZjD,afterStatusCodes:kjD,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:e=>.3*2**(e-1)*1e3},BRp=(e={})=>{if(typeof e=="number")return{...TRp,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{...TRp,...e}};async function r9s(e,t,r,i){return new Promise((n,a)=>{let u=setTimeout(()=>{r&&r.abort(),a(new a1n(e))},i.timeout);i.fetch(e,t).then(n).catch(a).then(()=>{clearTimeout(u)})})}async function i9s(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 xRp=(e,t)=>{let r={};for(let i in t)!(i in qRp)&&!(i in ARp)&&!(i in e)&&(r[i]=t[i]);return r};var r_a=class e{static create(t,r){let i=new e(t,r),n=async()=>{if(typeof i._options.timeout=="number"&&i._options.timeout>RAo)throw new RangeError(`The \`timeout\` option cannot be greater than ${RAo}`);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 e_a(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(!DRp)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(MRp))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:k5s(this._input.headers,r.headers),hooks:e9s({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},r.hooks),method:CRp(r.method??this._input.method),prefixUrl:String(r.prefixUrl||""),retry:BRp(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(SRp){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(wRp&&(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);(ERp&&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 a1n)throw t;if(t instanceof e_a){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),RAo);if(this._retryCount<1)throw r;await i9s(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})===NAo)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=xRp(this.request,this._options),r=this.request;return this.request=r.clone(),this._options.timeout===!1?this._options.fetch(r,t):r9s(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 n9s=e=>{let t=(r,i)=>r_a.create(r,t_a(e,i));for(let r of zAo)t[r]=(i,n)=>r_a.create(i,t_a(e,n,{method:r}));return t.create=r=>n9s(t_a(r)),t.extend=r=>(typeof r=="function"&&(r=r(e??{})),n9s(t_a(e,r))),t.stop=NAo,t},ewD=n9s(),IRp=ewD;var nNp=yi(iNp(),1);function c9s(e){let t=(0,nNp.default)("npm",{registry:"https://registry.npmjs.org/"}),r=t[`${e}:registry`]||t.config_registry||t.registry;return r.slice(-1)==="/"?r:`${r}/`}var ZNp=yi(XNp(),1),kNp=yi(mBi(),1),j9s=class extends Error{constructor(t){super(`Package \`${t}\` could not be found`),this.name="PackageNotFoundError"}},w9s=class extends Error{constructor(t,r){super(`Version \`${r}\` for package \`${t}\` could not be found`),this.name="VersionNotFoundError"}};async function S9s(e,t={}){let{version:r="latest"}=t,{omitDeprecated:i=!0}=t,n=e.split("/")[0],a=t.registryUrl??c9s(n),u=new URL(encodeURIComponent(e).replace(/^%40/,"@"),a),l=(0,ZNp.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 IRp(u,{headers:d,keepalive:!0}).json()}catch(c){throw c?.response?.status===404?new j9s(e):c}if(t.allVersions)return s;let o=new w9s(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=kNp.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 s_a(e,t){let{version:r}=await S9s(e.toLowerCase(),t);return r}async function pdi({cliEnvironment:e,includePreReleases:t=!1}){return e.packageName!=="fern-api"?e.packageVersion:s_a(e.packageName,{version:t?"prerelease":"latest"})}var eFp=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],YAo=class{environment;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=W0.Info;constructor(t){this.ttyAwareLogger=new BAo(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.56.28"}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 $te}failWithoutThrowing(t,r){this.didSucceed=!1,AAo({message:t,error:r,logger:this.logger})}async exit(){this._suppressUpgradeMessage||await this.nudgeUpgradeIfAvailable(),this.ttyAwareLogger.finish(),await(await imn()).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 mRp({cliEnvironment:this.environment,upgradeInfo:t});r!=null&&(r.endsWith(`
|
|
1939
1939
|
`)||(r+=`
|
|
1940
1940
|
`),this.logger.info(r))}catch{}}async exitIfFailed(){this.didSucceed||await this.exit()}exitProgram(){process.exit(this.didSucceed?0:1)}longestWorkspaceName;registerWorkspaces(t){let r=mps(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 Qpa(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 $te}finally{i.finish()}return n}async instrumentPostHogEvent(t){(await imn()).sendEvent(t)}logger=$Gr(this.log.bind(this));constructTaskInitForWorkspace(t){let r=tFp(t.type==="docs"?"docs":t.workspaceName??"api"),i=1+(this.longestWorkspaceName!=null?tFp(this.longestWorkspaceName):r).length,n=r.padEnd(i),a=eFp[this.numTasks++%eFp.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===SC.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=>Bui.indexOf(i.level)>=Bui.indexOf(this.logLevel));this.ttyAwareLogger.log(r,{includeDebugInfo:this.logLevel===W0.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 pdi({cliEnvironment:this.environment,includePreReleases:t}),i=Die(r,this.environment.packageVersion);this.logger.debug(`Latest version: ${r}. `+(i?"Upgrade available.":"No upgrade available."));let n={isUpgradeAvailable:i,latestVersion:r},a=await xAo({project:this.project,cliContext:this});this._isUpgradeAvailable={cliUpgradeInfo:n,generatorUpgradeInfo:a}}return this._isUpgradeAvailable}async confirmPrompt(t,r=!1){return await I5s({message:t,default:r})}async getInput(t){return await z5s({message:t.message,default:t.default})}};function tFp(e){return`[${e}]:`}var wZp=require("fs/promises");function Eie({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(`
|
|
1941
1941
|
`)}var CGp=require("fs/promises");var T5t=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 GSe=class extends T5t{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 c_a=class{context;constructor(t){this.context=t}};var XAo=class e{files={};directories={};getAllFiles(){let t={},r=(i,n)=>{for(let[u,l]of Object.entries(i.files)){let d=n!=null?sy.of(`${n}${W4t}${u}`):sy.of(u);t[d]=l}let a=Object.keys(i.directories).sort();for(let u of a){let l=n!=null?`${n}${W4t}${u}`:u,d=i.directories[u];r(d,l)}};return r(this),t}getOrCreateFile(t){return this.getOrCreateFileRecursive(t.split(W4t))}getOrCreateFileRecursive(t){if(t.length===1)return this.files[sy.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 SRi=class{enableUniqueErrorsPerEndpoint;root;rootApiFile;packageMarkerFile={};basePath=void 0;constructor(t){this.enableUniqueErrorsPerEndpoint=t,this.root=new XAo,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 gQr(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"]))a1D(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??U0((xBe(r)+"/"+SCi(r,{stripExtension:!0})).replaceAll("__package__","root"));if(t===sy.of(K3))return this.rootApiFile.imports==null&&(this.rootApiFile.imports={}),this.rootApiFile.imports[n]=deo(xBe(dyn.of(`/${t}`)),dyn.of(`/${r}`)),n;let a=this.getOrCreateFile(t);return a.imports==null&&(a.imports={}),a.imports[n]=deo(xBe(dyn.of(`/${t}`)),dyn.of(`/${r}`)),n}addType(t,{name:r,schema:i}){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=>H1e(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=SR(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:SR(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:SR(r,u.path)}]))})}return{rootApiFile:this.rootApiFile,packageMarkerFile:this.packageMarkerFile,definitionFiles:t}}getOrCreateFile(t){return t===Z1?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 a1D(e){return e?.header!=null}var Mie={openapi:e=>({...e,type:"openapi",_visit:function(t){return Mie._visit(this,t)}}),protobuf:e=>({...e,type:"protobuf",_visit:function(t){return Mie._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 p1n={protobuf:e=>({...e,type:"protobuf",_visit:function(t){return p1n._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"protobuf":return t.protobuf(e);default:return t._other(e)}}};var P5={basic:e=>({...e,type:"basic",_visit:function(t){return P5._visit(this,t)}}),bearer:e=>({...e,type:"bearer",_visit:function(t){return P5._visit(this,t)}}),header:e=>({...e,type:"header",_visit:function(t){return P5._visit(this,t)}}),query:e=>({...e,type:"query",_visit:function(t){return P5._visit(this,t)}}),oauth:e=>({...e,type:"oauth",_visit:function(t){return P5._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 u_={int:e=>({value:e,type:"int",_visit:function(t){return u_._visit(this,t)}}),int64:e=>({value:e,type:"int64",_visit:function(t){return u_._visit(this,t)}}),uint:e=>({value:e,type:"uint",_visit:function(t){return u_._visit(this,t)}}),uint64:e=>({value:e,type:"uint64",_visit:function(t){return u_._visit(this,t)}}),float:e=>({value:e,type:"float",_visit:function(t){return u_._visit(this,t)}}),double:e=>({value:e,type:"double",_visit:function(t){return u_._visit(this,t)}}),string:e=>({value:e,type:"string",_visit:function(t){return u_._visit(this,t)}}),datetime:e=>({value:e,type:"datetime",_visit:function(t){return u_._visit(this,t)}}),date:e=>({value:e,type:"date",_visit:function(t){return u_._visit(this,t)}}),base64:e=>({value:e,type:"base64",_visit:function(t){return u_._visit(this,t)}}),boolean:e=>({value:e,type:"boolean",_visit:function(t){return u_._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 _1n={boolean:e=>({value:e,type:"boolean",_visit:function(t){return _1n._visit(this,t)}}),string:e=>({value:e,type:"string",_visit:function(t){return _1n._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 _di={discriminated:e=>({value:e,type:"discriminated",_visit:function(t){return _di._visit(this,t)}}),undiscriminated:e=>({value:e,type:"undiscriminated",_visit:function(t){return _di._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 yV={GenerallyAvailable:"GenerallyAvailable",Beta:"Beta",Deprecated:"Deprecated",_visit:(e,t)=>{switch(e){case yV.GenerallyAvailable:return t.generallyAvailable();case yV.Beta:return t.beta();case yV.Deprecated:return t.deprecated();default:return t._other()}}};var mze={cursor:e=>({...e,type:"cursor",_visit(t){return mze._visit(this,t)}}),offset:e=>({...e,type:"offset",_visit(t){return mze._visit(this,t)}}),custom:e=>({...e,type:"custom",_visit(t){return mze._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 aKr={language:e=>({...e,type:"language",_visit:function(t){return aKr._visit(this,t)}}),sdk:e=>({...e,type:"sdk",_visit:function(t){return aKr._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 vV={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 vV.Curl:return t.curl();case vV.Python:return t.python();case vV.Javascript:return t.javascript();case vV.Typescript:return t.typescript();case vV.Go:return t.go();case vV.Ruby:return t.ruby();case vV.Csharp:return t.csharp();case vV.Java:return t.java();case vV.Js:return t.js();case vV.Node:return t.node();case vV.Ts:return t.ts();case vV.Nodets:return t.nodets();case vV.Golang:return t.golang();case vV.Dotnet:return t.dotnet();case vV.Jvm:return t.jvm();default:return t._other()}}};var C5t={unknown:e=>({value:e,type:"unknown",_visit:function(t){return C5t._visit(this,t)}}),full:e=>({...e,type:"full",_visit:function(t){return C5t._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 Pze={withStreaming:e=>({...e,type:"withStreaming",_visit:function(t){return Pze._visit(this,t)}}),withoutStreaming:e=>({value:e,type:"withoutStreaming",_visit:function(t){return Pze._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 yG={Get:"GET",Post:"POST",Put:"PUT",Patch:"PATCH",Delete:"DELETE",Head:"HEAD",Options:"OPTIONS",Trace:"TRACE",_visit:(e,t)=>{switch(e){case yG.Get:return t.get();case yG.Post:return t.post();case yG.Put:return t.put();case yG.Patch:return t.patch();case yG.Delete:return t.delete();case yG.Head:return t.head();case yG.Options:return t.options();case yG.Trace:return t.trace();default:return t._other()}}};var hdi={octetStream:e=>({...e,type:"octetStream",_visit:function(t){return hdi._visit(this,t)}}),multipart:e=>({...e,type:"multipart",_visit:function(t){return hdi._visit(this,t)}}),json:e=>({...e,type:"json",_visit:function(t){return hdi._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 jze={file:e=>({...e,type:"file",_visit:function(t){return jze._visit(this,t)}}),json:e=>({value:e,type:"json",_visit:function(t){return jze._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 Aie={file:e=>({...e,type:"file",_visit:function(t){return Aie._visit(this,t)}}),json:e=>({...e,type:"json",_visit:function(t){return Aie._visit(this,t)}}),text:e=>({...e,type:"text",_visit:function(t){return Aie._visit(this,t)}}),streamingSse:e=>({...e,type:"streamingSse",_visit:function(t){return Aie._visit(this,t)}}),streamingText:e=>({...e,type:"streamingText",_visit:function(t){return Aie._visit(this,t)}}),streamingJson:e=>({...e,type:"streamingJson",_visit:function(t){return Aie._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"streamingSse":return t.streamingSse(e);case"streamingText":return t.streamingText(e);case"streamingJson":return t.streamingJson(e);default:return t._other(e)}}};var gy={primitive:e=>({...e,type:"primitive",_visit:function(t){return gy._visit(this,t)}}),object:e=>({...e,type:"object",_visit:function(t){return gy._visit(this,t)}}),array:e=>({...e,type:"array",_visit:function(t){return gy._visit(this,t)}}),map:e=>({...e,type:"map",_visit:function(t){return gy._visit(this,t)}}),optional:e=>({...e,type:"optional",_visit:function(t){return gy._visit(this,t)}}),enum:e=>({...e,type:"enum",_visit:function(t){return gy._visit(this,t)}}),reference:e=>({...e,type:"reference",_visit:function(t){return gy._visit(this,t)}}),literal:e=>({...e,type:"literal",_visit:function(t){return gy._visit(this,t)}}),oneOf:e=>({value:e,type:"oneOf",_visit:function(t){return gy._visit(this,t)}}),nullable:e=>({...e,type:"nullable",_visit:function(t){return gy._visit(this,t)}}),unknown:e=>({...e,type:"unknown",_visit:function(t){return gy._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 bj={int:e=>({...e,type:"int",_visit:function(t){return bj._visit(this,t)}}),int64:e=>({...e,type:"int64",_visit:function(t){return bj._visit(this,t)}}),uint:()=>({type:"uint",_visit:function(e){return bj._visit(this,e)}}),uint64:()=>({type:"uint64",_visit:function(e){return bj._visit(this,e)}}),float:()=>({type:"float",_visit:function(e){return bj._visit(this,e)}}),double:e=>({...e,type:"double",_visit:function(t){return bj._visit(this,t)}}),string:e=>({...e,type:"string",_visit:function(t){return bj._visit(this,t)}}),datetime:()=>({type:"datetime",_visit:function(e){return bj._visit(this,e)}}),date:()=>({type:"date",_visit:function(e){return bj._visit(this,e)}}),base64:()=>({type:"base64",_visit:function(e){return bj._visit(this,e)}}),boolean:e=>({...e,type:"boolean",_visit:function(t){return bj._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 dx={boolean:e=>({value:e,type:"boolean",_visit:function(t){return dx._visit(this,t)}}),string:e=>({value:e,type:"string",_visit:function(t){return dx._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 oKr={discriminated:e=>({...e,type:"discriminated",_visit:function(t){return oKr._visit(this,t)}}),undiscriminated:e=>({...e,type:"undiscriminated",_visit:function(t){return oKr._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 QSe={octetStream:e=>({...e,type:"octetStream",_visit:function(t){return QSe._visit(this,t)}}),multipart:e=>({...e,type:"multipart",_visit:function(t){return QSe._visit(this,t)}}),json:e=>({...e,type:"json",_visit:function(t){return QSe._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 px={file:e=>({...e,type:"file",_visit:function(t){return px._visit(this,t)}}),json:e=>({...e,type:"json",_visit:function(t){return px._visit(this,t)}}),text:e=>({...e,type:"text",_visit:function(t){return px._visit(this,t)}}),streamingSse:e=>({...e,type:"streamingSse",_visit:function(t){return px._visit(this,t)}}),streamingText:e=>({...e,type:"streamingText",_visit:function(t){return px._visit(this,t)}}),streamingJson:e=>({...e,type:"streamingJson",_visit:function(t){return px._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"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 XY={discriminated:e=>({...e,type:"discriminated",_visit:function(t){return XY._visit(this,t)}}),undiscriminated:e=>({...e,type:"undiscriminated",_visit:function(t){return XY._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 sv={};Co(sv,{AllOfPropertyConflict:()=>z1n,ArraySchema:()=>fTo,ArraySchemaWithExample:()=>FTo,Availability:()=>uqo,Base64WithExample:()=>xTo,BasicSecurityScheme:()=>lqo,BearerSecurityScheme:()=>fqo,BooleanSchema:()=>aTo,BooleanWithExample:()=>ITo,CasingOverrides:()=>_qo,CommonProperty:()=>gTo,CommonPropertyWithExample:()=>JTo,CursorPagination:()=>Hqo,CustomCodeSample:()=>Vqo,CustomCodeSampleLanguage:()=>Fqo,CustomCodeSampleSdk:()=>Uqo,CustomPagination:()=>Gqo,DateWithExample:()=>BTo,DatetimeWithExample:()=>CTo,DiscriminatedOneOfSchema:()=>vTo,DiscriminatedOneOfSchemaWithExample:()=>GTo,DoubleSchema:()=>iTo,DoubleWithExample:()=>qTo,Encoding:()=>oqo,Endpoint:()=>Qqo,EndpointExample:()=>T1n,EndpointResponseExample:()=>Nqo,EndpointSdkName:()=>sXt,EndpointWithExample:()=>TFp,EnumSchema:()=>b1n,EnumSchemaWithExample:()=>RTo,EnumValue:()=>bdi,ErrorExample:()=>Bqo,FernExample:()=>Iqo,FileResponse:()=>D1n,FileSchema:()=>Dqo,FloatWithExample:()=>ATo,FullEndpointExample:()=>Wqo,FullExample:()=>$A,FullObjectExample:()=>mqo,FullOneOfExample:()=>jqo,GlobalHeader:()=>uTo,Header:()=>Odi,HeaderExample:()=>q1n,HeaderSecurityScheme:()=>dqo,HeaderWithExample:()=>jdi,HttpEndpointServer:()=>M1n,HttpError:()=>xqo,HttpErrorWithExample:()=>wTo,HttpMethod:()=>m1n,IdempotencyHeader:()=>sTo,Int64WithExample:()=>DTo,IntSchema:()=>tTo,IntWithExample:()=>STo,JsonRequest:()=>qqo,JsonRequestWithExample:()=>mTo,JsonResponse:()=>E1n,JsonResponseWithExample:()=>F1n,KeyValuePair:()=>Pqo,LiteralExample:()=>Oqo,LiteralSchema:()=>I1n,LiteralSchemaValue:()=>cTo,LongSchema:()=>rTo,MapSchema:()=>dTo,MapSchemaWithExample:()=>LTo,MultipartRequest:()=>S1n,MultipartRequestProperty:()=>Aqo,MultipartRequestPropertyEncoding:()=>Mqo,MultipartSchema:()=>Eqo,NamedFullExample:()=>lXt,Namespace:()=>hqo,NamespaceId:()=>gqo,NullableSchema:()=>_To,NullableSchemaWithExample:()=>VTo,OauthSecurityScheme:()=>vqo,ObjectProperty:()=>yTo,ObjectPropertyConflictInfo:()=>R1n,ObjectPropertyWithExample:()=>$To,ObjectSchema:()=>lTo,ObjectSchemaWithExample:()=>WTo,OctetStreamRequest:()=>w1n,OffsetPagination:()=>$qo,OneOfSchema:()=>hTo,OneOfSchemaWithExample:()=>HTo,OpenApiIntermediateRepresentation:()=>AFp,OpenApiSource:()=>rqo,OptionalSchema:()=>pTo,OptionalSchemaWithExample:()=>UTo,Pagination:()=>C1n,PathParameter:()=>P1n,PathParameterExample:()=>zqo,PathParameterWithExample:()=>OTo,PrimitiveExample:()=>O1n,PrimitiveSchema:()=>Pdi,PrimitiveSchemaValue:()=>oTo,PrimitiveSchemaValueWithExample:()=>zTo,PrimitiveSchemaWithExample:()=>L1n,PropertyKey:()=>g1n,ProtobufEncoding:()=>aqo,ProtobufSource:()=>iqo,QueryParameter:()=>j1n,QueryParameterExample:()=>A1n,QueryParameterWithExample:()=>N1n,QuerySecurityScheme:()=>pqo,ReferencedSchema:()=>cXt,Request:()=>Tqo,RequestWithExample:()=>PTo,Response:()=>Cqo,ResponseWithExample:()=>jTo,Schema:()=>IO,SchemaId:()=>ZY,SchemaWithExample:()=>MM,Schemas:()=>eTo,SdkGroup:()=>yqo,SdkGroupInfo:()=>wqo,SdkGroupName:()=>gdi,SecurityScheme:()=>bqo,SecuritySchemeId:()=>cqo,Server:()=>p_a,Source:()=>nqo,StatusCode:()=>aXt,StreamingResponseExample:()=>Rqo,StringSchema:()=>nTo,StringSchemaWithExample:()=>TTo,SupportedSdkLanguage:()=>Lqo,Tag:()=>sqo,TagId:()=>kY,Tags:()=>Sqo,TextResponse:()=>mdi,Uint64WithExample:()=>MTo,UintWithExample:()=>ETo,UnDiscriminatedOneOfSchema:()=>bTo,UnDiscriminatedOneOfSchemaWithExample:()=>QTo,UnknownSchemaWithExample:()=>NTo,Webhook:()=>Jqo,WebhookExampleCall:()=>x1n,WebhookHttpMethod:()=>B1n,WebhookWithExample:()=>CFp,WebsocketChannel:()=>kqo,WebsocketHandshake:()=>Kqo,WebsocketHandshakeWithExample:()=>qFp,WebsocketMessageExample:()=>Xqo,WebsocketServer:()=>Yqo,WebsocketSessionExample:()=>Zqo,WithAvailability:()=>dh,WithDescription:()=>_f,WithEncoding:()=>qie,WithInline:()=>sE,WithName:()=>s0,WithNamespace:()=>uXt,WithSdkGroupName:()=>xO,WithSource:()=>ly,WithStatusCode:()=>oXt,WithTitle:()=>BO,commons:()=>q9s,example:()=>T9s,finalIr:()=>C9s,parseIr:()=>B9s});var q9s={};Co(q9s,{BasicSecurityScheme:()=>lqo,BearerSecurityScheme:()=>fqo,Encoding:()=>oqo,HeaderSecurityScheme:()=>dqo,Namespace:()=>hqo,NamespaceId:()=>gqo,OauthSecurityScheme:()=>vqo,OpenApiSource:()=>rqo,ProtobufEncoding:()=>aqo,ProtobufSource:()=>iqo,QuerySecurityScheme:()=>pqo,SchemaId:()=>ZY,SdkGroup:()=>yqo,SdkGroupName:()=>gdi,SecurityScheme:()=>bqo,SecuritySchemeId:()=>cqo,Server:()=>p_a,Source:()=>nqo,StatusCode:()=>aXt,Tag:()=>sqo,TagId:()=>kY,WithAvailability:()=>dh,WithDescription:()=>_f,WithEncoding:()=>qie,WithInline:()=>sE,WithName:()=>s0,WithNamespace:()=>uXt,WithSdkGroupName:()=>xO,WithSource:()=>ly,WithStatusCode:()=>oXt,WithTitle:()=>BO});var At={};Co(At,{JsonError:()=>h1n,ParseError:()=>y1n,any:()=>yFp,bigint:()=>iFp,boolean:()=>vFp,booleanLiteral:()=>hFp,date:()=>nFp,discriminant:()=>DFp,enum_:()=>kAo,getObjectLikeUtils:()=>B5t,getObjectUtils:()=>DRi,getSchemaUtils:()=>HA,isProperty:()=>vdi,lazy:()=>aFp,lazyObject:()=>dFp,list:()=>tqo,number:()=>bFp,object:()=>eqo,objectWithoutOptionalProperties:()=>fFp,optional:()=>D9s,property:()=>uFp,record:()=>PFp,set:()=>jFp,string:()=>gFp,stringLiteral:()=>_Fp,transform:()=>E9s,undiscriminatedUnion:()=>SFp,union:()=>MFp,unknown:()=>OFp,withParsedProperties:()=>A9s});var KP={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 EM(e,t){return`Expected ${t}. Received ${o1D(e)}.`}function o1D(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 j5(e){return{...e,json:rFp(e.json),parse:rFp(e.parse)}}function rFp(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(`
|
|
@@ -1977,7 +1977,7 @@ ${b}
|
|
|
1977
1977
|
${JSON.stringify(r)}"`)}}function il_(e,t,r,i){let n=r.resolveSourceOrThrow({source:t,relativeFilepath:e.relativeFilepath});if(n==null||n.type!=="protobuf")throw new Error(`Expected a protobuf source for ${t.proto}.`);let a=el_({source:n,serviceNameOverride:i});if(a==null)throw new Error(`Failed to resolve service name from ${n.relativeFilePath}.`);return _xe.grpc({service:a})}function nl_({rootDefaultUrl:e,rootPathParameters:t,serviceDefinition:r,file:i,errorResolver:n,typeResolver:a,propertyResolver:u,exampleResolver:l,variableResolver:d,sourceResolver:s,globalErrors:o,workspace:c}){let b=TEn({pathParameters:r["path-parameters"],location:hxe.Service,file:i,variableResolver:d}),g=tl_({file:i,serviceDeclaration:r,sourceResolver:s}),O={fernFilepath:i.fernFilepath};return{availability:Kie(r.availability),name:O,displayName:r["display-name"]??void 0,basePath:MV(r["base-path"]),headers:r.headers!=null?Object.entries(r.headers).map(([w,E])=>Gze({headerKey:w,header:E,file:i})):[],pathParameters:b,encoding:VdE(g,r),transport:g,endpoints:Object.entries(r.endpoints).map(([w,E])=>{let A=TEn({pathParameters:n9t(E),location:hxe.Endpoint,file:i,variableResolver:d}),q={...xG(E),id:"",name:i.casingsGenerator.generateName(w),displayName:E["display-name"],auth:E.auth??r.auth,idempotent:E.idempotent??r.idempotent??!1,baseUrl:E.url??r.url??e,method:E.method!=null?UdE(E.method):s7.Post,basePath:E["base-path"]!=null?MV(E["base-path"]):void 0,path:MV(E.path),fullPath:MV(E["base-path"]!=null?Lv(E["base-path"],E.path):i.rootApiFile["base-path"]!=null?Lv(i.rootApiFile["base-path"],r["base-path"],E.path):Lv(r["base-path"],E.path)),pathParameters:A,allPathParameters:E["base-path"]!=null?A:[...t,...b,...A],queryParameters:typeof E.request!="string"&&E.request?.["query-parameters"]!=null?Object.entries(E.request["query-parameters"]).map(([D,C])=>U3o({file:i,queryParameterKey:D,queryParameter:C})):[],headers:typeof E.request!="string"&&E.request?.headers!=null?Object.entries(E.request.headers).map(([D,C])=>Gze({headerKey:D,header:C,file:i})):[],requestBody:yc_({request:E.request,file:i}),sdkRequest:mc_({service:r,request:E.request,endpoint:E,endpointKey:w,file:i,typeResolver:a,propertyResolver:u}),response:Qc_({endpoint:E,file:i,typeResolver:a}),errors:[...kc_({errors:E.errors,file:i}),...o],userSpecifiedExamples:E.examples!=null?E.examples.map(D=>({example:Gc_({service:r,endpoint:E,example:D,typeResolver:a,errorResolver:n,exampleResolver:l,variableResolver:d,file:i,workspace:c}),codeSamples:D["code-samples"]?.map(C=>Pc_({codeSample:C,file:i}))})):[],autogeneratedExamples:[],pagination:Zc_({propertyResolver:u,file:i,endpointName:w,endpointSchema:E}),transport:rl_({file:i,serviceTransport:g,endpointDeclaration:E,sourceResolver:s})};return q.id=Gg.generateEndpointId(O,q),q})}}function TEn({pathParameters:e,location:t,file:r,variableResolver:i}){return e==null?[]:Object.entries(e).map(([n,a])=>FdE({parameterName:n,parameter:a,location:t,file:r,variableResolver:i}))}function FdE({parameterName:e,parameter:t,location:r,file:i,variableResolver:n}){return{...xG(t),name:i.casingsGenerator.generateName(e),valueType:LdE({parameter:t,variableResolver:n,file:i}),location:r,variable:Ubn(t)?n.getVariableIdOrThrow(typeof t=="string"?t:t.variable):void 0}}function LdE({parameter:e,variableResolver:t,file:r}){let i=hba({parameter:e,variableResolver:t,file:r});return i.file.parseTypeReference(i.rawType)}function hba({parameter:e,variableResolver:t,file:r}){let i=W3o({parameter:e,variableResolver:t,file:r});if(i==null)throw new Error("Cannot resolve path parameter");return i}function W3o({parameter:e,variableResolver:t,file:r}){if(Ubn(e)){let i=typeof e=="string"?e:e.variable,n=t.getDeclaration(i,r);return n==null?void 0:{rawType:typeof n.declaration=="string"?n.declaration:n.declaration.type,file:n.file}}else return{file:r,rawType:typeof e=="string"?e:e.type}}function UdE(e){switch(e){case"GET":return s7.Get;case"POST":return s7.Post;case"PUT":return s7.Put;case"PATCH":return s7.Patch;case"DELETE":return s7.Delete;default:Fo(e)}}function Gze({headerKey:e,header:t,file:r}){let{name:i}=tZt({headerKey:e,header:t});return{...xG(t),name:r.casingsGenerator.generateNameAndWireValue({wireValue:e,name:i}),valueType:r.parseTypeReference(t),env:typeof t=="string"?void 0:t.env}}function tZt({headerKey:e,header:t}){return typeof t!="string"&&t.name!=null?{name:t.name,wasExplicitlySet:!0}:{name:e,wasExplicitlySet:!1}}function VdE(e,t){switch(e.type){case"http":return{json:{},proto:void 0};case"grpc":return{json:void 0,proto:{}};default:Fo(e)}}var al_="1.0.0";var H3o=class{ir;casingsGenerator;auth;authValues;generatorConfig;constructor(t){this.ir=t.ir,this.generatorConfig=t.generatorConfig,this.casingsGenerator=iDe({generationLanguage:t.generationLanguage,smartCasing:t.smartCasing??!1,keywords:void 0}),this.auth=this.convertAuth(this.ir.auth),this.authValues=this.getAuthValues(this.ir.auth)}convert({disableExamples:t}){return{version:al_,types:this.convertNamedTypes(),headers:this.convertHeaders(),endpoints:this.convertEndpoints({disableExamples:t}),pathParameters:this.convertPathParameters({pathParameters:this.ir.pathParameters}),environments:this.ir.environments,generatorConfig:this.generatorConfig}}convertNamedTypes(){return Object.fromEntries(Object.entries(this.ir.types).map(([t,r])=>[t,this.convertTypeDeclaration(r)]))}convertHeaders(){return this.convertWireValueParameters({wireValueParameters:this.ir.headers})}convertEndpoints({disableExamples:t}){let r=this.getAllHttpEndpoints();return Object.fromEntries(r.map(i=>[i.id,this.convertEndpoint({endpoint:i,disableExamples:t})]))}convertEndpoint({endpoint:t,disableExamples:r}){let i=this.convertEndpointLocation({endpoint:t});return{auth:this.auth,declaration:this.convertDeclaration({name:t.name,fernFilepath:t.fernFilepath}),location:i,request:this.convertRequest({endpoint:t}),response:ys.Response.json(),examples:r?void 0:this.getEndpointSnippetRequests({endpoint:t,location:i})}}convertRequest({endpoint:t}){let r=this.convertPathParameters({pathParameters:[...t.servicePathParameters,...t.pathParameters]});if(t.sdkRequest==null&&t.requestBody==null)return ys.Request.body({pathParameters:r,body:void 0});if(t.sdkRequest==null)throw new Error(`Internal error; endpoint "${t.id}" has a request body but no SDK request`);switch(t.sdkRequest.shape.type){case"justRequestBody":return ys.Request.body({pathParameters:r,body:this.convertReferencedRequestBodyType({body:t.sdkRequest.shape.value})});case"wrapper":return this.convertInlinedRequest({fernFilepath:t.fernFilepath,wrapper:t.sdkRequest.shape,pathParameters:r,queryParameters:this.convertQueryParameters({queryParameters:t.queryParameters}),headers:this.convertWireValueParameters({wireValueParameters:[...t.serviceHeaders,...t.headers]}),body:t.requestBody});default:Fo(t.sdkRequest.shape)}}convertReferencedRequestBodyType({body:t}){switch(t.type){case"bytes":return ys.ReferencedRequestBodyType.bytes();case"typeReference":return ys.ReferencedRequestBodyType.typeReference(this.convertTypeReference(t.requestBodyType));default:Fo(t)}}convertInlinedRequest({fernFilepath:t,wrapper:r,pathParameters:i,queryParameters:n,headers:a,body:u}){return ys.Request.inlined({declaration:this.convertDeclaration({name:r.wrapperName,fernFilepath:t}),pathParameters:i,queryParameters:n,headers:a,body:u!=null?this.convertInlinedRequestBody({wrapper:r,body:u}):void 0,metadata:this.convertInlinedRequestMetadata({wrapper:r})})}convertInlinedRequestMetadata({wrapper:t}){return{includePathParameters:t.includePathParameters??!1,onlyPathParameters:t.onlyPathParameters??!1}}convertInlinedRequestBody({wrapper:t,body:r}){switch(r.type){case"inlinedRequestBody":{let i=[...r.extendedProperties??[],...r.properties];return ys.InlinedRequestBody.properties(this.convertWireValueParameters({wireValueParameters:i}))}case"reference":return ys.InlinedRequestBody.referenced({bodyKey:t.bodyKey,bodyType:ys.ReferencedRequestBodyType.typeReference(this.convertTypeReference(r.requestBodyType))});case"bytes":return ys.InlinedRequestBody.referenced({bodyKey:t.bodyKey,bodyType:ys.ReferencedRequestBodyType.bytes()});case"fileUpload":return this.convertFileUploadRequestBody({properties:r.properties});default:Fo(r)}}convertFileUploadRequestBody({properties:t}){return ys.InlinedRequestBody.fileUpload({properties:this.convertFileUploadRequestBodyProperties({properties:t})})}convertFileUploadRequestBodyProperties({properties:t}){return t.map(r=>{switch(r.type){case"file":return this.convertFileUploadRequestBodyFileProperty({fileProperty:r.value});case"bodyProperty":return ys.FileUploadRequestBodyProperty.bodyProperty({name:r.name,typeReference:this.convertTypeReference(r.valueType)});default:Fo(r)}})}convertFileUploadRequestBodyFileProperty({fileProperty:t}){switch(t.type){case"file":return ys.FileUploadRequestBodyProperty.file(t.key);case"fileArray":return ys.FileUploadRequestBodyProperty.fileArray(t.key);default:Fo(t)}}convertPathParameters({pathParameters:t}){return t.map(r=>({name:{name:r.name,wireValue:r.name.originalName},typeReference:this.convertTypeReference(r.valueType)}))}convertWireValueParameters({wireValueParameters:t}){return t.map(r=>({name:{name:r.name.name,wireValue:r.name.wireValue},typeReference:this.convertTypeReference(r.valueType)}))}convertQueryParameters({queryParameters:t}){let r=[];for(let i of t){let n=this.convertTypeReference(i.valueType);i.allowMultiple&&(n=ys.TypeReference.list(n)),r.push({name:{name:i.name.name,wireValue:i.name.wireValue},typeReference:n})}return r}convertTypeReference(t){switch(t.type){case"container":return this.convertContainerType(t.container);case"named":return this.convertNamedType(t);case"primitive":return this.convertPrimitiveType(t.primitive);case"unknown":return this.convertUnknownType();default:Fo(t)}}convertContainerType(t){switch(t.type){case"list":return ys.TypeReference.list(this.convertTypeReference(t.list));case"map":return ys.TypeReference.map({key:this.convertTypeReference(t.keyType),value:this.convertTypeReference(t.valueType)});case"optional":return ys.TypeReference.optional(this.convertTypeReference(t.optional));case"nullable":return ys.TypeReference.nullable(this.convertTypeReference(t.nullable));case"set":return ys.TypeReference.set(this.convertTypeReference(t.set));case"literal":return ys.TypeReference.literal(this.convertLiteral(t.literal));default:Fo(t)}}convertNamedType(t){return ys.TypeReference.named(t.typeId)}convertTypeDeclaration(t){let r=this.convertDeclaration(t.name);switch(t.shape.type){case"alias":return this.convertAlias({declaration:r,alias:t.shape});case"enum":return this.convertEnum({declaration:r,enum_:t.shape});case"object":return this.convertObject({declaration:r,object:t.shape});case"union":return this.convertDiscriminatedUnion({declaration:r,union:t.shape});case"undiscriminatedUnion":return this.convertUndiscriminatedUnion({declaration:r,union:t.shape});default:Fo(t.shape)}}convertAlias({declaration:t,alias:r}){return ys.NamedType.alias({declaration:t,typeReference:this.convertTypeReference(r.aliasOf)})}convertEnum({declaration:t,enum_:r}){return ys.NamedType.enum({declaration:t,values:r.values.map(i=>i.name)})}convertObject({declaration:t,object:r}){let i=[...r.extendedProperties??[],...r.properties];return this.convertObjectProperties({declaration:t,properties:i,additionalProperties:r.extraProperties})}convertObjectProperties({declaration:t,properties:r,additionalProperties:i}){return ys.NamedType.object({declaration:t,properties:this.convertWireValueParameters({wireValueParameters:r}),additionalProperties:i})}convertDiscriminatedUnion({declaration:t,union:r}){let i=[...this.resolveProperties(r.extends),...r.baseProperties];return ys.NamedType.discriminatedUnion({declaration:t,discriminant:r.discriminant,types:Object.fromEntries(r.types.map(n=>[n.discriminantValue.wireValue,this.convertDiscriminatedUnionType({inheritedProperties:i,discriminantValue:n.discriminantValue,singleUnionTypeProperties:n.shape})]))})}convertDiscriminatedUnionType({inheritedProperties:t,discriminantValue:r,singleUnionTypeProperties:i}){switch(i.propertiesType){case"samePropertiesAsObject":return this.convertDiscriminatedUnionTypeObject({inheritedProperties:t,discriminantValue:r,declaredTypeName:i});case"singleProperty":return this.convertDiscriminatedUnionTypeSingleProperty({inheritedProperties:t,discriminantValue:r,singleUnionTypeProperty:i});case"noProperties":return this.convertDiscriminatedUnionTypeNoProperties({inheritedProperties:t,discriminantValue:r});default:Fo(i)}}convertDiscriminatedUnionTypeObject({inheritedProperties:t,discriminantValue:r,declaredTypeName:i}){return ys.SingleDiscriminatedUnionType.samePropertiesAsObject({typeId:i.typeId,discriminantValue:r,properties:this.convertWireValueParameters({wireValueParameters:t})})}convertDiscriminatedUnionTypeSingleProperty({inheritedProperties:t,discriminantValue:r,singleUnionTypeProperty:i}){return ys.SingleDiscriminatedUnionType.singleProperty({typeReference:this.convertTypeReference(i.type),discriminantValue:r,properties:t.length>0?this.convertWireValueParameters({wireValueParameters:t}):void 0})}convertDiscriminatedUnionTypeNoProperties({inheritedProperties:t,discriminantValue:r}){return ys.SingleDiscriminatedUnionType.noProperties({discriminantValue:r,properties:t.length>0?this.convertWireValueParameters({wireValueParameters:t}):void 0})}convertUndiscriminatedUnion({declaration:t,union:r}){return ys.NamedType.undiscriminatedUnion({declaration:t,types:r.members.map(i=>this.convertTypeReference(i.type))})}convertLiteral(t){switch(t.type){case"boolean":return ys.LiteralType.boolean(t.boolean);case"string":return ys.LiteralType.string(t.string);default:Fo(t)}}convertPrimitiveType(t){return ys.TypeReference.primitive(t.v1)}convertUnknownType(){return ys.TypeReference.unknown()}convertAuth(t){if(t.schemes[0]==null)return;let r=t.schemes[0];switch(r.type){case"basic":return ys.Auth.basic(r);case"bearer":return ys.Auth.bearer(r);case"header":return ys.Auth.header({header:{name:r.name,typeReference:this.convertTypeReference(r.valueType)}});case"oauth":return ys.Auth.oauth({clientId:this.casingsGenerator.generateName("clientId"),clientSecret:this.casingsGenerator.generateName("clientSecret")});default:Fo(r)}}getAuthValues(t){let r=t.schemes[0];if(r!=null)switch(r.type){case"bearer":return ys.AuthValues.bearer({token:"<token>"});case"basic":return ys.AuthValues.basic({username:"<username>",password:"<password>"});case"header":return ys.AuthValues.header({value:"<value>"});case"oauth":return ys.AuthValues.oauth({clientId:"<clientId>",clientSecret:"<clientSecret>"});default:Fo(r)}}convertDeclaration({name:t,fernFilepath:r}){return{name:t,fernFilepath:r}}convertEndpointLocation({endpoint:t}){return{method:t.method,path:this.getFullPathForEndpoint(t)}}getAllHttpEndpoints(){return Object.values(this.ir.services).flatMap(t=>t.endpoints.map(r=>({...r,servicePathParameters:t.pathParameters,serviceHeaders:t.headers,fernFilepath:t.name.fernFilepath})))}resolveProperties(t){let r=[];for(let i of t){let n=this.resolveObjectTypeOrThrow(i.typeId);r.push(...this.resolveProperties(n.extends)),r.push(...n.properties)}return Object.values(r)}resolveObjectTypeOrThrow(t){let r=this.ir.types[t];if(r==null)throw new Error(`Internal error; type "${t}" not found`);if(r.shape.type!=="object")throw new Error(`Internal error; type "${t}" is not an object`);return r.shape}getFullPathForEndpoint(t){let r="";t.fullPath.head.length>0&&(r=Lv(r,t.fullPath.head));for(let i of t.fullPath.parts)r=Lv(r,"{"+i.pathParameter+"}"),i.tail.length>0&&(r=Lv(r,i.tail));return r.startsWith("/")?r:`/${r}`}getEndpointSnippetRequests({endpoint:t,location:r}){let i=[];for(let n of[...t.userSpecifiedExamples,...t.autogeneratedExamples])i.push({id:n?.example?.id??hie(),name:n?.example?.name?.originalName,endpoint:r,baseUrl:void 0,environment:void 0,auth:this.authValues,headers:Object.fromEntries([...n.example?.serviceHeaders??[],...n.example?.endpointHeaders??[]].map(a=>[a.name.wireValue,a.value.jsonExample])),pathParameters:Object.fromEntries([...n.example?.rootPathParameters??[],...n.example?.servicePathParameters??[],...n.example?.endpointPathParameters??[]].map(a=>[a.name.originalName,a.value.jsonExample])),queryParameters:Object.fromEntries([...n.example?.queryParameters??[]].map(a=>[a.name.wireValue,a.value.jsonExample])),requestBody:n.example?.request?.jsonExample});return i}};function ol_({ir:e,generationLanguage:t,smartCasing:r,disableExamples:i,generatorConfig:n}){return new H3o({ir:e,generationLanguage:t,smartCasing:r,generatorConfig:n}).convert({disableExamples:i})}var IG={};Co(IG,{validateObjectExample:()=>OFi,validateTypeExample:()=>F3o,validateTypeReferenceExample:()=>N5});var $3o=class{subpackages={};rootPackage={docs:void 0,fernFilepath:{allParts:[],packagePath:[],file:void 0},websocket:void 0,service:void 0,types:[],errors:[],subpackages:[],webhooks:void 0,navigationConfig:void 0};addPackageRedirection({from:t,to:r}){let i=this.getPackageForFernFilepath(t);if(i.navigationConfig!=null)throw new Error("Found duplicate navigationConfig for package");i.navigationConfig={pointsTo:Gg.generateSubpackageId(r)}}addDocs(t,r){let i=this.getPackageForFernFilepath(t);if(i.docs!=null)throw new Error("Found duplicate docs for package");i.docs=r}addSubpackage(t){this.getPackageForFernFilepath(t)}addType(t,r){this.getPackageForFernFilepath(r.name.fernFilepath).types.push(t)}addError(t,r){this.getPackageForFernFilepath(r.name.fernFilepath).errors.push(t)}addService(t,r){let i=this.getPackageForFernFilepath(r.name.fernFilepath);if(i.service!=null)throw new Error("Found duplicate service for "+t);i.service=t}addWebhookGroup(t,r){let i=this.getPackageForFernFilepath(r);if(i.webhooks!=null)throw new Error("Found duplicate webhook group for "+t);i.webhooks=t}addWebSocketChannel(t,r){let i=this.getPackageForFernFilepath(r);if(i.webhooks!=null)throw new Error("Found duplicate webhook group for "+t);i.websocket=t}build(t){t!=null&&(Object.entries(this.subpackages).forEach(([i,n])=>{t.hasSubpackageId(i)?this.subpackages[i]={...n,types:n.types.filter(a=>t.hasTypeId(a)),errors:n.errors.filter(a=>t.hasErrorId(a)),service:n.service!=null&&t.hasServiceId(n.service)?n.service:void 0,subpackages:n.subpackages.filter(a=>t.hasSubpackageId(a))}:delete this.subpackages[i]}),this.rootPackage={...this.rootPackage,types:this.rootPackage.types.filter(i=>t.hasTypeId(i)),errors:this.rootPackage.errors.filter(i=>t.hasErrorId(i)),service:this.rootPackage.service!=null&&t.hasServiceId(this.rootPackage.service)?this.rootPackage.service:void 0,subpackages:this.rootPackage.subpackages.filter(i=>t.hasSubpackageId(i)),webhooks:this.rootPackage.webhooks!=null?this.rootPackage.webhooks:void 0});let r=new Set(this.getAllChildrenWithEndpoints(this.rootPackage));return{subpackages:rd(this.subpackages,(i,n)=>({...i,hasEndpointsInTree:r.has(n)})),rootPackage:{...this.rootPackage,hasEndpointsInTree:r.size>0||this.rootPackage.service!=null}}}sortRootPackage(t){if(!ul_(this.rootPackage.subpackages,t))throw new Error("Sorted subpackages differ from unsorted packages in root");this.rootPackage.subpackages=t}sortSubpackage(t,r){let i=this.subpackages[t];if(i==null)throw new Error("Subpackage does not exist: "+t);if(!ul_(i.subpackages,r))throw new Error("Sorted subpackages differ from unsorted packages");i.subpackages=r}getAllSubpackagesWithEndpoints(t){let r=this.subpackages[t];if(r==null)throw new Error("Subpackage does not exist: "+t);let i=this.getAllChildrenWithEndpoints(r);return(i.length>0||r.service!=null)&&i.push(t),i}getAllChildrenWithEndpoints(t){return t.subpackages.flatMap(r=>[...this.getAllSubpackagesWithEndpoints(r)])}getPackageForFernFilepath(t,r=0,i=this.rootPackage){let n=t.allParts[r];if(n==null)return i;let a=i.subpackages.map(s=>{let o=this.subpackages[s];if(o==null)throw new Error("Subpackage ID is invalid: "+s);return o}),u=r+1,l={allParts:t.allParts.slice(0,u),packagePath:t.packagePath.slice(0,u),file:u===t.allParts.length?t.file:void 0},d=a.find(s=>s.name.originalName===n.originalName);if(d==null){let s=Gg.generateSubpackageId(l),o={docs:void 0,fernFilepath:l,name:n,service:void 0,types:[],errors:[],subpackages:[],navigationConfig:void 0,webhooks:void 0,websocket:void 0};this.subpackages[s]=o,i.subpackages.push(s),d=o}return this.getPackageForFernFilepath(t,u,d)}};function ul_(e,t){if(e.length!==t.length)return!1;let r=new Set(e);for(let i of t)if(!r.has(i))return!1;return!0}function sl_(e){return{errorInstanceIdKey:e.generateNameAndWireValue({wireValue:"errorInstanceId",name:"errorInstanceId"})}}function G3o({fernFilePath:e}){return e.packagePath.length===0&&e.file==null}function cl_({endpointResolver:e,propertyResolver:t,file:r,refreshTokenEndpoint:i}){let n=e.resolveEndpointOrThrow({endpoint:i.endpoint,file:r});return{endpointReference:{endpointId:Gg.generateEndpointIdFromResolvedEndpoint(n),serviceId:Gg.generateServiceIdFromFernFilepath(n.file.fernFilepath),subpackageId:G3o({fernFilePath:n.file.fernFilepath})?void 0:Gg.generateSubpackageId(n.file.fernFilepath)},requestProperties:{refreshToken:t.resolveRequestPropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.requestProperties.refresh_token})},responseProperties:{accessToken:t.resolveResponsePropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.responseProperties.access_token}),expiresIn:i.responseProperties.expires_in!=null?t.resolveResponsePropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.responseProperties.expires_in}):void 0,refreshToken:i.responseProperties.refresh_token!=null?t.resolveResponsePropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.responseProperties.refresh_token}):void 0}}}function ll_({endpointResolver:e,propertyResolver:t,file:r,tokenEndpoint:i}){let n=e.resolveEndpointOrThrow({endpoint:i.endpoint,file:r}),a=typeof n.endpoint.request=="object"&&n.endpoint.request.body!=null&&typeof n.endpoint.request.body=="object"&&"properties"in n.endpoint.request.body?n.endpoint.request.body.properties??{}:{};return{endpointReference:{endpointId:Gg.generateEndpointIdFromResolvedEndpoint(n),serviceId:Gg.generateServiceIdFromFernFilepath(n.file.fernFilepath),subpackageId:G3o({fernFilePath:n.file.fernFilepath})?void 0:Gg.generateSubpackageId(n.file.fernFilepath)},requestProperties:{clientId:t.resolveRequestPropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.requestProperties.client_id}),clientSecret:t.resolveRequestPropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.requestProperties.client_secret}),scopes:i.requestProperties.scopes!=null?t.resolveRequestPropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.requestProperties.scopes}):void 0,customProperties:WdE({requestBodyProperties:a,tokenEndpoint:i,file:r,propertyResolver:t})},responseProperties:{accessToken:t.resolveResponsePropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.responseProperties.access_token}),expiresIn:i.responseProperties.expires_in!=null?t.resolveResponsePropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.responseProperties.expires_in}):void 0,refreshToken:i.responseProperties.refresh_token!=null?t.resolveResponsePropertyOrThrow({file:r,endpoint:i.endpoint,propertyComponents:i.responseProperties.refresh_token}):void 0}}}var WdE=({requestBodyProperties:e,tokenEndpoint:t,file:r,propertyResolver:i})=>{let n=Object.keys(e).filter(a=>!t.requestProperties.client_id.includes(a)&&!t.requestProperties.client_secret.includes(a)&&(t.requestProperties.scopes==null||!t.requestProperties.scopes.includes(a)));return n.length>0?n.map(a=>i.resolveRequestPropertyOrThrow({file:r,endpoint:t.endpoint,propertyComponents:[a]})):void 0};function fl_({propertyResolver:e,endpointResolver:t,file:r,oauthScheme:i,tokenEndpoint:n,refreshTokenEndpoint:a}){let u=ll_({propertyResolver:e,endpointResolver:t,file:r,tokenEndpoint:n});if(u==null)throw new Error("Failed to convert OAuth token endpoint.");let l=a!=null?cl_({propertyResolver:e,endpointResolver:t,file:r,refreshTokenEndpoint:a}):void 0;return{clientIdEnvVar:i["client-id-env"],clientSecretEnvVar:i["client-secret-env"],tokenPrefix:i["token-prefix"],tokenHeader:i["token-header"],scopes:i.scopes,tokenEndpoint:u,refreshEndpoint:l}}var yba={requestProperties:{type:"access_token",client_id:["client_id"],client_secret:["client_secret"],scopes:void 0},responseProperties:{type:"access_token",access_token:["access_token"],expires_in:void 0,refresh_token:void 0}},Eec={requestProperties:{type:"refresh_token",refresh_token:["refresh_token"]},responseProperties:{type:"access_token",access_token:["access_token"],refresh_token:void 0,expires_in:void 0}};function dl_(e){return{endpoint:e["get-token"].endpoint,requestProperties:HdE({requestProperties:e["get-token"]?.["request-properties"]}),responseProperties:$dE({responseProperties:e["get-token"]?.["response-properties"]})}}function pl_(e){if(e["refresh-token"]!=null)return{endpoint:e["refresh-token"].endpoint,requestProperties:GdE({requestProperties:e["refresh-token"]?.["request-properties"]}),responseProperties:QdE({responseProperties:e["refresh-token"]?.["response-properties"]})}}function HdE({requestProperties:e}){if(e==null)return yba.requestProperties;let t=e["client-id"],r=e["client-secret"],i=e.scopes;return{type:"access_token",client_id:t!=null?i9t(t):yba.requestProperties.client_id,client_secret:r!=null?i9t(r):yba.requestProperties.client_secret,scopes:i!=null?i9t(i):yba.requestProperties.scopes}}function $dE({responseProperties:e}){return _l_({responseProperties:e,defaultValue:yba.responseProperties})}function GdE({requestProperties:e}){if(e==null)return Eec.requestProperties;let t=e["refresh-token"];return{type:"refresh_token",refresh_token:t!=null?i9t(t):Eec.requestProperties.refresh_token}}function QdE({responseProperties:e}){return _l_({responseProperties:e,defaultValue:Eec.responseProperties})}function _l_({responseProperties:e,defaultValue:t}){if(e==null)return t;let r=e["access-token"],i=e["expires-in"],n=e["refresh-token"];return{type:"access_token",access_token:r!=null?eZt(r):t.access_token,expires_in:i!=null?eZt(i):t.expires_in,refresh_token:n!=null?eZt(n):t.refresh_token}}function gl_({rawApiFileSchema:e,file:t,propertyResolver:r,endpointResolver:i}){if(e.auth==null)return{docs:void 0,requirement:Vsi.All,schemes:[]};let n=typeof e.auth!="string"?e.auth.docs:void 0;return Xaa(e.auth,{single:a=>{let u=hl_({reference:a,authSchemeDeclarations:e["auth-schemes"],file:t,propertyResolver:r,endpointResolver:i});return{docs:n,requirement:Vsi.All,schemes:[u]}},any:({any:a})=>({docs:n,requirement:Vsi.Any,schemes:a.map(u=>hl_({reference:u,authSchemeDeclarations:e["auth-schemes"],file:t,propertyResolver:r,endpointResolver:i}))})})}function hl_({reference:e,authSchemeDeclarations:t,file:r,propertyResolver:i,endpointResolver:n}){let a=(l,d)=>{let s=t?.[l];if(s==null)throw new Error("Unknown auth scheme: "+l);return MPs(s,{header:o=>AR.header({docs:d,name:r.casingsGenerator.generateNameAndWireValue({name:o.name??l,wireValue:o.header}),valueType:r.parseTypeReference(o.type??"string"),prefix:o.prefix,headerEnvVar:o.env}),basic:o=>vl_({file:r,docs:d,rawScheme:o}),bearer:o=>yl_({file:r,docs:d,rawScheme:o}),oauth:o=>bl_({file:r,docs:d,rawScheme:o,propertyResolver:i,endpointResolver:n})})},u=typeof e=="string"?e:e.scheme;switch(u){case"bearer":return yl_({file:r,docs:void 0,rawScheme:void 0});case"basic":return vl_({file:r,docs:void 0,rawScheme:void 0});case"oauth":return bl_({file:r,docs:void 0,rawScheme:void 0,propertyResolver:i,endpointResolver:n});default:return a(u,typeof e!="string"?e.docs:void 0)}}function yl_({file:e,docs:t,rawScheme:r}){return AR.bearer({docs:t,token:e.casingsGenerator.generateName(r?.token?.name??"token"),tokenEnvVar:r?.token?.env})}function vl_({file:e,docs:t,rawScheme:r}){return AR.basic({docs:t,username:e.casingsGenerator.generateName(r?.username?.name??"username"),usernameEnvVar:r?.username?.env,password:e.casingsGenerator.generateName(r?.password?.name??"password"),passwordEnvVar:r?.password?.env})}function bl_({file:e,docs:t,rawScheme:r,propertyResolver:i,endpointResolver:n}){switch(r?.type){case"client-credentials":return AR.oauth({docs:t,configuration:Wsi.clientCredentials(fl_({propertyResolver:i,endpointResolver:n,file:e,oauthScheme:r,tokenEndpoint:dl_(r),refreshTokenEndpoint:pl_(r)}))});default:throw new Error(`Unknown OAuth type: '${r?.type}'`)}}function Ol_({file:e,rawApiFileSchema:t}){if(t.version!=null)return $si.header({header:JdE({file:e,header:t.version.header}),value:KdE({file:e,versionDeclaration:t.version})})}function JdE({file:e,header:t}){return typeof t=="string"?Gze({file:e,headerKey:t,header:{type:"string"}}):Gze({file:e,headerKey:t.value,header:{type:"string",name:t.name,env:t.env}})}function KdE({file:e,versionDeclaration:t}){return L3o({_enum:{default:t.default,enum:t.values},file:e})}function ml_({channel:e,typeResolver:t,exampleResolver:r,variableResolver:i,file:n,workspace:a}){let u=[];for(let[l,d]of Object.entries(e.messages??{}))u.push({type:l,availability:Kie(d.availability),docs:d.docs,origin:d.origin,body:ZdE({body:d.body,file:n}),displayName:d["display-name"]});return{availability:Kie(e.availability),path:MV(e.path),baseUrl:e.url,auth:e.auth,name:n.fernFilepath.file??n.casingsGenerator.generateName(e["display-name"]??e.path),displayName:e["display-name"],headers:e.headers!=null?Object.entries(e.headers).map(([l,d])=>Gze({headerKey:l,header:d,file:n})):[],docs:e.docs,pathParameters:e["path-parameters"]!=null?TEn({pathParameters:e["path-parameters"],location:hxe.Endpoint,file:n,variableResolver:i}):[],queryParameters:e["query-parameters"]!=null?Object.entries(e["query-parameters"]).map(([l,d])=>{let{name:s}=YKr({queryParameterKey:l,queryParameter:d}),o=n.parseTypeReference(d);return{...xG(d),name:n.casingsGenerator.generateNameAndWireValue({wireValue:l,name:s}),valueType:o,allowMultiple:typeof d!="string"&&d["allow-multiple"]!=null?d["allow-multiple"]:!1}}):[],messages:Object.values(u),examples:(e.examples??[]).map(l=>{let d=epE({channel:e,example:l,typeResolver:t,exampleResolver:r,variableResolver:i,file:n,workspace:a});return{name:l.name!=null?n.casingsGenerator.generateName(l.name):void 0,docs:l.docs,url:rpE({channel:e,example:l,pathParams:d}),...d,...tpE({channel:e,example:l,typeResolver:t,exampleResolver:r,file:n,workspace:a}),queryParameters:l["query-parameters"]!=null?Object.entries(l["query-parameters"]).map(([s,o])=>{let c=e["query-parameters"]?.[s];if(c==null)throw new Error(`Query parameter ${s} does not exist`);return{name:n.casingsGenerator.generateNameAndWireValue({name:YKr({queryParameterKey:s,queryParameter:c}).name,wireValue:s}),value:dE({example:o,rawTypeBeingExemplified:typeof c=="string"?c:c.type,typeResolver:t,exampleResolver:r,fileContainingRawTypeReference:n,fileContainingExample:n,workspace:a}),shape:YdE({queryParameter:c})}}):[],messages:l.messages.map(s=>{let o=e.messages?.[s.type];if(o==null)throw new Error(`Message ${s.type} does not exist`);return{type:s.type,body:XdE({message:o,example:s.body,typeResolver:t,exampleResolver:r,file:n,workspace:a})}})}})}}function YdE({queryParameter:e}){return(typeof e!="string"&&e["allow-multiple"]!=null?e["allow-multiple"]:!1)?_2.exploded():_2.single()}function XdE({message:e,example:t,typeResolver:r,exampleResolver:i,file:n,workspace:a}){if(!ipE(e.body))return y8t.reference(dE({example:t,rawTypeBeingExemplified:typeof e.body!="string"?e.body.type:e.body,typeResolver:r,exampleResolver:i,fileContainingRawTypeReference:n,fileContainingExample:n,workspace:a}));if(!ew(t))throw new Error("Example must be an object");let u=[];for(let[l,d]of Object.entries(t)){let s=e.body.properties?.[l];if(s!=null)u.push({name:n.casingsGenerator.generateNameAndWireValue({name:CV({propertyKey:l,property:s}).name,wireValue:l}),value:dE({example:d,rawTypeBeingExemplified:typeof s!="string"?s.type:s,typeResolver:r,exampleResolver:i,fileContainingRawTypeReference:n,fileContainingExample:n,workspace:a}),originalTypeDeclaration:void 0});else{let o=_ba({extends_:e.body.extends,wirePropertyKey:l,typeResolver:r,file:n});if(o==null)throw new Error("Could not find original type declaration for property: "+l);u.push({name:n.casingsGenerator.generateNameAndWireValue({name:CV({propertyKey:l,property:o.rawPropertyType}).name,wireValue:l}),value:dE({example:d,rawTypeBeingExemplified:typeof o.rawPropertyType=="string"?o.rawPropertyType:o.rawPropertyType.type,typeResolver:r,exampleResolver:i,fileContainingRawTypeReference:o.file,fileContainingExample:n,workspace:a}),originalTypeDeclaration:o.typeName})}}return y8t.inlinedBody({jsonExample:i.resolveAllReferencesInExampleOrThrow({example:t,file:n}).resolvedExample,properties:u})}function ZdE({body:e,file:t}){return typeof e=="string"?qre.reference({docs:void 0,bodyType:t.parseTypeReference(e)}):kdE(e)?qre.reference({docs:void 0,bodyType:t.parseTypeReference(e.type)}):qre.inlinedBody({name:t.casingsGenerator.generateName(e.name),extends:r9t(e.extends??[]).map(r=>R5({typeName:r,file:t})),properties:[]})}function kdE(e){return e.type!=null}function epE({channel:e,example:t,typeResolver:r,exampleResolver:i,variableResolver:n,file:a,workspace:u}){let l=[],d=({name:s,pathParameterDeclaration:o,examplePathParameter:c})=>{let b=hba({parameter:o,variableResolver:n,file:a});return{name:s,value:dE({example:c,rawTypeBeingExemplified:b.rawType,typeResolver:r,exampleResolver:i,fileContainingRawTypeReference:b.file,fileContainingExample:a,workspace:u})}};if(t["path-parameters"]!=null){let s=n9t(e);for(let[o,c]of Object.entries(t["path-parameters"])){let b=s[o];if(b!=null)l.push(d({name:a.casingsGenerator.generateName(o),pathParameterDeclaration:b,examplePathParameter:c}));else throw new Error(`Path parameter ${o} does not exist`)}}return{pathParameters:l}}function tpE({channel:e,example:t,typeResolver:r,exampleResolver:i,file:n,workspace:a}){let u=[];if(t.headers!=null)for(let[l,d]of Object.entries(t.headers)){let s=e.headers?.[l];if(s!=null)u.push({name:n.casingsGenerator.generateNameAndWireValue({name:tZt({headerKey:l,header:s}).name,wireValue:l}),value:dE({example:d,rawTypeBeingExemplified:typeof s=="string"?s:s.type,typeResolver:r,exampleResolver:i,fileContainingRawTypeReference:n,fileContainingExample:n,workspace:a})});else throw new Error(`Heder ${l} does not exist`)}return{headers:u}}function rpE({channel:e,example:t,pathParams:r}){let i=e.path;if(t["path-parameters"]!=null)for(let n of[...r.pathParameters])i=i.replaceAll(`{${n.name.originalName}}`,`${n.value.jsonExample}`);return i}function ipE(e){return typeof e=="string"?!1:e.extends!=null||e.properties!=null}function Mec({rawApiFileSchema:{"default-environment":e,environments:t},casingsGenerator:r}){if(t==null)return;let i=Object.values(t)[0];if(i!=null)return{defaultEnvironment:e??void 0,environments:gQr(i,{singleBaseUrl:()=>MC.singleBaseUrl(npE({environments:t,casingsGenerator:r})),multipleBaseUrls:n=>MC.multipleBaseUrls(apE({baseUrls:Object.keys(n.urls),environments:t,casingsGenerator:r}))})}}function npE({environments:e,casingsGenerator:t}){return{environments:Object.entries(e).map(([r,i])=>gQr(i,{singleBaseUrl:n=>({docs:typeof n=="string"?void 0:n.docs,id:r,name:t.generateName(r),url:Pl_(typeof n=="string"?n:n.url)}),multipleBaseUrls:()=>{throw new Error(`Environment ${r} has multiple base URLs`)}}))}}function apE({baseUrls:e,environments:t,casingsGenerator:r}){return{baseUrls:e.map(i=>({id:i,name:r.generateName(i)})),environments:Object.entries(t).map(([i,n])=>gQr(n,{multipleBaseUrls:a=>({docs:a.docs,id:i,name:r.generateName(i),urls:rd(a.urls,u=>Pl_(u))}),singleBaseUrl:()=>{throw new Error(`Environment ${i} does not have multiple base URLs`)}}))}}function Pl_(e){return e.endsWith("/")?e.slice(0,-1):e}function jl_({errorName:e,errorDeclaration:t,file:r,typeResolver:i,exampleResolver:n,workspace:a}){let u=[];if(t.type!=null&&t.examples!=null)for(let l of t.examples)u.push({name:l.name!=null?r.casingsGenerator.generateName(l.name):void 0,docs:l.docs,jsonExample:n.resolveAllReferencesInExampleOrThrow({example:l.value,file:r}).resolvedExample,shape:dE({example:l.value,rawTypeBeingExemplified:t.type,fileContainingRawTypeReference:r,fileContainingExample:r,typeResolver:i,exampleResolver:n,workspace:a})});return{name:t_i({errorName:e,file:r}),discriminantValue:r.casingsGenerator.generateNameAndWireValue({wireValue:e,name:e}),docs:typeof t!="string"?t.docs:void 0,statusCode:t["status-code"],type:t.type!=null?r.parseTypeReference(t.type):void 0,examples:u}}var wl_="content";function Sl_(e,t){if(e==null||e.strategy==="status-code")return _8t.statusCode();switch(e.strategy){case"property":return _8t.property({discriminant:t.casingsGenerator.generateNameAndWireValue({name:e["property-name"],wireValue:e["property-name"]}),contentProperty:t.casingsGenerator.generateNameAndWireValue({name:wl_,wireValue:wl_})});default:Fo(e)}}function Dl_({readme:e,services:t}){let r=new Aec(t);return{apiReferenceLink:e.apiReferenceLink,bannerLink:e.bannerLink,introduction:e.introduction,defaultEndpoint:e.defaultEndpoint!=null?r.getEndpointForReadmeOrThrow(e.defaultEndpoint).id:void 0,features:e.features!=null?Object.fromEntries(Object.entries(e.features).map(([i,n])=>[i,n.map(a=>r.getEndpointForReadmeOrThrow(a).id)])):void 0}}var Aec=class{endpoints={};constructor(t){this.endpoints=this.buildEndpoints(t)}getEndpointForReadme(t){let r=upE({endpoint:t}),i=this.getEndpointKeyForReadmeEndpoint(r);return this.endpoints[i]}getEndpointForReadmeOrThrow(t){let r=this.getEndpointForReadme(t);if(r==null)throw new Error(`Endpoint not found for ${JSON.stringify(t)}`);return r}buildEndpoints(t){let r={};for(let i of Object.values(t))for(let n of i.endpoints)r[this.getEndpointKeyForHttpEndpoint(n)]=n;return r}getEndpointKeyForReadmeEndpoint(t){return this.getEndpointKey({method:t.method,path:t.path,stream:t.stream??!1})}getEndpointKeyForHttpEndpoint(t){return this.getEndpointKey({method:t.method,path:opE(t),stream:t.response?.body?.type==="streaming"})}getEndpointKey({method:t,path:r,stream:i}){return`${t}|${r}|${i}`}};function opE(e){let t="";e.fullPath.head.length>0&&(t=Lv(t,e.fullPath.head));for(let r of e.fullPath.parts)t=Lv(t,"{"+r.pathParameter+"}"),r.tail.length>0&&(t=Lv(t,r.tail));return t.startsWith("/")?t:`/${t}`}function upE({endpoint:e}){if(typeof e=="string"){let t=e.split(" ");if(t.length!==2||t[0]==null||t[1]==null)throw new Error(`invalid endpoint string: ${e}`);return{method:t[0],path:t[1]}}return e}function El_({webhooks:e,file:t,typeResolver:r,exampleResolver:i,workspace:n}){let a=[];for(let[u,l]of Object.entries(e))a.push({id:Gg.generateWebhookId(t.fernFilepath,u),availability:Kie(l.availability),displayName:l["display-name"],docs:l.docs,method:l.method,name:t.casingsGenerator.generateName(u),headers:l.headers!=null?Object.entries(l.headers).map(([d,s])=>Gze({headerKey:d,header:s,file:t})):[],payload:spE({payload:l.payload,file:t}),examples:l.examples!=null?lpE({webhook:l,examples:l.examples,file:t,typeResolver:r,exampleResolver:i,workspace:n}):void 0});return a}function spE({payload:e,file:t}){return typeof e=="string"?LU.reference({docs:void 0,payloadType:t.parseTypeReference(e)}):Q3o(e)?LU.reference({docs:void 0,payloadType:t.parseTypeReference(e.type)}):LU.inlinedPayload({name:t.casingsGenerator.generateName(e.name),extends:r9t(e.extends).map(r=>R5({typeName:r,file:t})),properties:e.properties!=null?Object.entries(e.properties).map(([r,i])=>cpE({propertyKey:r,propertyDefinition:i,docs:typeof i!="string"?i.docs:void 0,availability:typeof i!="string"?Kie(i.availability):void 0,file:t})):[]})}function cpE({propertyKey:e,propertyDefinition:t,docs:r,availability:i,file:n}){return{docs:r,availability:i,name:n.casingsGenerator.generateNameAndWireValue({wireValue:e,name:CV({propertyKey:e,property:t}).name}),valueType:n.parseTypeReference(t)}}function lpE({webhook:e,examples:t,file:r,typeResolver:i,exampleResolver:n,workspace:a}){let u=typeof e.payload=="string"?e.payload:Q3o(e.payload)?e.payload.type:void 0;if(u!=null)return t.map(l=>({docs:e.docs,name:l.name!=null?r.casingsGenerator.generateName(l.name):void 0,payload:dE({example:l.payload,rawTypeBeingExemplified:u,fileContainingRawTypeReference:r,fileContainingExample:r,typeResolver:i,exampleResolver:n,workspace:a})}));if(!ew(e.payload))throw new Error(`Example webhook payload is not an object. Got: ${JSON.stringify(e.payload)}`);return t.map(l=>({docs:e.docs,name:l.name!=null?r.casingsGenerator.generateName(l.name):void 0,payload:dE({example:l.payload,rawTypeBeingExemplified:"map<string, unknown>",fileContainingRawTypeReference:r,fileContainingExample:r,typeResolver:i,exampleResolver:n,workspace:a})}))}function Q3o(e){return e.type!=null}function CEn(e){let t={};for(let[r,i]of Object.entries(e))if(typeof i!="string")for(let n of i.audiences??[])t[n]==null&&(t[n]=new Set),t[n]?.add(r);return t}function Ml_({name:e,source:t}){return yj.userDefined({file:V3o({source:t}),name:r_i.generateName(e)})}function Al_({encoding:e}){if(e.proto!=null&&e.proto.type!=null){let t=fpE({type:e.proto.type});if(t!=null)return t}}function fpE({type:e}){switch(e){case"google.protobuf.Any":return yj.wellKnown(Xf.any());case"google.protobuf.Api":return yj.wellKnown(Xf.api());case"google.protobuf.BoolValue":return yj.wellKnown(Xf.boolValue());case"google.protobuf.BytesValue":return yj.wellKnown(Xf.bytesValue());case"google.protobuf.DoubleValue":return yj.wellKnown(Xf.doubleValue());case"google.protobuf.Duration":return yj.wellKnown(Xf.duration());case"google.protobuf.Empty":return yj.wellKnown(Xf.empty());case"google.protobuf.Enum":return yj.wellKnown(Xf.enum());case"google.protobuf.EnumValue":return yj.wellKnown(Xf.enumValue());case"google.protobuf.Field":return yj.wellKnown(Xf.field());case"google.protobuf.FieldCardinality":return yj.wellKnown(Xf.fieldCardinality());case"google.protobuf.FieldKind":return yj.wellKnown(Xf.fieldKind());case"google.protobuf.FieldMask":return yj.wellKnown(Xf.fieldMask());case"google.protobuf.FloatVlaue":return yj.wellKnown(Xf.floatValue());case"google.protobuf.Int32Value":return yj.wellKnown(Xf.int32Value());case"google.protobuf.Int64Value":return yj.wellKnown(Xf.int64Value());case"google.protobuf.ListValue":return yj.wellKnown(Xf.listValue());case"google.protobuf.Method":return yj.wellKnown(Xf.method());case"google.protobuf.Mixin":return yj.wellKnown(Xf.mixin());case"google.protobuf.NullValue":return yj.wellKnown(Xf.nullValue());case"google.protobuf.Option":return yj.wellKnown(Xf.option());case"google.protobuf.SourceContext":return yj.wellKnown(Xf.sourceContext());case"google.protobuf.StringValue":return yj.wellKnown(Xf.stringValue());case"google.protobuf.Struct":return yj.wellKnown(Xf.struct());case"google.protobuf.Syntax":return yj.wellKnown(Xf.syntax());case"google.protobuf.Timestamp":return yj.wellKnown(Xf.timestamp());case"google.protobuf.Type":return yj.wellKnown(Xf.type());case"google.protobuf.Uint32Value":return yj.wellKnown(Xf.uint32Value());case"google.protobuf.Uint64Value":return yj.wellKnown(Xf.uint64Value());case"google.protobuf.Value":return yj.wellKnown(Xf.value())}}function ql_({generic:e,file:t,typeResolver:r}){let i=typeof e=="string"?e:e.type,n=ZI(i);if(n==null)throw new Error(`Invalid generic type definition: ${i}`);let a=r.getDeclarationOfNamedTypeOrThrow({referenceToNamedType:i,file:t});if(n.arguments&&tS(a.declaration)){let u=ZI(a.typeName)?.arguments??[],l=Object.entries(a.declaration.properties??{}).map(([d,s])=>{let o=s;return typeof s=="string"&&u?.includes(s)&&(o=n.arguments?.[u.indexOf(s)]??s),[d,o]});return a0.object({extends:r9t(a.declaration.extends).map(d=>R5({typeName:d,file:t})),properties:cba({properties:Object.fromEntries(l)},t),extraProperties:a.declaration["extra-properties"]??!1,extendedProperties:void 0})}throw new Error(`Generic type definition not supported: ${i}`)}function Tl_({alias:e,file:t,typeResolver:r}){let i=typeof e=="string"?e:e.type;return pxe(i)?ql_({generic:i,file:t,typeResolver:r}):a0.alias({aliasOf:t.parseTypeReference(e),resolvedType:dpE({aliasOf:i,file:t,typeResolver:r})})}function dpE({aliasOf:e,file:t,typeResolver:r}){let i=r.resolveTypeOrThrow({type:e,file:t});switch(i._type){case"primitive":return FU.primitive(i.originalTypeReference.primitive);case"container":return FU.container(i.originalTypeReference.container);case"unknown":return FU.unknown();case"named":{let n=tS(i.declaration)?h8t.Object:rci(i.declaration)?h8t.Union:O8t(i.declaration)?h8t.Enum:Vbn(i.declaration)?h8t.UndiscriminatedUnion:Fo(i.declaration);return FU.named({name:i.name,shape:n})}}}function Cl_({union:e,file:t}){let r=e.union.filter((i,n)=>{let a=typeof i=="string"?i:i.type;return e.union.findIndex(u=>(typeof u=="string"?u:u.type)===a)===n});return a0.undiscriminatedUnion({members:r.map(i=>typeof i=="string"?{docs:void 0,type:t.parseTypeReference(i)}:{type:t.parseTypeReference(i.type),docs:i.docs})})}function Bl_(e){let t=[];if(e.extends!=null){let r=typeof e.extends=="string"?[e.extends]:e.extends;t.push(...r)}return e.properties!=null&&t.push(...Object.values(e.properties).map(r=>typeof r=="string"?r:r.type)),t}function Tec({typeDeclaration:e,file:t,typeResolver:r,seenTypeNames:i=new qec}){let n=ZN(e,{alias:u=>{let l=typeof u=="string"?u:u.type,d=ZI(l);if(d!=null){let s=new Set(d.arguments??[]),o=r.getDeclarationOfNamedTypeOrThrow({referenceToNamedType:l,file:t}),c=ZI(o.typeName)?.arguments;if(tS(o.declaration)){let b=Bl_(o.declaration);c&&b.filter(g=>!c.includes(g)).forEach(g=>s.add(g))}return Array.from(s)}return[l]},object:u=>Bl_(u),discriminatedUnion:u=>{let l=[];return u["base-properties"]!=null&&l.push(...Object.values(u["base-properties"]).map(d=>typeof d=="string"?d:d.type)),l.push(...Object.values(u.union).reduce((d,s)=>{let o=typeof s=="string"?s:s.type;return typeof o=="string"&&d.push(o),d},[])),l},undiscriminatedUnion:u=>Object.values(u.union).reduce((l,d)=>{let s=typeof d=="string"?d:d.type;return typeof s=="string"&&l.push(s),l},[]),enum:()=>[]}),a=[];for(let u of n){let l=UU({type:u,_default:void 0,validation:void 0,visitor:{primitive:()=>[],map:({keyType:d,valueType:s})=>[...d,...s],list:d=>d,optional:d=>d,nullable:d=>d,set:d=>d,named:d=>[d],literal:()=>[],unknown:()=>[]}});for(let d of l){let s=R5({typeName:d,file:t});if(!i.hasTypeNameBeenSeen(s)){i.addTypeName(s),a.push(s);let o=r.getDeclarationOfNamedTypeOrThrow({referenceToNamedType:d,file:t});if(pxe(o.typeName))continue;a.push(...Tec({typeDeclaration:o.declaration,file:o.file,typeResolver:r,seenTypeNames:i}))}}}return a}var qec=class{cache=new Set;addTypeName(t){this.cache.add(this.computeCacheKey(t))}hasTypeNameBeenSeen(t){return this.cache.has(this.computeCacheKey(t))}computeCacheKey(t){return t.fernFilepath.allParts.map(r=>r.originalName).join("/")+":"+t.name.originalName}};function xl_({typeName:e,typeDeclaration:t,file:r,typeResolver:i,exampleResolver:n,sourceResolver:a,workspace:u}){let l=xG(t),d=R5({typeName:e,file:r}),s=Tec({typeDeclaration:t,file:r,typeResolver:i}),o={};tS(t)&&(o=CEn(t.properties??{}));let c=_pE({file:r,typeDeclaration:t,typeName:e,sourceResolver:a});return{propertiesByAudience:o,typeDeclaration:{...l,inline:bpE(t),name:d,shape:ppE({typeDeclaration:t,file:r,typeResolver:i}),referencedTypes:new Set(s.map(b=>b.typeId)),encoding:hpE({typeDeclaration:t,source:c}),source:c,userProvidedExamples:typeof t!="string"&&t.examples!=null?t.examples.map(b=>({name:b.name!=null?r.casingsGenerator.generateName(b.name):void 0,docs:b.docs,jsonExample:n.resolveAllReferencesInExampleOrThrow({example:b.value,file:r}).resolvedExample,shape:Dec({typeName:d,example:b.value,typeResolver:i,exampleResolver:n,typeDeclaration:t,fileContainingType:r,fileContainingExample:r,workspace:u})})):[],autogeneratedExamples:[]},descendantFilepaths:new Set(s.map(b=>b.fernFilepath))}}function ppE({typeDeclaration:e,file:t,typeResolver:r}){return ZN(e,{alias:i=>Tl_({alias:i,file:t,typeResolver:r}),object:i=>_c_({object:i,file:t}),discriminatedUnion:i=>Ac_({union:i,file:t,typeResolver:r}),undiscriminatedUnion:i=>Cl_({union:i,file:t}),enum:i=>a0.enum(L3o({_enum:i,file:t}))})}function _pE({file:e,typeDeclaration:t,typeName:r,sourceResolver:i}){if(typeof t=="string"||t.source==null&&t.encoding==null)return;if(t.encoding!=null){let a=Al_({encoding:t.encoding});if(a!=null)return vQr.proto(a)}if(t.source==null)return;let n=i.resolveSourceOrThrow({source:t.source,relativeFilepath:e.relativeFilepath});if(!(n==null||n.type!=="protobuf"))return vQr.proto(Ml_({source:n,name:r}))}function hpE({typeDeclaration:e,source:t}){return typeof e!="string"&&e.encoding!=null?ypE(e.encoding):vpE(t)}function ypE(e){return e.proto!=null?{json:void 0,proto:{}}:{json:{},proto:void 0}}function vpE(e){return e!=null&&e.type==="proto"?{json:void 0,proto:{}}:{json:{},proto:void 0}}function bpE(e){if(typeof e!="string"&&"inline"in e)return e.inline}function Il_(e,t){let r=t[e];if(r==null)throw new HGr(`Illegal Error: Failed to load type declaration for type ${e}`);return r}function zl_(e){return{types:Object.fromEntries(Object.entries(e.types).map(([t,r])=>[t,OpE({typeDeclaration:r,ir:e})])),services:Object.fromEntries(Object.entries(e.services).map(([t,r])=>[t,{...r,endpoints:r.endpoints.map(i=>gpE({endpoint:i,ir:e}))}]))}}function gpE({endpoint:e,ir:t}){return e.requestBody?.type!=="inlinedRequestBody"?e:{...e,requestBody:{...e.requestBody,extendedProperties:e.requestBody.extends.flatMap(r=>Rl_(r,t))}}}function OpE({typeDeclaration:e,ir:t}){switch(e.shape.type){case"object":return{...e,shape:{...e.shape,extendedProperties:e.shape.extends.flatMap(r=>Rl_(r,t))}}}return e}function Rl_(e,t){let r=Cec(e.typeId,t);return Nl_({objectTypeDeclaration:r,ir:t})}function Cec(e,t){let r=Il_(e,t.types);switch(r.shape.type){case"object":return r.shape;case"alias":if(r.shape.resolvedType.type==="named")return Cec(r.shape.resolvedType.name.typeId,t)}throw new HGr(`Unexpected error: ${e} is extended but has shape ${r.shape.type}`)}function Nl_({objectTypeDeclaration:e,ir:t}){let r=e.extends.flatMap(i=>{let n=Cec(i.typeId,t);return Nl_({objectTypeDeclaration:n,ir:t})});return[...e.properties,...r]}function Ll_({filteredIr:e,singleUnionTypeProperties:t}){return t._visit({samePropertiesAsObject:r=>{let i=e.hasTypeId(r.typeId)?{...r,object:{properties:r.object.properties.filter(n=>e.hasProperty(n.originalTypeDeclaration.typeId,n.name.wireValue)).map(n=>({...n,value:hz({filteredIr:e,exampleTypeReference:n.value})})).filter(n=>n.value!==void 0)}}:void 0;return i!==void 0?YN.samePropertiesAsObject(i):void 0},singleProperty:r=>{let i=hz({filteredIr:e,exampleTypeReference:r});return i!==void 0?YN.singleProperty(i):void 0},noProperties:()=>t,_other:()=>{throw new Error("Received unknown type for example.")}})}function hz({filteredIr:e,exampleTypeReference:t}){return t.shape._visit({primitive:()=>t,container:r=>r._visit({list:i=>({...t,shape:qb.container(QO.list({...i,list:i.list.map(n=>hz({filteredIr:e,exampleTypeReference:n})).filter(n=>n!==void 0)}))}),set:i=>({...t,shape:qb.container(QO.set({...i,set:i.set.map(n=>hz({filteredIr:e,exampleTypeReference:n})).filter(n=>n!==void 0)}))}),optional:i=>{let n=i.optional!=null?hz({filteredIr:e,exampleTypeReference:i.optional}):void 0;return n!=null?{...t,shape:qb.container(QO.optional({optional:n,valueType:i.valueType}))}:void 0},nullable:i=>{let n=i.nullable!=null?hz({filteredIr:e,exampleTypeReference:i.nullable}):void 0;return n!=null?{...t,shape:qb.container(QO.nullable({nullable:n,valueType:i.valueType}))}:void 0},map:i=>({...t,shape:qb.container(QO.map({...i,map:i.map.map(n=>{let a=hz({filteredIr:e,exampleTypeReference:n.key}),u=hz({filteredIr:e,exampleTypeReference:n.value});return a!==void 0&&u!==void 0?{key:a,value:u}:void 0}).filter(n=>n!==void 0)}))}),literal:()=>t,_other:()=>{throw new Error("Received unknown type for example.")}}),named:r=>e.hasTypeId(r.typeName.typeId)?r.shape._visit({alias:i=>{let n=hz({filteredIr:e,exampleTypeReference:i.value});return n!==void 0?{...t,shape:qb.named({...r,shape:rw.alias({...i,value:n})})}:void 0},enum:i=>({...t,shape:qb.named({...r,shape:rw.enum(i)})}),object:i=>({...t,shape:qb.named({...r,shape:rw.object({...i,properties:i.properties.filter(n=>e.hasProperty(n.originalTypeDeclaration.typeId,n.name.wireValue)).map(n=>({...n,value:hz({filteredIr:e,exampleTypeReference:n.value})})).filter(n=>n.value!==void 0)})})}),union:i=>{let n=Ll_({filteredIr:e,singleUnionTypeProperties:i.singleUnionType.shape});return n!==void 0?{...t,shape:qb.named({...r,shape:rw.union({...i,singleUnionType:{...i.singleUnionType,shape:n}})})}:void 0},undiscriminatedUnion:i=>{let n=hz({filteredIr:e,exampleTypeReference:i.singleUnionType});return n!==void 0?{...t,shape:qb.named({...r,shape:rw.undiscriminatedUnion({...i,singleUnionType:n})})}:void 0},_other:()=>{throw new Error("Received unknown type for example.")}}):void 0,unknown:()=>t,_other:()=>t})}function Bec({filteredIr:e,pathParameters:t}){return t.map(r=>{let i=hz({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...r,value:i}:void 0}).filter(r=>r!==void 0)}function mpE({filteredIr:e,queryParameters:t}){return t.map(r=>{let i=hz({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...r,value:i}:void 0}).filter(r=>r!==void 0)}function Fl_({filteredIr:e,headers:t}){return t.map(r=>{let i=hz({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...r,value:i}:void 0}).filter(r=>r!==void 0)}function PpE({filteredIr:e,requestBody:t}){return t._visit({inlinedRequestBody:r=>({...t,properties:r.properties.filter(i=>i.originalTypeDeclaration?e.hasProperty(i.originalTypeDeclaration.typeId,i.name.wireValue):!0).map(i=>{let n=hz({filteredIr:e,exampleTypeReference:i.value});return n!==void 0?{...i,value:n}:void 0}).filter(i=>i!==void 0)}),reference:r=>{let i=hz({filteredIr:e,exampleTypeReference:r});return i!==void 0?H$.reference(i):void 0},_other:()=>{throw new Error("Received unknown type for example.")}})}function jpE({filteredIr:e,response:t}){return t._visit({ok:r=>r._visit({body:i=>xq.ok(YT.body(i!=null?hz({filteredIr:e,exampleTypeReference:i}):void 0)),stream:i=>xq.ok(YT.stream(i.map(n=>hz({filteredIr:e,exampleTypeReference:n})).filter(Jb))),sse:i=>xq.ok(YT.sse(i.map(({event:n,data:a})=>{let u=hz({filteredIr:e,exampleTypeReference:a});return u!==void 0?{event:n,data:u}:void 0}).filter(Jb))),_other:({type:i})=>{throw new Error(`Received unknown type for OK example: ${i}`)}}),error:({error:r,body:i})=>xq.error({error:r,body:i!=null?hz({filteredIr:e,exampleTypeReference:i}):void 0}),_other:({type:r})=>{throw new Error(`Received unknown type for example: ${r}`)}})}function xec({filteredIr:e,example:t}){return{...t,rootPathParameters:Bec({filteredIr:e,pathParameters:t.rootPathParameters}),servicePathParameters:Bec({filteredIr:e,pathParameters:t.servicePathParameters}),endpointPathParameters:Bec({filteredIr:e,pathParameters:t.endpointPathParameters}),serviceHeaders:Fl_({filteredIr:e,headers:t.serviceHeaders}),endpointHeaders:Fl_({filteredIr:e,headers:t.endpointHeaders}),queryParameters:mpE({filteredIr:e,queryParameters:t.queryParameters}),request:t.request!==void 0?PpE({filteredIr:e,requestBody:t.request}):void 0,response:jpE({filteredIr:e,response:t.response})}}function Ul_({filteredIr:e,exampleType:t}){return t.shape._visit({alias:r=>{let i=hz({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...t,shape:rw.alias({...r,value:i})}:void 0},enum:()=>t,object:r=>({...t,shape:rw.object({...r,properties:r.properties.filter(i=>e.hasProperty(i.originalTypeDeclaration.typeId,i.name.wireValue)).map(i=>({...i,value:hz({filteredIr:e,exampleTypeReference:i.value})})).filter(i=>i.value!==void 0)})}),union:r=>{let i=Ll_({filteredIr:e,singleUnionTypeProperties:r.singleUnionType.shape});return i!==void 0?{...t,shape:rw.union({...r,singleUnionType:{...r.singleUnionType,shape:i}})}:void 0},undiscriminatedUnion:r=>{let i=hz({filteredIr:e,exampleTypeReference:r.singleUnionType});return i!==void 0?{...t,shape:rw.undiscriminatedUnion({...r,singleUnionType:i})}:void 0},_other:()=>{throw new Error("Received unknown type for example.")}})}var J3o=class{environments=new Set;types=new Set;properties;errors=new Set;services=new Set;endpoints=new Set;requestProperties;queryParameters;webhooks=new Set;webhookPayloadProperties;channels=new Set;subpackages=new Set;constructor({types:t,properties:r,errors:i,environments:n,services:a,endpoints:u,webhooks:l,subpackages:d,queryParameters:s,requestProperties:o,webhookPayloadProperties:c,channels:b}){this.environments=n,this.types=t,this.properties=r,this.errors=i,this.services=a,this.endpoints=u,this.webhooks=l,this.webhookPayloadProperties=c,this.subpackages=d,this.requestProperties=o,this.queryParameters=s,this.channels=b}hasTypeId(t){return this.types.has(t)}hasErrorId(t){return this.errors.has(t)}hasServiceId(t){return this.services.has(t)}hasSubpackageId(t){return this.subpackages.has(t)}hasType(t){let r=Gg.generateTypeId(t.name);return this.types.has(r)}hasProperty(t,r){let i=this.properties[t];return i==null?!0:i.has(r)}hasError(t){let r=Gg.generateErrorId(t.name);return this.errors.has(r)}hasService(t){let r=Gg.generateServiceId(t.name);return this.services.has(r)}hasEnvironmentId(t){return this.environments.has(t)}hasEndpoint(t){return this.endpoints.has(t.id)}hasRequestProperty(t,r){let i=this.requestProperties[t];return i==null?!0:i.has(r)}hasQueryParameter(t,r){let i=this.queryParameters[t];return i==null?!0:i.has(r)}hasSubpackage(t){return this.subpackages.has(t)}hasWebhook(t){return t.id?this.webhooks.has(t.id):!0}hasChannel(t){return t.name.originalName?this.channels.has(t.name.originalName):!0}hasWebhookPayloadProperty(t,r){let i=this.webhookPayloadProperties[t];return i==null?!0:i.has(r)}};var Y3o=class{types={};properties={};queryParameters={};requestProperties={};webhookProperties={};errors={};endpoints={};webhooks={};channels={};audiences;typesReferencedByService={};environmentsNeededForAudience=new Set;typesNeededForAudience=new Set;servicesNeededForAudience=new Set;endpointsNeededForAudience=new Set;webhooksNeededForAudience=new Set;channelsNeededForAudience=new Set;subpackagesNeededForAudience=new Set;constructor(t){this.audiences=wpE(t)}addType({declaredTypeName:t,descendantTypeIds:r,descendantFilepaths:i,descendantTypeIdsByAudience:n,propertiesByAudience:a}){let u=Gg.generateTypeId(t),l={typeId:u,allDescendants:r,descendantsByAudience:n,referencedSubpackages:i};this.types[u]=l,this.typesReferencedByService[u]==null&&(this.typesReferencedByService[u]=new Set),this.properties[u]={typeId:u,propertiesByAudience:a}}markTypeForAudiences(t,r){let i=Gg.generateTypeId(t);this.hasAudience(r)&&(this.typesNeededForAudience.add(i),this.addSubpackages(t.fernFilepath),this.types[i]?.referencedSubpackages.forEach(n=>{this.addSubpackages(n)}))}markEnvironmentForAudiences(t,r,i){t&&(this.hasAudience(r)||i)&&this.environmentsNeededForAudience.add(t.id)}getTypesReferencedByService(){for(let t of Object.values(this.endpoints))for(let r of t.referencedTypes)this.markTypeForService(r,t.serviceId);return this.typesReferencedByService}addError(t){let r=Gg.generateErrorId(t.name),i=new Set,n=new Set;t.type!=null&&yz(t.type,i,n);let a={errorId:r,referencedTypes:i,referencedSubpackages:n};this.errors[r]=a}addEndpoint(t,r,i){let n=Gg.generateServiceId(t.name),a=r.id,u=new Set,l=new Set,d=new Set;for(let s of[...t.headers,...r.headers])yz(s.valueType,u,d);for(let s of[...t.pathParameters,...r.pathParameters])yz(s.valueType,u,d);for(let s of r.queryParameters)yz(s.valueType,u,d);if(i!=null&&i.request!=null&&typeof i.request!="string"){let s=CEn(i.request["query-parameters"]??{});this.queryParameters[a]={endpointId:a,parametersByAudience:s}}r.requestBody!=null&&iI._visit(r.requestBody,{inlinedRequestBody:s=>{for(let o of s.extends)K3o(o,u,d);for(let o of s.properties)yz(o.valueType,u,d);if(i!=null&&typeof i.request=="object"&&typeof i.request.body=="object"&&KT(i.request.body)){let o=CEn(i.request.body.properties??{});this.requestProperties[a]={endpointId:a,propertiesByAudience:o}}},reference:({requestBodyType:s})=>{yz(s,u,d)},fileUpload:({properties:s})=>{for(let o of s)KN._visit(o,{file:Jo,bodyProperty:({valueType:c})=>{yz(c,u,d)},_other:()=>{throw new Error("Unknown FileUploadRequestProperty: "+o.type)}})},bytes:()=>{},_other:()=>{throw new Error("Unknown HttpRequestBody: "+r.requestBody?.type)}}),r.response?.body!=null&&lT._visit(r.response.body,{fileDownload:Jo,json:s=>{yz(s.responseBodyType,u,d)},streaming:s=>{s._visit({sse:o=>yz(o.payload,u,d),json:o=>yz(o.payload,u,d),text:Jo,_other:()=>{throw new Error("Unknown streamingResponse type: "+s.type)}})},streamParameter:s=>{s.streamResponse._visit({sse:o=>yz(o.payload,u,d),json:o=>yz(o.payload,u,d),text:Jo,_other:()=>{throw new Error("Unknown streamingResponse type: "+s.streamResponse.type)}}),s.nonStreamResponse.type==="json"&&yz(s.nonStreamResponse.value.responseBodyType,u,d)},text:Jo,bytes:Jo,_other:()=>{throw new Error("Unknown HttpResponse: "+r.response?.body?.type)}}),r.errors.forEach(s=>{l.add(Gg.generateErrorId(s.error)),d.add(s.error.fernFilepath)}),this.endpoints[a]={endpointId:a,serviceId:n,referencedTypes:u,referencedErrors:l,referencedSubpackages:d}}markEndpointForAudience(t,r,i){if(this.hasAudience(i)){let n=Gg.generateServiceId(t);this.servicesNeededForAudience.add(n),r.forEach(a=>{let u=a.id;this.endpointsNeededForAudience.add(u),this.endpoints[u]?.referencedSubpackages.forEach(l=>{this.addSubpackages(l)})}),this.servicesNeededForAudience.add(n),this.addSubpackages(t.fernFilepath)}}addWebhook(t,r,i){let n=r.id;if(n==null)return;let a=new Set,u=new Set;r.payload!=null&&LU._visit(r.payload,{inlinedPayload:l=>{for(let d of l.extends)K3o(d,a,u);for(let d of l.properties)yz(d.valueType,a,u);if(i?.payload!=null&&typeof i.payload=="object"&&!Q3o(i.payload)){let d=CEn(i.payload.properties??{});this.webhookProperties[n]={webhookId:n,propertiesByAudience:d}}},reference:({payloadType:l})=>{yz(l,a,u)},_other:()=>{throw new Error("Unknown WebhookPayload: "+r.payload?.type)}}),u.add(t.fernFilepath),this.webhooks[n]={webhookId:n,referencedTypes:a,referencedSubpackages:u}}markWebhookForAudiences(t,r,i){let n=r.id;n!=null&&this.hasAudience(i)&&(this.webhooksNeededForAudience.add(n),this.addSubpackages(t.fernFilepath))}addChannel(t,r,i,n){if(r==null)return;let a=new Set,u=new Set;for(let l of i.messages)qre._visit(l.body,{reference:({bodyType:d})=>{yz(d,a,u)},inlinedBody:d=>{for(let s of d.extends)K3o(s,a,u);for(let s of d.properties)yz(s.valueType,a,u)},_other:()=>{}});u.add(t.fernFilepath),this.channels[r]={channelId:r,referencedTypes:a,referencedSubpackages:u}}markChannelForAudiences(t,r,i){r!=null&&this.hasAudience(i)&&(this.channelsNeededForAudience.add(r),this.addSubpackages(t.fernFilepath))}build(){let t=new Set,r=new Set;for(let l of this.endpointsNeededForAudience.keys()){let d=this.getEndpointNode(l);for(let s of d.referencedErrors){if(r.has(s))continue;r.add(s);let o=this.getErrorNode(s);this.addReferencedTypes(t,o.referencedTypes)}this.addReferencedTypes(t,d.referencedTypes)}this.addReferencedTypes(t,this.typesNeededForAudience);for(let l of this.webhooksNeededForAudience.keys()){let d=this.getWebhookNode(l);this.addReferencedTypes(t,d.referencedTypes)}for(let l of this.channelsNeededForAudience.keys()){let d=this.getChannelNode(l);this.addReferencedTypes(t,d.referencedTypes)}let i={},n={},a={},u={};if(this.audiences.type==="filtered"){for(let[l,d]of Object.entries(this.properties)){if(!t.has(l))continue;let s=new Set;for(let o of this.audiences.audiences){let c=d.propertiesByAudience[o];c?.forEach(b=>{s.add(b)})}s.size>0&&(i[l]=s),i[l]=s.size>0?s:void 0}for(let[l,d]of Object.entries(this.requestProperties)){if(!this.endpointsNeededForAudience.has(l))continue;let s=new Set;for(let o of this.audiences.audiences){let c=d.propertiesByAudience[o];c?.forEach(b=>{s.add(b)})}n[l]=s.size>0?s:void 0}for(let[l,d]of Object.entries(this.queryParameters)){if(!this.endpointsNeededForAudience.has(l))continue;let s=new Set;for(let o of this.audiences.audiences){let c=d.parametersByAudience[o];c?.forEach(b=>{s.add(b)})}a[l]=s.size>0?s:void 0}for(let[l,d]of Object.entries(this.webhookProperties)){if(!this.webhooksNeededForAudience.has(l))continue;let s=new Set;for(let o of this.audiences.audiences){let c=d.propertiesByAudience[o];c?.forEach(b=>{s.add(b)})}u[l]=s.size>0?s:void 0}}return new J3o({types:t,properties:i,errors:r,requestProperties:n,queryParameters:a,environments:this.environmentsNeededForAudience,services:this.servicesNeededForAudience,endpoints:this.endpointsNeededForAudience,webhooks:this.webhooksNeededForAudience,webhookPayloadProperties:u,subpackages:this.subpackagesNeededForAudience,channels:this.channelsNeededForAudience})}markTypeForService(t,r){let i=this.typesReferencedByService[t]??=new Set;if(i.has(r))return;i.add(r);let n=this.getTypeNode(t);for(let a of n.allDescendants)this.markTypeForService(a,r)}addReferencedTypes(t,r){for(let i of r){if(t.has(i))continue;t.add(i);let n=this.getTypeNode(i);if(this.audiences.type==="filtered")for(let a of this.audiences.audiences){let u=n.descendantsByAudience[a];if(u!=null)u.forEach(l=>{t.add(l)});else{n.allDescendants.forEach(l=>{t.add(l)});break}}else n.allDescendants.forEach(a=>{t.add(a)})}}getTypeNode(t){let r=this.types[t];if(r==null)throw new Error(`Failed to find type node with id ${t}`);return r}getErrorNode(t){let r=this.errors[t];if(r==null)throw new Error(`Failed to find error node with id ${t}`);return r}getEndpointNode(t){let r=this.endpoints[t];if(r==null)throw new Error(`Failed to find endpoint node with id ${t}`);return r}getWebhookNode(t){let r=this.webhooks[t];if(r==null)throw new Error(`Failed to find webhook node with id ${t}`);return r}getChannelNode(t){let r=this.channels[t];if(r==null)throw new Error(`Failed to find channel node with id ${t}`);return r}hasNoAudiences(){return this.audiences.type==="none"}hasAudience(t){let r=this.audiences;switch(r.type){case"none":return!0;case"filtered":return t.some(i=>r.audiences.has(i));default:Fo(r)}}addSubpackages(t){for(let r=1;r<=t.allParts.length;++r){let i={...t,allParts:t.allParts.slice(0,r)};this.subpackagesNeededForAudience.add(Gg.generateSubpackageId(i))}}};function wpE(e){switch(e.type){case"all":return{type:"none"};case"select":return{type:"filtered",audiences:new Set(e.audiences)};default:Fo(e)}}function yz(e,t,r){pd._visit(e,{container:i=>{SpE(i,t,r)},named:i=>{K3o(i,t,r)},primitive:Jo,unknown:Jo,_other:Jo})}function K3o(e,t,r){t.add(Gg.generateTypeId(e)),r.add(e.fernFilepath)}function SpE(e,t,r){Mv._visit(e,{list:i=>{yz(i,t,r)},map:i=>{yz(i.keyType,t,r),yz(i.valueType,t,r)},optional:i=>{yz(i,t,r)},nullable:i=>{yz(i,t,r)},set:i=>{yz(i,t,r)},literal:Jo,_other:Jo})}function Vl_({reference:e,referencedIn:t,imports:r}){let[i,n,...a]=e.split(".");if(i==null||a.length>0)return;if(n==null)return{endpointName:i,relativeFilepath:t};let l=r[i];if(l!=null)return{endpointName:n,relativeFilepath:e_i({referencedIn:t,importPath:l})}}var PFi=class{workspace;constructor(t){this.workspace=t}resolveEndpointOrThrow({endpoint:t,file:r}){let i=this.resolveEndpoint({endpoint:t,file:r});if(i==null)throw new Error("Cannot resolve endpoint: "+t+" in file "+r.relativeFilepath);return i}resolveEndpointByMethodAndPath({method:t,path:r}){let i;return hF(this.workspace,(n,a,u)=>{let l=e0({relativeFilepath:n,definitionFile:a,casingsGenerator:r_i,rootApiFile:this.workspace.definition.rootApiFile.contents,defaultUrl:u.defaultUrl});for(let[d,s]of Object.entries(a.service?.endpoints??{}))s.method===t&&s.path===r&&(i={endpointId:d,endpoint:s,file:l})}),uNi(this.workspace,(n,a)=>{let u=e0({relativeFilepath:n,definitionFile:a,casingsGenerator:r_i,rootApiFile:this.workspace.definition.rootApiFile.contents});for(let[l,d]of Object.entries(a.service?.endpoints??{}))d.method===t&&d.path===r&&(i={endpointId:l,endpoint:d,file:u})}),i}resolveEndpoint({endpoint:t,file:r}){let n=new FBi().tryParse(t);if(n!=null)return this.resolveEndpointByMethodAndPath(n);let a=this.getDeclarationOfEndpoint({referenceToEndpoint:t,file:r});if(a==null)return;let u=a.file.definitionFile.service?.endpoints?.[a.endpointName];if(u!=null)return{endpointId:a.endpointName,endpoint:u,file:a.file}}getDeclarationOfEndpoint({referenceToEndpoint:t,file:r}){let i=Vl_({reference:t,referencedIn:r.relativeFilepath,imports:r.imports});if(i==null)return;let n=Nie(this.workspace,i.relativeFilepath);if(!(n==null||n.service?.endpoints?.[i.endpointName]==null))return{endpointName:i.endpointName,file:e0({relativeFilepath:i.relativeFilepath,definitionFile:n,casingsGenerator:r.casingsGenerator,rootApiFile:this.workspace.definition.rootApiFile.contents})}}};var jFi=class{workspace;constructor(t){this.workspace=t}getDeclarationOrThrow(t,r){let i=this.getDeclaration(t,r);if(i==null)throw new Error("Error does not exist: "+t);return i}getDeclaration(t,r){let i=aDe({reference:t,referencedIn:r.relativeFilepath,imports:r.imports});if(i==null)return;let n=Nie(this.workspace,i.relativeFilepath);if(n==null)return;let a=n.errors?.[i.typeName];if(a!=null)return{declaration:a,file:e0({definitionFile:n,relativeFilepath:i.relativeFilepath,casingsGenerator:r.casingsGenerator,rootApiFile:this.workspace.definition.rootApiFile.contents})}}};var uDe=class{typeResolver;constructor(t){this.typeResolver=t}resolveAllReferencesInExample({example:t,file:r}){if(typeof t=="string"){let i=this.resolveExample({example:t,file:r});return i==null||typeof i.resolvedExample=="string"?i:this.resolveAllReferencesInExample({example:i.resolvedExample,file:i.file})}else if(ew(t)){let i={};for(let[n,a]of Object.entries(t)){let u=this.resolveAllReferencesInExample({example:a,file:r});if(u==null)return;i[n]=u.resolvedExample}return{resolvedExample:i}}else if(Array.isArray(t)){let i=[];for(let n of t){let a=this.resolveAllReferencesInExample({example:n,file:r});if(a==null)return;i.push(a.resolvedExample)}return{resolvedExample:i}}return{resolvedExample:t}}resolveAllReferencesInExampleOrThrow({example:t,file:r}){let i=this.resolveAllReferencesInExample({example:t,file:r});if(i==null)throw new Error("Failed to resolve examples");return i}resolveExample({example:t,file:r}){if(typeof t!="string")return{resolvedExample:t,file:r};if(t.startsWith(`\\${xQt}`))return{resolvedExample:t.slice(1),file:r};if(!t.startsWith(xQt))return{resolvedExample:t,file:r};let i=this.parseExampleReference(t);if(i==null)return;let n=this.typeResolver.getDeclarationOfNamedType({referenceToNamedType:i.rawTypeReference,file:r});if(n==null||typeof n.declaration=="string"||n.declaration.examples==null)return;let a=n.declaration.examples.find(u=>u.name===i.exampleName);if(a!=null)return this.resolveExample({example:a.value,file:n.file})}resolveExampleOrThrow({example:t,file:r}){let i=this.resolveExample({example:t,file:r});if(i==null)throw new Error("Cannot resolve example: "+t);return i}parseExampleReference(t){let[r,i,n,...a]=t.split(".");if(!(r==null||i==null||a.length>0))return n==null?{rawTypeReference:r.slice(xQt.length),exampleName:i}:{rawTypeReference:`${r}.${i}`.slice(xQt.length),exampleName:n}}};var X3o=class{typeResolver;endpointResolver;constructor(t,r){this.typeResolver=t,this.endpointResolver=r,this.typeResolver=t,this.endpointResolver=r}resolveRequestPropertyOrThrow({file:t,endpoint:r,propertyComponents:i}){let n=this.resolveRequestProperty({file:t,endpoint:r,propertyComponents:i});if(n==null)throw new Error("Cannot resolve request property from endpoint: "+r+" in file "+t.relativeFilepath);return n}resolveRequestProperty({file:t,endpoint:r,propertyComponents:i}){let n=this.endpointResolver.resolveEndpointOrThrow({endpoint:r,file:t});if(n.endpoint.request==null)return;if(typeof n.endpoint.request!="string")return this.resolveRequestPropertyFromInlinedRequest({typeResolver:this.typeResolver,file:n.file,requestType:n.endpoint.request,propertyComponents:i});let a=this.resolveObjectProperty({file:n.file,typeName:n.endpoint.request,propertyComponents:i});if(a!=null)return{propertyPath:this.propertyPathFromPropertyComponents({propertyComponents:i,file:t}),property:Mre.body(a)}}resolveResponsePropertyOrThrow({file:t,endpoint:r,propertyComponents:i}){let n=this.resolveResponseProperty({file:t,endpoint:r,propertyComponents:i});if(n==null)throw new Error("Cannot resolve response property from endpoint: "+r+" in file "+t.relativeFilepath);return n}resolveResponseProperty({file:t,endpoint:r,propertyComponents:i}){let n=this.endpointResolver.resolveEndpointOrThrow({endpoint:r,file:t}),a=this.resolveObjectProperty({file:n.file,typeName:(typeof n.endpoint.response!="string"?n.endpoint.response?.type:n.endpoint.response)??"",propertyComponents:i});if(a!=null)return{propertyPath:this.propertyPathFromPropertyComponents({propertyComponents:i,file:t}),property:a}}resolveRequestPropertyFromInlinedRequest({typeResolver:t,file:r,requestType:i,propertyComponents:n}){if(n.length===1){let a=n[0]??"",u=i["query-parameters"]?.[a]??void 0;if(u!=null)return{property:Mre.query(U3o({file:r,queryParameterKey:a,queryParameter:u})),propertyPath:void 0}}return this.resolveRequestPropertyFromInlinedRequestBody({typeResolver:t,file:r,requestType:i,propertyComponents:n})}resolveRequestPropertyFromInlinedRequestBody({typeResolver:t,file:r,requestType:i,propertyComponents:n}){if(i.body==null)return;if(typeof i.body=="string"){let u=this.resolveObjectProperty({file:r,typeName:i.body,propertyComponents:n});return u==null?void 0:{propertyPath:this.propertyPathFromPropertyComponents({propertyComponents:n,file:r}),property:Mre.body(u)}}if(KT(i.body)){let u=Pec({typeResolver:t,file:r,objectSchema:i.body,propertyComponents:n});return u==null?void 0:{propertyPath:this.propertyPathFromPropertyComponents({propertyComponents:n,file:r}),property:Mre.body(u)}}let a=this.resolveObjectProperty({file:r,typeName:i.body.type,propertyComponents:n});if(a!=null)return{propertyPath:this.propertyPathFromPropertyComponents({propertyComponents:n,file:r}),property:Mre.body(a)}}resolveObjectProperty({file:t,typeName:r,propertyComponents:i}){let n=this.typeResolver.resolveTypeOrThrow({type:r,file:t});return mec({typeResolver:this.typeResolver,file:fba(n)??t,resolvedType:n,propertyComponents:i})}propertyPathFromPropertyComponents({propertyComponents:t,file:r}){return t.length<=1?[]:t.slice(0,-1).map(i=>r.casingsGenerator.generateName(i))}};var l1=class{workspace;constructor(t){this.workspace=t}resolveTypeOrThrow({type:t,file:r}){let i=this.resolveType({type:t,file:r});if(i==null)throw new Error("Cannot resolve type: "+t+" in file "+r.relativeFilepath);return i}getDeclarationOfNamedTypeOrThrow({referenceToNamedType:t,file:r}){let i=this.getDeclarationOfNamedType({referenceToNamedType:t,file:r});if(i==null)throw new Error("Cannot find declaration of type: "+t+" in file "+r.relativeFilepath);return i}getDeclarationOfNamedType({referenceToNamedType:t,file:r}){let i=aDe({reference:t,referencedIn:r.relativeFilepath,imports:r.imports});if(i==null)return;let n=Nie(this.workspace,i.relativeFilepath);if(n==null)return;let a=n.types?.[i.typeName];if(a==null){let u=ZI(i.typeName);if(u!=null){for(let l of Object.keys(n.types??{})??[])if(u.name&&l.startsWith(u.name)&&l.endsWith(">")){let d=n.types?.[l];return d!=null?{typeName:l,declaration:d,file:e0({relativeFilepath:i.relativeFilepath,definitionFile:n,casingsGenerator:r.casingsGenerator,rootApiFile:this.workspace.definition.rootApiFile.contents})}:void 0}}return}return{typeName:i.typeName,declaration:a,file:e0({relativeFilepath:i.relativeFilepath,definitionFile:n,casingsGenerator:r.casingsGenerator,rootApiFile:this.workspace.definition.rootApiFile.contents})}}resolveType({type:t,file:r,objectPath:i=[]}){return UU({type:t,_default:void 0,validation:void 0,visitor:{primitive:n=>({_type:"primitive",primitive:n,originalTypeReference:pd.primitive(n)}),unknown:()=>({_type:"unknown",originalTypeReference:pd.unknown()}),map:({keyType:n,valueType:a})=>n!=null&&a!=null?{_type:"container",container:{_type:"map",keyType:n,valueType:a},originalTypeReference:pd.container(Mv.map({keyType:n.originalTypeReference,valueType:a.originalTypeReference}))}:void 0,list:n=>n!=null?{_type:"container",container:{_type:"list",itemType:n},originalTypeReference:pd.container(Mv.list(n.originalTypeReference))}:void 0,optional:n=>n!=null?{_type:"container",container:{_type:"optional",itemType:n},originalTypeReference:pd.container(Mv.optional(n.originalTypeReference))}:void 0,nullable:n=>n!=null?{_type:"container",container:{_type:"nullable",itemType:n},originalTypeReference:pd.container(Mv.nullable(n.originalTypeReference))}:void 0,set:n=>n!=null?{_type:"container",container:{_type:"set",itemType:n},originalTypeReference:pd.container(Mv.set(n.originalTypeReference))}:void 0,literal:n=>({_type:"container",container:{_type:"literal",literal:n},originalTypeReference:pd.container(Mv.literal(n))}),named:n=>{let a=this.getDeclarationOfNamedType({referenceToNamedType:n,file:r});if(a==null)return;let u={typeName:a.typeName,file:a.file.relativeFilepath,reference:n};if(!i.some(l=>l.file===u.file&&l.typeName===u.typeName))return this.resolveNamedTypeFromDeclaration({referenceToNamedType:n,referencedIn:r,rawDeclaration:a,objectPath:[...i,u]})}}})}resolveNamedTypeOrThrow({referenceToNamedType:t,file:r}){let i=this.resolveNamedType({referenceToNamedType:t,file:r});if(i==null)throw new Error("Cannot resolve type: "+t);return i}resolveNamedType({referenceToNamedType:t,file:r}){let i=this.getDeclarationOfNamedType({referenceToNamedType:t,file:r});if(i!=null)return this.resolveNamedTypeFromDeclaration({referenceToNamedType:t,referencedIn:r,rawDeclaration:i})}resolveNamedTypeFromDeclaration({referenceToNamedType:t,referencedIn:r,rawDeclaration:i,objectPath:n=[]}){let{declaration:a,file:u}=i;if(tci(a))return this.resolveType({type:typeof a=="string"?a:a.type,file:u,objectPath:n});let l=pba({type:t,_default:void 0,validation:void 0,file:r});if(!(l.type!=="named"||Nie(this.workspace,u.relativeFilepath)==null))return{_type:"named",rawName:i.typeName,name:l,declaration:a,filepath:u.relativeFilepath,objectPath:n,originalTypeReference:l,file:u}}};var o9t=class e{static VARIABLE_PREFIX="$";getDeclarationOrThrow(t,r){let i=this.getDeclaration(t,r);if(i==null)throw new Error("Variable does not exist: "+t);return i}getDeclaration(t,r){if(!t.startsWith(e.VARIABLE_PREFIX))return;let i=r.rootApiFile.variables?.[t.substring(1)];if(i!=null)return{declaration:i,file:KKr({casingsGenerator:r.casingsGenerator,rootApiFile:r.rootApiFile})}}getVariableIdOrThrow(t){let r=this.getVariableId(t);if(r==null)throw new Error("Variable reference does not start with "+e.VARIABLE_PREFIX);return r}getVariableId(t){if(t.startsWith(e.VARIABLE_PREFIX))return t.substring(e.VARIABLE_PREFIX.length)}};function Z3o(e,t){if(t){for(let[r,i]of Object.entries(t))if(typeof i!="string"&&r===e)return i.audiences}}function I2({workspace:e,generationLanguage:t,keywords:r,smartCasing:i,exampleGeneration:n,audiences:a,readme:u,packageName:l,version:d,fdrApiDefinitionId:s,sourceResolver:o,disableDynamicExamples:c,dynamicGeneratorConfig:b}){let g=iDe({generationLanguage:t,keywords:r,smartCasing:i}),O=new Y3o(a),m=KKr({casingsGenerator:g,rootApiFile:e.definition.rootApiFile.contents}),w=(e.definition.rootApiFile.contents.errors??[]).map(st=>({error:t_i({errorName:st,file:m}),docs:void 0})),E=new l1(e),A=new PFi(e),q=new X3o(E,A),D=new jFi(e),C=new uDe(E),R=new o9t,$={fdrApiDefinitionId:s,apiVersion:Ol_({file:m,rawApiFileSchema:e.definition.rootApiFile.contents}),apiName:g.generateName(e.definition.rootApiFile.contents.name),apiDisplayName:e.definition.rootApiFile.contents["display-name"],apiDocs:sba(e.definition.rootApiFile.contents.docs),auth:gl_({rawApiFileSchema:e.definition.rootApiFile.contents,file:m,propertyResolver:q,endpointResolver:A}),headers:e.definition.rootApiFile.contents.headers!=null?Object.entries(e.definition.rootApiFile.contents.headers).map(([st,ve])=>Gze({headerKey:st,header:ve,file:m})):[],idempotencyHeaders:e.definition.rootApiFile.contents["idempotency-headers"]!=null?Object.entries(e.definition.rootApiFile.contents["idempotency-headers"]).map(([st,ve])=>Gze({headerKey:st,header:ve,file:m})):[],types:{},errors:{},services:{},constants:sl_(g),environments:Mec({casingsGenerator:g,rawApiFileSchema:e.definition.rootApiFile.contents}),errorDiscriminationStrategy:Sl_(e.definition.rootApiFile.contents["error-discrimination"],m),basePath:e.definition.rootApiFile.contents["base-path"]!=null?MV(e.definition.rootApiFile.contents["base-path"]):void 0,pathParameters:TEn({pathParameters:e.definition.rootApiFile.contents["path-parameters"],file:m,location:hxe.Root,variableResolver:R}),variables:e.definition.rootApiFile.contents.variables!=null?Object.entries(e.definition.rootApiFile.contents.variables).map(([st,ve])=>({docs:typeof ve!="string"?ve.docs:void 0,id:st,name:m.casingsGenerator.generateName(st),type:m.parseTypeReference(ve)})):[],serviceTypeReferenceInfo:{typesReferencedOnlyByService:{},sharedTypes:[]},webhookGroups:{},websocketChannels:{},readmeConfig:void 0,sourceConfig:void 0,publishConfig:void 0,dynamic:void 0},I=new $3o,U=st=>{I.addSubpackage(st.fernFilepath),kj(st.definitionFile,{imports:Jo,docs:ve=>{ve!=null&&I.addDocs(st.fernFilepath,ve)},types:ve=>{if(ve!=null)for(let[Pe,Ot]of Object.entries(ve)){if(pxe(Pe))continue;let wt=xl_({typeName:Pe,typeDeclaration:Ot,file:st,typeResolver:E,exampleResolver:C,sourceResolver:o,workspace:e}),sr=wt.typeDeclaration;n.disabled&&(sr.userProvidedExamples=[],sr.autogeneratedExamples=[]);let ur=wt.descendantFilepaths,ni=Gg.generateTypeId(sr.name);$.types[ni]=sr,I.addType(ni,sr),O.addType({declaredTypeName:sr.name,descendantTypeIds:sr.referencedTypes,descendantTypeIdsByAudience:{},propertiesByAudience:wt.propertiesByAudience,descendantFilepaths:ur}),O.markTypeForAudiences(sr.name,pc_(Ot))}},errors:ve=>{if(ve==null)return;if(e.definition.rootApiFile.contents["error-discrimination"]==null)throw new Error("error-discrimination is missing in api.yml but there are declared errors.");for(let[Ot,wt]of Object.entries(ve)){let sr=jl_({errorName:Ot,errorDeclaration:wt,file:st,typeResolver:E,exampleResolver:C,workspace:e}),ur=Gg.generateErrorId(sr.name);$.errors[ur]=sr,I.addError(ur,sr),O.addError(sr)}},service:ve=>{if(ve==null)return;let Pe=nl_({rootDefaultUrl:st.defaultUrl??e.definition.rootApiFile.contents["default-url"],rootPathParameters:$.pathParameters,serviceDefinition:ve,file:st,errorResolver:D,typeResolver:E,propertyResolver:q,exampleResolver:C,sourceResolver:o,globalErrors:w,variableResolver:R,workspace:e}),Ot=Gg.generateServiceId(Pe.name);$.services[Ot]=Pe,I.addService(Ot,Pe);let wt={};Pe.endpoints.forEach(sr=>{n.disabled&&(sr.autogeneratedExamples=[],sr.userSpecifiedExamples=[]);let ur=ve.endpoints[sr.name.originalName];O.addEndpoint(Pe,sr,ur),wt[sr.name.originalName]=sr}),ve.audiences!=null&&O.markEndpointForAudience(Pe.name,Pe.endpoints,ve.audiences),Object.entries(ve.endpoints).map(([sr,ur])=>{let ni=wt[sr];ni!=null&&ur.audiences!=null&&O.markEndpointForAudience(Pe.name,[ni],ur.audiences)})},webhooks:ve=>{if(ve==null)return;let Pe=Gg.generateWebhookGroupId(st.fernFilepath),Ot=El_({webhooks:ve,file:st,typeResolver:E,exampleResolver:C,workspace:e}),wt={};for(let sr of Ot)wt[sr.name.originalName]=sr;Object.entries(ve).forEach(([sr,ur])=>{let ni=wt[sr];ni!=null&&(O.addWebhook(st,ni,ur),ur.audiences!=null&&O.markWebhookForAudiences(st,ni,ur.audiences))}),$.webhookGroups[Pe]=Ot,I.addWebhookGroup(Pe,st.fernFilepath)},channel:ve=>{if(ve==null)return;let Pe=Gg.generateWebSocketChannelId(st.fernFilepath),Ot=ml_({channel:ve,file:st,variableResolver:R,typeResolver:E,exampleResolver:C,workspace:e});O.addChannel(st,Pe,Ot,ve),ve.audiences!=null&&O.markChannelForAudiences(st,Pe,ve.audiences),$.websocketChannels!=null&&($.websocketChannels[Pe]=Ot,I.addWebSocketChannel(Pe,st.fernFilepath))}})};hF(e,(st,ve,Pe)=>{U(e0({relativeFilepath:st,definitionFile:ve,casingsGenerator:g,rootApiFile:e.definition.rootApiFile.contents,defaultUrl:Pe.defaultUrl}))}),uNi(e,(st,ve)=>{if(ve.navigation!=null)if(typeof ve.navigation=="string")I.addPackageRedirection({from:Jie({relativeFilepath:st,casingsGenerator:g}),to:Jie({relativeFilepath:SR(xBe(st),sy.of(ve.navigation)),casingsGenerator:g})});else{let Pe=ve.navigation.map(Ot=>Gg.generateSubpackageId(Jie({relativeFilepath:SR(xBe(st),sy.of(Ot)),casingsGenerator:g})));st===Z1?I.sortRootPackage(Pe):I.sortSubpackage(Gg.generateSubpackageId(Jie({relativeFilepath:st,casingsGenerator:g})),Pe)}}),$.serviceTypeReferenceInfo=EpE(O);let H=n.disabled?$:TNi({ir:$,exampleGeneration:n}),k=e.definition.rootApiFile.contents,K=Mec({casingsGenerator:g,rawApiFileSchema:k}),ee=K?.environments._visit({singleBaseUrl:st=>st.environments.filter(ve=>Z3o(ve.id,k.environments)!=null).length===0,multipleBaseUrls:st=>st.environments.filter(ve=>Z3o(ve.id,k.environments)!=null).length===0,_other:()=>!1});K?.environments.environments.forEach(st=>{O.markEnvironmentForAudiences(st,Z3o(st.id,k.environments)??[],ee)});let fe=O.hasNoAudiences()?void 0:O.build(),me=MpE(H,fe),ge=e.definition.rootApiFile.contents.auth!=null&&Object.values(me.services).every(st=>st.endpoints.every(ve=>ve.auth)),we=Object.values(me.services).some(st=>st.endpoints.some(ve=>ve.response?.body?.type==="streaming")),Ze=Object.values(me.services).some(st=>st.endpoints.some(ve=>ve.pagination!=null)),Mt=Object.values(me.services).some(st=>st.endpoints.some(ve=>ve.response?.body?.type==="fileDownload")),De={isAuthMandatory:ge,hasStreamingEndpoints:we,hasPaginatedEndpoints:Ze,hasFileDownloadEndpoints:Mt,platformHeaders:{language:"X-Fern-Language",sdkName:"X-Fern-SDK-Name",sdkVersion:"X-Fern-SDK-Version",userAgent:d!=null&&l!=null?{header:"User-Agent",value:`${l}/${d}`}:void 0}},Te=u!=null?Dl_({readme:u,services:$.services}):void 0,{types:xt,services:Ee}=zl_(me),It=DpE({...me,...I.build(fe),types:xt,services:Ee,sdkConfig:De,readmeConfig:Te});return{...It,dynamic:ol_({ir:It,generatorConfig:b,disableExamples:c,generationLanguage:t,smartCasing:i})}}function DpE(e){let t=r=>{if(!r||typeof r!="object")return r;if(Array.isArray(r))return r.map(t);for(let i in r){let n=r[i];i==="docs"&&typeof n=="string"?r[i]=sba(n):n&&typeof n=="object"&&t(n)}return r};return t(e)}function EpE(e){let t={},r=[],i=e.getTypesReferencedByService();for(let[n,a]of Object.entries(i)){if(a.size===1){let u=a.values().next().value;if(u==null)break;t[u]===void 0&&(t[u]=[]),t[u]?.push(n);continue}r.push(n)}return{typesReferencedOnlyByService:t,sharedTypes:r}}function MpE(e,t){if(t==null)return e;let r=QTi(e.types,u=>t.hasType(u)),i=Object.fromEntries(Object.entries(r).map(([u,l])=>{let d=[];if(l.userProvidedExamples=l.userProvidedExamples.map(s=>Ul_({filteredIr:t,exampleType:s})).filter(s=>s!==void 0),l.shape.type==="object"){for(let s of l.shape.properties)t.hasProperty(u,s.name.wireValue)&&d.push(s);return[u,{...l,shape:a0.object({...l.shape,properties:d})}]}return[u,l]})),n=Object.fromEntries(Object.entries(e.webhookGroups).map(([u,l])=>{let d=l.filter(s=>t.hasWebhook(s)).map(s=>{let o=s.id;return s.payload.type==="inlinedPayload"&&o!=null&&(s.payload={...s.payload,properties:s.payload.properties.filter(c=>t.hasWebhookPayloadProperty(o,c.name.wireValue))}),s});return[u,d]})),a=e.environments;if(a){switch(a.environments.type){case"singleBaseUrl":{a.environments.environments=a.environments.environments.filter(u=>t.hasEnvironmentId(u.id));break}case"multipleBaseUrls":{a.environments.environments=a.environments.environments.filter(u=>t.hasEnvironmentId(u.id));break}}a.defaultEnvironment&&(t.hasEnvironmentId(a.defaultEnvironment)||(a.defaultEnvironment=void 0))}return{...e,environments:a,types:i,errors:QTi(e.errors,u=>t.hasError(u)),services:rd(QTi(e.services,u=>t.hasService(u)),u=>({...u,endpoints:u.endpoints.filter(l=>t.hasEndpoint(l)).map(l=>(l.autogeneratedExamples=l.autogeneratedExamples.map(d=>({...d,example:xec({filteredIr:t,example:d.example})})),l.userSpecifiedExamples=l.userSpecifiedExamples.map(d=>({...d,example:d.example!=null?xec({filteredIr:t,example:d.example}):void 0})),l.queryParameters.length>0&&(l.queryParameters=l.queryParameters.filter(d=>t.hasQueryParameter(l.id,d.name.wireValue))),l.requestBody?.type==="inlinedRequestBody"?{...l,requestBody:{...l.requestBody,properties:l.requestBody.properties.filter(d=>t.hasRequestProperty(l.id,d.name.wireValue))}}:l))})),webhookGroups:n,serviceTypeReferenceInfo:ApE(e.serviceTypeReferenceInfo,t)}}function ApE(e,t){if(t==null)return e;let r={};return Object.entries(e.typesReferencedOnlyByService).forEach(([i,n])=>{t.hasServiceId(i)&&(r[i]=n.filter(a=>t.hasTypeId(a)))}),{sharedTypes:e.sharedTypes.filter(i=>t.hasTypeId(i)),typesReferencedOnlyByService:r}}function Wl_(e){throw new Error("Unexpected value: "+JSON.stringify(e))}var $l_=yi(sia(),1);var Hl_=["PII","PHI","PCI","GDPR","CCPA","HIPAA","COPPA","FERPA","GLBA","SOX","FISMA","NIST","CIS","ISO","IEC","ITAR","EAR","CMMC","CUI","CDI","FTC","FCC","SEC","FINRA","XSS","CSRF","SSRF","XSRF","TLS","SSL","SSH","API","OAuth","OAuth1","OAuth1.0","OAuth2","OAuth2.0","SAML","OpenID","OpenID Connect","CAPTCHA","reCAPTCHA","2FA","MFA","OTP","TOTP","HOTP","U2F","FIDO","FIDO2","PKI","HMAC","AES","RSA","SHA","MD5","BCrypt","PBKDF2","Argon2","SCrypt","JWT","JWE","JWS","JWK","JWA","JOSE","SKU","SKUs","UPC","EAN","ISBN","ASIN","MPN","MSRP","MAP","RRP","MSRP","AM","PM","UTC","GMT","PST","PDT","EST","EDT","CST","CDT","MST","MDT","USA","UK","EU","UAE","APAC","EMEA","LATAM","ANZ","SEA","MEA","MENA","NATO","NA","SA","CA","EU","AU","NZ","JP","KR","CN","HK","TW","SG","MY","TH","ID","PH","VN","IN","PK","BD","LK","NP","MM","KH","LA","MM","BT","MV","USD","EUR","GBP","JPY","CNY","RUB","INR","AUD","CAD","CHF","SGD","MYR","THB","IDR","KRW","PHP","VND","HKD","TWD","MXN","BRL","ARS","CLP","COP","PEN","ZAR","NGN","EGP","AED","SAR","ILS","TRY","SEK","NOK","DKK","ISK","HUF","PLN","CZK","RON","BGN","API","APIs","SDK","SDKs","AI","OCR","REST","SOAP","JSON","XML","HTTP","HTTPS","URI","URL","CRUD","RESTful","KYB","KYC","AML","HTML","CSS","JS","SQL","DB","UI","UX","SaaS","PaaS","IaaS","IP","TCP","UDP","DNS","FTP","SMTP","IMAP","POP3","CSV","MVC","MVP","MVVM","DOM","SPA","SSR","CSR","DDoS","CDN","IoT","ML","DL","NLP","CLI","GUI","BI","ETL","RDBMS","NoSQL","IDE","CMS","CCPA","POSIX","ABI","API","AST","COBOL","DDL","DML","NN","CNN","RNN","LSTM","GRU","ANN","GAN","RL","DL","ML","NLP","NLG","NLU","BERT","GPT","SVM","PCA","AI","CV","TF","TTS","ASR","HMM","DNN","MLP","RBM","CRF","PDF","PDFs","RTF","TXT","XLS","XLSX","PPT","JPG","JPEG","PNG","GIF","GIFs","SVG","TIFF","BMP","ICO","PSD","WebP","AVIF","HEIF","HEIC","EPS","MP3","WAV","AIFF","FLAC","WMA","AAC","OGG","AVI","WMV","MOV","M4V","MP4","MPG","MPEG","FLV","SWF","MKV","WebM","GCP","AWS","VM","VPC","S3","EC2","DynamoDB","CosmosDB","BigQuery","CI/CD","SOC1","SOC2","SOC3","PCI DSS","WAF","IAM","SDN","MPLS","BGP","Vue.js","Node.js",".NET"];function u9t(e){return e=e.replace(/([a-z])([A-Z])/g,"$1 $2"),e=e.replace(/_/g," "),e=e.replace(/-/g," "),(0,$l_.default)(e,{special:Hl_}).replace(/V\s(\d)/g,"V$1")}function vba(e,t="type"){return{_visit:r=>{let i=r[e[t]];return i!=null?i(e):(r._other==null&&Wl_(e),r._other(e))}}}function rZt(e){return typeof e.subpackageId=="string"}function $C(e){return e.map(t=>t.type==="literal"?t.value:`{${t.value}}`).join("")}function Qze(e){return e.map(t=>t.type==="literal"?t.value:`:${t.value}`).join("")}var Iec="__package__",n_i=class e{api;context;static create(t,r){return new e(t,r)}#e=new Map;#t=new Map;#r=new Map;#n=new Map;#i=new Map;#a=new Map;#o=new Map;#c=new Map;#l=new Map;#u=new Map;#s=new Map;static getSubpackageId(t){return rZt(t)?t.subpackageId:Iec}getSubpackageByIdOrLocator(t){if(t==null)return;let r=x2.SubpackageId(t);return r===Iec?this.api.rootPackage:this.api.subpackages[r]??this.#s.get(r)}resolveSubpackage(t){if(t!=null){for(;t?.pointsTo!=null;)t=this.api.subpackages[t.pointsTo];return t}}constructor(t,r){this.api=t,this.context=r,[t.rootPackage,...Object.values(t.subpackages)].forEach(i=>{let n=x2.SubpackageId(e.getSubpackageId(i)),a={endpoints:new Map,webSockets:new Map,webhooks:new Map};this.#o.set(n,a),i.endpoints.forEach(u=>{a.endpoints.set(u.id,u);let l=e.createEndpointId(u,n);this.#e.set(l,u);let d=[],s=[u.method];u.response?.type.type==="stream"&&s.push("STREAM"),s.forEach(o=>{d.push(`${o} ${$C(u.path.parts)}`),d.push(`${o} ${Qze(u.path.parts)}`),u.environments.forEach(c=>{d.push(`${o} ${Lv(c.baseUrl,$C(u.path.parts))}`),d.push(`${o} ${Lv(c.baseUrl,Qze(u.path.parts))}`);let b=k3o(c);b!=null&&(d.push(`${o} ${Lv(b,$C(u.path.parts))}`),d.push(`${o} ${Lv(b,Qze(u.path.parts))}`))})}),d.forEach(o=>{this.context?.logger.trace(`Registering endpoint locator: ${o}`),this.#c.set(o,u)})}),i.websockets.forEach(u=>{a.webSockets.set(u.id,u);let l=e.createWebSocketId(u,n);this.#t.set(l,u);let d=[];["GET","WSS"].forEach(o=>{d.push(`${o} ${$C(u.path.parts)}`),d.push(`${o} ${Qze(u.path.parts)}`),u.environments.forEach(c=>{d.push(`${o} ${Lv(c.baseUrl,$C(u.path.parts))}`),d.push(`${o} ${Lv(c.baseUrl,Qze(u.path.parts))}`);let b=k3o(c);b!=null&&(d.push(`${o} ${Lv(b,$C(u.path.parts))}`),d.push(`${o} ${Lv(b,Qze(u.path.parts))}`))})}),d.forEach(o=>{this.context?.logger.trace(`Registering websocket locator: ${o}`),this.#l.set(o,u)})}),i.webhooks.forEach(u=>{a.webhooks.set(u.id,u),this.#r.set(e.createWebhookId(u,n),u)})}),this.#e.forEach((i,n)=>{this.#n.set(i,n)}),this.#t.forEach((i,n)=>{this.#i.set(i,n)}),this.#r.forEach((i,n)=>{this.#a.set(i,n)}),this.#f(t.rootPackage,[])}#f(t,r){if(t==null)return;let i=rZt(t)?[...r,t.name]:r,n=i.length===0?[Iec]:i;if([n.join("."),n.join("/"),`${n.join(".")}.yml`].forEach(u=>{this.context?.logger.trace(`Registering subpackage locator: ${u}`),this.#s.set(u,t)}),t.pointsTo!=null)return this.#f(this.api.subpackages[t.pointsTo],i);t.endpoints.forEach(u=>{let l=[...i,u.id];[l.join("."),l.join("/")].forEach(s=>{this.context?.logger.trace(`Registering endpoint locator: ${s}`),this.#c.set(s,u)})}),t.websockets.forEach(u=>{let l=[...i,u.id];[l.join("."),l.join("/")].forEach(s=>{this.context?.logger.trace(`Registering websocket locator: ${s}`),this.#l.set(s,u)})}),t.webhooks.forEach(u=>{let l=[...i,u.id];[l.join("."),l.join("/")].forEach(s=>{this.context?.logger.trace(`Registering webhook locator: ${s}`),this.#u.set(s,u)})}),t.subpackages.forEach(u=>{this.#f(this.api.subpackages[u],i)})}get endpoints(){return this.#e}get webSockets(){return this.#t}get webhooks(){return this.#r}get endpointsByLocator(){return this.#c}get webSocketsByLocator(){return this.#l}get webhooksByLocator(){return this.#u}get subpackages(){return this.#o}get subpackagesByLocator(){return this.#s}getEndpointId(t){return this.#n.get(t)}getWebSocketId(t){return this.#i.get(t)}getWebhookId(t){return this.#a.get(t)}static createEndpointId(t,r){return zo.EndpointId(t.originalEndpointId??`${r}.${t.id}`)}static createWebSocketId(t,r){return zo.WebSocketId(`${r}.${t.id}`)}static createWebhookId(t,r){return zo.WebhookId(`${r}.${t.id}`)}};function k3o(e){if(e!=null){if(e.baseUrl.startsWith("/"))return e.baseUrl;if(e.baseUrl.startsWith("http")||e.baseUrl.startsWith("ws"))try{return new URL(e.baseUrl).pathname}catch{return}}}var BEn=yi(FFo(),1),Ql_=yi(LFo(),1);function Gl_(e){let t=e.split(".")[0];if(t==null)return;let i=/(^\d{1,4})-(\d{1,2})-(\d{1,4})/.exec(t)?.[0];if(i!=null)try{return new Date(i)}catch{}}BEn.default.extend(Ql_.default);var qpE="Changelog",TpE=["summary","index","overview"],XKr=class{markdownToFullSlug;markdownToNoIndex;changelogFiles;docsWorkspace;idgen;constructor(t,r,i,n,a){this.markdownToFullSlug=t,this.markdownToNoIndex=r,this.changelogFiles=i,this.docsWorkspace=n,this.idgen=a}toChangelogNode(t){let r=t.title??qpE,i=[],n;for(let b of this.changelogFiles??[]){let g=yps(b.split("/"));if(g==null)continue;let O=Gl_(g);if(O==null){let w=g.split(".")[0]?.toLowerCase();w!=null&&TpE.includes(w)&&(n=b);continue}let m=this.toRelativeFilepath(b);i.push({date:O,pageId:zo.PageId(m),absoluteFilepath:b})}let a=t.parentSlug.apply({fullSlug:n!=null?this.markdownToFullSlug.get(n)?.split("/"):void 0,skipUrlSlug:!1,urlSlug:t.slug??Bq(r)}),u=n!=null?this.markdownToNoIndex.get(n):void 0,l=i.map(b=>{let g=BEn.default.utc(b.date);return{id:this.idgen.get(b.pageId),type:"changelogEntry",title:g.format("MMMM D, YYYY"),slug:a.apply({fullSlug:this.markdownToFullSlug.get(b.absoluteFilepath)?.split("/"),urlSlug:g.format("YYYY/M/D")}).get(),icon:void 0,hidden:void 0,date:b.date.toISOString(),pageId:b.pageId,noindex:this.markdownToNoIndex.get(b.absoluteFilepath),authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}}),d=zec(l,b=>b.date,"desc"),s=n!=null?zo.PageId(this.toRelativeFilepath(n)):void 0,o=this.idgen.get(s??"changelog"),c=this.groupByYear(o,d,a);return{id:o,type:"changelog",title:r,slug:a.get(),icon:t.icon,hidden:t.hidden,children:c,overviewPageId:s,noindex:u,authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:void 0}}orUndefined(){return this.changelogFiles!=null&&this.changelogFiles.length>0?this:void 0}groupByYear(t,r,i){let n=new Map;for(let a of r){let u=BEn.default.utc(a.date).year(),l=n.get(u)??[];l.push(a),n.set(u,l)}return zec(Array.from(n.entries()).map(([a,u])=>{let l=i.append(a.toString()).get(),d=this.idgen.get(`${t}/year/${a}`);return{id:d,type:"changelogYear",title:a.toString(),year:a,slug:l,icon:void 0,hidden:void 0,children:this.groupByMonth(d,u,i),authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}}),"year","desc")}groupByMonth(t,r,i){let n=new Map;for(let a of r){let u=BEn.default.utc(a.date).month()+1,l=n.get(u)??[];l.push(a),n.set(u,l)}return zec(Array.from(n.entries()).map(([a,u])=>{let l=(0,BEn.default)(new Date(0,a-1));return{id:this.idgen.get(`${t}/month/${a}`),type:"changelogMonth",title:l.format("MMMM YYYY"),month:a,slug:i.append(a.toString()).get(),icon:void 0,hidden:void 0,children:u,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}}),"month","desc")}toRelativeFilepath(t){if(t!=null)return RA(this.docsWorkspace.absoluteFilePath,t)}};function zec(e,t,r="asc"){return e.concat().sort((i,n)=>{let a=typeof t=="function"?t(i):i[t],u=typeof t=="function"?t(n):n[t];return a<u?r==="asc"?-1:1:a>u?r==="asc"?1:-1:0})}function e7o(e){if(e)return{disabled:void 0,environments:e.environments!=null&&e.environments.length>0?e.environments.map(t=>zo.V1.EnvironmentId(t)):void 0,button:e.button!=null&&e.button.href?{href:zo.V1.Url(e.button.href)}:void 0,"limit-websocket-messages-per-connection":e.limitWebsocketMessagesPerConnection!=null?e.limitWebsocketMessagesPerConnection:void 0}}function bba({child:e,nodeIdToSubpackageId:t,convertApiDefinitionPackageId:r,mergeAndFilterChildren:i}){if(e.type==="apiPackage"){let n=zo.V1.SlugGenerator.init(e.slug),u=(t.get(e.id)??[]).flatMap(s=>r(s,n)),l=e.children.map(s=>bba({child:s,nodeIdToSubpackageId:t,convertApiDefinitionPackageId:r,mergeAndFilterChildren:i})),d=i(l,u);return{...e,children:d,pointsTo:void 0}}return e}function xEn({children:e,findEndpointById:t,stringifyEndpointPathParts:r,disableEndpointPairs:i,apiDefinitionId:n}){if(i)return e;let a=[],u=new Map;return e.forEach(l=>{if(l.type!=="endpoint"){a.push(l);return}let d=t(l.endpointId);if(d==null)throw new Error(`Endpoint ${l.endpointId} not found`);let s=`${d.method} ${r(d)}`,o=u.get(s);if(u.set(s,l),o==null||o.isResponseStream===l.isResponseStream){a.push(l);return}let c=a.indexOf(o),b=l.isResponseStream?l:o,g=l.isResponseStream?o:l,O={id:zo.V1.NodeId(`${n}:${g.endpointId}+${b.endpointId}`),type:"endpointPair",stream:b,nonStream:g};a[c]=O}),a}function t7o({left:e,right:t,findEndpointById:r,stringifyEndpointPathParts:i,disableEndpointPairs:n,apiDefinitionId:a}){return xEn({children:[...e,...t],findEndpointById:r,stringifyEndpointPathParts:i,disableEndpointPairs:n,apiDefinitionId:a}).filter(u=>u.type==="apiPackage"?u.children.length>0:!0)}function iZt(e,t){if(t!=null)return RA(e.absoluteFilePath,t)}function r7o({docsWorkspace:e,page:t,parentSlug:r,idgen:i,markdownFilesToFullSlugs:n,markdownFilesToNoIndex:a,hideChildren:u}){let l=zo.V1.PageId(iZt(e,t.absolutePath)),d=r.apply({fullSlug:n.get(t.absolutePath)?.split("/"),urlSlug:t.slug??Bq(t.title)});return{id:i.get(l),type:"page",pageId:l,title:t.title,slug:d.get(),icon:t.icon,hidden:u||t.hidden,noindex:t.noindex||a.get(t.absolutePath),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}var i7o=class{apiSection;docsWorkspace;taskContext;markdownFilesToFullSlugs;markdownFilesToNoIndex;workspace;hideChildren;apiDefinitionId;#e;#t=new Set;#r=new Set;#n=new Set;#i=new Set;#a=new Map;#o=[];#c;#l;#u;disableEndpointPairs;constructor(t,r,i,n,a,u,l,d,s,o){this.apiSection=t,this.docsWorkspace=n,this.taskContext=a,this.markdownFilesToFullSlugs=u,this.markdownFilesToNoIndex=l,this.workspace=s,this.hideChildren=o,this.disableEndpointPairs=n.config.experimental?.disableStreamToggle??!1,this.apiDefinitionId=zo.V1.ApiDefinitionId(r.id),this.#e=n_i.create(r,a),this.#u=d,this.#c=this.apiSection.overviewAbsolutePath!=null?zo.V1.PageId(iZt(this.docsWorkspace,this.apiSection.overviewAbsolutePath)):void 0;let c=this.apiSection.overviewAbsolutePath!=null?this.markdownFilesToFullSlugs.get(this.apiSection.overviewAbsolutePath):void 0;this.#l=i.apply({fullSlug:c?.split("/"),skipUrlSlug:this.apiSection.skipUrlSlug,urlSlug:this.apiSection.slug??Bq(this.apiSection.title)}),this.apiSection.navigation!=null&&(this.#o=this.#s(this.apiSection.navigation,this.#e.api.rootPackage,this.#l)),this.#o=this.#y(this.#o.map(b=>this.#g(b)),this.#j(this.#e.api.rootPackage,this.#l))}get(){let t=zo.V1.followRedirects(this.#o),r=new XKr(this.markdownFilesToFullSlugs,this.markdownFilesToNoIndex,this.workspace?.changelog?.files.map(i=>i.absoluteFilepath),this.docsWorkspace,this.#u).orUndefined();return{id:this.#u.get(this.apiDefinitionId),type:"apiReference",title:this.apiSection.title,apiDefinitionId:this.apiDefinitionId,overviewPageId:this.#c,paginated:this.apiSection.paginated,slug:this.#l.get(),icon:this.apiSection.icon,hidden:this.hideChildren||this.apiSection.hidden,hideTitle:this.apiSection.flattened,showErrors:this.apiSection.showErrors,changelog:r?.toChangelogNode({parentSlug:this.#l,viewers:void 0,hidden:this.hideChildren}),children:this.#o,availability:void 0,pointsTo:t,noindex:void 0,playground:this.#O(this.apiSection.playground),authed:void 0,viewers:this.apiSection.viewers,orphaned:this.apiSection.orphaned,featureFlags:this.apiSection.featureFlags}}#s(t,r,i){r=this.#e.resolveSubpackage(r);let n=r!=null?n_i.getSubpackageId(r):void 0;return t.map(a=>vba(a)._visit({link:u=>({id:this.#u.get(u.url),type:"link",title:u.text,icon:u.icon,url:zo.Url(u.url)}),page:u=>this.#f(u,i),package:u=>this.#h(u,i),section:u=>this.#_(u,i),item:({value:u})=>this.#p(u,n,i),endpoint:u=>this.#b(u,n,i)})).filter(Jb)}#f(t,r){return r7o({page:t,parentSlug:r,docsWorkspace:this.docsWorkspace,markdownFilesToFullSlugs:this.markdownFilesToFullSlugs,markdownFilesToNoIndex:this.markdownFilesToNoIndex,idgen:this.#u,hideChildren:this.hideChildren})}#h(t,r){let i=t.overviewAbsolutePath!=null?zo.V1.PageId(iZt(this.docsWorkspace,t.overviewAbsolutePath)):void 0,n=t.overviewAbsolutePath!=null?this.markdownFilesToFullSlugs.get(t.overviewAbsolutePath):void 0,a=this.#e.getSubpackageByIdOrLocator(t.package);if(a!=null){let u=n_i.getSubpackageId(a),l=this.#u.get(i??`${this.apiDefinitionId}:${u}`);this.#i.has(u)&&this.taskContext.logger.error(`Duplicate subpackage found in the API Reference layout: ${u}`),this.#i.add(u),this.#a.set(l,[u]);let d=t.slug??(rZt(a)?a.urlSlug:this.apiSection.slug??Bq(this.apiSection.title)),s=r.apply({fullSlug:n?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:d}),o=this.#s(t.contents,a,s);return{id:l,type:"apiPackage",children:o,title:t.title??(rZt(a)?a.displayName??u9t(a.name):this.apiSection.title),slug:s.get(),icon:t.icon,hidden:this.hideChildren||t.hidden,overviewPageId:i,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:this.#O(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}else{this.taskContext.logger.warn(`Subpackage ${t.package} not found in ${this.apiDefinitionId}, treating it as a section`);let u=t.slug??Bq(t.package),l=r.apply({fullSlug:n?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:u}),d=this.#s(t.contents,void 0,l);return{id:this.#u.get(i??`${this.apiDefinitionId}:${Bq(t.package)}`),type:"apiPackage",children:d,title:t.title??t.package,slug:l.get(),icon:t.icon,hidden:this.hideChildren||t.hidden,overviewPageId:i,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:this.#O(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}}#_(t,r){let i=t.overviewAbsolutePath!=null?zo.V1.PageId(iZt(this.docsWorkspace,t.overviewAbsolutePath)):void 0,n=t.overviewAbsolutePath!=null?this.markdownFilesToFullSlugs.get(t.overviewAbsolutePath):void 0,a=t.overviewAbsolutePath!=null?this.markdownFilesToNoIndex.get(t.overviewAbsolutePath):void 0,u=this.#u.get(i??n??r.get()),l=t.referencedSubpackages.map(c=>{let b=this.#e.getSubpackageByIdOrLocator(c);return b!=null?n_i.getSubpackageId(b):void 0}).filter(c=>(c==null&&this.taskContext.logger.error(`Subpackage ${c} not found in ${this.apiDefinitionId}`),c!=null)).filter(Jb);this.#a.set(u,l),l.forEach(c=>{this.#i.has(c)&&this.taskContext.logger.error(`Duplicate subpackage found in the API Reference layout: ${c}`),this.#i.add(c)});let d=t.slug??Bq(t.title),s=r.apply({fullSlug:n?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:d}),o=this.#s(t.contents,void 0,s);return{id:u,type:"apiPackage",children:o,title:t.title,slug:s.get(),icon:t.icon,hidden:this.hideChildren||t.hidden,overviewPageId:i,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:a,playground:this.#O(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}#p(t,r,i){t=t.trim();let n=this.#e.getSubpackageByIdOrLocator(t);if(n!=null){let a=n_i.getSubpackageId(n),u=this.#u.get(`${this.apiDefinitionId}:${a}`);this.#i.has(a)&&this.taskContext.logger.error(`Duplicate subpackage found in the API Reference layout: ${a}`),this.#i.add(a),this.#a.set(u,[a]);let l=rZt(n)?n.urlSlug:"",d=i.apply({urlSlug:l});return{id:u,type:"apiPackage",children:[],title:rZt(n)?n.displayName??u9t(n.name):this.apiSection.title,slug:d.get(),icon:void 0,hidden:this.hideChildren,overviewPageId:void 0,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}}return this.#b({type:"endpoint",endpoint:t,title:void 0,icon:void 0,slug:void 0,hidden:void 0,playground:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0},r,i)}#b(t,r,i){let n=(r!=null?this.#e.subpackages.get(x2.SubpackageId(r))?.endpoints.get(x2.EndpointId(t.endpoint)):void 0)??this.#e.endpointsByLocator.get(t.endpoint);if(n!=null){let l=this.#e.getEndpointId(n);if(l==null)throw new Error(`Expected Endpoint ID for ${n.id}. Got undefined.`);this.#t.has(l)&&this.taskContext.logger.error(`Duplicate endpoint found in the API Reference layout: ${l}`),this.#t.add(l);let d=t.slug!=null?i.append(t.slug):i.apply(n);return{id:this.#u.get(`${this.apiDefinitionId}:${l}`),type:"endpoint",method:n.method,endpointId:l,apiDefinitionId:this.apiDefinitionId,availability:zo.V1.convertAvailability(n.availability),isResponseStream:n.response?.type.type==="stream",title:t.title??n.name??$C(n.path.parts),slug:d.get(),icon:t.icon,hidden:this.hideChildren||t.hidden,playground:this.#O(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}let a=(r!=null?this.#e.subpackages.get(x2.SubpackageId(r))?.webSockets.get(x2.WebSocketId(t.endpoint)):void 0)??this.#e.webSocketsByLocator.get(t.endpoint);if(a!=null){let l=this.#e.getWebSocketId(a);if(l==null)throw new Error(`Expected WebSocket ID for ${a.id}. Got undefined.`);return this.#r.has(l)&&this.taskContext.logger.error(`Duplicate web socket found in the API Reference layout: ${l}`),this.#r.add(l),{id:this.#u.get(`${this.apiDefinitionId}:${l}`),type:"webSocket",webSocketId:l,title:t.title??a.name??$C(a.path.parts),slug:(t.slug!=null?i.append(t.slug):i.apply(a)).get(),icon:t.icon,hidden:this.hideChildren||t.hidden,apiDefinitionId:this.apiDefinitionId,availability:zo.V1.convertAvailability(a.availability),playground:this.#O(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}let u=(r!=null?this.#e.subpackages.get(x2.SubpackageId(r))?.webhooks.get(x2.WebhookId(t.endpoint)):void 0)??this.#e.webhooks.get(zo.V1.WebhookId(t.endpoint));if(u!=null){let l=this.#e.getWebhookId(u);if(l==null)throw new Error(`Expected Webhook ID for ${u.id}. Got undefined.`);return this.#n.has(l)&&this.taskContext.logger.error(`Duplicate webhook found in the API Reference layout: ${l}`),this.#n.add(l),{id:this.#u.get(`${this.apiDefinitionId}:${l}`),type:"webhook",webhookId:l,method:u.method,title:t.title??u.name??Lv("/",...u.path),slug:(t.slug!=null?i.append(t.slug):i.apply(u)).get(),icon:t.icon,hidden:this.hideChildren||t.hidden,apiDefinitionId:this.apiDefinitionId,availability:void 0,authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}this.taskContext.logger.error("Unknown identifier in the API Reference layout: ",t.endpoint)}#y(t,r){return t7o({left:t,right:r,findEndpointById:i=>this.#e.endpoints.get(i),stringifyEndpointPathParts:i=>$C(i.path.parts),disableEndpointPairs:this.disableEndpointPairs,apiDefinitionId:this.apiDefinitionId})}#g(t){return bba({child:t,nodeIdToSubpackageId:this.#a,convertApiDefinitionPackageId:(r,i)=>this.#P(r,i),mergeAndFilterChildren:this.#y.bind(this)})}#j(t,r){let i=[];return t.endpoints.forEach(n=>{let a=this.#e.getEndpointId(n);if(a==null)throw new Error(`Expected Endpoint ID for ${n.id}. Got undefined.`);if(this.#t.has(a))return;let u=r.apply(n);i.push({id:zo.V1.NodeId(`${this.apiDefinitionId}:${a}`),type:"endpoint",method:n.method,endpointId:a,apiDefinitionId:this.apiDefinitionId,availability:zo.V1.convertAvailability(n.availability),isResponseStream:n.response?.type.type==="stream",title:n.name??$C(n.path.parts),slug:u.get(),icon:void 0,hidden:this.hideChildren,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0})}),t.websockets.forEach(n=>{let a=this.#e.getWebSocketId(n);if(a==null)throw new Error(`Expected WebSocket ID for ${n.id}. Got undefined.`);this.#r.has(a)||i.push({id:zo.V1.NodeId(`${this.apiDefinitionId}:${a}`),type:"webSocket",webSocketId:a,title:n.name??$C(n.path.parts),slug:r.apply(n).get(),icon:void 0,hidden:this.hideChildren,apiDefinitionId:this.apiDefinitionId,availability:zo.V1.convertAvailability(n.availability),playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0})}),t.webhooks.forEach(n=>{let a=this.#e.getWebhookId(n);if(a==null)throw new Error(`Expected Webhook ID for ${n.id}. Got undefined.`);this.#n.has(a)||i.push({id:zo.V1.NodeId(`${this.apiDefinitionId}:${a}`),type:"webhook",webhookId:a,method:n.method,title:n.name??u9t(n.id),slug:r.apply(n).get(),icon:void 0,hidden:this.hideChildren,apiDefinitionId:this.apiDefinitionId,availability:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0})}),t.subpackages.forEach(n=>{if(this.#i.has(n))return;let a=this.#e.getSubpackageByIdOrLocator(n);if(a==null){this.taskContext.logger.error(`Subpackage ${n} not found in ${this.apiDefinitionId}`);return}let u=rZt(a)?r.apply(a):r,l=this.#P(n,u);l.length>0&&i.push({id:zo.V1.NodeId(`${this.apiDefinitionId}:${n}`),type:"apiPackage",children:l,title:rZt(a)?a.displayName??u9t(a.name):this.apiSection.title,slug:u.get(),icon:void 0,hidden:this.hideChildren,overviewPageId:void 0,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0})}),i=this.mergeEndpointPairs(i),this.apiSection.alphabetized&&(i=i.sort((n,a)=>{let u=n.type==="endpointPair"?n.nonStream.title:n.title,l=a.type==="endpointPair"?a.nonStream.title:a.title;return u.localeCompare(l)})),i}#P(t,r){let i=t!=null?this.#e.resolveSubpackage(this.#e.getSubpackageByIdOrLocator(t)):void 0;return i==null?(this.taskContext.logger.error(`Subpackage ${t} not found in ${this.apiDefinitionId}`),[]):this.#j(i,r)}#O(t){return e7o(t)}mergeEndpointPairs(t){return xEn({children:t,findEndpointById:r=>this.#e.endpoints.get(r),stringifyEndpointPathParts:r=>$C(r.path.parts),disableEndpointPairs:this.disableEndpointPairs,apiDefinitionId:this.apiDefinitionId})}};var n7o=class{#e={};#t={};#r={};#n={};constructor(t){for(let[r,i]of Object.entries(t.subpackages))this.#e[r]=i,this.#e[`subpackage_${r}`]=i;for(let[r,i]of Object.entries(t.endpoints)){this.#r[r]=i,this.#r[r.replace("endpoint_","")]=i,this.#r[r.replace("endpoint_","subpackage_")]=i;for(let n of[i.method,"STREAM"])i.environments?.forEach(a=>{this.#r[`${n} ${Lv(a.baseUrl,$C(i.path))}`]=i,this.#r[`${n} ${Lv(a.baseUrl,Qze(i.path))}`]=i;let u=k3o(a);u!=null&&(this.#r[`${n} ${Lv(u,$C(i.path))}`]=i,this.#r[`${n} ${Lv(u,Qze(i.path))}`]=i)}),this.#r[`${i.method} ${$C(i.path)}`]=i,this.#r[`${i.method} ${Qze(i.path)}`]=i}for(let[r,i]of Object.entries(t.webhooks))this.#t[r]=i,this.#t[r.replace("webhook_","")]=i,this.#t[r.replace("webhook_","subpackage_")]=i,this.#t[`${i.method} ${i.path.join("/")}`]=i;for(let[r,i]of Object.entries(t.websockets))this.#n[r]=i,this.#n[r.replace("websocket_","")]=i,this.#n[r.replace("websocket_","subpackage_")]=i,this.#n[`STREAM ${$C(i.path)}`]=i,this.#n[`STREAM ${Qze(i.path)}`]=i}getSubpackageByLocator(t){if(["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS","CONNECT","TRACE"].some(i=>t.includes(i)))return;let r=t.replace(".yml","").replace(".yaml","");return this.#e[r]}getWebhookByLocator(t,r){return this.#t[t]??this.#t[`${r}.${t}`]??this.#t[`webhook_${r}.${t}`]}getEndpointByLocator(t,r){return this.#r[t]??this.#r[`${r}.${t}`]??this.#r[`endpoint_${r}.${t}`]}getWebSocketByLocator(t,r){return this.#n[t]??this.#n[`${r}.${t}`]??this.#n[`websocket_${r}.${t}`]}};function gba({item:e,parentSlug:t}){return t.apply({urlSlug:Bq(e.id.split(".").pop()??"")}).get()}var Oba=class{apiSection;workspace;docsWorkspace;taskContext;markdownFilesToFullSlugs;markdownFilesToNoIndex;hideChildren;apiDefinitionId;#e;#t;#r=new Set;#n=new Set;#i=new Set;#a=new Set;#o=new Map;#c=[];#l;#u;#s;#f=new Map;disableEndpointPairs;constructor(t,r,i,n,a,u,l,d,s,o){this.apiSection=t,this.workspace=n,this.docsWorkspace=a,this.taskContext=u,this.markdownFilesToFullSlugs=l,this.markdownFilesToNoIndex=d,this.hideChildren=o,this.#e=r,this.#t=new n7o(r),this.disableEndpointPairs=a.config.experimental?.disableStreamToggle??!1,this.apiDefinitionId=zo.V1.ApiDefinitionId(r.id),this.#s=s,this.#l=this.apiSection.overviewAbsolutePath!=null?zo.V1.PageId(iZt(this.docsWorkspace,this.apiSection.overviewAbsolutePath)):void 0;let c=this.apiSection.overviewAbsolutePath!=null?this.markdownFilesToFullSlugs.get(this.apiSection.overviewAbsolutePath):void 0;this.#u=i.apply({fullSlug:c?.split("/"),skipUrlSlug:this.apiSection.skipUrlSlug,urlSlug:this.apiSection.slug??Bq(this.apiSection.title)}),this.apiSection.navigation!=null&&(this.#c=this.#h(this.apiSection.navigation,void 0,this.#u)),this.#c=this.#j(this.#c.map(b=>this.#P(b)),this.#O(this.#e,this.#u))}get(){let t=zo.V1.followRedirects(this.#c),r=new XKr(this.markdownFilesToFullSlugs,this.markdownFilesToNoIndex,this.workspace?.changelog?.files.map(i=>i.absoluteFilepath),this.docsWorkspace,this.#s).orUndefined();return{id:this.#s.get(this.apiDefinitionId),type:"apiReference",title:this.apiSection.title,apiDefinitionId:this.apiDefinitionId,overviewPageId:this.#l,paginated:this.apiSection.paginated,slug:this.#u.get(),icon:this.apiSection.icon,hidden:this.hideChildren||this.apiSection.hidden,hideTitle:this.apiSection.flattened,showErrors:this.apiSection.showErrors,changelog:r?.toChangelogNode({parentSlug:this.#u,viewers:void 0,hidden:this.hideChildren}),children:this.#c,availability:void 0,pointsTo:t,noindex:void 0,playground:this.#S(this.apiSection.playground),authed:void 0,viewers:this.apiSection.viewers,orphaned:this.apiSection.orphaned,featureFlags:this.apiSection.featureFlags}}#h(t,r,i){return t.map(n=>vba(n)._visit({link:a=>({id:this.#s.get(a.url),type:"link",title:a.text,icon:a.icon,url:zo.Url(a.url)}),page:a=>this.#_(a,i),package:a=>this.#p(a,i),section:a=>this.#b(a,i),item:({value:a})=>this.#y(a,r,i),endpoint:a=>this.#g(a,r,i)})).filter(Jb)}#_(t,r){return r7o({docsWorkspace:this.docsWorkspace,page:t,parentSlug:r,idgen:this.#s,markdownFilesToFullSlugs:this.markdownFilesToFullSlugs,markdownFilesToNoIndex:this.markdownFilesToNoIndex})}#p(t,r){let i=t.overviewAbsolutePath!=null?zo.V1.PageId(iZt(this.docsWorkspace,t.overviewAbsolutePath)):void 0,n=t.overviewAbsolutePath!=null?this.markdownFilesToFullSlugs.get(t.overviewAbsolutePath):void 0,a=this.#t.getSubpackageByLocator(t.package);if(a!=null){let u=this.#s.get(i??`${this.apiDefinitionId}:${a.id}`);this.#a.has(a.id)&&this.taskContext.logger.error(`Duplicate subpackage found in the API Reference layout: ${a.id}`),this.#a.add(a.id),this.#o.set(u,[a.id]);let l=t.slug??Bq(a.name),d=r.apply({fullSlug:n?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:l}),s=this.#h(t.contents,a.id,d),o={id:u,type:"apiPackage",children:s,title:t.title??a.displayName??u9t(a.name),slug:d.get(),icon:t.icon,hidden:this.hideChildren||t.hidden,overviewPageId:i,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:this.#S(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags};return this.#f.set(a.id,o),o}else{this.taskContext.logger.warn(`Subpackage ${t.package} not found in ${this.apiDefinitionId}, treating it as a section`);let u=t.slug??Bq(t.package),l=r.apply({fullSlug:n?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:u}),d=this.#h(t.contents,t.package,l),s={id:this.#s.get(i??`${this.apiDefinitionId}:${Bq(t.package)}`),type:"apiPackage",children:d,title:t.title??t.package,slug:l.get(),icon:t.icon,hidden:this.hideChildren||t.hidden,overviewPageId:i,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:this.#S(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags};return this.#f.set(t.package,s),s}}#b(t,r){let i=t.overviewAbsolutePath!=null?zo.V1.PageId(iZt(this.docsWorkspace,t.overviewAbsolutePath)):void 0,n=t.overviewAbsolutePath!=null?this.markdownFilesToFullSlugs.get(t.overviewAbsolutePath):void 0,a=this.#s.get(i??n??r.get()),u=t.referencedSubpackages.map(c=>{let b=this.#t.getSubpackageByLocator(c);return b?.id}).filter(c=>(c==null&&this.taskContext.logger.error(`Subpackage ${c} not found in ${this.apiDefinitionId}`),c!=null)).filter(Jb);this.#o.set(a,u),u.forEach(c=>{this.#a.has(c)&&this.taskContext.logger.error(`Duplicate subpackage found in the API Reference layout: ${c}`),this.#a.add(c)});let l=t.slug??Bq(t.title),d=r.apply({fullSlug:n?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:l}),s=this.#h(t.contents,t.title,d),o={id:a,type:"apiPackage",children:s,title:t.title,slug:d.get(),icon:t.icon,hidden:this.hideChildren||t.hidden,overviewPageId:i,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:this.#S(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags};return u.forEach(c=>{this.#f.set(c,o)}),o}#y(t,r,i){t=t.trim();let n=this.#t.getSubpackageByLocator(t);if(n!=null){let a=n.id,u=this.#s.get(`${this.apiDefinitionId}:${a}`);this.#a.has(a)&&this.taskContext.logger.error(`Duplicate subpackage found in the API Reference layout: ${a}`),this.#a.add(a),this.#o.set(u,[a]);let l=Bq(n.name),d=i.apply({urlSlug:l}),s={id:u,type:"apiPackage",children:[],title:n.displayName??u9t(n.name),slug:d.get(),icon:void 0,hidden:this.hideChildren,overviewPageId:void 0,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0};return this.#f.set(a,s),s}return this.#g({type:"endpoint",endpoint:t,title:void 0,icon:void 0,slug:void 0,hidden:void 0,playground:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0},r,i)}#g(t,r,i){let n=this.#t.getEndpointByLocator(t.endpoint,r);if(n!=null){if(n.id==null)throw new Error(`Expected Endpoint ID for ${n.id}. Got undefined.`);this.#r.has(n.id)&&this.taskContext.logger.error(`Duplicate endpoint found in the API Reference layout: ${n.id}`),this.#r.add(n.id);let l=t.slug!=null?i.append(t.slug).get():gba({item:n,parentSlug:i});return{id:this.#s.get(`${this.apiDefinitionId}:${n.id}`),type:"endpoint",method:n.method,endpointId:n.id,apiDefinitionId:this.apiDefinitionId,availability:zo.V1.convertAvailability(n.availability),isResponseStream:n.responses?.[0]?.body.type==="stream",title:t.title??n.displayName??$C(n.path),slug:l,icon:t.icon,hidden:this.hideChildren||t.hidden,playground:this.#S(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}let a=this.#t.getWebSocketByLocator(t.endpoint,r);if(a!=null){if(a.id==null)throw new Error(`Expected WebSocket ID for ${a.id}. Got undefined.`);return this.#n.has(a.id)&&this.taskContext.logger.error(`Duplicate web socket found in the API Reference layout: ${a.id}`),this.#n.add(a.id),{id:this.#s.get(`${this.apiDefinitionId}:${a.id}`),type:"webSocket",webSocketId:a.id,title:t.title??a.displayName??$C(a.path),slug:t.slug!=null?i.append(t.slug).get():gba({item:a,parentSlug:i}),icon:t.icon,hidden:this.hideChildren||t.hidden,apiDefinitionId:this.apiDefinitionId,availability:zo.V1.convertAvailability(a.availability),playground:this.#S(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}let u=this.#t.getWebhookByLocator(t.endpoint,r);if(u!=null){if(u.id==null)throw new Error(`Expected Webhook ID for ${u.id}. Got undefined.`);return this.#i.has(u.id)&&this.taskContext.logger.error(`Duplicate webhook found in the API Reference layout: ${u.id}`),this.#i.add(u.id),{id:this.#s.get(`${this.apiDefinitionId}:${u.id}`),type:"webhook",webhookId:u.id,method:u.method,title:t.title??u.displayName??Lv("/",...u.path),slug:t.slug!=null?i.append(t.slug).get():gba({item:u,parentSlug:i}),icon:t.icon,hidden:this.hideChildren||t.hidden,apiDefinitionId:this.apiDefinitionId,availability:void 0,authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}this.taskContext.logger.error("Unknown identifier in the API Reference layout: ",t.endpoint)}#j(t,r){return t7o({left:t,right:r,findEndpointById:i=>this.#t.getEndpointByLocator(i,void 0),stringifyEndpointPathParts:i=>$C(i.path),disableEndpointPairs:this.disableEndpointPairs,apiDefinitionId:this.apiDefinitionId})}#P(t){return bba({child:t,nodeIdToSubpackageId:this.#o,convertApiDefinitionPackageId:(r,i)=>this.#w(r,i),mergeAndFilterChildren:this.#j.bind(this)})}#O(t,r){let i=[];return Object.entries(t.subpackages).forEach(([n,a])=>{if(!this.#a.has(n)){let u=this.#D(n,a,r);u!=null&&i.push(u)}}),Object.entries(t.endpoints).forEach(([n,a])=>{if(n==null)throw new Error(`Expected Endpoint ID for ${a.id}. Got undefined.`);!this.#r.has(oA.EndpointId(n))&&(a.namespace?.join(".")??this.#e.id)===t.id&&this.#M(n,a,r,i)}),Object.entries(t.websockets).forEach(([n,a])=>{if(n==null)throw new Error(`Expected WebSocket ID for ${a.id}. Got undefined.`);!this.#n.has(oA.WebSocketId(n))&&(a.namespace?.join(".")??this.#e.id)===t.id&&this.#E(n,a,r,i)}),Object.entries(t.webhooks).forEach(([n,a])=>{if(n==null)throw new Error(`Expected Webhook ID for ${a.id}. Got undefined.`);!this.#i.has(oA.WebhookId(n))&&(a.namespace?.join(".")??this.#e.id)===t.id&&this.#d(n,a,r,i)}),i=this.mergeEndpointPairs(i),this.apiSection.alphabetized&&i.sort((n,a)=>{let u=n.type==="endpointPair"?n.nonStream.title:n.title,l=a.type==="endpointPair"?a.nonStream.title:a.title;return u.localeCompare(l)}),i}#D(t,r,i){let n=zo.V1.SlugGenerator.init(i.get()).apply({urlSlug:Bq(r.name)}),a=this.#w(t,n),u={id:zo.V1.NodeId(`${this.apiDefinitionId}:${t}`),type:"apiPackage",children:a,title:r.displayName??u9t(r.name),slug:n.get(),icon:void 0,hidden:this.hideChildren,overviewPageId:void 0,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0};return this.#f.set(t,u),a.length>0?u:void 0}#m(t,r,i,n){r.slug=gba({item:t,parentSlug:i}),n.push(r)}#M(t,r,i,n){let a={id:zo.V1.NodeId(`${this.apiDefinitionId}:${t}`),type:"endpoint",method:r.method,endpointId:oA.EndpointId(t),apiDefinitionId:this.apiDefinitionId,availability:zo.V1.convertAvailability(r.availability),isResponseStream:r.responses?.[0]?.body.type==="stream",title:r.displayName??$C(r.path),slug:i.get(),icon:void 0,hidden:this.hideChildren,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0};this.#m(r,a,i,n)}#E(t,r,i,n){let a={id:zo.V1.NodeId(`${this.apiDefinitionId}:${t}`),type:"webSocket",webSocketId:oA.WebSocketId(t),title:r.displayName??$C(r.path),slug:i.get(),icon:void 0,hidden:this.hideChildren,apiDefinitionId:this.apiDefinitionId,availability:zo.V1.convertAvailability(r.availability),playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0};this.#m(r,a,i,n)}#d(t,r,i,n){let a={id:zo.V1.NodeId(`${this.apiDefinitionId}:${t}`),type:"webhook",webhookId:oA.WebhookId(t),method:r.method,title:r.displayName??u9t(r.id),slug:i.get(),icon:void 0,hidden:this.hideChildren,apiDefinitionId:this.apiDefinitionId,availability:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0};this.#m(r,a,i,n)}#T(t){let r=Object.fromEntries(Object.entries(this.#e?.subpackages??{}).filter(([u,l])=>t===this.#e.id?l.id.split(".").length===1:l.id!=null&&l.id.includes(t)&&l.id!==t&&l.id.split(".").length===t.split(".").length+1)),i=Object.fromEntries(Object.entries(this.#e?.endpoints??{}).filter(([u,l])=>l.namespace!=null&&l.namespace.join(".")===oA.api.v1.SubpackageId(t))),n=Object.fromEntries(Object.entries(this.#e?.websockets??{}).filter(([u,l])=>l.namespace!=null&&l.namespace.join(".")===oA.api.v1.SubpackageId(t))),a=Object.fromEntries(Object.entries(this.#e?.webhooks??{}).filter(([u,l])=>l.namespace!=null&&l.namespace.join(".")===oA.api.v1.SubpackageId(t)));return{id:oA.ApiDefinitionId(t),endpoints:i,websockets:n,webhooks:a,types:{},subpackages:r,auths:{},globalHeaders:void 0,snippetsConfiguration:void 0}}#w(t,r){let i=t!=null?this.#T(t):void 0;return i==null?(this.taskContext.logger.error(`Subpackage ${t} not found in ${this.apiDefinitionId}`),[]):this.#O(i,r)}#S(t){return e7o(t)}mergeEndpointPairs(t){return xEn({children:t,findEndpointById:r=>this.#e?.endpoints[r],stringifyEndpointPathParts:r=>$C(r.path),disableEndpointPairs:this.disableEndpointPairs,apiDefinitionId:this.apiDefinitionId})}};var Jl_=yi(require("crypto"),1);function CpE(e){return Jl_.default.createHash("sha256").update(e).digest("hex")}var a7o=class e{static init(){return new e}constructor(){}#e=new Map;#t=new Set;#r(t){let r=this.#e.get(t)??0;return this.#e.set(t,r+1),CpE(r===0?t:`${t}-${r}`)}#n(t){let r=this.#r(t),i=0;for(;this.#t.has(r);)if(r=this.#r(t),i++,i>100)throw new Error(`Infinite loop detected for id: ${t}`);return r}get(t){return zo.V1.NodeId(this.#n(t))}};function o7o(e){return e==null?{}:{pythonSdk:e.python!=null?{package:typeof e.python=="string"?e.python:e.python.package,version:typeof e.python=="string"?void 0:e.python.version}:void 0,typescriptSdk:e.typescript!=null?{package:typeof e.typescript=="string"?e.typescript:e.typescript.package,version:typeof e.typescript=="string"?void 0:e.typescript.version}:void 0,goSdk:e.go!=null?{githubRepo:typeof e.go=="string"?e.go:e.go.package,version:typeof e.go=="string"?void 0:e.go.version}:void 0,javaSdk:e.java!=null?{coordinate:typeof e.java=="string"?e.java:e.java.package,version:typeof e.java=="string"?void 0:e.java.version}:void 0,rubySdk:e.ruby!=null?{gem:typeof e.ruby=="string"?e.ruby:e.ruby.package,version:typeof e.ruby=="string"?void 0:e.ruby.version}:void 0,csharpSdk:e.csharp!=null?{package:typeof e.csharp=="string"?e.csharp:e.csharp.package,version:typeof e.csharp=="string"?void 0:e.csharp.version}:void 0}}var u7o=yi(hre(),1);var Rec=yi(hre(),1);function Kl_(e,t,r){let i=e.schemes[0];if(e.schemes.length===1&&i!=null)switch(i.type){case"basic":return{type:"basicAuth",passwordName:i.password.originalName,usernameName:i.username.originalName};case"bearer":return{type:"bearerAuth",tokenName:i.token.originalName};case"header":return{type:"header",headerWireValue:i.name.wireValue,nameOverride:i.name.name.originalName,prefix:i.prefix};case"oauth":{let n=i.configuration.tokenEndpoint.responseProperties.accessToken.propertyPath?.map(a=>a.originalName).join(".")||"$.body.access_token";return r?.oauth?{type:"oAuth",value:{type:"clientCredentials",value:{type:"referencedEndpoint",endpointId:Rec.FernRegistry.EndpointId(i.configuration.tokenEndpoint.endpointReference.endpointId),accessTokenLocator:Rec.FernRegistry.JqString(n),headerName:i.configuration.tokenHeader,tokenPrefix:i.configuration.tokenPrefix}}}:{type:"bearerAuth",tokenName:"token"}}default:Fo(i)}}var ZP=yi(hre(),1);var a_i=yi(hre(),1);function Xl_(e){return e._visit({alias:t=>({type:"alias",value:UD(t.aliasOf)}),enum:t=>({type:"enum",default:t.default!=null?t.default.name.wireValue:void 0,values:t.values.map(r=>({description:r.docs??void 0,value:r.name.wireValue,availability:F7(r.availability)}))}),object:t=>({type:"object",extends:t.extends.map(r=>a_i.FernRegistry.TypeId(r.typeId)),properties:t.properties.map(r=>({description:r.docs??void 0,key:a_i.FernRegistry.PropertyKey(r.name.wireValue),valueType:UD(r.valueType),availability:F7(r.availability)})),extraProperties:IpE(t.extraProperties)}),union:t=>{let r=t.baseProperties.map(i=>({key:a_i.FernRegistry.PropertyKey(i.name.wireValue),valueType:UD(i.valueType),availability:F7(i.availability),description:i.docs}));return{type:"discriminatedUnion",discriminant:t.discriminant.wireValue,variants:t.types.map(i=>({description:i.docs??void 0,discriminantValue:i.discriminantValue.wireValue,displayName:i.displayName,availability:i.availability!=null?F7(i.availability):void 0,additionalProperties:uc.types.SingleUnionTypeProperties._visit(i.shape,{samePropertiesAsObject:n=>({extends:[a_i.FernRegistry.TypeId(n.typeId)],properties:r,extraProperties:void 0}),singleProperty:n=>({extends:[],properties:[{key:a_i.FernRegistry.PropertyKey(n.name.wireValue),valueType:UD(n.type),description:void 0,availability:void 0},...r],extraProperties:void 0}),noProperties:()=>({extends:[],properties:r,extraProperties:void 0}),_other:()=>{throw new Error("Unknown SingleUnionTypeProperties: "+i.shape.propertiesType)}})}))}},undiscriminatedUnion:t=>({type:"undiscriminatedUnion",variants:t.members.map(r=>({typeName:r.type.type==="named"?r.type.name.originalName:void 0,description:r.docs??void 0,type:UD(r.type),availability:void 0}))}),_other:()=>{throw new Error("Unknown Type shape: "+e.type)}})}function UD(e){return e._visit({container:t=>uc.types.ContainerType._visit(t,{list:r=>({type:"list",itemType:UD(r)}),map:({keyType:r,valueType:i})=>({type:"map",keyType:UD(r),valueType:UD(i)}),optional:r=>({type:"optional",itemType:UD(r),defaultValue:void 0}),nullable:r=>({type:"optional",itemType:UD(r),defaultValue:void 0}),set:r=>({type:"set",itemType:UD(r)}),literal:r=>uc.types.Literal._visit(r,{boolean:i=>({type:"literal",value:{type:"booleanLiteral",value:i}}),string:i=>({type:"literal",value:{type:"stringLiteral",value:i}}),_other:()=>{throw new Error("Unknown literal type: "+r.type)}}),_other:()=>{throw new Error("Unknown container reference: "+t.type)}}),named:t=>({type:"id",value:a_i.FernRegistry.TypeId(t.typeId),default:void 0}),primitive:t=>({type:"primitive",value:uc.types.PrimitiveTypeV1._visit(t.v1,{integer:()=>xpE(t.v2),float:()=>Yl_(t.v2),double:()=>Yl_(t.v2),string:()=>BpE(t.v2),long:()=>({type:"long",default:t.v2?.type==="long"?t.v2.default:void 0,minimum:void 0,maximum:void 0}),boolean:()=>({type:"boolean",default:t.v2?.type==="boolean"?t.v2.default:void 0}),dateTime:()=>({type:"datetime",default:void 0}),date:()=>({type:"date",default:void 0}),uuid:()=>({type:"uuid",default:void 0}),base64:()=>({type:"base64",mimeType:void 0,default:void 0}),bigInteger:()=>({type:"bigInteger",default:t.v2?.type==="bigInteger"?t.v2.default:void 0}),uint:()=>({type:"uint"}),uint64:()=>({type:"uint64"}),_other:()=>{throw new Error("Unknown primitive: "+t.v1)}})}),unknown:()=>({type:"unknown"}),_other:()=>{throw new Error("Unknown Type reference: "+e.type)}})}function BpE(e){let t=e!=null&&e.type==="string"?e.validation:void 0;return{type:"string",format:t?.format,regex:t?.pattern,minLength:t?.minLength,maxLength:t?.maxLength,default:e!=null&&e.type==="string"?e.default:void 0}}function xpE(e){let t=e!=null&&e.type==="integer"?e.validation:void 0;return{type:"integer",minimum:t?.min,maximum:t?.max,default:e!=null&&e.type==="integer"?e.default:void 0}}function Yl_(e){let t=e!=null&&e.type==="double"?e.validation:void 0;return{type:"double",minimum:t?.min,maximum:t?.max,default:e!=null&&e.type==="double"?e.default:void 0}}function IpE(e){return typeof e=="boolean"?e?pd.unknown():void 0:typeof e=="string"?{type:"id",value:a_i.FernRegistry.TypeId(e),default:void 0}:UD(e)}function Fec(e,t){let r=e.service!=null?t.services[e.service]:void 0,i=e.webhooks!=null?t.webhookGroups[e.webhooks]:void 0,n=e.websocket!=null&&t.websocketChannels!=null?t.websocketChannels[e.websocket]:void 0;return{endpoints:r!=null?RpE(r,t):[],webhooks:i!=null?zpE(i):[],websockets:n!=null?[NpE(n,t)]:[],types:e.types.map(a=>ZP.FernRegistry.TypeId(a)),subpackages:e.subpackages.map(a=>ZP.FernRegistry.api.v1.SubpackageId(a)),pointsTo:e.navigationConfig!=null?ZP.FernRegistry.api.v1.SubpackageId(e.navigationConfig.pointsTo):void 0}}function zpE(e){return e.map(t=>({description:t.docs??void 0,id:ZP.FernRegistry.WebhookId(t.name.originalName),path:[],method:t.method,name:t.displayName??uia(t.name.originalName),headers:t.headers.map(r=>({description:r.docs??void 0,key:r.name.wireValue,type:UD(r.valueType),availability:F7(r.availability)})),payload:GpE(t.payload),examples:t.examples!=null?t.examples.map(r=>({payload:r.payload.jsonExample})):[]}))}function RpE(e,t){let r=[];for(let i of e.endpoints){let n=i.autogeneratedExamples[0],a=[];if(i.userSpecifiedExamples.length>0)a.push(...i.userSpecifiedExamples.map(l=>Nec({userSpecifiedExample:l,...n!=null&&{autogeneratedExample:n},irEndpoint:i,ir:t})).filter(Jb));else if(n!=null){let l=Nec({autogeneratedExample:n,irEndpoint:i,ir:t});l!=null&&a.push(l)}else if(i.response?.body?.type==="fileDownload"){let l=Xya({ir:t,service:e,endpoint:{...i,response:void 0},typeDeclarations:t.types,skipOptionalRequestProperties:!0,generationResponse:{type:"success"}});if(l.type==="success"){let d=Nec({autogeneratedExample:l,irEndpoint:i,ir:t});if(d!=null){let s={...d,responseBodyV3:{type:"filename",value:"<bytes>"}};a.push(s)}}}let u={availability:F7(i.availability??e.availability),auth:i.auth,description:i.docs??void 0,method:VpE(i.method),defaultEnvironment:t.environments?.defaultEnvironment!=null?ZP.FernRegistry.EnvironmentId(t.environments.defaultEnvironment):void 0,environments:t.environments!=null?FpE({environmentsConfig:t.environments,endpoint:i}):void 0,id:ZP.FernRegistry.EndpointId(i.name.originalName),originalEndpointId:i.id,name:i.displayName??uia(i.name.originalName),path:i.basePath!=null?{pathParameters:i.pathParameters.map(l=>({description:l.docs??void 0,key:ZP.FernRegistry.PropertyKey(l.name.originalName),type:UD(l.valueType),availability:void 0})),parts:[...IEn(i.basePath),...IEn(i.path)]}:{pathParameters:[...t.pathParameters,...e.pathParameters,...i.pathParameters].map(l=>({description:l.docs??void 0,key:ZP.FernRegistry.PropertyKey(l.name.originalName),type:UD(l.valueType),availability:void 0})),parts:[...t.basePath!=null?IEn(t.basePath):[],...IEn(e.basePath),...IEn(i.path)]},queryParameters:i.queryParameters.map(l=>({description:l.docs??void 0,key:l.name.wireValue,type:UD(l.valueType),availability:F7(l.availability)})),headers:[...e.headers,...i.headers].map(l=>({description:l.docs??void 0,key:l.name.wireValue,type:UD(l.valueType),availability:F7(l.availability)})),request:i.requestBody!=null?WpE(i.requestBody):void 0,response:i.response!=null?HpE(i.response):void 0,errors:void 0,errorsV2:$pE(i.errors,t),examples:a};r.push(u)}return r}function NpE(e,t){return{auth:e.auth,availability:F7(e.availability),description:e.docs??void 0,defaultEnvironment:t.environments?.defaultEnvironment!=null?ZP.FernRegistry.EnvironmentId(t.environments.defaultEnvironment):void 0,environments:t.environments!=null?LpE({environmentsConfig:t.environments,channel:e}):[],id:ZP.FernRegistry.WebSocketId(e.name.originalName),name:e.displayName??uia(e.name.originalName),path:{pathParameters:e.pathParameters.map(r=>({description:r.docs??void 0,key:ZP.FernRegistry.PropertyKey(r.name.originalName),type:UD(r.valueType),availability:void 0})),parts:IEn(e.path)},headers:e.headers.map(r=>({key:r.name.wireValue,type:UD(r.valueType),description:r.docs,availability:F7(r.availability)})),queryParameters:e.queryParameters.map(r=>({description:r.docs??void 0,key:r.name.wireValue,type:UD(r.valueType),availability:F7(r.availability)})),messages:e.messages.map(r=>({type:ZP.FernRegistry.api.v1.WebSocketMessageId(r.type),displayName:r.displayName,origin:r.origin,body:QpE(r.body),description:r.docs,availability:F7(r.availability)})),examples:e.examples.map(r=>({name:r.name?.originalName,description:r.docs,path:r.url,pathParameters:r.pathParameters.reduce((i,n)=>(i[ZP.FernRegistry.PropertyKey(n.name.originalName)]=n.value.jsonExample,i),{}),queryParameters:r.queryParameters.reduce((i,n)=>(i[n.name.wireValue]=n.value.jsonExample,i),{}),headers:r.headers.reduce((i,n)=>(i[n.name.wireValue]=n.value.jsonExample,i),{}),messages:r.messages.map(i=>({type:ZP.FernRegistry.api.v1.WebSocketMessageId(i.type),body:i.body.jsonExample}))}))}}function F7(e){if(e!=null)switch(e.status){case"DEPRECATED":return ZP.FernRegistry.Availability.Deprecated;case"PRE_RELEASE":return ZP.FernRegistry.Availability.Beta;case"GENERAL_AVAILABILITY":return ZP.FernRegistry.Availability.GenerallyAvailable;case"IN_DEVELOPMENT":return ZP.FernRegistry.Availability.Beta;default:Fo(e.status)}}function FpE({environmentsConfig:e,endpoint:t}){let r=e.environments,i=t.baseUrl;switch(r.type){case"singleBaseUrl":return r.environments.map(n=>({id:ZP.FernRegistry.EnvironmentId(n.id),baseUrl:n.url}));case"multipleBaseUrls":if(i==null)throw new Error(`Expected endpoint ${t.name.originalName} to have base url.`);return r.environments.map(n=>{let a=n.urls[i];if(a==null)throw new Error(`Expected environment ${n.id} to contain url for ${i}`);return{id:ZP.FernRegistry.EnvironmentId(n.id),baseUrl:a}});default:Fo(r)}}function LpE({environmentsConfig:e,channel:t}){let r=e.environments,i=t.baseUrl;switch(r.type){case"singleBaseUrl":return r.environments.map(n=>({id:ZP.FernRegistry.EnvironmentId(n.id),baseUrl:UpE(n.url,"wss")}));case"multipleBaseUrls":if(i==null)throw new Error(`Expected channel ${t.name.originalName} to have base url.`);return r.environments.map(n=>{let a=n.urls[i];if(a==null)throw new Error(`Expected environment ${n.id} to contain url for ${i}`);return{id:ZP.FernRegistry.EnvironmentId(n.id),baseUrl:a}});default:Fo(r)}}function UpE(e,t){return e.replace(/^[^:]+/,t)}function VpE(e){return uc.http.HttpMethod._visit(e,{get:()=>ZP.FernRegistry.HttpMethod.Get,post:()=>ZP.FernRegistry.HttpMethod.Post,put:()=>ZP.FernRegistry.HttpMethod.Put,patch:()=>ZP.FernRegistry.HttpMethod.Patch,delete:()=>ZP.FernRegistry.HttpMethod.Delete,_other:()=>{throw new Error("Unknown http method: "+e)}})}function IEn(e){let t=e.parts.flatMap(r=>[{type:"pathParameter",value:ZP.FernRegistry.PropertyKey(r.pathParameter)},{type:"literal",value:r.tail}]);return[{type:"literal",value:e.head},...t]}function WpE(e){let t=uc.http.HttpRequestBody._visit(e,{inlinedRequestBody:r=>({type:"json",contentType:r.contentType??YB.APPLICATION_JSON,shape:{type:"object",extends:r.extends.map(i=>ZP.FernRegistry.TypeId(i.typeId)),properties:r.properties.map(i=>({description:i.docs??void 0,key:ZP.FernRegistry.PropertyKey(i.name.wireValue),valueType:UD(i.valueType),availability:F7(i.availability)})),extraProperties:r.extraProperties?{type:"unknown"}:void 0}}),reference:r=>({type:"json",contentType:r.contentType??YB.APPLICATION_JSON,shape:{type:"reference",value:UD(r.requestBodyType)},description:r.docs??void 0}),fileUpload:r=>({type:"fileUpload",value:{name:r.name.originalName,description:void 0,availability:void 0,properties:r.properties.map(i=>i._visit({file:n=>{let a=n._visit({file:u=>({type:"file",key:ZP.FernRegistry.PropertyKey(u.key.wireValue),isOptional:u.isOptional,contentType:u.contentType,description:u.docs??void 0,availability:void 0}),fileArray:u=>({type:"fileArray",key:ZP.FernRegistry.PropertyKey(u.key.wireValue),isOptional:u.isOptional,contentType:u.contentType,description:u.docs??void 0,availability:void 0}),_other:()=>{}});if(a!=null)return{type:"file",value:a}},bodyProperty:n=>({type:"bodyProperty",key:ZP.FernRegistry.PropertyKey(n.name.wireValue),valueType:UD(n.valueType),contentType:n.contentType,description:n.docs??void 0,availability:F7(n.availability),exploded:n.style==="exploded"}),_other:()=>{}})).filter(Jb)},description:r.docs??void 0}),bytes:r=>({type:"bytes",description:r.docs??void 0,availability:void 0,isOptional:r.isOptional,contentType:r.contentType}),_other:()=>{throw new Error("Unknown HttpRequestBody: "+e.type)}});return t!=null?{type:t,description:e.docs}:void 0}function HpE(e){if(e.body==null)return;let t,r=uc.http.HttpResponseBody._visit(e.body,{fileDownload:i=>(t=i.docs,{type:"fileDownload",contentType:void 0}),json:i=>(t=i.docs,{type:"reference",value:UD(i.responseBodyType)}),text:()=>{},bytes:()=>{},streamParameter:()=>{},streaming:i=>{if(i.type==="text")return t=i.docs,{type:"streamingText"};if(i.type==="json")return t=i.docs,{type:"stream",shape:{type:"reference",value:UD(i.payload)},terminator:i.terminator};if(i.type==="sse")return t=i.docs,{type:"stream",shape:{type:"reference",value:UD(i.payload)},terminator:i.terminator}},_other:()=>{throw new Error("Unknown HttpResponse: "+e.body)}});return r!=null?{type:r,statusCode:e.statusCode,description:t}:e.statusCode!=null?{statusCode:e.statusCode,description:t,type:{type:"object",extends:[],properties:[],extraProperties:void 0}}:void 0}function $pE(e,t){let r=[];if(t.errorDiscriminationStrategy.type==="statusCode")for(let i of e){let n=t.errors[i.error.errorId];n&&r.push({type:n.type==null?void 0:{type:"alias",value:UD(n.type)},statusCode:n.statusCode,description:n.docs??void 0,name:n.name.name.originalName,availability:void 0,examples:n.examples.map(a=>({name:a.name?.originalName,responseBody:{type:"json",value:a.jsonExample},description:a.docs}))})}else for(let i of e){let n=t.errors[i.error.errorId];if(n){let a=[{key:ZP.FernRegistry.PropertyKey(t.errorDiscriminationStrategy.discriminant.wireValue),valueType:{type:"literal",value:{type:"stringLiteral",value:n.discriminantValue.name.originalName}},description:n.docs,availability:void 0}];n.type!=null&&a.push({key:ZP.FernRegistry.PropertyKey(t.errorDiscriminationStrategy.contentProperty.wireValue),valueType:UD(n.type),description:n.docs,availability:void 0}),r.push({type:n.type==null?void 0:{type:"object",extends:[],properties:a,extraProperties:void 0},statusCode:n.statusCode,description:n.docs??void 0,availability:void 0,name:n.name.name.originalName,examples:n.examples.map(u=>({name:u.name?.originalName,responseBody:{type:"json",value:u.jsonExample},description:u.docs}))})}}return r}function Nec({userSpecifiedExample:e,autogeneratedExample:t,irEndpoint:r,ir:i}){let n=i.headers.map(l=>{let d=l.valueType.type==="container"&&l.valueType.container.type==="literal"?l.valueType.container.literal._visit({boolean:s=>`${s}`,string:s=>s,_other:()=>{}}):void 0;if(d!=null)return{name:l.name,value:{jsonExample:d,shape:uc.ExampleTypeReferenceShape.primitive(uc.ExamplePrimitive.string({original:d}))}}}).filter(Jb),a=e?.example??t?.example;if(a==null)return;let{codeSamples:u}=e??{codeSamples:[]};return{name:a.name?.originalName,description:a.docs,path:a.url,pathParameters:[...a.rootPathParameters,...a.servicePathParameters,...a.endpointPathParameters].reduce((l,d)=>(l[ZP.FernRegistry.PropertyKey(d.name.originalName)]=d.value.jsonExample,l),{}),queryParameters:a.queryParameters.reduce((l,d)=>(l[d.name.wireValue]=d.value.jsonExample,l),{}),headers:[...n,...a.serviceHeaders,...a.endpointHeaders].reduce((l,d)=>(l[d.name.wireValue]=d.value.jsonExample,l),{}),requestBody:a.request?.jsonExample,requestBodyV3:r.requestBody?._visit({inlinedRequestBody:()=>a.request!=null?{type:"json",value:a.request.jsonExample}:void 0,reference:()=>a.request!=null?{type:"json",value:a.request.jsonExample}:void 0,fileUpload:l=>{if(a.request==null)return;let d={};if(ew(a.request.jsonExample)){let s=a.request.jsonExample;for(let o of l.properties)o._visit({file:c=>{let b=s[c.key.wireValue];if(c.type==="file")d[c.key.wireValue]={type:"filename",value:typeof b=="string"?b:"<file1>"};else if(c.type==="fileArray"){let g=(Array.isArray(b)?b:[b]).filter(O=>typeof O=="string");d[c.key.wireValue]={type:"filenames",value:g}}},bodyProperty:c=>{if(c.style==="exploded"){let b=s[c.name.wireValue];d[c.name.wireValue]={type:"exploded",value:Array.isArray(b)?b:[b]}}else d[c.name.wireValue]={type:"json",value:s[c.name.wireValue]}},_other:C4t})}return{type:"form",value:d}},bytes:()=>{},_other:()=>{}}),responseStatusCode:r.response?.statusCode??uc.http.ExampleResponse._visit(a.response,{ok:l=>l._visit({body:d=>d!=null?200:204,stream:d=>d.length>0?200:204,sse:d=>d.length>0?200:204,_other:()=>{throw new Error("Unknown ExampleResponseBody: "+l.type)}}),error:({error:l})=>{let d=i.errors[l.errorId];if(d==null)throw new Error("Cannot find error "+l.errorId);return d.statusCode},_other:()=>{throw new Error("Unknown ExampleResponse: "+a.response.type)}}),responseBody:a.response._visit({ok:l=>l._visit({body:d=>d?.jsonExample,stream:()=>{},sse:()=>{},_other:()=>{}}),error:l=>l.body?.jsonExample,_other:()=>{}}),responseBodyV3:a.response._visit({ok:l=>l._visit({body:d=>d!=null?{type:"json",value:d.jsonExample}:void 0,stream:d=>({type:"stream",value:d.map(s=>s.jsonExample)}),sse:d=>({type:"sse",value:d.map(({event:s,data:o})=>({event:s,data:o.jsonExample}))}),_other:()=>{throw new Error("Unknown ExampleResponseBody: "+l.type)}}),error:l=>l.body!=null?{type:"json",value:l.body.jsonExample}:void 0,_other:()=>{throw new Error("Unknown ExampleResponse: "+a.response.type)}}),codeSamples:u?.map(l=>_Se._visit(l,{language:d=>({language:d.language,code:d.code,name:d.name?.originalName,description:d.docs??void 0,install:d.install}),sdk:d=>({language:d.sdk,code:d.code,name:d.name?.originalName,description:d.docs??void 0,install:void 0}),_other:()=>{}})).filter(Jb)}}function GpE(e){switch(e.type){case"inlinedPayload":return{type:{type:"object",extends:e.extends.map(t=>ZP.FernRegistry.TypeId(t.typeId)),properties:e.properties.map(t=>({description:t.docs??void 0,key:ZP.FernRegistry.PropertyKey(t.name.wireValue),valueType:UD(t.valueType),availability:F7(t.availability)})),extraProperties:void 0},description:void 0};case"reference":return{type:{type:"reference",value:UD(e.payloadType)},description:e.docs};default:Fo(e)}}function QpE(e){switch(e.type){case"inlinedBody":return{type:"object",extends:e.extends.map(t=>ZP.FernRegistry.TypeId(t.typeId)),properties:e.properties.map(t=>({description:t.docs??void 0,key:ZP.FernRegistry.PropertyKey(t.name.wireValue),valueType:UD(t.valueType),availability:F7(t.availability)})),extraProperties:void 0};case"reference":return{type:"reference",value:UD(e.bodyType)};default:Fo(e)}}function sDe({ir:e,snippetsConfig:t,playgroundConfig:r}){let i={types:{},subpackages:{},rootPackage:Fec(e.rootPackage,e),auth:Kl_(e.auth,e,r),snippetsConfiguration:t,globalHeaders:e.headers.map(n=>({availability:F7(n.availability),description:n.docs??void 0,key:n.name.wireValue,type:UD(n.valueType)})),navigation:void 0};for(let[n,a]of Object.entries(e.types))i.types[u7o.FernRegistry.TypeId(n)]={description:a.docs??void 0,name:a.name.name.originalName,shape:Xl_(a.shape),availability:F7(a.availability)};for(let[n,a]of Object.entries(e.subpackages)){let u=a.service!=null?e.services[a.service]:void 0;i.subpackages[u7o.FernRegistry.api.v1.SubpackageId(n)]={subpackageId:u7o.FernRegistry.api.v1.SubpackageId(n),displayName:u?.displayName,name:a.name.originalName,description:a.docs??void 0,...Fec(a,e)}}return i}var Lec=yi(hre(),1);async function Uec({organization:e,workspace:t,context:r,token:i,audiences:n,snippetsConfig:a,playgroundConfig:u}){let l=I2({workspace:t,audiences:n,generationLanguage:void 0,keywords:void 0,smartCasing:!1,exampleGeneration:{disabled:!1},readme:void 0,version:void 0,packageName:void 0,context:r,sourceResolver:new B2(r,t)}),d=lxi({token:i.value}),s=sDe({ir:l,snippetsConfig:a,playgroundConfig:u}),o=await d.api.v1.register.registerApiDefinition({orgId:Lec.FernRegistry.OrgId(e),apiId:Lec.FernRegistry.ApiId(l.apiName.originalName),definition:s});if(o.ok)return r.logger.debug(`Registered API Definition ${o.body.apiDefinitionId}`),{id:o.body.apiDefinitionId,ir:l};switch(o.error.error){case"UnauthorizedError":case"UserNotInOrgError":return r.failAndThrow("You do not have permissions to register the docs. Reach out to support@buildwithfern.com");default:return r.failAndThrow("Failed to register API",o.error)}}var JpE=new pFi({snippetsBySdkId:{},snippetsConfigWithSdkId:{},snippetTemplatesByEndpoint:{},snippetsBySdkIdAndEndpointId:{},snippetTemplatesByEndpointId:{}});function mba(e,t,r){return Kva(Gva(sDe({ir:e,snippetsConfig:{typescriptSdk:void 0,pythonSdk:void 0,javaSdk:void 0,rubySdk:void 0,goSdk:void 0,csharpSdk:void 0},playgroundConfig:r}),x2.ApiDefinitionId(t),JpE))}var U_={};Co(U_,{AlgoliaSearchIndex:()=>Zl_,ApiDefinitionId:()=>gf_,ApiId:()=>jf_,Availability:()=>Nf_,DocsConfigId:()=>wf_,EndpointId:()=>Df_,EndpointPathLiteral:()=>zf_,EnvironmentId:()=>Sf_,FileId:()=>Tf_,HttpMethod:()=>Rf_,IndexSegmentId:()=>kl_,JqString:()=>Bf_,OrgId:()=>mf_,PageId:()=>qf_,PayloadLocation:()=>fd_,PropertyKey:()=>xf_,PullRequestState:()=>od_,RoleId:()=>If_,TokenId:()=>Pf_,TypeId:()=>Af_,Url:()=>Cf_,VersionId:()=>Of_,WebSocketId:()=>Ef_,WebhookId:()=>Mf_,algolia:()=>Vec,api:()=>Zec,commons:()=>kec,diff:()=>Ff_,docs:()=>stc,generators:()=>ltc,git:()=>ftc,navigation:()=>_tc,sdks:()=>ytc,snippets:()=>cd_,snippetsFactory:()=>ld_,templates:()=>vtc,tokens:()=>dd_});var Vec={};Co(Vec,{AlgoliaSearchIndex:()=>Zl_,IndexSegmentId:()=>kl_});function Zl_(e){return e}function kl_(e){return e}var Zec={};Co(Zec,{latest:()=>$ec,v1:()=>Xec});var $ec={};Co($ec,{AuthSchemeId:()=>ef_,WebhookHttpMethod:()=>nf_,auth:()=>Wec,commons:()=>tf_,endpoint:()=>rf_,type_:()=>if_,webhook:()=>Hec,websocket:()=>af_});var Wec={};Co(Wec,{AuthSchemeId:()=>ef_});function ef_(e){return e}var tf_={};var rf_={};var if_={};var Hec={};Co(Hec,{WebhookHttpMethod:()=>nf_});var nf_={Get:"GET",Post:"POST"};var af_={};var Xec={};Co(Xec,{SubpackageId:()=>hf_,WebSocketMessageId:()=>yf_,WebSocketMessageOrigin:()=>vf_,WebhookHttpMethod:()=>bf_,commons:()=>Yec,db:()=>Gec,read:()=>Jec,register:()=>Kec});var Gec={};Co(Gec,{endpoint:()=>of_});var of_={};var Jec={};Co(Jec,{SupportedLanguage:()=>uf_,endpoint:()=>Qec,type_:()=>sf_,webhook:()=>cf_,websocket:()=>lf_});var Qec={};Co(Qec,{SupportedLanguage:()=>uf_});var uf_={Curl:"curl",Python:"python",Javascript:"javascript",Js:"js",Node:"node",Typescript:"typescript",Ts:"ts",Go:"go",Ruby:"ruby",Csharp:"csharp"};var sf_={};var cf_={};var lf_={};var Kec={};Co(Kec,{SourceId:()=>KpE,endpoint:()=>ff_,type_:()=>df_,webhook:()=>pf_,websocket:()=>_f_});var ff_={};var df_={};var pf_={};var _f_={};function KpE(e){return e}var Yec={};Co(Yec,{SubpackageId:()=>hf_,WebSocketMessageId:()=>yf_,WebSocketMessageOrigin:()=>vf_,WebhookHttpMethod:()=>bf_});function hf_(e){return e}function yf_(e){return e}var vf_={Client:"client",Server:"server"};var bf_={Get:"GET",Post:"POST"};var kec={};Co(kec,{ApiDefinitionId:()=>gf_,ApiId:()=>jf_,Availability:()=>Nf_,DocsConfigId:()=>wf_,EndpointId:()=>Df_,EndpointPathLiteral:()=>zf_,EnvironmentId:()=>Sf_,FileId:()=>Tf_,HttpMethod:()=>Rf_,JqString:()=>Bf_,OrgId:()=>mf_,PageId:()=>qf_,PropertyKey:()=>xf_,RoleId:()=>If_,TokenId:()=>Pf_,TypeId:()=>Af_,Url:()=>Cf_,VersionId:()=>Of_,WebSocketId:()=>Ef_,WebhookId:()=>Mf_});function gf_(e){return e}function Of_(e){return e}function mf_(e){return e}function Pf_(e){return e}function jf_(e){return e}function wf_(e){return e}function Sf_(e){return e}function Df_(e){return e}function Ef_(e){return e}function Mf_(e){return e}function Af_(e){return e}function qf_(e){return e}function Tf_(e){return e}function Cf_(e){return e}function Bf_(e){return e}function xf_(e){return e}function If_(e){return e}function zf_(e){return e}var Rf_={Get:"GET",Post:"POST",Put:"PUT",Patch:"PATCH",Delete:"DELETE"};var Nf_={Stable:"Stable",GenerallyAvailable:"GenerallyAvailable",InDevelopment:"InDevelopment",PreRelease:"PreRelease",Deprecated:"Deprecated",Beta:"Beta"};var Ff_={};var stc={};Co(stc,{latest:()=>rtc,v1:()=>otc,v2:()=>utc});var rtc={};Co(rtc,{Layout:()=>Uf_,MdxEngine:()=>YpE,TwitterCardSetting:()=>Vf_,commons:()=>Lf_,frontmatter:()=>etc,seo:()=>ttc});var YpE={NextMdxRemote:"next-mdx-remote",MdxBundler:"mdx-bundler"};var Lf_={};var etc={};Co(etc,{Layout:()=>Uf_});var Uf_={Guide:"guide",Overview:"overview",Reference:"reference",Page:"page",Custom:"custom"};var ttc={};Co(ttc,{TwitterCardSetting:()=>Vf_});var Vf_={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var otc={};Co(otc,{commons:()=>atc,db:()=>Wf_,read:()=>Hf_,write:()=>itc});var Wf_={};var Hf_={};var itc={};Co(itc,{DocsRegistrationId:()=>ZpE,FilePath:()=>XpE});function XpE(e){return e}function ZpE(e){return e}var atc={};Co(atc,{ContentAlignment:()=>Jf_,FontDisplay:()=>kf_,FontStyle:()=>Zf_,HeaderPosition:()=>Kf_,JsScriptStrategy:()=>Xf_,ProgrammingLanguage:()=>$f_,SearchbarPlacement:()=>Gf_,TabsPlacement:()=>Qf_,TwitterCardSetting:()=>Yf_,commons:()=>ntc});var ntc={};Co(ntc,{ContentAlignment:()=>Jf_,FontDisplay:()=>kf_,FontStyle:()=>Zf_,HeaderPosition:()=>Kf_,JsScriptStrategy:()=>Xf_,ProgrammingLanguage:()=>$f_,SearchbarPlacement:()=>Gf_,TabsPlacement:()=>Qf_,TwitterCardSetting:()=>Yf_});var $f_={Typescript:"typescript",Javascript:"javascript",Python:"python",Java:"java",Go:"go",Ruby:"ruby",Csharp:"csharp",Nodets:"nodets",Nodejs:"nodejs",Dotnet:"dotnet",Curl:"curl",Jvm:"jvm",Ts:"ts",Js:"js"};var Gf_={Header:"HEADER",HeaderTabs:"HEADER_TABS",Sidebar:"SIDEBAR"};var Qf_={Header:"HEADER",Sidebar:"SIDEBAR"};var Jf_={Center:"CENTER",Left:"LEFT"};var Kf_={Fixed:"FIXED",Absolute:"ABSOLUTE"};var Yf_={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var Xf_={BeforeInteractive:"beforeInteractive",AfterInteractive:"afterInteractive",LazyOnload:"lazyOnload"};var Zf_={Normal:"normal",Italic:"italic"};var kf_={Auto:"auto",Block:"block",Swap:"swap",Fallback:"fallback",Optional:"optional"};var utc={};Co(utc,{read:()=>ed_,write:()=>td_});var ed_={};var td_={};var ltc={};Co(ltc,{ChangelogEntryType:()=>id_,GeneratorId:()=>kpE,GeneratorLanguage:()=>e_E,ReleaseType:()=>nd_,cli:()=>rd_,commons:()=>ctc,versions:()=>ad_});var rd_={};var ctc={};Co(ctc,{ChangelogEntryType:()=>id_,ReleaseType:()=>nd_});var id_={Fix:"fix",Feat:"feat",Chore:"chore",Break:"break",Internal:"internal"};var nd_={Ga:"GA",Rc:"RC"};var ad_={};function kpE(e){return e}var e_E={Python:"python",Go:"go",Java:"java",Typescript:"typescript",Ruby:"ruby",Csharp:"csharp",Php:"php",Swift:"swift",Rust:"rust"};var ftc={};Co(ftc,{PullRequestState:()=>od_});var od_={Open:"open",Closed:"closed",Merged:"merged"};var _tc={};Co(_tc,{latest:()=>dtc,v1:()=>ptc});var dtc={};Co(dtc,{NodeId:()=>i_E,ProductId:()=>n_E,Slug:()=>t_E,TabId:()=>r_E});function t_E(e){return e}function r_E(e){return e}function i_E(e){return e}function n_E(e){return e}var ptc={};Co(ptc,{NavigationV1Availability:()=>c_E,NodeId:()=>u_E,ProductId:()=>s_E,Slug:()=>a_E,TabId:()=>o_E});function a_E(e){return e}function o_E(e){return e}function u_E(e){return e}function s_E(e){return e}var c_E={Stable:"stable",GenerallyAvailable:"generally-available",InDevelopment:"in-development",PreRelease:"pre-release",Beta:"beta",Deprecated:"deprecated"};var ytc={};Co(ytc,{Language:()=>ud_,VersionBump:()=>sd_,versions:()=>htc});var htc={};Co(htc,{Language:()=>ud_,VersionBump:()=>sd_});var ud_={Go:"Go",TypeScript:"TypeScript",Java:"Java",Python:"Python",Csharp:"Csharp",Ruby:"Ruby"};var sd_={Major:"MAJOR",Minor:"MINOR",Patch:"PATCH"};var cd_={};var ld_={};var vtc={};Co(vtc,{PayloadLocation:()=>fd_});var fd_={Body:"BODY",Query:"QUERY",Path:"PATH",Headers:"HEADERS",Relative:"RELATIVE",Auth:"AUTH"};var dd_={};var zEn=class{warnings=[];errors=[];error(t){this.errors.push(t)}warning(t){this.warnings.push(t)}};function Id(e){return e!=null}var _d_=yi(sia(),1);var pd_=["PII","PHI","PCI","GDPR","CCPA","HIPAA","COPPA","FERPA","GLBA","SOX","FISMA","NIST","CIS","ISO","IEC","ITAR","EAR","CMMC","CUI","CDI","FTC","FCC","SEC","FINRA","XSS","CSRF","SSRF","XSRF","TLS","SSL","SSH","API","OAuth","OAuth1","OAuth1.0","OAuth2","OAuth2.0","SAML","OpenID","OpenID Connect","CAPTCHA","reCAPTCHA","2FA","MFA","OTP","TOTP","HOTP","U2F","FIDO","FIDO2","PKI","HMAC","AES","RSA","SHA","MD5","BCrypt","PBKDF2","Argon2","SCrypt","JWT","JWE","JWS","JWK","JWA","JOSE","SKU","SKUs","UPC","EAN","ISBN","ASIN","MPN","MSRP","MAP","RRP","MSRP","AM","PM","UTC","GMT","PST","PDT","EST","EDT","CST","CDT","MST","MDT","USA","UK","EU","UAE","APAC","EMEA","LATAM","ANZ","SEA","MEA","MENA","NATO","NA","SA","CA","EU","AU","NZ","JP","KR","CN","HK","TW","SG","MY","TH","ID","PH","VN","IN","PK","BD","LK","NP","MM","KH","LA","MM","BT","MV","USD","EUR","GBP","JPY","CNY","RUB","INR","AUD","CAD","CHF","SGD","MYR","THB","IDR","KRW","PHP","VND","HKD","TWD","MXN","BRL","ARS","CLP","COP","PEN","ZAR","NGN","EGP","AED","SAR","ILS","TRY","SEK","NOK","DKK","ISK","HUF","PLN","CZK","RON","BGN","API","APIs","SDK","SDKs","AI","OCR","REST","SOAP","JSON","XML","HTTP","HTTPS","URI","URL","CRUD","RESTful","KYB","KYC","AML","HTML","CSS","JS","SQL","DB","UI","UX","SaaS","PaaS","IaaS","IP","TCP","UDP","DNS","FTP","SMTP","IMAP","POP3","CSV","MVC","MVP","MVVM","DOM","SPA","SSR","CSR","DDoS","CDN","IoT","ML","DL","NLP","CLI","GUI","BI","ETL","RDBMS","NoSQL","IDE","CMS","CCPA","POSIX","ABI","API","AST","COBOL","DDL","DML","NN","CNN","RNN","LSTM","GRU","ANN","GAN","RL","DL","ML","NLP","NLG","NLU","BERT","GPT","SVM","PCA","AI","CV","TF","TTS","ASR","HMM","DNN","MLP","RBM","CRF","PDF","PDFs","RTF","TXT","XLS","XLSX","PPT","JPG","JPEG","PNG","GIF","GIFs","SVG","TIFF","BMP","ICO","PSD","WebP","AVIF","HEIF","HEIC","EPS","MP3","WAV","AIFF","FLAC","WMA","AAC","OGG","AVI","WMV","MOV","M4V","MP4","MPG","MPEG","FLV","SWF","MKV","WebM","GCP","AWS","VM","VPC","S3","EC2","DynamoDB","CosmosDB","BigQuery","CI/CD","SOC1","SOC2","SOC3","PCI DSS","WAF","IAM","SDN","MPLS","BGP","Vue.js","Node.js",".NET"];function nZt(e){return e=e.replace(/([a-z])([A-Z])/g,"$1 $2"),e=e.replace(/_/g," "),e=e.replace(/-/g," "),(0,_d_.default)(e,{special:pd_}).replace(/V\s(\d)/g,"V$1")}function s7o({endpoints:e,webhookEndpoints:t}){let r={};return Object.values({...e,...t}).forEach(i=>{let n=[];i.namespace?.forEach(a=>{let u=[...n,a],l=U_.api.v1.SubpackageId(u.join("."));r[l]={id:l,name:a,displayName:nZt(a)},n.push(a)})}),r}var c7o=class{errors=new zEn},REn=class{input;context;constructor(t,r){this.input=t,this.context=r}errors(){return this.context.errors.errors}warnings(){return this.context.errors.warnings}};function hd_(e){return`#/${e.map(t=>t.replaceAll(/~/g,"~0").replaceAll(/\//g,"~1")).join("/")}`}var l7o=class extends c7o{},Lp=class extends REn{context;accessPath;pathId;constructor({input:t,context:r,accessPath:i,pathId:n}){if(super(t,r),this.context=r,this.accessPath=[...i],this.pathId=n,n!=null){let a=Array.isArray(this.pathId)?this.pathId:[this.pathId];a.every((u,l)=>u===this.accessPath[this.accessPath.length-a.length+l])||this.accessPath.push(...a)}r.logger.debug(`Processing ${hd_(this.accessPath)}`)}safeParse(...t){try{this.parse(...t)}catch{this.context.errors.error({message:"Error converting node. Please contact support if the error persists",path:this.accessPath})}}},mF=class extends Lp{},Yie=class extends mF{seenSchemas;constructor(t){super(t),this.seenSchemas=new Set(t.seenSchemas)}};var yd_="x-fern-base-path",vd_="x-fern-availability",f7o="x-fern-sdk-group-name",bd_="x-fern-global-headers",gd_="x-fern-sdk-method-name";var Od_="x-fern-webhook",md_="x-fern-access-token-locator",Pd_="x-fern-basic",jd_="x-fern-username-variable-name",wd_="x-fern-password-variable-name",Sd_="x-fern-bearer",Dd_="x-fern-token-variable-name",Ed_="x-fern-header",Md_="x-fern-header-variable-name",Ad_="x-fern-server-name",qd_="x-fern-examples";var d7o=class extends Lp{serverName;constructor(t){super(t),this.safeParse()}parse(){this.serverName=this.input[Ad_]}convert(){if(this.serverName!=null)return this.serverName}};var p7o=class extends Lp{url;serverName;constructor(t){super(t),this.safeParse()}parse(){this.url=Object.entries(this.input.variables??{}).reduce((t,[r,i])=>t.replace(`{${r}}`,i.default),this.input.url)??this.input.url,this.serverName=new d7o({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId})}convert(){let t=this.serverName?.convert()??this.url;if(!(this.url==null||t==null))return{id:U_.EnvironmentId(t),baseUrl:this.url}}};function aZt(e,t,r,i){let n=e??[],a=new Set(n.map(l=>l.url)),u=(t??[]).filter(l=>!a.has(l.url)).map((l,d)=>new p7o({input:l,context:r,accessPath:i,pathId:["servers",`${d}`]}));return[...n,...u]}function oS(e){return typeof e=="object"&&Id(e)&&"$ref"in e&&typeof e.$ref=="string"}function BV(e,t,r){let i=e.$ref.substring(2).split("/").map(a=>a.replace(/~1/g,"/")),n=t;for(let a of i){if(typeof n!="object"||n==null)return r;n=n[a]}return n==null?r:(oS(n)&&(n=BV(n,t,r)),n)}function _7o(e,t){let r=t.components?.securitySchemes?.[e];if(r!=null)return oS(r)?BV(r,t,void 0):r}var Vd_=yi(yx());var h7o=class extends Lp{username;password;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[Pd_];this.username=t?.username,this.password=t?.password}convert(){return{username:this.username,password:this.password}}};var y7o=class extends Lp{passwordVariableName;constructor(t){super(t),this.safeParse()}parse(){this.passwordVariableName=this.input[wd_]}convert(){return this.passwordVariableName}};var v7o=class extends Lp{usernameVariableName;constructor(t){super(t),this.safeParse()}parse(){this.usernameVariableName=this.input[jd_]}convert(){return this.usernameVariableName}};var b7o=class extends Lp{bearerTokenVariableName;bearerTokenEnvVar;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[Sd_];this.bearerTokenVariableName=t?.name,this.bearerTokenEnvVar=t?.env}convert(){return{tokenVariableName:this.bearerTokenVariableName,tokenEnvVar:this.bearerTokenEnvVar}}};var g7o=class extends Lp{tokenVariableName;constructor(t){super(t),this.safeParse()}parse(){this.tokenVariableName=this.input[Dd_]}convert(){return this.tokenVariableName}};function Td_(e){return typeof e=="object"&&e!=null&&"in"in e&&e.in==="header"}var Cd_="x-bearer-format",Bd_="x-code-samples",xd_="x-codeSamples";var O7o=class extends Lp{bearerFormat;constructor(t){super(t),this.safeParse()}parse(){this.bearerFormat=this.input[Cd_]}convert(){return this.bearerFormat}};var m7o=class extends Lp{headerVariableName;headerEnvVar;headerPrefix;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[Ed_];this.headerVariableName=t?.name,this.headerEnvVar=t?.env,this.headerPrefix=t?.prefix}convert(){return{name:this.headerVariableName,env:this.headerEnvVar,prefix:this.headerPrefix}}};var P7o=class extends Lp{headerVariableName;constructor(t){super(t),this.safeParse()}parse(){this.headerVariableName=this.input[Md_]}convert(){return this.headerVariableName}};function Id_(e){return e.type==="apiKey"}var NEn=class extends Lp{headerName;headerBearerFormatNode;headerAuthNode;headerVariableNameNode;constructor(t){super(t),this.safeParse()}parse(){Id_(this.input)&&(this.headerName=this.input.name),this.headerAuthNode=new m7o({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.headerVariableNameNode=new P7o({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.headerBearerFormatNode=new O7o({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId})}convert(){let t=this.headerAuthNode?.convert();if(t!=null)return{type:"header",nameOverride:t?.name,headerWireValue:this.headerName??"Authorization",prefix:t?.prefix??this.headerBearerFormatNode?.convert()}}};function zd_(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}function Rd_(e){return Object.is(e,-0)?"-0":e.toString()}function Nd_(e){let t=[],r=e.length;if(r===0)return t;let i=0,n="",a="",u=!1;for(e.charCodeAt(0)===46&&(t.push(""),i++);i<r;){let l=e[i];a?l==="\\"&&i+1<r?(i++,n+=e[i]):l===a?a="":n+=l:u?l==='"'||l==="'"?a=l:l==="]"?(u=!1,t.push(n),n=""):n+=l:l==="["?(u=!0,n&&(t.push(n),n="")):l==="."?n&&(t.push(n),n=""):n+=l,i++}return n&&t.push(n),t}function btc(e,t,r){if(e==null)return r;switch(typeof t){case"string":{let i=e[t];return i===void 0?zd_(t)?btc(e,Nd_(t),r):r:i}case"number":case"symbol":{typeof t=="number"&&(t=Rd_(t));let i=e[t];return i===void 0?r:i}default:{if(Array.isArray(t))return l_E(e,t,r);Object.is(t?.valueOf(),-0)?t="-0":t=String(t);let i=e[t];return i===void 0?r:i}}}function l_E(e,t,r){if(t.length===0)return r;let i=e;for(let n=0;n<t.length;n++){if(i==null)return r;i=i[t[n]]}return i===void 0?r:i}function Fd_(e){return function(t){return btc(t,e)}}function j7o(e,t){switch(t=t??Fu_,typeof t){case"string":case"symbol":case"number":case"object":return x5(e,Fd_(t));case"function":return x5(e,t)}}function gtc(e){if(e==null)return"";if(Array.isArray(e))return e.map(gtc).join(",");let t=String(e);return t==="0"&&Object.is(Number(e),-0)?"-0":t}function Ld_(e){return typeof e!="string"&&(e=gtc(e)),e.replace(/['\u2019]/g,"")}function s9t(e){return _u_(Ld_(e))}function CM(e){if(e!=null)return Array.isArray(e)?e:[e]}function w7o({namespace:e,path:t,method:r,sdkMethodName:i,operationId:n,displayName:a,isWebhook:u}){if(t==null)return;let l=r!=null&&t!=null?`${r}_${t.split("/").join("_")}`:r??t.split("/").join("_");if(!(i==null&&n==null&&a==null&&l==null))return`${f_E(u)}${d_E(e)}.${p_E(i,n,a,l)}`}function f_E(e){return e?"webhook_":"endpoint_"}function d_E(e){return e!=null?CM(e)?.map(t=>s9t(t)).join("/"):""}function p_E(e,t,r,i){return e||t||s9t(r??"")||s9t(i??"")}function Ud_(e){return e.length===0?!1:/^\$?(\.[\w*]+|\[['"][\w*]+['"]?\]|\[['"]?[\d*]+['"]?\]|\[[\d:]+\])*$/.test(e)}var S7o=class extends Lp{accessTokenLocator;constructor(t){super(t),this.safeParse()}parse(){this.accessTokenLocator=this.input[md_],this.accessTokenLocator!=null&&(Ud_(this.accessTokenLocator)||(this.context.errors.error({message:"Invalid access token locator, must be a valid jq path",path:this.accessPath}),this.accessTokenLocator=void 0))}convert(){return this.accessTokenLocator}};var D7o=class extends Lp{authorizationUrl;headerAuthNode;accessTokenLocatorNode;constructor(t){super(t),this.safeParse()}parse(){if(this.input.flows.clientCredentials!=null){let t=this.input.flows.clientCredentials;this.authorizationUrl=t.tokenUrl,this.authorizationUrl==null&&this.context.errors.error({message:"Expected 'tokenUrl' property to be specified",path:this.accessPath}),this.headerAuthNode=new NEn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.accessTokenLocatorNode=new S7o({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.authorizationUrl==null&&this.context.errors.error({message:"Expected 'tokenUrl' property to be specified",path:this.accessPath}),this.accessTokenLocatorNode?.accessTokenLocator==null&&this.context.errors.error({message:"Expected 'x-fern-access-token-locator' property to be specified",path:this.accessPath})}}convert(){let t=this.accessTokenLocatorNode?.convert();if(t==null||this.authorizationUrl==null)return{type:"bearerAuth",tokenName:void 0};let r=w7o({namespace:void 0,path:this.authorizationUrl,method:"POST",sdkMethodName:void 0,operationId:void 0,displayName:void 0,isWebhook:void 0});if(r!=null)return{type:"oAuth",value:{type:"clientCredentials",value:{type:"referencedEndpoint",endpointId:U_.EndpointId(r),accessTokenLocator:U_.JqString(t),headerName:this.headerAuthNode?.convert()?.headerWireValue,tokenPrefix:this.headerAuthNode?.convert()?.prefix}}}}};var FEn=class extends Lp{authScheme;headerAuthNode;bearerTokenNode;bearerTokenVariableNameNode;basicAuthNode;basicUsernameVariableNameNode;basicPasswordVariableNameNode;oauth2Node;constructor(t){super(t),this.safeParse()}parse(){switch(this.input.type){case"http":switch(this.input.scheme){case"basic":{this.authScheme="basic",this.basicAuthNode=new h7o({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.basicUsernameVariableNameNode=new v7o({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.basicPasswordVariableNameNode=new y7o({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),(this.basicAuthNode==null||this.basicAuthNode.username==null&&this.basicUsernameVariableNameNode?.usernameVariableName==null||this.basicAuthNode.password==null&&this.basicPasswordVariableNameNode?.passwordVariableName==null)&&this.context.errors.warning({message:"Basic auth should specify either a username or a username variable name",path:this.accessPath});break}case"bearer":{this.authScheme="bearer",this.bearerTokenNode=new b7o({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.bearerTokenVariableNameNode=new g7o({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});break}default:{this.context.errors.warning({message:`Unsupported HTTP auth scheme: ${this.input.scheme}`,path:this.accessPath});break}}break;case"apiKey":{Td_(this.input)?(this.authScheme="header",this.headerAuthNode=new NEn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId})):this.context.errors.error({message:`Unsupported API key location: ${this.input.in}`,path:this.accessPath});break}case"oauth2":{this.authScheme="oauth",this.oauth2Node=new D7o({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});break}case"openIdConnect":{this.authScheme="bearer";break}}}convert(){switch(this.authScheme){case"basic":{let t=this.basicAuthNode?.convert();return{type:"basicAuth",usernameName:t?.username?.name??this.basicUsernameVariableNameNode?.convert(),passwordName:t?.password?.name??this.basicPasswordVariableNameNode?.convert()}}case"bearer":return{type:"bearerAuth",tokenName:this.bearerTokenNode?.convert()?.tokenVariableName??this.bearerTokenVariableNameNode?.convert()};case"header":return this.headerAuthNode?.convert();case"oauth":return this.oauth2Node?.convert();case void 0:return;default:new Vd_.UnreachableCaseError(this.authScheme);return}}};var LEn=class extends Lp{authNodesMap;constructor(t){super(t),this.safeParse()}parse(){this.input.map((t,r)=>Object.keys(t).map(i=>{let n=_7o(i,this.context.document);if(n==null){this.context.errors.warning({message:`No auth scheme found for ${i}. Inline security schemes are not supported.`,path:this.accessPath});return}let a=new FEn({input:n,context:this.context,accessPath:this.accessPath,pathId:["security",`${r}`]});a.convert()!=null?(this.authNodesMap??={},this.authNodesMap[i]=a):this.context.errors.warning({message:`No auth scheme found for ${i}`,path:this.accessPath})}))}convert(){return Object.fromEntries(Object.entries(this.authNodesMap??{}).map(([t,r])=>{let i=r.convert();if(i!=null)return[t,i]}).filter(Id))}};var E7o=class extends Lp{basePath;constructor(t){super(t),this.safeParse()}parse(){this.basePath=this.input[yd_],this.basePath!=null?(this.basePath.startsWith("/")&&(this.basePath=this.basePath.slice(1)),this.basePath.endsWith("/")&&(this.basePath=this.basePath.slice(0,-1))):this.basePath=void 0}convert(){return this.basePath}};function Wd_(e){return"required"in e&&typeof e.required=="boolean"?e.required:!1}function Hd_(e,t){return{type:"alias",value:{type:"optional",shape:e,default:t}}}function UEn(e,t){return e==null?void 0:Object.entries(e).map(([i,n])=>CM(n.convert())?.map(u=>((t!=null&&!t.includes(i)||t==null&&!Wd_(n))&&(u=Hd_(u,u.type==="enum"?u.default:void 0)),{key:U_.PropertyKey(i),valueShape:u,description:n.description,availability:n.availability?.convert()})).filter(Id)).filter(Id).reduce((i,n)=>i.flatMap(a=>n.length>0?n.map(u=>[...a,u]):[[...a]]),[[]])}function M7o(e,t){return oS(e)?BV(e,t,void 0):e}function o_i(e,t){return e!=null&&e!==""?e:t!=null&&t!==""?t:void 0}function $d_(e,t){let r={...e};for(let[i,n]of Object.entries(t??{}))r[i]=[...r[i]??[],...n];return Object.keys(r).length>0?r:void 0}function Gd_(e,t){if(e==null)return t;if(t==null)return e;let r=[];for(let i of e)for(let n of t)r.push({path:i.path??n.path,responseStatusCode:i.responseStatusCode??n.responseStatusCode,name:i.name??n.name,description:i.description??n.description,pathParameters:i.pathParameters??n.pathParameters,queryParameters:i.queryParameters??n.queryParameters,headers:i.headers??n.headers,requestBody:i.requestBody??n.requestBody,responseBody:i.responseBody??n.responseBody,snippets:{...n.snippets,...i.snippets}});return r}var Qd_=yi(yx());var Otc=["decimal","decimal128","double-int","double","float","sf-decimal"],mtc=["int16","int32","int64","int8","sf-integer","uint8"],Ptc=["base64url","binary","byte","char","commonmark","date-time","date","decimal","decimal128","duration","email","hostname","html","http-date","idn-email","idn-hostname","int64","ipv4","ipv6","iri-reference","iri","json-pointer","media-range","password","regex","relative-json-pointer","sf-binary","sf-boolean","sf-string","sf-token","time","uri-reference","uri-template","uri","uuid"],jtc=["beta","pre-release","in-development","generally-available","deprecated"];function PF(e,t){return oS(e)?BV(e,t,{type:"unknown","x-fern-type":"unknown",additionalProperties:!1}):e}var Jze=class extends Lp{availability;constructor(t){super(t),this.safeParse()}parse(){if(PF(this.input,this.context.document)?.deprecated)this.availability="deprecated";else{let r=this.input[vd_];r!=null&&(jtc.includes(r)?this.availability=r:(this.context.errors.warning({message:`Expected one of: ${jtc.join(", ")}. Received: ${r}`,path:this.accessPath}),this.availability=void 0))}}convert(){switch(this.availability){case"beta":case"pre-release":return U_.Availability.Beta;case"in-development":return U_.Availability.InDevelopment;case"generally-available":return U_.Availability.GenerallyAvailable;case"deprecated":return U_.Availability.Deprecated;case void 0:return;default:new Qd_.UnreachableCaseError(this.availability);return}}};var q7o=yi(yx());function Jd_(e){return typeof e=="object"&&e!=null&&"language"in e}function Kd_(e){return typeof e=="object"&&e!=null&&"sdk"in e}function Yd_(e){return typeof e=="object"&&e!=null&&("error"in e||"body"in e)}function Xd_(e){return typeof e=="object"&&e!=null&&"stream"in e&&Array.isArray(e.stream)}function A7o(e){return typeof e=="object"&&e!=null&&"event"in e}function wtc(e){return typeof e=="object"&&e!=null&&"stream"in e&&Array.isArray(e.stream)&&e.stream.every(A7o)}function u_i(e){return typeof e=="object"&&e!=null&&"filename"in e&&"data"in e&&typeof e.filename=="string"&&typeof e.data=="string"}function Zd_(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}var T7o=class extends Lp{path;successResponseStatusCode;requestBodyByContentType;responseBodies;examples;constructor(t,r,i,n,a){super(t),this.path=r,this.successResponseStatusCode=i,this.requestBodyByContentType=n,this.responseBodies=a,this.safeParse()}parse(){this.examples=this.input[qd_]}convertFormDataExampleRequest(t,r){if(t.fields!=null)switch(t.contentType){case"form-data":return{type:"form",value:Object.fromEntries(Object.entries(t.fields).map(([n,a])=>{let u=typeof r=="object"?r[n]:void 0;switch(a.multipartType){case"file":return u_i(u)?[n,{type:"filenameWithData",filename:u.filename,data:U_.FileId(u.data)}]:u!=null?[n,{type:"filename",value:u}]:void 0;case"files":{if(Array.isArray(u)){if(u.every(l=>u_i(l)))return[n,{type:"filenamesWithData",value:u.map(l=>({filename:l.filename,data:U_.FileId(l.data)}))}];if(u.every(l=>typeof l=="string"))return[n,{type:"filenames",value:u}]}return}case"property":return[n,{type:"json",value:u}];case void 0:return;default:new q7o.UnreachableCaseError(a.multipartType);return}}).filter(Id))};case"json":return{type:"json",value:r};case"bytes":return typeof r=="string"?{type:"bytes",value:{type:"base64",value:r}}:void 0;default:return}}convert(){if(this.examples==null)return;this.requestBodyByContentType!=null&&Object.keys(this.requestBodyByContentType).length>1&&this.context.logger.warn(`Multiple request bodies found for #/${[this.accessPath,this.pathId,"x-fern-examples"].join("/")}. Coercing to first request body until supported.`);let t=Object.keys(this.requestBodyByContentType??{})[0];return this.examples.flatMap(r=>(this.responseBodies??[]).map(i=>{let n=t!=null?this.requestBodyByContentType?.[t]:void 0,a;if(n!=null)switch(n.contentType){case"form-data":a=Zd_(r.request)?this.convertFormDataExampleRequest(n,r.request):void 0;break;case"json":a=r.request!=null?{type:"json",value:r.request}:void 0;break;case"bytes":a=typeof r.request=="string"&&r.request!=null?{type:"bytes",value:{type:"base64",value:r.request}}:void 0;break;case void 0:break;default:new q7o.UnreachableCaseError(n.contentType);break}let u;switch(i.contentType){case"application/json":{Yd_(r.response)&&(u={type:"json",value:r.response.body});break}case"text/event-stream":{wtc(r.response)&&(u={type:"sse",value:r.response.stream.map(c=>({event:c.event,data:c.data}))});break}case"application/octet-stream":!wtc(r.response)&&Xd_(r.response)&&(u={type:"stream",value:r.response.stream});break;case void 0:break;default:new q7o.UnreachableCaseError(i.contentType);break}let l={};r["code-samples"]?.forEach(c=>{Jd_(c)?c.language!=null&&(l[c.language]??=[],l[c.language]?.push({name:c.name,language:c.language,install:c.install,code:c.code,generated:!1,description:c.docs})):Kd_(c)&&c.sdk!=null&&(l[c.sdk]??=[],l[c.sdk]?.push({name:c.name,language:c.sdk,install:void 0,code:c.code,generated:!1,description:c.docs}))});let d=Object.fromEntries(Object.entries(r["path-parameters"]??{}).map(([c,b])=>[U_.PropertyKey(c),b])),s=Object.fromEntries(Object.entries(r["query-parameters"]??{}).map(([c,b])=>[U_.PropertyKey(c),b])),o=Object.fromEntries(Object.entries(r.headers??{}).map(([c,b])=>[U_.PropertyKey(c),b]));return{path:this.path,responseStatusCode:this.successResponseStatusCode,name:r.name,description:r.docs,pathParameters:Object.keys(d).length>0?d:void 0,queryParameters:Object.keys(s).length>0?s:void 0,headers:Object.keys(o).length>0?o:void 0,requestBody:a,responseBody:u,snippets:l}}))}};var Pba=class extends Lp{groupName;constructor(t){super(t),this.safeParse()}parse(){this.groupName=this.input[f7o]}convert(){if(this.groupName==null)return;let t;return Array.isArray(this.groupName)?t=this.groupName:t=[this.groupName],t.map(r=>U_.api.v1.SubpackageId(s9t(r)))}};var C7o=class extends Lp{sdkMethodName;constructor(t){super(t),this.safeParse()}parse(){this.sdkMethodName=this.input[gd_]}convert(){return this.sdkMethodName}};var B7o=class extends Lp{isWebhook;constructor(t){super(t),this.safeParse()}parse(){this.isWebhook=this.input[Od_]}convert(){return this.isWebhook}};var x7o=class extends Lp{codeSamples;constructor(t){super(t),this.safeParse()}parse(){this.codeSamples=[...this.input[Bd_]??[],...this.input[xd_]??[]],this.codeSamples.forEach(t=>{[...Object.values(U_.api.v1.read.SupportedLanguage),"Kotlin","Swift","PHP"].map(r=>r.toLowerCase()).includes(t.lang.toLowerCase())||this.context.errors.warning({message:`Unsupported language: ${t.lang}. This may not render correctly.`,path:this.accessPath})})}convert(){let t={};if(this.codeSamples?.forEach(r=>{t[r.lang.toLowerCase()]??=[],t[r.lang.toLowerCase()]?.push({name:r.label,language:r.lang,code:r.source,install:void 0,generated:!1,description:void 0})}),Object.keys(t).length!==0)return t}};var wFi=yi(yx());function Stc(e,t){return oS(e)?BV(e,t,void 0):e}function kd_(e,t){return e.replace(/{(\w+)}/g,(r,i)=>t[i]!=null&&typeof t[i]=="string"||typeof t[i]=="number"||typeof t[i]=="boolean"?`${t[i]}`:r)}var F5="",oZt=class extends Lp{path;responseStatusCode;name;shapes;resolvedRequestInput;resolvedResponseInput;summary;constructor(t,r,i,n,a){super(t),this.path=r,this.responseStatusCode=i,this.name=n,this.shapes=a,this.safeParse()}validateFormDataRequestExample(){return typeof this.resolvedRequestInput?.value!="object"?!1:Object.entries(this.shapes.requestBody?.fields??{}).reduce((t,[r,i])=>{let n=this.resolvedRequestInput?.value[r];switch(i.multipartType){case"file":return t&&(u_i(n)||typeof n=="string");case"files":return t&&Array.isArray(n)&&n.every(a=>u_i(a)||typeof a=="string");case"property":return t;case void 0:return t&&!1;default:return new wFi.UnreachableCaseError(i.multipartType),t}},!0)}parse(){let t=this.shapes.requestBody?.schema?.example({includeOptionals:!1,override:void 0});this.resolvedRequestInput=Stc(this.input?.requestExample,this.context.document)??(t!=null?{value:t}:void 0);let r=this.shapes.responseBody?.schema?.example({includeOptionals:!1,override:void 0});if(this.resolvedResponseInput=Stc(this.input?.responseExample,this.context.document)??(r!=null?{value:r}:void 0),this.summary=this.input?.requestExample?.summary??this.input?.responseExample?.summary,this.shapes.requestBody!=null&&this.resolvedRequestInput!=null)switch(this.shapes.requestBody?.contentType){case"json":{if(typeof this.resolvedRequestInput.value!="object"){this.context.errors.error({message:"Invalid example, expected object for json",path:this.accessPath});return}break}case"bytes":{if(typeof this.resolvedRequestInput.value!="string"){this.context.errors.error({message:"Invalid example, expected string for bytes",path:this.accessPath});return}break}case"form-data":{if(!this.validateFormDataRequestExample()){this.context.errors.error({message:"Invalid example, expected valid form-data",path:this.accessPath});return}break}case void 0:break;default:new wFi.UnreachableCaseError(this.shapes.requestBody?.contentType),this.context.errors.error({message:"Invalid example, unsupported content type",path:this.accessPath});return}if(this.shapes.responseBody!=null&&this.resolvedResponseInput!=null)switch(this.shapes.responseBody?.contentType){case"application/json":if(this.resolvedResponseInput!=null&&typeof this.resolvedResponseInput!="object"||this.resolvedResponseInput.value!=null&&typeof this.resolvedResponseInput.value!="object"){this.context.errors.error({message:"Invalid example, expected object for json",path:this.accessPath});return}break;case"text/event-stream":if(this.resolvedResponseInput.value!=null&&!Array.isArray(this.resolvedResponseInput.value)&&!this.resolvedResponseInput.value.every(A7o)){this.context.errors.error({message:"Invalid example, expected array of SSE events for event-stream",path:this.accessPath});return}break;case"application/octet-stream":if(this.resolvedResponseInput.value!=null&&typeof this.resolvedResponseInput.value!="string"&&!Array.isArray(this.resolvedResponseInput.value)){this.context.errors.error({message:"Invalid example, expected string or array for octet-stream",path:this.accessPath});return}break;case void 0:break;default:new wFi.UnreachableCaseError(this.shapes.responseBody?.contentType);return}}convertFormDataExampleRequest(){if(!(this.resolvedRequestInput==null||this.shapes.requestBody?.fields==null))switch(this.shapes.requestBody?.contentType){case"form-data":return{type:"form",value:Object.fromEntries(Object.entries(this.shapes.requestBody.fields).map(([r,i])=>{let n=this.resolvedRequestInput?.value?.[r];switch(i.multipartType){case"file":return u_i(n)?[r,{type:"filenameWithData",filename:n.filename,data:U_.FileId(n.data)}]:[r,{type:"filename",value:n}];case"files":{if(Array.isArray(n)){if(n.every(a=>u_i(a)))return[r,{type:"filenamesWithData",value:n.map(a=>({filename:a.filename,data:U_.FileId(a.data)}))}];if(n.every(a=>typeof a=="string"))return[r,{type:"filenames",value:n}]}return}case"property":return[r,{type:"json",value:n}];case void 0:return;default:new wFi.UnreachableCaseError(i.multipartType);return}}).filter(Id))};case"json":return{type:"json",value:this.resolvedRequestInput.value};case"bytes":return typeof this.resolvedRequestInput.value=="string"?{type:"bytes",value:{type:"base64",value:this.resolvedRequestInput.value}}:void 0;default:return}}convertDescription(){if(this.resolvedRequestInput!=null&&this.resolvedResponseInput!=null)return this.resolvedResponseInput.description;if(this.resolvedRequestInput!=null)return this.resolvedRequestInput.description;if(this.resolvedResponseInput!=null)return this.resolvedResponseInput.description}convert(){let t;if(this.shapes.requestBody!=null&&this.resolvedRequestInput!=null)switch(this.shapes.requestBody.contentType){case"form-data":t=this.convertFormDataExampleRequest();break;case"json":t={type:"json",value:this.resolvedRequestInput.value};break;case"bytes":t={type:"bytes",value:{type:"base64",value:this.resolvedRequestInput.value}};break;case void 0:break;default:new wFi.UnreachableCaseError(this.shapes.requestBody?.contentType);break}let r;if(this.shapes.responseBody!=null&&this.resolvedResponseInput!=null)switch(this.shapes.responseBody.contentType){case"application/json":{r={type:"json",value:this.resolvedResponseInput?.value??this.resolvedResponseInput};break}case"text/event-stream":r={type:"sse",value:this.resolvedResponseInput?.value};break;case"application/octet-stream":r={type:typeof this.resolvedResponseInput?.value=="string"?"filename":"stream",value:this.resolvedResponseInput?.value??this.resolvedResponseInput};break;case void 0:r={type:"json",value:this.resolvedResponseInput?.value??this.resolvedResponseInput};break;default:new wFi.UnreachableCaseError(this.shapes.responseBody?.contentType);break}let i=Object.fromEntries(Object.entries(this.shapes.pathParameters??{}).map(([u,l])=>[u,l.example({includeOptionals:!1,override:u})]));i=Object.keys(i).length>0?i:void 0;let n=Object.fromEntries(Object.entries(this.shapes.queryParameters??{}).map(([u,l])=>l.required||l.inputExample!=null?[u,l.example({includeOptionals:!1,override:u})]:void 0).filter(Id));n=Object.keys(n).length>0?n:void 0;let a=Object.fromEntries(Object.entries(this.shapes.requestHeaders??{}).map(([u,l])=>l.required||l.inputExample!=null?[u,l.example({includeOptionals:!1,override:u})]:void 0).filter(Id));if(a=Object.keys(a).length>0?a:void 0,!(this.path==null&&t==null&&r==null&&a==null&&n==null&&i==null))return{path:kd_(this.path,i??{}),responseStatusCode:this.responseStatusCode,name:this.name!=null?nZt(this.name):this.summary!=null?nZt(this.summary):void 0,description:this.convertDescription(),pathParameters:i,queryParameters:n,headers:a,requestBody:t,responseBody:r,snippets:void 0}}};function ep_(e,t){return oS(e)?BV(e,t,void 0):e}var pp_=yi(yx());var tp_="#/components/schemas/";function VEn(e){if(e.$ref.startsWith(tp_))return e.$ref.replace(tp_,"")}function ZKr(e){if(e!=null)return{type:"alias",value:{type:"nullable",shape:e}}}function s_i(e){return typeof e.type=="string"&&e.type==="array"}function rp_(e){return e.type==="boolean"}function ip_(e){return e.type==="integer"}function c_i(e){return!Array.isArray(e.type)&&!s_i(e)}function np_(e){return e!=null&&Array.isArray(e)&&e.every(t=>t.type==="null"||c_i(t)||s_i(t))}function ap_(e){return"nullable"in e&&typeof e.nullable=="boolean"}function op_(e){return e.type==="null"}function up_(e){return e.type==="number"}function Dtc(e){return e.type==null||typeof e.type=="string"&&e.type==="object"}function sp_(e){return e.type==="string"}var I7o=class extends Yie{item;schemaName;constructor(t){super(t),this.schemaName=t.schemaName,this.safeParse()}parse(){this.item=new XA({input:this.input.items,context:this.context,accessPath:this.accessPath,pathId:"items",seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName}),this.input.items==null&&this.context.errors.error({message:"Expected 'items' property to be specified",path:this.accessPath})}convert(){return CM(this.item?.convert())?.map(r=>({type:"alias",value:{type:"list",itemShape:r}}))}example(t){return this.input.example??this.input.examples?.[0]??[this.item?.example(t)]}};var z7o=class extends mF{constValue;description;availability;constructor(t){super(t),this.safeParse()}parse(){this.input.const!=null&&(typeof this.input.const=="string"||typeof this.input.const=="number"||typeof this.input.const=="boolean")?this.constValue=this.input.const.toString():this.context.errors.warning({message:`Unsupported const type: ${typeof this.input}`,path:this.accessPath}),this.description=this.input.description,this.availability=new Jze({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"})}convert(){if(this.constValue!=null)return{type:"enum",default:this.constValue,values:[{value:this.constValue,description:this.description,availability:this.availability?.convert()}]}}example(){return this.input.example??this.input.examples?.[0]??this.constValue}};var R7o=class extends Yie{typeNodes;nullable;schemaName;constructor(t){super(t),this.schemaName=t.schemaName,this.parse()}parse(){this.typeNodes=this.input.map(t=>{if(t.type==="null")this.nullable=!0;else return new XA({input:t,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:this.nullable,schemaName:this.schemaName})}).filter(Id)}convert(){if(this.typeNodes==null)return;let i=this.typeNodes.map(n=>CM(n.convert())?.map(u=>({displayName:n.name,shape:u,description:n.description,availability:n.availability?.convert()}))).filter(Id).reduce((n,a)=>n.flatMap(u=>a.length>0?a.map(l=>[...u,l]):[[...u]]),[[]]).map(n=>({type:"undiscriminatedUnion",variants:n}));return this.nullable?i.map(ZKr).filter(Id):i}example(t){return this.nullable?null:this.typeNodes?.[0]?.example(t)}};function N7o(e){return e!=null&&e.length>0?e:[void 0]}var WEn=class extends Yie{description;extends=[];properties;extraProperties;requiredProperties;schemaName;constructor(t){super(t),this.schemaName=t.schemaName,this.safeParse()}parse(){this.extends=[],this.requiredProperties=this.input.required,this.properties=Object.fromEntries(Object.entries(this.input.properties??{}).map(([t,r])=>[t,new XA({input:r,context:this.context,accessPath:this.accessPath,pathId:["properties",t],seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})])),this.extraProperties=this.input.additionalProperties!=null?typeof this.input.additionalProperties=="boolean"?this.input.additionalProperties?this.input.title:void 0:new XA({input:this.input.additionalProperties,context:this.context,accessPath:this.accessPath,pathId:["additionalProperties"],seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName}):void 0,this.input.allOf!=null&&(this.extends=this.extends.concat(this.input.allOf.map((t,r)=>{if(oS(t))return VEn(t);this.properties={...this.properties,...Object.fromEntries(Object.entries(t.properties??{}).map(([i,n])=>[i,new XA({input:n,context:this.context,accessPath:this.accessPath,pathId:["allOf",r.toString(),"properties",i],seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})]))}}).filter(Id))),this.description=this.input.description}convertProperties(){if(this.properties!=null)return UEn(this.properties,this.requiredProperties)}convertExtraProperties(){return this.extraProperties==null?void 0:typeof this.extraProperties=="string"?[{type:"map",keyShape:{type:"alias",value:{type:"primitive",value:{type:"string",format:void 0,regex:void 0,minLength:void 0,maxLength:void 0,default:void 0}}},valueShape:{type:"alias",value:{type:"unknown",displayName:this.extraProperties}}}]:CM(this.extraProperties.convert())?.map(r=>({type:"map",keyShape:{type:"alias",value:{type:"primitive",value:{type:"string",format:void 0,regex:void 0,minLength:void 0,maxLength:void 0,default:void 0}}},valueShape:r})).filter(Id)}convert(){let t=this.convertProperties();if(t==null)return;let r=this.convertExtraProperties();return t.flatMap(i=>N7o(r).map(n=>(this.extends==null||this.extends.length===0)&&i.length===0&&n!=null?{type:"alias",value:n}:{type:"object",extends:this.extends.map(a=>U_.TypeId(a)),properties:i,extraProperties:n}))}example({includeOptionals:t}){let r={...this.properties};return this.input.allOf?.forEach(i=>{let n=PF(i,this.context.document);n!=null&&(r={...r,...Object.fromEntries(Object.entries(n.properties??{}).map(([a,u])=>[a,new XA({input:u,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})]))})}),this.input.example??this.input.examples?.[0]??(!t&&this.requiredProperties!=null&&this.requiredProperties.length>0?this.requiredProperties?.reduce((i,n)=>{let a=r?.[n];return i[n]=a?.example({includeOptionals:t,override:n}),i},{}):Object.entries(r).reduce((i,[n,a])=>(i[n]=a?.example({includeOptionals:t,override:n}),i),{}))}};var F7o=class extends Yie{isNullable;discriminated;discriminant;discriminatedMapping;undiscriminatedMapping;schemaName;constructor(t){super(t),this.schemaName=t.schemaName,this.safeParse()}parse(){if(this.input.oneOf!=null||this.input.anyOf!=null)if(this.isNullable=(this.input.oneOf??this.input.anyOf)?.some(t=>PF(t,this.context.document)?.type==="null"),this.input.discriminator==null)this.discriminated=!1,this.undiscriminatedMapping=(this.input.oneOf??this.input.anyOf)?.map(t=>PF(t,this.context.document)?.type!=="null"?new XA({input:t,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName}):void 0).filter(Id);else{let t=this.input.discriminator.mapping;if(t!=null){this.discriminated=!0,this.discriminant=this.input.discriminator.propertyName,this.discriminatedMapping={};let r=this.discriminatedMapping;Object.entries(t).map(([i,n])=>{let a=PF({$ref:n},this.context.document);if(a==null){this.context.errors.warning({message:`Expected schema reference. Received undefined reference: ${n}`,path:[...this.accessPath,"discriminator","mapping",i]});return}r[i]=new XA({input:a,context:this.context,accessPath:[...this.accessPath,"discriminator","mapping",i],pathId:i,seenSchemas:this.seenSchemas,nullable:void 0,schemaName:this.schemaName})})}}}convert(){if(!this.discriminated&&this.undiscriminatedMapping?.length===1){let n=this.undiscriminatedMapping?.flatMap(a=>a.convert()).filter(Id);return this.isNullable&&n!=null?n.map(ZKr).filter(Id):n}let t=0,r=this.discriminated&&this.discriminant!=null&&this.discriminatedMapping!=null?{type:"discriminatedUnion",discriminant:U_.PropertyKey(this.discriminant),variants:Object.entries(this.discriminatedMapping).flatMap(([n,a])=>CM(a.convert())?.map(l=>{if(!(l==null||l.type!=="object"))return{discriminantValue:n,displayName:a.name??nZt(n),availability:a.availability?.convert(),description:a.description,...l}}).filter(Id)).filter(Id)}:this.undiscriminatedMapping!=null?{type:"undiscriminatedUnion",variants:this.undiscriminatedMapping.flatMap(n=>CM(n.convert())?.map(u=>{if(u==null)return;t+=1;let l=u.type==="object"?nZt(`${this.schemaName??"Variant"} ${t}`):void 0;return{displayName:n.name??(u.type==="alias"&&u.value.type==="id"?nZt(u.value.id):l),shape:u,description:n.description,availability:n.availability?.convert()}}).filter(Id)).filter(Id)}:void 0,i=this.isNullable?ZKr(r):r;return i!=null?[i]:void 0}example(t){return this.input.example??this.input.examples?.[0]??this.undiscriminatedMapping?.[0]?.example(t)??Object.values(this.discriminatedMapping??{})[0]?.example(t)}};var L7o=class extends mF{default;nullable;constructor(t){super(t),this.nullable=t.nullable,this.safeParse()}parse(){this.input.default!=null&&typeof this.input.default!="boolean"&&this.context.errors.warning({message:`Expected default value to be a boolean. Received ${this.input.default}`,path:this.accessPath}),this.default=this.input.default}convert(){return{type:"alias",value:{type:"primitive",value:{type:"boolean",default:this.default}}}}example(){return this.input.example??this.input.examples?.[0]??this.default??(this.nullable?null:!1)}};var l_i=class extends mF{default;values=[];nullable;constructor(t){super(t),this.nullable=t.nullable,this.safeParse()}parse(){if(this.input.enum!=null){let t=!0;this.values=this.input.enum.map((r,i)=>{if(t){if(oS(r)){let n=PF(r,this.context.document);r=typeof n=="string"?n:typeof n?.default=="string"?n?.default:typeof n?.example=="string"?n.example:void 0}if(typeof r!="string"){this.context.errors.error({message:`Expected enum values to be strings. Received ${r}`,path:[...this.accessPath,`enum[${i}]`]}),t=!1;return}return r}}).filter(Id),this.values=Array.from(new Set(this.values))}this.default=this.input.default}convert(){return{type:"enum",values:this.values.map(t=>({value:t,description:void 0,availability:void 0})),default:this.default}}example(){return this.input.example??this.input.examples?.[0]??this.default??this.values[0]??(this.nullable?null:void 0)}};var cp_=yi(yx());function __E(e){return mtc.includes(e)}var U7o=class extends mF{format;minimum;maximum;default;nullable;constructor(t){super(t),this.nullable=t.nullable,this.safeParse()}parse(){this.minimum=this.input.minimum,this.maximum=this.input.maximum,this.input.default!=null&&typeof this.input.default!="number"&&this.context.errors.warning({message:`Expected default value to be an integer. Received ${this.input.default}`,path:this.accessPath}),this.default=this.input.default,this.input.format!=null&&(__E(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${mtc.join(", ")}. Received ${this.input.format}`,path:this.accessPath}))}convert(){let t="integer";if(this.format!=null)switch(this.format){case"int64":t="long";break;case"int8":case"int16":case"int32":case"uint8":case"sf-integer":case void 0:t="integer";break;default:new cp_.UnreachableCaseError(this.format);break}return{type:"alias",value:{type:"primitive",value:{type:t,minimum:this.minimum,maximum:this.maximum,default:this.default}}}}example(){return this.input.example??this.input.examples?.[0]??this.default??(this.nullable?null:0)}};var V7o=class extends mF{displayName;shape;constructor(t){super(t),this.safeParse()}parse(){this.displayName=this.input.title}convert(){return ZKr({type:"alias",value:{type:"unknown",displayName:this.displayName}})}example(){return null}};var lp_=yi(yx());function h_E(e){return Otc.includes(e)}var W7o=class extends mF{format;minimum;maximum;default;nullable;constructor(t){super(t),this.nullable=t.nullable,this.safeParse()}parse(){this.minimum=this.input.minimum,this.maximum=this.input.maximum,this.input.default!=null&&typeof this.input.default!="number"&&this.context.errors.warning({message:`Expected default value to be a number. Received ${this.input.default}`,path:this.accessPath}),this.default=this.input.default,this.input.format!=null&&(h_E(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${Otc.join(", ")}. Received ${this.input.format}`,path:this.accessPath}))}convert(){let t="double";if(this.format!=null)switch(this.format){case"decimal":case"decimal128":case"double-int":case"double":case"float":case"sf-decimal":case void 0:t="double";break;default:new lp_.UnreachableCaseError(this.format);break}return{type:"alias",value:{type:"primitive",value:{type:t,minimum:this.minimum,maximum:this.maximum,default:this.default}}}}example(){return this.input.example??this.input.examples?.[0]??this.default??(this.nullable?null:0)}};var fp_=yi(yx());function y_E(e){return Ptc.includes(e)}var H7o=class extends mF{format;regex;default;minLength;maxLength;enum;mimeType;nullable;constructor(t){super(t),this.nullable=t.nullable,this.safeParse()}mapToFdrType(t){switch(t){case"base64url":case"binary":case"byte":case"sf-binary":return"base64";case"date-time":return"datetime";case"int64":return"bigInteger";case"date":return"date";case"uuid":return"uuid";case"char":case"commonmark":case"decimal":case"decimal128":case"duration":case"email":case"hostname":case"html":case"http-date":case"idn-email":case"idn-hostname":case"ipv4":case"ipv6":case"iri-reference":case"iri":case"json-pointer":case"media-range":case"password":case"regex":case"relative-json-pointer":case"sf-boolean":case"sf-string":case"sf-token":case"time":case"uri-reference":case"uri-template":case"uri":case void 0:return"string";default:return new fp_.UnreachableCaseError(t),"string"}}parse(){this.regex=this.input.pattern,this.minLength=this.input.minLength,this.maxLength=this.input.maxLength,this.mimeType=this.input.contentMediaType,this.input.default!=null&&typeof this.input.default!="string"&&this.context.errors.warning({message:`Expected default value to be a string. Received ${this.input.default}`,path:this.accessPath}),this.default=this.input.default,this.input.format!=null&&(y_E(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${Ptc.join(", ")}. Received ${this.input.format}`,path:this.accessPath})),this.input.enum!=null&&(this.enum=new l_i({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"enum",nullable:this.nullable}))}convert(){if(this.enum!=null)return this.enum.convert();let t="string";return this.format!=null&&(t=this.mapToFdrType(this.format)),{type:"alias",value:{type:"primitive",value:t==="base64"?{type:t,mimeType:this.mimeType,default:this.default}:{type:t,format:t==="string"?this.format:void 0,regex:this.regex,minLength:this.minLength,maxLength:this.maxLength,default:this.default}}}}example({override:t}){return this.input.example??this.input.examples?.[0]??this.default??(this.nullable?null:t??"string")}};var dp_=yi(yx());var $7o=class extends mF{displayName;shape;constructor(t){super(t),this.safeParse()}parse(){(0,dp_.noop)()}convert(){return{type:"alias",value:{type:"unknown",displayName:void 0}}}example(){}};var SFi=class extends Yie{description;availability;schemaId;maybeEnumConverterNode;nullable;schemaName;constructor(t){super(t),this.nullable=t.nullable,this.schemaName=t.schemaName,this.description=t.description,this.availability=t.availability,this.safeParse()}parse(){this.schemaId=VEn(this.input);let t=PF(this.input,this.context.document);t?.enum!=null&&c_i(t)&&(this.maybeEnumConverterNode=new l_i({input:t,context:this.context,accessPath:this.accessPath,pathId:this.schemaId??"",nullable:this.nullable})),this.schemaId==null&&this.context.errors.error({message:`Unprocessable reference: ${this.input.$ref}`,path:this.accessPath})}convert(){if(this.schemaId!=null)return{type:"alias",value:{type:"id",id:U_.TypeId(this.schemaId),default:this.maybeEnumConverterNode?.default!=null?{type:"enum",value:this.maybeEnumConverterNode.default}:void 0}}}example(t){let r=PF(this.input,this.context.document);if(r!=null)return new XA({input:r,context:this.context,accessPath:this.accessPath,pathId:this.schemaId??"",seenSchemas:this.seenSchemas,nullable:this.nullable,schemaName:this.schemaName}).example(t)}};var XA=class e extends Yie{typeShapeNode;description;name;examples;availability;nullable;schemaName;constructor(t){super(t),this.nullable=t.nullable,this.schemaName=t.schemaName,this.safeParse()}parse(){if(this.description=this.input.description,this.availability=new Jze({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"}),c_i(this.input)&&ap_(this.input)&&(this.nullable=this.input.nullable!=null?this.input.nullable:this.nullable),oS(this.input)){let t=VEn(this.input);if(t==null){this.context.errors.error({message:"Reference object does not have a valid schema ID",path:this.accessPath});return}if(this.seenSchemas.has(t)){this.context.errors.warning({message:"Circular or deeply nested schema found, terminating",path:this.accessPath});return}this.seenSchemas.add(t),this.typeShapeNode=new SFi({input:this.input,context:this.context,accessPath:this.accessPath,pathId:t,seenSchemas:this.seenSchemas,nullable:this.nullable,schemaName:this.schemaName,description:this.description,availability:this.availability})}else if(this.name=this.input.title,this.examples=this.input.example,this.input.const!=null)this.typeShapeNode=new z7o({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});else if(np_(this.input))this.typeShapeNode=new R7o({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(c_i(this.input)&&(this.input.oneOf!=null||this.input.anyOf!=null))this.typeShapeNode=new F7o({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(Dtc(this.input)&&this.input.allOf!=null)this.typeShapeNode=new WEn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName});else if(c_i(this.input)&&this.input.enum!=null)this.typeShapeNode=new l_i({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable});else if(typeof this.input.type=="string"||Array.isArray(this.input.type)&&this.input.type.length===1){if(this.input.type=Array.isArray(this.input.type)?this.input.type[0]:this.input.type,!Array.isArray(this.input.type))switch(this.input.type){case"object":Dtc(this.input)&&(this.typeShapeNode=new WEn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName}));break;case"array":s_i(this.input)&&(this.typeShapeNode=new I7o({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName}));break;case"boolean":rp_(this.input)&&(this.typeShapeNode=new L7o({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"integer":ip_(this.input)&&(this.typeShapeNode=new U7o({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"number":up_(this.input)&&(this.typeShapeNode=new W7o({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"string":sp_(this.input)&&(this.typeShapeNode=new H7o({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,nullable:this.nullable}));break;case"null":op_(this.input)&&(this.typeShapeNode=new V7o({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;case void 0:break;default:new pp_.UnreachableCaseError(this.input.type);break}}else if(Array.isArray(this.input.type)&&this.input.type.includes("null")&&this.input.type.length===2){let t=this.input.type.filter(r=>r!=="null")[0];t!=="array"&&(this.typeShapeNode=new e({input:{...this.input,type:t},context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,nullable:!0,schemaName:this.schemaName}))}else this.input.properties!=null&&(this.typeShapeNode=new WEn({input:{...this.input,type:"object"},context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas,schemaName:this.schemaName}));this.typeShapeNode==null&&(this.typeShapeNode=new $7o({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),!oS(this.input)&&(!s_i(this.input)&&this.input==null||s_i(this.input)&&this.input.items==null)&&this.context.errors.error({message:"Expected type declaration. Received: null",path:this.accessPath}))}convert(){let t=this.typeShapeNode?.convert();if(t==null)return;let r=CM(t)?.map(i=>this.nullable?ZKr(i):i).filter(Id);return Array.isArray(t)&&t.length>1?r:r?.[0]}example(t){return this.availability?.availability!=="deprecated"?this.typeShapeNode?.example(t):void 0}};function f_i(e){if(e!=null)return UEn(e,Object.entries(e??{}).map(([t,r])=>r.required?t:void 0).filter(Id))}var uZt=class extends mF{availability;required;schema;description;inputExample;constructor(t){super(t),this.safeParse(t.parameterName)}parse(t){this.description=this.input.description;let r;oS(this.input)?r=this.input:this.input.schema!=null?(r=this.input.schema,this.required=this.input.required):(r={type:"string"},this.required=!1),this.availability=new Jze({input:r,context:this.context,accessPath:this.accessPath,pathId:"availability"}),this.schema=new XA({input:r,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set,nullable:void 0,schemaName:t});let i=ep_(this.input,this.context.document);this.inputExample=i?.example??Object.values(i?.examples??{})[0]}convert(){return this.schema?.convert()}example(t){return this.inputExample??this.schema?.example(t)}};function _p_(e,t){return oS(e)?BV(e,t,void 0):e}var Etc=yi(yx());function G7o(e){let{uniqueId:t,type:r,contextTypes:i,description:n,availability:a}=e;i[U_.TypeId(t)]={name:t,shape:r,description:n,availability:a}}var hp_=yi(ops(),1),HEn=class e{type;subtype;essence;parameters;mimeType;input;constructor(t,r,i,n,a,u){this.type=t,this.subtype=r,this.essence=i,this.parameters=n,this.mimeType=a,this.input=u}static APPLICATION_JSON="application/json";static APPLICATION_OCTET_STREAM="application/octet-stream";static MULTIPART_FORM_DATA="multipart/form-data";static parse(t){if(t==null)return null;let r=hp_.default.parse(t);return r==null?null:new e(r.type,r.subtype,r.essence,r.parameters,r,t)}toString(){return this.input}isText(){return this.type==="text"}isImage(){return this.type==="image"}isAudio(){return this.type==="audio"}isVideo(){return this.type==="video"}isFont(){return this.type==="font"}isMultipart(){return this.type==="multipart"}isApplication(){return this.type==="application"}isMessage(){return this.type==="message"}isModel(){return this.type==="model"}isCSS(){return this.isText()&&this.subtype==="css"}isCSV(){return this.isText()&&this.subtype==="csv"}isMarkdown(){return this.isText()&&this.subtype==="markdown"}isPlainText(){return this.isText()&&this.subtype==="plain"}isEventStream(){return this.isText()&&this.subtype==="event-stream"}isMultiPartFormData(){return this.isMultipart()&&this.subtype==="form-data"}isJSON(){return this.isApplication()&&this.subtype==="json"}containsJSON(){return this.isApplication()&&this.subtype.includes("json")}isURLEncoded(){return this.isApplication()&&this.subtype==="x-www-form-urlencoded"}isOctetStream(){return this.isApplication()&&this.subtype==="octet-stream"}isPDF(){return this.isApplication()&&this.subtype==="pdf"}isZip(){return this.isApplication()&&this.subtype==="zip"}isGzip(){return this.isApplication()&&this.subtype==="gzip"}isTar(){return this.isApplication()&&this.subtype==="tar"}isBrotli(){return this.isApplication()&&this.subtype==="br"}isDeflate(){return this.isApplication()&&this.subtype==="deflate"}isProtobuf(){return this.isApplication()&&this.subtype==="protobuf"}isAvif(){return this.isImage()&&this.subtype==="avif"}isWebP(){return this.isImage()&&this.subtype==="webp"}isSVG(){return this.isImage()&&this.subtype==="svg+xml"}isPNG(){return this.isImage()&&this.subtype==="png"}isJPEG(){return this.isImage()&&this.subtype==="jpeg"}isGIF(){return this.isImage()&&this.subtype==="gif"}isMPEG(){return this.isAudio()&&this.subtype==="mpeg"}isWAV(){return this.isAudio()&&this.subtype==="wav"}isHTML(){return this.mimeType.isHTML()}isXML(){return this.mimeType.isXML()}isJavaScript(){return this.mimeType.isJavaScript()}};function v_E(e){return typeof e.securitySchemes=="object"&&e.securitySchemes!=null}var $En=class extends Lp{typeSchemas;securitySchemes;constructor(t){super(t),this.safeParse()}parse(){this.input.schemas!=null&&(this.typeSchemas=Object.fromEntries(Object.entries(this.input.schemas).map(([t,r])=>[t,new XA({input:r,context:this.context,accessPath:this.accessPath,pathId:t,seenSchemas:new Set,nullable:void 0,schemaName:t})]))),v_E(this.input)&&this.input.securitySchemes!=null&&(this.securitySchemes=Object.fromEntries(Object.entries(this.input.securitySchemes??{}).map(([t,r],i)=>{let n;if(oS(r)?n=_7o(r.$ref,this.context.document):n=r,n!=null)return[t,new FEn({input:n,context:this.context,accessPath:this.accessPath,pathId:["securitySchemes",`${i}`]})]}).filter(Id)))}convert(){return{auths:this.securitySchemes!=null?Object.fromEntries(Object.entries(this.securitySchemes??{}).map(([t,r])=>{let i=r.convert();if(i!=null)return[U_.api.latest.AuthSchemeId(t),i]}).filter(Id)):void 0,types:this.typeSchemas!=null?Object.fromEntries(Object.entries(this.typeSchemas).map(([t,r])=>{let i=r.name??t,n=CM(r.convert());return n==null?[t,void 0]:[U_.TypeId(t),{name:i,shape:n[0],description:r.description,availability:void 0}]}).filter(([t,r])=>Id(r))):void 0}}};var Q7o=class extends XA{multipartType;contentType;constructor(t){super(t),this.safeParse()}parse(){super.parse();let t=PF(this.input,this.context.document);if(t==null){this.context.errors.error({message:`Expected multipart form data property definition. ${oS(this.input)?`Received undefined reference: ${this.input.$ref}`:""}`,path:this.accessPath});return}if(t.type==="string"&&t.format==="binary")this.multipartType="file",this.contentType=t.contentMediaType;else if(t.type==="array"){let r=PF(t.items,this.context.document);r?.type==="string"&&r?.format==="binary"?(this.multipartType="files",this.contentType=r?.contentMediaType):(this.context.errors.warning({message:"Expected multipart form data files definition with array type with internal string type and binary format.",path:this.accessPath}),this.multipartType=void 0,this.contentType=void 0)}else this.multipartType="property",this.contentType=t.contentMediaType}};var J7o=class extends Lp{description;method;path;schema;isOptional;contentType;availability;requiredFields;fields;examples;constructor(t){super(t),this.method=t.method,this.path=t.path,this.safeParse(t)}parse({contentType:t}){if(this.input.schema!=null){let i=PF(this.input.schema,this.context.document);this.availability=new Jze({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"availability"}),this.schema=oS(this.input.schema)?new SFi({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set,nullable:!1,schemaName:"Request Body",description:this.input.schema.description,availability:this.availability}):void 0;let n=HEn.parse(t);n?.containsJSON()?(this.contentType="json",this.schema=this.schema??new XA({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set,nullable:void 0,schemaName:"Request Body"})):n?.isOctetStream()?(this.contentType="bytes",this.isOptional=i?.required==null):n?.isMultiPartFormData()?(this.contentType="form-data",this.requiredFields=i?.required,this.fields=Object.fromEntries(Object.entries(i?.properties??{}).map(([a,u])=>{if(u!=null)return[a,new Q7o({input:u,context:this.context,accessPath:this.accessPath,pathId:`schema.${a}`,seenSchemas:new Set,nullable:void 0,schemaName:a})]}).filter(Id))):this.context.errors.warning({message:`Expected request body of reference or object with json, streaming or form-data content types. Received: ${t}`,path:this.accessPath})}let r=this.schema?.example({includeOptionals:!0,override:void 0});this.examples={...this.input.example!=null?{[F5]:{value:this.input.example}}:{},...this.input.examples},r!=null&&Object.keys(this.examples).length===0&&(this.examples={[F5]:{value:r}})}convertJsonLike(){let t=this.schema?.convert();return t==null?void 0:CM(t)?.map(i=>{let n=i.type;switch(n){case"object":case"alias":return i;case"enum":case"undiscriminatedUnion":case"discriminatedUnion":{let a=s9t([this.method,this.path,this.contentType,"request"].join("_"));return G7o({uniqueId:a,type:i,contextTypes:this.context.generatedTypes,description:this.schema?.description,availability:this.schema?.availability?.convert()}),{type:"alias",value:{type:"id",id:U_.TypeId(a),default:i.type==="enum"&&i.default!=null?{type:"enum",value:i.default}:void 0}}}case void 0:return;default:new Etc.UnreachableCaseError(n);return}}).filter(Id)}convert(){if(this.schema instanceof SFi)return this.schema.convert();switch(this.contentType){case"json":return this.convertJsonLike();case"bytes":return{type:"bytes",isOptional:this.isOptional??!1,contentType:this.contentType};case"form-data":return Object.entries(this.fields??{}).map(([i,n])=>{switch(n.multipartType){case"file":return[{type:n.multipartType,key:U_.PropertyKey(i),isOptional:this.requiredFields?.includes(i)==null,contentType:n.contentType,description:n.description,availability:n.availability?.convert()}];case"files":return[{type:n.multipartType,key:U_.PropertyKey(i),isOptional:this.requiredFields?.includes(i)==null,contentType:n.contentType,description:n.description,availability:n.availability?.convert()}];case"property":{let a=CM(n.convert()),u=n.multipartType;return a?.map(l=>({type:u,key:U_.PropertyKey(i),contentType:n.contentType,exploded:void 0,valueShape:l,description:n.description,availability:n.availability?.convert()}))}case void 0:return[];default:return new Etc.UnreachableCaseError(n.multipartType),[]}}).filter(Id).reduce((i,n)=>i.flatMap(a=>n.length>0?n.map(u=>[...a,u]):[[...a]]),[[]]).map(i=>({type:"formData",fields:i,availability:this.availability?.convert(),description:this.description}));case void 0:return this.convertJsonLike();default:return}}};var K7o=class extends Lp{description;requestBodiesByContentType;constructor(t){super(t),this.safeParse(t)}parse({method:t,path:r}){let i=_p_(this.input,this.context.document);if(i==null){this.context.errors.error({message:"Expected request body. Received: null",path:this.accessPath});return}Object.entries(i.content).forEach(([n,a])=>{this.requestBodiesByContentType??={},this.requestBodiesByContentType[n]=new J7o({input:a,context:this.context,accessPath:this.accessPath,pathId:"content",contentType:n,method:t,path:r})})}convert(){return Object.entries(this.requestBodiesByContentType??{}).flatMap(([t,r])=>CM(r.convert())?.map(n=>({description:this.description,contentType:t,body:n}))).filter(Id)}convertToWebhookPayload(){return Object.values(this.requestBodiesByContentType??{}).flatMap(t=>CM(t.convert())?.map(i=>{if(!(i.type!=="alias"&&i.type!=="object"))return{description:this.description,shape:i}})).filter(Id)}webhookExample(){return{payload:this.requestBodiesByContentType?.["application/json"]?.schema?.example({includeOptionals:!0,override:void 0})}}};var yp_={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Switch Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"};function vp_(e,t){if(oS(e)){let r=BV(e,t,void 0);return r==null?void 0:{...r,...e}}return e}var Y7o=yi(yx());var bp_="application/json";var gp_="application/octet-stream";function Op_(e,t){return e===t||t===F5||e===F5}var jba=class extends Lp{streamingFormat;path;method;statusCode;requests;shapes;schema;contentType;unsupportedContentType;contentSubtype;examples;empty;constructor(t,r,i,n,a,u,l,d){super(t),this.streamingFormat=i,this.path=n,this.method=a,this.statusCode=u,this.requests=l,this.shapes=d,this.safeParse(r)}matchRequestResponseExamplesByName(t,r,i){for(let n of t)for(let[a,u]of Object.entries(n?.examples??{}))for(let[l,d]of Object.entries(r))for(let s of d)Op_(l,a)&&(i.add(l),this.examples?.push(new oZt({input:{requestExample:u,responseExample:s},context:this.context,accessPath:this.accessPath,pathId:a!=null&&a!==""?["examples",a]:"examples"},this.path,this.statusCode,o_i(a,l),{requestBody:n,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}matchExamplesByIndex(t,r){let i=0;for(let n of t){let a=0;for(let[u,l]of r){if(a===i){let[d,s,o]=n??[void 0,void 0,void 0];this.examples?.push(...l.map(c=>new oZt({input:{requestExample:o,responseExample:c},context:this.context,accessPath:this.accessPath,pathId:s!=null&&s!==""?["examples",s]:"examples"},this.path,this.statusCode,o_i(s,u),{requestBody:d,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}a++}i++}if(t.length>r.length)for(let n of t.slice(r.length)){let[a,u]=r[r.length-1]??[void 0,void 0],[l,d,s]=n??[void 0,void 0,void 0];this.examples?.push(...(u??[void 0]).map(o=>new oZt({input:{requestExample:s,responseExample:o},context:this.context,accessPath:this.accessPath,pathId:d!=null&&d!==""?["examples",d]:"examples"},this.path,this.statusCode,o_i(d,a),{requestBody:l,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}if(r.length>t.length){let[n,a,u]=t[t.length-1]??[void 0,void 0,void 0];for(let[l,d]of r.slice(t.length))this.examples?.push(...d.map(s=>new oZt({input:{requestExample:u,responseExample:s},context:this.context,accessPath:this.accessPath,pathId:a!=null&&a!==""?["examples",a]:"examples"},this.path,this.statusCode,o_i(a,l),{requestBody:n,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders})))}}pushResponseExample(t,r,i,n){let a=t[F5];if(a!=null)for(let u of a)this.examples?.push(new oZt({input:{requestExample:n,responseExample:u},context:this.context,accessPath:this.accessPath,pathId:i!=null&&i!==""?["examples",i]:"examples"},this.path,this.statusCode,o_i(i,void 0),{requestBody:r,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders}))}addGlobalFallbackExample(t,r){if(t==null||t.length===0)this.pushResponseExample(r,void 0,void 0,void 0);else for(let i of t)if(Object.keys(i.examples??{}).length===0)this.pushResponseExample(r,i,void 0,void 0);else for(let[n,a]of Object.entries(i.examples??{}))this.pushResponseExample(r,i,n,a)}parse(t){if(t==="empty")this.empty=!0;else{let l=HEn.parse(t);if(l?.isJSON()||l?.isEventStream())this.contentType=bp_,this.input.schema==null?(this.streamingFormat==null||this.streamingFormat==="json")&&this.context.errors.error({message:"Expected schema for JSON response body. Received null",path:this.accessPath}):this.schema=new XA({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"type",seenSchemas:new Set,nullable:void 0,schemaName:"Response Body"});else if(l?.isOctetStream())this.contentType=gp_,this.contentSubtype=PF(this.input.schema,this.context.document)?.contentMediaType;else if(this.unsupportedContentType=t,this.input.schema==null){this.context.errors.error({message:"Expected schema for plain text response body. Received null",path:this.accessPath});return}else this.schema=new XA({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:new Set,nullable:void 0,schemaName:"Response Body"})}let r={};this.input.examples!=null&&(r=j7o(this.input.examples,l=>[l])),this.input.example!=null&&Object.keys(r).length===0&&(r[F5]??=[],r[F5]=[{value:this.input.example}]);let i=PF(this.input.schema,this.context.document);if(i!=null&&(i.examples!=null&&Object.keys(r).length===0&&(r=j7o(i.examples,l=>[l])),i.example!=null&&Object.keys(r).length===0&&(r[F5]??=[],r[F5]?.push({value:i.example}))),Object.keys(r).length===0){let l=this.schema?.example({includeOptionals:!0,override:void 0});r[F5]??=[],r[F5]?.push(l!=null?{value:l}:void 0)}this.examples??=[];let n=new Set;this.matchRequestResponseExamplesByName(this.requests,r,n);let a=[];for(let l of this.requests)a.push(...Object.entries(l.examples??{}).filter(([d])=>!n.has(d)&&d!==F5).map(([d,s])=>[l,d,s]));let u=Object.entries(r).filter(([l,d])=>!n.has(l)&&Id(d)&&l!==F5);Object.keys(r).every(l=>l===F5)||this.matchExamplesByIndex(a,u),!n.has(F5)&&this.examples.length===0&&this.addGlobalFallbackExample(this.requests,r),this.examples.length===0&&(this.examples=void 0)}convertStreamingFormat(){switch(this.streamingFormat){case"json":return CM(this.schema?.convert())?.map(r=>({type:"stream",terminator:"[DATA]",shape:r}));case"sse":return{type:"streamingText"};case void 0:return;default:new Y7o.UnreachableCaseError(this.streamingFormat);return}}convertJsonLike(){return CM(this.schema?.convert())?.map(r=>{let i=r.type;switch(i){case"alias":return r;case"discriminatedUnion":case"undiscriminatedUnion":case"enum":{let n=s9t([this.method,this.path,this.statusCode,"response"].join("_"));return G7o({uniqueId:n,type:r,contextTypes:this.context.generatedTypes,description:this.schema?.description,availability:this.schema?.availability?.convert()}),{type:"alias",value:{type:"id",id:U_.TypeId(n),default:r.type==="enum"&&r.default!=null?{type:"enum",value:r.default}:void 0}}}case"object":return r;default:new Y7o.UnreachableCaseError(i);return}}).filter(Id)}convert(){if(this.empty)return{type:"empty"};if(this.contentType!=null)switch(this.contentType){case"application/json":return this.streamingFormat==null?this.convertJsonLike():this.convertStreamingFormat();case"application/octet-stream":return{type:"fileDownload",contentType:this.contentSubtype};case"text/event-stream":return this.convertStreamingFormat();case void 0:return;default:new Y7o.UnreachableCaseError(this.contentType);return}else return this.unsupportedContentType!=null?this.convertJsonLike():void 0}};var wba=class extends Lp{path;method;statusCode;requests;shapes;headers;responses;description;constructor(t,r,i,n,a,u){super(t),this.path=r,this.method=i,this.statusCode=n,this.requests=a,this.shapes=u,this.safeParse()}parse(t){this.description=this.input.description;let r=vp_(this.input,this.context.document);if(r==null){this.context.errors.error({message:oS(this.input)?`Undefined reference: ${this.input.$ref}`:"Expected response, received null",path:this.accessPath});return}Object.entries(r.headers??{}).forEach(([i,n])=>{this.headers??={},this.headers[i]=new uZt({input:n,context:this.context,accessPath:this.accessPath,pathId:"headers",parameterName:i})}),r.content==null?(this.responses??=[],this.responses.push(new jba({input:{},context:this.context,accessPath:this.accessPath,pathId:["content"]},"empty",t,this.path,this.method,this.statusCode,this.requests,this.shapes))):Object.entries(r.content??{}).forEach(([i,n])=>{this.responses??=[],this.responses.push(new jba({input:n,context:this.context,accessPath:this.accessPath,pathId:["content",i]},i,t,this.path,this.method,this.statusCode,this.requests,this.shapes))})}convert(){return this.responses?.flatMap(t=>t.convert()).filter(Id)}};var X7o=class extends Lp{path;method;requests;shapes;responsesByStatusCode;errorsByStatusCode;constructor(t,r,i,n,a){super(t),this.path=r,this.method=i,this.requests=n,this.shapes=a,this.safeParse()}parse(){let t=this.input.default;Object.entries(this.input).forEach(([r,i])=>{r!=="default"&&(parseInt(r)>=400?(this.errorsByStatusCode??={},this.errorsByStatusCode[r]=new wba({input:{...t,...i},context:this.context,accessPath:this.accessPath,pathId:"errors"},this.path,this.method,parseInt(r),[],this.shapes)):(this.responsesByStatusCode??={},this.responsesByStatusCode[r]=new wba({input:i,context:this.context,accessPath:this.accessPath,pathId:"responses"},this.path,this.method,parseInt(r),this.requests,this.shapes)))})}convertResponseObjectToHttpResponses(){return Object.entries(this.responsesByStatusCode??{}).flatMap(([t,r])=>{let i=r.convert();if(i!=null)return N7o(f_i(r.headers)).flatMap(n=>i?.map(a=>({headers:n,response:{statusCode:parseInt(t),body:a,description:r.description},examples:(r.responses??[]).flatMap(u=>(u.examples??[]).map(l=>l.convert()).filter(Id))})))}).filter(Id)}convertResponseObjectToErrors(){return Object.entries(this.errorsByStatusCode??{}).flatMap(([t,r])=>r.responses?.flatMap(i=>{let n=i.schema,a=CM(n?.convert());if(n!=null)return a?.map(u=>({statusCode:parseInt(t),shape:u,description:r.description??n.description,availability:n.availability?.convert(),name:n.name??yp_[parseInt(t)]??"UNKNOWN ERROR",examples:i.examples?.map(l=>{let d=l.convert();if(d!=null&&d.responseBody?.type==="json")return{name:d.name,description:d.description,responseBody:d.responseBody}}).filter(Id)})).filter(Id)})).filter(Id)}convert(){return{responses:this.convertResponseObjectToHttpResponses(),errors:this.convertResponseObjectToErrors()}}};var d_i=class extends Lp{servers;globalAuth;path;method;basePath;isWebhook;endpointIds;description;displayName;operationId;pathParameters;queryParameters;requestHeaders;requests;responses;availability;auth;namespaces;xFernExamplesNode;redocExamplesNode;emptyResponseExamples;constructor(t){super(t),this.servers=t.servers,this.globalAuth=t.globalAuth,this.path=t.path,this.method=t.method,this.basePath=t.basePath,this.isWebhook=t.isWebhook,this.safeParse()}pushEmptyResponseExample(t,r,i){this.emptyResponseExamples??=[],this.emptyResponseExamples.push(new oZt({input:{requestExample:t,responseExample:void 0},context:this.context,accessPath:this.accessPath,pathId:"examples"},this.path,200,o_i(i,void 0),{requestBody:r,pathParameters:this.pathParameters,queryParameters:this.queryParameters,requestHeaders:this.requestHeaders}))}parse(){if(this.isWebhook&&this.method!=="POST"&&this.method!=="GET"){this.context.errors.error({message:`Webhook method must be POST or GET. Received: ${this.method}`,path:this.accessPath});return}this.description=this.input.description,this.displayName=this.input.summary,this.operationId=this.input.operationId,this.availability=new Jze({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"}),this.servers=aZt(this.servers,this.input.servers,this.context,this.accessPath),this.isWebhook=new B7o({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}).isWebhook||this.isWebhook,this.input.parameters?.map((i,n)=>{if(oS(i)){let a=M7o(i,this.context.document);if(a!=null)i=a;else{this.context.errors.warning({message:`Expected parameter reference to resolve to an object. Received undefined reference: ${i.$ref}`,path:[...this.accessPath,`parameters[${n}]`]});return}}i.in==="path"?i.schema!=null&&(this.pathParameters??={},this.pathParameters[i.name]=new uZt({input:i,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${n}`],parameterName:i.name})):i.in==="query"?i.schema!=null&&(this.queryParameters??={},this.queryParameters[i.name]=new uZt({input:i,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${n}`],parameterName:i.name})):i.in==="header"&&i.schema!=null&&(this.requestHeaders??={},this.requestHeaders[i.name]=new uZt({input:i,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${n}`],parameterName:i.name}))});for(let i of this.extractPathParameterIds()??[])this.pathParameters?.[i]==null&&this.context.errors.warning({message:`Path parameter not defined: ${i}`,path:[...this.accessPath,"parameters"]});if(this.redocExamplesNode=new x7o({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-code-samples"}),this.requests=this.input.requestBody!=null?new K7o({input:this.input.requestBody,context:this.context,accessPath:this.accessPath,pathId:"requestBody",method:this.method,path:this.path}):void 0,this.responses=this.input.responses!=null?new X7o({input:this.input.responses,context:this.context,accessPath:this.accessPath,pathId:"responses"},this.path,this.method,Object.values(this.requests?.requestBodiesByContentType??{}),{pathParameters:this.pathParameters,queryParameters:this.queryParameters,requestHeaders:this.requestHeaders}):void 0,this.responses==null){let i=this.requests?.requestBodiesByContentType;i==null||Object.keys(i).length===0?this.pushEmptyResponseExample(void 0,void 0,void 0):Object.values(i).forEach(n=>{if(Object.keys(n.examples??{}).length===0){let a=n.schema?.example({includeOptionals:!1,override:void 0});a!=null&&this.pushEmptyResponseExample({value:a},n,void 0)}else Object.entries(n.examples??{}).forEach(([a,u])=>{this.pushEmptyResponseExample(u,n,a)})})}let t=200;this.responses?.responsesByStatusCode!=null&&(t=Number(Object.keys(this.responses.responsesByStatusCode)?.filter(i=>Number(i)>=200&&Number(i)<300)[0])),this.globalAuth!=null&&(this.auth=this.globalAuth),this.input.security!=null&&(this.auth=new LEn({input:this.input.security,context:this.context,accessPath:this.accessPath,pathId:"security"})),this.namespaces=[new Pba({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-group-name"})],this.namespaces?.every(i=>i.groupName==null)&&this.input.tags!=null&&(this.namespaces=this.input.tags.slice(0,1).map((i,n)=>new Pba({input:{[f7o]:i},context:this.context,accessPath:this.accessPath,pathId:["tags",`${n}`]})));let r=new C7o({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-sdk-method-name"});this.endpointIds=this.namespaces.map(i=>w7o({namespace:CM(i?.groupName),path:this.path,method:this.method,sdkMethodName:r.sdkMethodName,operationId:this.input.operationId,displayName:this.displayName,isWebhook:this.isWebhook})).filter(Id),this.xFernExamplesNode=new T7o({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-examples"},this.path,t,this.requests?.requestBodiesByContentType,this.responses?.responsesByStatusCode?.[t]?.responses)}extractPathParameterIds(){if(this.path!=null)return this.path.split("/").map(t=>{if(t.startsWith("{")&&t.endsWith("}"))return t.slice(1,-1).trim()}).filter(Id)}convertPathToPathParts(){if(this.path===void 0)return;let t=this.path.startsWith("/")?this.path.slice(1):this.path,r=this.basePath?.convert();return(r?[r,...t.split("/")]:t.split("/")).reduce((n,a)=>(n.push({type:"literal",value:"/"}),a.startsWith("{")&&a.endsWith("}")?n.push({type:"pathParameter",value:U_.PropertyKey(a.slice(1,-1).trim())}):n.push({type:"literal",value:a}),n),[])}convert(){if(this.path==null||this.endpointIds==null)return;let{responses:t,errors:r}=this.responses?.convert()??{responses:void 0,errors:void 0},i=this.emptyResponseExamples?.map(o=>o.convert()).filter(Id),n=Gd_(this.xFernExamplesNode?.convert(),[...i??[],...t?.flatMap(o=>o.examples)??[]])?.map(o=>({...o,snippets:$d_(o.snippets,this.redocExamplesNode?.convert())}));if(this.isWebhook)return this.endpointIds.map((o,c)=>{if(!(this.method!=="POST"&&this.method!=="GET"))return{id:U_.WebhookId(o),description:this.description,availability:this.availability?.convert(),displayName:this.displayName,operationId:this.operationId,namespace:this.namespaces?.[c]?.convert(),method:this.method,path:this.convertPathToPathParts()?.map(b=>b.value.toString())??[],queryParameters:f_i(this.queryParameters)?.flat(),headers:f_i(this.requestHeaders)?.flat(),payloads:this.requests?.convertToWebhookPayload(),examples:[this.requests?.webhookExample()].filter(Id)}}).filter(Id);let a=this.servers?.map(o=>o.convert()).filter(Id),u=this.convertPathToPathParts();if(u==null)return;let l,d=this.auth?.convert();d!=null&&(l=Object.keys(d));let s=t?.flatMap(o=>o.headers).filter(Id);return this.endpointIds.map((o,c)=>({id:U_.EndpointId(o),description:this.description,availability:this.availability?.convert(),namespace:this.namespaces?.[c]?.convert()?.map(b=>U_.api.v1.SubpackageId(b)),displayName:this.displayName,operationId:this.operationId,method:this.method,path:u,auth:l?.map(b=>U_.api.latest.AuthSchemeId(b)),defaultEnvironment:a?.[0]?.id,environments:a,pathParameters:f_i(this.pathParameters)?.flat(),queryParameters:f_i(this.queryParameters)?.flat(),requestHeaders:f_i(this.requestHeaders)?.flat(),responseHeaders:s!=null&&s.length>0?s:void 0,requests:this.requests?.convert(),responses:t?.map(b=>b.response),errors:r,examples:n,snippetTemplates:void 0,protocol:{type:"rest"}}))}};var GEn=class extends Lp{description;get;post;put;patch;delete;path;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:i,isWebhook:n}){this.description=this.input.description;let a=aZt(t,this.input.servers,this.context,this.accessPath),u=Array.isArray(this.pathId)?this.pathId.join("/"):this.pathId;this.input.get!=null&&(this.get=new d_i({input:this.input.get,context:this.context,accessPath:this.accessPath,pathId:"get",servers:a,globalAuth:r,path:u,method:"GET",basePath:i,isWebhook:n})),this.input.post!=null&&(this.post=new d_i({input:this.input.post,context:this.context,accessPath:this.accessPath,pathId:"post",servers:a,globalAuth:r,path:u,method:"POST",basePath:i,isWebhook:n})),this.input.put!=null&&(this.put=new d_i({input:this.input.put,context:this.context,accessPath:this.accessPath,pathId:"put",servers:a,globalAuth:r,path:u,method:"PUT",basePath:i,isWebhook:!1})),this.input.patch!=null&&(this.patch=new d_i({input:this.input.patch,context:this.context,accessPath:this.accessPath,pathId:"patch",servers:a,globalAuth:r,path:u,method:"PATCH",basePath:i,isWebhook:!1})),this.input.delete!=null&&(this.delete=new d_i({input:this.input.delete,context:this.context,accessPath:this.accessPath,pathId:"delete",servers:a,globalAuth:r,path:u,method:"DELETE",basePath:i,isWebhook:!1}))}convert(){return[...this.get?.convert()??[],...this.post?.convert()??[],...this.put?.convert()??[],...this.patch?.convert()??[],...this.delete?.convert()??[]].filter(Id)}};function Z7o(e){return"payloads"in e}var k7o=class extends Lp{paths;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:i}){this.paths=Object.entries(this.input).map(([n,a])=>{if(a!=null)return new GEn({input:a,context:this.context,accessPath:this.accessPath,pathId:n,servers:aZt(t,a.servers,this.context,this.accessPath),globalAuth:r,basePath:i,isWebhook:void 0})}).filter(Id)}convert(){if(this.paths==null)return;let t={},r={};return this.paths.forEach(i=>{let n=i.convert();n?.forEach(a=>{Z7o(a)?r[U_.WebhookId(a.id)]=a:t[U_.EndpointId(a.id)]=a})}),{endpoints:t,webhookEndpoints:r}}};var e6o=class extends Lp{globalHeaders;requiredProperties;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[bd_]?.map(r=>{let{header:i,...n}=r;return(n.optional!=null&&!n.optional||M7o(n,this.context.document)?.required)&&(this.requiredProperties??=[],this.requiredProperties?.push(i)),[i,new uZt({input:n,context:this.context,accessPath:this.accessPath,pathId:this.pathId,parameterName:i})]});t!=null&&(this.globalHeaders=Object.fromEntries(t))}convert(){return UEn(this.globalHeaders,this.requiredProperties)?.flat()}};function mp_(e,t){if(oS(e)){let r=BV(e,t,void 0);return r==null?void 0:{...r,...e}}return e}var t6o=class extends Lp{webhooks;constructor(t){super(t),this.safeParse(t)}parse({servers:t,globalAuth:r,basePath:i}){this.webhooks=Object.entries(this.input??{}).map(([n,a])=>{let u=mp_(a,this.context.document);if(u!=null)return new GEn({input:u,context:this.context,accessPath:this.accessPath,pathId:n,servers:t,globalAuth:r,basePath:i,isWebhook:!0})}).filter(Id)}convert(){return this.webhooks?.reduce((t,r)=>(r.convert()?.forEach(i=>{Z7o(i)&&(t[U_.WebhookId(i.id)]=i)}),t),{})}};var r6o=class extends Lp{paths;webhooks;components;auth;globalHeaders;constructor(t){super(t),this.safeParse()}parse(){let t=aZt(void 0,this.input.servers,this.context,this.accessPath);this.input.security!=null&&(this.auth=new LEn({input:this.input.security,context:this.context,accessPath:this.accessPath,pathId:"security"}));let r=new E7o({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});this.input.paths==null&&this.input.webhooks==null&&this.context.errors.warning({message:"Expected 'paths' or 'webhooks' property to be specified",path:this.accessPath}),this.input.paths!=null&&(this.paths=new k7o({input:this.input.paths,context:this.context,accessPath:this.accessPath,pathId:"paths",basePath:r,servers:t,globalAuth:this.auth})),this.input.webhooks!=null&&(this.webhooks=new t6o({input:this.input.webhooks,context:this.context,accessPath:this.accessPath,pathId:"webhooks",basePath:r,servers:t,globalAuth:this.auth})),this.input.components!=null&&(this.components=new $En({input:this.input.components,context:this.context,accessPath:this.accessPath,pathId:"components"})),this.globalHeaders=new e6o({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-global-headers"})}convert(){let t=hie(),{webhookEndpoints:r,endpoints:i}=this.paths?.convert()??{},n={...this.webhooks?.convert()??{},...r??{}},a=s7o({endpoints:i,webhookEndpoints:n}),{types:u,auths:l}=this.components?.convert()??{};return{id:U_.ApiDefinitionId(t),endpoints:i??{},websockets:{},webhooks:n,types:{...u,...this.context.generatedTypes},subpackages:a,auths:{...l,...this.auth?.convert()??{}},globalHeaders:this.globalHeaders?.convert(),snippetsConfiguration:void 0}}};var QEn=class extends REn{context;accessPath;pathId;constructor({input:t,context:r,accessPath:i,pathId:n}){super(t,r),this.context=r,this.accessPath=[...i],this.pathId=n,this.pathId&&this.pathId!==this.accessPath[this.accessPath.length-1]&&(this.accessPath.push(this.pathId),r.logger.debug(`Processing #/${this.accessPath.join("/")}`))}safeParse(...t){try{this.parse(...t)}catch{this.context.errors.error({message:"Error converting node. Please contact support if the error persists",path:this.accessPath})}}};function Kze(e){return typeof e=="object"&&Id(e)&&"$ref"in e&&typeof e.$ref=="string"}function c9t(e,t,r){let i=e.$ref.substring(2).split("/").map(a=>a.replace(/~1/g,"/")),n=t;for(let a of i){if(typeof n!="object"||n==null)return r;n=n[a]}return n==null?r:(Kze(n)&&(n=c9t(n,t,r)),n)}function Pp_(e,t){return Kze(e)?c9t(e,t,{name:"",params:[],result:{name:"",schema:{type:"object"}}}):e}var Dp_=yi(yx());function kKr(e){if(typeof e=="boolean")return e;if(e.enum!=null&&e.enum.length>0)return e.enum[0];if(e.const!=null)return e.const;if(e.examples!=null&&e.examples.length>0)return e.examples[0];if(e.type==="object"){let t={};if(e.properties!=null)for(let[r,i]of Object.entries(e.properties))t[r]=kKr(i);return t}if(e.type==="array")return e.items==null?[]:Array.isArray(e.items)?e.items.map(t=>kKr(t)):[kKr(e.items)];if(e.type==="string")return e.default??"string";if(e.type==="number"||e.type==="integer")return e.default??0;if(e.type==="boolean")return e.default??!1;if(e.type==="null")return null;if(e.oneOf?.[0]!=null)return kKr(e.oneOf[0]);if(e.anyOf?.[0]!=null)return kKr(e.anyOf[0]);if(e.allOf!=null&&e.allOf.length>0){let t={};for(let r of e.allOf)r!=null&&Object.assign(t,kKr(r));return t}}function Sba(e,t){return Kze(e)?c9t(e,t,{name:"",schema:{type:"object"}}):e}function jp_(e,t){return Kze(e)?c9t(e,t,void 0):e}function wp_(e,t){return Kze(e)?c9t(e,t,void 0):e}function Sp_(e,t){return Kze(e)?c9t(e,t,void 0):e}var b_E={key:U_.PropertyKey("apiKey"),description:void 0,availability:void 0,valueShape:{type:"alias",value:{type:"primitive",value:{type:"string",format:void 0,regex:void 0,minLength:void 0,maxLength:void 0,default:void 0}}}},i6o=class extends QEn{method;servers=[];constructor(t,r){super(t),this.method=t.input,this.servers=r,this.safeParse()}parse(){}convert(){try{let t=this.method.result?Sba(this.method.result,this.context.openrpc):void 0,r=t?new XA({input:t.schema,context:this.context,accessPath:this.accessPath,pathId:"result",seenSchemas:new Set,nullable:void 0,schemaName:"Result"}).convert():void 0,n=this.method.params?.map(l=>Sba(l,this.context.openrpc)).filter(Id)?.map(l=>{let d=new XA({input:l.schema,context:this.context,accessPath:this.accessPath,pathId:["params",l.name],seenSchemas:new Set,nullable:void 0,schemaName:l.name}).convert();if(!d)return;let s=Array.isArray(d)?d[0]:d;if(s)return{key:U_.PropertyKey(l.name),valueShape:l.required?s:{type:"alias",value:{type:"optional",shape:s,default:void 0}},description:l.description,availability:void 0}}).filter(Id),a=n.length>0?{contentType:"application/json",body:{type:"object",extends:[],properties:n,extraProperties:void 0},description:void 0}:void 0,u=this.method.examples?.map(l=>{let d=wp_(l,this.context.openrpc);if(d)return{name:d.name??"Example",path:"",description:void 0,snippets:void 0,pathParameters:{},queryParameters:{},headers:{},requestBody:d.params.length>0?{type:"json",value:Object.fromEntries(d.params.map(s=>{let o=jp_(s,this.context.openrpc);if(o)return[o.name??"",o.value]}).filter(Id))}:void 0,responseStatusCode:200,responseBody:d.result?{type:"json",value:d.result}:void 0}}).filter(Id)??[];if(u.length<=0){let l=kKr({type:"object",properties:Object.fromEntries(this.method.params?.map(s=>{let o=Sba(s,this.context.openrpc);return[o?.name??"",o?.schema??{}]})??[])}),d={name:"Example",path:"",pathParameters:{},queryParameters:{},headers:{},requestBody:{type:"json",value:l},responseStatusCode:200,responseBody:{type:"json",value:kKr(Sba(this.method.result,this.context.openrpc)?.schema??{})},snippets:void 0,description:void 0};u.push(d)}return{protocol:{type:"openrpc",methodName:this.input.name},id:U_.EndpointId(this.input.name),displayName:this.input.name,method:"POST",path:[{type:"pathParameter",value:U_.PropertyKey("apiKey")}],auth:void 0,pathParameters:[b_E],queryParameters:[],requests:a!=null?[a]:void 0,responses:r!=null?[this.convertToHttpResponse(r,this.input.description)].filter(Id):[],errors:[],examples:u,description:this.input.description??this.input.summary,operationId:this.input.name,defaultEnvironment:void 0,environments:this.servers.map(l=>l.convert()).filter(Id),availability:this.method.deprecated?"Deprecated":void 0,requestHeaders:[],responseHeaders:[],snippetTemplates:void 0,namespace:this.getNamespace()}}catch{this.context.errors.error({message:"Failed to convert method",path:this.accessPath});return}}getNamespace(){if(this.method.tags?.[0]==null)return;let t=Sp_(this.method.tags[0],this.context.openrpc);if(t?.name!=null)return[U_.api.v1.SubpackageId(t.name)]}convertToHttpResponse(t,r){if(t==null)return;let n=CM(t)?.map(a=>{let u=a.type;switch(u){case"alias":return a;case"discriminatedUnion":case"undiscriminatedUnion":case"enum":return;case"object":return a;default:new Dp_.UnreachableCaseError(u);return}}).filter(Id)[0];if(n)return{statusCode:200,body:n,description:r}}};var Dba=class extends QEn{servers=[];methods=[];components;constructor(t){super(t),this.safeParse()}parse(){if(this.context.openrpc.servers!=null&&(this.servers=aZt(this.servers,this.input.servers,this.context,this.accessPath)),this.input.methods!=null)for(let t of this.input.methods){let r=Pp_(t,this.context.openrpc);r!=null&&this.methods.push(new i6o({input:r,context:this.context,accessPath:this.accessPath,pathId:"methods"},this.servers))}this.context.openrpc.components!=null&&(this.components=new $En({input:this.context.openrpc.components,context:this.context,accessPath:this.accessPath,pathId:"components"}))}convert(){let t=hie(),{types:r}=this.components?.convert()??{},i=this.methods?.map(u=>u.convert()).filter(Id),n=Object.fromEntries(i?.map(u=>[u.id,u])??[]),a=s7o({endpoints:n});return{id:U_.ApiDefinitionId(t),types:r??{},endpoints:n,websockets:{},webhooks:{},subpackages:a,auths:{},globalHeaders:[],snippetsConfiguration:void 0}}};var Eba=class extends l7o{openrpc;logger;generatedTypes;constructor(t){super(),this.openrpc=t.openrpc,this.logger=t.logger,this.generatedTypes={}}get document(){return{openapi:"3.1.0",info:{title:"Mock API",version:"1.0.0"},paths:{},components:this.openrpc.components}}};async function Mba(e,t){if(e instanceof Cpi){t.logger.info("Skipping, API is specified as a Fern Definition.");return}else if(!(e instanceof z7))return;let r=new G5t(e.absoluteFilePath),i=await zze({context:t,specs:e.specs}),n=await r.loadDocuments({context:t,specs:i}),a;for(let u of n){if(u.type!=="openapi")continue;let l={document:u.value,logger:t.logger,errors:new zEn,generatedTypes:{}},d=new r6o({input:u.value,context:l,accessPath:[],pathId:e.workspaceName??"openapi parser"});a=Pps(a,d.convert())}return a}var Ep_=require("fs/promises");async function Mp_(e,t){let r=await(0,Ep_.readFile)(e,"utf-8"),i=JSON.parse(r),n=new Eba({openrpc:i,logger:t.logger});return new Dba({input:i,context:n,accessPath:[],pathId:"openrpc"}).convert()}function Ap_(e){let t=new Set;return e.logo?.dark!=null&&t.add(e.logo.dark),e.logo?.light!=null&&t.add(e.logo.light),e.favicon!=null&&t.add(e.favicon),e.backgroundImage?.dark!=null&&t.add(e.backgroundImage.dark),e.backgroundImage?.light!=null&&t.add(e.backgroundImage.light),e.metadata?.["og:image"]!=null&&e.metadata["og:image"].type==="filepath"&&t.add(e.metadata["og:image"].value),e.metadata?.["og:logo"]!=null&&e.metadata["og:logo"].type==="filepath"&&t.add(e.metadata["og:logo"].value),e.metadata?.["twitter:image"]!=null&&e.metadata["twitter:image"].type==="filepath"&&t.add(e.metadata["twitter:image"].value),e.typography?.bodyFont!=null&&e.typography.bodyFont.variants.forEach(r=>{t.add(r.absolutePath)}),e.typography?.headingsFont!=null&&e.typography.headingsFont.variants.forEach(r=>{t.add(r.absolutePath)}),e.typography?.codeFont!=null&&e.typography.codeFont.variants.forEach(r=>{t.add(r.absolutePath)}),e.js!=null&&e.js.files.forEach(r=>{t.add(r.absolutePath)}),t}async function qp_({navigation:e,fernWorkspaces:t,visitor:r,context:i}){O_E(e)?await Promise.all(e.map(async n=>{n.layout!=null&&await Promise.all(n.layout.map(async a=>{await Mtc({navigationItem:a,visitor:r,fernWorkspaces:t,context:i})}))})):await Promise.all(e.map(async n=>{await Mtc({navigationItem:n,visitor:r,fernWorkspaces:t,context:i})}))}async function Mtc({navigationItem:e,visitor:t,fernWorkspaces:r,context:i}){if(await B$t(e,{alphabetized:Jo,api:Jo,apiName:Jo,audiences:Jo,displayErrors:Jo,snippets:Jo,summary:Jo,title:Jo,layout:Jo,icon:Jo,slug:Jo,hidden:Jo,skipSlug:Jo,paginated:Jo,playground:Jo,flattened:Jo,path:Jo,page:Jo,featureFlag:Jo,openrpc:Jo,contents:async n=>{n!=null&&await Promise.all(n.map(async a=>{await Mtc({navigationItem:a,visitor:t,fernWorkspaces:r,context:i})}))},viewers:Jo,orphaned:Jo}),g_E(e)){let n=r.find(a=>a.workspaceName===e.apiName);n!=null&&await t.apiSection?.({config:e,workspace:n,context:i})}}function g_E(e){return e.api!=null}function O_E(e){return e[0]?.tab!=null}function cDe(e){return e.startsWith("https://")||e.startsWith("http://")?e:`https://${e}`}Tp_.default.extend(Cp_.default);var m_E=e=>e.map(t=>({...t,fileId:String(t.relativeFilePath)})),n6o=0,P_E=async({ir:e})=>(n6o++,`${e.apiName.snakeCase.unsafeName}-${n6o}`),j_E=async({api:e})=>(n6o++,`${e.id}-${n6o}`),l9t=class{domain;docsWorkspace;ossWorkspaces;fernWorkspaces;taskContext;editThisPage;uploadFiles;registerApi;registerApiV2;constructor(t,r,i,n,a,u,l=m_E,d=P_E,s=j_E){this.domain=t,this.docsWorkspace=r,this.ossWorkspaces=i,this.fernWorkspaces=n,this.taskContext=a,this.editThisPage=u,this.uploadFiles=l,this.registerApi=d,this.registerApiV2=s}#e=a7o.init();_parsedDocsConfig;get parsedDocsConfig(){if(this._parsedDocsConfig==null)throw new Error("parsedDocsConfig is not set");return this._parsedDocsConfig}collectedFileIds=new Map;markdownFilesToFullSlugs=new Map;markdownFilesToNoIndex=new Map;async resolve(){this._parsedDocsConfig=await ags({rawDocsConfiguration:this.docsWorkspace.config,context:this.taskContext,absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath,absoluteFilepathToDocsConfig:this.docsWorkspace.absoluteFilepathToDocsConfig}),this.docsWorkspace.config.navigation!=null&&await qp_({navigation:this.docsWorkspace.config.navigation,visitor:{apiSection:async({workspace:s})=>{(await s.toFernWorkspace({context:this.taskContext},{enableUniqueErrorsPerEndpoint:!0,detectGlobalHeaders:!1})).changelog?.files.forEach(c=>{let b=RA(this.docsWorkspace.absoluteFilePath,c.absoluteFilepath);this.parsedDocsConfig.pages[b]=c.contents})}},fernWorkspaces:this.fernWorkspaces,context:this.taskContext}),this.markdownFilesToFullSlugs=await this.getMarkdownFilesToFullSlugs(this.parsedDocsConfig.pages),this.markdownFilesToNoIndex=await this.getMarkdownFilesToNoIndex(this.parsedDocsConfig.pages);for(let[s,o]of Object.entries(this.parsedDocsConfig.pages))this.parsedDocsConfig.pages[uo.of(s)]=await dXs({markdown:o,absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath,absolutePathToMarkdownFile:this.resolveFilepath(s),context:this.taskContext});for(let[s,o]of Object.entries(this.parsedDocsConfig.pages))this.parsedDocsConfig.pages[uo.of(s)]=await fXs({markdown:o,absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath,absolutePathToMarkdownFile:this.resolveFilepath(s),context:this.taskContext});let t=Ap_(this.parsedDocsConfig);for(let[s,o]of Object.entries(this.parsedDocsConfig.pages)){let{filepaths:c,markdown:b}=Vva(o,{absolutePathToMarkdownFile:this.resolveFilepath(s),absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath});this.parsedDocsConfig.pages[uo.of(s)]=b;for(let g of c)t.add(g)}let r=Array.from(t).map(s=>({absoluteFilePath:s,relativeFilePath:this.toRelativeFilepath(s)}));(await this.uploadFiles(r)).forEach(s=>{this.collectedFileIds.set(s.absoluteFilePath,s.fileId)});let n=this.getDocsBasePath(),a=await this.getMarkdownFilesToFullyQualifiedPathNames(n);for(let[s,o]of Object.entries(this.parsedDocsConfig.pages))this.parsedDocsConfig.pages[uo.of(s)]=lXs(o,this.collectedFileIds,a,{absolutePathToMarkdownFile:this.resolveFilepath(s),absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath},this.taskContext);let u={};Object.entries(this.parsedDocsConfig.pages).forEach(([s,o])=>{let c=w_E(this.editThisPage,s);u[t9t.PageId(s)]={markdown:o,editThisPageUrl:c?t9t.Url(c):void 0}});let l=await this.convertDocsConfiguration(),d={};if(this._parsedDocsConfig.experimental?.mdxComponents!=null){let s=new Set;await Promise.all(this._parsedDocsConfig.experimental.mdxComponents.map(async o=>{let c=MO(this.docsWorkspace.absoluteFilePath,o);(await(0,a6o.stat)(c)).isDirectory()?(await NBe(c,"{js,ts,jsx,tsx,md,mdx}")).forEach(O=>{s.add(O)}):c.match(/\.(js|ts|jsx|tsx|md|mdx)$/)!=null&&s.add(c)})),d=Object.fromEntries(await Promise.all([...s].map(async o=>{let c=this.toRelativeFilepath(o),b=(await(0,a6o.readFile)(o)).toString();return[c,b]})))}return{config:l,pages:u,jsFiles:d}}resolveFilepath(t){if(t!=null)return MO(this.docsWorkspace.absoluteFilePath,t)}toRelativeFilepath(t){if(t!=null)return RA(this.docsWorkspace.absoluteFilePath,t)}async getMarkdownFilesToFullSlugs(t){let r=new Map;for(let[i,n]of Object.entries(t)){let u=(0,Atc.default)(n).data.slug;typeof u=="string"&&u.trim().length>0&&r.set(this.resolveFilepath(i),u.trim())}return r}async getMarkdownFilesToNoIndex(t){let r=new Map;for(let[i,n]of Object.entries(t)){let u=(0,Atc.default)(n).data.noindex;typeof u=="boolean"&&r.set(this.resolveFilepath(i),u)}return r}async getMarkdownFilesToFullyQualifiedPathNames(t){let r={},i=zo.migrate.FernNavigationV1ToLatest.create().root(await this.toRootNode());return zo.NodeCollector.collect(i).slugMap.forEach((a,u)=>{if(a==null||!zo.isPage(a))return;let l=zo.getPageId(a);if(l==null)return;let d=es(this.docsWorkspace.absoluteFilePath,uo.of(l));r[d]=Lv(t,u)}),r}getDocsBasePath(){return new URL(cDe(this.domain)).pathname}async convertDocsConfiguration(){let t=await this.toRootNode();return{hideNavLinks:void 0,title:this.parsedDocsConfig.title,logoHeight:this.parsedDocsConfig.logo?.height,logoHref:this.parsedDocsConfig.logo?.href?t9t.Url(this.parsedDocsConfig.logo?.href):void 0,favicon:this.getFileId(this.parsedDocsConfig.favicon),navigation:void 0,root:t,colorsV3:this.convertColorConfigImageReferences(),navbarLinks:this.parsedDocsConfig.navbarLinks?.map(i=>({...i,url:t9t.Url(i.url)})),typographyV2:this.convertDocsTypographyConfiguration(),layout:this.parsedDocsConfig.layout,css:this.parsedDocsConfig.css,js:this.convertJavascriptConfiguration(),metadata:this.convertMetadata(),redirects:this.parsedDocsConfig.redirects,integrations:this.parsedDocsConfig.integrations,footerLinks:this.parsedDocsConfig.footerLinks?.map(i=>({...i,value:t9t.Url(i.value)})),defaultLanguage:this.parsedDocsConfig.defaultLanguage,analyticsConfig:{...this.parsedDocsConfig.analyticsConfig,segment:this.parsedDocsConfig.analyticsConfig?.segment,fullstory:this.parsedDocsConfig.analyticsConfig?.fullstory,intercom:this.parsedDocsConfig.analyticsConfig?.intercom?{appId:this.parsedDocsConfig.analyticsConfig.intercom.appId,apiBase:this.parsedDocsConfig.analyticsConfig.intercom.apiBase}:void 0,posthog:this.parsedDocsConfig.analyticsConfig?.posthog?{apiKey:this.parsedDocsConfig.analyticsConfig.posthog.apiKey,endpoint:this.parsedDocsConfig.analyticsConfig.posthog.endpoint}:void 0,gtm:this.parsedDocsConfig.analyticsConfig?.gtm?{containerId:this.parsedDocsConfig.analyticsConfig.gtm.containerId}:void 0,ga4:this.parsedDocsConfig.analyticsConfig?.ga4?{measurementId:this.parsedDocsConfig.analyticsConfig.ga4.measurementId}:void 0,amplitude:void 0,mixpanel:void 0,hotjar:void 0,koala:void 0,logrocket:void 0,pirsch:void 0,plausible:void 0,fathom:void 0,clearbit:void 0,heap:void 0},announcement:this.parsedDocsConfig.announcement!=null?{text:this.parsedDocsConfig.announcement.message}:void 0,logo:void 0,logoV2:void 0,colors:void 0,colorsV2:void 0,typography:void 0,backgroundImage:void 0}}getFernWorkspaceForApiSection(t){if(this.fernWorkspaces.length===1&&this.fernWorkspaces[0]!=null)return this.fernWorkspaces[0];if(t.apiName!=null){let r=this.fernWorkspaces.find(i=>i.workspaceName===t.apiName);if(r!=null)return r}throw new Error("Failed to load API Definition referenced in docs")}getOpenApiWorkspaceForApiSection(t){if(this.ossWorkspaces.length===1&&this.ossWorkspaces[0]!=null)return this.ossWorkspaces[0];if(t.apiName!=null){let r=this.ossWorkspaces.find(i=>i.workspaceName===t.apiName);if(r!=null)return r}throw new Error("Failed to load API Definition referenced in docs")}async toRootNode(){let t=zo.V1.SlugGenerator.init(zo.slugjoin(this.getDocsBasePath())),r=this.#e.get("root"),i=await this.toRootChild(t);return{type:"root",version:"v1",id:r,child:i,slug:t.get(),title:this.parsedDocsConfig.title??"Documentation",hidden:!1,icon:void 0,pointsTo:void 0,authed:void 0,viewers:void 0,orphaned:void 0,roles:this.parsedDocsConfig.roles?.map(n=>zo.RoleId(n)),featureFlags:void 0}}async toRootChild(t){return X_n(this.parsedDocsConfig.navigation)._visit({untabbed:r=>this.toUnversionedNode({landingPage:this.parsedDocsConfig.landingPage,navigationConfig:r,parentSlug:t}),tabbed:r=>this.toUnversionedNode({landingPage:this.parsedDocsConfig.landingPage,navigationConfig:r,parentSlug:t}),versioned:r=>this.toVersionedNode(r,t)})}toLandingPageNode(t,r){let i=zo.PageId(this.toRelativeFilepath(t.absolutePath)),n=r.apply({urlSlug:t.slug??Bq(t.title),fullSlug:this.markdownFilesToFullSlugs.get(t.absolutePath)?.split("/")});return{type:"landingPage",id:this.#e.get(i),title:t.title,slug:n.get(),icon:t.icon,hidden:t.hidden,viewers:t.viewers,orphaned:t.orphaned,pageId:i,authed:void 0,noindex:t.noindex||this.markdownFilesToNoIndex.get(t.absolutePath),featureFlags:t.featureFlags}}async toUnversionedNode({landingPage:t,navigationConfig:r,parentSlug:i}){let n=this.#e.get("unversioned"),a=t!=null?this.toLandingPageNode(t,i):void 0,u=r.type==="tabbed"?await this.convertTabbedNavigation(n,r.items,i):await this.toSidebarRootNode(n,r.items,i);return{type:"unversioned",id:n,landingPage:a,child:u}}async toVersionedNode(t,r){return{id:this.#e.get("versioned"),type:"versioned",children:await Promise.all(t.versions.map((n,a)=>this.toVersionNode(n,r,a===0)))}}async toVersionNode(t,r,i){let n=this.#e.get(t.version),a=r.setVersionSlug(t.slug??Bq(t.version)),u=t.navigation.type==="tabbed"?await this.convertTabbedNavigation(n,t.navigation.items,a):await this.toSidebarRootNode(n,t.navigation.items,a);return{type:"version",id:n,versionId:zo.VersionId(t.version),title:t.version,slug:a.get(),child:u,default:i,availability:t.availability!=null?S_E(t.availability):void 0,landingPage:t.landingPage?this.toLandingPageNode(t.landingPage,a):void 0,hidden:void 0,authed:void 0,viewers:t.viewers,orphaned:t.orphaned,icon:void 0,pointsTo:void 0,featureFlags:t.featureFlags}}async toSidebarRootNode(t,r,i){let n=this.#e.get(`${t}/root`),a=await Promise.all(r.map(l=>this.toNavigationChild(n,l,i))),u=[];return a.forEach(l=>{if(l.type==="apiReference"){u.push(l);return}if(l.type==="section"&&!l.collapsed){u.push(l);return}let d=u.length>0?u[u.length-1]:void 0,s;d?.type==="sidebarGroup"?s=d:(s={id:this.#e.get(`${n}/group`),type:"sidebarGroup",children:[]},u.push(s)),s.children.push(l)}),{type:"sidebarRoot",id:n,children:u}}async toNavigationChild(t,r,i,n){return X_n(r)._visit({page:async a=>this.toPageNode(a,i,n),apiSection:async a=>this.toApiSectionNode(a,i,n),section:async a=>this.toSectionNode(t,a,i,n),link:async a=>this.toLinkNode(a),changelog:async a=>this.toChangelogNode(a,i,n)})}async toApiSectionNode(t,r,i){if(t.openrpc!=null){let o=MO(this.docsWorkspace.absoluteFilePath,uo.of(t.openrpc));if(!await Cf(o))throw new Error(`OpenRPC file does not exist at path: ${o}`);let c=await Mp_(o,this.taskContext);if(c==null)throw new Error("Failed to generate API Definition from OpenRPC document");return await this.registerApiV2({api:c,apiName:t.apiName,snippetsConfig:o7o(t.snippetsConfiguration)}),new Oba(t,c,r,void 0,this.docsWorkspace,this.taskContext,this.markdownFilesToFullSlugs,this.markdownFilesToNoIndex,this.#e,i).get()}if(this.parsedDocsConfig.experimental?.openapiParserV2){let o=this.getOpenApiWorkspaceForApiSection(t),c=o7o(t.snippetsConfiguration),b=await Mba(o,this.taskContext);if(b==null)throw new Error("Failed to generate API Definition from OpenAPI workspace");return await this.registerApiV2({api:b,snippetsConfig:c,apiName:t.apiName}),new Oba(t,b,r,o,this.docsWorkspace,this.taskContext,this.markdownFilesToFullSlugs,this.markdownFilesToNoIndex,this.#e,i).get()}let n=o7o(t.snippetsConfiguration),a,u;this.parsedDocsConfig.experimental?.openapiParserV3?a=await this.getOpenApiWorkspaceForApiSection(t).getIntermediateRepresentation({context:this.taskContext}):(u=this.getFernWorkspaceForApiSection(t),a=I2({workspace:u,audiences:t.audiences,generationLanguage:void 0,keywords:void 0,smartCasing:!1,exampleGeneration:{disabled:!1,skipAutogenerationIfManualExamplesExist:!0},readme:void 0,version:void 0,packageName:void 0,context:this.taskContext,sourceResolver:new B2(this.taskContext,u)}));let l=await this.registerApi({ir:a,snippetsConfig:n,playgroundConfig:{oauth:t.playground?.oauth},apiName:t.apiName}),d=mba(a,l,{oauth:t.playground?.oauth});return new i7o(t,d,r,this.docsWorkspace,this.taskContext,this.markdownFilesToFullSlugs,this.markdownFilesToNoIndex,this.#e,u,i).get()}async toChangelogNode(t,r,i){return new XKr(this.markdownFilesToFullSlugs,this.markdownFilesToNoIndex,t.changelog,this.docsWorkspace,this.#e).toChangelogNode({parentSlug:r,title:t.title,icon:t.icon,viewers:t.viewers,hidden:i||t.hidden,slug:t.slug})}async toLinkNode(t){return{type:"link",id:this.#e.get(t.url),title:t.text,url:zo.V1.Url(t.url),icon:t.icon}}async toPageNode(t,r,i){let n=zo.PageId(this.toRelativeFilepath(t.absolutePath)),a=r.apply({urlSlug:t.slug??Bq(t.title),fullSlug:this.markdownFilesToFullSlugs.get(t.absolutePath)?.split("/")});return{id:this.#e.get(n),type:"page",slug:a.get(),title:t.title,icon:t.icon,hidden:i||t.hidden,viewers:t.viewers,orphaned:t.orphaned,pageId:n,authed:void 0,noindex:t.noindex||this.markdownFilesToNoIndex.get(t.absolutePath),featureFlags:t.featureFlags}}async toSectionNode(t,r,i,n){let a=this.toRelativeFilepath(r.overviewAbsolutePath),u=a?zo.PageId(a):void 0,l=this.#e.get(u??`${t}/section`),d=i.apply({urlSlug:r.slug??Bq(r.title),fullSlug:r.overviewAbsolutePath?this.markdownFilesToFullSlugs.get(r.overviewAbsolutePath)?.split("/"):void 0,skipUrlSlug:r.skipUrlSlug}),s=r.overviewAbsolutePath!=null?this.markdownFilesToNoIndex.get(r.overviewAbsolutePath):void 0,o=n||r.hidden;return{id:l,type:"section",overviewPageId:u,slug:d.get(),title:r.title,icon:r.icon,collapsed:r.collapsed,hidden:o,viewers:r.viewers,orphaned:r.orphaned,children:await Promise.all(r.contents.map(c=>this.toNavigationChild(l,c,d,o))),authed:void 0,pointsTo:void 0,noindex:s,featureFlags:r.featureFlags}}async convertTabbedNavigation(t,r,i){let n=this.#e.get(`${t}/tabbed`);return{type:"tabbed",id:n,children:await Promise.all(r.map(a=>this.toTabChild(n,a,i)))}}async toTabChild(t,r,i){return X_n(r.child)._visit({link:({href:n})=>this.toTabLinkNode(r,n),layout:({layout:n})=>this.toTabNode(t,r,n,i),changelog:({changelog:n})=>this.toTabChangelogNode(r,n,i)})}async toTabChangelogNode(t,r,i){return new XKr(this.markdownFilesToFullSlugs,this.markdownFilesToNoIndex,r,this.docsWorkspace,this.#e).toChangelogNode({parentSlug:i,title:t.title,icon:t.icon,viewers:t.viewers,hidden:t.hidden,slug:t.slug})}async toTabLinkNode(t,r){return{type:"link",id:this.#e.get(r),title:t.title,url:zo.V1.Url(r),icon:t.icon}}async toTabNode(t,r,i,n){let a=this.#e.get(`${t}/tab`),u=n.apply({urlSlug:r.slug??Bq(r.title),skipUrlSlug:r.skipUrlSlug});return{type:"tab",id:a,title:r.title,slug:u.get(),icon:r.icon,hidden:r.hidden,authed:void 0,viewers:r.viewers,orphaned:r.orphaned,pointsTo:void 0,child:await this.toSidebarRootNode(a,i,u),featureFlags:r.featureFlags}}getFileId(t){if(t==null)return;let r=this.collectedFileIds.get(t);return r==null?this.taskContext.failAndThrow("Failed to locate file after uploading: "+t):t9t.FileId(r)}convertColorConfigImageReferences(){let{colors:t}=this.parsedDocsConfig;if(t!=null)return t.type==="dark"?{...t,...this.convertLogoAndBackgroundImage({theme:"dark"})}:t.type==="light"?{...t,...this.convertLogoAndBackgroundImage({theme:"light"}),type:"light"}:{...t,dark:{...t.dark,...this.convertLogoAndBackgroundImage({theme:"dark"})},light:{...t.light,...this.convertLogoAndBackgroundImage({theme:"light"})}}}convertLogoAndBackgroundImage({theme:t}){let{logo:r,backgroundImage:i}=this.parsedDocsConfig,n=r?.[t],a=i?.[t];return{logo:this.getFileId(n),backgroundImage:this.getFileId(a)}}convertDocsTypographyConfiguration(){if(this.parsedDocsConfig.typography!=null)return{headingsFont:this.convertFont(this.parsedDocsConfig.typography.headingsFont,"headings"),bodyFont:this.convertFont(this.parsedDocsConfig.typography.bodyFont,"body"),codeFont:this.convertFont(this.parsedDocsConfig.typography.codeFont,"code")}}convertFont(t,r){if(t==null||t.variants[0]==null)return;let i=this.getFileId(t.variants[0].absolutePath);return{type:"custom",name:t.name??`font:${r}:${i}`,variants:t.variants.map(n=>({fontFile:this.getFileId(n.absolutePath),weight:n.weight,style:n.style!=null?[n.style]:void 0})),display:t.display,fallback:t.fallback,fontVariationSettings:t.fontVariationSettings}}convertJavascriptConfiguration(){if(this.parsedDocsConfig.js!=null)return{files:this.parsedDocsConfig.js.files.map(({absolutePath:t,strategy:r})=>({fileId:this.getFileId(t),strategy:r})).filter(Jb),remote:this.parsedDocsConfig.js.remote?.map(t=>({...t,url:t9t.Url(t.url)})),inline:void 0}}convertMetadata(){if(this.parsedDocsConfig.metadata==null)return;let{"og:image":t,"og:logo":r,"twitter:image":i,...n}=this.parsedDocsConfig.metadata;return{...n,"og:image":this.convertFileIdOrUrl(t),"og:logo":this.convertFileIdOrUrl(r),"twitter:image":this.convertFileIdOrUrl(i)}}convertFileIdOrUrl(t){if(t!=null)return X_n(t,"type")._visit({filepath:({value:r})=>({type:"fileId",value:this.getFileId(r)}),url:({value:r})=>({type:"url",value:t9t.Url(r)}),_other:()=>this.taskContext.failAndThrow("Invalid metadata configuration")})}};function w_E(e,t){if(e?.github==null)return;let{owner:r,repo:i,branch:n="main",host:a="https://github.com"}=e.github;return`${cDe(a)}/${r}/${i}/blob/${n}/fern/${t}?plain=1`}function S_E(e){switch(e){case"beta":return zo.V1.NavigationV1Availability.Beta;case"deprecated":return zo.V1.NavigationV1Availability.Deprecated;case"ga":return zo.V1.NavigationV1Availability.GenerallyAvailable;case"stable":return zo.V1.NavigationV1Availability.Stable;default:Fo(e)}}async function bX(e){return(await Promise.all(e.apiWorkspaces.map(async t=>t instanceof z7?t:null))).filter(Jb)}var Src=yi(ids(),1),Av_=yi(T6o(),1),fZt=require("fs/promises"),J6o=require("os"),qv_=yi(Hte(),1),Tv_=yi(Mv_(),1);var yvE="etag",Drc="preview",vvE="bundle",Erc=".fern";function bvE(){return es(Wl.of((0,J6o.homedir)()),uo.of(Erc),uo.of(Drc))}function K6o(){return es(Wl.of((0,J6o.homedir)()),uo.of(Erc),uo.of(Drc),uo.of(vvE))}function gvE(){return es(Wl.of((0,J6o.homedir)()),uo.of(Erc),uo.of(Drc),uo.of(yvE))}async function Cv_({bucketUrl:e,logger:t,preferCached:r}){t.debug("Setting up docs preview bundle...");let i=await(0,Src.fetcher)({url:e,method:"GET",responseType:"text",duplex:"half"});if(!i.ok)return{type:"failure"};let n=i.body,u=await new Tv_.default.Parser().parseStringPromise(n),l=u?.ListBucketResult?.Contents?.[0]?.ETag?.[0],d=u?.ListBucketResult?.Contents?.[0]?.Key?.[0],s=gvE();if(r){let q=await Cf(s),D;if(q&&(t.debug("Reading existing ETag"),D=(await(0,fZt.readFile)(s)).toString()),D!=null&&D===l)return t.debug("ETag matches. Using already downloaded bundle"),{type:"success"};t.debug("ETag is different. Downloading latest preview bundle")}t.debug("Creating tmp directory to download docs preview bundle");let o=await qv_.default.dir({prefix:"fern"}),c=Wl.of(o.path),b=new URL(d,e).href;t.debug(`Downloading docs preview bundle from ${b}`);let g=await(0,Src.fetcher)({url:b,method:"GET",responseType:"arrayBuffer",duplex:"half"});if(!g.ok){let q;return g.error.reason==="status-code"?q=`Failed to download docs preview bundle. Status code: ${g.error.statusCode}`:g.error.reason==="unknown"?q=`Failed to download docs preview bundle. Error: ${g.error.errorMessage}`:q=`Failed to download docs preview bundle. Error: ${g.error.reason}`,t.error(q),{type:"failure"}}let O=es(c,uo.of("output.zip")),m=g.body;if(m==null)return{type:"failure"};let w=Buffer.from(m);await(0,fZt.writeFile)(O,new Uint8Array(w)),t.debug(`Wrote output.zip to ${O}`);let E=bvE();await Cf(E)&&await(0,fZt.rm)(E,{recursive:!0}),await(0,fZt.mkdir)(E,{recursive:!0}),t.debug(`rm -rf ${E}`);let A=K6o();return await(0,fZt.mkdir)(A,{recursive:!0}),await(0,Av_.default)(O,A),await(0,fZt.writeFile)(s,l),t.debug(`Downloaded bundle to ${A}`),{type:"success"}}var Gv_=require("fs/promises");var Trc=yi(k8t(),1),Fv_=require("path");var oMn=yi(hre(),1);function Y6o(e){if(e==null)return;let t=[],r=!1;if(JXt(e,{enter(i){(i.type==="FunctionDeclaration"||i.type==="ArrowFunctionExpression"||i.type==="JSXOpeningElement"||i.type==="JSXOpeningFragment"||i.type==="Identifier")&&(r=!0,this.skip()),i.type==="Literal"&&t.push(i.value)}}),!r)return t.length===1?t[0]:void 0}function Mrc(e){if(typeof e=="string")return e;if(e?.type==="mdxJsxAttributeValueExpression")return Y6o(e.data?.estree)}function Bv_(e){return e.type==="mdxJsxFlowElement"||e.type==="mdxJsxTextElement"}function xv_(e){return e.type==="mdxFlowExpression"||e.type==="mdxTextExpression"}function Arc(e){return e.type==="mdxJsxAttribute"}function Iv_(e){return e.type==="mdxJsxExpressionAttribute"}var zv_=yi(k8t(),1);function Rv_(e){let{content:t}=(0,zv_.default)(e);return Nva(t,{extensions:[Hwn(),Iwn(),Lva()],mdastExtensions:[rRi(),Xzi(),Fva()]})}function Nv_(e,t){JXt(e,{enter(r){r.type==="JSXElement"&&r.openingElement.attributes.forEach(i=>{i.type==="JSXAttribute"&&i.name.type==="JSXIdentifier"&&t[i.name.name]&&t[i.name.name]?.(i,r)})}})}function Lv_(e,{absolutePathToFernFolder:t,absolutePathToMarkdownFile:r}){return e==null||Uv_(e)||Vv_(e)?void 0:MO(e.startsWith("/")?t:_p(r),uo.of(e.replace(/^\//,"")))}function Uv_(e){return/^(https?:)?\/\//.test(e)}function Vv_(e){return e.startsWith("data:")}function Wv_({href:e,metadata:t,markdownFilesToPathName:r}){if(e!=null&&(e.endsWith(".md")||e.endsWith(".mdx"))){let i=Lv_(e,t);if(i!=null){let n=r[i];return n!=null?{type:"replace",slug:n,href:e}:{type:"missing-reference",path:i,href:e}}}}function Crc(e,t,r,i,n){let{content:a,data:u}=(0,Trc.default)(e,{}),l=a,d=Rv_(a),s=0;function o(c){if(c==null||Uv_(c)||Vv_(c))return;if((0,Fv_.isAbsolute)(c)){let g=Wl.of(c),O=t.get(g);return O?`file:${O}`:void 0}let b=Lv_(c,i);if(b){let g=t.get(b);return g?`file:${g}`:void 0}}return mvE(u,["image","og:image","og:logo","twitter:image"],o),jvE(u,o),Rf(d,c=>{if(c.position==null)return;let{start:b,length:g}=OvE(a,c.position),O=l.slice(b+s,b+s+g),m=O;function w(q){let D=o(q);q&&D&&(m=m.replace(q,D))}function E(q){let D=Wv_({href:q,markdownFilesToPathName:r,metadata:i});q!=null&&D!=null&&D.type==="replace"&&(m=m.replace(q,D.slug))}function A(q){Nv_(q,{src:D=>w(b_i(Y6o(D.value))),href:D=>E(b_i(Y6o(D.value)))})}if(c.type==="image"){let q=b_i(c.url);w(b_i(q))}if(c.type==="link"&&E(b_i(c.url)),Bv_(c)){let q=c.attributes.filter(Arc).find(C=>C.name==="src");w(b_i(Mrc(q?.value)));let D=c.attributes.find(C=>C.type==="mdxJsxAttribute"&&C.name==="href");E(b_i(Mrc(D?.value))),c.attributes.forEach(C=>{Arc(C)&&typeof C.value!="string"&&C.value!=null&&C.value.data?.estree?A(C.value.data.estree):Iv_(C)&&C.data?.estree&&A(C.data.estree)})}if(xv_(c)&&c.data?.estree&&A(c.data.estree),m!==O)return l=l.slice(0,b+s)+m+l.slice(b+s+g),s+=m.length-g,Sp}),Trc.default.stringify(l,u)}function OvE(e,t){let r=e.split(`
|
|
1978
1978
|
`),i=t.start.column-1;for(let a=0;a<t.start.line-1;a++){let u=r[a];if(u==null)break;i+=u.length+1}let n=0-t.start.column+t.end.column;for(let a=t.start.line-1;a<t.end.line-1;a++){let u=r[a];if(u==null)break;n+=u.length+1}return{start:i,length:n}}function b_i(e){if(typeof e=="string")return e.replace(/#.*$/,"")}function mvE(e,t,r){for(let i of t){let n=e[i];if(n!=null){if(typeof n=="object")n.type==="fileId"&&(e[i]={type:"fileId",value:oMn.FernRegistry.FileId(r(n.value)??n.value)});else if(typeof n=="string"){let a=r(n);e[i]=a?{type:"fileId",value:oMn.FernRegistry.FileId(a)}:{type:"url",value:oMn.FernRegistry.Url(n)}}}}}var PvE=Yu.union([Yu.string(),Yu.object({light:Yu.string().optional(),dark:Yu.string().optional()})]);function qrc(e,t){let r=t(e);return r?{type:"fileId",value:oMn.FernRegistry.FileId(r)}:{type:"url",value:oMn.FernRegistry.Url(e)}}function jvE(e,t){let r=PvE.safeParse(e.logo);if(!r.success)return;let i=r.data;typeof i=="string"?e.logo=qrc(i,t):(i.light!=null&&(e.logo.light=qrc(i.light,t)),i.dark!=null&&(e.logo.dark=qrc(i.dark,t)))}var Hv_=require("fs/promises"),$v_=yi(k8t(),1);async function wvE(e){let{content:t}=(0,$v_.default)(await(0,Hv_.readFile)(e));return t}async function Brc({markdown:e,absolutePathToFernFolder:t,absolutePathToMarkdownFile:r,context:i,markdownLoader:n=wvE}){if(!e.includes("<Markdown"))return e;let a=/([ \t]*)<Markdown\s+src={?['"]([^'"]+.mdx?)['"](?! \+)}?\s*\/>/g,u=e,l;for(;(l=a.exec(e))!=null;){let d=l[0],s=l[1],o=l[2];if(d==null||o==null)throw new Error(`Failed to parse regex "${l}" in ${r}`);let c=MO(o.startsWith("/")?t:_p(r),uo.of(o.replace(/^\//,"")));try{let b=await n(c);b=b.split(`
|
|
1979
1979
|
`).map(g=>s+g).join(`
|
|
1980
|
-
`),u=u.replace(d,b)}catch{i.logger.warn(`Failed to read markdown file "${o}" referenced in ${r}`);break}}return u}async function Qv_({domain:e,project:t,context:r,previousDocsDefinition:i,editedAbsoluteFilepaths:n}){let a=t.docsWorkspaces,u=t.apiWorkspaces;if(a==null)throw new Error("No docs workspace found in project");if(n!=null&&i!=null){let w=n.every(E=>E.endsWith(".mdx")||E.endsWith(".md"));for(let E of n){let A=RA(a.absoluteFilePath,E),q=(await(0,Gv_.readFile)(E)).toString(),D=await Brc({markdown:q,absolutePathToFernFolder:a.absoluteFilePath,absolutePathToMarkdownFile:E,context:r}),C=i.pages[oA.PageId(A)];if(C==null)continue;let R=new Map(Object.entries(i.filesV2??{}).map(([I,U])=>{let H="/"+U.url.replace("/_local/","");return[Wl.of(H),I]})),$=Crc(D,R,{},{absolutePathToFernFolder:a.absoluteFilePath,absolutePathToMarkdownFile:E},r);i.pages[oA.PageId(A)]={markdown:$,editThisPageUrl:C.editThisPageUrl}}if(w)return i}let l=await Promise.all(u.map(async w=>await w.toFernWorkspace({context:r},{enableUniqueErrorsPerEndpoint:!0,detectGlobalHeaders:!1,preserveSchemaIds:!0})))
|
|
1980
|
+
`),u=u.replace(d,b)}catch{i.logger.warn(`Failed to read markdown file "${o}" referenced in ${r}`);break}}return u}async function Qv_({domain:e,project:t,context:r,previousDocsDefinition:i,editedAbsoluteFilepaths:n}){let a=t.docsWorkspaces,u=t.apiWorkspaces;if(a==null)throw new Error("No docs workspace found in project");if(n!=null&&i!=null){let w=n.every(E=>E.endsWith(".mdx")||E.endsWith(".md"));for(let E of n){let A=RA(a.absoluteFilePath,E),q=(await(0,Gv_.readFile)(E)).toString(),D=await Brc({markdown:q,absolutePathToFernFolder:a.absoluteFilePath,absolutePathToMarkdownFile:E,context:r}),C=i.pages[oA.PageId(A)];if(C==null)continue;let R=new Map(Object.entries(i.filesV2??{}).map(([I,U])=>{let H="/"+U.url.replace("/_local/","");return[Wl.of(H),I]})),$=Crc(D,R,{},{absolutePathToFernFolder:a.absoluteFilePath,absolutePathToMarkdownFile:E},r);i.pages[oA.PageId(A)]={markdown:$,editThisPageUrl:C.editThisPageUrl}}if(w)return i}let l=[];t.docsWorkspaces?.config.experimental?.openapiParserV3||(l=await Promise.all(u.map(async w=>await w.toFernWorkspace({context:r},{enableUniqueErrorsPerEndpoint:!0,detectGlobalHeaders:!1,preserveSchemaIds:!0}))));let d=await bX(t),s=new xrc(r),o=new Irc(r),c={},g=await new l9t(e,a,d,l,r,void 0,async w=>w.map(E=>{let A=hie();return c[A]={type:"url",url:zo.Url(`/_local${sys(E.absoluteFilePath)}`)},{absoluteFilePath:E.absoluteFilePath,relativeFilePath:E.relativeFilePath,fileId:A}}),async w=>s.addReferencedAPI(w),async w=>o.addReferencedAPI(w)).resolve(),O=Cks({writeShape:g,files:{}}),m=xks({dbShape:O.config});return{apis:s.getAPIsForDefinition(),apisV2:o.getAPIsForDefinition(),config:m,files:{},filesV2:c,pages:O.pages,search:{type:"legacyMultiAlgoliaIndex",algoliaIndex:void 0},algoliaSearchIndex:void 0,jsFiles:void 0,id:void 0}}var xrc=class{context;apis={};constructor(t){this.context=t}addReferencedAPI({ir:t,snippetsConfig:r,playgroundConfig:i}){try{let n=hie(),a=Gva(sDe({ir:t,snippetsConfig:r,playgroundConfig:i}),oA.ApiDefinitionId(n),new pFi({snippetsConfigWithSdkId:{},snippetsBySdkId:{},snippetTemplatesByEndpoint:{},snippetTemplatesByEndpointId:{},snippetsBySdkIdAndEndpointId:{}})),u=Kva(a);return this.apis[n]=u,n}catch(n){let a=n;throw this.context.logger.debug(`Failed to read referenced API: ${a?.message} ${a?.stack}`),this.context.logger.error("An error occurred while trying to read an API definition. Please reach out to support."),a.stack!=null&&this.context.logger.error(a?.stack),n}}getAPIsForDefinition(){return this.apis}},Irc=class{context;apis={};constructor(t){this.context=t}addReferencedAPI({api:t,snippetsConfig:r}){try{return t.snippetsConfiguration=r,this.apis[t.id]=t,t.id}catch(i){let n=i;throw this.context.logger.debug(`Failed to read referenced API: ${n?.message} ${n?.stack}`),this.context.logger.error("An error occurred while trying to read an API definition. Please reach out to support."),n.stack!=null&&this.context.logger.error(n?.stack),i}}getAPIsForDefinition(){return this.apis}};var SvE={pages:{},apis:{},apisV2:{},files:{},filesV2:{},config:{hideNavLinks:void 0,navigation:void 0,root:void 0,title:void 0,defaultLanguage:void 0,announcement:void 0,navbarLinks:void 0,footerLinks:void 0,logoHeight:void 0,logoHref:void 0,favicon:void 0,metadata:void 0,redirects:void 0,colorsV3:void 0,layout:void 0,typographyV2:void 0,analyticsConfig:void 0,integrations:void 0,css:void 0,js:void 0},search:{type:"legacyMultiAlgoliaIndex",algoliaIndex:void 0},algoliaSearchIndex:void 0,jsFiles:void 0,id:void 0};async function Rrc({initialProject:e,reloadProject:t,validateProject:r,context:i,port:n,bundlePath:a}){if(a!=null)i.logger.info(`Using bundle from path: ${a}`);else try{let $="https://prod-local-preview-bundle2.s3.amazonaws.com/";if($==null)throw new Error("Failed to connect to the docs preview server. Please contact support@buildwithfern.com");await Cv_({bucketUrl:$,logger:i.logger,preferCached:!0})}catch($){let I=K6o();if($ instanceof Error&&i.logger.debug(`Failed to download latest docs bundle: ${$.message}`),await Cf(I))i.logger.warn("Falling back to cached bundle...");else{i.logger.warn("Please reach out to support@buildwithfern.com.");return}}let u=_p(e.config._absolutePath),l=(0,zrc.default)(),d=Kv_.default.createServer(l),s=new eXs.default({server:d}),o=new Set;function c($){for(let I of o)I.send(JSON.stringify($))}s.on("connection",function(I){o.add(I),I.on("close",function(){o.delete(I)})}),l.use((0,Jv_.default)());let b=new URL(cDe(e.docsWorkspaces?.config.instances[0]?.url??`http://localhost:${n}`)),g=e,O,m=null,w=!1,E=1e3,A=async $=>{i.logger.info("Reloading docs...");let I=Date.now();try{g=await t(),i.logger.info("Validating docs..."),await r(g);let U=await Qv_({domain:`${b.host}${b.pathname}`,project:g,context:i,previousDocsDefinition:O,editedAbsoluteFilepaths:$});return i.logger.info(`Reload completed in ${Date.now()-I}ms`),U}catch(U){return O==null?i.logger.error("Failed to read docs configuration. Rendering blank page."):i.logger.error("Failed to read docs configuration. Rendering last successful configuration."),U instanceof Error&&(i.logger.error(U.message),U instanceof Error&&U.stack&&i.logger.debug(`Stack Trace:
|
|
1981
1981
|
${U.stack}`)),O}};O=await A();let q=g.apiWorkspaces.flatMap($=>$.getAbsoluteFilePaths()),D=a?Wl.of(X6o.default.resolve(a)):K6o(),C=new vi_([u,...q],{recursive:!0,ignoreInitial:!0,debounce:100,renameDetection:!0}),R=[];C.on("all",async($,I,U)=>{i.logger.info(Js.dim(`[${$}] ${I}`)),!w&&(R.push(Wl.of(I)),m!=null&&clearTimeout(m),m=setTimeout(()=>{(async()=>{w=!0,c({version:1,type:"startReload"});let H=await A(R);H!=null&&(O=H),R.length=0,c({version:1,type:"finishReload"}),w=!1})()},E))}),l.post("/v2/registry/docs/load-with-url",async($,I)=>{try{let U=O??SvE,H={baseUrl:{domain:b.host,basePath:b.pathname},definition:U,lightModeEnabled:U.config.colorsV3?.type!=="dark",orgId:zo.OrgId(e.config.organization)};I.send(H)}catch(U){i.logger.error("Stack trace:",U.stack??""),i.logger.error("Error loading docs",U.message),I.status(500).send()}}),l.get(/^\/_local\/(.*)/,($,I)=>I.sendFile(`/${$.params[0]}`)),l.get("/",($,I,U)=>$.headers.upgrade==="websocket"?s.handleUpgrade($,$.socket,Buffer.alloc(0),H=>{s.emit("connection",H,$)}):U()),l.use("/_next",zrc.default.static(X6o.default.join(D,"/_next"))),l.use("*",async($,I)=>I.sendFile(X6o.default.join(D,"/[[...slug]].html"))),l.listen(n),i.logger.info(`Running server on http://localhost:${n}`),await new Promise(()=>{})}var Kb_=yi(Xv_(),1);var zV={RequestReference:"requestReference",InlinedRequestProperty:"inlinedRequestProperty",Response:"response",StreamingResponse:"streamingResponse"};function Vq(e,t){return r=>{r!=null&&e.docs?.(r,[...t,"docs"])}}function Yze({example:e,visitor:t,nodePath:r}){if(typeof e=="string")e.startsWith(xQt)&&t.exampleTypeReference?.(e,r);else if(ew(e))for(let i of Object.values(e))Yze({example:i,visitor:t,nodePath:r});else if(Array.isArray(e))for(let i of e)Yze({example:i,visitor:t,nodePath:r})}function f9t(e){return(t,r,{_default:i,validation:n,location:a}={})=>{e.typeReference?.({typeReference:t,_default:i,validation:n,location:a,nodePath:r},r)}}function Zv_({service:e,visitor:t,nodePath:r}){t.httpService?.(e,r),kj(e,{url:i=>{t.serviceBaseUrl?.(i,[...r,"url"])},"base-path":Jo,"display-name":Jo,availability:Jo,headers:i=>{kv_({headers:i,visitor:t,nodePath:[...r,"headers"]})},audiences:Jo,auth:Jo,"path-parameters":i=>{Kba({pathParameters:i,visitor:t,nodePath:[...r,"path-parameters"]})},endpoints:i=>{for(let[n,a]of Object.entries(i)){let u=[...r,"endpoints",n];qvE({endpointId:n,endpoint:a,service:e,visitor:t,nodePathForEndpoint:u})}},idempotent:Jo,transport:Jo,source:Jo})}function qvE({endpointId:e,endpoint:t,service:r,visitor:i,nodePathForEndpoint:n}){let a=f9t(i);i.httpEndpoint?.({endpointId:e,endpoint:t,service:r},n),kj(t,{docs:Vq(i,n),"display-name":Jo,availability:Jo,"base-path":Jo,path:Jo,idempotent:Jo,url:u=>{i.endpointBaseUrl?.({baseUrl:u,service:r},[...n,"url"])},"path-parameters":u=>{Kba({pathParameters:u,visitor:i,nodePath:[...n,"path-parameters"]})},request:u=>{if(u==null)return;let l=[...n,"request"];if(typeof u=="string"){a(u,l,{location:"requestReference"});return}kj(u,{name:Jo,docs:Vq(i,l),"path-parameters":d=>{Kba({pathParameters:d,visitor:i,nodePath:[...l,"path-parameters"]})},"query-parameters":d=>{if(d!=null)for(let[s,o]of Object.entries(d)){let c=[...l,"query-parameters",s];i.queryParameter?.({queryParameterKey:s,queryParameter:o},c),typeof o=="string"?a(o,c):kj(o,{name:Jo,docs:Vq(i,c),availability:Jo,type:b=>{a(b,[...c,"type"],{_default:o.default,validation:o.validation})},"allow-multiple":Jo,audiences:Jo,encoding:Jo,default:Jo,validation:Jo})}},"content-type":Jo,headers:d=>{kv_({headers:d,visitor:i,nodePath:[...l,"headers"]})},body:d=>{if(d==null)return;let s=[...l,"body"];typeof d=="string"?a(d,s,{location:"requestReference"}):KT(d)?(i.typeDeclaration?.({typeName:{isInlined:!0,location:"inlinedRequest"},declaration:d},s),kj(d,{extends:o=>{if(o==null)return;let c=typeof o=="string"?[o]:o;for(let b of c){let g=[...s,"extends",b];i.extension?.(b,g),a(b,g)}},properties:o=>{if(o!=null)for(let[c,b]of Object.entries(o)){let g=[...s,"properties",c];typeof b=="string"?a(b,g,{location:zV.InlinedRequestProperty}):kj(b,{name:Jo,docs:Vq(i,g),availability:Jo,type:O=>{a(O,[...g,"type"],{location:zV.InlinedRequestProperty,_default:b.default,validation:b.validation})},style:Jo,"content-type":Jo,audiences:Jo,encoding:Jo,default:Jo,validation:Jo})}},"extra-properties":Jo})):(Vq(i,s)(d.docs),a(d.type,s))}})},audiences:Jo,method:Jo,auth:Jo,"stream-condition":u=>{i.streamCondition?.({streamCondition:u,endpoint:t},[...n,"stream-condition"])},"response-stream":u=>{u!=null&&(typeof u=="string"?a(u,[...n,"response-stream"],{location:zV.StreamingResponse}):a(u.type,[...n,"response-stream"],{location:zV.StreamingResponse}))},response:u=>{if(u==null)return;let l=[...n,"response"];typeof u=="string"?a(u,l,{location:zV.Response}):kj(u,{docs:Vq(i,l),type:d=>{d!=null&&a(d,[...l,"type"],{location:zV.Response})},property:Jo,"status-code":Jo})},errors:u=>{if(u!=null)for(let l of u){let d=[...n,"errors",typeof l=="string"?l:l.error];typeof l=="string"?i.errorReference?.(l,d):kj(l,{docs:Vq(i,d),error:s=>{i.errorReference?.(s,[...d,"error"])}})}},examples:u=>{if(u!=null)for(let[l,d]of u.entries())TvE({nodePathForExample:[...n,{key:"examples",arrayIndex:l}],visitor:i,service:r,endpoint:t,example:d})},pagination:Jo,source:Jo,transport:Jo})}function TvE({nodePathForExample:e,visitor:t,service:r,endpoint:i,example:n}){if(n.headers==null&&n["path-parameters"]==null&&n["query-parameters"]==null&&n.request==null&&n.response==null&&n["code-samples"]!=null)return;t.exampleHttpEndpointCall?.({service:r,endpoint:i,example:n},e);let a=[...e,"headers"];if(t.exampleHeaders?.({service:r,endpoint:i,examples:n.headers},a),n.headers!=null)for(let o of Object.values(n.headers))Yze({example:o,visitor:t,nodePath:a});let u=[...e,"path-parameters"];if(t.examplePathParameters?.({service:r,endpoint:i,examples:n["path-parameters"]},u),n["path-parameters"]!=null)for(let o of Object.values(n["path-parameters"]))Yze({example:o,visitor:t,nodePath:u});let l=[...e,"query-parameters"];if(t.exampleQueryParameters?.({service:r,endpoint:i,examples:n["query-parameters"]},l),n["query-parameters"]!=null)for(let o of Object.values(n["query-parameters"]))Yze({example:o,visitor:t,nodePath:l});let d=[...e,"request"];t.exampleRequest?.({service:r,endpoint:i,example:n.request},d),n.request!=null&&Yze({example:n.request,visitor:t,nodePath:d});let s=[...e,"response"];if(t.exampleResponse?.({service:r,endpoint:i,example:n.response},s),n.response!=null&&NBi(i,n.response,{body:o=>{o.body!=null&&Yze({example:o.body,visitor:t,nodePath:s}),o.error!=null&&t.errorReference?.(o.error,[...s,"error"])},stream:o=>{for(let c of o.stream)Yze({example:c,visitor:t,nodePath:s})},events:o=>{for(let{data:c}of o.stream)Yze({example:c,visitor:t,nodePath:s})}}),n["code-samples"]!=null)for(let[o,c]of n["code-samples"].entries())t.exampleCodeSample?.({service:r,endpoint:i,example:n,sample:c},[...e,{key:"code-samples",arrayIndex:o}])}function Kba({pathParameters:e,visitor:t,nodePath:r}){if(e==null)return;let i=f9t(t);for(let[n,a]of Object.entries(e)){let u=[...r,n];t.pathParameter?.({pathParameterKey:n,pathParameter:a},u),Ubn(a)?typeof a=="string"?t.variableReference?.(a,u):kj(a,{docs:Vq(t,u),variable:l=>t.variableReference?.(l,[...u,"variable"]),availability:Jo}):typeof a=="string"?i(a,u):kj(a,{docs:Vq(t,u),type:l=>{i(l,[...u,"type"],{_default:a.default,validation:a.validation})},availability:Jo,encoding:Jo,default:Jo,validation:Jo,name:Jo,audiences:Jo})}}function kv_({headers:e,visitor:t,nodePath:r}){if(e==null)return;let i=f9t(t);for(let[n,a]of Object.entries(e)){let u=[...r,n];t.header?.({headerKey:n,header:a},u),typeof a=="string"?i(a,u):kj(a,{name:Jo,availability:Jo,type:l=>{i(l,u,{_default:a.default,validation:a.validation})},docs:Vq(t,u),audiences:Jo,encoding:Jo,env:Jo,default:Jo,validation:Jo})}}function eb_({typeDeclarations:e,visitor:t,nodePath:r}){if(e!=null)for(let[i,n]of Object.entries(e)){let a=[...r,i];t.typeName?.(i,a),Nrc({typeName:i,declaration:n,visitor:t,nodePathForType:a})}}function Nrc({typeName:e,declaration:t,visitor:r,nodePathForType:i}){let n=f9t(r);r.typeDeclaration?.({typeName:{isInlined:!1,name:e},declaration:t,nodePath:i},i);let a=u=>{if(u!=null)for(let[l,d]of u.entries()){let s=[...i,{key:"examples",arrayIndex:l}];r.exampleType?.({typeName:e,typeDeclaration:t,example:d},s),Yze({example:d.value,nodePath:s,visitor:r})}};ZN(t,{alias:u=>{typeof u=="string"?n(u,i):kj(u,{type:l=>{n(l,[...i,"type"])},docs:Vq(r,i),availability:Jo,audiences:Jo,examples:a,validation:Jo,encoding:Jo,source:Jo,inline:Jo})},object:u=>{kj(u,{docs:Vq(r,i),extends:l=>{if(l==null)return;let d=typeof l=="string"?[l]:l;for(let s of d){let o=[...i,"extends",s];r.extension?.(s,o),n(s,o)}},properties:l=>{if(l!=null)for(let[d,s]of Object.entries(l)){let o=[...i,"properties",d];typeof s=="string"?n(s,o):kj(s,{name:Jo,docs:Vq(r,o),availability:Jo,type:c=>{n(c,[...o,"type"],{_default:s.default,validation:s.validation})},audiences:Jo,encoding:Jo,default:Jo,validation:Jo,access:Jo})}},"extra-properties":Jo,availability:Jo,audiences:Jo,encoding:Jo,source:Jo,examples:a,inline:Jo})},discriminatedUnion:u=>{kj(u,{docs:Vq(r,i),discriminant:Jo,extends:l=>{if(l==null)return;let d=typeof l=="string"?[l]:l;for(let s of d){let o=[...i,"extends",s];r.extension?.(s,o),n(s,o)}},union:l=>{for(let[d,s]of Object.entries(l)){let o=[...i,"union",d];typeof s=="string"?n(s,o):kj(s,{docs:Vq(r,o),name:Jo,key:Jo,type:c=>{typeof c=="string"&&n(c,[...i,"type"])},"display-name":Jo,availability:Jo})}},"base-properties":Jo,availability:Jo,audiences:Jo,encoding:Jo,source:Jo,examples:a,inline:Jo})},undiscriminatedUnion:u=>{kj(u,{docs:Vq(r,i),discriminated:Jo,union:l=>{for(let[d,s]of l.entries()){let o=[...i,`union[${d}]`];typeof s!="string"&&kj(s,{docs:Vq(r,o),type:c=>{n(c,[...i,"type"])},"display-name":Jo,validation:Jo})}},availability:Jo,audiences:Jo,encoding:Jo,source:Jo,examples:a,inline:Jo})},enum:u=>{kj(u,{docs:Vq(r,i),enum:l=>{for(let d of l){let s=[...i,typeof d=="string"?d:d.name??d.value];typeof d!="string"&&kj(d,{docs:Vq(r,s),name:Jo,value:Jo,casing:Jo})}},availability:Jo,audiences:Jo,default:Jo,encoding:Jo,source:Jo,examples:a,inline:Jo})}})}function tb_({errorDeclarations:e,visitor:t,nodePath:r}){if(e!=null)for(let[i,n]of Object.entries(e)){let a=[...r,i];t.errorDeclaration?.({errorName:i,declaration:n},a),CvE({errorName:i,declaration:n,visitor:t,nodePathForError:a})}}function CvE({errorName:e,declaration:t,visitor:r,nodePathForError:i}){let n=f9t(r);typeof t=="string"?n(t,i):kj(t,{docs:Vq(r,i),"status-code":Jo,type:a=>{if(a==null)return;let u=[...i,"type"];typeof a=="string"?n(a,u):Nrc({typeName:e,declaration:a,visitor:r,nodePathForType:u})},examples:a=>{if(a!=null)for(let u of a){let l=[...i,"type"];r.exampleError?.({errorName:e,declaration:t,example:u},l)}}})}function rb_({imports:e,visitor:t,nodePath:r}){if(e!=null)for(let[i,n]of Object.entries(e))t.import?.({importPath:n,importedAs:i},[...r,i])}function ib_({webhook:e,visitor:t,nodePathForWebhook:r}){let i=f9t(t);kj(e,{"display-name":Jo,method:Jo,examples:Jo,headers:n=>{BvE({headers:n,visitor:t,nodePath:[...r,"headers"]})},payload:n=>{let a=[...r,"payload"];if(typeof n=="string"){i(n,a,{location:"requestReference"});return}if(xvE(n)){i(n.type,[...a,"type"],{location:"requestReference"});return}let u=[...a];t.typeDeclaration?.({typeName:{isInlined:!0,location:"inlinedRequest"},declaration:n},u),kj(n,{name:Jo,extends:l=>{if(l==null)return;let d=typeof l=="string"?[l]:l;for(let s of d){let o=[...u,"extends",s];t.extension?.(s,o),i(s,o)}},properties:l=>{if(l!=null)for(let[d,s]of Object.entries(l)){let o=[...u,"properties",d];typeof s=="string"?i(s,o,{location:zV.InlinedRequestProperty}):kj(s,{name:Jo,docs:Vq(t,o),availability:Jo,type:c=>{i(c,[...o,"type"],{_default:s.default,validation:s.validation,location:zV.InlinedRequestProperty})},audiences:Jo,encoding:Jo,default:Jo,validation:Jo,access:Jo})}}})},audiences:Jo,availability:Jo,docs:Vq(t,r)})}function BvE({headers:e,visitor:t,nodePath:r}){if(e==null)return;let i=f9t(t);for(let[n,a]of Object.entries(e)){let u=[...r,n];t.header?.({headerKey:n,header:a},u),typeof a=="string"?i(a,u):kj(a,{name:Jo,availability:Jo,type:l=>{i(l,u,{_default:a.default,validation:a.validation})},docs:Vq(t,u),audiences:Jo,encoding:Jo,env:Jo,default:Jo,validation:Jo})}}function xvE(e){return e.type!=null}function RV(e,t){kj(e,{docs:Vq(t,[]),imports:r=>{rb_({imports:r,visitor:t,nodePath:["imports"]})},types:r=>{eb_({typeDeclarations:r,visitor:t,nodePath:["types"]})},service:r=>{r!=null&&Zv_({service:r,visitor:t,nodePath:["service"]})},webhooks:r=>{for(let[i,n]of Object.entries(r??{}))ib_({webhook:n,visitor:t,nodePathForWebhook:["webhooks",i]})},channel:Jo,errors:r=>{tb_({errorDeclarations:r,visitor:t,nodePath:["errors"]})}})}function Frc(e,t){kj(e,{docs:Jo,imports:Jo,types:Jo,service:Jo,webhooks:Jo,errors:Jo,channel:Jo,export:r=>{t.export?.(typeof r=="string"?r:r?.dependency,["export"])},navigation:r=>{t.navigation?.(r,["navigation"])}})}function Lrc(e,t){t.file?.(e,[]),kj(e,{version:Jo,name:Jo,"default-url":Jo,"display-name":Jo,imports:Jo,auth:Jo,"idempotency-headers":Jo,"auth-schemes":r=>Object.entries(r??{}).map(([i,n])=>{Ims(n)&&t.oauth?.({name:i,oauth:n},["auth-scheme",i])}),pagination:Jo,"default-environment":r=>{t.defaultEnvironment?.(r,["default-environment"])},docs:Jo,headers:Jo,environments:r=>{if(r!=null)for(let[i,n]of Object.entries(r))t.environment?.({environmentId:i,environment:n},["environments",i])},"error-discrimination":r=>{t.errorDiscrimination?.(r,["error-discrimination"])},audiences:Jo,errors:r=>{if(r!=null)for(let i of r)t.errorReference?.(i,["errors",i])},"base-path":Jo,"path-parameters":r=>{Kba({pathParameters:r,visitor:t,nodePath:["path-parameters"]})},variables:r=>{if(r!=null)for(let[i,n]of Object.entries(r))t.variableDeclaration?.({variableId:i,variable:n},["variables",i])}})}var Z6o=new RegExp("^[a-zA-Z][a-zA-Z0-9_]*$");function nb_({relativeFilepath:e,contents:t,allRuleVisitors:r,addViolations:i}){function n(a){let u=(l,d)=>{for(let s of r){let o=s.definitionFile?.[a];if(o!=null){let c=o(l,{relativeFilepath:e,contents:t});i(c.map(b=>({severity:b.severity,relativeFilepath:e,nodePath:d,message:b.message})))}}};return{[a]:u}}return{...n("docs"),...n("import"),...n("typeReference"),...n("typeDeclaration"),...n("typeName"),...n("httpService"),...n("httpEndpoint"),...n("pathParameter"),...n("queryParameter"),...n("streamCondition"),...n("header"),...n("errorDeclaration"),...n("errorReference"),...n("exampleType"),...n("exampleTypeReference"),...n("exampleHttpEndpointCall"),...n("exampleCodeSample"),...n("exampleHeaders"),...n("examplePathParameters"),...n("exampleQueryParameters"),...n("exampleRequest"),...n("exampleResponse"),...n("variableReference"),...n("extension"),...n("serviceBaseUrl"),...n("endpointBaseUrl"),...n("exampleError")}}function ab_({relativeFilepath:e,contents:t,allRuleVisitors:r,addViolations:i}){function n(a){let u=(l,d)=>{for(let s of r){let o=s.packageMarker?.[a];if(o!=null){let c=o(l,{relativeFilepath:e,contents:t});i(c.map(b=>({severity:b.severity,relativeFilepath:e,nodePath:d,message:b.message})))}}};return{[a]:u}}return{...n("export"),...n("navigation")}}function ob_({relativeFilepath:e,contents:t,allRuleVisitors:r,addViolations:i}){function n(a){let u=(l,d)=>{for(let s of r){let o=s.rootApiFile?.[a];if(o!=null){let c=o(l,{relativeFilepath:e,contents:t});i(c.map(b=>({severity:b.severity,relativeFilepath:e,nodePath:d,message:b.message})))}}};return{[a]:u}}return{...n("file"),...n("oauth"),...n("defaultEnvironment"),...n("environment"),...n("errorDiscrimination"),...n("errorReference"),...n("variableDeclaration"),...n("variableReference"),...n("pathParameter")}}var Urc={name:"content-type-only-for-multipart",DISABLE_RULE:!1,create:()=>({definitionFile:{httpEndpoint:({endpoint:e})=>{if(e.request==null)return[];if(RBi(e.request)!=null)return[];if(typeof e.request!="string"&&e.request.body!=null&&KT(e.request.body)){let r=[];for(let[i,n]of Object.entries(e.request.body.properties??{}))typeof n!="string"&&n["content-type"]!=null&&r.push({severity:"fatal",message:`${i} has content-type, but the request is not multipart`});return r}return[]}}})};var uS=iDe({generationLanguage:void 0,keywords:void 0,smartCasing:!1});var Vrc={name:"exploded-form-data-is-array",create:({workspace:e})=>{let t=new l1(e);return{definitionFile:{httpEndpoint:({endpoint:r},{relativeFilepath:i,contents:n})=>{if(r.request==null||typeof r.request=="string"||r.request?.body==null||typeof r.request.body=="string")return[];if(!IvE(r.request.body))return[];let a=[];for(let[u,l]of Object.entries(r.request.body.properties??{})){if(typeof l=="string"||l.style!=="exploded")continue;let d=e0({relativeFilepath:i,definitionFile:n,casingsGenerator:uS,rootApiFile:e.definition.rootApiFile.contents}),s=t.resolveType({type:l.type,file:d});if(s==null)return[];ub_(s)||a.push({message:`${u} is exploded and must be a list. Did you mean list<${l.type}>?`,severity:"error"})}return a}}}}};function ub_(e){return e._type!=="container"?!1:e.container._type==="list"?!0:e.container._type==="optional"||e.container._type==="nullable"?ub_(e.container.itemType):!1}function IvE(e){return e?.properties!=null}var Wrc={name:"import-file-exists",create:({workspace:e})=>{let t=Object.keys(PKr(e.definition)),r=new Set;return t.forEach(i=>{let n=es(e.definition.absoluteFilePath,uo.of(i));r.add(n)}),{definitionFile:{import:({importedAs:i,importPath:n},{relativeFilepath:a})=>{let u=[],l=es(e.definition.absoluteFilePath,_p(a),uo.of(n));return r.has(l)||u.push({severity:"fatal",message:`Import ${Js.bold(i)} points to non-existent path ${Js.bold(n)}.`}),u}}}}};function k6o(e){return e.definition.rootApiFile.contents.environments==null?[]:Object.values(e.definition.rootApiFile.contents.environments).reduce((t,r)=>{if(Lbn(r))for(let i of Object.keys(r.urls))t.includes(i)||t.push(i);return t},[])}var Hrc={name:"matching-environment-urls",create:({workspace:e})=>{let t=k6o(e);return t.length===0?{}:{rootApiFile:{environment:({environmentId:r,environment:i})=>{let n=[],a=u=>{n.push({severity:"fatal",message:`Environment ${r} is missing URL for ${Js.bold(u)}`})};return gQr(i,{singleBaseUrl:()=>{for(let u of t)a(u)},multipleBaseUrls:u=>{for(let l of t)u.urls[l]==null&&a(l)}}),n}}}}};var $rc={name:"no-circular-imports",DISABLE_RULE:!0,create:({workspace:e})=>{let t=zvE(e.definition.namedDefinitionFiles);return{definitionFile:{import:({importPath:r},{relativeFilepath:i})=>{let n=t[i];if(n==null)return[];let a=e_i({referencedIn:i,importPath:uo.of(r)});return n.filter(({chainWithoutStartingFilepath:l})=>l.length===0||l[0]===a).map(l=>({severity:"fatal",message:l.chainWithoutStartingFilepath.length===0?"A file cannot import itself":`Circular import detected: ${[l.startingFilepath,...l.chainWithoutStartingFilepath,l.startingFilepath].join(" -> ")}`}))}}}}};function zvE(e){let t={};for(let r of T4t(e))t[r]=sb_(r,[r],e);return t}function sb_(e,t,r){let i=[],n=r[e];if(n==null)return[];if(n.contents.imports!=null)for(let a of Object.values(n.contents.imports)){let u=e_i({referencedIn:e,importPath:uo.of(a)});t.includes(u)?t[0]===u&&t[0]===RvE(t)&&i.push({startingFilepath:u,chainWithoutStartingFilepath:t.slice(1)}):i.push(...sb_(u,[...t,u],r))}return i}function RvE(e){return e.reduce((t,r)=>r<t?r:t)}var e2o=class{workspace;typeResolver;constructor(t){this.workspace=t,this.typeResolver=new l1(t)}isTypeComplex(t,r){let i=e0({relativeFilepath:r.relativeFilepath,definitionFile:r.contents,casingsGenerator:uS,rootApiFile:this.workspace.definition.rootApiFile.contents}),n=this.typeResolver.resolveType({type:t,file:i});if(n==null)return;let a=new Set;return this.isResolvedReferenceComplex({type:n,file:i,visited:a})}isResolvedReferenceComplex({type:t,file:r,visited:i}){switch(t._type){case"container":return this.isResolvedContainerComplex({type:t.container,file:r,visited:i});case"named":return this.isNamedTypeComplex({type:t,file:r,visited:i});case"primitive":return!1;case"unknown":return!0;default:Fo(t)}}isResolvedContainerComplex({type:t,file:r,visited:i}){switch(t._type){case"literal":return!1;case"map":return(this.isResolvedReferenceComplex({type:t.keyType,file:r,visited:i})||this.isResolvedReferenceComplex({type:t.valueType,file:r,visited:i}))&&!(t.keyType._type==="primitive"&&t.keyType.primitive.v1==="STRING"&&t.valueType._type==="unknown");case"optional":case"nullable":case"list":case"set":return this.isResolvedReferenceComplex({type:t.itemType,file:r,visited:i});default:Fo(t)}}isNamedTypeComplex({type:t,file:r,visited:i}){if(i.has(t.rawName))return!1;if(i.add(t.rawName),rci(t.declaration))return!0;if(O8t(t.declaration))return!1;if(tS(t.declaration))return this.objectHasComplexProperties({typeName:t.rawName,objectDeclaration:t.declaration,file:r,visited:i});if(Vbn(t.declaration)){for(let n of t.declaration.union){let a=typeof n=="string"?n:n.type,u=this.isTypeComplex(a,{contents:r.definitionFile,relativeFilepath:r.relativeFilepath});if(u!=null&&u)return!0}return!1}Fo(t.declaration)}objectHasComplexProperties({typeName:t,objectDeclaration:r,file:i,visited:n}){return a9t({typeName:t,objectDeclaration:r,typeResolver:this.typeResolver,definitionFile:i.definitionFile,workspace:this.workspace,filepathOfDeclaration:i.relativeFilepath,smartCasing:!1}).some(u=>this.isComplex({type:u.resolvedPropertyType,file:i,visited:n}))}isComplex({type:t,file:r,visited:i}){switch(t._type){case"named":return this.isNamedTypeComplex({type:t,file:r,visited:i});case"primitive":case"unknown":return!1;case"container":return this.isComplexContainer({type:t.container,file:r,visited:i});default:Fo(t)}}isComplexContainer({type:t,file:r,visited:i}){switch(t._type){case"literal":return!1;case"map":return this.isComplex({type:t.keyType,file:r,visited:i})||this.isComplex({type:t.valueType,file:r,visited:i});case"optional":case"nullable":case"list":case"set":return this.isComplex({type:t.itemType,file:r,visited:i});default:Fo(t)}}};var Grc={name:"no-complex-query-params",create:({workspace:e})=>{let t=new e2o(e);return{definitionFile:{queryParameter:({queryParameter:r},i)=>{let n=typeof r=="string"?r:r.type,a=t.isTypeComplex(n,i);return a!=null&&a?[{severity:"fatal",message:`${n} is not a valid type for a query parameter`}]:[]}}}}};var Qrc={name:"no-conflicting-endpoint-parameters",create:()=>({definitionFile:{pathParameter:({pathParameterKey:e})=>e===R3o?[{severity:"fatal",message:`Path parameter ${Js.bold(e)} is not suitable for code generation, because it can conflict with the request body parameter.`}]:[]}})};function Yba({service:e,endpoint:t}){return e["base-path"]+t.path}var t2o=class{root=new Jrc;registerEndpoint(t){this.root.insert(this.getPathPartsForEndpoint(t),t)}getConflictingEndpoints(t){return this.root.getMatchingEndpoints(this.getPathPartsForEndpoint(t)).filter(r=>!(r.relativeFilepath===t.relativeFilepath&&r.endpointId===t.endpointId)&&r.endpoint.method===t.endpoint.method)}getPathPartsForEndpoint(t){return Yba({service:t.service,endpoint:t.endpoint}).split("/").filter(r=>r.length>0)}},Jrc=class e{childPaths={};childPathParam;endpointsThatEndWithThisNode=[];insert(t,r){let[i,...n]=t;if(i==null){this.endpointsThatEndWithThisNode.push(r);return}(this.isPathParam(i)?this.childPathParam??=new e:this.childPaths[i]??=new e).insert(n,r)}getMatchingEndpoints(t){let[r,...i]=t;if(r==null)return this.endpointsThatEndWithThisNode;let n=[];if(this.isPathParam(r))n.push(...Object.values(this.childPaths).flatMap(a=>a.getMatchingEndpoints(i)));else{let a=this.childPaths[r];a!=null&&n.push(...a.getMatchingEndpoints(i))}return this.childPathParam!=null&&n.push(...this.childPathParam.getMatchingEndpoints(i)),n}isPathParam(t){return t.startsWith("{")&&t.endsWith("}")}};var Krc={name:"no-conflicting-endpoint-paths",create:({workspace:e})=>{let t=new t2o;return hF(e,(r,i)=>{RV(i,{httpEndpoint:({service:n,endpointId:a,endpoint:u})=>{t.registerEndpoint({service:n,endpointId:a,endpoint:u,relativeFilepath:r})}})}),{definitionFile:{httpEndpoint:({service:r,endpoint:i,endpointId:n},{relativeFilepath:a})=>{let u=t.getConflictingEndpoints({service:r,endpointId:n,endpoint:i,relativeFilepath:a});return u.length===0?[]:[{severity:"warning",message:[`Endpoint path ${Yba({service:r,endpoint:i})} conflicts with other endpoints:`,...u.map(l=>` - ${l.relativeFilepath} -> ${l.endpointId} ${Js.dim(Yba({service:l.service,endpoint:l.endpoint}))}`)].join(`
|
|
1982
1982
|
`)}]}}}}};var Yrc={name:"no-conflicting-request-wrapper-properties",create:({workspace:e})=>({definitionFile:{httpEndpoint:({endpoint:t,service:r},{contents:i,relativeFilepath:n})=>{let a=NvE({endpoint:t,service:r,relativeFilepath:n,definitionFile:i,workspace:e}),u=[];for(let[l,d]of Object.entries(a))d.length<=1||u.push({severity:"fatal",message:`Multiple request properties have the name ${Js.bold(l)}. This is not suitable for code generation. Use the "name" property to deconflict.
|
|
1983
1983
|
`+d.map(s=>` - ${FvE(s)}`).join(`
|