fern-api 0.51.24 → 0.51.25
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
|
@@ -1684,7 +1684,7 @@ ${c.indent}`:""}${Zmf(o)}:${l.indent?" ":""}`;return u=!1,s=!0,l.objectItem=void
|
|
|
1684
1684
|
`}),r.replaceAll(/\n$/g,"")}function i31(e){return e?Su.green(r3.radioOn):r3.radioOff}var Uio=Di(dwe(),1);function Lxd(e,t){return e=String(e),t=typeof t=="string"?t:"*",e.length===0?"":Array.from({length:e.length+1}).join(t)}var gGn=class extends r2{_run(t){this.done=t;let r=TL(this.rl),i=r.line.pipe((0,Uio.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,Uio.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=`
|
|
1685
1685
|
`+Su.red(">> ")+t),this.screen.render(r,i)}getMaskedValue(t){return this.status==="answered"?this.opt.mask?Su.cyan(Lxd(t,this.opt.mask)):Su.italic.dim("[hidden]"):this.opt.mask?Lxd(t,this.opt.mask):Su.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 fzd=Di(Ids(),1),dzd=Di(dwe(),1);var MGn=class extends r2{_run(t){this.done=t,this.editorResult=new dzd.Subject;let r=TL(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"?Su.dim("Received"):Su.dim("Press <enter> to launch your preferred editor."),t&&(r=Su.red(">> ")+t),this.screen.render(i,r)}startExternalEditor(){this.rl.pause(),(0,fzd.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 Ozd=Di(hzd(),1);var bzd=Di(require("readline"),1),gzd=Di(vzd(),1),Uji=class{constructor(t){this.rl||=bzd.default.createInterface(Q31(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 Q31(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 gzd.default;return r.pipe(e.output||process.stdout),{terminal:!0,...e,input:t,output:r}}var qGn=class extends Uji{constructor(t={}){super(t),this.log=(0,Ozd.default)(this.writeLog.bind(this)),this.bottomBar=t.bottomBar||"",this.render()}render(){return this.write(this.bottomBar),this}clean(){return fGn(this.rl,this.bottomBar.split(`
|
|
1686
1686
|
`).length),this}updateBottomBar(t){return fGn(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+`
|
|
1687
|
-
`}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&&Rio(this.rl,t.length+this.rl.line.length),this.rl.output.write(t)}};var qzd=Di(jzd(),1),Tzd=Di(Wls(),1),Czd=Di(Azd(),1),rM=Di(dwe(),1),Bzd=Di(O$n(),1);var uno=Di(dwe(),1),Mzd=Di(O$n(),1),sno=function(e,t,r){return typeof e[t]!="function"?(0,uno.of)(e):(0,uno.from)((0,Mzd.default)(e[t])(r).then(i=>(e[t]=i,e)))};var TGn={isPlainObject:qzd.default,set:Czd.default,get:Tzd.default},jun=class extends Uji{constructor(t,r){super(r),this.prompts=t}run(t,r){this.answers=TGn.isPlainObject(r)?{...r}:{},TGn.isPlainObject(t)&&(t=Object.values(t).every(n=>TGn.isPlainObject(n)&&n.name===void 0)?Object.entries(t).map(([n,a])=>({name:n,...a})):[t]);let i=Array.isArray(t)?(0,rM.from)(t):t;return this.process=i.pipe((0,rM.concatMap)(this.processQuestion.bind(this)),(0,rM.publish)()),this.process.connect(),this.process.pipe((0,rM.reduce)((n,a)=>(TGn.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,rM.defer)(()=>(0,rM.of)(t).pipe((0,rM.concatMap)(this.setDefaultType.bind(this)),(0,rM.concatMap)(this.filterIfRunnable.bind(this)),(0,rM.concatMap)(()=>sno(t,"message",this.answers)),(0,rM.concatMap)(()=>sno(t,"default",this.answers)),(0,rM.concatMap)(()=>sno(t,"choices",this.answers)),(0,rM.concatMap)(this.fetchAnswer.bind(this))))}fetchAnswer(t){let r=this.prompts[t.type];return this.activePrompt=new r(t,this.rl,this.answers),(0,rM.defer)(()=>(0,rM.from)(this.activePrompt.run().then(i=>({name:t.name,answer:i}))))}setDefaultType(t){return this.prompts[t.type]||(t.type="input"),(0,rM.defer)(()=>(0,rM.of)(t))}filterIfRunnable(t){if(t.askAnswered!==!0&&TGn.get(this.answers,t.name)!==void 0)return(0,rM.empty)();if(t.when===!1)return(0,rM.empty)();if(typeof t.when!="function")return(0,rM.of)(t);let{answers:r}=this;return(0,rM.defer)(()=>(0,rM.from)((0,Bzd.default)(t.when)(r).then(i=>{if(i)return t})).pipe((0,rM.filter)(i=>i!=null)))}};function xzd(e){let t=function(r,i){let n;try{n=new jun(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",pGn),this.registerPrompt("input",Bji),this.registerPrompt("number",_Gn),this.registerPrompt("confirm",hGn),this.registerPrompt("rawlist",yGn),this.registerPrompt("expand",vGn),this.registerPrompt("checkbox",bGn),this.registerPrompt("password",gGn),this.registerPrompt("editor",MGn)},t.restoreDefaultPrompts(),t}var Fds=xzd();function f71(e,t){Fds.registerPrompt(e,t)}function d71(){Fds.restoreDefaultPrompts()}var p71={prompt:Fds,ui:{BottomBar:qGn,Prompt:jun},createPromptModule:xzd,registerPrompt:f71,restoreDefaultPrompts:d71,Separator:yte},cno=p71;var HRd=Di(Izd()),R61="4.2.1",n2t;(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"})(n2t||(n2t={}));function F61(e,t){if(!e)throw new Error(t)}function N61(e){return e?.replace(/\/+$/,"")}async function L61(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 U61(){return new Date().getTime()}function zRd(){return new Date().toISOString()}function $Rd(e,t){let r=setTimeout(e,t);return r?.unref&&r?.unref(),r}var WGn=String.fromCharCode,RRd="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Pno={};function V61(e,t){if(!Pno[e]){Pno[e]={};for(let r=0;r<e.length;r++)Pno[e][e.charAt(r)]=r}return Pno[e][t]}var HGn={compressToBase64:function(e){if(e==null)return"";let t=HGn._compress(e,6,function(r){return RRd.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:HGn._decompress(e.length,32,function(t){return V61(RRd,e.charAt(t))})},compress:function(e){return HGn._compress(e,16,function(t){return WGn(t)})},_compress:function(e,t,r){if(e==null)return"";let i={},n={},a=[],u,l,f="",s="",o="",c=2,b=3,g=2,O=0,m=0,w;for(w=0;w<e.length;w+=1)if(f=e.charAt(w),Object.prototype.hasOwnProperty.call(i,f)||(i[f]=b++,n[f]=!0),s=o+f,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(f)}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:HGn._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,f=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=WGn(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=WGn(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,f),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++]=WGn(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++]=WGn(b),w=l-1,u--;break;case 2:return n.join("")}if(u==0&&(u=Math.pow(2,f),f++),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,f),f++)}}},wps=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 jno="0123456789abcdef",wno=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+=jno.charAt(this.bytes[r]>>>4),t+=jno.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+=jno.charAt(this.bytes[r]>>>4),t+=jno.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}},Sps=class{constructor(t){this.timestamp=0,this.counter=0,this.random=t??W61()}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 wno.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,wno.ofInner(t)}},W61=()=>({nextUint32:()=>Math.trunc(Math.random()*65536)*65536+Math.trunc(Math.random()*65536)}),FRd,NRd=()=>H61().toString(),H61=()=>(FRd||(FRd=new Sps)).generate(),Sno=class extends Error{constructor(t){super("HTTP error while fetching PostHog: "+t.status),this.response=t,this.name="PostHogFetchHttpError"}},$Gn=class extends Error{constructor(t){super("Network error while fetching PostHog",t instanceof Error?{cause:t}:{}),this.error=t,this.name="PostHogFetchNetworkError"}};function LRd(e){return typeof e=="object"&&(e instanceof Sno||e instanceof $Gn)}var Dps=class{constructor(t,r){this.flushPromise=null,this.disableGeoip=!0,this.historicalMigration=!1,this.disabled=!1,this.defaultOptIn=!0,this.pendingPromises={},this._events=new wps,this._isInitialized=!1,F61(t,"You must pass your PostHog project's api key."),this.apiKey=t,this.host=N61(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:LRd},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(n2t.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty(n2t.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty(n2t.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=NRd();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(f=>f.json()).catch(f=>{this._events.emit("error",f)})}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 f=l[t];return f===void 0&&(f=!1),f}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 f=l[t];return f===void 0?null:f}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),f=l?.featureFlags,s=l?.featureFlagPayloads,o=s;return s&&(o=Object.fromEntries(Object.entries(s).map(([c,b])=>[c,this._parsePayload(b)]))),{flags:f,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:zRd(),uuid:i?.uuid?i.uuid:NRd()};(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(n2t.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(n2t.Queue,u),this._events.emit(t,n),u.length>=this.flushAt&&this.flushBackground(),this.flushInterval&&!this._flushTimer&&(this._flushTimer=$Rd(()=>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(n2t.Queue)||[];if(!t.length)return[];let r=t.slice(0,this.maxBatchSize),i=r.map(s=>s.message),n=()=>{let s=this.getPersistedProperty(n2t.Queue)||[];this.setPersistedProperty(n2t.Queue,s.slice(r.length))},a={api_key:this.apiKey,batch:i,sent_at:zRd()};this.historicalMigration&&(a.historical_migration=!0);let u=JSON.stringify(a),l=this.captureMode==="form"?`${this.host}/e/?ip=1&_=${U61()}&v=${this.getLibraryVersion()}`:`${this.host}/batch/`,f=this.captureMode==="form"?{method:"POST",mode:"no-cors",credentials:"omit",headers:{...this.getCustomHeaders(),"Content-Type":"application/x-www-form-urlencoded"},body:`data=${encodeURIComponent(HGn.compressToBase64(u))}&compression=lz64`}:{method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:u};try{await this.fetchWithRetry(l,f)}catch(s){throw s instanceof $Gn||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 f=new AbortController;return setTimeout(()=>f.abort(),l),f.signal}),await L61(async()=>{let u=null;try{u=await this.fetch(t,{signal:AbortSignal.timeout(n??this.requestTimeout),...r})}catch(f){throw new $Gn(f)}if(!(r.mode==="no-cors")&&(u.status<200||u.status>=400))throw new Sno(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(n2t.Queue)||[]).length!==0;){await this.flush();let n=Date.now();if(r<n)break}}catch(r){if(!LRd(r))throw r;this.logMsgIfDebug(()=>console.error("Error while shutting down PostHog",r))}}},Eps=class{constructor(){this._memoryStorage={}}getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}},Aps=typeof fetch<"u"?fetch:typeof global.fetch<"u"?global.fetch:void 0;if(!Aps){let e=IRd();Aps=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 GRd=Aps,$61=1152921504606847e3,G61=["is_not"],Dno=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},i2=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},Mps=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||GRd,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 f of this.featureFlags)if(t===f.key){l=f;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(f){f instanceof i2?this.logMsgIfDebug(()=>console.debug(`InconclusiveMatchError when computing flag locally: ${t}: ${f}`)):f instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${t}: ${f}`))}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 f=>{try{let s=this.computeFlagLocally(f,t,r,i,n);a[f.key]=s;let o=await this.computeFeatureFlagPayloadLocally(f.key,s);o&&(u[f.key]=o)}catch(s){s instanceof i2||s instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${f.key}: ${s}`)),l=!0}}),{response:a,payloads:u,fallbackToDecide:l}}computeFlagLocally(t,r,i={},n={},a={}){if(t.ensure_experience_continuity)throw new i2("Flag has experience continuity enabled");if(!t.active)return!1;let l=(t.filters||{}).aggregation_group_type_index;if(l!=null){let f=this.groupTypeMapping[String(l)];if(!f)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Unknown group type index ${l} for feature flag ${t.key}`)),new i2("Flag has unknown group type index");if(!(f 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[f];return this.matchFeatureFlagProperties(t,i[f],s)}else return this.matchFeatureFlagProperties(t,r,n)}matchFeatureFlagProperties(t,r,i){let n=t.filters||{},a=n.groups||[],u=!1,l,f=[...a].sort((s,o)=>{let c=!!s.variant,b=!!o.variant;return c&&b?0:c?-1:b?1:0});for(let s of f)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 i2)u=!0;else throw o}if(l!==void 0)return l;if(u)throw new i2("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 f=l.type,s=!1;if(f==="cohort"?s=JRd(l,n,this.cohorts,this.debugMode):s=QRd(l,n,u),!s)return!1}if(a==null)return!0}return!(a!=null&&URd(t.key,r)>a/100)}getMatchingVariant(t,r){let i=URd(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 Dno("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 Dno&&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=$Rd(()=>{n.abort()},this.timeout),r.signal=n.signal}try{return await this.fetch(t,r)}finally{clearTimeout(i)}}stopPoller(){clearTimeout(this.poller)}};function URd(e,t,r=""){let i=(0,HRd.createHash)();return i.update(`${e}.${t}${r}`),parseInt(i.digest("hex").slice(0,15),16)/$61}function QRd(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 i2("Operator is_not_set is not supported")}else throw new i2(`Property ${i} not found in propertyValues`);let u=t[i];if(u==null&&!G61.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 f(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 VRd(String(n))&&String(u).match(String(n))!==null;case"not_regex":return VRd(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"?f(u,String(n),a):f(u,s,a):f(String(u),String(n),a)}case"is_date_after":case"is_date_before":{let s=Q61(String(n));if(s==null&&(s=WRd(n)),s==null)throw new i2(`Invalid date: ${n}`);let o=WRd(u);return["is_date_before"].includes(a)?o<s:o>s}default:throw new i2(`Unknown operator: ${a}`)}}function JRd(e,t,r,i=!1){let n=String(e.value);if(!(n in r))throw new i2("can't match cohort without a given cohort property value");let a=r[n];return KRd(a,t,r,i)}function KRd(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 f=KRd(l,t,r,i);if(n==="AND"){if(!f)return!1}else if(f)return!0}catch(f){if(f instanceof i2)i&&console.debug(`Failed to compute property ${l} locally: ${f}`),u=!0;else throw f}if(u)throw new i2("Can't match cohort without a given cohort property value");return n==="AND"}else{for(let l of a)try{let f;l.type==="cohort"?f=JRd(l,t,r,i):f=QRd(l,t);let s=l.negation||!1;if(n==="AND"){if(!f&&!s||f&&s)return!1}else if(f&&!s||!f&&s)return!0}catch(f){if(f instanceof i2)i&&console.debug(`Failed to compute property ${l} locally: ${f}`),u=!0;else throw f}if(u)throw new i2("can't match cohort without a given cohort property value");return n==="AND"}}function VRd(e){try{return new RegExp(e),!0}catch{return!1}}function WRd(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 i2(`${e} is in an invalid date format`)}else throw new i2(`The date provided ${e} must be a string, number, or date object`)}function Q61(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 J61=30*1e3,K61=50*1e3,qun=class extends Dps{constructor(t,r={}){super(t,r),this._memoryStorage=new Eps,this.options=r,r.personalApiKey&&(this.featureFlagsPoller=new Mps({pollingInterval:typeof r.featureFlagsPollingInterval=="number"?r.featureFlagsPollingInterval:J61,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||K61}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):GRd(t,r)}getLibraryId(){return"posthog-node"}getLibraryVersion(){return R61}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:f}){let s=b=>{super.captureStateless(t,r,b,{timestamp:u,disableGeoip:l,uuid:f})},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:f,groupProperties:s}=i||{},o=this.addLocalPersonAndGroupProperties(r,n,f,s);f=o.allPersonProperties,s=o.allGroupProperties,u==null&&(u=!1),l==null&&(l=!0);let c=await this.featureFlagsPoller?.getFeatureFlag(t,r,n,f,s),b=c!==void 0;!b&&!u&&(c=await super.getFeatureFlagStateless(t,r,n,f,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:f,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),f==null&&(f=!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||{},f=this.addLocalPersonAndGroupProperties(t,i,u,l);u=f.allPersonProperties,l=f.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}}},qps=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})}};qps.POSTHOG_ID_TAG="posthog_distinct_id";var Eno=class{posthog;constructor({posthogApiKey:t}){this.posthog=new qun(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"0.51.24",usingAccessToken:!0}})}async flush(){await this.posthog.flush()}};var GGn=class{async sendEvent(){}async identify(){}async flush(){}};var Tun=require("fs/promises"),kRd=require("os"),eFd=require("path");var YRd=Di(require("crypto")),Mno=new Uint8Array(256),Ano=Mno.length;function Tps(){return Ano>Mno.length-16&&(YRd.default.randomFillSync(Mno),Ano=0),Mno.slice(Ano,Ano+=16)}var xL=[];for(let e=0;e<256;++e)xL.push((e+256).toString(16).slice(1));function XRd(e,t=0){return xL[e[t+0]]+xL[e[t+1]]+xL[e[t+2]]+xL[e[t+3]]+"-"+xL[e[t+4]]+xL[e[t+5]]+"-"+xL[e[t+6]]+xL[e[t+7]]+"-"+xL[e[t+8]]+xL[e[t+9]]+"-"+xL[e[t+10]]+xL[e[t+11]]+xL[e[t+12]]+xL[e[t+13]]+xL[e[t+14]]+xL[e[t+15]]}var ZRd=Di(require("crypto")),Cps={randomUUID:ZRd.default.randomUUID};function Y61(e,t,r){if(Cps.randomUUID&&!t&&!e)return Cps.randomUUID();e=e||{};let i=e.random||(e.rng||Tps)();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 XRd(i)}var ZCe=Y61;var X61="id",Z61=".fern",QGn=class{posthog;userId;constructor({token:t,posthogApiKey:r}){this.posthog=new qun(r),this.userId=t==null?void 0:Yas(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.51.24",...t,...t.properties}})}async flush(){await this.posthog.flush()}persistedDistinctId;async getPersistedDistinctId(){if(this.persistedDistinctId==null){let t=ku(Kl.of((0,kRd.homedir)()),yo.of(Z61),yo.of(X61));await zf(t)||(await(0,Tun.mkdir)((0,eFd.dirname)(t),{recursive:!0}),await(0,Tun.writeFile)(t,ZCe())),this.persistedDistinctId=(await(0,Tun.readFile)(t)).toString()}return this.persistedDistinctId}};var Bps;async function Cun(){return Bps==null&&(Bps=await k61()),Bps}async function k61(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new GGn;let r=await LXa();return r!=null?new QGn({token:r,posthogApiKey:e}):await NXa()!=null?new Eno({posthogApiKey:e}):new QGn({token:void 0,posthogApiKey:e})}catch{return new GGn}}function JGn(e,t){return function(){return e.apply(t,arguments)}}var{toString:e41}=Object.prototype,{getPrototypeOf:zps}=Object,Tno=(e=>t=>{let r=e41.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),a2t=e=>(e=e.toLowerCase(),t=>Tno(t)===e),Cno=e=>t=>typeof t===e,{isArray:xun}=Array,KGn=Cno("undefined");function t41(e){return e!==null&&!KGn(e)&&e.constructor!==null&&!KGn(e.constructor)&&_we(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var iFd=a2t("ArrayBuffer");function r41(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&iFd(e.buffer),t}var i41=Cno("string"),_we=Cno("function"),nFd=Cno("number"),Bno=e=>e!==null&&typeof e=="object",n41=e=>e===!0||e===!1,qno=e=>{if(Tno(e)!=="object")return!1;let t=zps(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},a41=a2t("Date"),o41=a2t("File"),u41=a2t("Blob"),s41=a2t("FileList"),c41=e=>Bno(e)&&_we(e.pipe),l41=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||_we(e.append)&&((t=Tno(e))==="formdata"||t==="object"&&_we(e.toString)&&e.toString()==="[object FormData]"))},f41=a2t("URLSearchParams"),[d41,p41,_41,h41]=["ReadableStream","Request","Response","Headers"].map(a2t),y41=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function YGn(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let i,n;if(typeof e!="object"&&(e=[e]),xun(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 aFd(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 $ji=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,oFd=e=>!KGn(e)&&e!==$ji;function Ips(){let{caseless:e}=oFd(this)&&this||{},t={},r=(i,n)=>{let a=e&&aFd(t,n)||n;qno(t[a])&&qno(i)?t[a]=Ips(t[a],i):qno(i)?t[a]=Ips({},i):xun(i)?t[a]=i.slice():t[a]=i};for(let i=0,n=arguments.length;i<n;i++)arguments[i]&&YGn(arguments[i],r);return t}var v41=(e,t,r,{allOwnKeys:i}={})=>(YGn(t,(n,a)=>{r&&_we(n)?e[a]=JGn(n,r):e[a]=n},{allOwnKeys:i}),e),b41=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),g41=(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)},O41=(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&&zps(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},m41=(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},P41=e=>{if(!e)return null;if(xun(e))return e;let t=e.length;if(!nFd(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},j41=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&zps(Uint8Array)),w41=(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])}},S41=(e,t)=>{let r,i=[];for(;(r=e.exec(t))!==null;)i.push(r);return i},D41=a2t("HTMLFormElement"),E41=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,i,n){return i.toUpperCase()+n}),tFd=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),A41=a2t("RegExp"),uFd=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),i={};YGn(r,(n,a)=>{let u;(u=t(n,a,e))!==!1&&(i[a]=u||n)}),Object.defineProperties(e,i)},M41=e=>{uFd(e,(t,r)=>{if(_we(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let i=e[r];if(_we(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+"'")})}})},q41=(e,t)=>{let r={},i=n=>{n.forEach(a=>{r[a]=!0})};return xun(e)?i(e):i(String(e).split(t)),r},T41=()=>{},C41=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t,xps="abcdefghijklmnopqrstuvwxyz",rFd="0123456789",sFd={DIGIT:rFd,ALPHA:xps,ALPHA_DIGIT:xps+xps.toUpperCase()+rFd},B41=(e=16,t=sFd.ALPHA_DIGIT)=>{let r="",{length:i}=t;for(;e--;)r+=t[Math.random()*i|0];return r};function x41(e){return!!(e&&_we(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}var I41=e=>{let t=new Array(10),r=(i,n)=>{if(Bno(i)){if(t.indexOf(i)>=0)return;if(!("toJSON"in i)){t[n]=i;let a=xun(i)?[]:{};return YGn(i,(u,l)=>{let f=r(u,n+1);!KGn(f)&&(a[l]=f)}),t[n]=void 0,a}}return i};return r(e,0)},z41=a2t("AsyncFunction"),R41=e=>e&&(Bno(e)||_we(e))&&_we(e.then)&&_we(e.catch),cFd=((e,t)=>e?setImmediate:t?((r,i)=>($ji.addEventListener("message",({source:n,data:a})=>{n===$ji&&a===r&&i.length&&i.shift()()},!1),n=>{i.push(n),$ji.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",_we($ji.postMessage)),F41=typeof queueMicrotask<"u"?queueMicrotask.bind($ji):typeof process<"u"&&process.nextTick||cFd,os={isArray:xun,isArrayBuffer:iFd,isBuffer:t41,isFormData:l41,isArrayBufferView:r41,isString:i41,isNumber:nFd,isBoolean:n41,isObject:Bno,isPlainObject:qno,isReadableStream:d41,isRequest:p41,isResponse:_41,isHeaders:h41,isUndefined:KGn,isDate:a41,isFile:o41,isBlob:u41,isRegExp:A41,isFunction:_we,isStream:c41,isURLSearchParams:f41,isTypedArray:j41,isFileList:s41,forEach:YGn,merge:Ips,extend:v41,trim:y41,stripBOM:b41,inherits:g41,toFlatObject:O41,kindOf:Tno,kindOfTest:a2t,endsWith:m41,toArray:P41,forEachEntry:w41,matchAll:S41,isHTMLForm:D41,hasOwnProperty:tFd,hasOwnProp:tFd,reduceDescriptors:uFd,freezeMethods:M41,toObjectSet:q41,toCamelCase:E41,noop:T41,toFiniteNumber:C41,findKey:aFd,global:$ji,isContextDefined:oFd,ALPHABET:sFd,generateString:B41,isSpecCompliantForm:x41,toJSONObject:I41,isAsyncFn:z41,isThenable:R41,setImmediate:cFd,asap:F41};function Iun(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)}os.inherits(Iun,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:os.toJSONObject(this.config),code:this.code,status:this.status}}});var lFd=Iun.prototype,fFd={};["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=>{fFd[e]={value:e}});Object.defineProperties(Iun,fFd);Object.defineProperty(lFd,"isAxiosError",{value:!0});Iun.from=(e,t,r,i,n,a)=>{let u=Object.create(lFd);return os.toFlatObject(e,u,function(f){return f!==Error.prototype},l=>l!=="isAxiosError"),Iun.call(u,e.message,t,r,i,n),u.cause=e,u.name=e.name,a&&Object.assign(u,a),u};var yp=Iun;var dFd=Di(CLn(),1),xno=dFd.default;function Rps(e){return os.isPlainObject(e)||os.isArray(e)}function _Fd(e){return os.endsWith(e,"[]")?e.slice(0,-2):e}function pFd(e,t,r){return e?e.concat(t).map(function(n,a){return n=_Fd(n),!r&&a?"["+n+"]":n}).join(r?".":""):t}function N41(e){return os.isArray(e)&&!e.some(Rps)}var L41=os.toFlatObject(os,{},null,function(t){return/^is[A-Z]/.test(t)});function U41(e,t,r){if(!os.isObject(e))throw new TypeError("target must be an object");t=t||new(xno||FormData),r=os.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,w){return!os.isUndefined(w[m])});let i=r.metaTokens,n=r.visitor||o,a=r.dots,u=r.indexes,f=(r.Blob||typeof Blob<"u"&&Blob)&&os.isSpecCompliantForm(t);if(!os.isFunction(n))throw new TypeError("visitor must be a function");function s(O){if(O===null)return"";if(os.isDate(O))return O.toISOString();if(!f&&os.isBlob(O))throw new yp("Blob is not supported. Use a Buffer instead.");return os.isArrayBuffer(O)||os.isTypedArray(O)?f&&typeof Blob=="function"?new Blob([O]):Buffer.from(O):O}function o(O,m,w){let A=O;if(O&&!w&&typeof O=="object"){if(os.endsWith(m,"{}"))m=i?m:m.slice(0,-2),O=JSON.stringify(O);else if(os.isArray(O)&&N41(O)||(os.isFileList(O)||os.endsWith(m,"[]"))&&(A=os.toArray(O)))return m=_Fd(m),A.forEach(function(q,D){!(os.isUndefined(q)||q===null)&&t.append(u===!0?pFd([m],D,a):u===null?m:m+"[]",s(q))}),!1}return Rps(O)?!0:(t.append(pFd(w,m,a),s(O)),!1)}let c=[],b=Object.assign(L41,{defaultVisitor:o,convertValue:s,isVisitable:Rps});function g(O,m){if(!os.isUndefined(O)){if(c.indexOf(O)!==-1)throw Error("Circular reference detected in "+m.join("."));c.push(O),os.forEach(O,function(A,M){(!(os.isUndefined(A)||A===null)&&n.call(t,A,os.isString(M)?M.trim():M,m,b))===!0&&g(A,m?m.concat(M):[M])}),c.pop()}}if(!os.isObject(e))throw new TypeError("data must be an object");return g(e),t}var tkr=U41;function hFd(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(i){return t[i]})}function yFd(e,t){this._pairs=[],e&&tkr(e,this,t)}var vFd=yFd.prototype;vFd.append=function(t,r){this._pairs.push([t,r])};vFd.toString=function(t){let r=t?function(i){return t.call(this,i,hFd)}:hFd;return this._pairs.map(function(n){return r(n[0])+"="+r(n[1])},"").join("&")};var bFd=yFd;function V41(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Gji(e,t,r){if(!t)return e;let i=r&&r.encode||V41,n=r&&r.serialize,a;if(n?a=n(t,r):a=os.isURLSearchParams(t)?t.toString():new bFd(t,r).toString(i),a){let u=e.indexOf("#");u!==-1&&(e=e.slice(0,u)),e+=(e.indexOf("?")===-1?"?":"&")+a}return e}var Fps=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){os.forEach(this.handlers,function(i){i!==null&&t(i)})}},Nps=Fps;var zun={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var gFd=Di(require("url"),1),OFd=gFd.default.URLSearchParams;var mFd={isNode:!0,classes:{URLSearchParams:OFd,FormData:xno,Blob:typeof Blob<"u"&&Blob||null},protocols:["http","https","file","data"]};var Vps={};Ro(Vps,{hasBrowserEnv:()=>Ups,hasStandardBrowserEnv:()=>W41,hasStandardBrowserWebWorkerEnv:()=>H41,navigator:()=>Lps,origin:()=>$41});var Ups=typeof window<"u"&&typeof document<"u",Lps=typeof navigator=="object"&&navigator||void 0,W41=Ups&&(!Lps||["ReactNative","NativeScript","NS"].indexOf(Lps.product)<0),H41=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",$41=Ups&&window.location.href||"http://localhost";var sT={...Vps,...mFd};function Wps(e,t){return tkr(e,new sT.classes.URLSearchParams,Object.assign({visitor:function(r,i,n,a){return sT.isNode&&os.isBuffer(r)?(this.append(i,r.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)}},t))}function G41(e){return os.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function Q41(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 J41(e){function t(r,i,n,a){let u=r[a++];if(u==="__proto__")return!0;let l=Number.isFinite(+u),f=a>=r.length;return u=!u&&os.isArray(n)?n.length:u,f?(os.hasOwnProp(n,u)?n[u]=[n[u],i]:n[u]=i,!l):((!n[u]||!os.isObject(n[u]))&&(n[u]=[]),t(r,i,n[u],a)&&os.isArray(n[u])&&(n[u]=Q41(n[u])),!l)}if(os.isFormData(e)&&os.isFunction(e.entries)){let r={};return os.forEachEntry(e,(i,n)=>{t(G41(i),n,r,0)}),r}return null}var Ino=J41;function K41(e,t,r){if(os.isString(e))try{return(t||JSON.parse)(e),os.trim(e)}catch(i){if(i.name!=="SyntaxError")throw i}return(r||JSON.stringify)(e)}var Hps={transitional:zun,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){let i=r.getContentType()||"",n=i.indexOf("application/json")>-1,a=os.isObject(t);if(a&&os.isHTMLForm(t)&&(t=new FormData(t)),os.isFormData(t))return n?JSON.stringify(Ino(t)):t;if(os.isArrayBuffer(t)||os.isBuffer(t)||os.isStream(t)||os.isFile(t)||os.isBlob(t)||os.isReadableStream(t))return t;if(os.isArrayBufferView(t))return t.buffer;if(os.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 Wps(t,this.formSerializer).toString();if((l=os.isFileList(t))||i.indexOf("multipart/form-data")>-1){let f=this.env&&this.env.FormData;return tkr(l?{"files[]":t}:t,f&&new f,this.formSerializer)}}return a||n?(r.setContentType("application/json",!1),K41(t)):t}],transformResponse:[function(t){let r=this.transitional||Hps.transitional,i=r&&r.forcedJSONParsing,n=this.responseType==="json";if(os.isResponse(t)||os.isReadableStream(t))return t;if(t&&os.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"?yp.from(l,yp.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:sT.classes.FormData,Blob:sT.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};os.forEach(["delete","get","head","post","put","patch"],e=>{Hps.headers[e]={}});var Run=Hps;var Y41=os.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"]),PFd=e=>{let t={},r,i,n;return e&&e.split(`
|
|
1687
|
+
`}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&&Rio(this.rl,t.length+this.rl.line.length),this.rl.output.write(t)}};var qzd=Di(jzd(),1),Tzd=Di(Wls(),1),Czd=Di(Azd(),1),rM=Di(dwe(),1),Bzd=Di(O$n(),1);var uno=Di(dwe(),1),Mzd=Di(O$n(),1),sno=function(e,t,r){return typeof e[t]!="function"?(0,uno.of)(e):(0,uno.from)((0,Mzd.default)(e[t])(r).then(i=>(e[t]=i,e)))};var TGn={isPlainObject:qzd.default,set:Czd.default,get:Tzd.default},jun=class extends Uji{constructor(t,r){super(r),this.prompts=t}run(t,r){this.answers=TGn.isPlainObject(r)?{...r}:{},TGn.isPlainObject(t)&&(t=Object.values(t).every(n=>TGn.isPlainObject(n)&&n.name===void 0)?Object.entries(t).map(([n,a])=>({name:n,...a})):[t]);let i=Array.isArray(t)?(0,rM.from)(t):t;return this.process=i.pipe((0,rM.concatMap)(this.processQuestion.bind(this)),(0,rM.publish)()),this.process.connect(),this.process.pipe((0,rM.reduce)((n,a)=>(TGn.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,rM.defer)(()=>(0,rM.of)(t).pipe((0,rM.concatMap)(this.setDefaultType.bind(this)),(0,rM.concatMap)(this.filterIfRunnable.bind(this)),(0,rM.concatMap)(()=>sno(t,"message",this.answers)),(0,rM.concatMap)(()=>sno(t,"default",this.answers)),(0,rM.concatMap)(()=>sno(t,"choices",this.answers)),(0,rM.concatMap)(this.fetchAnswer.bind(this))))}fetchAnswer(t){let r=this.prompts[t.type];return this.activePrompt=new r(t,this.rl,this.answers),(0,rM.defer)(()=>(0,rM.from)(this.activePrompt.run().then(i=>({name:t.name,answer:i}))))}setDefaultType(t){return this.prompts[t.type]||(t.type="input"),(0,rM.defer)(()=>(0,rM.of)(t))}filterIfRunnable(t){if(t.askAnswered!==!0&&TGn.get(this.answers,t.name)!==void 0)return(0,rM.empty)();if(t.when===!1)return(0,rM.empty)();if(typeof t.when!="function")return(0,rM.of)(t);let{answers:r}=this;return(0,rM.defer)(()=>(0,rM.from)((0,Bzd.default)(t.when)(r).then(i=>{if(i)return t})).pipe((0,rM.filter)(i=>i!=null)))}};function xzd(e){let t=function(r,i){let n;try{n=new jun(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",pGn),this.registerPrompt("input",Bji),this.registerPrompt("number",_Gn),this.registerPrompt("confirm",hGn),this.registerPrompt("rawlist",yGn),this.registerPrompt("expand",vGn),this.registerPrompt("checkbox",bGn),this.registerPrompt("password",gGn),this.registerPrompt("editor",MGn)},t.restoreDefaultPrompts(),t}var Fds=xzd();function f71(e,t){Fds.registerPrompt(e,t)}function d71(){Fds.restoreDefaultPrompts()}var p71={prompt:Fds,ui:{BottomBar:qGn,Prompt:jun},createPromptModule:xzd,registerPrompt:f71,restoreDefaultPrompts:d71,Separator:yte},cno=p71;var HRd=Di(Izd()),R61="4.2.1",n2t;(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"})(n2t||(n2t={}));function F61(e,t){if(!e)throw new Error(t)}function N61(e){return e?.replace(/\/+$/,"")}async function L61(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 U61(){return new Date().getTime()}function zRd(){return new Date().toISOString()}function $Rd(e,t){let r=setTimeout(e,t);return r?.unref&&r?.unref(),r}var WGn=String.fromCharCode,RRd="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Pno={};function V61(e,t){if(!Pno[e]){Pno[e]={};for(let r=0;r<e.length;r++)Pno[e][e.charAt(r)]=r}return Pno[e][t]}var HGn={compressToBase64:function(e){if(e==null)return"";let t=HGn._compress(e,6,function(r){return RRd.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:HGn._decompress(e.length,32,function(t){return V61(RRd,e.charAt(t))})},compress:function(e){return HGn._compress(e,16,function(t){return WGn(t)})},_compress:function(e,t,r){if(e==null)return"";let i={},n={},a=[],u,l,f="",s="",o="",c=2,b=3,g=2,O=0,m=0,w;for(w=0;w<e.length;w+=1)if(f=e.charAt(w),Object.prototype.hasOwnProperty.call(i,f)||(i[f]=b++,n[f]=!0),s=o+f,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(f)}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:HGn._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,f=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=WGn(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=WGn(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,f),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++]=WGn(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++]=WGn(b),w=l-1,u--;break;case 2:return n.join("")}if(u==0&&(u=Math.pow(2,f),f++),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,f),f++)}}},wps=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 jno="0123456789abcdef",wno=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+=jno.charAt(this.bytes[r]>>>4),t+=jno.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+=jno.charAt(this.bytes[r]>>>4),t+=jno.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}},Sps=class{constructor(t){this.timestamp=0,this.counter=0,this.random=t??W61()}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 wno.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,wno.ofInner(t)}},W61=()=>({nextUint32:()=>Math.trunc(Math.random()*65536)*65536+Math.trunc(Math.random()*65536)}),FRd,NRd=()=>H61().toString(),H61=()=>(FRd||(FRd=new Sps)).generate(),Sno=class extends Error{constructor(t){super("HTTP error while fetching PostHog: "+t.status),this.response=t,this.name="PostHogFetchHttpError"}},$Gn=class extends Error{constructor(t){super("Network error while fetching PostHog",t instanceof Error?{cause:t}:{}),this.error=t,this.name="PostHogFetchNetworkError"}};function LRd(e){return typeof e=="object"&&(e instanceof Sno||e instanceof $Gn)}var Dps=class{constructor(t,r){this.flushPromise=null,this.disableGeoip=!0,this.historicalMigration=!1,this.disabled=!1,this.defaultOptIn=!0,this.pendingPromises={},this._events=new wps,this._isInitialized=!1,F61(t,"You must pass your PostHog project's api key."),this.apiKey=t,this.host=N61(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:LRd},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(n2t.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty(n2t.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty(n2t.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=NRd();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(f=>f.json()).catch(f=>{this._events.emit("error",f)})}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 f=l[t];return f===void 0&&(f=!1),f}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 f=l[t];return f===void 0?null:f}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),f=l?.featureFlags,s=l?.featureFlagPayloads,o=s;return s&&(o=Object.fromEntries(Object.entries(s).map(([c,b])=>[c,this._parsePayload(b)]))),{flags:f,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:zRd(),uuid:i?.uuid?i.uuid:NRd()};(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(n2t.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(n2t.Queue,u),this._events.emit(t,n),u.length>=this.flushAt&&this.flushBackground(),this.flushInterval&&!this._flushTimer&&(this._flushTimer=$Rd(()=>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(n2t.Queue)||[];if(!t.length)return[];let r=t.slice(0,this.maxBatchSize),i=r.map(s=>s.message),n=()=>{let s=this.getPersistedProperty(n2t.Queue)||[];this.setPersistedProperty(n2t.Queue,s.slice(r.length))},a={api_key:this.apiKey,batch:i,sent_at:zRd()};this.historicalMigration&&(a.historical_migration=!0);let u=JSON.stringify(a),l=this.captureMode==="form"?`${this.host}/e/?ip=1&_=${U61()}&v=${this.getLibraryVersion()}`:`${this.host}/batch/`,f=this.captureMode==="form"?{method:"POST",mode:"no-cors",credentials:"omit",headers:{...this.getCustomHeaders(),"Content-Type":"application/x-www-form-urlencoded"},body:`data=${encodeURIComponent(HGn.compressToBase64(u))}&compression=lz64`}:{method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:u};try{await this.fetchWithRetry(l,f)}catch(s){throw s instanceof $Gn||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 f=new AbortController;return setTimeout(()=>f.abort(),l),f.signal}),await L61(async()=>{let u=null;try{u=await this.fetch(t,{signal:AbortSignal.timeout(n??this.requestTimeout),...r})}catch(f){throw new $Gn(f)}if(!(r.mode==="no-cors")&&(u.status<200||u.status>=400))throw new Sno(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(n2t.Queue)||[]).length!==0;){await this.flush();let n=Date.now();if(r<n)break}}catch(r){if(!LRd(r))throw r;this.logMsgIfDebug(()=>console.error("Error while shutting down PostHog",r))}}},Eps=class{constructor(){this._memoryStorage={}}getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}},Aps=typeof fetch<"u"?fetch:typeof global.fetch<"u"?global.fetch:void 0;if(!Aps){let e=IRd();Aps=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 GRd=Aps,$61=1152921504606847e3,G61=["is_not"],Dno=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},i2=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},Mps=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||GRd,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 f of this.featureFlags)if(t===f.key){l=f;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(f){f instanceof i2?this.logMsgIfDebug(()=>console.debug(`InconclusiveMatchError when computing flag locally: ${t}: ${f}`)):f instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${t}: ${f}`))}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 f=>{try{let s=this.computeFlagLocally(f,t,r,i,n);a[f.key]=s;let o=await this.computeFeatureFlagPayloadLocally(f.key,s);o&&(u[f.key]=o)}catch(s){s instanceof i2||s instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${f.key}: ${s}`)),l=!0}}),{response:a,payloads:u,fallbackToDecide:l}}computeFlagLocally(t,r,i={},n={},a={}){if(t.ensure_experience_continuity)throw new i2("Flag has experience continuity enabled");if(!t.active)return!1;let l=(t.filters||{}).aggregation_group_type_index;if(l!=null){let f=this.groupTypeMapping[String(l)];if(!f)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Unknown group type index ${l} for feature flag ${t.key}`)),new i2("Flag has unknown group type index");if(!(f 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[f];return this.matchFeatureFlagProperties(t,i[f],s)}else return this.matchFeatureFlagProperties(t,r,n)}matchFeatureFlagProperties(t,r,i){let n=t.filters||{},a=n.groups||[],u=!1,l,f=[...a].sort((s,o)=>{let c=!!s.variant,b=!!o.variant;return c&&b?0:c?-1:b?1:0});for(let s of f)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 i2)u=!0;else throw o}if(l!==void 0)return l;if(u)throw new i2("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 f=l.type,s=!1;if(f==="cohort"?s=JRd(l,n,this.cohorts,this.debugMode):s=QRd(l,n,u),!s)return!1}if(a==null)return!0}return!(a!=null&&URd(t.key,r)>a/100)}getMatchingVariant(t,r){let i=URd(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 Dno("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 Dno&&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=$Rd(()=>{n.abort()},this.timeout),r.signal=n.signal}try{return await this.fetch(t,r)}finally{clearTimeout(i)}}stopPoller(){clearTimeout(this.poller)}};function URd(e,t,r=""){let i=(0,HRd.createHash)();return i.update(`${e}.${t}${r}`),parseInt(i.digest("hex").slice(0,15),16)/$61}function QRd(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 i2("Operator is_not_set is not supported")}else throw new i2(`Property ${i} not found in propertyValues`);let u=t[i];if(u==null&&!G61.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 f(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 VRd(String(n))&&String(u).match(String(n))!==null;case"not_regex":return VRd(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"?f(u,String(n),a):f(u,s,a):f(String(u),String(n),a)}case"is_date_after":case"is_date_before":{let s=Q61(String(n));if(s==null&&(s=WRd(n)),s==null)throw new i2(`Invalid date: ${n}`);let o=WRd(u);return["is_date_before"].includes(a)?o<s:o>s}default:throw new i2(`Unknown operator: ${a}`)}}function JRd(e,t,r,i=!1){let n=String(e.value);if(!(n in r))throw new i2("can't match cohort without a given cohort property value");let a=r[n];return KRd(a,t,r,i)}function KRd(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 f=KRd(l,t,r,i);if(n==="AND"){if(!f)return!1}else if(f)return!0}catch(f){if(f instanceof i2)i&&console.debug(`Failed to compute property ${l} locally: ${f}`),u=!0;else throw f}if(u)throw new i2("Can't match cohort without a given cohort property value");return n==="AND"}else{for(let l of a)try{let f;l.type==="cohort"?f=JRd(l,t,r,i):f=QRd(l,t);let s=l.negation||!1;if(n==="AND"){if(!f&&!s||f&&s)return!1}else if(f&&!s||!f&&s)return!0}catch(f){if(f instanceof i2)i&&console.debug(`Failed to compute property ${l} locally: ${f}`),u=!0;else throw f}if(u)throw new i2("can't match cohort without a given cohort property value");return n==="AND"}}function VRd(e){try{return new RegExp(e),!0}catch{return!1}}function WRd(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 i2(`${e} is in an invalid date format`)}else throw new i2(`The date provided ${e} must be a string, number, or date object`)}function Q61(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 J61=30*1e3,K61=50*1e3,qun=class extends Dps{constructor(t,r={}){super(t,r),this._memoryStorage=new Eps,this.options=r,r.personalApiKey&&(this.featureFlagsPoller=new Mps({pollingInterval:typeof r.featureFlagsPollingInterval=="number"?r.featureFlagsPollingInterval:J61,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||K61}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):GRd(t,r)}getLibraryId(){return"posthog-node"}getLibraryVersion(){return R61}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:f}){let s=b=>{super.captureStateless(t,r,b,{timestamp:u,disableGeoip:l,uuid:f})},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:f,groupProperties:s}=i||{},o=this.addLocalPersonAndGroupProperties(r,n,f,s);f=o.allPersonProperties,s=o.allGroupProperties,u==null&&(u=!1),l==null&&(l=!0);let c=await this.featureFlagsPoller?.getFeatureFlag(t,r,n,f,s),b=c!==void 0;!b&&!u&&(c=await super.getFeatureFlagStateless(t,r,n,f,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:f,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),f==null&&(f=!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||{},f=this.addLocalPersonAndGroupProperties(t,i,u,l);u=f.allPersonProperties,l=f.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}}},qps=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})}};qps.POSTHOG_ID_TAG="posthog_distinct_id";var Eno=class{posthog;constructor({posthogApiKey:t}){this.posthog=new qun(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"0.51.25",usingAccessToken:!0}})}async flush(){await this.posthog.flush()}};var GGn=class{async sendEvent(){}async identify(){}async flush(){}};var Tun=require("fs/promises"),kRd=require("os"),eFd=require("path");var YRd=Di(require("crypto")),Mno=new Uint8Array(256),Ano=Mno.length;function Tps(){return Ano>Mno.length-16&&(YRd.default.randomFillSync(Mno),Ano=0),Mno.slice(Ano,Ano+=16)}var xL=[];for(let e=0;e<256;++e)xL.push((e+256).toString(16).slice(1));function XRd(e,t=0){return xL[e[t+0]]+xL[e[t+1]]+xL[e[t+2]]+xL[e[t+3]]+"-"+xL[e[t+4]]+xL[e[t+5]]+"-"+xL[e[t+6]]+xL[e[t+7]]+"-"+xL[e[t+8]]+xL[e[t+9]]+"-"+xL[e[t+10]]+xL[e[t+11]]+xL[e[t+12]]+xL[e[t+13]]+xL[e[t+14]]+xL[e[t+15]]}var ZRd=Di(require("crypto")),Cps={randomUUID:ZRd.default.randomUUID};function Y61(e,t,r){if(Cps.randomUUID&&!t&&!e)return Cps.randomUUID();e=e||{};let i=e.random||(e.rng||Tps)();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 XRd(i)}var ZCe=Y61;var X61="id",Z61=".fern",QGn=class{posthog;userId;constructor({token:t,posthogApiKey:r}){this.posthog=new qun(r),this.userId=t==null?void 0:Yas(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.51.25",...t,...t.properties}})}async flush(){await this.posthog.flush()}persistedDistinctId;async getPersistedDistinctId(){if(this.persistedDistinctId==null){let t=ku(Kl.of((0,kRd.homedir)()),yo.of(Z61),yo.of(X61));await zf(t)||(await(0,Tun.mkdir)((0,eFd.dirname)(t),{recursive:!0}),await(0,Tun.writeFile)(t,ZCe())),this.persistedDistinctId=(await(0,Tun.readFile)(t)).toString()}return this.persistedDistinctId}};var Bps;async function Cun(){return Bps==null&&(Bps=await k61()),Bps}async function k61(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new GGn;let r=await LXa();return r!=null?new QGn({token:r,posthogApiKey:e}):await NXa()!=null?new Eno({posthogApiKey:e}):new QGn({token:void 0,posthogApiKey:e})}catch{return new GGn}}function JGn(e,t){return function(){return e.apply(t,arguments)}}var{toString:e41}=Object.prototype,{getPrototypeOf:zps}=Object,Tno=(e=>t=>{let r=e41.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),a2t=e=>(e=e.toLowerCase(),t=>Tno(t)===e),Cno=e=>t=>typeof t===e,{isArray:xun}=Array,KGn=Cno("undefined");function t41(e){return e!==null&&!KGn(e)&&e.constructor!==null&&!KGn(e.constructor)&&_we(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var iFd=a2t("ArrayBuffer");function r41(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&iFd(e.buffer),t}var i41=Cno("string"),_we=Cno("function"),nFd=Cno("number"),Bno=e=>e!==null&&typeof e=="object",n41=e=>e===!0||e===!1,qno=e=>{if(Tno(e)!=="object")return!1;let t=zps(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},a41=a2t("Date"),o41=a2t("File"),u41=a2t("Blob"),s41=a2t("FileList"),c41=e=>Bno(e)&&_we(e.pipe),l41=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||_we(e.append)&&((t=Tno(e))==="formdata"||t==="object"&&_we(e.toString)&&e.toString()==="[object FormData]"))},f41=a2t("URLSearchParams"),[d41,p41,_41,h41]=["ReadableStream","Request","Response","Headers"].map(a2t),y41=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function YGn(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let i,n;if(typeof e!="object"&&(e=[e]),xun(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 aFd(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 $ji=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,oFd=e=>!KGn(e)&&e!==$ji;function Ips(){let{caseless:e}=oFd(this)&&this||{},t={},r=(i,n)=>{let a=e&&aFd(t,n)||n;qno(t[a])&&qno(i)?t[a]=Ips(t[a],i):qno(i)?t[a]=Ips({},i):xun(i)?t[a]=i.slice():t[a]=i};for(let i=0,n=arguments.length;i<n;i++)arguments[i]&&YGn(arguments[i],r);return t}var v41=(e,t,r,{allOwnKeys:i}={})=>(YGn(t,(n,a)=>{r&&_we(n)?e[a]=JGn(n,r):e[a]=n},{allOwnKeys:i}),e),b41=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),g41=(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)},O41=(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&&zps(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},m41=(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},P41=e=>{if(!e)return null;if(xun(e))return e;let t=e.length;if(!nFd(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},j41=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&zps(Uint8Array)),w41=(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])}},S41=(e,t)=>{let r,i=[];for(;(r=e.exec(t))!==null;)i.push(r);return i},D41=a2t("HTMLFormElement"),E41=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,i,n){return i.toUpperCase()+n}),tFd=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),A41=a2t("RegExp"),uFd=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),i={};YGn(r,(n,a)=>{let u;(u=t(n,a,e))!==!1&&(i[a]=u||n)}),Object.defineProperties(e,i)},M41=e=>{uFd(e,(t,r)=>{if(_we(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let i=e[r];if(_we(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+"'")})}})},q41=(e,t)=>{let r={},i=n=>{n.forEach(a=>{r[a]=!0})};return xun(e)?i(e):i(String(e).split(t)),r},T41=()=>{},C41=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t,xps="abcdefghijklmnopqrstuvwxyz",rFd="0123456789",sFd={DIGIT:rFd,ALPHA:xps,ALPHA_DIGIT:xps+xps.toUpperCase()+rFd},B41=(e=16,t=sFd.ALPHA_DIGIT)=>{let r="",{length:i}=t;for(;e--;)r+=t[Math.random()*i|0];return r};function x41(e){return!!(e&&_we(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}var I41=e=>{let t=new Array(10),r=(i,n)=>{if(Bno(i)){if(t.indexOf(i)>=0)return;if(!("toJSON"in i)){t[n]=i;let a=xun(i)?[]:{};return YGn(i,(u,l)=>{let f=r(u,n+1);!KGn(f)&&(a[l]=f)}),t[n]=void 0,a}}return i};return r(e,0)},z41=a2t("AsyncFunction"),R41=e=>e&&(Bno(e)||_we(e))&&_we(e.then)&&_we(e.catch),cFd=((e,t)=>e?setImmediate:t?((r,i)=>($ji.addEventListener("message",({source:n,data:a})=>{n===$ji&&a===r&&i.length&&i.shift()()},!1),n=>{i.push(n),$ji.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",_we($ji.postMessage)),F41=typeof queueMicrotask<"u"?queueMicrotask.bind($ji):typeof process<"u"&&process.nextTick||cFd,os={isArray:xun,isArrayBuffer:iFd,isBuffer:t41,isFormData:l41,isArrayBufferView:r41,isString:i41,isNumber:nFd,isBoolean:n41,isObject:Bno,isPlainObject:qno,isReadableStream:d41,isRequest:p41,isResponse:_41,isHeaders:h41,isUndefined:KGn,isDate:a41,isFile:o41,isBlob:u41,isRegExp:A41,isFunction:_we,isStream:c41,isURLSearchParams:f41,isTypedArray:j41,isFileList:s41,forEach:YGn,merge:Ips,extend:v41,trim:y41,stripBOM:b41,inherits:g41,toFlatObject:O41,kindOf:Tno,kindOfTest:a2t,endsWith:m41,toArray:P41,forEachEntry:w41,matchAll:S41,isHTMLForm:D41,hasOwnProperty:tFd,hasOwnProp:tFd,reduceDescriptors:uFd,freezeMethods:M41,toObjectSet:q41,toCamelCase:E41,noop:T41,toFiniteNumber:C41,findKey:aFd,global:$ji,isContextDefined:oFd,ALPHABET:sFd,generateString:B41,isSpecCompliantForm:x41,toJSONObject:I41,isAsyncFn:z41,isThenable:R41,setImmediate:cFd,asap:F41};function Iun(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)}os.inherits(Iun,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:os.toJSONObject(this.config),code:this.code,status:this.status}}});var lFd=Iun.prototype,fFd={};["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=>{fFd[e]={value:e}});Object.defineProperties(Iun,fFd);Object.defineProperty(lFd,"isAxiosError",{value:!0});Iun.from=(e,t,r,i,n,a)=>{let u=Object.create(lFd);return os.toFlatObject(e,u,function(f){return f!==Error.prototype},l=>l!=="isAxiosError"),Iun.call(u,e.message,t,r,i,n),u.cause=e,u.name=e.name,a&&Object.assign(u,a),u};var yp=Iun;var dFd=Di(CLn(),1),xno=dFd.default;function Rps(e){return os.isPlainObject(e)||os.isArray(e)}function _Fd(e){return os.endsWith(e,"[]")?e.slice(0,-2):e}function pFd(e,t,r){return e?e.concat(t).map(function(n,a){return n=_Fd(n),!r&&a?"["+n+"]":n}).join(r?".":""):t}function N41(e){return os.isArray(e)&&!e.some(Rps)}var L41=os.toFlatObject(os,{},null,function(t){return/^is[A-Z]/.test(t)});function U41(e,t,r){if(!os.isObject(e))throw new TypeError("target must be an object");t=t||new(xno||FormData),r=os.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,w){return!os.isUndefined(w[m])});let i=r.metaTokens,n=r.visitor||o,a=r.dots,u=r.indexes,f=(r.Blob||typeof Blob<"u"&&Blob)&&os.isSpecCompliantForm(t);if(!os.isFunction(n))throw new TypeError("visitor must be a function");function s(O){if(O===null)return"";if(os.isDate(O))return O.toISOString();if(!f&&os.isBlob(O))throw new yp("Blob is not supported. Use a Buffer instead.");return os.isArrayBuffer(O)||os.isTypedArray(O)?f&&typeof Blob=="function"?new Blob([O]):Buffer.from(O):O}function o(O,m,w){let A=O;if(O&&!w&&typeof O=="object"){if(os.endsWith(m,"{}"))m=i?m:m.slice(0,-2),O=JSON.stringify(O);else if(os.isArray(O)&&N41(O)||(os.isFileList(O)||os.endsWith(m,"[]"))&&(A=os.toArray(O)))return m=_Fd(m),A.forEach(function(q,D){!(os.isUndefined(q)||q===null)&&t.append(u===!0?pFd([m],D,a):u===null?m:m+"[]",s(q))}),!1}return Rps(O)?!0:(t.append(pFd(w,m,a),s(O)),!1)}let c=[],b=Object.assign(L41,{defaultVisitor:o,convertValue:s,isVisitable:Rps});function g(O,m){if(!os.isUndefined(O)){if(c.indexOf(O)!==-1)throw Error("Circular reference detected in "+m.join("."));c.push(O),os.forEach(O,function(A,M){(!(os.isUndefined(A)||A===null)&&n.call(t,A,os.isString(M)?M.trim():M,m,b))===!0&&g(A,m?m.concat(M):[M])}),c.pop()}}if(!os.isObject(e))throw new TypeError("data must be an object");return g(e),t}var tkr=U41;function hFd(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(i){return t[i]})}function yFd(e,t){this._pairs=[],e&&tkr(e,this,t)}var vFd=yFd.prototype;vFd.append=function(t,r){this._pairs.push([t,r])};vFd.toString=function(t){let r=t?function(i){return t.call(this,i,hFd)}:hFd;return this._pairs.map(function(n){return r(n[0])+"="+r(n[1])},"").join("&")};var bFd=yFd;function V41(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Gji(e,t,r){if(!t)return e;let i=r&&r.encode||V41,n=r&&r.serialize,a;if(n?a=n(t,r):a=os.isURLSearchParams(t)?t.toString():new bFd(t,r).toString(i),a){let u=e.indexOf("#");u!==-1&&(e=e.slice(0,u)),e+=(e.indexOf("?")===-1?"?":"&")+a}return e}var Fps=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){os.forEach(this.handlers,function(i){i!==null&&t(i)})}},Nps=Fps;var zun={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var gFd=Di(require("url"),1),OFd=gFd.default.URLSearchParams;var mFd={isNode:!0,classes:{URLSearchParams:OFd,FormData:xno,Blob:typeof Blob<"u"&&Blob||null},protocols:["http","https","file","data"]};var Vps={};Ro(Vps,{hasBrowserEnv:()=>Ups,hasStandardBrowserEnv:()=>W41,hasStandardBrowserWebWorkerEnv:()=>H41,navigator:()=>Lps,origin:()=>$41});var Ups=typeof window<"u"&&typeof document<"u",Lps=typeof navigator=="object"&&navigator||void 0,W41=Ups&&(!Lps||["ReactNative","NativeScript","NS"].indexOf(Lps.product)<0),H41=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",$41=Ups&&window.location.href||"http://localhost";var sT={...Vps,...mFd};function Wps(e,t){return tkr(e,new sT.classes.URLSearchParams,Object.assign({visitor:function(r,i,n,a){return sT.isNode&&os.isBuffer(r)?(this.append(i,r.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)}},t))}function G41(e){return os.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function Q41(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 J41(e){function t(r,i,n,a){let u=r[a++];if(u==="__proto__")return!0;let l=Number.isFinite(+u),f=a>=r.length;return u=!u&&os.isArray(n)?n.length:u,f?(os.hasOwnProp(n,u)?n[u]=[n[u],i]:n[u]=i,!l):((!n[u]||!os.isObject(n[u]))&&(n[u]=[]),t(r,i,n[u],a)&&os.isArray(n[u])&&(n[u]=Q41(n[u])),!l)}if(os.isFormData(e)&&os.isFunction(e.entries)){let r={};return os.forEachEntry(e,(i,n)=>{t(G41(i),n,r,0)}),r}return null}var Ino=J41;function K41(e,t,r){if(os.isString(e))try{return(t||JSON.parse)(e),os.trim(e)}catch(i){if(i.name!=="SyntaxError")throw i}return(r||JSON.stringify)(e)}var Hps={transitional:zun,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){let i=r.getContentType()||"",n=i.indexOf("application/json")>-1,a=os.isObject(t);if(a&&os.isHTMLForm(t)&&(t=new FormData(t)),os.isFormData(t))return n?JSON.stringify(Ino(t)):t;if(os.isArrayBuffer(t)||os.isBuffer(t)||os.isStream(t)||os.isFile(t)||os.isBlob(t)||os.isReadableStream(t))return t;if(os.isArrayBufferView(t))return t.buffer;if(os.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 Wps(t,this.formSerializer).toString();if((l=os.isFileList(t))||i.indexOf("multipart/form-data")>-1){let f=this.env&&this.env.FormData;return tkr(l?{"files[]":t}:t,f&&new f,this.formSerializer)}}return a||n?(r.setContentType("application/json",!1),K41(t)):t}],transformResponse:[function(t){let r=this.transitional||Hps.transitional,i=r&&r.forcedJSONParsing,n=this.responseType==="json";if(os.isResponse(t)||os.isReadableStream(t))return t;if(t&&os.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"?yp.from(l,yp.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:sT.classes.FormData,Blob:sT.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};os.forEach(["delete","get","head","post","put","patch"],e=>{Hps.headers[e]={}});var Run=Hps;var Y41=os.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"]),PFd=e=>{let t={},r,i,n;return e&&e.split(`
|
|
1688
1688
|
`).forEach(function(u){n=u.indexOf(":"),r=u.substring(0,n).trim().toLowerCase(),i=u.substring(n+1).trim(),!(!r||t[r]&&Y41[r])&&(r==="set-cookie"?t[r]?t[r].push(i):t[r]=[i]:t[r]=t[r]?t[r]+", "+i:i)}),t};var jFd=Symbol("internals");function XGn(e){return e&&String(e).trim().toLowerCase()}function zno(e){return e===!1||e==null?e:os.isArray(e)?e.map(zno):String(e)}function X41(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 Z41=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function $ps(e,t,r,i,n){if(os.isFunction(i))return i.call(this,t,r);if(n&&(t=r),!!os.isString(t)){if(os.isString(i))return t.indexOf(i)!==-1;if(os.isRegExp(i))return i.test(t)}}function k41(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,i)=>r.toUpperCase()+i)}function e81(e,t){let r=os.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 Fun=class{constructor(t){t&&this.set(t)}set(t,r,i){let n=this;function a(l,f,s){let o=XGn(f);if(!o)throw new Error("header name must be a non-empty string");let c=os.findKey(n,o);(!c||n[c]===void 0||s===!0||s===void 0&&n[c]!==!1)&&(n[c||f]=zno(l))}let u=(l,f)=>os.forEach(l,(s,o)=>a(s,o,f));if(os.isPlainObject(t)||t instanceof this.constructor)u(t,r);else if(os.isString(t)&&(t=t.trim())&&!Z41(t))u(PFd(t),r);else if(os.isHeaders(t))for(let[l,f]of t.entries())a(f,l,i);else t!=null&&a(r,t,i);return this}get(t,r){if(t=XGn(t),t){let i=os.findKey(this,t);if(i){let n=this[i];if(!r)return n;if(r===!0)return X41(n);if(os.isFunction(r))return r.call(this,n,i);if(os.isRegExp(r))return r.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,r){if(t=XGn(t),t){let i=os.findKey(this,t);return!!(i&&this[i]!==void 0&&(!r||$ps(this,this[i],i,r)))}return!1}delete(t,r){let i=this,n=!1;function a(u){if(u=XGn(u),u){let l=os.findKey(i,u);l&&(!r||$ps(i,i[l],l,r))&&(delete i[l],n=!0)}}return os.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||$ps(this,this[a],a,t,!0))&&(delete this[a],n=!0)}return n}normalize(t){let r=this,i={};return os.forEach(this,(n,a)=>{let u=os.findKey(i,a);if(u){r[u]=zno(n),delete r[a];return}let l=t?k41(a):String(a).trim();l!==a&&delete r[a],r[l]=zno(n),i[l]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){let r=Object.create(null);return os.forEach(this,(i,n)=>{i!=null&&i!==!1&&(r[n]=t&&os.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(`
|
|
1689
1689
|
`)}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[jFd]=this[jFd]={accessors:{}}).accessors,n=this.prototype;function a(u){let l=XGn(u);i[l]||(e81(n,u),i[l]=!0)}return os.isArray(t)?t.forEach(a):a(t),this}};Fun.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);os.reduceDescriptors(Fun.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(i){this[r]=i}}});os.freezeMethods(Fun);var sI=Fun;function ZGn(e,t){let r=this||Run,i=t||r,n=sI.from(i.headers),a=i.data;return os.forEach(e,function(l){a=l.call(r,a,n.normalize(),t?t.status:void 0)}),n.normalize(),a}function kGn(e){return!!(e&&e.__CANCEL__)}function wFd(e,t,r){yp.call(this,e??"canceled",yp.ERR_CANCELED,t,r),this.name="CanceledError"}os.inherits(wFd,yp,{__CANCEL__:!0});var hwe=wFd;function hGt(e,t,r){let i=r.config.validateStatus;!r.status||!i||i(r.status)?e(r):t(new yp("Request failed with status code "+r.status,[yp.ERR_BAD_REQUEST,yp.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function Gps(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function Qps(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Qji(e,t){return e&&!Gps(t)?Qps(e,t):t}var LFd=Di(BGn(),1),UFd=Di(require("http"),1),VFd=Di(require("https"),1),WFd=Di(require("util"),1),HFd=Di(Zds(),1),R4r=Di(require("zlib"),1);var Jji="1.7.7";function eQn(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}var t81=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;function Jps(e,t,r){let i=r&&r.Blob||sT.classes.Blob,n=eQn(e);if(t===void 0&&i&&(t=!0),n==="data"){e=n.length?e.slice(n.length+1):e;let a=t81.exec(e);if(!a)throw new yp("Invalid URL",yp.ERR_INVALID_URL);let u=a[1],l=a[2],f=a[3],s=Buffer.from(decodeURIComponent(f),l?"base64":"utf8");if(t){if(!i)throw new yp("Blob is not supported",yp.ERR_NOT_SUPPORT);return new i([s],{type:u})}return s}throw new yp("Unsupported protocol "+n,yp.ERR_NOT_SUPPORT)}var Kji=Di(require("stream"),1);var SFd=Di(require("stream"),1);var Kps=Symbol("internals"),Yps=class extends SFd.default.Transform{constructor(t){t=os.toFlatObject(t,{maxRate:0,chunkSize:64*1024,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,(i,n)=>!os.isUndefined(n[i])),super({readableHighWaterMark:t.chunkSize});let r=this[Kps]={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[Kps];return r.onReadCallback&&r.onReadCallback(),super._read(t)}_transform(t,r,i){let n=this[Kps],a=n.maxRate,u=this.readableHighWaterMark,l=n.timeWindow,f=1e3/l,s=a/f,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,A=u,M,q=0;if(a){let D=Date.now();(!n.ts||(q=D-n.ts)>=l)&&(n.ts=D,M=s-n.bytes,n.bytes=M<0?-M:0,q=0),M=s-n.bytes}if(a){if(M<=0)return setTimeout(()=>{O(null,g)},l-q);M<A&&(A=M)}A&&m>A&&m-A>o&&(w=g.subarray(A),g=g.subarray(0,A)),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)})}},Xps=Yps;var $Fd=require("events");var EFd=require("util"),AFd=require("stream");var{asyncIterator:DFd}=Symbol,r81=async function*(e){e.stream?yield*e.stream():e.arrayBuffer?yield await e.arrayBuffer():e[DFd]?yield*e[DFd]():yield e},Rno=r81;var i81=os.ALPHABET.ALPHA_DIGIT+"-_",tQn=new EFd.TextEncoder,rkr=`\r
|
|
1690
1690
|
`,n81=tQn.encode(rkr),a81=2,Zps=class{constructor(t,r){let{escapeName:i}=this.constructor,n=os.isString(r),a=`Content-Disposition: form-data; name="${i(t)}"${!n&&r.name?`; filename="${i(r.name)}"`:""}${rkr}`;n?r=tQn.encode(String(r).replace(/\r?\n|\r\n?/g,rkr)):a+=`Content-Type: ${r.type||"application/octet-stream"}${rkr}`,this.headers=tQn.encode(a+rkr),this.contentLength=n?r.byteLength:r.size,this.size=this.headers.byteLength+this.contentLength+a81,this.name=t,this.value=r}async*encode(){yield this.headers;let{value:t}=this;os.isTypedArray(t)?yield t:yield*Rno(t),yield n81}static escapeName(t){return String(t).replace(/[\r\n"]/g,r=>({"\r":"%0D","\n":"%0A",'"':"%22"})[r])}},o81=(e,t,r)=>{let{tag:i="form-data-boundary",size:n=25,boundary:a=i+"-"+os.generateString(n,i81)}=r||{};if(!os.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=tQn.encode("--"+a+rkr),l=tQn.encode("--"+a+"--"+rkr+rkr),f=l.byteLength,s=Array.from(e.entries()).map(([c,b])=>{let g=new Zps(c,b);return f+=g.size,g});f+=u.byteLength*s.length,f=os.toFiniteNumber(f);let o={"Content-Type":`multipart/form-data; boundary=${a}`};return Number.isFinite(f)&&(o["Content-Length"]=f),t&&t(o),AFd.Readable.from(async function*(){for(let c of s)yield u,yield*c.encode();yield l}())},MFd=o81;var qFd=Di(require("stream"),1),kps=class extends qFd.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)}},TFd=kps;var u81=(e,t)=>os.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,CFd=u81;function s81(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(f){let s=Date.now(),o=i[a];u||(u=s),r[n]=f,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 BFd=s81;function c81(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 xFd=c81;var z4r=(e,t,r=3)=>{let i=0,n=BFd(50,250);return xFd(a=>{let u=a.loaded,l=a.lengthComputable?a.total:void 0,f=u-i,s=n(f),o=u<=l;i=u;let c={loaded:u,total:l,progress:l?u/l:void 0,bytes:f,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)},Nun=(e,t)=>{let r=e!=null;return[i=>t[0]({lengthComputable:r,total:e,loaded:i}),t[1]]},Lun=e=>(...t)=>os.asap(()=>e(...t));var IFd={flush:R4r.default.constants.Z_SYNC_FLUSH,finishFlush:R4r.default.constants.Z_SYNC_FLUSH},l81={flush:R4r.default.constants.BROTLI_OPERATION_FLUSH,finishFlush:R4r.default.constants.BROTLI_OPERATION_FLUSH},zFd=os.isFunction(R4r.default.createBrotliDecompress),{http:f81,https:d81}=HFd.default,p81=/https:?/,RFd=sT.protocols.map(e=>e+":"),FFd=(e,[t,r])=>(e.on("end",r).on("error",r),t);function _81(e,t){e.beforeRedirects.proxy&&e.beforeRedirects.proxy(e),e.beforeRedirects.config&&e.beforeRedirects.config(e,t)}function GFd(e,t,r){let i=t;if(!i&&i!==!1){let n=(0,LFd.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){GFd(a,t,a.href)}}var h81=typeof process<"u"&&os.kindOf(process)==="process",y81=e=>new Promise((t,r)=>{let i,n,a=(f,s)=>{n||(n=!0,i&&i(f,s))},u=f=>{a(f),t(f)},l=f=>{a(f,!0),r(f)};e(u,l,f=>i=f).catch(l)}),v81=({address:e,family:t})=>{if(!os.isString(e))throw TypeError("address must be a string");return{address:e,family:t||(e.indexOf(".")<0?6:4)}},NFd=(e,t)=>v81(os.isObject(e)?e:{address:e,family:t}),QFd=h81&&function(t){return y81(async function(i,n,a){let{data:u,lookup:l,family:f}=t,{responseType:s,responseEncoding:o}=t,c=t.method.toUpperCase(),b,g=!1,O;if(l){let we=CFd(l,Xe=>os.isArray(Xe)?Xe:[Xe]);l=(Xe,Mt,De)=>{we(Xe,Mt,(Te,It,Ee)=>{if(Te)return De(Te);let St=os.isArray(It)?It.map(ut=>NFd(ut)):[NFd(It,Ee)];Mt.all?De(Te,St):De(Te,St[0].address,St[0].family)})}}let m=new $Fd.EventEmitter,w=()=>{t.cancelToken&&t.cancelToken.unsubscribe(A),t.signal&&t.signal.removeEventListener("abort",A),m.removeAllListeners()};a((we,Xe)=>{b=!0,Xe&&(g=!0,w())});function A(we){m.emit("abort",!we||we.type?new hwe(null,t,O):we)}m.once("abort",n),(t.cancelToken||t.signal)&&(t.cancelToken&&t.cancelToken.subscribe(A),t.signal&&(t.signal.aborted?A():t.signal.addEventListener("abort",A)));let M=Qji(t.baseURL,t.url),q=new URL(M,sT.hasBrowserEnv?sT.origin:void 0),D=q.protocol||RFd[0];if(D==="data:"){let we;if(c!=="GET")return hGt(i,n,{status:405,statusText:"method not allowed",headers:{},config:t});try{we=Jps(t.url,s==="blob",{Blob:t.env&&t.env.Blob})}catch(Xe){throw yp.from(Xe,yp.ERR_BAD_REQUEST,t)}return s==="text"?(we=we.toString(o),(!o||o==="utf8")&&(we=os.stripBOM(we))):s==="stream"&&(we=Kji.default.Readable.from(we)),hGt(i,n,{data:we,status:200,statusText:"OK",headers:new sI,config:t})}if(RFd.indexOf(D)===-1)return n(new yp("Unsupported protocol "+D,yp.ERR_BAD_REQUEST,t));let C=sI.from(t.headers).normalize();C.set("User-Agent","axios/"+Jji,!1);let{onUploadProgress:R,onDownloadProgress:$}=t,I=t.maxRate,U,H;if(os.isSpecCompliantForm(u)){let we=C.getContentType(/boundary=([-_\w\d]{10,70})/i);u=MFd(u,Xe=>{C.set(Xe)},{tag:`axios-${Jji}-boundary`,boundary:we&&we[1]||void 0})}else if(os.isFormData(u)&&os.isFunction(u.getHeaders)){if(C.set(u.getHeaders()),!C.hasContentLength())try{let we=await WFd.default.promisify(u.getLength).call(u);Number.isFinite(we)&&we>=0&&C.setContentLength(we)}catch{}}else if(os.isBlob(u))u.size&&C.setContentType(u.type||"application/octet-stream"),C.setContentLength(u.size||0),u=Kji.default.Readable.from(Rno(u));else if(u&&!os.isStream(u)){if(!Buffer.isBuffer(u))if(os.isArrayBuffer(u))u=Buffer.from(new Uint8Array(u));else if(os.isString(u))u=Buffer.from(u,"utf-8");else return n(new yp("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",yp.ERR_BAD_REQUEST,t));if(C.setContentLength(u.length,!1),t.maxBodyLength>-1&&u.length>t.maxBodyLength)return n(new yp("Request body larger than maxBodyLength limit",yp.ERR_BAD_REQUEST,t))}let te=os.toFiniteNumber(C.getContentLength());os.isArray(I)?(U=I[0],H=I[1]):U=H=I,u&&(R||U)&&(os.isStream(u)||(u=Kji.default.Readable.from(u,{objectMode:!1})),u=Kji.default.pipeline([u,new Xps({maxRate:os.toFiniteNumber(U)})],os.noop),R&&u.on("progress",FFd(u,Nun(te,z4r(Lun(R),!1,3)))));let J;if(t.auth){let we=t.auth.username||"",Xe=t.auth.password||"";J=we+":"+Xe}if(!J&&q.username){let we=q.username,Xe=q.password;J=we+":"+Xe}J&&C.delete("authorization");let ee;try{ee=Gji(q.pathname+q.search,t.params,t.paramsSerializer).replace(/^\?/,"")}catch(we){let Xe=new Error(we.message);return Xe.config=t,Xe.url=t.url,Xe.exists=!0,n(Xe)}C.set("Accept-Encoding","gzip, compress, deflate"+(zFd?", br":""),!1);let fe={path:ee,method:c,headers:C.toJSON(),agents:{http:t.httpAgent,https:t.httpsAgent},auth:J,protocol:D,family:f,beforeRedirect:_81,beforeRedirects:{}};!os.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,GFd(fe,t.proxy,D+"//"+q.hostname+(q.port?":"+q.port:"")+fe.path));let me,ve=p81.test(fe.protocol);if(fe.agent=ve?t.httpsAgent:t.httpAgent,t.transport?me=t.transport:t.maxRedirects===0?me=ve?VFd.default:UFd.default:(t.maxRedirects&&(fe.maxRedirects=t.maxRedirects),t.beforeRedirect&&(fe.beforeRedirects.config=t.beforeRedirect),me=ve?d81:f81),t.maxBodyLength>-1?fe.maxBodyLength=t.maxBodyLength:fe.maxBodyLength=1/0,t.insecureHTTPParser&&(fe.insecureHTTPParser=t.insecureHTTPParser),O=me.request(fe,function(Xe){if(O.destroyed)return;let Mt=[Xe],De=+Xe.headers["content-length"];if($||H){let ut=new Xps({maxRate:os.toFiniteNumber(H)});$&&ut.on("progress",FFd(ut,Nun(De,z4r(Lun($),!0,3)))),Mt.push(ut)}let Te=Xe,It=Xe.req||O;if(t.decompress!==!1&&Xe.headers["content-encoding"])switch((c==="HEAD"||Xe.statusCode===204)&&delete Xe.headers["content-encoding"],(Xe.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":Mt.push(R4r.default.createUnzip(IFd)),delete Xe.headers["content-encoding"];break;case"deflate":Mt.push(new TFd),Mt.push(R4r.default.createUnzip(IFd)),delete Xe.headers["content-encoding"];break;case"br":zFd&&(Mt.push(R4r.default.createBrotliDecompress(l81)),delete Xe.headers["content-encoding"])}Te=Mt.length>1?Kji.default.pipeline(Mt,os.noop):Mt[0];let Ee=Kji.default.finished(Te,()=>{Ee(),w()}),St={status:Xe.statusCode,statusText:Xe.statusMessage,headers:new sI(Xe.headers),config:t,request:It};if(s==="stream")St.data=Te,hGt(i,n,St);else{let ut=[],ge=0;Te.on("data",function(wt){ut.push(wt),ge+=wt.length,t.maxContentLength>-1&&ge>t.maxContentLength&&(g=!0,Te.destroy(),n(new yp("maxContentLength size of "+t.maxContentLength+" exceeded",yp.ERR_BAD_RESPONSE,t,It)))}),Te.on("aborted",function(){if(g)return;let wt=new yp("maxContentLength size of "+t.maxContentLength+" exceeded",yp.ERR_BAD_RESPONSE,t,It);Te.destroy(wt),n(wt)}),Te.on("error",function(wt){O.destroyed||n(yp.from(wt,null,t,It))}),Te.on("end",function(){try{let wt=ut.length===1?ut[0]:Buffer.concat(ut);s!=="arraybuffer"&&(wt=wt.toString(o),(!o||o==="utf8")&&(wt=os.stripBOM(wt))),St.data=wt}catch(wt){return n(yp.from(wt,null,t,St.request,St))}hGt(i,n,St)})}m.once("abort",ut=>{Te.destroyed||(Te.emit("error",ut),Te.destroy())})}),m.once("abort",we=>{n(we),O.destroy(we)}),O.on("error",function(Xe){n(yp.from(Xe,null,t,O))}),O.on("socket",function(Xe){Xe.setKeepAlive(!0,1e3*60)}),t.timeout){let we=parseInt(t.timeout,10);if(Number.isNaN(we)){n(new yp("error trying to parse `config.timeout` to int",yp.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||zun;t.timeoutErrorMessage&&(Mt=t.timeoutErrorMessage),n(new yp(Mt,De.clarifyTimeoutError?yp.ETIMEDOUT:yp.ECONNABORTED,t,O)),A()})}if(os.isStream(u)){let we=!1,Xe=!1;u.on("end",()=>{we=!0}),u.once("error",Mt=>{Xe=!0,O.destroy(Mt)}),u.on("close",()=>{!we&&!Xe&&A(new hwe("Request stream has been aborted",t,O))}),u.pipe(O)}else O.end(u)})};var JFd=sT.hasStandardBrowserEnv?function(){let t=sT.navigator&&/(msie|trident)/i.test(sT.navigator.userAgent),r=document.createElement("a"),i;function n(a){let u=a;return t&&(r.setAttribute("href",u),u=r.href),r.setAttribute("href",u),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:r.pathname.charAt(0)==="/"?r.pathname:"/"+r.pathname}}return i=n(window.location.href),function(u){let l=os.isString(u)?n(u):u;return l.protocol===i.protocol&&l.host===i.host}}():function(){return function(){return!0}}();var KFd=sT.hasStandardBrowserEnv?{write(e,t,r,i,n,a){let u=[e+"="+encodeURIComponent(t)];os.isNumber(r)&&u.push("expires="+new Date(r).toGMTString()),os.isString(i)&&u.push("path="+i),os.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 YFd=e=>e instanceof sI?{...e}:e;function o2t(e,t){t=t||{};let r={};function i(s,o,c){return os.isPlainObject(s)&&os.isPlainObject(o)?os.merge.call({caseless:c},s,o):os.isPlainObject(o)?os.merge({},o):os.isArray(o)?o.slice():o}function n(s,o,c){if(os.isUndefined(o)){if(!os.isUndefined(s))return i(void 0,s,c)}else return i(s,o,c)}function a(s,o){if(!os.isUndefined(o))return i(void 0,o)}function u(s,o){if(os.isUndefined(o)){if(!os.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 f={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)=>n(YFd(s),YFd(o),!0)};return os.forEach(Object.keys(Object.assign({},e,t)),function(o){let c=f[o]||n,b=c(e[o],t[o],o);os.isUndefined(b)&&c!==l||(r[o]=b)}),r}var Fno=e=>{let t=o2t({},e),{data:r,withXSRFToken:i,xsrfHeaderName:n,xsrfCookieName:a,headers:u,auth:l}=t;t.headers=u=sI.from(u),t.url=Gji(Qji(t.baseURL,t.url),e.params,e.paramsSerializer),l&&u.set("Authorization","Basic "+btoa((l.username||"")+":"+(l.password?unescape(encodeURIComponent(l.password)):"")));let f;if(os.isFormData(r)){if(sT.hasStandardBrowserEnv||sT.hasStandardBrowserWebWorkerEnv)u.setContentType(void 0);else if((f=u.getContentType())!==!1){let[s,...o]=f?f.split(";").map(c=>c.trim()).filter(Boolean):[];u.setContentType([s||"multipart/form-data",...o].join("; "))}}if(sT.hasStandardBrowserEnv&&(i&&os.isFunction(i)&&(i=i(t)),i||i!==!1&&JFd(t.url))){let s=n&&a&&KFd.read(a);s&&u.set(n,s)}return t};var b81=typeof XMLHttpRequest<"u",XFd=b81&&function(e){return new Promise(function(r,i){let n=Fno(e),a=n.data,u=sI.from(n.headers).normalize(),{responseType:l,onUploadProgress:f,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 A(){if(!w)return;let q=sI.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};hGt(function($){r($),m()},function($){i($),m()},C),w=null}"onloadend"in w?w.onloadend=A:w.onreadystatechange=function(){!w||w.readyState!==4||w.status===0&&!(w.responseURL&&w.responseURL.indexOf("file:")===0)||setTimeout(A)},w.onabort=function(){w&&(i(new yp("Request aborted",yp.ECONNABORTED,e,w)),w=null)},w.onerror=function(){i(new yp("Network Error",yp.ERR_NETWORK,e,w)),w=null},w.ontimeout=function(){let D=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded",C=n.transitional||zun;n.timeoutErrorMessage&&(D=n.timeoutErrorMessage),i(new yp(D,C.clarifyTimeoutError?yp.ETIMEDOUT:yp.ECONNABORTED,e,w)),w=null},a===void 0&&u.setContentType(null),"setRequestHeader"in w&&os.forEach(u.toJSON(),function(D,C){w.setRequestHeader(C,D)}),os.isUndefined(n.withCredentials)||(w.withCredentials=!!n.withCredentials),l&&l!=="json"&&(w.responseType=n.responseType),s&&([b,O]=z4r(s,!0),w.addEventListener("progress",b)),f&&w.upload&&([c,g]=z4r(f),w.upload.addEventListener("progress",c),w.upload.addEventListener("loadend",g)),(n.cancelToken||n.signal)&&(o=q=>{w&&(i(!q||q.type?new hwe(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 M=eQn(n.url);if(M&&sT.protocols.indexOf(M)===-1){i(new yp("Unsupported protocol "+M+":",yp.ERR_BAD_REQUEST,e));return}w.send(a||null)})};var g81=(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 yp?o:new hwe(o instanceof Error?o.message:o))}},u=t&&setTimeout(()=>{u=null,a(new yp(`timeout ${t} of ms exceeded`,yp.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:f}=i;return f.unsubscribe=()=>os.asap(l),f}},ZFd=g81;var O81=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},m81=async function*(e,t){for await(let r of P81(e))yield*O81(r,t)},P81=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()}},e_s=(e,t,r,i)=>{let n=m81(e,t),a=0,u,l=f=>{u||(u=!0,i&&i(f))};return new ReadableStream({async pull(f){try{let{done:s,value:o}=await n.next();if(s){l(),f.close();return}let c=o.byteLength;if(r){let b=a+=c;r(b)}f.enqueue(new Uint8Array(o))}catch(s){throw l(s),s}},cancel(f){return l(f),n.return()}},{highWaterMark:2})};var Lno=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",eNd=Lno&&typeof ReadableStream=="function",j81=Lno&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),tNd=(e,...t)=>{try{return!!e(...t)}catch{return!1}},w81=eNd&&tNd(()=>{let e=!1,t=new Request(sT.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),kFd=64*1024,t_s=eNd&&tNd(()=>os.isReadableStream(new Response("").body)),Nno={stream:t_s&&(e=>e.body)};Lno&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!Nno[t]&&(Nno[t]=os.isFunction(e[t])?r=>r[t]():(r,i)=>{throw new yp(`Response type '${t}' is not supported`,yp.ERR_NOT_SUPPORT,i)})})})(new Response);var S81=async e=>{if(e==null)return 0;if(os.isBlob(e))return e.size;if(os.isSpecCompliantForm(e))return(await new Request(sT.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(os.isArrayBufferView(e)||os.isArrayBuffer(e))return e.byteLength;if(os.isURLSearchParams(e)&&(e=e+""),os.isString(e))return(await j81(e)).byteLength},D81=async(e,t)=>{let r=os.toFiniteNumber(e.getContentLength());return r??S81(t)},rNd=Lno&&(async e=>{let{url:t,method:r,data:i,signal:n,cancelToken:a,timeout:u,onDownloadProgress:l,onUploadProgress:f,responseType:s,headers:o,withCredentials:c="same-origin",fetchOptions:b}=Fno(e);s=s?(s+"").toLowerCase():"text";let g=ZFd([n,a&&a.toAbortSignal()],u),O,m=g&&g.unsubscribe&&(()=>{g.unsubscribe()}),w;try{if(f&&w81&&r!=="get"&&r!=="head"&&(w=await D81(o,i))!==0){let C=new Request(t,{method:"POST",body:i,duplex:"half"}),R;if(os.isFormData(i)&&(R=C.headers.get("content-type"))&&o.setContentType(R),C.body){let[$,I]=Nun(w,z4r(Lun(f)));i=e_s(C.body,kFd,$,I)}}os.isString(c)||(c=c?"include":"omit");let A="credentials"in Request.prototype;O=new Request(t,{...b,signal:g,method:r.toUpperCase(),headers:o.normalize().toJSON(),body:i,duplex:"half",credentials:A?c:void 0});let M=await fetch(O),q=t_s&&(s==="stream"||s==="response");if(t_s&&(l||q&&m)){let C={};["status","statusText","headers"].forEach(U=>{C[U]=M[U]});let R=os.toFiniteNumber(M.headers.get("content-length")),[$,I]=l&&Nun(R,z4r(Lun(l),!0))||[];M=new Response(e_s(M.body,kFd,$,()=>{I&&I(),m&&m()}),C)}s=s||"text";let D=await Nno[os.findKey(Nno,s)||"text"](M,e);return!q&&m&&m(),await new Promise((C,R)=>{hGt(C,R,{data:D,headers:sI.from(M.headers),status:M.status,statusText:M.statusText,config:e,request:O})})}catch(A){throw m&&m(),A&&A.name==="TypeError"&&/fetch/i.test(A.message)?Object.assign(new yp("Network Error",yp.ERR_NETWORK,e,O),{cause:A.cause||A}):yp.from(A,A&&A.code,e,O)}});var r_s={http:QFd,xhr:XFd,fetch:rNd};os.forEach(r_s,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});var iNd=e=>`- ${e}`,E81=e=>os.isFunction(e)||e===null||e===!1,Uno={getAdapter:e=>{e=os.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,!E81(r)&&(i=r_s[(u=String(r)).toLowerCase()],i===void 0))throw new yp(`Unknown adapter '${u}'`);if(i)break;n[u||"#"+a]=i}if(!i){let a=Object.entries(n).map(([l,f])=>`adapter ${l} `+(f===!1?"is not supported by the environment":"is not available in the build")),u=t?a.length>1?`since :
|
|
@@ -1922,7 +1922,7 @@ ${q}${M}${D}${Cop.default.cursorHide}`});var JXn=Di(rPi(),1);function $1s(e,t){i
|
|
|
1922
1922
|
Run ${Su.cyan("fern generator upgrade")} to upgrade your generators.`),n.length>2&&(r+=`
|
|
1923
1923
|
Run ${Su.cyan("fern generator upgrade --list")} to see the full list of generator upgrades available.`),Vun(r,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"})}async function rSs({generatorUpgradeInfo:e,header:t,limit:r,includeBoxen:i=!0}){if(!rup(e))return;let n=t??"",a=e.filter(l=>l.isUpgradeAvailable);r!=null&&(a=a.slice(0,r+1));let u=a.sort((l,f)=>l.generatorName.localeCompare(f.generatorName)||l.currentVersion.localeCompare(f.currentVersion));for(let l of u)n+=`
|
|
1924
1924
|
${await rjS(l.generatorName)} (${l.apiName!=null?"API: "+l.apiName+", ":""}Group: ${l.generatorGroup}) `+Su.dim(l.currentVersion)+Su.reset(" \u2192 ")+Su.green(l.latestVersion);return n+=`
|
|
1925
|
-
`,i?Vun(n,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):n}async function rjS(e){let r=await new tup.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 ijS({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){if(t.length===1){let l={type:"singleApi",versions:{}};return await nup({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(f,s,o,c)=>{l.versions[s]==null&&(l.versions[s]={});let b=qYr(o.name,c),g=await qWt({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 nup({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(l,f,s,o)=>{if(l==null)return;u.versions[l]==null&&(u.versions[l]={}),u.versions[l][f]==null&&(u.versions[l][f]={});let c=qYr(s.name,o),b=await qWt({generatorName:c,cliVersion:e.environment.packageVersion,currentGeneratorVersion:s.version,channel:n,includeMajor:a,context:o});b!=null&&(u.versions[l][f][s.name]={previousVersion:s.version,latestVersion:b})},generatorFilter:r,groupFilter:i}),u}async function nup({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 T7t({absolutePathToWorkspace:a.absoluteFilePath,context:u});if(!(l==null||l.groups==null)){for(let f of l.groups)if(!(n!=null&&f.groupName!==n))for(let s of f.generators)i!=null&&s.name!==i||await r(a.workspaceName,f.groupName,s,u)}})}))}function aup(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 f=Tte(l.latestVersion,l.previousVersion);r.debug(`Latest version: ${l.latestVersion}. `+(f?"Upgrade available.":"No upgrade available.")),i.push({generatorName:u,generatorGroup:n,apiName:t,isUpgradeAvailable:f,currentVersion:l.previousVersion,latestVersion:l.latestVersion})}return i}async function Vpo({project:e,cliContext:t,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){let u=[];if(e!=null){let l=await ijS({cliContext:t,project:e,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a});if(l.type==="multiApi")for(let[f,s]of Object.entries(l.versions))u.push(...aup(s,f,t.logger));else u.push(...aup(l.versions,void 0,t.logger))}return u}var rZn=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 Mfn=class extends Error{request;constructor(t){super(`Request timed out: ${t.method} ${t.url}`),this.name="TimeoutError",this.request=t}};var qfn=e=>e!==null&&typeof e=="object";var iZn=(...e)=>{for(let t of e)if((!qfn(t)||Array.isArray(t))&&t!==void 0)throw new TypeError("The `options` argument must be an object");return aSs({},...e)},iSs=(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 Wpo(e,t,r){return Object.hasOwn(t,r)&&t[r]===void 0?[]:aSs(e[r]??[],t[r]??[])}var nSs=(e={},t={})=>({beforeRequest:Wpo(e,t,"beforeRequest"),beforeRetry:Wpo(e,t,"beforeRetry"),afterResponse:Wpo(e,t,"afterResponse"),beforeError:Wpo(e,t,"beforeError")}),aSs=(...e)=>{let t={},r={},i={};for(let n of e)if(Array.isArray(n))Array.isArray(t)||(t=[]),t=[...t,...n];else if(qfn(n)){for(let[a,u]of Object.entries(n))qfn(u)&&a in t&&(u=aSs(t[a],u)),t={...t,[a]:u};qfn(n.hooks)&&(i=nSs(i,n.hooks),t.hooks=i),qfn(n.headers)&&(r=iSs(r,n.headers),t.headers=r)}return t};var oup=(()=>{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})(),uup=typeof globalThis.AbortController=="function",sup=typeof globalThis.ReadableStream=="function",cup=typeof globalThis.FormData=="function",Hpo=["get","post","put","patch","head","delete"],njS=()=>{};njS();var lup={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},$po=2147483647,Gpo=Symbol("stop"),fup={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},dup={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 _up=e=>Hpo.includes(e)?e.toUpperCase():e,ajS=["get","put","head","delete","options","trace"],ojS=[408,413,429,500,502,503,504],ujS=[413,429,503],pup={limit:2,methods:ajS,statusCodes:ojS,afterStatusCodes:ujS,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:e=>.3*2**(e-1)*1e3},hup=(e={})=>{if(typeof e=="number")return{...pup,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{...pup,...e}};async function oSs(e,t,r,i){return new Promise((n,a)=>{let u=setTimeout(()=>{r&&r.abort(),a(new Mfn(e))},i.timeout);i.fetch(e,t).then(n).catch(a).then(()=>{clearTimeout(u)})})}async function uSs(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 yup=(e,t)=>{let r={};for(let i in t)!(i in dup)&&!(i in fup)&&!(i in e)&&(r[i]=t[i]);return r};var nZn=class e{static create(t,r){let i=new e(t,r),n=async()=>{if(typeof i._options.timeout=="number"&&i._options.timeout>$po)throw new RangeError(`The \`timeout\` option cannot be greater than ${$po}`);await Promise.resolve();let l=await i._fetch();for(let f of i._options.hooks.afterResponse){let s=await f(i.request,i._options,i._decorateResponse(l.clone()));s instanceof globalThis.Response&&(l=s)}if(i._decorateResponse(l),!l.ok&&i._options.throwHttpErrors){let f=new rZn(l,i.request,i._options);for(let s of i._options.hooks.beforeError)f=await s(f);throw f}if(i._options.onDownloadProgress){if(typeof i._options.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!sup)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,f]of Object.entries(lup))u[l]=async()=>{i.request.headers.set("accept",i.request.headers.get("accept")||f);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:iSs(this._input.headers,r.headers),hooks:nSs({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},r.hooks),method:_up(r.method??this._input.method),prefixUrl:String(r.prefixUrl||""),retry:hup(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(uup){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(oup&&(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);(cup&&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 Mfn)throw t;if(t instanceof rZn){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),$po);if(this._retryCount<1)throw r;await uSs(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})===Gpo)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=yup(this.request,this._options),r=this.request;return this.request=r.clone(),this._options.timeout===!1?this._options.fetch(r,t):oSs(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:f,value:s}=await u.read();if(f){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 sSs=e=>{let t=(r,i)=>nZn.create(r,iZn(e,i));for(let r of Hpo)t[r]=(i,n)=>nZn.create(i,iZn(e,n,{method:r}));return t.create=r=>sSs(iZn(r)),t.extend=r=>(typeof r=="function"&&(r=r(e??{})),sSs(iZn(e,r))),t.stop=Gpo,t},sjS=sSs(),vup=sjS;var Lup=Di(Nup(),1);function pSs(e){let t=(0,Lup.default)("npm",{registry:"https://registry.npmjs.org/"}),r=t[`${e}:registry`]||t.config_registry||t.registry;return r.slice(-1)==="/"?r:`${r}/`}var xsp=Di(Bsp(),1),Isp=Di(rPi(),1),ESs=class extends Error{constructor(t){super(`Package \`${t}\` could not be found`),this.name="PackageNotFoundError"}},ASs=class extends Error{constructor(t,r){super(`Version \`${r}\` for package \`${t}\` could not be found`),this.name="VersionNotFoundError"}};async function MSs(e,t={}){let{version:r="latest"}=t,{omitDeprecated:i=!0}=t,n=e.split("/")[0],a=t.registryUrl??pSs(n),u=new URL(encodeURIComponent(e).replace(/^%40/,"@"),a),l=(0,xsp.default)(a.toString(),{recursive:!0}),f={accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"};t.fullMetadata&&delete f.accept,l&&(f.authorization=`${l.type} ${l.token}`);let s;try{s=await vup(u,{headers:f,keepalive:!0}).json()}catch(c){throw c?.response?.status===404?new ESs(e):c}if(t.allVersions)return s;let o=new ASs(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=Isp.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 lZn(e,t){let{version:r}=await MSs(e.toLowerCase(),t);return r}async function Aei({cliEnvironment:e,includePreReleases:t=!1}){return e.packageVersion==="0.0.0"?e.packageVersion:lZn(e.packageName,{version:t?"prerelease":"latest"})}var zsp=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],n_o=class{environment;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=k0.Info;constructor(t){this.ttyAwareLogger=new Upo(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.51.24"}getCliName(){return"fern"}setLogLevel(t){this.logLevel=t}logDebugInfo(){this.logger.debug(`Running ${Su.bold(`${this.environment.cliName}`)} (${this.environment.packageName}@${this.environment.packageVersion})`)}failAndThrow(t,r){throw this.failWithoutThrowing(t,r),new Kk}failWithoutThrowing(t,r){this.didSucceed=!1,Rpo({message:t,error:r,logger:this.logger})}async exit(){this._suppressUpgradeMessage||await this.nudgeUpgradeIfAvailable(),this.ttyAwareLogger.finish(),await(await Cun()).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 iup({cliEnvironment:this.environment,upgradeInfo:t});r!=null&&(r.endsWith(`
|
|
1925
|
+
`,i?Vun(n,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):n}async function rjS(e){let r=await new tup.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 ijS({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){if(t.length===1){let l={type:"singleApi",versions:{}};return await nup({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(f,s,o,c)=>{l.versions[s]==null&&(l.versions[s]={});let b=qYr(o.name,c),g=await qWt({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 nup({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(l,f,s,o)=>{if(l==null)return;u.versions[l]==null&&(u.versions[l]={}),u.versions[l][f]==null&&(u.versions[l][f]={});let c=qYr(s.name,o),b=await qWt({generatorName:c,cliVersion:e.environment.packageVersion,currentGeneratorVersion:s.version,channel:n,includeMajor:a,context:o});b!=null&&(u.versions[l][f][s.name]={previousVersion:s.version,latestVersion:b})},generatorFilter:r,groupFilter:i}),u}async function nup({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 T7t({absolutePathToWorkspace:a.absoluteFilePath,context:u});if(!(l==null||l.groups==null)){for(let f of l.groups)if(!(n!=null&&f.groupName!==n))for(let s of f.generators)i!=null&&s.name!==i||await r(a.workspaceName,f.groupName,s,u)}})}))}function aup(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 f=Tte(l.latestVersion,l.previousVersion);r.debug(`Latest version: ${l.latestVersion}. `+(f?"Upgrade available.":"No upgrade available.")),i.push({generatorName:u,generatorGroup:n,apiName:t,isUpgradeAvailable:f,currentVersion:l.previousVersion,latestVersion:l.latestVersion})}return i}async function Vpo({project:e,cliContext:t,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){let u=[];if(e!=null){let l=await ijS({cliContext:t,project:e,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a});if(l.type==="multiApi")for(let[f,s]of Object.entries(l.versions))u.push(...aup(s,f,t.logger));else u.push(...aup(l.versions,void 0,t.logger))}return u}var rZn=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 Mfn=class extends Error{request;constructor(t){super(`Request timed out: ${t.method} ${t.url}`),this.name="TimeoutError",this.request=t}};var qfn=e=>e!==null&&typeof e=="object";var iZn=(...e)=>{for(let t of e)if((!qfn(t)||Array.isArray(t))&&t!==void 0)throw new TypeError("The `options` argument must be an object");return aSs({},...e)},iSs=(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 Wpo(e,t,r){return Object.hasOwn(t,r)&&t[r]===void 0?[]:aSs(e[r]??[],t[r]??[])}var nSs=(e={},t={})=>({beforeRequest:Wpo(e,t,"beforeRequest"),beforeRetry:Wpo(e,t,"beforeRetry"),afterResponse:Wpo(e,t,"afterResponse"),beforeError:Wpo(e,t,"beforeError")}),aSs=(...e)=>{let t={},r={},i={};for(let n of e)if(Array.isArray(n))Array.isArray(t)||(t=[]),t=[...t,...n];else if(qfn(n)){for(let[a,u]of Object.entries(n))qfn(u)&&a in t&&(u=aSs(t[a],u)),t={...t,[a]:u};qfn(n.hooks)&&(i=nSs(i,n.hooks),t.hooks=i),qfn(n.headers)&&(r=iSs(r,n.headers),t.headers=r)}return t};var oup=(()=>{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})(),uup=typeof globalThis.AbortController=="function",sup=typeof globalThis.ReadableStream=="function",cup=typeof globalThis.FormData=="function",Hpo=["get","post","put","patch","head","delete"],njS=()=>{};njS();var lup={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},$po=2147483647,Gpo=Symbol("stop"),fup={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},dup={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 _up=e=>Hpo.includes(e)?e.toUpperCase():e,ajS=["get","put","head","delete","options","trace"],ojS=[408,413,429,500,502,503,504],ujS=[413,429,503],pup={limit:2,methods:ajS,statusCodes:ojS,afterStatusCodes:ujS,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:e=>.3*2**(e-1)*1e3},hup=(e={})=>{if(typeof e=="number")return{...pup,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{...pup,...e}};async function oSs(e,t,r,i){return new Promise((n,a)=>{let u=setTimeout(()=>{r&&r.abort(),a(new Mfn(e))},i.timeout);i.fetch(e,t).then(n).catch(a).then(()=>{clearTimeout(u)})})}async function uSs(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 yup=(e,t)=>{let r={};for(let i in t)!(i in dup)&&!(i in fup)&&!(i in e)&&(r[i]=t[i]);return r};var nZn=class e{static create(t,r){let i=new e(t,r),n=async()=>{if(typeof i._options.timeout=="number"&&i._options.timeout>$po)throw new RangeError(`The \`timeout\` option cannot be greater than ${$po}`);await Promise.resolve();let l=await i._fetch();for(let f of i._options.hooks.afterResponse){let s=await f(i.request,i._options,i._decorateResponse(l.clone()));s instanceof globalThis.Response&&(l=s)}if(i._decorateResponse(l),!l.ok&&i._options.throwHttpErrors){let f=new rZn(l,i.request,i._options);for(let s of i._options.hooks.beforeError)f=await s(f);throw f}if(i._options.onDownloadProgress){if(typeof i._options.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!sup)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,f]of Object.entries(lup))u[l]=async()=>{i.request.headers.set("accept",i.request.headers.get("accept")||f);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:iSs(this._input.headers,r.headers),hooks:nSs({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},r.hooks),method:_up(r.method??this._input.method),prefixUrl:String(r.prefixUrl||""),retry:hup(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(uup){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(oup&&(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);(cup&&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 Mfn)throw t;if(t instanceof rZn){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),$po);if(this._retryCount<1)throw r;await uSs(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})===Gpo)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=yup(this.request,this._options),r=this.request;return this.request=r.clone(),this._options.timeout===!1?this._options.fetch(r,t):oSs(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:f,value:s}=await u.read();if(f){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 sSs=e=>{let t=(r,i)=>nZn.create(r,iZn(e,i));for(let r of Hpo)t[r]=(i,n)=>nZn.create(i,iZn(e,n,{method:r}));return t.create=r=>sSs(iZn(r)),t.extend=r=>(typeof r=="function"&&(r=r(e??{})),sSs(iZn(e,r))),t.stop=Gpo,t},sjS=sSs(),vup=sjS;var Lup=Di(Nup(),1);function pSs(e){let t=(0,Lup.default)("npm",{registry:"https://registry.npmjs.org/"}),r=t[`${e}:registry`]||t.config_registry||t.registry;return r.slice(-1)==="/"?r:`${r}/`}var xsp=Di(Bsp(),1),Isp=Di(rPi(),1),ESs=class extends Error{constructor(t){super(`Package \`${t}\` could not be found`),this.name="PackageNotFoundError"}},ASs=class extends Error{constructor(t,r){super(`Version \`${r}\` for package \`${t}\` could not be found`),this.name="VersionNotFoundError"}};async function MSs(e,t={}){let{version:r="latest"}=t,{omitDeprecated:i=!0}=t,n=e.split("/")[0],a=t.registryUrl??pSs(n),u=new URL(encodeURIComponent(e).replace(/^%40/,"@"),a),l=(0,xsp.default)(a.toString(),{recursive:!0}),f={accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"};t.fullMetadata&&delete f.accept,l&&(f.authorization=`${l.type} ${l.token}`);let s;try{s=await vup(u,{headers:f,keepalive:!0}).json()}catch(c){throw c?.response?.status===404?new ESs(e):c}if(t.allVersions)return s;let o=new ASs(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=Isp.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 lZn(e,t){let{version:r}=await MSs(e.toLowerCase(),t);return r}async function Aei({cliEnvironment:e,includePreReleases:t=!1}){return e.packageVersion==="0.0.0"?e.packageVersion:lZn(e.packageName,{version:t?"prerelease":"latest"})}var zsp=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],n_o=class{environment;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=k0.Info;constructor(t){this.ttyAwareLogger=new Upo(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.51.25"}getCliName(){return"fern"}setLogLevel(t){this.logLevel=t}logDebugInfo(){this.logger.debug(`Running ${Su.bold(`${this.environment.cliName}`)} (${this.environment.packageName}@${this.environment.packageVersion})`)}failAndThrow(t,r){throw this.failWithoutThrowing(t,r),new Kk}failWithoutThrowing(t,r){this.didSucceed=!1,Rpo({message:t,error:r,logger:this.logger})}async exit(){this._suppressUpgradeMessage||await this.nudgeUpgradeIfAvailable(),this.ttyAwareLogger.finish(),await(await Cun()).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 iup({cliEnvironment:this.environment,upgradeInfo:t});r!=null&&(r.endsWith(`
|
|
1926
1926
|
`)||(r+=`
|
|
1927
1927
|
`),this.logger.info(r))}catch{}}async exitIfFailed(){this.didSucceed||await this.exit()}exitProgram(){process.exit(this.didSucceed?0:1)}longestWorkspaceName;registerWorkspaces(t){let r=S$u(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 KXn(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 Kk}finally{i.finish()}return n}async instrumentPostHogEvent(t){(await Cun()).sendEvent(t)}logger=h6r(this.log.bind(this));constructTaskInitForWorkspace(t){let r=Rsp(t.type==="docs"?"docs":t.workspaceName??"api"),i=1+(this.longestWorkspaceName!=null?Rsp(this.longestWorkspaceName):r).length,n=r.padEnd(i),a=zsp[this.numTasks++%zsp.length],u=Su.hex(a)(n);return{...this.constructTaskInit(),logPrefix:u}}constructTaskInit(){return{logImmediately:t=>this.logImmediately(t),takeOverTerminal:t=>this.ttyAwareLogger.takeOverTerminal(t),onResult:t=>{t===IT.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=>WKr.indexOf(i.level)>=WKr.indexOf(this.logLevel));this.ttyAwareLogger.log(r,{includeDebugInfo:this.logLevel===k0.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 Aei({cliEnvironment:this.environment,includePreReleases:t}),i=Tte(r,this.environment.packageVersion);this.logger.debug(`Latest version: ${r}. `+(i?"Upgrade available.":"No upgrade available."));let n={isUpgradeAvailable:i,latestVersion:r},a=await Vpo({project:this.project,cliContext:this});this._isUpgradeAvailable={cliUpgradeInfo:n,generatorUpgradeInfo:a}}return this._isUpgradeAvailable}async confirmPrompt(t,r=!1){return await N1s({message:t,default:r})}async getInput(t){return await L1s({message:t.message,default:t.default})}};function Rsp(e){return`[${e}]:`}var UEp=require("fs/promises");function NBe({breadcrumbs:e=[],title:t,subtitle:r}){let i=[];return e.length>0&&i.push(Su.blue(e.join(" -> "))),i.push(t),r!=null&&i.push(Su.dim(r)),i.join(`
|
|
1928
1928
|
`)}var cjp=require("fs/promises");var F2t=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 xwe=class extends F2t{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 fZn=class{context;constructor(t){this.context=t}};var a_o=class e{files={};directories={};getAllFiles(){let t={},r=(i,n)=>{for(let[u,l]of Object.entries(i.files)){let f=n!=null?Wh.of(`${n}${K3t}${u}`):Wh.of(u);t[f]=l}let a=Object.keys(i.directories).sort();for(let u of a){let l=n!=null?`${n}${K3t}${u}`:u,f=i.directories[u];r(f,l)}};return r(this),t}getOrCreateFile(t){return this.getOrCreateFileRecursive(t.split(K3t))}getOrCreateFileRecursive(t){if(t.length===1)return this.files[Wh.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 iSi=class{enableUniqueErrorsPerEndpoint;root;rootApiFile;packageMarkerFile={};basePath=void 0;constructor(t){this.enableUniqueErrorsPerEndpoint=t,this.root=new a_o,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 W6r(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"]))pwS(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??pg((Kqe(r)+"/"+nmi(r,{stripExtension:!0})).replaceAll("__package__","root"));if(t===Wh.of(UN))return this.rootApiFile.imports==null&&(this.rootApiFile.imports={}),this.rootApiFile.imports[n]=z4a(Kqe(ztn.of(`/${t}`)),ztn.of(`/${r}`)),n;let a=this.getOrCreateFile(t);return a.imports==null&&(a.imports={}),a.imports[n]=z4a(Kqe(ztn.of(`/${t}`)),ztn.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=>N3t(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=Dz(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:Dz(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:Dz(r,u.path)}]))})}return{rootApiFile:this.rootApiFile,packageMarkerFile:this.packageMarkerFile,definitionFiles:t}}getOrCreateFile(t){return t===P1?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 pwS(e){return e?.header!=null}var N2t={openapi:e=>({...e,type:"openapi",_visit:function(t){return N2t._visit(this,t)}}),protobuf:e=>({...e,type:"protobuf",_visit:function(t){return N2t._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 Rfn={protobuf:e=>({...e,type:"protobuf",_visit:function(t){return Rfn._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"protobuf":return t.protobuf(e);default:return t._other(e)}}};var Z4={basic:e=>({...e,type:"basic",_visit:function(t){return Z4._visit(this,t)}}),bearer:e=>({...e,type:"bearer",_visit:function(t){return Z4._visit(this,t)}}),header:e=>({...e,type:"header",_visit:function(t){return Z4._visit(this,t)}}),query:e=>({...e,type:"query",_visit:function(t){return Z4._visit(this,t)}}),oauth:e=>({...e,type:"oauth",_visit:function(t){return Z4._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 A0={primitive:e=>({value:e,type:"primitive",_visit:function(t){return A0._visit(this,t)}}),object:e=>({...e,type:"object",_visit:function(t){return A0._visit(this,t)}}),array:e=>({value:e,type:"array",_visit:function(t){return A0._visit(this,t)}}),map:e=>({value:e,type:"map",_visit:function(t){return A0._visit(this,t)}}),enum:e=>({value:e,type:"enum",_visit:function(t){return A0._visit(this,t)}}),literal:e=>({value:e,type:"literal",_visit:function(t){return A0._visit(this,t)}}),oneOf:e=>({value:e,type:"oneOf",_visit:function(t){return A0._visit(this,t)}}),unknown:e=>({value:e,type:"unknown",_visit:function(t){return A0._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 Jp={int:e=>({value:e,type:"int",_visit:function(t){return Jp._visit(this,t)}}),int64:e=>({value:e,type:"int64",_visit:function(t){return Jp._visit(this,t)}}),uint:e=>({value:e,type:"uint",_visit:function(t){return Jp._visit(this,t)}}),uint64:e=>({value:e,type:"uint64",_visit:function(t){return Jp._visit(this,t)}}),float:e=>({value:e,type:"float",_visit:function(t){return Jp._visit(this,t)}}),double:e=>({value:e,type:"double",_visit:function(t){return Jp._visit(this,t)}}),string:e=>({value:e,type:"string",_visit:function(t){return Jp._visit(this,t)}}),datetime:e=>({value:e,type:"datetime",_visit:function(t){return Jp._visit(this,t)}}),date:e=>({value:e,type:"date",_visit:function(t){return Jp._visit(this,t)}}),base64:e=>({value:e,type:"base64",_visit:function(t){return Jp._visit(this,t)}}),boolean:e=>({value:e,type:"boolean",_visit:function(t){return Jp._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 Ffn={boolean:e=>({value:e,type:"boolean",_visit:function(t){return Ffn._visit(this,t)}}),string:e=>({value:e,type:"string",_visit:function(t){return Ffn._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 Mei={discriminated:e=>({value:e,type:"discriminated",_visit:function(t){return Mei._visit(this,t)}}),undiscriminated:e=>({value:e,type:"undiscriminated",_visit:function(t){return Mei._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 GL={GenerallyAvailable:"GenerallyAvailable",Beta:"Beta",Deprecated:"Deprecated",_visit:(e,t)=>{switch(e){case GL.GenerallyAvailable:return t.generallyAvailable();case GL.Beta:return t.beta();case GL.Deprecated:return t.deprecated();default:return t._other()}}};var T8r={cursor:e=>({...e,type:"cursor",_visit:function(t){return T8r._visit(this,t)}}),offset:e=>({...e,type:"offset",_visit:function(t){return T8r._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"cursor":return t.cursor(e);case"offset":return t.offset(e);default:return t._other(e)}}};var C8r={language:e=>({...e,type:"language",_visit:function(t){return C8r._visit(this,t)}}),sdk:e=>({...e,type:"sdk",_visit:function(t){return C8r._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 QL={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 QL.Curl:return t.curl();case QL.Python:return t.python();case QL.Javascript:return t.javascript();case QL.Typescript:return t.typescript();case QL.Go:return t.go();case QL.Ruby:return t.ruby();case QL.Csharp:return t.csharp();case QL.Java:return t.java();case QL.Js:return t.js();case QL.Node:return t.node();case QL.Ts:return t.ts();case QL.Nodets:return t.nodets();case QL.Golang:return t.golang();case QL.Dotnet:return t.dotnet();case QL.Jvm:return t.jvm();default:return t._other()}}};var L2t={unknown:e=>({value:e,type:"unknown",_visit:function(t){return L2t._visit(this,t)}}),full:e=>({...e,type:"full",_visit:function(t){return L2t._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 LBe={withStreaming:e=>({...e,type:"withStreaming",_visit:function(t){return LBe._visit(this,t)}}),withoutStreaming:e=>({value:e,type:"withoutStreaming",_visit:function(t){return LBe._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 RH={Get:"GET",Post:"POST",Put:"PUT",Patch:"PATCH",Delete:"DELETE",Head:"HEAD",Options:"OPTIONS",Trace:"TRACE",_visit:(e,t)=>{switch(e){case RH.Get:return t.get();case RH.Post:return t.post();case RH.Put:return t.put();case RH.Patch:return t.patch();case RH.Delete:return t.delete();case RH.Head:return t.head();case RH.Options:return t.options();case RH.Trace:return t.trace();default:return t._other()}}};var qei={octetStream:e=>({...e,type:"octetStream",_visit:function(t){return qei._visit(this,t)}}),multipart:e=>({...e,type:"multipart",_visit:function(t){return qei._visit(this,t)}}),json:e=>({...e,type:"json",_visit:function(t){return qei._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 UBe={file:e=>({...e,type:"file",_visit:function(t){return UBe._visit(this,t)}}),json:e=>({value:e,type:"json",_visit:function(t){return UBe._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 Cte={file:e=>({...e,type:"file",_visit:function(t){return Cte._visit(this,t)}}),json:e=>({...e,type:"json",_visit:function(t){return Cte._visit(this,t)}}),text:e=>({...e,type:"text",_visit:function(t){return Cte._visit(this,t)}}),streamingSse:e=>({...e,type:"streamingSse",_visit:function(t){return Cte._visit(this,t)}}),streamingText:e=>({...e,type:"streamingText",_visit:function(t){return Cte._visit(this,t)}}),streamingJson:e=>({...e,type:"streamingJson",_visit:function(t){return Cte._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 ey={primitive:e=>({...e,type:"primitive",_visit:function(t){return ey._visit(this,t)}}),object:e=>({...e,type:"object",_visit:function(t){return ey._visit(this,t)}}),array:e=>({...e,type:"array",_visit:function(t){return ey._visit(this,t)}}),map:e=>({...e,type:"map",_visit:function(t){return ey._visit(this,t)}}),optional:e=>({...e,type:"optional",_visit:function(t){return ey._visit(this,t)}}),enum:e=>({...e,type:"enum",_visit:function(t){return ey._visit(this,t)}}),reference:e=>({...e,type:"reference",_visit:function(t){return ey._visit(this,t)}}),literal:e=>({...e,type:"literal",_visit:function(t){return ey._visit(this,t)}}),oneOf:e=>({value:e,type:"oneOf",_visit:function(t){return ey._visit(this,t)}}),nullable:e=>({...e,type:"nullable",_visit:function(t){return ey._visit(this,t)}}),unknown:e=>({...e,type:"unknown",_visit:function(t){return ey._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 WP={int:e=>({...e,type:"int",_visit:function(t){return WP._visit(this,t)}}),int64:e=>({...e,type:"int64",_visit:function(t){return WP._visit(this,t)}}),uint:()=>({type:"uint",_visit:function(e){return WP._visit(this,e)}}),uint64:()=>({type:"uint64",_visit:function(e){return WP._visit(this,e)}}),float:()=>({type:"float",_visit:function(e){return WP._visit(this,e)}}),double:e=>({...e,type:"double",_visit:function(t){return WP._visit(this,t)}}),string:e=>({...e,type:"string",_visit:function(t){return WP._visit(this,t)}}),datetime:()=>({type:"datetime",_visit:function(e){return WP._visit(this,e)}}),date:()=>({type:"date",_visit:function(e){return WP._visit(this,e)}}),base64:()=>({type:"base64",_visit:function(e){return WP._visit(this,e)}}),boolean:e=>({...e,type:"boolean",_visit:function(t){return WP._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 bB={boolean:e=>({value:e,type:"boolean",_visit:function(t){return bB._visit(this,t)}}),string:e=>({value:e,type:"string",_visit:function(t){return bB._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 B8r={discriminated:e=>({...e,type:"discriminated",_visit:function(t){return B8r._visit(this,t)}}),undiscriminated:e=>({...e,type:"undiscriminated",_visit:function(t){return B8r._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 Iwe={octetStream:e=>({...e,type:"octetStream",_visit:function(t){return Iwe._visit(this,t)}}),multipart:e=>({...e,type:"multipart",_visit:function(t){return Iwe._visit(this,t)}}),json:e=>({...e,type:"json",_visit:function(t){return Iwe._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 gB={file:e=>({...e,type:"file",_visit:function(t){return gB._visit(this,t)}}),json:e=>({...e,type:"json",_visit:function(t){return gB._visit(this,t)}}),text:e=>({...e,type:"text",_visit:function(t){return gB._visit(this,t)}}),streamingSse:e=>({...e,type:"streamingSse",_visit:function(t){return gB._visit(this,t)}}),streamingText:e=>({...e,type:"streamingText",_visit:function(t){return gB._visit(this,t)}}),streamingJson:e=>({...e,type:"streamingJson",_visit:function(t){return gB._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 Fl={primitive:e=>({...e,type:"primitive",_visit:function(t){return Fl._visit(this,t)}}),object:e=>({...e,type:"object",_visit:function(t){return Fl._visit(this,t)}}),array:e=>({...e,type:"array",_visit:function(t){return Fl._visit(this,t)}}),map:e=>({...e,type:"map",_visit:function(t){return Fl._visit(this,t)}}),optional:e=>({...e,type:"optional",_visit:function(t){return Fl._visit(this,t)}}),enum:e=>({...e,type:"enum",_visit:function(t){return Fl._visit(this,t)}}),reference:e=>({...e,type:"reference",_visit:function(t){return Fl._visit(this,t)}}),literal:e=>({...e,type:"literal",_visit:function(t){return Fl._visit(this,t)}}),oneOf:e=>({value:e,type:"oneOf",_visit:function(t){return Fl._visit(this,t)}}),nullable:e=>({...e,type:"nullable",_visit:function(t){return Fl._visit(this,t)}}),unknown:e=>({...e,type:"unknown",_visit:function(t){return Fl._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 dK={discriminated:e=>({...e,type:"discriminated",_visit:function(t){return dK._visit(this,t)}}),undiscriminated:e=>({...e,type:"undiscriminated",_visit:function(t){return dK._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 Uy={};Ro(Uy,{AllOfPropertyConflict:()=>odn,ArraySchema:()=>vho,ArraySchemaWithExample:()=>$ho,Availability:()=>h_o,Base64WithExample:()=>Lho,BasicSecurityScheme:()=>b_o,BearerSecurityScheme:()=>g_o,BooleanSchema:()=>fho,BooleanWithExample:()=>Uho,CasingOverrides:()=>P_o,CommonProperty:()=>Sho,CommonPropertyWithExample:()=>eyo,CursorPagination:()=>Z_o,CustomCodeSample:()=>Y_o,CustomCodeSampleLanguage:()=>Q_o,CustomCodeSampleSdk:()=>K_o,DateWithExample:()=>Nho,DatetimeWithExample:()=>Fho,DiscriminatedOneOfSchema:()=>jho,DiscriminatedOneOfSchemaWithExample:()=>Zho,DoubleSchema:()=>cho,DoubleWithExample:()=>zho,Encoding:()=>__o,Endpoint:()=>eho,EndpointExample:()=>tdn,EndpointResponseExample:()=>G_o,EndpointSdkName:()=>aQt,EndpointWithExample:()=>pcp,EnumSchema:()=>Vfn,EnumSchemaWithExample:()=>Who,EnumValue:()=>Bei,ErrorExample:()=>U_o,FernExample:()=>W_o,FileResponse:()=>Yfn,FileSchema:()=>I_o,FloatWithExample:()=>Iho,FullEndpointExample:()=>X_o,FullExample:()=>aM,FullObjectExample:()=>q_o,FullOneOfExample:()=>C_o,GlobalHeader:()=>pho,Header:()=>Iei,HeaderExample:()=>edn,HeaderSecurityScheme:()=>O_o,HeaderWithExample:()=>Fei,HttpEndpointServer:()=>Zfn,HttpError:()=>V_o,HttpErrorWithExample:()=>qho,HttpMethod:()=>$fn,IdempotencyHeader:()=>_ho,Int64WithExample:()=>Cho,IntSchema:()=>uho,IntWithExample:()=>Tho,JsonRequest:()=>F_o,JsonRequestWithExample:()=>Eho,JsonResponse:()=>Xfn,JsonResponseWithExample:()=>cdn,KeyValuePair:()=>T_o,LiteralExample:()=>M_o,LiteralSchema:()=>adn,LiteralSchemaValue:()=>hho,LongSchema:()=>sho,MapSchema:()=>bho,MapSchemaWithExample:()=>Gho,MultipartRequest:()=>Kfn,MultipartRequestProperty:()=>R_o,MultipartSchema:()=>z_o,NamedFullExample:()=>uQt,Namespace:()=>j_o,NamespaceId:()=>A_o,NullableSchema:()=>Oho,NullableSchemaWithExample:()=>Jho,OauthSecurityScheme:()=>S_o,ObjectProperty:()=>Pho,ObjectPropertyConflictInfo:()=>udn,ObjectPropertyWithExample:()=>Xho,ObjectSchema:()=>yho,ObjectSchemaWithExample:()=>Kho,OctetStreamRequest:()=>Jfn,OffsetPagination:()=>k_o,OneOfSchema:()=>mho,OneOfSchemaWithExample:()=>Yho,OpenApiIntermediateRepresentation:()=>fcp,OpenApiSource:()=>l_o,OptionalSchema:()=>gho,OptionalSchemaWithExample:()=>Qho,Pagination:()=>rdn,PathParameter:()=>Gfn,PathParameterExample:()=>H_o,PathParameterWithExample:()=>Dho,PrimitiveExample:()=>Hfn,PrimitiveSchema:()=>Rei,PrimitiveSchemaValue:()=>dho,PrimitiveSchemaValueWithExample:()=>Vho,PrimitiveSchemaWithExample:()=>ldn,PropertyKey:()=>Wfn,ProtobufEncoding:()=>p_o,ProtobufSource:()=>f_o,QueryParameter:()=>Qfn,QueryParameterExample:()=>kfn,QueryParameterWithExample:()=>sdn,QuerySecurityScheme:()=>m_o,ReferencedSchema:()=>oQt,Request:()=>N_o,RequestWithExample:()=>Aho,Response:()=>L_o,ResponseWithExample:()=>Mho,Schema:()=>uO,SchemaId:()=>pK,SchemaWithExample:()=>GE,Schemas:()=>oho,SdkGroup:()=>w_o,SdkGroupInfo:()=>B_o,SdkGroupName:()=>xei,SecurityScheme:()=>D_o,SecuritySchemeId:()=>v_o,Server:()=>E_o,Source:()=>d_o,StatusCode:()=>rQt,StreamingResponseExample:()=>$_o,StringSchema:()=>lho,StringSchemaWithExample:()=>Rho,SupportedSdkLanguage:()=>J_o,Tag:()=>y_o,TagId:()=>_K,Tags:()=>x_o,TextResponse:()=>zei,Uint64WithExample:()=>xho,UintWithExample:()=>Bho,UnDiscriminatedOneOfSchema:()=>who,UnDiscriminatedOneOfSchemaWithExample:()=>kho,UnknownSchemaWithExample:()=>Hho,Webhook:()=>tho,WebhookExampleCall:()=>ndn,WebhookHttpMethod:()=>idn,WebhookWithExample:()=>_cp,WebsocketChannel:()=>aho,WebsocketHandshake:()=>rho,WebsocketHandshakeWithExample:()=>dcp,WebsocketMessageExample:()=>iho,WebsocketSessionExample:()=>nho,WithAvailability:()=>Q_,WithDescription:()=>vf,WithEncoding:()=>Bte,WithInline:()=>MD,WithName:()=>Bb,WithNamespace:()=>nQt,WithSdkGroupName:()=>oO,WithSource:()=>$h,WithStatusCode:()=>iQt,WithTitle:()=>aO,commons:()=>xSs,example:()=>ISs,finalIr:()=>zSs,parseIr:()=>RSs});var xSs={};Ro(xSs,{BasicSecurityScheme:()=>b_o,BearerSecurityScheme:()=>g_o,Encoding:()=>__o,HeaderSecurityScheme:()=>O_o,Namespace:()=>j_o,NamespaceId:()=>A_o,OauthSecurityScheme:()=>S_o,OpenApiSource:()=>l_o,ProtobufEncoding:()=>p_o,ProtobufSource:()=>f_o,QuerySecurityScheme:()=>m_o,SchemaId:()=>pK,SdkGroup:()=>w_o,SdkGroupName:()=>xei,SecurityScheme:()=>D_o,SecuritySchemeId:()=>v_o,Server:()=>E_o,Source:()=>d_o,StatusCode:()=>rQt,Tag:()=>y_o,TagId:()=>_K,WithAvailability:()=>Q_,WithDescription:()=>vf,WithEncoding:()=>Bte,WithInline:()=>MD,WithName:()=>Bb,WithNamespace:()=>nQt,WithSdkGroupName:()=>oO,WithSource:()=>$h,WithStatusCode:()=>iQt,WithTitle:()=>aO});var Ct={};Ro(Ct,{JsonError:()=>Nfn,ParseError:()=>Lfn,any:()=>Zsp,bigint:()=>Nsp,boolean:()=>ksp,booleanLiteral:()=>Xsp,date:()=>Lsp,discriminant:()=>scp,enum_:()=>u_o,getObjectLikeUtils:()=>U2t,getObjectUtils:()=>nSi,getSchemaUtils:()=>nM,isProperty:()=>Cei,lazy:()=>Usp,lazyObject:()=>Jsp,list:()=>c_o,number:()=>ecp,object:()=>s_o,objectWithoutOptionalProperties:()=>Qsp,optional:()=>qSs,property:()=>Wsp,record:()=>ncp,set:()=>acp,string:()=>tcp,stringLiteral:()=>Ysp,transform:()=>TSs,undiscriminatedUnion:()=>ucp,union:()=>lcp,unknown:()=>rcp,withParsedProperties:()=>BSs});var PP={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 $E(e,t){return`Expected ${t}. Received ${_wS(e)}.`}function _wS(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 k4(e){return{...e,json:Fsp(e.json),parse:Fsp(e.parse)}}function Fsp(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(`
|
|
@@ -1962,7 +1962,7 @@ ${b}
|
|
|
1962
1962
|
${JSON.stringify(r)}"`)}}function O3p(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=v3p({source:n,serviceNameOverride:i});if(a==null)throw new Error(`Failed to resolve service name from ${n.relativeFilePath}.`);return ATe.grpc({service:a})}function m3p({rootDefaultUrl:e,rootPathParameters:t,serviceDefinition:r,file:i,errorResolver:n,typeResolver:a,propertyResolver:u,exampleResolver:l,variableResolver:f,sourceResolver:s,globalErrors:o,workspace:c}){let b=Y_n({pathParameters:r["path-parameters"],location:MTe.Service,file:i,variableResolver:f}),g=b3p({file:i,serviceDeclaration:r,sourceResolver:s}),O={fernFilepath:i.fernFilepath};return{availability:Zte(r.availability),name:O,displayName:r["display-name"]??void 0,basePath:fxe(r["base-path"]),headers:r.headers!=null?Object.entries(r.headers).map(([w,A])=>pxe({headerKey:w,header:A,file:i})):[],pathParameters:b,encoding:hdD(g,r),transport:g,endpoints:Object.entries(r.endpoints).map(([w,A])=>{let M=Y_n({pathParameters:p6t(A),location:MTe.Endpoint,file:i,variableResolver:f}),q={...e$(A),id:"",name:i.casingsGenerator.generateName(w),displayName:A["display-name"],auth:A.auth??r.auth,idempotent:A.idempotent??r.idempotent??!1,baseUrl:A.url??r.url??e,method:A.method!=null?_dD(A.method):qee.Post,basePath:A["base-path"]!=null?fxe(A["base-path"]):void 0,path:fxe(A.path),fullPath:fxe(A["base-path"]!=null?Iv(A["base-path"],A.path):i.rootApiFile["base-path"]!=null?Iv(i.rootApiFile["base-path"],r["base-path"],A.path):Iv(r["base-path"],A.path)),pathParameters:M,allPathParameters:A["base-path"]!=null?M:[...t,...b,...M],queryParameters:typeof A.request!="string"&&A.request?.["query-parameters"]!=null?Object.entries(A.request["query-parameters"]).map(([D,C])=>Djo({file:i,queryParameterKey:D,queryParameter:C})):[],headers:typeof A.request!="string"&&A.request?.headers!=null?Object.entries(A.request.headers).map(([D,C])=>pxe({headerKey:D,header:C,file:i})):[],requestBody:INp({request:A.request,file:i}),sdkRequest:LNp({service:r,request:A.request,endpoint:A,endpointKey:w,file:i,typeResolver:a,propertyResolver:u}),response:d3p({endpoint:A,file:i,typeResolver:a}),errors:[...TNp({errors:A.errors,file:i}),...o],userSpecifiedExamples:A.examples!=null?A.examples.map(D=>({example:f3p({service:r,endpoint:A,example:D,typeResolver:a,errorResolver:n,exampleResolver:l,variableResolver:f,file:i,workspace:c}),codeSamples:D["code-samples"]?.map(C=>UNp({codeSample:C,file:i}))})):[],autogeneratedExamples:[],pagination:y3p({propertyResolver:u,file:i,endpointName:w,endpointSchema:A}),transport:g3p({file:i,serviceTransport:g,endpointDeclaration:A,sourceResolver:s})};return q.id=mg.generateEndpointId(O,q),q})}}function Y_n({pathParameters:e,location:t,file:r,variableResolver:i}){return e==null?[]:Object.entries(e).map(([n,a])=>ddD({parameterName:n,parameter:a,location:t,file:r,variableResolver:i}))}function ddD({parameterName:e,parameter:t,location:r,file:i,variableResolver:n}){return{...e$(t),name:i.casingsGenerator.generateName(e),valueType:pdD({parameter:t,variableResolver:n,file:i}),location:r,variable:ynn(t)?n.getVariableIdOrThrow(typeof t=="string"?t:t.variable):void 0}}function pdD({parameter:e,variableResolver:t,file:r}){let i=hra({parameter:e,variableResolver:t,file:r});return i.file.parseTypeReference(i.rawType)}function hra({parameter:e,variableResolver:t,file:r}){let i=Ajo({parameter:e,variableResolver:t,file:r});if(i==null)throw new Error("Cannot resolve path parameter");return i}function Ajo({parameter:e,variableResolver:t,file:r}){if(ynn(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 _dD(e){switch(e){case"GET":return qee.Get;case"POST":return qee.Post;case"PUT":return qee.Put;case"PATCH":return qee.Patch;case"DELETE":return qee.Delete;default:Xo(e)}}function pxe({headerKey:e,header:t,file:r}){let{name:i}=YQt({headerKey:e,header:t});return{...e$(t),name:r.casingsGenerator.generateNameAndWireValue({wireValue:e,name:i}),valueType:r.parseTypeReference(t),env:typeof t=="string"?void 0:t.env}}function YQt({headerKey:e,header:t}){return typeof t!="string"&&t.name!=null?{name:t.name,wasExplicitlySet:!0}:{name:e,wasExplicitlySet:!1}}function hdD(e,t){switch(e.type){case"http":return{json:{},proto:void 0};case"grpc":return{json:void 0,proto:{}};default:Xo(e)}}var t$={};Ro(t$,{validateObjectExample:()=>kDi,validateTypeExample:()=>wjo,validateTypeReferenceExample:()=>h8});var Mjo=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:mg.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:cd(this.subpackages,(i,n)=>({...i,hasEndpointsInTree:r.has(n)})),rootPackage:{...this.rootPackage,hasEndpointsInTree:r.size>0||this.rootPackage.service!=null}}}sortRootPackage(t){if(!P3p(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(!P3p(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},f=a.find(s=>s.name.originalName===n.originalName);if(f==null){let s=mg.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),f=o}return this.getPackageForFernFilepath(t,u,f)}};function P3p(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 j3p(e){return{errorInstanceIdKey:e.generateNameAndWireValue({wireValue:"errorInstanceId",name:"errorInstanceId"})}}function qjo({fernFilePath:e}){return e.packagePath.length===0&&e.file==null}function w3p({endpointResolver:e,propertyResolver:t,file:r,refreshTokenEndpoint:i}){let n=e.resolveEndpointOrThrow({endpoint:i.endpoint,file:r});return{endpointReference:{endpointId:mg.generateEndpointIdFromResolvedEndpoint(n),serviceId:mg.generateServiceIdFromFernFilepath(n.file.fernFilepath),subpackageId:qjo({fernFilePath:n.file.fernFilepath})?void 0:mg.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 S3p({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:mg.generateEndpointIdFromResolvedEndpoint(n),serviceId:mg.generateServiceIdFromFernFilepath(n.file.fernFilepath),subpackageId:qjo({fernFilePath:n.file.fernFilepath})?void 0:mg.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:ydD({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 ydD=({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 D3p({propertyResolver:e,endpointResolver:t,file:r,oauthScheme:i,tokenEndpoint:n,refreshTokenEndpoint:a}){let u=S3p({propertyResolver:e,endpointResolver:t,file:r,tokenEndpoint:n});if(u==null)throw new Error("Failed to convert OAuth token endpoint.");let l=a!=null?w3p({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 yra={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}},H3s={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 E3p(e){return{endpoint:e["get-token"].endpoint,requestProperties:vdD({requestProperties:e["get-token"]?.["request-properties"]}),responseProperties:bdD({responseProperties:e["get-token"]?.["response-properties"]})}}function A3p(e){if(e["refresh-token"]!=null)return{endpoint:e["refresh-token"].endpoint,requestProperties:gdD({requestProperties:e["refresh-token"]?.["request-properties"]}),responseProperties:OdD({responseProperties:e["refresh-token"]?.["response-properties"]})}}function vdD({requestProperties:e}){if(e==null)return yra.requestProperties;let t=e["client-id"],r=e["client-secret"],i=e.scopes;return{type:"access_token",client_id:t!=null?d6t(t):yra.requestProperties.client_id,client_secret:r!=null?d6t(r):yra.requestProperties.client_secret,scopes:i!=null?d6t(i):yra.requestProperties.scopes}}function bdD({responseProperties:e}){return M3p({responseProperties:e,defaultValue:yra.responseProperties})}function gdD({requestProperties:e}){if(e==null)return H3s.requestProperties;let t=e["refresh-token"];return{type:"refresh_token",refresh_token:t!=null?d6t(t):H3s.requestProperties.refresh_token}}function OdD({responseProperties:e}){return M3p({responseProperties:e,defaultValue:H3s.responseProperties})}function M3p({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?P5r(r):t.access_token,expires_in:i!=null?P5r(i):t.expires_in,refresh_token:n!=null?P5r(n):t.refresh_token}}function x3p({rawApiFileSchema:e,file:t,propertyResolver:r,endpointResolver:i}){if(e.auth==null)return{docs:void 0,requirement:eXr.All,schemes:[]};let n=typeof e.auth!="string"?e.auth.docs:void 0;return tHn(e.auth,{single:a=>{let u=q3p({reference:a,authSchemeDeclarations:e["auth-schemes"],file:t,propertyResolver:r,endpointResolver:i});return{docs:n,requirement:eXr.All,schemes:[u]}},any:({any:a})=>({docs:n,requirement:eXr.Any,schemes:a.map(u=>q3p({reference:u,authSchemeDeclarations:e["auth-schemes"],file:t,propertyResolver:r,endpointResolver:i}))})})}function q3p({reference:e,authSchemeDeclarations:t,file:r,propertyResolver:i,endpointResolver:n}){let a=(l,f)=>{let s=t?.[l];if(s==null)throw new Error("Unknown auth scheme: "+l);return Nts(s,{header:o=>_L.header({docs:f,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=>C3p({file:r,docs:f,rawScheme:o}),bearer:o=>T3p({file:r,docs:f,rawScheme:o}),oauth:o=>B3p({file:r,docs:f,rawScheme:o,propertyResolver:i,endpointResolver:n})})},u=typeof e=="string"?e:e.scheme;switch(u){case"bearer":return T3p({file:r,docs:void 0,rawScheme:void 0});case"basic":return C3p({file:r,docs:void 0,rawScheme:void 0});case"oauth":return B3p({file:r,docs:void 0,rawScheme:void 0,propertyResolver:i,endpointResolver:n});default:return a(u,typeof e!="string"?e.docs:void 0)}}function T3p({file:e,docs:t,rawScheme:r}){return _L.bearer({docs:t,token:e.casingsGenerator.generateName(r?.token?.name??"token"),tokenEnvVar:r?.token?.env})}function C3p({file:e,docs:t,rawScheme:r}){return _L.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 B3p({file:e,docs:t,rawScheme:r,propertyResolver:i,endpointResolver:n}){switch(r?.type){case"client-credentials":return _L.oauth({docs:t,configuration:tXr.clientCredentials(D3p({propertyResolver:i,endpointResolver:n,file:e,oauthScheme:r,tokenEndpoint:E3p(r),refreshTokenEndpoint:A3p(r)}))});default:throw new Error(`Unknown OAuth type: '${r?.type}'`)}}function I3p({file:e,rawApiFileSchema:t}){if(t.version!=null)return iXr.header({header:mdD({file:e,header:t.version.header}),value:PdD({file:e,versionDeclaration:t.version})})}function mdD({file:e,header:t}){return typeof t=="string"?pxe({file:e,headerKey:t,header:{type:"string"}}):pxe({file:e,headerKey:t.value,header:{type:"string",name:t.name,env:t.env}})}function PdD({file:e,versionDeclaration:t}){return Sjo({_enum:{default:t.default,enum:t.values},file:e})}function z3p({channel:e,typeResolver:t,exampleResolver:r,variableResolver:i,file:n,workspace:a}){let u=[];for(let[l,f]of Object.entries(e.messages??{}))u.push({type:l,availability:Zte(f.availability),docs:f.docs,origin:f.origin,body:SdD({body:f.body,file:n}),displayName:f["display-name"]});return{availability:Zte(e.availability),path:fxe(e.path),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,f])=>pxe({headerKey:l,header:f,file:n})):[],docs:e.docs,pathParameters:e["path-parameters"]!=null?Y_n({pathParameters:e["path-parameters"],location:MTe.Endpoint,file:n,variableResolver:i}):[],queryParameters:e["query-parameters"]!=null?Object.entries(e["query-parameters"]).map(([l,f])=>{let{name:s}=w5r({queryParameterKey:l,queryParameter:f}),o=n.parseTypeReference(f);return{...e$(f),name:n.casingsGenerator.generateNameAndWireValue({wireValue:l,name:s}),valueType:o,allowMultiple:typeof f!="string"&&f["allow-multiple"]!=null?f["allow-multiple"]:!1}}):[],messages:Object.values(u),examples:(e.examples??[]).map(l=>{let f=EdD({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:MdD({channel:e,example:l,pathParams:f}),...f,...AdD({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:w5r({queryParameterKey:s,queryParameter:c}).name,wireValue:s}),value:CD({example:o,rawTypeBeingExemplified:typeof c=="string"?c:c.type,typeResolver:t,exampleResolver:r,fileContainingRawTypeReference:n,fileContainingExample:n,workspace:a}),shape:jdD({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:wdD({message:o,example:s.body,typeResolver:t,exampleResolver:r,file:n,workspace:a})}})}})}}function jdD({queryParameter:e}){return(typeof e!="string"&&e["allow-multiple"]!=null?e["allow-multiple"]:!1)?X7.exploded():X7.single()}function wdD({message:e,example:t,typeResolver:r,exampleResolver:i,file:n,workspace:a}){if(!qdD(e.body))return S7t.reference(CD({example:t,rawTypeBeingExemplified:typeof e.body!="string"?e.body.type:e.body,typeResolver:r,exampleResolver:i,fileContainingRawTypeReference:n,fileContainingExample:n,workspace:a}));if(!Dj(t))throw new Error("Example must be an object");let u=[];for(let[l,f]of Object.entries(t)){let s=e.body.properties?.[l];if(s!=null)u.push({name:n.casingsGenerator.generateNameAndWireValue({name:oU({propertyKey:l,property:s}).name,wireValue:l}),value:CD({example:f,rawTypeBeingExemplified:typeof s!="string"?s.type:s,typeResolver:r,exampleResolver:i,fileContainingRawTypeReference:n,fileContainingExample:n,workspace:a}),originalTypeDeclaration:void 0});else{let o=_ra({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:oU({propertyKey:l,property:o.rawPropertyType}).name,wireValue:l}),value:CD({example:f,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 S7t.inlinedBody({jsonExample:i.resolveAllReferencesInExampleOrThrow({example:t,file:n}).resolvedExample,properties:u})}function SdD({body:e,file:t}){return typeof e=="string"?Ree.reference({docs:void 0,bodyType:t.parseTypeReference(e)}):DdD(e)?Ree.reference({docs:void 0,bodyType:t.parseTypeReference(e.type)}):Ree.inlinedBody({name:t.casingsGenerator.generateName(e.name),extends:f6t(e.extends??[]).map(r=>_8({typeName:r,file:t})),properties:[]})}function DdD(e){return e.type!=null}function EdD({channel:e,example:t,typeResolver:r,exampleResolver:i,variableResolver:n,file:a,workspace:u}){let l=[],f=({name:s,pathParameterDeclaration:o,examplePathParameter:c})=>{let b=hra({parameter:o,variableResolver:n,file:a});return{name:s,value:CD({example:c,rawTypeBeingExemplified:b.rawType,typeResolver:r,exampleResolver:i,fileContainingRawTypeReference:b.file,fileContainingExample:a,workspace:u})}};if(t["path-parameters"]!=null){let s=p6t(e);for(let[o,c]of Object.entries(t["path-parameters"])){let b=s[o];if(b!=null)l.push(f({name:a.casingsGenerator.generateName(o),pathParameterDeclaration:b,examplePathParameter:c}));else throw new Error(`Path parameter ${o} does not exist`)}}return{pathParameters:l}}function AdD({channel:e,example:t,typeResolver:r,exampleResolver:i,file:n,workspace:a}){let u=[];if(t.headers!=null)for(let[l,f]of Object.entries(t.headers)){let s=e.headers?.[l];if(s!=null)u.push({name:n.casingsGenerator.generateNameAndWireValue({name:YQt({headerKey:l,header:s}).name,wireValue:l}),value:CD({example:f,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 MdD({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 qdD(e){return typeof e=="string"?!1:e.extends!=null||e.properties!=null}function $3s({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:W6r(i,{singleBaseUrl:()=>g7t.singleBaseUrl(TdD({environments:t,casingsGenerator:r})),multipleBaseUrls:n=>g7t.multipleBaseUrls(CdD({baseUrls:Object.keys(n.urls),environments:t,casingsGenerator:r}))})}}function TdD({environments:e,casingsGenerator:t}){return{environments:Object.entries(e).map(([r,i])=>W6r(i,{singleBaseUrl:n=>({docs:typeof n=="string"?void 0:n.docs,id:r,name:t.generateName(r),url:R3p(typeof n=="string"?n:n.url)}),multipleBaseUrls:()=>{throw new Error(`Environment ${r} has multiple base URLs`)}}))}}function CdD({baseUrls:e,environments:t,casingsGenerator:r}){return{baseUrls:e.map(i=>({id:i,name:r.generateName(i)})),environments:Object.entries(t).map(([i,n])=>W6r(n,{multipleBaseUrls:a=>({docs:a.docs,id:i,name:r.generateName(i),urls:cd(a.urls,u=>R3p(u))}),singleBaseUrl:()=>{throw new Error(`Environment ${i} does not have multiple base URLs`)}}))}}function R3p(e){return e.endsWith("/")?e.slice(0,-1):e}function F3p({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:CD({example:l.value,rawTypeBeingExemplified:t.type,fileContainingRawTypeReference:r,fileContainingExample:r,typeResolver:i,exampleResolver:n,workspace:a})});return{name:hri({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 N3p="content";function L3p(e,t){if(e==null||e.strategy==="status-code")return j7t.statusCode();switch(e.strategy){case"property":return j7t.property({discriminant:t.casingsGenerator.generateNameAndWireValue({name:e["property-name"],wireValue:e["property-name"]}),contentProperty:t.casingsGenerator.generateNameAndWireValue({name:N3p,wireValue:N3p})});default:Xo(e)}}function U3p({readme:e,services:t}){let r=new G3s(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 G3s=class{endpoints={};constructor(t){this.endpoints=this.buildEndpoints(t)}getEndpointForReadme(t){let r=xdD({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:BdD(t),stream:t.response?.body?.type==="streaming"})}getEndpointKey({method:t,path:r,stream:i}){return`${t}|${r}|${i}`}};function BdD(e){let t="";e.fullPath.head.length>0&&(t=Iv(t,e.fullPath.head));for(let r of e.fullPath.parts)t=Iv(t,"{"+r.pathParameter+"}"),r.tail.length>0&&(t=Iv(t,r.tail));return t.startsWith("/")?t:`/${t}`}function xdD({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 V3p({webhooks:e,file:t,typeResolver:r,exampleResolver:i,workspace:n}){let a=[];for(let[u,l]of Object.entries(e))a.push({id:mg.generateWebhookId(t.fernFilepath,u),availability:Zte(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(([f,s])=>pxe({headerKey:f,header:s,file:t})):[],payload:IdD({payload:l.payload,file:t}),examples:l.examples!=null?RdD({webhook:l,examples:l.examples,file:t,typeResolver:r,exampleResolver:i,workspace:n}):void 0});return a}function IdD({payload:e,file:t}){return typeof e=="string"?zee.reference({docs:void 0,payloadType:t.parseTypeReference(e)}):Tjo(e)?zee.reference({docs:void 0,payloadType:t.parseTypeReference(e.type)}):zee.inlinedPayload({name:t.casingsGenerator.generateName(e.name),extends:f6t(e.extends).map(r=>_8({typeName:r,file:t})),properties:e.properties!=null?Object.entries(e.properties).map(([r,i])=>zdD({propertyKey:r,propertyDefinition:i,docs:typeof i!="string"?i.docs:void 0,availability:typeof i!="string"?Zte(i.availability):void 0,file:t})):[]})}function zdD({propertyKey:e,propertyDefinition:t,docs:r,availability:i,file:n}){return{docs:r,availability:i,name:n.casingsGenerator.generateNameAndWireValue({wireValue:e,name:oU({propertyKey:e,property:t}).name}),valueType:n.parseTypeReference(t)}}function RdD({webhook:e,examples:t,file:r,typeResolver:i,exampleResolver:n,workspace:a}){let u=typeof e.payload=="string"?e.payload:Tjo(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:CD({example:l.payload,rawTypeBeingExemplified:u,fileContainingRawTypeReference:r,fileContainingExample:r,typeResolver:i,exampleResolver:n,workspace:a})}));if(!Dj(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:CD({example:l.payload,rawTypeBeingExemplified:"map<string, unknown>",fileContainingRawTypeReference:r,fileContainingExample:r,typeResolver:i,exampleResolver:n,workspace:a})}))}function Tjo(e){return e.type!=null}function X_n(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 W3p({name:e,source:t}){return UP.userDefined({file:Ejo({source:t}),name:yri.generateName(e)})}function H3p({encoding:e}){if(e.proto!=null&&e.proto.type!=null){let t=FdD({type:e.proto.type});if(t!=null)return t}}function FdD({type:e}){switch(e){case"google.protobuf.Any":return UP.wellKnown(Kf.any());case"google.protobuf.Api":return UP.wellKnown(Kf.api());case"google.protobuf.BoolValue":return UP.wellKnown(Kf.boolValue());case"google.protobuf.BytesValue":return UP.wellKnown(Kf.bytesValue());case"google.protobuf.DoubleValue":return UP.wellKnown(Kf.doubleValue());case"google.protobuf.Duration":return UP.wellKnown(Kf.duration());case"google.protobuf.Empty":return UP.wellKnown(Kf.empty());case"google.protobuf.Enum":return UP.wellKnown(Kf.enum());case"google.protobuf.EnumValue":return UP.wellKnown(Kf.enumValue());case"google.protobuf.Field":return UP.wellKnown(Kf.field());case"google.protobuf.FieldCardinality":return UP.wellKnown(Kf.fieldCardinality());case"google.protobuf.FieldKind":return UP.wellKnown(Kf.fieldKind());case"google.protobuf.FieldMask":return UP.wellKnown(Kf.fieldMask());case"google.protobuf.FloatVlaue":return UP.wellKnown(Kf.floatValue());case"google.protobuf.Int32Value":return UP.wellKnown(Kf.int32Value());case"google.protobuf.Int64Value":return UP.wellKnown(Kf.int64Value());case"google.protobuf.ListValue":return UP.wellKnown(Kf.listValue());case"google.protobuf.Method":return UP.wellKnown(Kf.method());case"google.protobuf.Mixin":return UP.wellKnown(Kf.mixin());case"google.protobuf.NullValue":return UP.wellKnown(Kf.nullValue());case"google.protobuf.Option":return UP.wellKnown(Kf.option());case"google.protobuf.SourceContext":return UP.wellKnown(Kf.sourceContext());case"google.protobuf.StringValue":return UP.wellKnown(Kf.stringValue());case"google.protobuf.Struct":return UP.wellKnown(Kf.struct());case"google.protobuf.Syntax":return UP.wellKnown(Kf.syntax());case"google.protobuf.Timestamp":return UP.wellKnown(Kf.timestamp());case"google.protobuf.Type":return UP.wellKnown(Kf.type());case"google.protobuf.Uint32Value":return UP.wellKnown(Kf.uint32Value());case"google.protobuf.Uint64Value":return UP.wellKnown(Kf.uint64Value());case"google.protobuf.Value":return UP.wellKnown(Kf.value())}}function $3p({generic:e,file:t,typeResolver:r}){let i=typeof e=="string"?e:e.type,n=iI(i);if(n==null)throw new Error(`Invalid generic type definition: ${i}`);let a=r.getDeclarationOfNamedTypeOrThrow({referenceToNamedType:i,file:t});if(n.arguments&&E1(a.declaration)){let u=iI(a.typeName)?.arguments??[],l=Object.entries(a.declaration.properties??{}).map(([f,s])=>{let o=s;return typeof s=="string"&&u?.includes(s)&&(o=n.arguments?.[u.indexOf(s)]??s),[f,o]});return Oq.object({extends:f6t(a.declaration.extends).map(f=>_8({typeName:f,file:t})),properties:cra({properties:Object.fromEntries(l)},t),extraProperties:a.declaration["extra-properties"]??!1,extendedProperties:void 0})}throw new Error(`Generic type definition not supported: ${i}`)}function G3p({alias:e,file:t,typeResolver:r}){let i=typeof e=="string"?e:e.type;return ETe(i)?$3p({generic:i,file:t,typeResolver:r}):Oq.alias({aliasOf:t.parseTypeReference(e),resolvedType:NdD({aliasOf:i,file:t,typeResolver:r})})}function NdD({aliasOf:e,file:t,typeResolver:r}){let i=r.resolveTypeOrThrow({type:e,file:t});switch(i._type){case"primitive":return yL.primitive(i.originalTypeReference.primitive);case"container":return yL.container(i.originalTypeReference.container);case"unknown":return yL.unknown();case"named":{let n=E1(i.declaration)?w7t.Object:_Xr(i.declaration)?w7t.Union:M7t(i.declaration)?w7t.Enum:vnn(i.declaration)?w7t.UndiscriminatedUnion:Xo(i.declaration);return yL.named({name:i.name,shape:n})}}}function Q3p({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 Oq.undiscriminatedUnion({members:r.map(i=>typeof i=="string"?{docs:void 0,type:t.parseTypeReference(i)}:{type:t.parseTypeReference(i.type),docs:i.docs})})}function J3p(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 J3s({typeDeclaration:e,file:t,typeResolver:r,seenTypeNames:i=new Q3s}){let n=KR(e,{alias:u=>{let l=typeof u=="string"?u:u.type,f=iI(l);if(f!=null){let s=new Set(f.arguments??[]),o=r.getDeclarationOfNamedTypeOrThrow({referenceToNamedType:l,file:t}),c=iI(o.typeName)?.arguments;if(E1(o.declaration)){let b=J3p(o.declaration);c&&b.filter(g=>!c.includes(g)).forEach(g=>s.add(g))}return Array.from(s)}return[l]},object:u=>J3p(u),discriminatedUnion:u=>{let l=[];return u["base-properties"]!=null&&l.push(...Object.values(u["base-properties"]).map(f=>typeof f=="string"?f:f.type)),l.push(...Object.values(u.union).reduce((f,s)=>{let o=typeof s=="string"?s:s.type;return typeof o=="string"&&f.push(o),f},[])),l},undiscriminatedUnion:u=>Object.values(u.union).reduce((l,f)=>{let s=typeof f=="string"?f:f.type;return typeof s=="string"&&l.push(s),l},[]),enum:()=>[]}),a=[];for(let u of n){let l=vL({type:u,_default:void 0,validation:void 0,visitor:{primitive:()=>[],map:({keyType:f,valueType:s})=>[...f,...s],list:f=>f,optional:f=>f,nullable:f=>f,set:f=>f,named:f=>[f],literal:()=>[],unknown:()=>[]}});for(let f of l){let s=_8({typeName:f,file:t});if(!i.hasTypeNameBeenSeen(s)){i.addTypeName(s),a.push(s);let o=r.getDeclarationOfNamedTypeOrThrow({referenceToNamedType:f,file:t});if(ETe(o.typeName))continue;a.push(...J3s({typeDeclaration:o.declaration,file:o.file,typeResolver:r,seenTypeNames:i}))}}}return a}var Q3s=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 K3p({typeName:e,typeDeclaration:t,file:r,typeResolver:i,exampleResolver:n,sourceResolver:a,workspace:u}){let l=e$(t),f=_8({typeName:e,file:r}),s=J3s({typeDeclaration:t,file:r,typeResolver:i}),o={};E1(t)&&(o=X_n(t.properties??{}));let c=UdD({file:r,typeDeclaration:t,typeName:e,sourceResolver:a});return{propertiesByAudience:o,typeDeclaration:{...l,inline:$dD(t),name:f,shape:LdD({typeDeclaration:t,file:r,typeResolver:i}),referencedTypes:new Set(s.map(b=>b.typeId)),encoding:VdD({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:W3s({typeName:f,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 LdD({typeDeclaration:e,file:t,typeResolver:r}){return KR(e,{alias:i=>G3p({alias:i,file:t,typeResolver:r}),object:i=>BNp({object:i,file:t}),discriminatedUnion:i=>JNp({union:i,file:t,typeResolver:r}),undiscriminatedUnion:i=>Q3p({union:i,file:t}),enum:i=>Oq.enum(Sjo({_enum:i,file:t}))})}function UdD({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=H3p({encoding:t.encoding});if(a!=null)return U6r.proto(a)}if(t.source==null)return;let n=i.resolveSourceOrThrow({source:t.source,relativeFilepath:e.relativeFilepath});if(!(n==null||n.type!=="protobuf"))return U6r.proto(W3p({source:n,name:r}))}function VdD({typeDeclaration:e,source:t}){return typeof e!="string"&&e.encoding!=null?WdD(e.encoding):HdD(t)}function WdD(e){return e.proto!=null?{json:void 0,proto:{}}:{json:{},proto:void 0}}function HdD(e){return e!=null&&e.type==="proto"?{json:void 0,proto:{}}:{json:{},proto:void 0}}function $dD(e){if(typeof e!="string"&&"inline"in e)return e.inline}var Y3p="1.0.0";var Cjo=class{ir;auth;constructor(t){this.ir=t,this.auth=this.convertAuth(t.auth)}convert(){return{version:Y3p,types:this.convertNamedTypes(),headers:this.convertHeaders(),endpoints:this.convertEndpoints(),environments:this.ir.environments}}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(){let t=this.getAllHttpEndpoints();return Object.fromEntries(t.map(r=>[r.id,this.convertEndpoint(r)]))}convertEndpoint(t){return{auth:this.auth,declaration:this.convertDeclaration({name:t.name,fernFilepath:t.fernFilepath}),location:this.convertEndpointLocation({endpoint:t}),request:this.convertRequest({endpoint:t}),response:Uc.Response.json()}}convertRequest({endpoint:t}){let r=this.convertPathParameters({pathParameters:t.allPathParameters});if(t.sdkRequest==null&&t.requestBody==null)return Uc.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 Uc.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:Xo(t.sdkRequest.shape)}}convertReferencedRequestBodyType({body:t}){switch(t.type){case"bytes":return Uc.ReferencedRequestBodyType.bytes();case"typeReference":return Uc.ReferencedRequestBodyType.typeReference(this.convertTypeReference(t.requestBodyType));default:Xo(t)}}convertInlinedRequest({fernFilepath:t,wrapper:r,pathParameters:i,queryParameters:n,headers:a,body:u}){return Uc.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 Uc.InlinedRequestBody.properties(this.convertWireValueParameters({wireValueParameters:i}))}case"reference":return Uc.InlinedRequestBody.referenced({bodyKey:t.bodyKey,bodyType:Uc.ReferencedRequestBodyType.typeReference(this.convertTypeReference(r.requestBodyType))});case"bytes":return Uc.InlinedRequestBody.referenced({bodyKey:t.bodyKey,bodyType:Uc.ReferencedRequestBodyType.bytes()});case"fileUpload":return this.convertFileUploadRequestBody({properties:r.properties});default:Xo(r)}}convertFileUploadRequestBody({properties:t}){return Uc.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 Uc.FileUploadRequestBodyProperty.bodyProperty({name:r.name,typeReference:this.convertTypeReference(r.valueType)});default:Xo(r)}})}convertFileUploadRequestBodyFileProperty({fileProperty:t}){switch(t.type){case"file":return Uc.FileUploadRequestBodyProperty.file(t.key);case"fileArray":return Uc.FileUploadRequestBodyProperty.fileArray(t.key);default:Xo(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=Uc.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:Xo(t)}}convertContainerType(t){switch(t.type){case"list":return Uc.TypeReference.list(this.convertTypeReference(t.list));case"map":return Uc.TypeReference.map({key:this.convertTypeReference(t.keyType),value:this.convertTypeReference(t.valueType)});case"optional":return Uc.TypeReference.optional(this.convertTypeReference(t.optional));case"nullable":return Uc.TypeReference.nullable(this.convertTypeReference(t.nullable));case"set":return Uc.TypeReference.set(this.convertTypeReference(t.set));case"literal":return Uc.TypeReference.literal(this.convertLiteral(t.literal));default:Xo(t)}}convertNamedType(t){return Uc.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:Xo(t.shape)}}convertAlias({declaration:t,alias:r}){return Uc.NamedType.alias({declaration:t,typeReference:this.convertTypeReference(r.aliasOf)})}convertEnum({declaration:t,enum_:r}){return Uc.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})}convertObjectProperties({declaration:t,properties:r}){return Uc.NamedType.object({declaration:t,properties:this.convertWireValueParameters({wireValueParameters:r})})}convertDiscriminatedUnion({declaration:t,union:r}){let i=[...this.resolveProperties(r.extends),...r.baseProperties];return Uc.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:Xo(i)}}convertDiscriminatedUnionTypeObject({inheritedProperties:t,discriminantValue:r,declaredTypeName:i}){return Uc.SingleDiscriminatedUnionType.samePropertiesAsObject({typeId:i.typeId,discriminantValue:r,properties:this.convertWireValueParameters({wireValueParameters:t})})}convertDiscriminatedUnionTypeSingleProperty({inheritedProperties:t,discriminantValue:r,singleUnionTypeProperty:i}){return Uc.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 Uc.SingleDiscriminatedUnionType.noProperties({discriminantValue:r,properties:t.length>0?this.convertWireValueParameters({wireValueParameters:t}):void 0})}convertUndiscriminatedUnion({declaration:t,union:r}){return Uc.NamedType.undiscriminatedUnion({declaration:t,types:r.members.map(i=>this.convertTypeReference(i.type))})}convertLiteral(t){switch(t.type){case"boolean":return Uc.LiteralType.boolean(t.boolean);case"string":return Uc.LiteralType.string(t.string);default:Xo(t)}}convertPrimitiveType(t){return Uc.TypeReference.primitive(t.v1)}convertUnknownType(){return Uc.TypeReference.unknown()}convertAuth(t){if(t.schemes[0]==null)return;let r=t.schemes[0];switch(r.type){case"basic":return Uc.Auth.basic(r);case"bearer":return Uc.Auth.bearer(r);case"header":return Uc.Auth.header({header:{name:r.name,typeReference:this.convertTypeReference(r.valueType)}});case"oauth":return;default:Xo(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,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=Iv(r,t.fullPath.head));for(let i of t.fullPath.parts)r=Iv(r,"{"+i.pathParameter+"}"),i.tail.length>0&&(r=Iv(r,i.tail));return r.startsWith("/")?r:`/${r}`}};function X3p(e){return new Cjo(e).convert()}function Z3p({fieldName:e,containerType:t,maxDepth:r,currentDepth:i,typeDeclarations:n,skipOptionalProperties:a}){if(i>=r)return XQt({containerType:t});switch(t.type){case"list":{let u=eC({fieldName:e,typeReference:t.list,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"?XQt({containerType:t}):{type:"success",example:gO.list({list:[u.example,u.example],itemType:t.list}),jsonExample:[u.jsonExample,u.jsonExample]}}case"literal":return{type:"success",example:gO.literal({literal:t.literal._visit({boolean:u=>$p.boolean(u),string:u=>$p.string({original:u}),_other:()=>{throw new Error("Encountered unknown literal type")}})}),jsonExample:t.literal._visit({boolean:u=>u,string:u=>u,_other:()=>{throw new Error("Encountered unknown literal type")}})};case"optional":{if(a)return XQt({containerType:t});let u=eC({fieldName:e,typeReference:t.optional,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"?XQt({containerType:t}):{type:"success",example:gO.optional({optional:u.example,valueType:t.optional}),jsonExample:u.jsonExample}}case"nullable":{if(a)return XQt({containerType:t});let u=eC({fieldName:e,typeReference:t.nullable,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"?XQt({containerType:t}):{type:"success",example:gO.nullable({nullable:u.example,valueType:t.nullable}),jsonExample:u.jsonExample}}case"set":{let u=eC({fieldName:e,typeReference:t.set,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"?XQt({containerType:t}):{type:"success",example:gO.set({set:[u.example],itemType:t.set}),jsonExample:[u.jsonExample]}}case"map":{let u=eC({fieldName:e,typeReference:t.keyType,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a}),l=eC({fieldName:e,typeReference:t.valueType,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"||l.type==="failure"?XQt({containerType:t}):{type:"success",example:gO.map({map:[{key:u.example,value:l.example}],keyType:t.keyType,valueType:t.valueType}),jsonExample:{[u.jsonExample]:l.jsonExample}}}default:Xo(t)}}function XQt({containerType:e}){switch(e.type){case"list":return{type:"success",example:gO.list({list:[],itemType:e.list}),jsonExample:[]};case"literal":return{type:"success",example:gO.literal({literal:e.literal._visit({boolean:t=>$p.boolean(t),string:t=>$p.string({original:t}),_other:()=>{throw new Error("Encountered unknown literal type")}})}),jsonExample:e.literal._visit({boolean:t=>t,string:t=>t,_other:()=>{throw new Error("Encountered unknown literal type")}})};case"optional":return{type:"success",example:gO.optional({optional:void 0,valueType:e.optional}),jsonExample:void 0};case"nullable":return{type:"success",example:gO.nullable({nullable:void 0,valueType:e.nullable}),jsonExample:void 0};case"set":return{type:"success",example:gO.set({set:[],itemType:e.set}),jsonExample:[]};case"map":return{type:"success",example:gO.map({map:[],keyType:e.keyType,valueType:e.valueType}),jsonExample:{}};default:Xo(e)}}function e7p({fieldName:e,primitiveType:t}){switch(t.v1){case"STRING":return KdD({fieldName:e,validation:GdD(t.v2)});case"BASE_64":return{type:"success",example:$p.base64(X0.BASE64),jsonExample:X0.BASE64};case"BOOLEAN":return{type:"success",example:$p.boolean(X0.BOOLEAN),jsonExample:X0.BOOLEAN};case"DATE":return{type:"success",example:$p.date(X0.DATE),jsonExample:X0.DATE};case"DATE_TIME":return{type:"success",example:$p.datetime({datetime:new Date(X0.DATE_TIME),raw:X0.DATE_TIME}),jsonExample:X0.DATE_TIME};case"DOUBLE":return YdD({fieldName:e,validation:QdD(t.v2)});case"FLOAT":return{type:"success",example:$p.float(X0.FLOAT),jsonExample:X0.FLOAT};case"INTEGER":return XdD({fieldName:e,validation:JdD(t.v2)});case"UINT_64":return{type:"success",example:$p.uint64(X0.INT64),jsonExample:X0.INT64};case"UINT":return{type:"success",example:$p.uint(X0.UINT),jsonExample:X0.UINT};case"BIG_INTEGER":return{type:"success",example:$p.bigInteger(X0.INT64.toString()),jsonExample:`${X0.INT64}`};case"LONG":return{type:"success",example:$p.long(X0.INT64),jsonExample:X0.INT64};case"UUID":return{type:"success",example:$p.uuid(X0.UUID),jsonExample:X0.UUID};default:Xo(t.v1)}}function GdD(e){if(e?.type==="string")return e.validation}function QdD(e){if(e?.type==="double")return e.validation}function JdD(e){if(e?.type==="integer")return e.validation}function k3p(e){if(e<=X0.SAMPLE_STRINGS.length){let t=X0.SAMPLE_STRINGS[e-1];if(t)return t;throw new Error(`Unexpected undefined value in SAMPLE_STRINGS at index ${e-1}`)}return X0.SAMPLE_STRINGS[X0.SAMPLE_STRINGS.length-1]+".".repeat(e-X0.SAMPLE_STRINGS.length)}function KdD({fieldName:e,validation:t}){if(t){let i=t.minLength,n=t.maxLength;if(i){let a=k3p(i);return{type:"success",example:$p.string({original:a}),jsonExample:a}}else if(n){let a=k3p(n);return{type:"success",example:$p.string({original:a}),jsonExample:a}}}let r=e??X0.STRING;return{type:"success",example:$p.string({original:r}),jsonExample:r}}function YdD({fieldName:e,validation:t}){if(t){let r=t.max,i=t.min;if(r)return{type:"success",example:$p.double(r),jsonExample:r};if(i)return{type:"success",example:$p.double(i),jsonExample:i}}return{type:"success",example:$p.double(X0.DOUBLE),jsonExample:X0.DOUBLE}}function XdD({fieldName:e,validation:t}){if(t){let r=t.max,i=t.min;if(r)return{type:"success",example:$p.integer(r),jsonExample:r};if(i)return{type:"success",example:$p.integer(i),jsonExample:i}}return{type:"success",example:$p.integer(X0.INT),jsonExample:X0.INT}}function Z_n({typeReference:e,typeDeclarations:t}){if(e.type==="container"&&e.container.type==="optional")return!0;if(e.type==="named"){let r=t[e.typeId];if(r?.shape.type==="alias"&&r?.shape.resolvedType.type==="container"&&r?.shape.resolvedType.container.type==="optional")return!0}return!1}function r7p({fieldName:e,typeDeclarations:t,typeDeclaration:r,maxDepth:i,currentDepth:n,skipOptionalProperties:a}){switch(r.shape.type){case"alias":{let u=eC({fieldName:e,typeDeclarations:t,typeReference:r.shape.aliasOf,maxDepth:i,currentDepth:n,skipOptionalProperties:a});if(u.type==="failure")return u;let{example:l,jsonExample:f}=u;return{type:"success",example:Aj.alias({value:l}),jsonExample:f}}case"enum":{let u=r.shape.values[0];return u==null?{type:"failure",message:"No enum values present"}:{type:"success",example:Aj.enum({value:u.name}),jsonExample:u.name.wireValue}}case"object":{let u=t7p({fieldName:e,typeDeclaration:r,objectTypeDeclaration:r.shape,typeDeclarations:t,currentDepth:n,maxDepth:i,skipOptionalProperties:a});if(u.type==="failure")return u;let{example:l,jsonExample:f}=u;return{type:"success",example:Aj.object(l),jsonExample:f}}case"undiscriminatedUnion":{let u=0;for(let l of r.shape.members){let f=eC({fieldName:e,typeReference:l.type,typeDeclarations:t,currentDepth:n+1,maxDepth:i,skipOptionalProperties:a});if(f.type==="failure"){++u;continue}let{example:s,jsonExample:o}=f;return{type:"success",example:Aj.undiscriminatedUnion({index:u,singleUnionType:s}),jsonExample:o}}break}case"union":{let u=r.shape.discriminant;for(let l of r.shape.types){let f=l.shape._visit({noProperties:()=>({type:"success",example:Aj.union({discriminant:u,singleUnionType:{wireDiscriminantValue:l.discriminantValue,shape:QR.noProperties()}}),jsonExample:{[u.wireValue]:l.discriminantValue.wireValue}}),samePropertiesAsObject:s=>{let o=t[s.typeId];if(o==null)throw new Error(`Failed to find type declaration with id ${s.typeId}`);if(o.shape.type!=="object")throw new Error(`Same properties as object union is not an object ${o.shape.type}`);let c=t7p({currentDepth:n,maxDepth:i,fieldName:e,objectTypeDeclaration:o.shape,typeDeclaration:o,typeDeclarations:t,skipOptionalProperties:a});if(c.type==="failure")return c;let{example:b,jsonExample:g}=c;return{type:"success",example:Aj.union({discriminant:u,singleUnionType:{wireDiscriminantValue:l.discriminantValue,shape:QR.samePropertiesAsObject({typeId:o.name.typeId,object:b})}}),jsonExample:{[u.wireValue]:l.discriminantValue.wireValue,...typeof g=="object"?g:{}}}},singleProperty:s=>{let o=eC({currentDepth:n+1,maxDepth:i,fieldName:e,typeReference:s.type,typeDeclarations:t,skipOptionalProperties:a});if(o.type==="failure")return o;let{example:c,jsonExample:b}=o;return{type:"success",example:Aj.union({discriminant:u,singleUnionType:{wireDiscriminantValue:l.discriminantValue,shape:QR.singleProperty(c)}}),jsonExample:{[u.wireValue]:l.discriminantValue.wireValue,[s.name.wireValue]:b}}},_other:()=>{throw new Error("Encountered unknown union type")}});if(f.type!=="failure")return f}}}return{type:"failure",message:"Failed to generate example for type reference"}}function t7p({fieldName:e,typeDeclaration:t,objectTypeDeclaration:r,typeDeclarations:i,maxDepth:n,currentDepth:a,skipOptionalProperties:u}){let l={},f=[];for(let s of[...r.properties??[],...r.extendedProperties??[]]){let o=eC({fieldName:s.name.wireValue,typeReference:s.valueType,typeDeclarations:i,currentDepth:a+1,maxDepth:n,skipOptionalProperties:u});if(o.type==="failure"&&!Z_n({typeDeclarations:i,typeReference:s.valueType}))return{type:"failure",message:`Failed to generate required property ${s.name.wireValue} b/c ${o.message}`};if(o.type==="failure")continue;let{example:c,jsonExample:b}=o;f.push({name:s.name,originalTypeDeclaration:t.name,value:c}),l[s.name.wireValue]=b}return{type:"success",example:Aj.object({properties:f}),jsonExample:l}}function eC({fieldName:e,typeReference:t,typeDeclarations:r,maxDepth:i,currentDepth:n,skipOptionalProperties:a}){if(n>i)return{type:"failure",message:"Exceeded max depth"};switch(t.type){case"named":{let u=r[t.typeId];if(u==null)throw new Error(`Failed to find type declaration with id ${t.typeId}`);let l=r7p({fieldName:e,typeDeclaration:u,typeDeclarations:r,maxDepth:i,currentDepth:n,skipOptionalProperties:a});if(l.type==="failure")return l;let{example:f,jsonExample:s}=l;return{type:"success",example:{jsonExample:s,shape:ab.named({shape:f,typeName:u.name})},jsonExample:s}}case"container":{let u=Z3p({fieldName:e,containerType:t.container,typeDeclarations:r,maxDepth:i,currentDepth:n,skipOptionalProperties:a});if(u.type==="failure"){let{example:s,jsonExample:o}=XQt({containerType:t.container});return{type:"success",example:{jsonExample:o,shape:ab.container(s)},jsonExample:o}}let{example:l,jsonExample:f}=u;return{type:"success",example:{jsonExample:f,shape:ab.container(l)},jsonExample:f}}case"primitive":{let{jsonExample:u,example:l}=e7p({fieldName:e,primitiveType:t.primitive});return{type:"success",example:{jsonExample:u,shape:ab.primitive(l)},jsonExample:u}}case"unknown":{let u={key:"value"};return{type:"success",example:{jsonExample:u,shape:ab.unknown(u)},jsonExample:u}}}}var K3s=D1.primitive({v1:Hb.String,v2:bP.string({default:void 0,validation:void 0})});function vra({ir:e,endpoint:t,service:r,typeDeclarations:i,skipOptionalRequestProperties:n,generationResponse:a}){let u={name:void 0,endpointHeaders:[],endpointPathParameters:[],queryParameters:[],servicePathParameters:[],serviceHeaders:[],rootPathParameters:[],request:void 0,response:$M.ok(uT.body(void 0)),docs:void 0},l=[{params:t.pathParameters,add:s=>u.endpointPathParameters.push(s)},{params:r.pathParameters,add:s=>u.servicePathParameters.push(s)},{params:e.pathParameters,add:s=>u.rootPathParameters.push(s)}];for(let s of l)for(let o of s.params){let c=eC({fieldName:o.name.originalName,currentDepth:0,maxDepth:1,typeDeclarations:i,typeReference:o.valueType,skipOptionalProperties:n});if(c.type==="failure")return c;let{example:b}=c;s.add({name:o.name,value:b})}for(let s of t.queryParameters){if(n&&Z_n({typeDeclarations:i,typeReference:s.valueType}))continue;let o=eC({fieldName:s.name.name.originalName,currentDepth:0,maxDepth:1,typeDeclarations:i,typeReference:s.valueType,skipOptionalProperties:n});if(o.type==="failure")return o;let{example:c}=o;u.queryParameters.push({name:s.name,shape:s.allowMultiple?X7.exploded():X7.single(),value:c})}let f=[{params:t.headers,add:s=>u.endpointHeaders.push(s)},{params:r.headers,add:s=>u.serviceHeaders.push(s)}];for(let s of f)for(let o of s.params){if(n&&Z_n({typeDeclarations:i,typeReference:o.valueType}))continue;let c=eC({fieldName:o.name.name.originalName,currentDepth:0,maxDepth:1,typeDeclarations:i,typeReference:o.valueType,skipOptionalProperties:n});if(c.type==="failure")return c;let{example:b}=c;s.add({name:o.name,value:b})}if(t.requestBody!=null)switch(t.requestBody.type){case"bytes":return{type:"failure",message:"Bytes request unsupported"};case"fileUpload":return{type:"failure",message:"File upload unsupported"};case"inlinedRequestBody":{let s={},o=[];for(let c of[...t.requestBody.properties??[],...t.requestBody.extendedProperties??[]]){let b=eC({fieldName:c.name.wireValue,typeReference:c.valueType,typeDeclarations:i,currentDepth:1,maxDepth:10,skipOptionalProperties:n});if(b.type==="failure"&&!Z_n({typeDeclarations:i,typeReference:c.valueType}))return{type:"failure",message:`Failed to generate required property ${c.name.wireValue} b/c ${b.message}`};if(b.type==="failure")continue;let{example:g,jsonExample:O}=b;o.push({name:c.name,originalTypeDeclaration:void 0,value:g}),s[c.name.wireValue]=O}u.request=fH.inlinedRequestBody({jsonExample:s,properties:o});break}case"reference":{let s=eC({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.requestBody.requestBodyType,skipOptionalProperties:n});if(s.type==="failure")return s;let{example:o}=s;u.request=fH.reference(o);break}default:Xo(t.requestBody)}if(a.type==="success"&&t.response?.body!=null)switch(t.response.body.type){case"fileDownload":return{type:"failure",message:"File download unsupported"};case"json":{let s=eC({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.response.body.value.responseBodyType,skipOptionalProperties:!1});if(s.type==="failure")return s;let{example:o,jsonExample:c}=s;u.response=$M.ok(uT.body({...o,jsonExample:c}));break}case"streamParameter":{let s;switch(t.response.body.nonStreamResponse.type){case"bytes":return{type:"failure",message:"Bytes unsupported"};case"fileDownload":return{type:"failure",message:"File download unsupported"};case"json":s=eC({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.response.body.nonStreamResponse.value.responseBodyType,skipOptionalProperties:!1});break;case"text":s=eC({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:K3s,skipOptionalProperties:!1});break;default:Xo(t.response.body.nonStreamResponse)}if(s.type==="failure")return s;let{example:o,jsonExample:c}=s;u.response=$M.ok(uT.body({...o,jsonExample:c}));break}case"streaming":{let s;switch(t.response.body.value.type){case"sse":{if(s=eC({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.response.body.value.payload,skipOptionalProperties:!1}),s.type==="failure")return s;let{example:o,jsonExample:c}=s;u.response=$M.ok(uT.sse([{data:{...o,jsonExample:c},event:""}]));break}case"json":{if(s=eC({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.response.body.value.payload,skipOptionalProperties:!1}),s.type==="failure")return s;let{example:o,jsonExample:c}=s;u.response=$M.ok(uT.stream([{...o,jsonExample:c}]));break}case"text":{if(s=eC({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:K3s,skipOptionalProperties:!1}),s.type==="failure")return s;let{example:o,jsonExample:c}=s;u.response=$M.ok(uT.stream([{...o,jsonExample:c}]));break}default:Xo(t.response.body.value)}break}case"text":{let s=eC({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:K3s,skipOptionalProperties:!1});if(s.type==="failure")return s;let{example:o,jsonExample:c}=s;u.response=$M.ok(uT.body({...o,jsonExample:c}));break}case"bytes":return{type:"failure",message:"Bytes unsupported"};default:Xo(t.response.body)}else if(a.type==="error")if(a.declaration.type==null)u.response=$M.error({body:void 0,error:a.declaration.name});else{let s=eC({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:a.declaration.type,skipOptionalProperties:n});if(s.type==="failure")return s;let{example:o}=s;u.response=$M.error({body:o,error:a.declaration.name})}try{return{type:"success",example:{id:jjo(u),url:ZdD(t,u),...u},jsonExample:void 0}}catch(s){return{type:"failure",message:`Parse failure with exceptions ${s}`}}}function ZdD(e,t){let r={};[...t.rootPathParameters,...t.servicePathParameters,...t.endpointPathParameters].forEach(n=>{let a=n.value.jsonExample,u=typeof a=="string"?a:JSON.stringify(a);r[n.name.originalName]=u});let i=e.fullPath.head+e.fullPath.parts.map(n=>r[n.pathParameter]+n.tail).join("");return i.startsWith("/")||i===""?i:`/${i}`}function i7p(e,t){let r=t[e];if(r==null)throw new _6r(`Illegal Error: Failed to load type declaration for type ${e}`);return r}function n7p(e){return{types:Object.fromEntries(Object.entries(e.types).map(([t,r])=>[t,epD({typeDeclaration:r,ir:e})])),services:Object.fromEntries(Object.entries(e.services).map(([t,r])=>[t,{...r,endpoints:r.endpoints.map(i=>kdD({endpoint:i,ir:e}))}]))}}function kdD({endpoint:e,ir:t}){return e.requestBody?.type!=="inlinedRequestBody"?e:{...e,requestBody:{...e.requestBody,extendedProperties:e.requestBody.extends.flatMap(r=>a7p(r,t))}}}function epD({typeDeclaration:e,ir:t}){switch(e.shape.type){case"object":return{...e,shape:{...e.shape,extendedProperties:e.shape.extends.flatMap(r=>a7p(r,t))}}}return e}function a7p(e,t){let r=Y3s(e.typeId,t);return o7p({objectTypeDeclaration:r,ir:t})}function Y3s(e,t){let r=i7p(e,t.types);switch(r.shape.type){case"object":return r.shape;case"alias":if(r.shape.resolvedType.type==="named")return Y3s(r.shape.resolvedType.name.typeId,t)}throw new _6r(`Unexpected error: ${e} is extended but has shape ${r.shape.type}`)}function o7p({objectTypeDeclaration:e,ir:t}){let r=e.extends.flatMap(i=>{let n=Y3s(i.typeId,t);return o7p({objectTypeDeclaration:n,ir:t})});return[...e.properties,...r]}function s7p({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:bI({filteredIr:e,exampleTypeReference:n.value})})).filter(n=>n.value!==void 0)}}:void 0;return i!==void 0?QR.samePropertiesAsObject(i):void 0},singleProperty:r=>{let i=bI({filteredIr:e,exampleTypeReference:r});return i!==void 0?QR.singleProperty(i):void 0},noProperties:()=>t,_other:()=>{throw new Error("Received unknown type for example.")}})}function bI({filteredIr:e,exampleTypeReference:t}){return t.shape._visit({primitive:()=>t,container:r=>r._visit({list:i=>({...t,shape:ab.container(gO.list({...i,list:i.list.map(n=>bI({filteredIr:e,exampleTypeReference:n})).filter(n=>n!==void 0)}))}),set:i=>({...t,shape:ab.container(gO.set({...i,set:i.set.map(n=>bI({filteredIr:e,exampleTypeReference:n})).filter(n=>n!==void 0)}))}),optional:i=>{let n=i.optional!=null?bI({filteredIr:e,exampleTypeReference:i.optional}):void 0;return n!=null?{...t,shape:ab.container(gO.optional({optional:n,valueType:i.valueType}))}:void 0},nullable:i=>{let n=i.nullable!=null?bI({filteredIr:e,exampleTypeReference:i.nullable}):void 0;return n!=null?{...t,shape:ab.container(gO.nullable({nullable:n,valueType:i.valueType}))}:void 0},map:i=>({...t,shape:ab.container(gO.map({...i,map:i.map.map(n=>{let a=bI({filteredIr:e,exampleTypeReference:n.key}),u=bI({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=bI({filteredIr:e,exampleTypeReference:i.value});return n!==void 0?{...t,shape:ab.named({...r,shape:Aj.alias({...i,value:n})})}:void 0},enum:i=>({...t,shape:ab.named({...r,shape:Aj.enum(i)})}),object:i=>({...t,shape:ab.named({...r,shape:Aj.object({...i,properties:i.properties.filter(n=>e.hasProperty(n.originalTypeDeclaration.typeId,n.name.wireValue)).map(n=>({...n,value:bI({filteredIr:e,exampleTypeReference:n.value})})).filter(n=>n.value!==void 0)})})}),union:i=>{let n=s7p({filteredIr:e,singleUnionTypeProperties:i.singleUnionType.shape});return n!==void 0?{...t,shape:ab.named({...r,shape:Aj.union({...i,singleUnionType:{...i.singleUnionType,shape:n}})})}:void 0},undiscriminatedUnion:i=>{let n=bI({filteredIr:e,exampleTypeReference:i.singleUnionType});return n!==void 0?{...t,shape:ab.named({...r,shape:Aj.undiscriminatedUnion({...i,singleUnionType:n})})}:void 0},_other:()=>{throw new Error("Received unknown type for example.")}}):void 0,unknown:()=>t,_other:()=>t})}function X3s({filteredIr:e,pathParameters:t}){return t.map(r=>{let i=bI({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...r,value:i}:void 0}).filter(r=>r!==void 0)}function tpD({filteredIr:e,queryParameters:t}){return t.map(r=>{let i=bI({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...r,value:i}:void 0}).filter(r=>r!==void 0)}function u7p({filteredIr:e,headers:t}){return t.map(r=>{let i=bI({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...r,value:i}:void 0}).filter(r=>r!==void 0)}function rpD({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=bI({filteredIr:e,exampleTypeReference:i.value});return n!==void 0?{...i,value:n}:void 0}).filter(i=>i!==void 0)}),reference:r=>{let i=bI({filteredIr:e,exampleTypeReference:r});return i!==void 0?fH.reference(i):void 0},_other:()=>{throw new Error("Received unknown type for example.")}})}function ipD({filteredIr:e,response:t}){return t._visit({ok:r=>r._visit({body:i=>$M.ok(uT.body(i!=null?bI({filteredIr:e,exampleTypeReference:i}):void 0)),stream:i=>$M.ok(uT.stream(i.map(n=>bI({filteredIr:e,exampleTypeReference:n})).filter(dg))),sse:i=>$M.ok(uT.sse(i.map(({event:n,data:a})=>{let u=bI({filteredIr:e,exampleTypeReference:a});return u!==void 0?{event:n,data:u}:void 0}).filter(dg))),_other:({type:i})=>{throw new Error(`Received unknown type for OK example: ${i}`)}}),error:({error:r,body:i})=>$M.error({error:r,body:i!=null?bI({filteredIr:e,exampleTypeReference:i}):void 0}),_other:({type:r})=>{throw new Error(`Received unknown type for example: ${r}`)}})}function Z3s({filteredIr:e,example:t}){return{...t,rootPathParameters:X3s({filteredIr:e,pathParameters:t.rootPathParameters}),servicePathParameters:X3s({filteredIr:e,pathParameters:t.servicePathParameters}),endpointPathParameters:X3s({filteredIr:e,pathParameters:t.endpointPathParameters}),serviceHeaders:u7p({filteredIr:e,headers:t.serviceHeaders}),endpointHeaders:u7p({filteredIr:e,headers:t.endpointHeaders}),queryParameters:tpD({filteredIr:e,queryParameters:t.queryParameters}),request:t.request!==void 0?rpD({filteredIr:e,requestBody:t.request}):void 0,response:ipD({filteredIr:e,response:t.response})}}function c7p({filteredIr:e,exampleType:t}){return t.shape._visit({alias:r=>{let i=bI({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...t,shape:Aj.alias({...r,value:i})}:void 0},enum:()=>t,object:r=>({...t,shape:Aj.object({...r,properties:r.properties.filter(i=>e.hasProperty(i.originalTypeDeclaration.typeId,i.name.wireValue)).map(i=>({...i,value:bI({filteredIr:e,exampleTypeReference:i.value})})).filter(i=>i.value!==void 0)})}),union:r=>{let i=s7p({filteredIr:e,singleUnionTypeProperties:r.singleUnionType.shape});return i!==void 0?{...t,shape:Aj.union({...r,singleUnionType:{...r.singleUnionType,shape:i}})}:void 0},undiscriminatedUnion:r=>{let i=bI({filteredIr:e,exampleTypeReference:r.singleUnionType});return i!==void 0?{...t,shape:Aj.undiscriminatedUnion({...r,singleUnionType:i})}:void 0},_other:()=>{throw new Error("Received unknown type for example.")}})}var Bjo=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:f,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=f,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=mg.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=mg.generateErrorId(t.name);return this.errors.has(r)}hasService(t){let r=mg.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 Ijo=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=npD(t)}addType({declaredTypeName:t,descendantTypeIds:r,descendantFilepaths:i,descendantTypeIdsByAudience:n,propertiesByAudience:a}){let u=mg.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=mg.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=mg.generateErrorId(t.name),i=new Set,n=new Set;t.type!=null&&gI(t.type,i,n);let a={errorId:r,referencedTypes:i,referencedSubpackages:n};this.errors[r]=a}addEndpoint(t,r,i){let n=mg.generateServiceId(t.name),a=r.id,u=new Set,l=new Set,f=new Set;for(let s of[...t.headers,...r.headers])gI(s.valueType,u,f);for(let s of[...t.pathParameters,...r.pathParameters])gI(s.valueType,u,f);for(let s of r.queryParameters)gI(s.valueType,u,f);if(i!=null&&i.request!=null&&typeof i.request!="string"){let s=X_n(i.request["query-parameters"]??{});this.queryParameters[a]={endpointId:a,parametersByAudience:s}}r.requestBody!=null&&ZN._visit(r.requestBody,{inlinedRequestBody:s=>{for(let o of s.extends)xjo(o,u,f);for(let o of s.properties)gI(o.valueType,u,f);if(i!=null&&typeof i.request=="object"&&typeof i.request.body=="object"&&oT(i.request.body)){let o=X_n(i.request.body.properties??{});this.requestProperties[a]={endpointId:a,propertiesByAudience:o}}},reference:({requestBodyType:s})=>{gI(s,u,f)},fileUpload:({properties:s})=>{for(let o of s)Tee._visit(o,{file:ru,bodyProperty:({valueType:c})=>{gI(c,u,f)},_other:()=>{throw new Error("Unknown FileUploadRequestProperty: "+o.type)}})},bytes:()=>{},_other:()=>{throw new Error("Unknown HttpRequestBody: "+r.requestBody?.type)}}),r.response?.body!=null&&RT._visit(r.response.body,{fileDownload:ru,json:s=>{gI(s.responseBodyType,u,f)},streaming:s=>{s._visit({sse:o=>gI(o.payload,u,f),json:o=>gI(o.payload,u,f),text:ru,_other:()=>{throw new Error("Unknown streamingResponse type: "+s.type)}})},streamParameter:s=>{s.streamResponse._visit({sse:o=>gI(o.payload,u,f),json:o=>gI(o.payload,u,f),text:ru,_other:()=>{throw new Error("Unknown streamingResponse type: "+s.streamResponse.type)}}),s.nonStreamResponse.type==="json"&&gI(s.nonStreamResponse.value.responseBodyType,u,f)},text:ru,bytes:ru,_other:()=>{throw new Error("Unknown HttpResponse: "+r.response?.body?.type)}}),r.errors.forEach(s=>{l.add(mg.generateErrorId(s.error)),f.add(s.error.fernFilepath)}),this.endpoints[a]={endpointId:a,serviceId:n,referencedTypes:u,referencedErrors:l,referencedSubpackages:f}}markEndpointForAudience(t,r,i){if(this.hasAudience(i)){let n=mg.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&&zee._visit(r.payload,{inlinedPayload:l=>{for(let f of l.extends)xjo(f,a,u);for(let f of l.properties)gI(f.valueType,a,u);if(i?.payload!=null&&typeof i.payload=="object"&&!Tjo(i.payload)){let f=X_n(i.payload.properties??{});this.webhookProperties[n]={webhookId:n,propertiesByAudience:f}}},reference:({payloadType:l})=>{gI(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)Ree._visit(l.body,{reference:({bodyType:f})=>{gI(f,a,u)},inlinedBody:f=>{for(let s of f.extends)xjo(s,a,u);for(let s of f.properties)gI(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 f=this.getEndpointNode(l);for(let s of f.referencedErrors){if(r.has(s))continue;r.add(s);let o=this.getErrorNode(s);this.addReferencedTypes(t,o.referencedTypes)}this.addReferencedTypes(t,f.referencedTypes)}this.addReferencedTypes(t,this.typesNeededForAudience);for(let l of this.webhooksNeededForAudience.keys()){let f=this.getWebhookNode(l);this.addReferencedTypes(t,f.referencedTypes)}for(let l of this.channelsNeededForAudience.keys()){let f=this.getChannelNode(l);this.addReferencedTypes(t,f.referencedTypes)}let i={},n={},a={},u={};if(this.audiences.type==="filtered"){for(let[l,f]of Object.entries(this.properties)){if(!t.has(l))continue;let s=new Set;for(let o of this.audiences.audiences){let c=f.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,f]of Object.entries(this.requestProperties)){if(!this.endpointsNeededForAudience.has(l))continue;let s=new Set;for(let o of this.audiences.audiences){let c=f.propertiesByAudience[o];c?.forEach(b=>{s.add(b)})}n[l]=s.size>0?s:void 0}for(let[l,f]of Object.entries(this.queryParameters)){if(!this.endpointsNeededForAudience.has(l))continue;let s=new Set;for(let o of this.audiences.audiences){let c=f.parametersByAudience[o];c?.forEach(b=>{s.add(b)})}a[l]=s.size>0?s:void 0}for(let[l,f]of Object.entries(this.webhookProperties)){if(!this.webhooksNeededForAudience.has(l))continue;let s=new Set;for(let o of this.audiences.audiences){let c=f.propertiesByAudience[o];c?.forEach(b=>{s.add(b)})}u[l]=s.size>0?s:void 0}}return new Bjo({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:Xo(r)}}addSubpackages(t){for(let r=1;r<=t.allParts.length;++r){let i={...t,allParts:t.allParts.slice(0,r)};this.subpackagesNeededForAudience.add(mg.generateSubpackageId(i))}}};function npD(e){switch(e.type){case"all":return{type:"none"};case"select":return{type:"filtered",audiences:new Set(e.audiences)};default:Xo(e)}}function gI(e,t,r){D1._visit(e,{container:i=>{apD(i,t,r)},named:i=>{xjo(i,t,r)},primitive:ru,unknown:ru,_other:ru})}function xjo(e,t,r){t.add(mg.generateTypeId(e)),r.add(e.fernFilepath)}function apD(e,t,r){FE._visit(e,{list:i=>{gI(i,t,r)},map:i=>{gI(i.keyType,t,r),gI(i.valueType,t,r)},optional:i=>{gI(i,t,r)},nullable:i=>{gI(i,t,r)},set:i=>{gI(i,t,r)},literal:ru,_other:ru})}function l7p({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:_ri({referencedIn:t,importPath:l})}}var tEi=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 dF(this.workspace,(n,a,u)=>{let l=Gb({relativeFilepath:n,definitionFile:a,casingsGenerator:yri,rootApiFile:this.workspace.definition.rootApiFile.contents,defaultUrl:u.defaultUrl});for(let[f,s]of Object.entries(a.service?.endpoints??{}))s.method===t&&s.path===r&&(i={endpointId:f,endpoint:s,file:l})}),NSi(this.workspace,(n,a)=>{let u=Gb({relativeFilepath:n,definitionFile:a,casingsGenerator:yri,rootApiFile:this.workspace.definition.rootApiFile.contents});for(let[l,f]of Object.entries(a.service?.endpoints??{}))f.method===t&&f.path===r&&(i={endpointId:l,endpoint:f,file:u})}),i}resolveEndpoint({endpoint:t,file:r}){let n=new OPi().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=l7p({reference:t,referencedIn:r.relativeFilepath,imports:r.imports});if(i==null)return;let n=Lte(this.workspace,i.relativeFilepath);if(!(n==null||n.service?.endpoints?.[i.endpointName]==null))return{endpointName:i.endpointName,file:Gb({relativeFilepath:i.relativeFilepath,definitionFile:n,casingsGenerator:r.casingsGenerator,rootApiFile:this.workspace.definition.rootApiFile.contents})}}};var rEi=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=Jwe({reference:t,referencedIn:r.relativeFilepath,imports:r.imports});if(i==null)return;let n=Lte(this.workspace,i.relativeFilepath);if(n==null)return;let a=n.errors?.[i.typeName];if(a!=null)return{declaration:a,file:Gb({definitionFile:n,relativeFilepath:i.relativeFilepath,casingsGenerator:r.casingsGenerator,rootApiFile:this.workspace.definition.rootApiFile.contents})}}};var Ywe=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(Dj(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(`\\${TWt}`))return{resolvedExample:t.slice(1),file:r};if(!t.startsWith(TWt))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(TWt.length),exampleName:i}:{rawTypeReference:`${r}.${i}`.slice(TWt.length),exampleName:n}}};var zjo=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:Bee.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:Bee.query(Djo({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:Bee.body(u)}}if(oT(i.body)){let u=N3s({typeResolver:t,file:r,objectSchema:i.body,propertyComponents:n});return u==null?void 0:{propertyPath:this.propertyPathFromPropertyComponents({propertyComponents:n,file:r}),property:Bee.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:Bee.body(a)}}resolveObjectProperty({file:t,typeName:r,propertyComponents:i}){let n=this.typeResolver.resolveTypeOrThrow({type:r,file:t});return F3s({typeResolver:this.typeResolver,file:fra(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 uS=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=Jwe({reference:t,referencedIn:r.relativeFilepath,imports:r.imports});if(i==null)return;let n=Lte(this.workspace,i.relativeFilepath);if(n==null)return;let a=n.types?.[i.typeName];if(a==null){let u=iI(i.typeName);if(u!=null){for(let l of Object.keys(n.types??{})??[])if(u.name&&l.startsWith(u.name)&&l.endsWith(">")){let f=n.types?.[l];return f!=null?{typeName:l,declaration:f,file:Gb({relativeFilepath:i.relativeFilepath,definitionFile:n,casingsGenerator:r.casingsGenerator,rootApiFile:this.workspace.definition.rootApiFile.contents})}:void 0}}return}return{typeName:i.typeName,declaration:a,file:Gb({relativeFilepath:i.relativeFilepath,definitionFile:n,casingsGenerator:r.casingsGenerator,rootApiFile:this.workspace.definition.rootApiFile.contents})}}resolveType({type:t,file:r,objectPath:i=[]}){return vL({type:t,_default:void 0,validation:void 0,visitor:{primitive:n=>({_type:"primitive",primitive:n,originalTypeReference:D1.primitive(n)}),unknown:()=>({_type:"unknown",originalTypeReference:D1.unknown()}),map:({keyType:n,valueType:a})=>n!=null&&a!=null?{_type:"container",container:{_type:"map",keyType:n,valueType:a},originalTypeReference:D1.container(FE.map({keyType:n.originalTypeReference,valueType:a.originalTypeReference}))}:void 0,list:n=>n!=null?{_type:"container",container:{_type:"list",itemType:n},originalTypeReference:D1.container(FE.list(n.originalTypeReference))}:void 0,optional:n=>n!=null?{_type:"container",container:{_type:"optional",itemType:n},originalTypeReference:D1.container(FE.optional(n.originalTypeReference))}:void 0,nullable:n=>n!=null?{_type:"container",container:{_type:"nullable",itemType:n},originalTypeReference:D1.container(FE.nullable(n.originalTypeReference))}:void 0,set:n=>n!=null?{_type:"container",container:{_type:"set",itemType:n},originalTypeReference:D1.container(FE.set(n.originalTypeReference))}:void 0,literal:n=>({_type:"container",container:{_type:"literal",literal:n},originalTypeReference:D1.container(FE.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(pXr(a))return this.resolveType({type:typeof a=="string"?a:a.type,file:u,objectPath:n});let l=pra({type:t,_default:void 0,validation:void 0,file:r});if(!(l.type!=="named"||Lte(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 h6t=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:j5r({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 Rjo(e,t){if(t){for(let[r,i]of Object.entries(t))if(typeof i!="string"&&r===e)return i.audiences}}function b2({workspace:e,generationLanguage:t,keywords:r,smartCasing:i,exampleGeneration:n,audiences:a,readme:u,packageName:l,version:f,context:s,fdrApiDefinitionId:o,sourceResolver:c}){let b=JQt({generationLanguage:t,keywords:r,smartCasing:i}),g=new Ijo(a),O=j5r({casingsGenerator:b,rootApiFile:e.definition.rootApiFile.contents}),m=(e.definition.rootApiFile.contents.errors??[]).map(St=>({error:hri({errorName:St,file:O}),docs:void 0})),w=new uS(e),A=new tEi(e),M=new zjo(w,A),q=new rEi(e),D=new Ywe(w),C=new h6t,R={fdrApiDefinitionId:o,apiVersion:I3p({file:O,rawApiFileSchema:e.definition.rootApiFile.contents}),apiName:b.generateName(e.definition.rootApiFile.contents.name),apiDisplayName:e.definition.rootApiFile.contents["display-name"],apiDocs:gjo(e.definition.rootApiFile.contents.docs),auth:x3p({rawApiFileSchema:e.definition.rootApiFile.contents,file:O,propertyResolver:M,endpointResolver:A}),headers:e.definition.rootApiFile.contents.headers!=null?Object.entries(e.definition.rootApiFile.contents.headers).map(([St,ut])=>pxe({headerKey:St,header:ut,file:O})):[],idempotencyHeaders:e.definition.rootApiFile.contents["idempotency-headers"]!=null?Object.entries(e.definition.rootApiFile.contents["idempotency-headers"]).map(([St,ut])=>pxe({headerKey:St,header:ut,file:O})):[],types:{},errors:{},services:{},constants:j3p(b),environments:$3s({casingsGenerator:b,rawApiFileSchema:e.definition.rootApiFile.contents}),errorDiscriminationStrategy:L3p(e.definition.rootApiFile.contents["error-discrimination"],O),basePath:e.definition.rootApiFile.contents["base-path"]!=null?fxe(e.definition.rootApiFile.contents["base-path"]):void 0,pathParameters:Y_n({pathParameters:e.definition.rootApiFile.contents["path-parameters"],file:O,location:MTe.Root,variableResolver:C}),variables:e.definition.rootApiFile.contents.variables!=null?Object.entries(e.definition.rootApiFile.contents.variables).map(([St,ut])=>({docs:typeof ut!="string"?ut.docs:void 0,id:St,name:O.casingsGenerator.generateName(St),type:O.parseTypeReference(ut)})):[],serviceTypeReferenceInfo:{typesReferencedOnlyByService:{},sharedTypes:[]},webhookGroups:{},websocketChannels:{},readmeConfig:void 0,sourceConfig:void 0,publishConfig:void 0,dynamic:void 0},$=new Mjo,I=St=>{$.addSubpackage(St.fernFilepath),Sj(St.definitionFile,{imports:ru,docs:ut=>{ut!=null&&$.addDocs(St.fernFilepath,ut)},types:ut=>{if(ut!=null)for(let[ge,Pe]of Object.entries(ut)){if(ETe(ge))continue;let wt=K3p({typeName:ge,typeDeclaration:Pe,file:St,typeResolver:w,exampleResolver:D,sourceResolver:c,workspace:e}),Ot=wt.typeDeclaration;n.disabled&&(Ot.userProvidedExamples=[],Ot.autogeneratedExamples=[]);let vr=wt.descendantFilepaths,ur=mg.generateTypeId(Ot.name);R.types[ur]=Ot,$.addType(ur,Ot),g.addType({declaredTypeName:Ot.name,descendantTypeIds:Ot.referencedTypes,descendantTypeIdsByAudience:{},propertiesByAudience:wt.propertiesByAudience,descendantFilepaths:vr}),g.markTypeForAudiences(Ot.name,CNp(Pe))}},errors:ut=>{if(ut==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[Pe,wt]of Object.entries(ut)){let Ot=F3p({errorName:Pe,errorDeclaration:wt,file:St,typeResolver:w,exampleResolver:D,workspace:e}),vr=mg.generateErrorId(Ot.name);R.errors[vr]=Ot,$.addError(vr,Ot),g.addError(Ot)}},service:ut=>{if(ut==null)return;let ge=m3p({rootDefaultUrl:St.defaultUrl??e.definition.rootApiFile.contents["default-url"],rootPathParameters:R.pathParameters,serviceDefinition:ut,file:St,errorResolver:q,typeResolver:w,propertyResolver:M,exampleResolver:D,sourceResolver:c,globalErrors:m,variableResolver:C,workspace:e}),Pe=mg.generateServiceId(ge.name);R.services[Pe]=ge,$.addService(Pe,ge);let wt={};ge.endpoints.forEach(Ot=>{n.disabled&&(Ot.autogeneratedExamples=[],Ot.userSpecifiedExamples=[]);let vr=ut.endpoints[Ot.name.originalName];g.addEndpoint(ge,Ot,vr),wt[Ot.name.originalName]=Ot}),ut.audiences!=null&&g.markEndpointForAudience(ge.name,ge.endpoints,ut.audiences),Object.entries(ut.endpoints).map(([Ot,vr])=>{let ur=wt[Ot];ur!=null&&vr.audiences!=null&&g.markEndpointForAudience(ge.name,[ur],vr.audiences)})},webhooks:ut=>{if(ut==null)return;let ge=mg.generateWebhookGroupId(St.fernFilepath),Pe=V3p({webhooks:ut,file:St,typeResolver:w,exampleResolver:D,workspace:e}),wt={};for(let Ot of Pe)wt[Ot.name.originalName]=Ot;Object.entries(ut).forEach(([Ot,vr])=>{let ur=wt[Ot];ur!=null&&(g.addWebhook(St,ur,vr),vr.audiences!=null&&g.markWebhookForAudiences(St,ur,vr.audiences))}),R.webhookGroups[ge]=Pe,$.addWebhookGroup(ge,St.fernFilepath)},channel:ut=>{if(ut==null)return;let ge=mg.generateWebSocketChannelId(St.fernFilepath),Pe=z3p({channel:ut,file:St,variableResolver:C,typeResolver:w,exampleResolver:D,workspace:e});g.addChannel(St,ge,Pe,ut),ut.audiences!=null&&g.markChannelForAudiences(St,ge,ut.audiences),R.websocketChannels!=null&&(R.websocketChannels[ge]=Pe,$.addWebSocketChannel(ge,St.fernFilepath))}})};dF(e,(St,ut,ge)=>{I(Gb({relativeFilepath:St,definitionFile:ut,casingsGenerator:b,rootApiFile:e.definition.rootApiFile.contents,defaultUrl:ge.defaultUrl}))}),NSi(e,(St,ut)=>{if(ut.navigation!=null)if(typeof ut.navigation=="string")$.addPackageRedirection({from:Xte({relativeFilepath:St,casingsGenerator:b}),to:Xte({relativeFilepath:Dz(Kqe(St),Wh.of(ut.navigation)),casingsGenerator:b})});else{let ge=ut.navigation.map(Pe=>mg.generateSubpackageId(Xte({relativeFilepath:Dz(Kqe(St),Wh.of(Pe)),casingsGenerator:b})));St===P1?$.sortRootPackage(ge):$.sortSubpackage(mg.generateSubpackageId(Xte({relativeFilepath:St,casingsGenerator:b})),ge)}}),R.serviceTypeReferenceInfo=upD(g);let U=n.disabled?R:opD({ir:R,context:s,exampleGeneration:n}),H=e.definition.rootApiFile.contents,te=$3s({casingsGenerator:b,rawApiFileSchema:H}),J=te?.environments._visit({singleBaseUrl:St=>St.environments.filter(ut=>Rjo(ut.id,H.environments)!=null).length===0,multipleBaseUrls:St=>St.environments.filter(ut=>Rjo(ut.id,H.environments)!=null).length===0,_other:()=>!1});te?.environments.environments.forEach(St=>{g.markEnvironmentForAudiences(St,Rjo(St.id,H.environments)??[],J)});let ee=g.hasNoAudiences()?void 0:g.build(),fe=spD(U,ee),me=e.definition.rootApiFile.contents.auth!=null&&Object.values(fe.services).every(St=>St.endpoints.every(ut=>ut.auth)),ve=Object.values(fe.services).some(St=>St.endpoints.some(ut=>ut.response?.body?.type==="streaming")),we=Object.values(fe.services).some(St=>St.endpoints.some(ut=>ut.pagination!=null)),Xe=Object.values(fe.services).some(St=>St.endpoints.some(ut=>ut.response?.body?.type==="fileDownload")),Mt={isAuthMandatory:me,hasStreamingEndpoints:ve,hasPaginatedEndpoints:we,hasFileDownloadEndpoints:Xe,platformHeaders:{language:"X-Fern-Language",sdkName:"X-Fern-SDK-Name",sdkVersion:"X-Fern-SDK-Version",userAgent:f!=null&&l!=null?{header:"User-Agent",value:`${l}/${f}`}:void 0}},De=u!=null?U3p({readme:u,services:R.services}):void 0,{types:Te,services:It}=n7p(fe),Ee={...fe,...$.build(ee),types:Te,services:It,sdkConfig:Mt,readmeConfig:De};return{...Ee,dynamic:X3p(Ee)}}function opD({ir:e,context:t,exampleGeneration:r}){for(let[i,n]of Object.entries(e.services))for(let a of n.endpoints){if(a.userSpecifiedExamples.length>0&&r?.skipAutogenerationIfManualExamplesExist===!0)continue;t.logger.debug(`Generating example for ${a.id}`);let u=vra({ir:e,service:n,endpoint:a,typeDeclarations:e.types,skipOptionalRequestProperties:!r?.includeOptionalRequestPropertyExamples,generationResponse:{type:"success"}});if(u.type==="failure"){t.logger.trace(`Failed to generate example for ${a.id}. ${u.message}`);continue}let{example:l}=u;a.autogeneratedExamples=[{example:l}]}return e}function upD(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 spD(e,t){if(t==null)return e;let r=DOi(e.types,u=>t.hasType(u)),i=Object.fromEntries(Object.entries(r).map(([u,l])=>{let f=[];if(l.userProvidedExamples=l.userProvidedExamples.map(s=>c7p({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)&&f.push(s);return[u,{...l,shape:Oq.object({...l.shape,properties:f})}]}return[u,l]})),n=Object.fromEntries(Object.entries(e.webhookGroups).map(([u,l])=>{let f=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,f]})),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:DOi(e.errors,u=>t.hasError(u)),services:cd(DOi(e.services,u=>t.hasService(u)),u=>({...u,endpoints:u.endpoints.filter(l=>t.hasEndpoint(l)).map(l=>(l.autogeneratedExamples=l.autogeneratedExamples.map(f=>({...f,example:Z3s({filteredIr:t,example:f.example})})),l.userSpecifiedExamples=l.userSpecifiedExamples.map(f=>({...f,example:f.example!=null?Z3s({filteredIr:t,example:f.example}):void 0})),l.queryParameters.length>0&&(l.queryParameters=l.queryParameters.filter(f=>t.hasQueryParameter(l.id,f.name.wireValue))),l.requestBody?.type==="inlinedRequestBody"?{...l,requestBody:{...l.requestBody,properties:l.requestBody.properties.filter(f=>t.hasRequestProperty(l.id,f.name.wireValue))}}:l))})),webhookGroups:n,serviceTypeReferenceInfo:cpD(e.serviceTypeReferenceInfo,t)}}function cpD(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 ZQt(e){return typeof e.subpackageId=="string"}function OI(e){return e.map(t=>t.type==="literal"?t.value:`{${t.value}}`).join("")}function iEi(e){return e.map(t=>t.type==="literal"?t.value:`:${t.value}`).join("")}var k3s="__package__",bri=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 ZQt(t)?t.subpackageId:k3s}getSubpackageByIdOrLocator(t){if(t==null)return;let r=v2.SubpackageId(t);return r===k3s?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=v2.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 f=[],s=[u.method];u.response?.type.type==="stream"&&s.push("STREAM"),s.forEach(o=>{f.push(`${o} ${OI(u.path.parts)}`),f.push(`${o} ${iEi(u.path.parts)}`),u.environments.forEach(c=>{f.push(`${o} ${Iv(c.baseUrl,OI(u.path.parts))}`),f.push(`${o} ${Iv(c.baseUrl,iEi(u.path.parts))}`);let b=f7p(c);b!=null&&(f.push(`${o} ${Iv(b,OI(u.path.parts))}`),f.push(`${o} ${Iv(b,iEi(u.path.parts))}`))})}),f.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 f=[];["GET","WSS"].forEach(o=>{f.push(`${o} ${OI(u.path.parts)}`),f.push(`${o} ${iEi(u.path.parts)}`),u.environments.forEach(c=>{f.push(`${o} ${Iv(c.baseUrl,OI(u.path.parts))}`),f.push(`${o} ${Iv(c.baseUrl,iEi(u.path.parts))}`);let b=f7p(c);b!=null&&(f.push(`${o} ${Iv(b,OI(u.path.parts))}`),f.push(`${o} ${Iv(b,iEi(u.path.parts))}`))})}),f.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.#d(t.rootPackage,[])}#d(t,r){if(t==null)return;let i=ZQt(t)?[...r,t.name]:r,n=i.length===0?[k3s]: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.#d(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.#d(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 To.EndpointId(t.originalEndpointId??`${r}.${t.id}`)}static createWebSocketId(t,r){return To.WebSocketId(`${r}.${t.id}`)}static createWebhookId(t,r){return To.WebhookId(`${r}.${t.id}`)}};function f7p(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 k_n=Di(PPo(),1),p7p=Di(jPo(),1);function d7p(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{}}k_n.default.extend(p7p.default);var lpD="Changelog",fpD=["summary","index","overview"],S5r=class{markdownToFullSlug;changelogFiles;docsWorkspace;idgen;constructor(t,r,i,n){this.markdownToFullSlug=t,this.changelogFiles=r,this.docsWorkspace=i,this.idgen=n}toChangelogNode(t){let r=t.title??lpD,i=[],n;for(let c of this.changelogFiles??[]){let b=O$u(c.split("/"));if(b==null)continue;let g=d7p(b);if(g==null){let m=b.split(".")[0]?.toLowerCase();m!=null&&fpD.includes(m)&&(n=c);continue}let O=this.toRelativeFilepath(c);i.push({date:g,pageId:To.PageId(O),absoluteFilepath:c})}let a=t.parentSlug.apply({fullSlug:n!=null?this.markdownToFullSlug.get(n)?.split("/"):void 0,skipUrlSlug:!1,urlSlug:t.slug??m1(r)}),u=i.map(c=>{let b=k_n.default.utc(c.date);return{id:this.idgen.get(c.pageId),type:"changelogEntry",title:b.format("MMMM D, YYYY"),slug:a.apply({fullSlug:this.markdownToFullSlug.get(c.absoluteFilepath)?.split("/"),urlSlug:b.format("YYYY/M/D")}).get(),icon:void 0,hidden:void 0,date:c.date.toISOString(),pageId:c.pageId,noindex:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}}),l=e7s(u,c=>c.date,"desc"),f=n!=null?To.PageId(this.toRelativeFilepath(n)):void 0,s=this.idgen.get(f??"changelog"),o=this.groupByYear(s,l,a);return{id:s,type:"changelog",title:r,slug:a.get(),icon:t.icon,hidden:t.hidden,children:o,overviewPageId:f,noindex:void 0,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=k_n.default.utc(a.date).year(),l=n.get(u)??[];l.push(a),n.set(u,l)}return e7s(Array.from(n.entries()).map(([a,u])=>{let l=i.append(a.toString()).get(),f=this.idgen.get(`${t}/year/${a}`);return{id:f,type:"changelogYear",title:a.toString(),year:a,slug:l,icon:void 0,hidden:void 0,children:this.groupByMonth(f,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=k_n.default.utc(a.date).month()+1,l=n.get(u)??[];l.push(a),n.set(u,l)}return e7s(Array.from(n.entries()).map(([a,u])=>{let l=(0,k_n.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 xT(this.docsWorkspace.absoluteFilePath,t)}};function e7s(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 Fjo(e){if(e)return{environments:e.environments!=null&&e.environments.length>0?e.environments.map(t=>To.V1.EnvironmentId(t)):void 0,button:e.button!=null&&e.button.href?{href:To.V1.Url(e.button.href)}:void 0,"limit-websocket-messages-per-connection":e.limitWebsocketMessagesPerConnection!=null?e.limitWebsocketMessagesPerConnection:void 0}}function bra({child:e,nodeIdToSubpackageId:t,convertApiDefinitionPackageId:r,mergeAndFilterChildren:i}){if(e.type==="apiPackage"){let n=To.V1.SlugGenerator.init(e.slug),u=(t.get(e.id)??[]).flatMap(s=>r(s,n)),l=e.children.map(s=>bra({child:s,nodeIdToSubpackageId:t,convertApiDefinitionPackageId:r,mergeAndFilterChildren:i})),f=i(l,u);return{...e,children:f,pointsTo:void 0}}return e}function ehn({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 f=t(l.endpointId);if(f==null)throw new Error(`Endpoint ${l.endpointId} not found`);let s=`${f.method} ${r(f)}`,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:To.V1.NodeId(`${n}:${g.endpointId}+${b.endpointId}`),type:"endpointPair",stream:b,nonStream:g};a[c]=O}),a}function Njo({left:e,right:t,findEndpointById:r,stringifyEndpointPathParts:i,disableEndpointPairs:n,apiDefinitionId:a}){return ehn({children:[...e,...t],findEndpointById:r,stringifyEndpointPathParts:i,disableEndpointPairs:n,apiDefinitionId:a}).filter(u=>u.type==="apiPackage"?u.children.length>0:!0)}function kQt(e,t){if(t!=null)return xT(e.absoluteFilePath,t)}function Ljo({docsWorkspace:e,page:t,parentSlug:r,idgen:i,markdownFilesToFullSlugs:n}){let a=To.V1.PageId(kQt(e,t.absolutePath)),u=r.apply({fullSlug:n.get(t.absolutePath)?.split("/"),urlSlug:t.slug??m1(t.title)});return{id:i.get(a),type:"page",pageId:a,title:t.title,slug:u.get(),icon:t.icon,hidden:t.hidden,noindex:t.noindex,authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}var Ujo=class{apiSection;workspace;docsWorkspace;taskContext;markdownFilesToFullSlugs;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,f){this.apiSection=t,this.workspace=n,this.docsWorkspace=a,this.taskContext=u,this.markdownFilesToFullSlugs=l,this.disableEndpointPairs=a.config.experimental?.disableStreamToggle??!1,this.apiDefinitionId=To.V1.ApiDefinitionId(r.id),this.#e=bri.create(r,u),this.#u=f,this.#c=this.apiSection.overviewAbsolutePath!=null?To.V1.PageId(kQt(this.docsWorkspace,this.apiSection.overviewAbsolutePath)):void 0;let s=this.apiSection.overviewAbsolutePath!=null?this.markdownFilesToFullSlugs.get(this.apiSection.overviewAbsolutePath):void 0;this.#l=i.apply({fullSlug:s?.split("/"),skipUrlSlug:this.apiSection.skipUrlSlug,urlSlug:this.apiSection.slug??m1(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(o=>this.#O(o)),this.#j(this.#e.api.rootPackage,this.#l))}get(){let t=To.V1.followRedirects(this.#o),r=new S5r(this.markdownFilesToFullSlugs,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.apiSection.hidden,hideTitle:this.apiSection.flattened,showErrors:this.apiSection.showErrors,changelog:r?.toChangelogNode({parentSlug:this.#l,viewers:void 0}),children:this.#o,availability:void 0,pointsTo:t,noindex:void 0,playground:this.#g(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?bri.getSubpackageId(r):void 0;return t.map(a=>U_n(a)._visit({link:u=>({id:this.#u.get(u.url),type:"link",title:u.text,icon:u.icon,url:To.Url(u.url)}),page:u=>this.#d(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(dg)}#d(t,r){return Ljo({page:t,parentSlug:r,docsWorkspace:this.docsWorkspace,markdownFilesToFullSlugs:this.markdownFilesToFullSlugs,idgen:this.#u})}#h(t,r){let i=t.overviewAbsolutePath!=null?To.V1.PageId(kQt(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=bri.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 f=t.slug??(ZQt(a)?a.urlSlug:this.apiSection.slug??m1(this.apiSection.title)),s=r.apply({fullSlug:n?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:f}),o=this.#s(t.contents,a,s);return{id:l,type:"apiPackage",children:o,title:t.title??(ZQt(a)?a.displayName??Yte(a.name):this.apiSection.title),slug:s.get(),icon:t.icon,hidden:t.hidden,overviewPageId:i,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:this.#g(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??m1(t.package),l=r.apply({fullSlug:n?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:u}),f=this.#s(t.contents,void 0,l);return{id:this.#u.get(i??`${this.apiDefinitionId}:${m1(t.package)}`),type:"apiPackage",children:f,title:t.title??t.package,slug:l.get(),icon:t.icon,hidden:t.hidden,overviewPageId:i,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:this.#g(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}}#_(t,r){let i=t.overviewAbsolutePath!=null?To.V1.PageId(kQt(this.docsWorkspace,t.overviewAbsolutePath)):void 0,n=t.overviewAbsolutePath!=null?this.markdownFilesToFullSlugs.get(t.overviewAbsolutePath):void 0,a=this.#u.get(i??n??r.get()),u=t.referencedSubpackages.map(o=>{let c=this.#e.getSubpackageByIdOrLocator(o);return c!=null?bri.getSubpackageId(c):void 0}).filter(o=>(o==null&&this.taskContext.logger.error(`Subpackage ${o} not found in ${this.apiDefinitionId}`),o!=null)).filter(dg);this.#a.set(a,u),u.forEach(o=>{this.#i.has(o)&&this.taskContext.logger.error(`Duplicate subpackage found in the API Reference layout: ${o}`),this.#i.add(o)});let l=t.slug??m1(t.title),f=r.apply({fullSlug:n?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:l}),s=this.#s(t.contents,void 0,f);return{id:a,type:"apiPackage",children:s,title:t.title,slug:f.get(),icon:t.icon,hidden:t.hidden,overviewPageId:i,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:this.#g(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=bri.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=ZQt(n)?n.urlSlug:"",f=i.apply({urlSlug:l});return{id:u,type:"apiPackage",children:[],title:ZQt(n)?n.displayName??Yte(n.name):this.apiSection.title,slug:f.get(),icon:void 0,hidden:void 0,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(v2.SubpackageId(r))?.endpoints.get(v2.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 f=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:To.V1.convertAvailability(n.availability),isResponseStream:n.response?.type.type==="stream",title:t.title??n.name??OI(n.path.parts),slug:f.get(),icon:t.icon,hidden:t.hidden,playground:this.#g(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}let a=(r!=null?this.#e.subpackages.get(v2.SubpackageId(r))?.webSockets.get(v2.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??OI(a.path.parts),slug:(t.slug!=null?i.append(t.slug):i.apply(a)).get(),icon:t.icon,hidden:t.hidden,apiDefinitionId:this.apiDefinitionId,availability:To.V1.convertAvailability(a.availability),playground:this.#g(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}let u=(r!=null?this.#e.subpackages.get(v2.SubpackageId(r))?.webhooks.get(v2.WebhookId(t.endpoint)):void 0)??this.#e.webhooks.get(To.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??Iv("/",...u.path),slug:(t.slug!=null?i.append(t.slug):i.apply(u)).get(),icon:t.icon,hidden: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 Njo({left:t,right:r,findEndpointById:i=>this.#e.endpoints.get(i),stringifyEndpointPathParts:i=>OI(i.path.parts),disableEndpointPairs:this.disableEndpointPairs,apiDefinitionId:this.apiDefinitionId})}#O(t){return bra({child:t,nodeIdToSubpackageId:this.#a,convertApiDefinitionPackageId:(r,i)=>this.#m(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:To.V1.NodeId(`${this.apiDefinitionId}:${a}`),type:"endpoint",method:n.method,endpointId:a,apiDefinitionId:this.apiDefinitionId,availability:To.V1.convertAvailability(n.availability),isResponseStream:n.response?.type.type==="stream",title:n.name??OI(n.path.parts),slug:u.get(),icon:void 0,hidden:void 0,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:To.V1.NodeId(`${this.apiDefinitionId}:${a}`),type:"webSocket",webSocketId:a,title:n.name??OI(n.path.parts),slug:r.apply(n).get(),icon:void 0,hidden:void 0,apiDefinitionId:this.apiDefinitionId,availability:To.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:To.V1.NodeId(`${this.apiDefinitionId}:${a}`),type:"webhook",webhookId:a,method:n.method,title:n.name??Yte(n.id),slug:r.apply(n).get(),icon:void 0,hidden:void 0,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=ZQt(a)?r.apply(a):r,l=this.#m(n,u);l.length>0&&i.push({id:To.V1.NodeId(`${this.apiDefinitionId}:${n}`),type:"apiPackage",children:l,title:ZQt(a)?a.displayName??Yte(a.name):this.apiSection.title,slug:u.get(),icon:void 0,hidden:void 0,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}#m(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)}#g(t){return Fjo(t)}mergeEndpointPairs(t){return ehn({children:t,findEndpointById:r=>this.#e.endpoints.get(r),stringifyEndpointPathParts:r=>OI(r.path.parts),disableEndpointPairs:this.disableEndpointPairs,apiDefinitionId:this.apiDefinitionId})}};function _7p(e){let t=e.namespace?.map(r=>m1(r.toString()))??[];return t.push(m1(e.id.split(".").pop()??"")),e.operationId!=null?m1(e.operationId):Iv(t)}function h7p(e){let t=e.namespace?.map(r=>m1(r.toString()))??[];return t.push(m1(e.id.split(".").pop()??"")),e.operationId!=null?m1(e.operationId):Iv(t)}function y7p(e){let t=e.namespace?.map(r=>m1(r.toString()))??[];return t.push(m1(e.id.split(".").pop()??"")),e.operationId!=null?m1(e.operationId):Iv(t)}var gra=class{apiSection;workspace;docsWorkspace;taskContext;markdownFilesToFullSlugs;apiDefinitionId;#e;#t=new Set;#r=new Set;#n=new Set;#i=new Set;#a=new Map;#o=[];#c;#l;#u;#s=new Map;disableEndpointPairs;constructor(t,r,i,n,a,u,l,f){this.apiSection=t,this.workspace=n,this.docsWorkspace=a,this.taskContext=u,this.markdownFilesToFullSlugs=l,this.#e=r,this.disableEndpointPairs=a.config.experimental?.disableStreamToggle??!1,this.apiDefinitionId=To.V1.ApiDefinitionId(r.id),this.#u=f,this.#c=this.apiSection.overviewAbsolutePath!=null?To.V1.PageId(kQt(this.docsWorkspace,this.apiSection.overviewAbsolutePath)):void 0;let s=this.apiSection.overviewAbsolutePath!=null?this.markdownFilesToFullSlugs.get(this.apiSection.overviewAbsolutePath):void 0;this.#l=i.apply({fullSlug:s?.split("/"),skipUrlSlug:this.apiSection.skipUrlSlug,urlSlug:this.apiSection.slug??m1(this.apiSection.title)}),this.apiSection.navigation!=null&&(this.#o=this.#b(this.apiSection.navigation,this.#l)),this.#o=this.#S(this.#o.map(o=>this.#P(o)),this.#A(this.#e,this.#l))}get(){let t=To.V1.followRedirects(this.#o),r=new S5r(this.markdownFilesToFullSlugs,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.apiSection.hidden,hideTitle:this.apiSection.flattened,showErrors:this.apiSection.showErrors,changelog:r?.toChangelogNode({parentSlug:this.#l,viewers:void 0}),children:this.#o,availability:void 0,pointsTo:t,noindex:void 0,playground:this.#D(this.apiSection.playground),authed:void 0,viewers:this.apiSection.viewers,orphaned:this.apiSection.orphaned,featureFlags:this.apiSection.featureFlags}}#d(t){return this.#e?.subpackages[jO.api.v1.SubpackageId(t)]??this.#e?.subpackages[jO.api.v1.SubpackageId(t.replace(".yml","").replace(".yaml","").split(".").pop()??"")]??this.#e?.subpackages[jO.api.v1.SubpackageId(t.split("/").pop()??"")]}#h(t){return this.#e?.endpoints[jO.EndpointId(t)]??this.#e?.endpoints[jO.EndpointId(t.split(".").pop()??"")]??this.#e?.endpoints[jO.EndpointId(t.split("/").pop()??"")]??Object.values(this.#e?.endpoints??{}).find(r=>r.id.includes(t))??Object.values(this.#e?.endpoints??{}).find(r=>`${r.method} ${OI(r.path)}`===t)??Object.values(this.#e?.endpoints??{}).find(r=>`STREAM ${OI(r.path)}`===t)}#_(t){return this.#e?.websockets[jO.WebSocketId(t)]??this.#e?.websockets[jO.WebSocketId(t.split(".").pop()??"")]??this.#e?.websockets[jO.WebSocketId(t.split("/").pop()??"")]??Object.values(this.#e?.websockets??{}).find(r=>r.id.includes(t))}#p(t){return this.#e?.webhooks[jO.WebhookId(t)]??this.#e?.webhooks[jO.WebhookId(t.split(".").pop()??"")]??this.#e?.webhooks[jO.WebhookId(t.split("/").pop()??"")]??Object.values(this.#e?.webhooks??{}).find(r=>r.id.includes(t))}#b(t,r){return t.map(i=>U_n(i)._visit({link:n=>({id:this.#u.get(n.url),type:"link",title:n.text,icon:n.icon,url:To.Url(n.url)}),page:n=>this.#y(n,r),package:n=>this.#O(n,r),section:n=>this.#j(n,r),item:({value:n})=>this.#m(n,r),endpoint:n=>this.#g(n,r)})).filter(dg)}#y(t,r){return Ljo({docsWorkspace:this.docsWorkspace,page:t,parentSlug:r,idgen:this.#u,markdownFilesToFullSlugs:this.markdownFilesToFullSlugs})}#O(t,r){let i=t.overviewAbsolutePath!=null?To.V1.PageId(kQt(this.docsWorkspace,t.overviewAbsolutePath)):void 0,n=t.overviewAbsolutePath!=null?this.markdownFilesToFullSlugs.get(t.overviewAbsolutePath):void 0,a=this.#d(t.package);if(a!=null){let u=this.#u.get(i??`${this.apiDefinitionId}:${a.id}`);this.#i.has(a.id)&&this.taskContext.logger.error(`Duplicate subpackage found in the API Reference layout: ${a.id}`),this.#i.add(a.id),this.#a.set(u,[a.id]);let l=t.slug??a.name,f=r.apply({fullSlug:n?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:l}),s=this.#b(t.contents,f),o={id:u,type:"apiPackage",children:s,title:t.title??a.displayName??Yte(a.name),slug:f.get(),icon:t.icon,hidden:t.hidden,overviewPageId:i,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:this.#D(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags};return this.#s.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??m1(t.package),l=r.apply({fullSlug:n?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:u}),f=this.#b(t.contents,l),s={id:this.#u.get(i??`${this.apiDefinitionId}:${m1(t.package)}`),type:"apiPackage",children:f,title:t.title??t.package,slug:l.get(),icon:t.icon,hidden:t.hidden,overviewPageId:i,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:this.#D(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags};return this.#s.set(t.package,s),s}}#j(t,r){let i=t.overviewAbsolutePath!=null?To.V1.PageId(kQt(this.docsWorkspace,t.overviewAbsolutePath)):void 0,n=t.overviewAbsolutePath!=null?this.markdownFilesToFullSlugs.get(t.overviewAbsolutePath):void 0,a=this.#u.get(i??n??r.get()),u=t.referencedSubpackages.map(o=>{let c=this.#d(o);return c?.id}).filter(o=>(o==null&&this.taskContext.logger.error(`Subpackage ${o} not found in ${this.apiDefinitionId}`),o!=null)).filter(dg);this.#a.set(a,u),u.forEach(o=>{this.#i.has(o)&&this.taskContext.logger.error(`Duplicate subpackage found in the API Reference layout: ${o}`),this.#i.add(o)});let l=t.slug??m1(t.title),f=r.apply({fullSlug:n?.split("/"),skipUrlSlug:t.skipUrlSlug,urlSlug:l}),s=this.#b(t.contents,f);return{id:a,type:"apiPackage",children:s,title:t.title,slug:f.get(),icon:t.icon,hidden:t.hidden,overviewPageId:i,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:void 0,noindex:void 0,playground:this.#D(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}#m(t,r){t=t.trim();let i=this.#d(t);if(i!=null){let n=i.id,a=this.#u.get(`${this.apiDefinitionId}:${n}`);this.#i.has(n)&&this.taskContext.logger.error(`Duplicate subpackage found in the API Reference layout: ${n}`),this.#i.add(n),this.#a.set(a,[n]);let u=m1(i.name),l=r.apply({urlSlug:u}),f={id:a,type:"apiPackage",children:[],title:i.displayName??Yte(i.name),slug:l.get(),icon:void 0,hidden:void 0,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.#s.set(n,f),f}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)}#g(t,r){let i=this.#h(t.endpoint);if(i!=null){if(i.id==null)throw new Error(`Expected Endpoint ID for ${i.id}. Got undefined.`);this.#t.has(i.id)&&this.taskContext.logger.error(`Duplicate endpoint found in the API Reference layout: ${i.id}`),this.#t.add(i.id);let u=t.slug!=null?r.append(t.slug):r.apply({urlSlug:_7p(i)});return{id:this.#u.get(`${this.apiDefinitionId}:${i.id}`),type:"endpoint",method:i.method,endpointId:i.id,apiDefinitionId:this.apiDefinitionId,availability:To.V1.convertAvailability(i.availability),isResponseStream:i.responses?.[0]?.body.type==="stream",title:t.title??i.displayName??OI(i.path),slug:u.get(),icon:t.icon,hidden:t.hidden,playground:this.#D(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}let n=this.#_(t.endpoint);if(n!=null){if(n.id==null)throw new Error(`Expected WebSocket ID for ${n.id}. Got undefined.`);return this.#r.has(n.id)&&this.taskContext.logger.error(`Duplicate web socket found in the API Reference layout: ${n.id}`),this.#r.add(n.id),{id:this.#u.get(`${this.apiDefinitionId}:${n.id}`),type:"webSocket",webSocketId:n.id,title:t.title??n.displayName??OI(n.path),slug:(t.slug!=null?r.append(t.slug):r.apply({urlSlug:h7p(n)})).get(),icon:t.icon,hidden:t.hidden,apiDefinitionId:this.apiDefinitionId,availability:To.V1.convertAvailability(n.availability),playground:this.#D(t.playground),authed:void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}}let a=this.#p(t.endpoint);if(a!=null){if(a.id==null)throw new Error(`Expected Webhook ID for ${a.id}. Got undefined.`);return this.#n.has(a.id)&&this.taskContext.logger.error(`Duplicate webhook found in the API Reference layout: ${a.id}`),this.#n.add(a.id),{id:this.#u.get(`${this.apiDefinitionId}:${a.id}`),type:"webhook",webhookId:a.id,method:a.method,title:t.title??a.displayName??Iv("/",...a.path),slug:(t.slug!=null?r.append(t.slug):r.apply({urlSlug:y7p(a)})).get(),icon:t.icon,hidden: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)}#S(t,r){return Njo({left:t,right:r,findEndpointById:i=>this.#h(i),stringifyEndpointPathParts:i=>OI(i.path),disableEndpointPairs:this.disableEndpointPairs,apiDefinitionId:this.apiDefinitionId})}#P(t){return bra({child:t,nodeIdToSubpackageId:this.#a,convertApiDefinitionPackageId:(r,i)=>this.#f(r,i),mergeAndFilterChildren:this.#S.bind(this)})}#A(t,r){let i=[];return Object.entries(t.subpackages).forEach(([n,a])=>{if(this.#i.has(n))return;let u=r.apply({urlSlug:m1(a.name)}),l={id:To.V1.NodeId(`${this.apiDefinitionId}:${n}`),type:"apiPackage",children:[],title:a.displayName??Yte(a.name),slug:u.get(),icon:void 0,hidden:void 0,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};this.#s.set(n,l),i.push(l)}),Object.entries(t.endpoints).forEach(([n,a])=>{if(n==null)throw new Error(`Expected Endpoint ID for ${a.id}. Got undefined.`);if(this.#t.has(jO.EndpointId(n)))return;let u=r.apply({urlSlug:_7p(a)}),l={id:To.V1.NodeId(`${this.apiDefinitionId}:${n}`),type:"endpoint",method:a.method,endpointId:jO.EndpointId(n),apiDefinitionId:this.apiDefinitionId,availability:To.V1.convertAvailability(a.availability),isResponseStream:a.responses?.[0]?.body.type==="stream",title:a.displayName??OI(a.path),slug:u.get(),icon:void 0,hidden:void 0,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0};if(a.namespace!=null&&a.namespace.length>0){let f=pg(a.namespace[0]);if(f!=null){let s=this.#s.get(f);if(s==null){this.taskContext.logger.error(`Subpackage ${f} not found in ${this.apiDefinitionId}`);return}let o=r.apply({urlSlug:m1(s.slug)});for(let c of a.namespace.slice(1)){let b=s.children.find(g=>g.type==="apiPackage"&&g.id===pg(c.toString()));o=o.append(m1(c)),b==null&&(b={id:To.V1.NodeId(`${this.apiDefinitionId}:${c}`),type:"apiPackage",children:[],title:Yte(c),slug:o.get(),icon:void 0,hidden:void 0,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}),b!=null&&b.type==="apiPackage"&&(s=b)}s.children.push(l)}}else i.push(l)}),Object.entries(t.websockets).forEach(([n,a])=>{if(n==null)throw new Error(`Expected WebSocket ID for ${a.id}. Got undefined.`);if(this.#r.has(jO.WebSocketId(n)))return;let u={id:To.V1.NodeId(`${this.apiDefinitionId}:${n}`),type:"webSocket",webSocketId:jO.WebSocketId(n),title:a.displayName??OI(a.path),slug:r.apply({urlSlug:h7p(a)}).get(),icon:void 0,hidden:void 0,apiDefinitionId:this.apiDefinitionId,availability:To.V1.convertAvailability(a.availability),playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0};if(a.namespace!=null&&a.namespace.length>0){let l=pg(a.namespace[0]);if(l!=null){let f=this.#s.get(l);if(f==null)throw new Error(`Subpackage ${l} not found in ${this.apiDefinitionId}`);let s=r.apply({urlSlug:f.slug});for(let o of a.namespace.slice(1)){let c=f.children.find(b=>b.type==="apiPackage"&&b.id===o.toString());s=s.append(o),c==null&&(c={id:To.V1.NodeId(`${this.apiDefinitionId}:${o}`),type:"apiPackage",children:[],title:Yte(o),slug:s.get(),icon:void 0,hidden:void 0,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}),c!=null&&c.type==="apiPackage"&&(f=c)}f.children.push(u)}}else i.push(u)}),Object.entries(t.webhooks).forEach(([n,a])=>{if(n==null)throw new Error(`Expected Webhook ID for ${a.id}. Got undefined.`);if(this.#n.has(jO.WebhookId(n)))return;let u={id:To.V1.NodeId(`${this.apiDefinitionId}:${n}`),type:"webhook",webhookId:jO.WebhookId(n),method:a.method,title:a.displayName??Yte(a.id),slug:r.apply({urlSlug:y7p(a)}).get(),icon:void 0,hidden:void 0,apiDefinitionId:this.apiDefinitionId,availability:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0};if(a.namespace!=null&&a.namespace.length>0){let l=pg(a.namespace[0]);if(l!=null){let f=this.#s.get(l);if(f==null)throw new Error(`Subpackage ${l} not found in ${this.apiDefinitionId}`);let s=r.apply({urlSlug:f.slug});for(let o of a.namespace.slice(1)){let c=f.children.find(b=>b.type==="apiPackage"&&b.id===o.toString());s=s.append(o),c==null&&(c={id:To.V1.NodeId(`${this.apiDefinitionId}:${o}`),type:"apiPackage",children:[],title:o,slug:s.get(),icon:void 0,hidden:void 0,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}),c!=null&&c.type==="apiPackage"&&(f=c)}f.children.push(u)}}else i.push(u)}),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}#E(t){let r=Object.fromEntries(Object.entries(this.#e?.endpoints??{}).filter(([a,u])=>u.namespace!=null&&pg(u.namespace[u.namespace.length-1])===jO.api.v1.SubpackageId(t))),i=Object.fromEntries(Object.entries(this.#e?.websockets??{}).filter(([a,u])=>u.namespace!=null&&pg(u.namespace[u.namespace.length-1])===jO.api.v1.SubpackageId(t))),n=Object.fromEntries(Object.entries(this.#e?.webhooks??{}).filter(([a,u])=>u.namespace!=null&&pg(u.namespace[u.namespace.length-1])===jO.api.v1.SubpackageId(t)));return{id:jO.ApiDefinitionId(t),endpoints:r,websockets:i,webhooks:n,types:{},subpackages:{},auths:{},globalHeaders:void 0}}#f(t,r){let i=t!=null?this.#E(t):void 0;return i==null?(this.taskContext.logger.error(`Subpackage ${t} not found in ${this.apiDefinitionId}`),[]):this.#A(i,r)}#D(t){return Fjo(t)}mergeEndpointPairs(t){return ehn({children:t,findEndpointById:r=>this.#e?.endpoints[r],stringifyEndpointPathParts:r=>OI(r.path),disableEndpointPairs:this.disableEndpointPairs,apiDefinitionId:this.apiDefinitionId})}};var v7p=Di(require("crypto"),1);function dpD(e){return v7p.default.createHash("sha256").update(e).digest("hex")}var Vjo=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),dpD(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 To.V1.NodeId(this.#n(t))}};function b7p(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}}var Wjo=Di(twe(),1);var t7s=Di(twe(),1);function g7p(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:t7s.FernRegistry.EndpointId(i.configuration.tokenEndpoint.endpointReference.endpointId),accessTokenLocator:t7s.FernRegistry.JqString(n),headerName:i.configuration.tokenHeader,tokenPrefix:i.configuration.tokenPrefix}}}:{type:"bearerAuth",tokenName:"token"}}default:Xo(i)}}var HP=Di(twe(),1);var gri=Di(twe(),1);function m7p(e){return e._visit({alias:t=>({type:"alias",value:sD(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:E3(r.availability)}))}),object:t=>({type:"object",extends:t.extends.map(r=>gri.FernRegistry.TypeId(r.typeId)),properties:t.properties.map(r=>({description:r.docs??void 0,key:gri.FernRegistry.PropertyKey(r.name.wireValue),valueType:sD(r.valueType),availability:E3(r.availability)})),extraProperties:hpD(t.extraProperties)}),union:t=>{let r=t.baseProperties.map(i=>({key:gri.FernRegistry.PropertyKey(i.name.wireValue),valueType:sD(i.valueType),availability:E3(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?E3(i.availability):void 0,additionalProperties:Bc.types.SingleUnionTypeProperties._visit(i.shape,{samePropertiesAsObject:n=>({extends:[gri.FernRegistry.TypeId(n.typeId)],properties:r,extraProperties:void 0}),singleProperty:n=>({extends:[],properties:[{key:gri.FernRegistry.PropertyKey(n.name.wireValue),valueType:sD(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:sD(r.type),availability:void 0}))}),_other:()=>{throw new Error("Unknown Type shape: "+e.type)}})}function sD(e){return e._visit({container:t=>Bc.types.ContainerType._visit(t,{list:r=>({type:"list",itemType:sD(r)}),map:({keyType:r,valueType:i})=>({type:"map",keyType:sD(r),valueType:sD(i)}),optional:r=>({type:"optional",itemType:sD(r),defaultValue:void 0}),nullable:r=>({type:"optional",itemType:sD(r),defaultValue:void 0}),set:r=>({type:"set",itemType:sD(r)}),literal:r=>Bc.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:gri.FernRegistry.TypeId(t.typeId),default:void 0}),primitive:t=>({type:"primitive",value:Bc.types.PrimitiveTypeV1._visit(t.v1,{integer:()=>_pD(t.v2),float:()=>O7p(t.v2),double:()=>O7p(t.v2),string:()=>ppD(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 ppD(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 _pD(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 O7p(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 hpD(e){return typeof e=="boolean"?e?D1.unknown():void 0:typeof e=="string"?{type:"id",value:gri.FernRegistry.TypeId(e),default:void 0}:sD(e)}function i7s(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?vpD(r,t):[],webhooks:i!=null?ypD(i):[],websockets:n!=null?[bpD(n,t)]:[],types:e.types.map(a=>HP.FernRegistry.TypeId(a)),subpackages:e.subpackages.map(a=>HP.FernRegistry.api.v1.SubpackageId(a)),pointsTo:e.navigationConfig!=null?HP.FernRegistry.api.v1.SubpackageId(e.navigationConfig.pointsTo):void 0}}function ypD(e){return e.map(t=>({description:t.docs??void 0,id:HP.FernRegistry.WebhookId(t.name.originalName),path:[],method:t.method,name:t.displayName??uUn(t.name.originalName),headers:t.headers.map(r=>({description:r.docs??void 0,key:r.name.wireValue,type:sD(r.valueType),availability:E3(r.availability)})),payload:DpD(t.payload),examples:t.examples!=null?t.examples.map(r=>({payload:r.payload.jsonExample})):[]}))}function vpD(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=>r7s({userSpecifiedExample:l,...n!=null&&{autogeneratedExample:n},irEndpoint:i,ir:t})).filter(dg));else if(n!=null){let l=r7s({autogeneratedExample:n,irEndpoint:i,ir:t});l!=null&&a.push(l)}else if(i.response?.body?.type==="fileDownload"){let l=vra({ir:t,service:e,endpoint:{...i,response:void 0},typeDeclarations:t.types,skipOptionalRequestProperties:!0,generationResponse:{type:"success"}});if(l.type==="success"){let f=r7s({autogeneratedExample:l,irEndpoint:i,ir:t});if(f!=null){let s={...f,responseBodyV3:{type:"filename",value:"<bytes>"}};a.push(s)}}}let u={availability:E3(i.availability??e.availability),auth:i.auth,description:i.docs??void 0,method:PpD(i.method),defaultEnvironment:t.environments?.defaultEnvironment!=null?HP.FernRegistry.EnvironmentId(t.environments.defaultEnvironment):void 0,environments:t.environments!=null?gpD({environmentsConfig:t.environments,endpoint:i}):void 0,id:HP.FernRegistry.EndpointId(i.name.originalName),originalEndpointId:i.id,name:i.displayName??uUn(i.name.originalName),path:i.basePath!=null?{pathParameters:i.pathParameters.map(l=>({description:l.docs??void 0,key:HP.FernRegistry.PropertyKey(l.name.originalName),type:sD(l.valueType),availability:void 0})),parts:[...thn(i.basePath),...thn(i.path)]}:{pathParameters:[...t.pathParameters,...e.pathParameters,...i.pathParameters].map(l=>({description:l.docs??void 0,key:HP.FernRegistry.PropertyKey(l.name.originalName),type:sD(l.valueType),availability:void 0})),parts:[...t.basePath!=null?thn(t.basePath):[],...thn(e.basePath),...thn(i.path)]},queryParameters:i.queryParameters.map(l=>({description:l.docs??void 0,key:l.name.wireValue,type:sD(l.valueType),availability:E3(l.availability)})),headers:[...e.headers,...i.headers].map(l=>({description:l.docs??void 0,key:l.name.wireValue,type:sD(l.valueType),availability:E3(l.availability)})),request:i.requestBody!=null?jpD(i.requestBody):void 0,response:i.response!=null?wpD(i.response):void 0,errors:void 0,errorsV2:SpD(i.errors,t),examples:a};r.push(u)}return r}function bpD(e,t){return{auth:e.auth,availability:E3(e.availability),description:e.docs??void 0,defaultEnvironment:t.environments?.defaultEnvironment!=null?HP.FernRegistry.EnvironmentId(t.environments.defaultEnvironment):void 0,environments:t.environments!=null?OpD({environmentsConfig:t.environments,channel:e}):[],id:HP.FernRegistry.WebSocketId(e.name.originalName),name:e.displayName??uUn(e.name.originalName),path:{pathParameters:e.pathParameters.map(r=>({description:r.docs??void 0,key:HP.FernRegistry.PropertyKey(r.name.originalName),type:sD(r.valueType),availability:void 0})),parts:thn(e.path)},headers:e.headers.map(r=>({key:r.name.wireValue,type:sD(r.valueType),description:r.docs,availability:E3(r.availability)})),queryParameters:e.queryParameters.map(r=>({description:r.docs??void 0,key:r.name.wireValue,type:sD(r.valueType),availability:E3(r.availability)})),messages:e.messages.map(r=>({type:HP.FernRegistry.api.v1.WebSocketMessageId(r.type),displayName:r.displayName,origin:r.origin,body:EpD(r.body),description:r.docs,availability:E3(r.availability)})),examples:e.examples.map(r=>({name:r.name?.originalName,description:r.docs,path:r.url,pathParameters:r.pathParameters.reduce((i,n)=>(i[HP.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:HP.FernRegistry.api.v1.WebSocketMessageId(i.type),body:i.body.jsonExample}))}))}}function E3(e){if(e!=null)switch(e.status){case"DEPRECATED":return HP.FernRegistry.Availability.Deprecated;case"PRE_RELEASE":return HP.FernRegistry.Availability.Beta;case"GENERAL_AVAILABILITY":return HP.FernRegistry.Availability.GenerallyAvailable;case"IN_DEVELOPMENT":return HP.FernRegistry.Availability.Beta;default:Xo(e.status)}}function gpD({environmentsConfig:e,endpoint:t}){let r=e.environments,i=t.baseUrl;switch(r.type){case"singleBaseUrl":return r.environments.map(n=>({id:HP.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:HP.FernRegistry.EnvironmentId(n.id),baseUrl:a}});default:Xo(r)}}function OpD({environmentsConfig:e,channel:t}){let r=e.environments;switch(r.type){case"singleBaseUrl":return r.environments.map(i=>({id:HP.FernRegistry.EnvironmentId(i.id),baseUrl:mpD(i.url,"wss")}));case"multipleBaseUrls":throw new Error(`Multiple base URLs are not supported for WebSocket "${t.name.originalName}"`);default:Xo(r)}}function mpD(e,t){return e.replace(/^[^:]+/,t)}function PpD(e){return Bc.http.HttpMethod._visit(e,{get:()=>HP.FernRegistry.HttpMethod.Get,post:()=>HP.FernRegistry.HttpMethod.Post,put:()=>HP.FernRegistry.HttpMethod.Put,patch:()=>HP.FernRegistry.HttpMethod.Patch,delete:()=>HP.FernRegistry.HttpMethod.Delete,_other:()=>{throw new Error("Unknown http method: "+e)}})}function thn(e){let t=e.parts.flatMap(r=>[{type:"pathParameter",value:HP.FernRegistry.PropertyKey(r.pathParameter)},{type:"literal",value:r.tail}]);return[{type:"literal",value:e.head},...t]}function jpD(e){let t=Bc.http.HttpRequestBody._visit(e,{inlinedRequestBody:r=>({type:"json",contentType:r.contentType??aB.APPLICATION_JSON,shape:{type:"object",extends:r.extends.map(i=>HP.FernRegistry.TypeId(i.typeId)),properties:r.properties.map(i=>({description:i.docs??void 0,key:HP.FernRegistry.PropertyKey(i.name.wireValue),valueType:sD(i.valueType),availability:E3(i.availability)})),extraProperties:r.extraProperties?{type:"unknown"}:void 0}}),reference:r=>({type:"json",contentType:r.contentType??aB.APPLICATION_JSON,shape:{type:"reference",value:sD(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:HP.FernRegistry.PropertyKey(u.key.wireValue),isOptional:u.isOptional,contentType:u.contentType,description:void 0,availability:void 0}),fileArray:u=>({type:"fileArray",key:HP.FernRegistry.PropertyKey(u.key.wireValue),isOptional:u.isOptional,contentType:u.contentType,description:void 0,availability:void 0}),_other:()=>{}});if(a!=null)return{type:"file",value:a}},bodyProperty:n=>({type:"bodyProperty",key:HP.FernRegistry.PropertyKey(n.name.wireValue),valueType:sD(n.valueType),contentType:n.contentType,description:n.docs,availability:E3(n.availability)}),_other:()=>{}})).filter(dg)},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 wpD(e){if(e.body==null)return;let t,r=Bc.http.HttpResponseBody._visit(e.body,{fileDownload:i=>(t=i.docs,{type:"fileDownload",contentType:void 0}),json:i=>(t=i.docs,{type:"reference",value:sD(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:sD(i.payload)},terminator:i.terminator};if(i.type==="sse")return t=i.docs,{type:"stream",shape:{type:"reference",value:sD(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 SpD(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:sD(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:HP.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:HP.FernRegistry.PropertyKey(t.errorDiscriminationStrategy.contentProperty.wireValue),valueType:sD(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 r7s({userSpecifiedExample:e,autogeneratedExample:t,irEndpoint:r,ir:i}){let n=i.headers.map(l=>{let f=l.valueType.type==="container"&&l.valueType.container.type==="literal"?l.valueType.container.literal._visit({boolean:s=>`${s}`,string:s=>s,_other:()=>{}}):void 0;if(f!=null)return{name:l.name,value:{jsonExample:f,shape:Bc.ExampleTypeReferenceShape.primitive(Bc.ExamplePrimitive.string({original:f}))}}}).filter(dg),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,f)=>(l[HP.FernRegistry.PropertyKey(f.name.originalName)]=f.value.jsonExample,l),{}),queryParameters:a.queryParameters.reduce((l,f)=>(l[f.name.wireValue]=f.value.jsonExample,l),{}),headers:[...n,...a.serviceHeaders,...a.endpointHeaders].reduce((l,f)=>(l[f.name.wireValue]=f.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 f={};if(Dj(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")f[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");f[c.key.wireValue]={type:"filenames",value:g}}},bodyProperty:c=>{f[c.name.wireValue]={type:"json",value:s[c.name.wireValue]}},_other:R3t})}return{type:"form",value:f}},bytes:()=>{},_other:()=>{}}),responseStatusCode:r.response?.statusCode??Bc.http.ExampleResponse._visit(a.response,{ok:l=>l._visit({body:f=>f!=null?200:204,stream:f=>f.length>0?200:204,sse:f=>f.length>0?200:204,_other:()=>{throw new Error("Unknown ExampleResponseBody: "+l.type)}}),error:({error:l})=>{let f=i.errors[l.errorId];if(f==null)throw new Error("Cannot find error "+l.errorId);return f.statusCode},_other:()=>{throw new Error("Unknown ExampleResponse: "+a.response.type)}}),responseBody:a.response._visit({ok:l=>l._visit({body:f=>f?.jsonExample,stream:()=>{},sse:()=>{},_other:()=>{}}),error:l=>l.body?.jsonExample,_other:()=>{}}),responseBodyV3:a.response._visit({ok:l=>l._visit({body:f=>f!=null?{type:"json",value:f.jsonExample}:void 0,stream:f=>({type:"stream",value:f.map(s=>s.jsonExample)}),sse:f=>({type:"sse",value:f.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=>iwe._visit(l,{language:f=>({language:f.language,code:f.code,name:f.name?.originalName,description:f.docs??void 0,install:f.install}),sdk:f=>({language:f.sdk,code:f.code,name:f.name?.originalName,description:f.docs??void 0,install:void 0}),_other:()=>{}})).filter(dg)}}function DpD(e){switch(e.type){case"inlinedPayload":return{type:{type:"object",extends:e.extends.map(t=>HP.FernRegistry.TypeId(t.typeId)),properties:e.properties.map(t=>({description:t.docs??void 0,key:HP.FernRegistry.PropertyKey(t.name.wireValue),valueType:sD(t.valueType),availability:E3(t.availability)})),extraProperties:void 0},description:void 0};case"reference":return{type:{type:"reference",value:sD(e.payloadType)},description:e.docs};default:Xo(e)}}function EpD(e){switch(e.type){case"inlinedBody":return{type:"object",extends:e.extends.map(t=>HP.FernRegistry.TypeId(t.typeId)),properties:e.properties.map(t=>({description:t.docs??void 0,key:HP.FernRegistry.PropertyKey(t.name.wireValue),valueType:sD(t.valueType),availability:E3(t.availability)})),extraProperties:void 0};case"reference":return{type:"reference",value:sD(e.bodyType)};default:Xo(e)}}function Xwe({ir:e,snippetsConfig:t,playgroundConfig:r}){let i={types:{},subpackages:{},rootPackage:i7s(e.rootPackage,e),auth:g7p(e.auth,e,r),snippetsConfiguration:t,globalHeaders:e.headers.map(n=>({availability:E3(n.availability),description:n.docs??void 0,key:n.name.wireValue,type:sD(n.valueType)})),navigation:void 0};for(let[n,a]of Object.entries(e.types))i.types[Wjo.FernRegistry.TypeId(n)]={description:a.docs??void 0,name:a.name.name.originalName,shape:m7p(a.shape),availability:E3(a.availability)};for(let[n,a]of Object.entries(e.subpackages)){let u=a.service!=null?e.services[a.service]:void 0;i.subpackages[Wjo.FernRegistry.api.v1.SubpackageId(n)]={subpackageId:Wjo.FernRegistry.api.v1.SubpackageId(n),displayName:u?.displayName,name:a.name.originalName,description:a.docs??void 0,...i7s(a,e)}}return i}var n7s=Di(twe(),1);async function a7s({organization:e,workspace:t,context:r,token:i,audiences:n,snippetsConfig:a,playgroundConfig:u}){let l=b2({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 y2(r,t)}),f=HPi({token:i.value}),s=Xwe({ir:l,snippetsConfig:a,playgroundConfig:u}),o=await f.api.v1.register.registerApiDefinition({orgId:n7s.FernRegistry.OrgId(e),apiId:n7s.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 ApD=new GDi({snippetsBySdkId:{},snippetsConfigWithSdkId:{},snippetTemplatesByEndpoint:{},snippetsBySdkIdAndEndpointId:{},snippetTemplatesByEndpointId:{}});function Ora(e,t,r){return Yta(Qta(Xwe({ir:e,snippetsConfig:{typescriptSdk:void 0,pythonSdk:void 0,javaSdk:void 0,rubySdk:void 0,goSdk:void 0},playgroundConfig:r}),v2.ApiDefinitionId(t),ApD))}var rhn=class{warnings=[];errors=[];error(t){this.errors.push(t)}warning(t){this.warnings.push(t)}};var lh={};Ro(lh,{AlgoliaSearchIndex:()=>P7p,ApiDefinitionId:()=>W7p,ApiId:()=>Q7p,Availability:()=>s2p,DocsConfigId:()=>J7p,EndpointId:()=>Y7p,EndpointPathLiteral:()=>o2p,EnvironmentId:()=>K7p,FileId:()=>t2p,HttpMethod:()=>u2p,IndexSegmentId:()=>j7p,JqString:()=>i2p,OrgId:()=>$7p,PageId:()=>e2p,PayloadLocation:()=>I2p,PropertyKey:()=>n2p,PullRequestState:()=>q2p,RoleId:()=>a2p,TokenId:()=>G7p,TypeId:()=>k7p,Url:()=>r2p,VersionId:()=>H7p,WebSocketId:()=>X7p,WebhookId:()=>Z7p,algolia:()=>o7s,api:()=>y7s,commons:()=>v7s,diff:()=>c2p,docs:()=>D7s,generators:()=>A7s,git:()=>M7s,navigation:()=>C7s,sdks:()=>x7s,snippets:()=>B2p,snippetsFactory:()=>x2p,templates:()=>I7s,tokens:()=>z2p});var o7s={};Ro(o7s,{AlgoliaSearchIndex:()=>P7p,IndexSegmentId:()=>j7p});function P7p(e){return e}function j7p(e){return e}var y7s={};Ro(y7s,{latest:()=>c7s,v1:()=>h7s});var c7s={};Ro(c7s,{AuthSchemeId:()=>w7p,WebhookHttpMethod:()=>A7p,auth:()=>u7s,commons:()=>S7p,endpoint:()=>D7p,type_:()=>E7p,webhook:()=>s7s,websocket:()=>M7p});var u7s={};Ro(u7s,{AuthSchemeId:()=>w7p});function w7p(e){return e}var S7p={};var D7p={};var E7p={};var s7s={};Ro(s7s,{WebhookHttpMethod:()=>A7p});var A7p={Get:"GET",Post:"POST"};var M7p={};var h7s={};Ro(h7s,{SubpackageId:()=>N7p,WebSocketMessageId:()=>L7p,WebSocketMessageOrigin:()=>U7p,WebhookHttpMethod:()=>V7p,commons:()=>_7s,db:()=>l7s,read:()=>d7s,register:()=>p7s});var l7s={};Ro(l7s,{endpoint:()=>q7p});var q7p={};var d7s={};Ro(d7s,{SupportedLanguage:()=>T7p,endpoint:()=>f7s,type_:()=>C7p,webhook:()=>B7p,websocket:()=>x7p});var f7s={};Ro(f7s,{SupportedLanguage:()=>T7p});var T7p={Curl:"curl",Python:"python",Javascript:"javascript",Js:"js",Node:"node",Typescript:"typescript",Ts:"ts",Go:"go",Ruby:"ruby"};var C7p={};var B7p={};var x7p={};var p7s={};Ro(p7s,{SourceId:()=>MpD,endpoint:()=>I7p,type_:()=>z7p,webhook:()=>R7p,websocket:()=>F7p});var I7p={};var z7p={};var R7p={};var F7p={};function MpD(e){return e}var _7s={};Ro(_7s,{SubpackageId:()=>N7p,WebSocketMessageId:()=>L7p,WebSocketMessageOrigin:()=>U7p,WebhookHttpMethod:()=>V7p});function N7p(e){return e}function L7p(e){return e}var U7p={Client:"client",Server:"server"};var V7p={Get:"GET",Post:"POST"};var v7s={};Ro(v7s,{ApiDefinitionId:()=>W7p,ApiId:()=>Q7p,Availability:()=>s2p,DocsConfigId:()=>J7p,EndpointId:()=>Y7p,EndpointPathLiteral:()=>o2p,EnvironmentId:()=>K7p,FileId:()=>t2p,HttpMethod:()=>u2p,JqString:()=>i2p,OrgId:()=>$7p,PageId:()=>e2p,PropertyKey:()=>n2p,RoleId:()=>a2p,TokenId:()=>G7p,TypeId:()=>k7p,Url:()=>r2p,VersionId:()=>H7p,WebSocketId:()=>X7p,WebhookId:()=>Z7p});function W7p(e){return e}function H7p(e){return e}function $7p(e){return e}function G7p(e){return e}function Q7p(e){return e}function J7p(e){return e}function K7p(e){return e}function Y7p(e){return e}function X7p(e){return e}function Z7p(e){return e}function k7p(e){return e}function e2p(e){return e}function t2p(e){return e}function r2p(e){return e}function i2p(e){return e}function n2p(e){return e}function a2p(e){return e}function o2p(e){return e}var u2p={Get:"GET",Post:"POST",Put:"PUT",Patch:"PATCH",Delete:"DELETE"};var s2p={Stable:"Stable",GenerallyAvailable:"GenerallyAvailable",InDevelopment:"InDevelopment",PreRelease:"PreRelease",Deprecated:"Deprecated",Beta:"Beta"};var c2p={};var D7s={};Ro(D7s,{latest:()=>O7s,v1:()=>w7s,v2:()=>S7s});var O7s={};Ro(O7s,{Layout:()=>f2p,MdxEngine:()=>qpD,TwitterCardSetting:()=>d2p,commons:()=>l2p,frontmatter:()=>b7s,seo:()=>g7s});var qpD={NextMdxRemote:"next-mdx-remote",MdxBundler:"mdx-bundler"};var l2p={};var b7s={};Ro(b7s,{Layout:()=>f2p});var f2p={Guide:"guide",Overview:"overview",Reference:"reference",Page:"page",Custom:"custom"};var g7s={};Ro(g7s,{TwitterCardSetting:()=>d2p});var d2p={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var w7s={};Ro(w7s,{commons:()=>j7s,db:()=>p2p,read:()=>_2p,write:()=>m7s});var p2p={};var _2p={};var m7s={};Ro(m7s,{DocsRegistrationId:()=>CpD,FilePath:()=>TpD});function TpD(e){return e}function CpD(e){return e}var j7s={};Ro(j7s,{ContentAlignment:()=>b2p,FontDisplay:()=>j2p,FontStyle:()=>P2p,HeaderPosition:()=>g2p,JsScriptStrategy:()=>m2p,ProgrammingLanguage:()=>h2p,SearchbarPlacement:()=>y2p,TabsPlacement:()=>v2p,TwitterCardSetting:()=>O2p,commons:()=>P7s});var P7s={};Ro(P7s,{ContentAlignment:()=>b2p,FontDisplay:()=>j2p,FontStyle:()=>P2p,HeaderPosition:()=>g2p,JsScriptStrategy:()=>m2p,ProgrammingLanguage:()=>h2p,SearchbarPlacement:()=>y2p,TabsPlacement:()=>v2p,TwitterCardSetting:()=>O2p});var h2p={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 y2p={Header:"HEADER",HeaderTabs:"HEADER_TABS",Sidebar:"SIDEBAR"};var v2p={Header:"HEADER",Sidebar:"SIDEBAR"};var b2p={Center:"CENTER",Left:"LEFT"};var g2p={Fixed:"FIXED",Absolute:"ABSOLUTE"};var O2p={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var m2p={BeforeInteractive:"beforeInteractive",AfterInteractive:"afterInteractive",LazyOnload:"lazyOnload"};var P2p={Normal:"normal",Italic:"italic"};var j2p={Auto:"auto",Block:"block",Swap:"swap",Fallback:"fallback",Optional:"optional"};var S7s={};Ro(S7s,{read:()=>w2p,write:()=>S2p});var w2p={};var S2p={};var A7s={};Ro(A7s,{ChangelogEntryType:()=>E2p,GeneratorId:()=>BpD,GeneratorLanguage:()=>xpD,ReleaseType:()=>A2p,cli:()=>D2p,commons:()=>E7s,versions:()=>M2p});var D2p={};var E7s={};Ro(E7s,{ChangelogEntryType:()=>E2p,ReleaseType:()=>A2p});var E2p={Fix:"fix",Feat:"feat",Chore:"chore",Break:"break",Internal:"internal"};var A2p={Ga:"GA",Rc:"RC"};var M2p={};function BpD(e){return e}var xpD={Python:"python",Go:"go",Java:"java",Typescript:"typescript",Ruby:"ruby",Csharp:"csharp",Php:"php",Swift:"swift",Rust:"rust"};var M7s={};Ro(M7s,{PullRequestState:()=>q2p});var q2p={Open:"open",Closed:"closed",Merged:"merged"};var C7s={};Ro(C7s,{latest:()=>q7s,v1:()=>T7s});var q7s={};Ro(q7s,{NodeId:()=>RpD,ProductId:()=>FpD,Slug:()=>IpD,TabId:()=>zpD});function IpD(e){return e}function zpD(e){return e}function RpD(e){return e}function FpD(e){return e}var T7s={};Ro(T7s,{NavigationV1Availability:()=>WpD,NodeId:()=>UpD,ProductId:()=>VpD,Slug:()=>NpD,TabId:()=>LpD});function NpD(e){return e}function LpD(e){return e}function UpD(e){return e}function VpD(e){return e}var WpD={Stable:"stable",GenerallyAvailable:"generally-available",InDevelopment:"in-development",PreRelease:"pre-release",Beta:"beta",Deprecated:"deprecated"};var x7s={};Ro(x7s,{Language:()=>T2p,VersionBump:()=>C2p,versions:()=>B7s});var B7s={};Ro(B7s,{Language:()=>T2p,VersionBump:()=>C2p});var T2p={Go:"Go",TypeScript:"TypeScript",Java:"Java",Python:"Python",Csharp:"Csharp",Ruby:"Ruby"};var C2p={Major:"MAJOR",Minor:"MINOR",Patch:"PATCH"};var B2p={};var x2p={};var I7s={};Ro(I7s,{PayloadLocation:()=>I2p});var I2p={Body:"BODY",Query:"QUERY",Path:"PATH",Headers:"HEADERS",Relative:"RELATIVE",Auth:"AUTH"};var z2p={};function Hjo({endpoints:e,webhookEndpoints:t}){let r={};return e!=null&&Object.values(e).forEach(i=>i.namespace?.forEach(n=>{let a=[];r[lh.api.v1.SubpackageId($Qt(n))]={id:lh.api.v1.SubpackageId($Qt(n)),name:[...a,n].join("/"),displayName:n},a.push(n)})),t!=null&&Object.values(t).forEach(i=>i.namespace?.forEach(n=>{let a=[];r[lh.api.v1.SubpackageId($Qt(n))]={id:lh.api.v1.SubpackageId($Qt(n)),name:[...a,n].join("/"),displayName:n},a.push(n)})),r}var $jo=class{errors=new rhn},ihn=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 R2p(e){return`#/${e.map(t=>t.replaceAll(/~/g,"~0").replaceAll(/\//g,"~1")).join("/")}`}var Gjo=class extends $jo{},Jd=class extends ihn{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!=null&&this.pathId!==this.accessPath[this.accessPath.length-1]&&(this.accessPath.push(...Array.isArray(this.pathId)?this.pathId:[this.pathId]),r.logger.debug(`Processing ${R2p(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})}}},OF=class extends Jd{},_xe=class extends OF{seenSchemas;constructor(t){super(t),this.seenSchemas=new Set(t.seenSchemas)}};var F2p="x-fern-base-path",N2p="x-fern-availability",L2p="x-fern-sdk-group-name",U2p="x-fern-global-headers",V2p="x-fern-sdk-method-name",W2p="x-fern-groups",H2p="x-fern-webhook",$2p="x-fern-access-token-locator",G2p="x-fern-basic",Q2p="x-fern-username-variable-name",J2p="x-fern-password-variable-name",K2p="x-fern-bearer",Y2p="x-fern-token-variable-name",X2p="x-fern-header",Z2p="x-fern-header-variable-name",k2p="x-fern-server-name",e6p="x-fern-examples";var Qjo=class extends Jd{serverName;constructor(t){super(t),this.safeParse()}parse(){this.serverName=this.input[k2p]}convert(){if(this.serverName!=null)return this.serverName}};var Jjo=class extends Jd{url;serverName;constructor(t){super(t),this.safeParse()}parse(){this.url=this.input.url,this.serverName=new Qjo({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:lh.EnvironmentId(t),baseUrl:this.url}}};function eJt(e,t,r,i){return[...e??[],...(t??[]).map((n,a)=>new Jjo({input:n,context:r,accessPath:i,pathId:["servers",`${a}`]}))]}function Zd(e){return e!=null}function pE(e){return typeof e=="object"&&Zd(e)&&"$ref"in e&&typeof e.$ref=="string"}function g2(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:(pE(n)&&(n=g2(n,t,r)),n)}function t6p(e,t){let r=t.components?.securitySchemes?.[e];if(r!=null)return pE(r)?g2(r,t,void 0):r}var s6p=Di(dT());var Kjo=class extends Jd{username;password;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[G2p];this.username=t?.username,this.password=t?.password}convert(){return{username:this.username,password:this.password}}};var Yjo=class extends Jd{passwordVariableName;constructor(t){super(t),this.safeParse()}parse(){this.passwordVariableName=this.input[J2p]}convert(){return this.passwordVariableName}};var Xjo=class extends Jd{usernameVariableName;constructor(t){super(t),this.safeParse()}parse(){this.usernameVariableName=this.input[Q2p]}convert(){return this.usernameVariableName}};var Zjo=class extends Jd{bearerTokenVariableName;bearerTokenEnvVar;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[K2p];this.bearerTokenVariableName=t?.name,this.bearerTokenEnvVar=t?.env}convert(){return{tokenVariableName:this.bearerTokenVariableName,tokenEnvVar:this.bearerTokenEnvVar}}};var kjo=class extends Jd{tokenVariableName;constructor(t){super(t),this.safeParse()}parse(){this.tokenVariableName=this.input[Y2p]}convert(){return this.tokenVariableName}};function r6p(e){return typeof e=="object"&&e!=null&&"in"in e&&e.in==="header"}var i6p="x-bearer-format",n6p="x-code-samples",a6p="x-codeSamples";var ewo=class extends Jd{bearerFormat;constructor(t){super(t),this.safeParse()}parse(){this.bearerFormat=this.input[i6p]}convert(){return this.bearerFormat}};var two=class extends Jd{headerVariableName;headerEnvVar;headerPrefix;constructor(t){super(t),this.safeParse()}parse(){let t=this.input[X2p];this.headerVariableName=t?.name,this.headerEnvVar=t?.env,this.headerPrefix=t?.prefix}convert(){return{name:this.headerVariableName,env:this.headerEnvVar,prefix:this.headerPrefix}}};var rwo=class extends Jd{headerVariableName;constructor(t){super(t),this.safeParse()}parse(){this.headerVariableName=this.input[Z2p]}convert(){return this.headerVariableName}};function o6p(e){return e.type==="apiKey"}var nhn=class extends Jd{headerName;headerBearerFormatNode;headerAuthNode;headerVariableNameNode;constructor(t){super(t),this.safeParse()}parse(){o6p(this.input)&&(this.headerName=this.input.name),this.headerAuthNode=new two({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.headerVariableNameNode=new rwo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.headerBearerFormatNode=new ewo({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 iwo(e,t,r,i){if(t==null)return;let n=t.split("/").at(-1);if(n!=null)return`endpoint_${$Qt(e!=null?typeof e=="string"?e:e.join("_"):"")}.${$Qt(r??"")||i||$Qt(n)}`}function u6p(e){return e.length===0?!1:/^\$?(\.[\w*]+|\[['"][\w*]+['"]?\]|\[['"]?[\d*]+['"]?\]|\[[\d:]+\])*$/.test(e)}var nwo=class extends Jd{accessTokenLocator;constructor(t){super(t),this.safeParse()}parse(){this.accessTokenLocator=this.input[$2p],this.accessTokenLocator!=null&&(u6p(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 awo=class extends Jd{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 nhn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.accessTokenLocatorNode=new nwo({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;let r=iwo("post",this.authorizationUrl,void 0,void 0);if(r!=null)return{type:"oAuth",value:{type:"clientCredentials",value:{type:"referencedEndpoint",endpointId:lh.EndpointId(r),accessTokenLocator:lh.JqString(t),headerName:this.headerAuthNode?.convert()?.headerWireValue,tokenPrefix:this.headerAuthNode?.convert()?.prefix}}}}};var owo=class extends Jd{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 Kjo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.basicUsernameVariableNameNode=new Xjo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.basicPasswordVariableNameNode=new Yjo({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 Zjo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.bearerTokenVariableNameNode=new kjo({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":{r6p(this.input)?(this.authScheme="header",this.headerAuthNode=new nhn({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 awo({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 s6p.UnreachableCaseError(this.authScheme);return}}};var ahn=class extends Jd{authNodesMap;constructor(t){super(t),this.safeParse()}parse(){this.input.map((t,r)=>Object.keys(t).map(i=>{let n=t6p(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 owo({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(Zd))}};var uwo=class extends Jd{basePath;constructor(t){super(t),this.safeParse()}parse(){this.basePath=this.input[F2p],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 fM(e){if(e!=null)return Array.isArray(e)?e:[e]}var j6p=Di(dT());function D5r(e){if(e!=null)return{type:"alias",value:{type:"nullable",shape:e}}}var c6p=Di(dT());var z7s=["decimal","decimal128","double-int","double","float","sf-decimal"],R7s=["int16","int32","int64","int8","sf-integer","uint8"],F7s=["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"],N7s=["beta","pre-release","in-development","generally-available","deprecated"];function A3(e,t){return pE(e)?g2(e,t,{type:"unknown","x-fern-type":"unknown",additionalProperties:!1}):e}var hxe=class extends Jd{availability;constructor(t){super(t),this.safeParse()}parse(){if(A3(this.input,this.context.document)?.deprecated)this.availability="deprecated";else{let r=this.input[N2p];r!=null&&(N7s.includes(r)?this.availability=r:(this.context.errors.warning({message:`Expected one of: ${N7s.join(", ")}. Received: ${r}`,path:this.accessPath}),this.availability=void 0))}}convert(){switch(this.availability){case"beta":case"pre-release":return lh.Availability.Beta;case"in-development":return lh.Availability.InDevelopment;case"generally-available":return lh.Availability.GenerallyAvailable;case"deprecated":return lh.Availability.Deprecated;case void 0:return;default:new c6p.UnreachableCaseError(this.availability);return}}};function ohn(e){return typeof e.type=="string"&&e.type==="array"}function l6p(e){return e.type==="boolean"}function f6p(e){return e.type==="integer"}function uhn(e){return!Array.isArray(e.type)&&!ohn(e)}function d6p(e){return e!=null&&Array.isArray(e)&&e.every(t=>t.type==="null"||uhn(t)||ohn(t))}function p6p(e){return"nullable"in e&&typeof e.nullable=="boolean"}function _6p(e){return e.type==="null"}function h6p(e){return e.type==="number"}function mra(e){return e.type==null||typeof e.type=="string"&&e.type==="object"}function y6p(e){return e.type==="string"}var swo=class extends OF{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 hxe({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 cwo=class extends _xe{typeNodes;nullable;constructor(t){super(t),this.parse()}parse(){this.typeNodes=this.input.map(t=>{if(t.type==="null")this.nullable=!0;else return new dM({input:t,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas})}).filter(Zd)}convert(){if(this.typeNodes==null)return;let i=this.typeNodes.map(n=>fM(n.convert())?.map(u=>({displayName:n.name,shape:u,description:n.description,availability:n.availability?.convert()}))).filter(Zd).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(D5r).filter(Zd):i}example(){return this.typeNodes?.[0]?.example()}};function v6p(e,t){return{type:"alias",value:{type:"optional",shape:e,default:t}}}function lwo(e,t){return e==null?void 0:Object.entries(e).map(([i,n])=>fM(n.convert())?.map(u=>(t!=null&&!t.includes(i)&&(u=v6p(u,u.type==="enum"?u.default:void 0)),{key:lh.PropertyKey(i),valueShape:u,description:n.description,availability:n.availability?.convert()})).filter(Zd)).filter(Zd).reduce((i,n)=>i.flatMap(a=>n.length>0?n.map(u=>[...a,u]):[[...a]]),[[]])}var b6p="#/components/schemas/";function fwo(e){if(e.$ref.startsWith(b6p))return e.$ref.replace(b6p,"")}function shn(e){return e!=null&&e.length>0?e:[void 0]}var Ori=class extends _xe{description;extends=[];properties;extraProperties;requiredProperties;constructor(t){super(t),this.safeParse()}parse(){this.extends=[],this.requiredProperties=this.input.required,this.properties=Object.fromEntries(Object.entries(this.input.properties??{}).map(([t,r])=>[t,new dM({input:r,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas})])),this.extraProperties=this.input.additionalProperties!=null?typeof this.input.additionalProperties=="boolean"?this.input.additionalProperties?this.input.title:void 0:new dM({input:this.input.additionalProperties,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas}):void 0,this.input.allOf!=null&&(this.extends=this.extends.concat(this.input.allOf.map(t=>{if(pE(t))return fwo(t);this.properties={...this.properties,...Object.fromEntries(Object.entries(t.properties??{}).map(([r,i])=>[r,new dM({input:i,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas})]))}}).filter(Zd))),this.description=this.input.description}convertProperties(){if(this.properties!=null)return lwo(this.properties,this.requiredProperties)}convertExtraProperties(){return this.extraProperties==null?void 0:typeof this.extraProperties=="string"?[{type:"unknown",displayName:this.extraProperties}]:fM(this.extraProperties.convert())?.map(r=>r.type==="alias"?r.value:void 0).filter(Zd)}convert(){let t=this.convertProperties();if(t==null)return;let r=this.convertExtraProperties();return t.flatMap(i=>shn(r).map(n=>(this.extends==null||this.extends.length===0)&&i.length===0&&n!=null?{type:"alias",value:{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:n}}}:{type:"object",extends:this.extends.map(a=>lh.TypeId(a)),properties:i,extraProperties:n}))}example(){let t={...this.properties};return this.input.allOf?.forEach(r=>{let i=A3(r,this.context.document);i!=null&&(t={...t,...Object.fromEntries(Object.entries(i.properties??{}).map(([n,a])=>[n,new dM({input:a,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas})]))})}),this.input.example??this.input.examples?.[0]??(this.requiredProperties!=null&&this.requiredProperties.length>0?this.requiredProperties?.reduce((r,i)=>(r[i]=t?.[i]?.example(),r),{}):Object.entries(t).reduce((r,[i,n])=>(r[i]=n?.example(),r),{}))}};var dwo=class extends _xe{isUnionOfObjects;isNullable;discriminated;discriminant;discriminatedMapping;undiscriminatedMapping;constructor(t){super(t),this.safeParse()}parse(){if(this.input.oneOf!=null||this.input.anyOf!=null)if(this.isUnionOfObjects=(this.input.oneOf??this.input.anyOf)?.every(t=>A3(t,this.context.document)?.type==="object"),this.isNullable=(this.input.oneOf??this.input.anyOf)?.some(t=>A3(t,this.context.document)?.type==="null"),this.input.discriminator==null)this.discriminated=!1,this.undiscriminatedMapping=(this.input.oneOf??this.input.anyOf)?.map(t=>A3(t,this.context.document)?.type!=="null"?new dM({input:t,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas}):void 0).filter(Zd);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=A3({$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 dM({input:a,context:this.context,accessPath:[...this.accessPath,"discriminator","mapping",i],pathId:i,seenSchemas:this.seenSchemas})})}}}convert(){if(!this.isUnionOfObjects&&!this.discriminated){let i=this.undiscriminatedMapping?.flatMap(n=>n.convert()).filter(Zd);return this.isNullable&&i!=null?i.map(D5r).filter(Zd):i}if(this.discriminated==null||this.discriminated&&(this.discriminant==null||this.discriminatedMapping==null)||!this.discriminated&&this.undiscriminatedMapping==null)return;let t=this.discriminated&&this.discriminant!=null&&this.discriminatedMapping!=null?{type:"discriminatedUnion",discriminant:lh.PropertyKey(this.discriminant),variants:Object.entries(this.discriminatedMapping).flatMap(([i,n])=>fM(n.convert())?.map(u=>{if(!(u==null||u.type!=="object"))return{discriminantValue:i,displayName:n.name,availability:n.availability?.convert(),description:n.description,...u}}).filter(Zd)).filter(Zd)}:this.undiscriminatedMapping!=null?{type:"undiscriminatedUnion",variants:this.undiscriminatedMapping.flatMap(i=>fM(i.convert())?.map(a=>{if(!(a==null||a.type!=="object"))return{displayName:i.name,shape:a,description:i.description,availability:i.availability?.convert()}}).filter(Zd)).filter(Zd)}:void 0,r=this.isNullable?D5r(t):t;return r!=null?[r]:void 0}example(){return this.input.example??this.input.examples?.[0]??this.undiscriminatedMapping?.[0]?.example()??Object.values(this.discriminatedMapping??{})[0]?.example()}};var pwo=class extends OF{default;constructor(t){super(t),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??!1}};var chn=class extends OF{default;values=[];constructor(t){super(t),this.safeParse()}parse(){if(this.input.enum!=null){let t=!0;this.values=this.input.enum.map((r,i)=>{if(t){if(pE(r)){let n=A3(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(Zd),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]}};var g6p=Di(dT());function HpD(e){return R7s.includes(e)}var _wo=class extends OF{format;minimum;maximum;default;constructor(t){super(t),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&&(HpD(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${R7s.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 g6p.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??0}};var hwo=class extends OF{displayName;shape;constructor(t){super(t),this.safeParse()}parse(){this.displayName=this.input.title}convert(){return D5r({type:"alias",value:{type:"unknown",displayName:this.displayName}})}example(){return null}};var O6p=Di(dT());function $pD(e){return z7s.includes(e)}var ywo=class extends OF{format;minimum;maximum;default;constructor(t){super(t),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&&($pD(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${z7s.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 O6p.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??0}};var m6p=Di(dT());function GpD(e){return F7s.includes(e)}var vwo=class extends OF{format;regex;default;minLength;maxLength;enum;mimeType;constructor(t){super(t),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 m6p.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&&(GpD(this.input.format)?this.format=this.input.format:this.context.errors.warning({message:`Expected format to be one of ${F7s.join(", ")}. Received ${this.input.format}`,path:this.accessPath})),this.input.enum!=null&&(this.enum=new chn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"enum"}))}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(){return this.input.example??this.input.examples?.[0]??this.default??"string"}};var P6p=Di(dT());var bwo=class extends OF{displayName;shape;constructor(t){super(t),this.safeParse()}parse(){(0,P6p.noop)()}convert(){return{type:"alias",value:{type:"unknown",displayName:void 0}}}example(){}};var lhn=class extends Jd{schemaId;constructor(t){super(t),this.safeParse()}parse(){this.schemaId=fwo(this.input),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:lh.TypeId(this.schemaId),default:A3(this.input,this.context.document)?.default}}}example(){let t=A3(this.input,this.context.document);if(t!=null)return new dM({input:t,context:this.context,accessPath:this.accessPath,pathId:this.input.$ref.split("/").pop()??"",seenSchemas:new Set}).example()}};var dM=class extends _xe{typeShapeNode;nullable;description;name;examples;availability;constructor(t){super(t),this.safeParse()}parse(){if(!pE(this.input)){if(this.accessPath.length>=100||this.seenSchemas.has(this.input)){this.context.errors.warning({message:"Circular or deeply nested schema found, terminating",path:this.accessPath});return}this.seenSchemas.add(this.input)}if(this.description=this.input.description,this.availability=new hxe({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"}),this.nullable=uhn(this.input)&&p6p(this.input)?this.input.nullable:void 0,pE(this.input))this.typeShapeNode=new lhn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});else if(this.name=this.input.title,this.examples=this.input.example,this.input.const!=null)this.typeShapeNode=new swo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});else if(d6p(this.input))this.typeShapeNode=new cwo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas});else if(uhn(this.input)&&(this.input.oneOf!=null||this.input.anyOf!=null))this.typeShapeNode=new dwo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas});else if(mra(this.input)&&this.input.allOf!=null)this.typeShapeNode=new Ori({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas});else if(uhn(this.input)&&this.input.enum!=null)this.typeShapeNode=new chn({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId});else if(typeof this.input.type=="string")switch(this.input.type){case"object":mra(this.input)&&(this.typeShapeNode=new Ori({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas}));break;case"array":ohn(this.input)&&(this.typeShapeNode=new gwo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas}));break;case"boolean":l6p(this.input)&&(this.typeShapeNode=new pwo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;case"integer":f6p(this.input)&&(this.typeShapeNode=new _wo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;case"number":h6p(this.input)&&(this.typeShapeNode=new ywo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;case"string":y6p(this.input)&&(this.typeShapeNode=new vwo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;case"null":_6p(this.input)&&(this.typeShapeNode=new hwo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}));break;default:new j6p.UnreachableCaseError(this.input.type);break}else this.input.properties!=null&&(this.typeShapeNode=new Ori({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:this.seenSchemas}));this.typeShapeNode==null&&(this.typeShapeNode=new bwo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),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=fM(t)?.map(i=>this.nullable?D5r(i):i).filter(Zd);return Array.isArray(t)&&t.length>1?r:r?.[0]}example(){return this.typeShapeNode?.example()}};var gwo=class extends _xe{item;constructor(t){super(t),this.safeParse()}parse(){this.item=new dM({input:this.input.items,context:this.context,accessPath:this.accessPath,pathId:"items",seenSchemas:this.seenSchemas}),this.input.items==null&&this.context.errors.error({message:"Expected 'items' property to be specified",path:this.accessPath})}convert(){return fM(this.item?.convert())?.map(r=>({type:"alias",value:{type:"list",itemShape:r}}))}example(){return this.input.example??this.input.examples?.[0]??[this.item?.example()]}};var fhn=class extends Jd{typeSchemas;constructor(t){super(t),this.safeParse()}parse(){this.input.schemas==null?this.context.errors.warning({message:"Expected 'schemas' property to be specified",path:this.accessPath}):this.typeSchemas=Object.fromEntries(Object.entries(this.input.schemas).map(([t,r])=>[t,new dM({input:r,context:this.context,accessPath:this.accessPath,pathId:t,seenSchemas:new Set})]))}convert(){if(this.typeSchemas!=null)return Object.fromEntries(Object.entries(this.typeSchemas).map(([t,r])=>{let i=r.name??t,n=fM(r.convert());return n==null?[t,void 0]:[lh.TypeId(t),{name:i,shape:n[0],description:r.description,availability:void 0}]}).filter(([t,r])=>Zd(r)))}};var Owo=class extends Jd{globalHeaders;constructor(t){super(t),this.safeParse()}parse(){this.globalHeaders=this.input[U2p]?.map(t=>{let{header:r,...i}=t;return[r,new dM({input:i,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:new Set})]})}convert(){return this.globalHeaders?.flatMap(([t,r])=>fM(r.convert())?.map(n=>({key:lh.PropertyKey(t),valueShape:n,description:r.description,availability:r.availability?.convert()}))).filter(Zd)}};var w6p=Di(dT());var mwo=class extends Jd{groups;constructor(t){super(t),this.safeParse()}parse(){this.groups=this.input[W2p]}convert(){(0,w6p.noop)()}};function S6p(e){return"payloads"in e&&e.payloads!=null}function D6p(e,t){return g2(e,t,void 0)}function E6p(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 A6p(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 jwo=Di(dT());function M6p(e){return typeof e=="object"&&e!=null&&"language"in e}function q6p(e){return typeof e=="object"&&e!=null&&"sdk"in e}function T6p(e){return typeof e=="object"&&e!=null&&("error"in e||"body"in e)}function C6p(e){return typeof e=="object"&&e!=null&&"stream"in e&&Array.isArray(e.stream)}function Pwo(e){return typeof e=="object"&&e!=null&&"event"in e}function L7s(e){return typeof e=="object"&&e!=null&&"stream"in e&&Array.isArray(e.stream)&&e.stream.every(Pwo)}function mri(e){return typeof e=="object"&&e!=null&&"filename"in e&&"data"in e&&typeof e.filename=="string"&&typeof e.data=="string"}function B6p(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}var wwo=class extends Jd{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[e6p]}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 mri(u)?[n,{type:"filenameWithData",filename:u.filename,data:lh.FileId(u.data)}]:u!=null?[n,{type:"filename",value:u}]:void 0;case"files":{if(Array.isArray(u)){if(u.every(l=>mri(l)))return[n,{type:"filenamesWithData",value:u.map(l=>({filename:l.filename,data:lh.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 jwo.UnreachableCaseError(a.multipartType);return}}).filter(Zd))};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=B6p(r.request)?this.convertFormDataExampleRequest(n,r.request):void 0;break;case"json":a={type:"json",value:r.request};break;case"bytes":a=typeof r.request=="string"?{type:"bytes",value:{type:"base64",value:r.request}}:void 0;break;case void 0:break;default:new jwo.UnreachableCaseError(n.contentType);break}let u;switch(i.contentType){case"application/json":{T6p(r.response)&&(u={type:"json",value:r.response.body});break}case"text/event-stream":{L7s(r.response)&&(u={type:"sse",value:r.response.stream.map(c=>({event:c.event,data:c.data}))});break}case"application/octet-stream":!L7s(r.response)&&C6p(r.response)&&(u={type:"stream",value:r.response.stream});break;case void 0:break;default:new jwo.UnreachableCaseError(i.contentType);break}let l={};r["code-samples"]?.forEach(c=>{M6p(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})):q6p(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 f=Object.fromEntries(Object.entries(r["path-parameters"]??{}).map(([c,b])=>[lh.PropertyKey(c),b])),s=Object.fromEntries(Object.entries(r["query-parameters"]??{}).map(([c,b])=>[lh.PropertyKey(c),b])),o=Object.fromEntries(Object.entries(r.headers??{}).map(([c,b])=>[lh.PropertyKey(c),b]));return{path:this.path,responseStatusCode:this.successResponseStatusCode,name:r.name,description:r.docs,pathParameters:Object.keys(f).length>0?f: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 Swo=class extends Jd{groupName;constructor(t){super(t),this.safeParse()}parse(){this.groupName=this.input[L2p]}convert(){if(this.groupName==null)return;let t;return Array.isArray(this.groupName)?t=this.groupName:t=[this.groupName],t.map(r=>lh.api.v1.SubpackageId(r))}};var Dwo=class extends Jd{sdkMethodName;constructor(t){super(t),this.safeParse()}parse(){this.sdkMethodName=this.input[V2p]}convert(){return this.sdkMethodName}};var Ewo=class extends Jd{isWebhook;constructor(t){super(t),this.safeParse()}parse(){this.isWebhook=this.input[H2p]}convert(){return this.isWebhook}};var Awo=class extends Jd{codeSamples;constructor(t){super(t),this.safeParse()}parse(){this.codeSamples=[...this.input[n6p]??[],...this.input[a6p]??[]],this.codeSamples.forEach(t=>{[...Object.values(lh.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}};function x6p(e,t){return pE(e)?g2(e,t,void 0):e}function nEi(e){if(e!=null)return lwo(e,Object.entries(e??{}).map(([t,r])=>r.required?t:void 0).filter(Zd))}var Pri=class extends OF{availability;required;schema;description;inputExample;constructor(t){super(t),this.safeParse()}parse(){this.description=this.input.description;let t;pE(this.input)?t=this.input:this.input.schema!=null?(t=this.input.schema,this.required=this.input.required):(t={type:"string"},this.required=!1),this.availability=new hxe({input:t,context:this.context,accessPath:this.accessPath,pathId:"availability"}),this.schema=new dM({input:t,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set});let r=x6p(this.input,this.context.document);this.inputExample=r?.example??Object.values(r?.examples??{})[0]}convert(){return this.schema?.convert()}example(){return this.inputExample??this.schema?.example()}};function I6p(e,t){return pE(e)?g2(e,t,void 0):e}var R6p=Di(dT());var z6p=Di(l$u(),1),dhn=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=z6p.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()}};var aEi=Di(dT());function Pra(e,t){return pE(e)?g2(e,t,void 0):e}var kte="",Mwo=class extends Jd{path;responseStatusCode;name;shapes;resolvedRequestInput;resolvedResponseInput;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&&(mri(n)||typeof n=="string");case"files":return t&&Array.isArray(n)&&n.every(a=>mri(a)||typeof a=="string");case"property":return t;case void 0:return t&&!1;default:return new aEi.UnreachableCaseError(i.multipartType),t}},!0)}parse(){if(this.resolvedRequestInput=Pra(this.input?.requestExample,this.context.document),this.resolvedResponseInput=Pra(this.input?.responseExample,this.context.document),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 aEi.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(Pwo)){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 aEi.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 mri(n)?[r,{type:"filenameWithData",filename:n.filename,data:lh.FileId(n.data)}]:[r,{type:"filename",value:n}];case"files":{if(Array.isArray(n)){if(n.every(a=>mri(a)))return[r,{type:"filenamesWithData",value:n.map(a=>({filename:a.filename,data:lh.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 aEi.UnreachableCaseError(i.multipartType);return}}).filter(Zd))};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 aEi.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 aEi.UnreachableCaseError(this.shapes.responseBody?.contentType);break}let i=Object.fromEntries(Object.entries(this.shapes.pathParameters??{}).map(([u,l])=>[u,l.example()])),n=Object.fromEntries(Object.entries(this.shapes.queryParameters??{}).map(([u,l])=>[u,l.example()])),a=Object.fromEntries(Object.entries(this.shapes.requestHeaders??{}).map(([u,l])=>[u,l.example()]));return{path:this.path,responseStatusCode:this.responseStatusCode,name:this.name,description:this.convertDescription(),pathParameters:Object.keys(i).length>0?i:void 0,queryParameters:Object.keys(n).length>0?n:void 0,headers:Object.keys(a).length>0?a:void 0,requestBody:t,responseBody:r,snippets:void 0}}};var qwo=class extends dM{multipartType;contentType;constructor(t){super(t),this.safeParse()}parse(){super.parse();let t=A3(this.input,this.context.document);if(t==null){this.context.errors.error({message:`Expected multipart form data property definition. ${pE(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=A3(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 Two=class extends Jd{description;schema;isOptional;contentType;availability;requiredFields;fields;resolvedSchema;examples;constructor(t,r){super(t),this.safeParse(r)}parse(t){if(this.examples={...this.input.example!=null||this.schema?.example()!=null?{[kte]:{value:this.input.example??this.schema?.example()}}:{},...this.input.examples},this.input.schema!=null){if(pE(this.input.schema))this.resolvedSchema=g2(this.input.schema,this.context.document,void 0),this.schema=new lhn({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"schema"});else if(mra(this.input.schema)){this.resolvedSchema=this.input.schema;let r=dhn.parse(t);r?.containsJSON()?(this.contentType="json",this.schema=new Ori({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"schema",seenSchemas:new Set})):r?.isOctetStream()?(this.contentType="bytes",this.isOptional=this.input.schema.required==null):r?.isMultiPartFormData()?(this.contentType="form-data",this.description=this.input.schema.description,this.availability=new hxe({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"availability"}),this.requiredFields=this.input.schema.required,this.fields=Object.fromEntries(Object.entries(this.input.schema?.properties??{}).map(([i,n])=>{if(n!=null)return[i,new qwo({input:n,context:this.context,accessPath:this.accessPath,pathId:`schema.${i}`,seenSchemas:new Set})]}).filter(Zd))):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})}}else this.context.errors.warning({message:"Expected media type schema or reference.",path:this.accessPath})}convert(){switch(this.contentType){case"json":return this.schema?.convert();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:lh.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:lh.PropertyKey(i),isOptional:this.requiredFields?.includes(i)==null,contentType:n.contentType,description:n.description,availability:n.availability?.convert()}];case"property":{let a=fM(n.convert()),u=n.multipartType;return a?.map(l=>({type:u,key:lh.PropertyKey(i),contentType:n.contentType,valueShape:l,description:n.description,availability:n.availability?.convert()}))}case void 0:return[];default:return new R6p.UnreachableCaseError(n.multipartType),[]}}).filter(Zd).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.schema?.convert();default:return}}};var Cwo=class extends Jd{description;requestBodiesByContentType;constructor(t){super(t),this.safeParse()}parse(){let t=I6p(this.input,this.context.document);if(t==null){this.context.errors.error({message:"Expected request body. Received: null",path:this.accessPath});return}Object.entries(t.content).forEach(([r,i])=>{this.requestBodiesByContentType??={},this.requestBodiesByContentType[r]=new Two({input:i,context:this.context,accessPath:this.accessPath,pathId:"content"},r)})}convert(){return Object.entries(this.requestBodiesByContentType??{}).flatMap(([t,r])=>fM(r.convert())?.map(n=>({description:this.description,contentType:t,body:n}))).filter(Zd)}convertToWebhookPayload(){return Object.values(this.requestBodiesByContentType??{}).flatMap(t=>fM(t.convert())?.map(i=>{if(!(i.type!=="alias"&&i.type!=="object"))return{description:this.description,shape:i}})).filter(Zd)}webhookExample(){return{payload:this.requestBodiesByContentType?.["application/json"]?.schema?.example()}}};var F6p={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 N6p(e,t){if(pE(e)){let r=g2(e,t,void 0);return r==null?void 0:{...r,...e}}return e}var Bwo=Di(dT());function L6p(e){return e!=null&&Object.keys(e).length>0?e:{[kte]:void 0}}function QpD(e,t){return e===t||t===kte||e===kte}var xwo=class extends Jd{streamingFormat;path;statusCode;requests;shapes;schema;contentType;unsupportedContentType;contentSubtype;examples;constructor(t,r,i,n,a,u,l){super(t),this.streamingFormat=i,this.path=n,this.statusCode=a,this.requests=u,this.shapes=l,this.safeParse(r)}isExampleDefined(t){return t!=null&&Pra(t,this.context.document)?.value!=null}parse(t){let r=dhn.parse(t);if(r?.isJSON()||r?.isEventStream())this.contentType="application/json",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 dM({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:"type",seenSchemas:new Set});else if(r?.isOctetStream())this.contentType="application/octet-stream",this.contentSubtype=A3(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 dM({input:this.input.schema,context:this.context,accessPath:this.accessPath,pathId:this.pathId,seenSchemas:new Set});let i={};if(this.input.example!=null&&(i[kte]=[{value:this.input.example}]),this.input.examples!=null&&(i={...i,...f8(this.input.examples,n=>[n])}),this.contentType!=null||this.unsupportedContentType!=null){let n=A3(this.input.schema,this.context.document);n!=null&&(n.example!=null&&(i[kte]??=[],i[kte]?.push({value:n.example})),n.examples!=null&&(i[kte]??=[],i[kte]?.push(...n.examples.map(a=>({value:a}))))),i[kte]??=[],i[kte]?.push({value:this.schema?.example()})}this.examples=shn(this.requests).flatMap(n=>Object.entries(L6p(n?.examples)).flatMap(([a,u])=>Object.entries(i).flatMap(([l,f])=>f.map(s=>QpD(l,a)&&(this.isExampleDefined(u)||this.isExampleDefined(s))?new Mwo({input:{requestExample:u,responseExample:s},context:this.context,accessPath:this.accessPath,pathId:["examples",""]},this.path,this.statusCode,l===""?void 0:l,{requestBody:n,responseBody:this,pathParameters:this.shapes.pathParameters,queryParameters:this.shapes.queryParameters,requestHeaders:this.shapes.requestHeaders}):void 0)).filter(Zd)))}convertStreamingFormat(){switch(this.streamingFormat){case"json":return fM(this.schema?.convert())?.map(r=>({type:"stream",terminator:"[DATA]",shape:r}));case"sse":return{type:"streamingText"};case void 0:return;default:new Bwo.UnreachableCaseError(this.streamingFormat);return}}convert(){if(this.contentType!=null)switch(this.contentType){case"application/json":return this.streamingFormat==null?fM(this.schema?.convert())?.map(r=>{if(!(r==null||r.type!=="object"&&r.type!=="alias"))return r}).filter(Zd):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 Bwo.UnreachableCaseError(this.contentType);return}else return this.unsupportedContentType!=null?fM(this.schema?.convert())?.map(r=>{let i=r.type;switch(i){case"alias":return r;case"discriminatedUnion":case"undiscriminatedUnion":case"enum":return;case"object":return r;default:new Bwo.UnreachableCaseError(i);return}}).filter(Zd):void 0}};var jra=class extends Jd{path;statusCode;requests;shapes;headers;responses;description;emptyResponse;constructor(t,r,i,n,a){super(t),this.path=r,this.statusCode=i,this.requests=n,this.shapes=a,this.safeParse()}parse(t){this.description=this.input.description;let r=N6p(this.input,this.context.document);if(r==null){this.context.errors.error({message:pE(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 Pri({input:n,context:this.context,accessPath:this.accessPath,pathId:"headers"})}),r.content==null?this.emptyResponse=!0:Object.entries(r.content??{}).forEach(([i,n])=>{this.responses??=[],this.responses.push(new xwo({input:n,context:this.context,accessPath:this.accessPath,pathId:["content",i]},i,t,this.path,this.statusCode,this.requests,this.shapes))})}convert(){return this.emptyResponse?[{type:"empty"}]:this.responses?.flatMap(t=>t.convert()).filter(Zd)}};var Iwo=class extends Jd{path;requests;shapes;responsesByStatusCode;errorsByStatusCode;constructor(t,r,i,n){super(t),this.path=r,this.requests=i,this.shapes=n,this.safeParse()}parse(){let t=this.input.default;Object.entries(this.input).forEach(([r,i])=>{parseInt(r)>=400?(this.errorsByStatusCode??={},this.errorsByStatusCode[r]=new jra({input:{...t,...i},context:this.context,accessPath:this.accessPath,pathId:"errors"},this.path,parseInt(r),[],this.shapes)):(this.responsesByStatusCode??={},this.responsesByStatusCode[r]=new jra({input:{...t,...i},context:this.context,accessPath:this.accessPath,pathId:"responses"},this.path,parseInt(r),this.requests,this.shapes))})}convertResponseObjectToHttpResponses(){return Object.entries(this.responsesByStatusCode??{}).flatMap(([t,r])=>{let i=r.convert();if(i!=null)return shn(nEi(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(Zd))})))}).filter(Zd)}convertResponseObjectToErrors(){return Object.entries(this.errorsByStatusCode??{}).flatMap(([t,r])=>r.responses?.flatMap(i=>{let n=i.schema,a=fM(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??F6p[parseInt(t)]??"UNKNOWN ERROR",examples:i.examples?.map(l=>{let f=l.convert();if(f!=null&&f.responseBody?.type==="json")return{name:f.name,description:f.description,responseBody:f.responseBody}}).filter(Zd)})).filter(Zd)})).filter(Zd)}convert(){return{responses:this.convertResponseObjectToHttpResponses(),errors:this.convertResponseObjectToErrors()}}};var jri=class extends Jd{servers;globalAuth;path;method;basePath;isWebhook;endpointId;description;displayName;operationId;pathParameters;queryParameters;requestHeaders;requests;responses;availability;auth;namespace;xFernExamplesNode;redocExamplesNode;constructor(t,r,i,n,a,u,l){super(t),this.servers=r,this.globalAuth=i,this.path=n,this.method=a,this.basePath=u,this.isWebhook=l,this.safeParse()}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 hxe({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-availability"}),this.servers=eJt(this.servers,this.input.servers,this.context,this.accessPath),this.isWebhook=new Ewo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}).isWebhook||this.isWebhook,this.input.parameters?.map((i,n)=>{if(pE(i)){let a=D6p(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 Pri({input:i,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${n}`]})):i.in==="query"?i.schema!=null&&(this.queryParameters??={},this.queryParameters[i.name]=new Pri({input:i,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${n}`]})):i.in==="header"&&i.schema!=null&&(this.requestHeaders??={},this.requestHeaders[i.name]=new Pri({input:i,context:this.context,accessPath:this.accessPath,pathId:["parameters",`${n}`]}))});for(let i of this.extractPathParameterIds()??[])this.pathParameters?.[i]==null&&this.context.errors.warning({message:`Path parameter not defined: ${i}`,path:[...this.accessPath,"parameters"]});this.redocExamplesNode=new Awo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-code-samples"}),this.requests=this.input.requestBody!=null?new Cwo({input:this.input.requestBody,context:this.context,accessPath:this.accessPath,pathId:"requestBody"}):void 0,this.responses=this.input.responses!=null?new Iwo({input:this.input.responses,context:this.context,accessPath:this.accessPath,pathId:"responses"},this.path,Object.values(this.requests?.requestBodiesByContentType??{}),{pathParameters:this.pathParameters,queryParameters:this.queryParameters,requestHeaders:this.requestHeaders}):void 0;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 ahn({input:this.input.security,context:this.context,accessPath:this.accessPath,pathId:"security"})),this.namespace=new Swo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-group-name"}),this.namespace?.groupName==null&&this.input.tags!=null&&(this.namespace.groupName=this.input.tags);let r=new Dwo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-sdk-method-name"});this.endpointId=iwo(this.namespace?.groupName,this.path,r.sdkMethodName,this.input.operationId),this.xFernExamplesNode=new wwo({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(Zd)}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:lh.PropertyKey(a.slice(1,-1).trim())}):n.push({type:"literal",value:a}),n),[])}convert(){if(this.path==null||this.endpointId==null)return;let{responses:t,errors:r}=this.responses?.convert()??{responses:void 0,errors:void 0},i=A6p(this.xFernExamplesNode?.convert(),t?.flatMap(s=>s.examples))?.map(s=>({...s,snippets:E6p(s.snippets,this.redocExamplesNode?.convert())}));if(this.isWebhook)return this.method!=="POST"&&this.method!=="GET"?void 0:{id:lh.WebhookId(this.endpointId),description:this.description,availability:this.availability?.convert(),displayName:this.displayName,operationId:this.operationId,namespace:this.namespace?.convert(),method:this.method,path:this.convertPathToPathParts()?.map(s=>s.value.toString())??[],headers:nEi(this.requestHeaders)?.flat(),payloads:this.requests?.convertToWebhookPayload(),examples:[this.requests?.webhookExample()].filter(Zd)};let n=this.servers?.map(s=>s.convert()).filter(Zd),a=this.convertPathToPathParts();if(a==null)return;let u,l=this.auth?.convert();l!=null&&(u=Object.keys(l));let f=t?.flatMap(s=>s.headers).filter(Zd);return{id:lh.EndpointId(this.endpointId),description:this.description,availability:this.availability?.convert(),namespace:this.namespace?.convert(),displayName:this.displayName,operationId:this.operationId,method:this.method,path:a,auth:u?.map(s=>lh.api.latest.AuthSchemeId(s)),defaultEnvironment:n?.[0]?.id,environments:n,pathParameters:nEi(this.pathParameters)?.flat(),queryParameters:nEi(this.queryParameters)?.flat(),requestHeaders:nEi(this.requestHeaders)?.flat(),responseHeaders:f!=null&&f.length>0?f:void 0,requests:this.requests?.convert(),responses:t?.map(s=>s.response),errors:r,examples:i,snippetTemplates:void 0,protocol:{type:"rest"}}}};var phn=class extends Jd{servers;globalAuth;basePath;isWebhook;description;get;post;put;patch;delete;path;constructor(t,r,i,n,a){super(t),this.servers=r,this.globalAuth=i,this.basePath=n,this.isWebhook=a,this.safeParse()}parse(){this.description=this.input.description,this.servers=eJt(this.servers,this.input.servers,this.context,this.accessPath);let t=Array.isArray(this.pathId)?this.pathId.join("/"):this.pathId;this.input.get!=null&&(this.get=new jri({input:this.input.get,context:this.context,accessPath:this.accessPath,pathId:"get"},this.servers,this.globalAuth,t,"GET",this.basePath,this.isWebhook)),this.input.post!=null&&(this.post=new jri({input:this.input.post,context:this.context,accessPath:this.accessPath,pathId:"post"},this.servers,this.globalAuth,t,"POST",this.basePath,this.isWebhook)),this.input.put!=null&&(this.put=new jri({input:this.input.put,context:this.context,accessPath:this.accessPath,pathId:"put"},this.servers,this.globalAuth,t,"PUT",this.basePath)),this.input.patch!=null&&(this.patch=new jri({input:this.input.patch,context:this.context,accessPath:this.accessPath,pathId:"patch"},this.servers,this.globalAuth,t,"PATCH",this.basePath)),this.input.delete!=null&&(this.delete=new jri({input:this.input.delete,context:this.context,accessPath:this.accessPath,pathId:"delete"},this.servers,this.globalAuth,t,"DELETE",this.basePath))}convert(){return[this.get?.convert(),this.post?.convert(),this.put?.convert(),this.patch?.convert(),this.delete?.convert()].filter(Zd)}};var zwo=class extends Jd{servers;globalAuth;basePath;paths;constructor(t,r,i,n){super(t),this.servers=r,this.globalAuth=i,this.basePath=n,this.safeParse()}parse(){this.paths=Object.entries(this.input).map(([t,r])=>{if(r!=null)return new phn({input:r,context:this.context,accessPath:this.accessPath,pathId:t},eJt(this.servers,r.servers,this.context,this.accessPath),this.globalAuth,this.basePath,void 0)}).filter(Zd)}convert(){if(this.paths==null)return;let t={},r={};return this.paths.forEach(i=>{let n=i.convert();n?.forEach(a=>{S6p(a)?r[lh.WebhookId(a.id)]=a:t[lh.EndpointId(a.id)]=a})}),{endpoints:t,webhookEndpoints:r}}};var Rwo=class extends Jd{name;constructor(t){super(t),this.safeParse()}parse(){this.name=this.input.name}convert(){}};function U6p(e,t){if(pE(e)){let r=g2(e,t,void 0);return r==null?void 0:{...r,...e}}return e}var Fwo=class extends Jd{basePath;servers;globalAuth;webhooks;constructor(t,r,i,n){super(t),this.basePath=r,this.servers=i,this.globalAuth=n,this.safeParse()}parse(){this.webhooks=Object.fromEntries(Object.entries(this.input??{}).map(([t,r])=>{let i=U6p(r,this.context.document);if(i!=null)return[t,new phn({input:i,context:this.context,accessPath:this.accessPath,pathId:t},this.servers,this.globalAuth,this.basePath,!0)]}).filter(Zd))}convert(){return{}}};var Nwo=class extends Jd{paths;webhooks;components;servers;auth;basePath;fernGroups;tags;globalHeaders;constructor(t){super(t),this.safeParse()}parse(){this.servers=eJt(this.servers,this.input.servers,this.context,this.accessPath),this.input.security!=null&&(this.auth=new ahn({input:this.input.security,context:this.context,accessPath:this.accessPath,pathId:"security"})),this.basePath=new uwo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:this.pathId}),this.input.tags!=null&&(this.tags=this.input.tags.map((t,r)=>new Rwo({input:t,context:this.context,accessPath:this.accessPath,pathId:["tags",`${r}`]}))),this.fernGroups=new mwo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-groups"}),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 zwo({input:this.input.paths,context:this.context,accessPath:this.accessPath,pathId:"paths"},this.servers,this.auth,this.basePath)),this.input.webhooks!=null&&(this.webhooks=new Fwo({input:this.input.webhooks,context:this.context,accessPath:this.accessPath,pathId:"webhooks"},this.basePath,this.servers,this.auth)),this.input.components==null?this.context.errors.warning({message:"Expected 'components' property to be specified",path:this.accessPath}):this.components=new fhn({input:this.input.components,context:this.context,accessPath:this.accessPath,pathId:"components"}),this.globalHeaders=new Owo({input:this.input,context:this.context,accessPath:this.accessPath,pathId:"x-fern-global-headers"})}convert(){let t=ZCe(),{webhookEndpoints:r,endpoints:i}=this.paths?.convert()??{},n=Hjo({endpoints:i,webhookEndpoints:r}),a=this.components?.convert();if(a!=null)return{id:lh.ApiDefinitionId(t),endpoints:i??{},websockets:{},webhooks:{...this.webhooks?.convert()??{},...r??{}},types:Object.fromEntries(Object.entries(a).map(([u,l])=>[u,l])),subpackages:n,auths:this.auth?.convert()??{},globalHeaders:this.globalHeaders?.convert()}}};var _hn=class extends ihn{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 yxe(e){return typeof e=="object"&&Zd(e)&&"$ref"in e&&typeof e.$ref=="string"}function y6t(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:(yxe(n)&&(n=y6t(n,t,r)),n)}function V6p(e,t){return yxe(e)?y6t(e,t,{name:"",params:[],result:{name:"",schema:{type:"object"}}}):e}var G6p=Di(dT());function E5r(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]=E5r(i);return t}if(e.type==="array")return e.items==null?[]:Array.isArray(e.items)?e.items.map(t=>E5r(t)):[E5r(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 E5r(e.oneOf[0]);if(e.anyOf?.[0]!=null)return E5r(e.anyOf[0]);if(e.allOf!=null&&e.allOf.length>0){let t={};for(let r of e.allOf)r!=null&&Object.assign(t,E5r(r));return t}}function wra(e,t){return yxe(e)?y6t(e,t,{name:"",schema:{type:"object"}}):e}function W6p(e,t){return yxe(e)?y6t(e,t,void 0):e}function H6p(e,t){return yxe(e)?y6t(e,t,void 0):e}function $6p(e,t){return yxe(e)?y6t(e,t,void 0):e}var JpD={key:lh.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}}}},Lwo=class extends _hn{method;servers=[];constructor(t,r){super(t),this.method=t.input,this.servers=r,this.safeParse()}parse(){}convert(){try{let t=this.method.result?wra(this.method.result,this.context.openrpc):void 0,r=t?new dM({input:t.schema,context:this.context,accessPath:this.accessPath,pathId:"result",seenSchemas:new Set}).convert():void 0,n=this.method.params?.map(l=>wra(l,this.context.openrpc)).filter(Zd)?.map(l=>{let f=new dM({input:l.schema,context:this.context,accessPath:this.accessPath,pathId:["params",l.name],seenSchemas:new Set}).convert();if(!f)return;let s=Array.isArray(f)?f[0]:f;if(s)return{key:lh.PropertyKey(l.name),valueShape:l.required?s:{type:"alias",value:{type:"optional",shape:s,default:void 0}},description:l.description,availability:void 0}}).filter(Zd),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 f=H6p(l,this.context.openrpc);if(f)return{name:f.name??"Example",path:"",description:void 0,snippets:void 0,pathParameters:{},queryParameters:{},headers:{},requestBody:f.params.length>0?{type:"json",value:Object.fromEntries(f.params.map(s=>{let o=W6p(s,this.context.openrpc);if(o)return[o.name??"",o.value]}).filter(Zd))}:void 0,responseStatusCode:200,responseBody:f.result?{type:"json",value:f.result}:void 0}}).filter(Zd)??[];if(u.length<=0){let l=E5r({type:"object",properties:Object.fromEntries(this.method.params?.map(s=>{let o=wra(s,this.context.openrpc);return[o?.name??"",o?.schema??{}]})??[])}),f={name:"Example",path:"",pathParameters:{},queryParameters:{},headers:{},requestBody:{type:"json",value:l},responseStatusCode:200,responseBody:{type:"json",value:E5r(wra(this.method.result,this.context.openrpc)?.schema??{})},snippets:void 0,description:void 0};u.push(f)}return{protocol:{type:"openrpc",methodName:this.input.name},id:lh.EndpointId(this.input.name),displayName:this.input.name,method:"POST",path:[{type:"pathParameter",value:lh.PropertyKey("apiKey")}],auth:void 0,pathParameters:[JpD],queryParameters:[],requests:a!=null?[a]:void 0,responses:r!=null?[this.convertToHttpResponse(r,this.input.description)].filter(Zd):[],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(Zd),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=$6p(this.method.tags[0],this.context.openrpc);if(t?.name!=null)return[lh.api.v1.SubpackageId(t.name)]}convertToHttpResponse(t,r){if(t==null)return;let n=fM(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 G6p.UnreachableCaseError(u);return}}).filter(Zd)[0];if(n)return{statusCode:200,body:n,description:r}}};var Sra=class extends _hn{servers=[];methods=[];components;constructor(t){super(t),this.safeParse()}parse(){if(this.context.openrpc.servers!=null&&(this.servers=eJt(this.servers,this.input.servers,this.context,this.accessPath)),this.input.methods!=null)for(let t of this.input.methods){let r=V6p(t,this.context.openrpc);r!=null&&this.methods.push(new Lwo({input:r,context:this.context,accessPath:this.accessPath,pathId:"methods"},this.servers))}this.context.openrpc.components!=null&&(this.components=new fhn({input:this.context.openrpc.components,context:this.context,accessPath:this.accessPath,pathId:"components"}))}convert(){let t=ZCe(),r=this.components?.convert(),i=this.methods?.map(u=>u.convert()).filter(Zd),n=Object.fromEntries(i?.map(u=>[u.id,u])??[]),a=Hjo({endpoints:n});return{id:lh.ApiDefinitionId(t),types:Object.fromEntries(Object.entries(r??{}).map(([u,l])=>[u,l])),endpoints:n,websockets:{},webhooks:{},subpackages:a,auths:{},globalHeaders:[]}}};var Dra=class extends Gjo{openrpc;logger;constructor(t){super(),this.openrpc=t.openrpc,this.logger=t.logger}get document(){return{openapi:"3.1.0",info:{title:"Mock API",version:"1.0.0"},paths:{},components:this.openrpc.components}}};async function Era(e,t){if(e instanceof Qti){t.logger.info("Skipping, API is specified as a Fern Definition.");return}else if(!(e instanceof s8))return;let r=new e6t(e.absoluteFilePath),i=await t6t({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 rhn},f=new Nwo({input:u.value,context:l,accessPath:[],pathId:e.workspaceName??"openapi parser"});a=D$u(a,f.convert())}return a}var Q6p=require("fs/promises");async function J6p(e,t){let r=await(0,Q6p.readFile)(e,"utf-8"),i=JSON.parse(r),n=new Dra({openrpc:i,logger:t.logger});return new Sra({input:i,context:n,accessPath:[],pathId:"openrpc"}).convert()}function K6p(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 Y6p({navigation:e,fernWorkspaces:t,visitor:r,context:i}){YpD(e)?await Promise.all(e.map(async n=>{n.layout!=null&&await Promise.all(n.layout.map(async a=>{await U7s({navigationItem:a,visitor:r,fernWorkspaces:t,context:i})}))})):await Promise.all(e.map(async n=>{await U7s({navigationItem:n,visitor:r,fernWorkspaces:t,context:i})}))}async function U7s({navigationItem:e,visitor:t,fernWorkspaces:r,context:i}){if(await AUt(e,{alphabetized:ru,api:ru,apiName:ru,audiences:ru,displayErrors:ru,snippets:ru,summary:ru,title:ru,layout:ru,icon:ru,slug:ru,hidden:ru,skipSlug:ru,paginated:ru,playground:ru,flattened:ru,path:ru,page:ru,featureFlag:ru,contents:async n=>{n!=null&&await Promise.all(n.map(async a=>{await U7s({navigationItem:a,visitor:t,fernWorkspaces:r,context:i})}))},viewers:ru,orphaned:ru}),KpD(e)){let n=r.find(a=>a.workspaceName===e.apiName);n!=null&&await t.apiSection?.({config:e,workspace:n,context:i})}}function KpD(e){return e.api!=null}function YpD(e){return e[0]?.tab!=null}function Zwe(e){return e.startsWith("https://")||e.startsWith("http://")?e:`https://${e}`}X6p.default.extend(Z6p.default);var XpD=e=>e.map(t=>({...t,fileId:String(t.relativeFilePath)})),Uwo=0,ZpD=async({ir:e})=>(Uwo++,`${e.apiName.snakeCase.unsafeName}-${Uwo}`),kpD=async({api:e})=>(Uwo++,`${e.id}-${Uwo}`),v6t=class{domain;docsWorkspace;ossWorkspaces;fernWorkspaces;taskContext;editThisPage;uploadFiles;registerApi;registerApiV2;constructor(t,r,i,n,a,u,l=XpD,f=ZpD,s=kpD){this.domain=t,this.docsWorkspace=r,this.ossWorkspaces=i,this.fernWorkspaces=n,this.taskContext=a,this.editThisPage=u,this.uploadFiles=l,this.registerApi=f,this.registerApiV2=s}#e=Vjo.init();_parsedDocsConfig;get parsedDocsConfig(){if(this._parsedDocsConfig==null)throw new Error("parsedDocsConfig is not set");return this._parsedDocsConfig}collectedFileIds=new Map;markdownFilesToFullSlugs=new Map;async resolve(){this._parsedDocsConfig=await bZu({rawDocsConfiguration:this.docsWorkspace.config,context:this.taskContext,absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath,absoluteFilepathToDocsConfig:this.docsWorkspace.absoluteFilepathToDocsConfig}),this.docsWorkspace.config.navigation!=null&&await Y6p({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=xT(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);for(let[s,o]of Object.entries(this.parsedDocsConfig.pages))this.parsedDocsConfig.pages[yo.of(s)]=await qRs({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[yo.of(s)]=await MRs({markdown:o,absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath,absolutePathToMarkdownFile:this.resolveFilepath(s),context:this.taskContext});let t=K6p(this.parsedDocsConfig);for(let[s,o]of Object.entries(this.parsedDocsConfig.pages)){let{filepaths:c,markdown:b}=Vta(o,{absolutePathToMarkdownFile:this.resolveFilepath(s),absolutePathToFernFolder:this.docsWorkspace.absoluteFilePath});this.parsedDocsConfig.pages[yo.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[yo.of(s)]=ARs(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=e_D(this.editThisPage,s);u[l6t.PageId(s)]={markdown:o,editThisPageUrl:c?l6t.Url(c):void 0}});let l=await this.convertDocsConfiguration(),f={};if(this._parsedDocsConfig.experimental?.mdxComponents!=null){let s=new Set;await Promise.all(this._parsedDocsConfig.experimental.mdxComponents.map(async o=>{let c=Mm(this.docsWorkspace.absoluteFilePath,o);(await(0,Vwo.stat)(c)).isDirectory()?(await kqe(c,"{js,ts,jsx,tsx,md,mdx}")).forEach(O=>{s.add(O)}):c.match(/\.(js|ts|jsx|tsx|md|mdx)$/)!=null&&s.add(c)})),f=Object.fromEntries(await Promise.all([...s].map(async o=>{let c=this.toRelativeFilepath(o),b=(await(0,Vwo.readFile)(o)).toString();return[c,b]})))}return{config:l,pages:u,jsFiles:f}}resolveFilepath(t){if(t!=null)return Mm(this.docsWorkspace.absoluteFilePath,t)}toRelativeFilepath(t){if(t!=null)return xT(this.docsWorkspace.absoluteFilePath,t)}async getMarkdownFilesToFullSlugs(t){let r=new Map;for(let[i,n]of Object.entries(t)){let u=(0,k6p.default)(n).data.slug;typeof u=="string"&&u.trim().length>0&&r.set(this.resolveFilepath(i),u.trim())}return r}async getMarkdownFilesToFullyQualifiedPathNames(t){let r={},i=To.migrate.FernNavigationV1ToLatest.create().root(await this.toRootNode());return To.NodeCollector.collect(i).slugMap.forEach((a,u)=>{if(a==null||!To.isPage(a))return;let l=To.getPageId(a);if(l==null)return;let f=ku(this.docsWorkspace.absoluteFilePath,yo.of(l));r[f]=Iv(t,u)}),r}getDocsBasePath(){return new URL(Zwe(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?l6t.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:l6t.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:l6t.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=To.V1.SlugGenerator.init(To.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=>To.RoleId(n)),featureFlags:void 0}}async toRootChild(t){return Sen(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=To.PageId(this.toRelativeFilepath(t.absolutePath)),n=r.apply({urlSlug:t.slug??m1(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:void 0,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??m1(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:To.VersionId(t.version),title:t.version,slug:a.get(),child:u,default:i,availability:t.availability!=null?t_D(t.availability):void 0,landingPage:t.landingPage?this.toLandingPageNode(t.landingPage,r):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 f=u.length>0?u[u.length-1]:void 0,s;f?.type==="sidebarGroup"?s=f:(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){return Sen(r)._visit({page:async n=>this.toPageNode(n,i),apiSection:async n=>this.toApiSectionNode(n,i),section:async n=>this.toSectionNode(t,n,i),link:async n=>this.toLinkNode(n),changelog:async n=>this.toChangelogNode(n,i)})}async toApiSectionNode(t,r){if(t.openrpc!=null){let s=Mm(this.docsWorkspace.absoluteFilePath,yo.of(t.openrpc));if(!await zf(s))throw new Error(`OpenRPC file does not exist at path: ${s}`);let o=await J6p(s,this.taskContext);if(o==null)throw new Error("Failed to generate API Definition from OpenRPC document");return await this.registerApiV2({api:o,apiName:t.apiName}),new gra(t,o,r,void 0,this.docsWorkspace,this.taskContext,this.markdownFilesToFullSlugs,this.#e).get()}if(this.parsedDocsConfig.experimental?.openapiParserV2){let s=this.getOpenApiWorkspaceForApiSection(t),o=await Era(s,this.taskContext);if(o==null)throw new Error("Failed to generate API Definition from OpenAPI workspace");return await this.registerApiV2({api:o,apiName:t.apiName}),new gra(t,o,r,s,this.docsWorkspace,this.taskContext,this.markdownFilesToFullSlugs,this.#e).get()}let i=this.getFernWorkspaceForApiSection(t),n=b7p(t.snippetsConfiguration),a=b2({workspace:i,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 y2(this.taskContext,i)}),u=await this.registerApi({ir:a,snippetsConfig:n,playgroundConfig:{oauth:t.playground?.oauth},apiName:t.apiName}),l=Ora(a,u,{oauth:t.playground?.oauth});return new Ujo(t,l,r,i,this.docsWorkspace,this.taskContext,this.markdownFilesToFullSlugs,this.#e).get()}async toChangelogNode(t,r){return new S5r(this.markdownFilesToFullSlugs,t.changelog,this.docsWorkspace,this.#e).toChangelogNode({parentSlug:r,title:t.title,icon:t.icon,viewers:t.viewers,hidden:t.hidden,slug:t.slug})}async toLinkNode(t){return{type:"link",id:this.#e.get(t.url),title:t.text,url:To.V1.Url(t.url),icon:t.icon}}async toPageNode(t,r){let i=To.PageId(this.toRelativeFilepath(t.absolutePath)),n=r.apply({urlSlug:t.slug??m1(t.title),fullSlug:this.markdownFilesToFullSlugs.get(t.absolutePath)?.split("/")});return{id:this.#e.get(i),type:"page",slug:n.get(),title:t.title,icon:t.icon,hidden:t.hidden,viewers:t.viewers,orphaned:t.orphaned,pageId:i,authed:void 0,noindex:void 0,featureFlags:t.featureFlags}}async toSectionNode(t,r,i){let n=this.toRelativeFilepath(r.overviewAbsolutePath),a=n?To.PageId(n):void 0,u=this.#e.get(a??`${t}/section`),l=i.apply({urlSlug:r.slug??m1(r.title),fullSlug:r.overviewAbsolutePath?this.markdownFilesToFullSlugs.get(r.overviewAbsolutePath)?.split("/"):void 0,skipUrlSlug:r.skipUrlSlug});return{id:u,type:"section",overviewPageId:a,slug:l.get(),title:r.title,icon:r.icon,collapsed:r.collapsed,hidden:r.hidden,viewers:r.viewers,orphaned:r.orphaned,children:await Promise.all(r.contents.map(f=>this.toNavigationChild(u,f,l))),authed:void 0,pointsTo:void 0,noindex:void 0,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 Sen(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 S5r(this.markdownFilesToFullSlugs,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:To.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??m1(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):l6t.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(dg),remote:this.parsedDocsConfig.js.remote?.map(t=>({...t,url:l6t.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 Sen(t,"type")._visit({filepath:({value:r})=>({type:"fileId",value:this.getFileId(r)}),url:({value:r})=>({type:"url",value:l6t.Url(r)}),_other:()=>this.taskContext.failAndThrow("Invalid metadata configuration")})}};function e_D(e,t){if(e?.github==null)return;let{owner:r,repo:i,branch:n="main",host:a="https://github.com"}=e.github;return`${Zwe(a)}/${r}/${i}/blob/${n}/fern/${t}?plain=1`}function t_D(e){switch(e){case"beta":return To.V1.NavigationV1Availability.Beta;case"deprecated":return To.V1.NavigationV1Availability.Deprecated;case"ga":return To.V1.NavigationV1Availability.GenerallyAvailable;case"stable":return To.V1.NavigationV1Availability.Stable;default:Xo(e)}}async function ere(e){return(await Promise.all(e.apiWorkspaces.map(async t=>t instanceof s8?t:null))).filter(dg)}var R2s=Di(uHu(),1),Y9p=Di(_1o(),1),nJt=require("fs/promises"),T1o=require("os"),F2s=Di(require("path"),1),X9p=Di(Jk(),1),Z9p=Di(K9p(),1);var GyD="etag",N2s="preview",QyD="bundle",L2s=".fern";function JyD(){return ku(Kl.of((0,T1o.homedir)()),yo.of(L2s),yo.of(N2s))}function C1o(){return ku(Kl.of((0,T1o.homedir)()),yo.of(L2s),yo.of(N2s),yo.of(QyD))}function KyD(){return ku(Kl.of((0,T1o.homedir)()),yo.of(L2s),yo.of(N2s),yo.of(GyD))}async function k9p({bucketUrl:e,logger:t,preferCached:r}){t.debug("Setting up docs preview bundle...");let i=await(0,R2s.fetcher)({url:e,method:"GET",responseType:"text",duplex:"half"});if(!i.ok)return{type:"failure"};let n=i.body,u=await new Z9p.default.Parser().parseStringPromise(n),l=u?.ListBucketResult?.Contents?.[0]?.ETag?.[0],f=u?.ListBucketResult?.Contents?.[0]?.Key?.[0],s=KyD();if(r){let M=await zf(s),q;if(M&&(t.debug("Reading existing ETag"),q=(await(0,nJt.readFile)(s)).toString()),q!=null&&q===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 X9p.default.dir({prefix:"fern"}),c=Kl.of(o.path);t.debug(`Downloading docs preview bundle from ${F2s.default.join(e,f)}`);let b=await(0,R2s.fetcher)({url:`${F2s.default.join(e,f)}`,method:"GET",responseType:"arrayBuffer",duplex:"half"});if(!b.ok)return t.error("Failed to download docs preview bundle."),{type:"failure"};let g=ku(c,yo.of("output.zip")),O=b.body;if(O==null)return{type:"failure"};let m=Buffer.from(O);await(0,nJt.writeFile)(g,new Uint8Array(m)),t.debug(`Wrote output.zip to ${g}`);let w=JyD();await zf(w)&&await(0,nJt.rm)(w,{recursive:!0}),await(0,nJt.mkdir)(w,{recursive:!0}),t.debug(`rm -rf ${w}`);let A=C1o();return await(0,nJt.mkdir)(A,{recursive:!0}),await(0,Y9p.default)(g,A),await(0,nJt.writeFile)(s,l),t.debug(`Downloaded bundle to ${A}`),{type:"success"}}var rLp=require("fs/promises");var eLp=require("fs/promises"),tLp=Di(U4r(),1);async function YyD(e){let{content:t}=(0,tLp.default)(await(0,eLp.readFile)(e));return t}async function U2s({markdown:e,absolutePathToFernFolder:t,absolutePathToMarkdownFile:r,context:i,markdownLoader:n=YyD}){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 f=l[0],s=l[1],o=l[2];if(f==null||o==null)throw new Error(`Failed to parse regex "${l}" in ${r}`);let c=Mm(o.startsWith("/")?t:Mp(r),yo.of(o.replace(/^\//,"")));try{let b=await n(c);b=b.split(`
|
|
1963
1963
|
`).map(g=>s+g).join(`
|
|
1964
1964
|
`),u=u.replace(f,b)}catch{i.logger.warn(`Failed to read markdown file "${o}" referenced in ${r}`);break}}return u}async function iLp({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(A=>A.endsWith(".mdx")||A.endsWith(".md"));for(let A of n){let M=xT(a.absoluteFilePath,A),q=(await(0,rLp.readFile)(A)).toString(),D=await U2s({markdown:q,absolutePathToFernFolder:a.absoluteFilePath,absolutePathToMarkdownFile:A,context:r}),C=i.pages[jO.PageId(M)];C!=null&&(i.pages[jO.PageId(M)]={markdown:D,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}))),f=await ere(t),s=new V2s(r),o=new W2s(r),c={},g=await new v6t(e,a,f,l,r,void 0,async w=>w.map(A=>{let M=ZCe();return c[M]={type:"url",url:To.Url(`/_local${pJu(A.absoluteFilePath)}`)},{absoluteFilePath:A.absoluteFilePath,relativeFilePath:A.relativeFilePath,fileId:M}}),async w=>s.addReferencedAPI(w),async w=>o.addReferencedAPI(w)).resolve(),O=KNs({writeShape:g,files:{}}),m=XNs({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 V2s=class{context;apis={};constructor(t){this.context=t}addReferencedAPI({ir:t,snippetsConfig:r,playgroundConfig:i}){try{let n=ZCe(),a=Qta(Xwe({ir:t,snippetsConfig:r,playgroundConfig:i}),jO.ApiDefinitionId(n),new GDi({snippetsConfigWithSdkId:{},snippetsBySdkId:{},snippetTemplatesByEndpoint:{},snippetTemplatesByEndpointId:{},snippetsBySdkIdAndEndpointId:{}})),u=Yta(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}},W2s=class{context;apis={};constructor(t){this.context=t}addReferencedAPI({api:t}){try{return this.apis[t.id]=t,t.id}catch(r){let i=r;throw this.context.logger.debug(`Failed to read referenced API: ${i?.message} ${i?.stack}`),this.context.logger.error("An error occurred while trying to read an API definition. Please reach out to support."),i.stack!=null&&this.context.logger.error(i?.stack),r}}getAPIsForDefinition(){return this.apis}};var XyD={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 $2s({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 k9p({bucketUrl:$,logger:i.logger,preferCached:!0})}catch($){let I=C1o();if($ instanceof Error&&i.logger.debug(`Failed to download latest docs bundle: ${$.message}`),await zf(I))i.logger.warn("Falling back to cached bundle...");else{i.logger.warn("Please reach out to support@buildwithfern.com.");return}}let u=Mp(e.config._absolutePath),l=(0,H2s.default)(),f=aLp.default.createServer(l),s=new hRs.default({server:f}),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,nLp.default)());let b=new URL(Zwe(e.docsWorkspaces?.config.instances[0]?.url??`http://localhost:${n}`)),g=e,O,m=null,w=!1,A=1e3,M=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 iLp({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:
|
|
1965
|
-
${U.stack}`)),O}};O=await M();let q=g.apiWorkspaces.flatMap($=>$.getAbsoluteFilePaths()),D=a?Kl.of(B1o.default.resolve(a)):C1o(),C=new xCp([u,...q],{recursive:!0,ignoreInitial:!0,debounce:100,renameDetection:!0}),R=[];C.on("all",async($,I,U)=>{i.logger.info(Su.dim(`[${$}] ${I}`)),!w&&(R.push(Kl.of(I)),m!=null&&clearTimeout(m),m=setTimeout(()=>{(async()=>{w=!0,c({version:1,type:"startReload"});let H=await M(R);H!=null&&(O=H),R.length=0,c({version:1,type:"finishReload"}),w=!1})()},A))}),l.post("/v2/registry/docs/load-with-url",async($,I)=>{try{let U=O??XyD,H={baseUrl:{domain:b.host,basePath:b.pathname},definition:U,lightModeEnabled:U.config.colorsV3?.type!=="dark",orgId:To.OrgId(e.config.organization)};I.send(H)}catch(U){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",H2s.default.static(B1o.default.join(D,"/_next"))),l.use("*",async($,I)=>I.sendFile(B1o.default.join(D,"/[[...slug]].html"))),l.listen(n),i.logger.info(`Running server on http://localhost:${n}`),await new Promise(()=>{})}var tUp=Di(uLp(),1);var cU={RequestReference:"requestReference",InlinedRequestProperty:"inlinedRequestProperty",Response:"response",StreamingResponse:"streamingResponse"};function kM(e,t){return r=>{r!=null&&e.docs?.(r,[...t,"docs"])}}function vxe({example:e,visitor:t,nodePath:r}){if(typeof e=="string")e.startsWith(TWt)&&t.exampleTypeReference?.(e,r);else if(Dj(e))for(let i of Object.values(e))vxe({example:i,visitor:t,nodePath:r});else if(Array.isArray(e))for(let i of e)vxe({example:i,visitor:t,nodePath:r})}function b6t(e){return(t,r,{_default:i,validation:n,location:a}={})=>{e.typeReference?.({typeReference:t,_default:i,validation:n,location:a,nodePath:r},r)}}function sLp({service:e,visitor:t,nodePath:r}){t.httpService?.(e,r),Sj(e,{url:i=>{t.serviceBaseUrl?.(i,[...r,"url"])},"base-path":ru,"display-name":ru,availability:ru,headers:i=>{cLp({headers:i,visitor:t,nodePath:[...r,"headers"]})},audiences:ru,auth:ru,"path-parameters":i=>{Jra({pathParameters:i,visitor:t,nodePath:[...r,"path-parameters"]})},endpoints:i=>{for(let[n,a]of Object.entries(i)){let u=[...r,"endpoints",n];rvD({endpointId:n,endpoint:a,service:e,visitor:t,nodePathForEndpoint:u})}},idempotent:ru,transport:ru,source:ru})}function rvD({endpointId:e,endpoint:t,service:r,visitor:i,nodePathForEndpoint:n}){let a=b6t(i);i.httpEndpoint?.({endpointId:e,endpoint:t,service:r},n),Sj(t,{docs:kM(i,n),"display-name":ru,availability:ru,"base-path":ru,path:ru,idempotent:ru,url:u=>{i.endpointBaseUrl?.({baseUrl:u,service:r},[...n,"url"])},"path-parameters":u=>{Jra({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}Sj(u,{name:ru,docs:kM(i,l),"path-parameters":f=>{Jra({pathParameters:f,visitor:i,nodePath:[...l,"path-parameters"]})},"query-parameters":f=>{if(f!=null)for(let[s,o]of Object.entries(f)){let c=[...l,"query-parameters",s];i.queryParameter?.({queryParameterKey:s,queryParameter:o},c),typeof o=="string"?a(o,c):Sj(o,{name:ru,docs:kM(i,c),availability:ru,type:b=>{a(b,[...c,"type"],{_default:o.default,validation:o.validation})},"allow-multiple":ru,audiences:ru,encoding:ru,default:ru,validation:ru})}},"content-type":ru,headers:f=>{cLp({headers:f,visitor:i,nodePath:[...l,"headers"]})},body:f=>{if(f==null)return;let s=[...l,"body"];typeof f=="string"?a(f,s,{location:"requestReference"}):oT(f)?(i.typeDeclaration?.({typeName:{isInlined:!0,location:"inlinedRequest"},declaration:f},s),Sj(f,{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:cU.InlinedRequestProperty}):Sj(b,{name:ru,docs:kM(i,g),availability:ru,type:O=>{a(O,[...g,"type"],{location:cU.InlinedRequestProperty,_default:b.default,validation:b.validation})},"content-type":ru,audiences:ru,encoding:ru,default:ru,validation:ru})}},"extra-properties":ru})):(kM(i,s)(f.docs),a(f.type,s))}})},audiences:ru,method:ru,auth:ru,"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:cU.StreamingResponse}):a(u.type,[...n,"response-stream"],{location:cU.StreamingResponse}))},response:u=>{if(u==null)return;let l=[...n,"response"];typeof u=="string"?a(u,l,{location:cU.Response}):Sj(u,{docs:kM(i,l),type:f=>{f!=null&&a(f,[...l,"type"],{location:cU.Response})},property:ru,"status-code":ru})},errors:u=>{if(u!=null)for(let l of u){let f=[...n,"errors",typeof l=="string"?l:l.error];typeof l=="string"?i.errorReference?.(l,f):Sj(l,{docs:kM(i,f),error:s=>{i.errorReference?.(s,[...f,"error"])}})}},examples:u=>{if(u!=null)for(let[l,f]of u.entries())ivD({nodePathForExample:[...n,{key:"examples",arrayIndex:l}],visitor:i,service:r,endpoint:t,example:f})},pagination:ru,source:ru,transport:ru})}function ivD({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))vxe({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"]))vxe({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"]))vxe({example:o,visitor:t,nodePath:l});let f=[...e,"request"];t.exampleRequest?.({service:r,endpoint:i,example:n.request},f),n.request!=null&&vxe({example:n.request,visitor:t,nodePath:f});let s=[...e,"response"];if(t.exampleResponse?.({service:r,endpoint:i,example:n.response},s),n.response!=null&&gPi(i,n.response,{body:o=>{o.body!=null&&vxe({example:o.body,visitor:t,nodePath:s}),o.error!=null&&t.errorReference?.(o.error,[...s,"error"])},stream:o=>{for(let c of o.stream)vxe({example:c,visitor:t,nodePath:s})},events:o=>{for(let{data:c}of o.stream)vxe({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 Jra({pathParameters:e,visitor:t,nodePath:r}){if(e==null)return;let i=b6t(t);for(let[n,a]of Object.entries(e)){let u=[...r,n];t.pathParameter?.({pathParameterKey:n,pathParameter:a},u),ynn(a)?typeof a=="string"?t.variableReference?.(a,u):Sj(a,{docs:kM(t,u),variable:l=>t.variableReference?.(l,[...u,"variable"]),availability:ru}):typeof a=="string"?i(a,u):Sj(a,{docs:kM(t,u),type:l=>{i(l,[...u,"type"],{_default:a.default,validation:a.validation})},availability:ru,encoding:ru,default:ru,validation:ru,name:ru,audiences:ru})}}function cLp({headers:e,visitor:t,nodePath:r}){if(e==null)return;let i=b6t(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):Sj(a,{name:ru,availability:ru,type:l=>{i(l,u,{_default:a.default,validation:a.validation})},docs:kM(t,u),audiences:ru,encoding:ru,env:ru,default:ru,validation:ru})}}function lLp({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),G2s({typeName:i,declaration:n,visitor:t,nodePathForType:a})}}function G2s({typeName:e,declaration:t,visitor:r,nodePathForType:i}){let n=b6t(r);r.typeDeclaration?.({typeName:{isInlined:!1,name:e},declaration:t,nodePath:i},i);let a=u=>{if(u!=null)for(let[l,f]of u.entries()){let s=[...i,{key:"examples",arrayIndex:l}];r.exampleType?.({typeName:e,typeDeclaration:t,example:f},s),vxe({example:f.value,nodePath:s,visitor:r})}};KR(t,{alias:u=>{typeof u=="string"?n(u,i):Sj(u,{type:l=>{n(l,[...i,"type"])},docs:kM(r,i),availability:ru,audiences:ru,examples:a,validation:ru,encoding:ru,source:ru,inline:ru})},object:u=>{Sj(u,{docs:kM(r,i),extends:l=>{if(l==null)return;let f=typeof l=="string"?[l]:l;for(let s of f){let o=[...i,"extends",s];r.extension?.(s,o),n(s,o)}},properties:l=>{if(l!=null)for(let[f,s]of Object.entries(l)){let o=[...i,"properties",f];typeof s=="string"?n(s,o):Sj(s,{name:ru,docs:kM(r,o),availability:ru,type:c=>{n(c,[...o,"type"],{_default:s.default,validation:s.validation})},audiences:ru,encoding:ru,default:ru,validation:ru})}},"extra-properties":ru,availability:ru,audiences:ru,encoding:ru,source:ru,examples:a,inline:ru})},discriminatedUnion:u=>{Sj(u,{docs:kM(r,i),discriminant:ru,extends:l=>{if(l==null)return;let f=typeof l=="string"?[l]:l;for(let s of f){let o=[...i,"extends",s];r.extension?.(s,o),n(s,o)}},union:l=>{for(let[f,s]of Object.entries(l)){let o=[...i,"union",f];typeof s=="string"?n(s,o):Sj(s,{docs:kM(r,o),name:ru,key:ru,type:c=>{typeof c=="string"&&n(c,[...i,"type"])},"display-name":ru,availability:ru})}},"base-properties":ru,availability:ru,audiences:ru,encoding:ru,source:ru,examples:a,inline:ru})},undiscriminatedUnion:u=>{Sj(u,{docs:kM(r,i),discriminated:ru,union:l=>{for(let[f,s]of l.entries()){let o=[...i,`union[${f}]`];typeof s!="string"&&Sj(s,{docs:kM(r,o),type:c=>{n(c,[...i,"type"])},"display-name":ru})}},availability:ru,audiences:ru,encoding:ru,source:ru,examples:a,inline:ru})},enum:u=>{Sj(u,{docs:kM(r,i),enum:l=>{for(let f of l){let s=[...i,typeof f=="string"?f:f.name??f.value];typeof f!="string"&&Sj(f,{docs:kM(r,s),name:ru,value:ru,casing:ru})}},availability:ru,audiences:ru,default:ru,encoding:ru,source:ru,examples:a,inline:ru})}})}function fLp({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),nvD({errorName:i,declaration:n,visitor:t,nodePathForError:a})}}function nvD({errorName:e,declaration:t,visitor:r,nodePathForError:i}){let n=b6t(r);typeof t=="string"?n(t,i):Sj(t,{docs:kM(r,i),"status-code":ru,type:a=>{if(a==null)return;let u=[...i,"type"];typeof a=="string"?n(a,u):G2s({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 dLp({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 pLp({webhook:e,visitor:t,nodePathForWebhook:r}){let i=b6t(t);Sj(e,{"display-name":ru,method:ru,examples:ru,headers:n=>{avD({headers:n,visitor:t,nodePath:[...r,"headers"]})},payload:n=>{let a=[...r,"payload"];if(typeof n=="string"){i(n,a,{location:"requestReference"});return}if(ovD(n)){i(n.type,[...a,"type"],{location:"requestReference"});return}let u=[...a];t.typeDeclaration?.({typeName:{isInlined:!0,location:"inlinedRequest"},declaration:n},u),Sj(n,{name:ru,extends:l=>{if(l==null)return;let f=typeof l=="string"?[l]:l;for(let s of f){let o=[...u,"extends",s];t.extension?.(s,o),i(s,o)}},properties:l=>{if(l!=null)for(let[f,s]of Object.entries(l)){let o=[...u,"properties",f];typeof s=="string"?i(s,o,{location:cU.InlinedRequestProperty}):Sj(s,{name:ru,docs:kM(t,o),availability:ru,type:c=>{i(c,[...o,"type"],{_default:s.default,validation:s.validation,location:cU.InlinedRequestProperty})},audiences:ru,encoding:ru,default:ru,validation:ru})}}})},audiences:ru,availability:ru,docs:kM(t,r)})}function avD({headers:e,visitor:t,nodePath:r}){if(e==null)return;let i=b6t(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):Sj(a,{name:ru,availability:ru,type:l=>{i(l,u,{_default:a.default,validation:a.validation})},docs:kM(t,u),audiences:ru,encoding:ru,env:ru,default:ru,validation:ru})}}function ovD(e){return e.type!=null}function lU(e,t){Sj(e,{docs:kM(t,[]),imports:r=>{dLp({imports:r,visitor:t,nodePath:["imports"]})},types:r=>{lLp({typeDeclarations:r,visitor:t,nodePath:["types"]})},service:r=>{r!=null&&sLp({service:r,visitor:t,nodePath:["service"]})},webhooks:r=>{for(let[i,n]of Object.entries(r??{}))pLp({webhook:n,visitor:t,nodePathForWebhook:["webhooks",i]})},channel:ru,errors:r=>{fLp({errorDeclarations:r,visitor:t,nodePath:["errors"]})}})}function Q2s(e,t){Sj(e,{docs:ru,imports:ru,types:ru,service:ru,webhooks:ru,errors:ru,channel:ru,export:r=>{t.export?.(typeof r=="string"?r:r?.dependency,["export"])},navigation:r=>{t.navigation?.(r,["navigation"])}})}function J2s(e,t){t.file?.(e,[]),Sj(e,{version:ru,name:ru,"default-url":ru,"display-name":ru,imports:ru,auth:ru,"idempotency-headers":ru,"auth-schemes":r=>Object.entries(r??{}).map(([i,n])=>{Qes(n)&&t.oauth?.({name:i,oauth:n},["auth-scheme",i])}),pagination:ru,"default-environment":r=>{t.defaultEnvironment?.(r,["default-environment"])},docs:ru,headers:ru,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:ru,errors:r=>{if(r!=null)for(let i of r)t.errorReference?.(i,["errors",i])},"base-path":ru,"path-parameters":r=>{Jra({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 x1o=new RegExp("^[a-zA-Z][a-zA-Z0-9_]*$");function _Lp({relativeFilepath:e,contents:t,allRuleVisitors:r,addViolations:i}){function n(a){let u=(l,f)=>{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:f,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 hLp({relativeFilepath:e,contents:t,allRuleVisitors:r,addViolations:i}){function n(a){let u=(l,f)=>{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:f,message:b.message})))}}};return{[a]:u}}return{...n("export"),...n("navigation")}}function yLp({relativeFilepath:e,contents:t,allRuleVisitors:r,addViolations:i}){function n(a){let u=(l,f)=>{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:f,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 K2s={name:"content-type-only-for-multipart",DISABLE_RULE:!1,create:()=>({definitionFile:{httpEndpoint:({endpoint:e})=>{if(e.request==null)return[];if(bPi(e.request)!=null)return[];if(typeof e.request!="string"&&e.request.body!=null&&oT(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 Y2s={name:"import-file-exists",create:({workspace:e})=>{let t=Object.keys(J8r(e.definition)),r=new Set;return t.forEach(i=>{let n=ku(e.definition.absoluteFilePath,yo.of(i));r.add(n)}),{definitionFile:{import:({importedAs:i,importPath:n},{relativeFilepath:a})=>{let u=[],l=ku(e.definition.absoluteFilePath,Mp(a),yo.of(n));return r.has(l)||u.push({severity:"fatal",message:`Import ${Su.bold(i)} points to non-existent path ${Su.bold(n)}.`}),u}}}}};function I1o(e){return e.definition.rootApiFile.contents.environments==null?[]:Object.values(e.definition.rootApiFile.contents.environments).reduce((t,r)=>{if(hnn(r))for(let i of Object.keys(r.urls))t.includes(i)||t.push(i);return t},[])}var X2s={name:"matching-environment-urls",create:({workspace:e})=>{let t=I1o(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 ${Su.bold(u)}`})};return W6r(i,{singleBaseUrl:()=>{for(let u of t)a(u)},multipleBaseUrls:u=>{for(let l of t)u.urls[l]==null&&a(l)}}),n}}}}};var Z2s={name:"no-circular-imports",DISABLE_RULE:!0,create:({workspace:e})=>{let t=uvD(e.definition.namedDefinitionFiles);return{definitionFile:{import:({importPath:r},{relativeFilepath:i})=>{let n=t[i];if(n==null)return[];let a=_ri({referencedIn:i,importPath:yo.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 uvD(e){let t={};for(let r of z3t(e))t[r]=vLp(r,[r],e);return t}function vLp(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=_ri({referencedIn:e,importPath:yo.of(a)});t.includes(u)?t[0]===u&&t[0]===svD(t)&&i.push({startingFilepath:u,chainWithoutStartingFilepath:t.slice(1)}):i.push(...vLp(u,[...t,u],r))}return i}function svD(e){return e.reduce((t,r)=>r<t?r:t)}var cD=JQt({generationLanguage:void 0,keywords:void 0,smartCasing:!1});var z1o=class{workspace;typeResolver;constructor(t){this.workspace=t,this.typeResolver=new uS(t)}isTypeComplex(t,r){let i=Gb({relativeFilepath:r.relativeFilepath,definitionFile:r.contents,casingsGenerator:cD,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:Xo(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:Xo(t)}}isNamedTypeComplex({type:t,file:r,visited:i}){if(i.has(t.rawName))return!1;if(i.add(t.rawName),_Xr(t.declaration))return!0;if(M7t(t.declaration))return!1;if(E1(t.declaration))return this.objectHasComplexProperties({typeName:t.rawName,objectDeclaration:t.declaration,file:r,visited:i});if(vnn(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}Xo(t.declaration)}objectHasComplexProperties({typeName:t,objectDeclaration:r,file:i,visited:n}){return _6t({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:Xo(t)}}isComplexContainer({type:t,file:r,visited:i}){switch(t._type){case"literal":return!0;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:Xo(t)}}};var k2s={name:"no-complex-query-params",create:({workspace:e})=>{let t=new z1o(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 e6s={name:"no-conflicting-endpoint-parameters",create:()=>({definitionFile:{pathParameter:({pathParameterKey:e})=>e===mjo?[{severity:"fatal",message:`Path parameter ${Su.bold(e)} is not suitable for code generation, because it can conflict with the request body parameter.`}]:[]}})};function Kra({service:e,endpoint:t}){return e["base-path"]+t.path}var R1o=class{root=new t6s;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 Kra({service:t.service,endpoint:t.endpoint}).split("/").filter(r=>r.length>0)}},t6s=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 r6s={name:"no-conflicting-endpoint-paths",create:({workspace:e})=>{let t=new R1o;return dF(e,(r,i)=>{lU(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 ${Kra({service:r,endpoint:i})} conflicts with other endpoints:`,...u.map(l=>` - ${l.relativeFilepath} -> ${l.endpointId} ${Su.dim(Kra({service:l.service,endpoint:l.endpoint}))}`)].join(`
|
|
1965
|
+
${U.stack}`)),O}};O=await M();let q=g.apiWorkspaces.flatMap($=>$.getAbsoluteFilePaths()),D=a?Kl.of(B1o.default.resolve(a)):C1o(),C=new xCp([u,...q],{recursive:!0,ignoreInitial:!0,debounce:100,renameDetection:!0}),R=[];C.on("all",async($,I,U)=>{i.logger.info(Su.dim(`[${$}] ${I}`)),!w&&(R.push(Kl.of(I)),m!=null&&clearTimeout(m),m=setTimeout(()=>{(async()=>{w=!0,c({version:1,type:"startReload"});let H=await M(R);H!=null&&(O=H),R.length=0,c({version:1,type:"finishReload"}),w=!1})()},A))}),l.post("/v2/registry/docs/load-with-url",async($,I)=>{try{let U=O??XyD,H={baseUrl:{domain:b.host,basePath:b.pathname},definition:U,lightModeEnabled:U.config.colorsV3?.type!=="dark",orgId:To.OrgId(e.config.organization)};I.send(H)}catch(U){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",H2s.default.static(B1o.default.join(D,"/_next"))),l.use("*",async($,I)=>I.sendFile(B1o.default.join(D,"/[[...slug]].html"))),l.listen(n),i.logger.info(`Running server on http://localhost:${n}`),await new Promise(()=>{})}var tUp=Di(uLp(),1);var cU={RequestReference:"requestReference",InlinedRequestProperty:"inlinedRequestProperty",Response:"response",StreamingResponse:"streamingResponse"};function kM(e,t){return r=>{r!=null&&e.docs?.(r,[...t,"docs"])}}function vxe({example:e,visitor:t,nodePath:r}){if(typeof e=="string")e.startsWith(TWt)&&t.exampleTypeReference?.(e,r);else if(Dj(e))for(let i of Object.values(e))vxe({example:i,visitor:t,nodePath:r});else if(Array.isArray(e))for(let i of e)vxe({example:i,visitor:t,nodePath:r})}function b6t(e){return(t,r,{_default:i,validation:n,location:a}={})=>{e.typeReference?.({typeReference:t,_default:i,validation:n,location:a,nodePath:r},r)}}function sLp({service:e,visitor:t,nodePath:r}){t.httpService?.(e,r),Sj(e,{url:i=>{t.serviceBaseUrl?.(i,[...r,"url"])},"base-path":ru,"display-name":ru,availability:ru,headers:i=>{cLp({headers:i,visitor:t,nodePath:[...r,"headers"]})},audiences:ru,auth:ru,"path-parameters":i=>{Jra({pathParameters:i,visitor:t,nodePath:[...r,"path-parameters"]})},endpoints:i=>{for(let[n,a]of Object.entries(i)){let u=[...r,"endpoints",n];rvD({endpointId:n,endpoint:a,service:e,visitor:t,nodePathForEndpoint:u})}},idempotent:ru,transport:ru,source:ru})}function rvD({endpointId:e,endpoint:t,service:r,visitor:i,nodePathForEndpoint:n}){let a=b6t(i);i.httpEndpoint?.({endpointId:e,endpoint:t,service:r},n),Sj(t,{docs:kM(i,n),"display-name":ru,availability:ru,"base-path":ru,path:ru,idempotent:ru,url:u=>{i.endpointBaseUrl?.({baseUrl:u,service:r},[...n,"url"])},"path-parameters":u=>{Jra({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}Sj(u,{name:ru,docs:kM(i,l),"path-parameters":f=>{Jra({pathParameters:f,visitor:i,nodePath:[...l,"path-parameters"]})},"query-parameters":f=>{if(f!=null)for(let[s,o]of Object.entries(f)){let c=[...l,"query-parameters",s];i.queryParameter?.({queryParameterKey:s,queryParameter:o},c),typeof o=="string"?a(o,c):Sj(o,{name:ru,docs:kM(i,c),availability:ru,type:b=>{a(b,[...c,"type"],{_default:o.default,validation:o.validation})},"allow-multiple":ru,audiences:ru,encoding:ru,default:ru,validation:ru})}},"content-type":ru,headers:f=>{cLp({headers:f,visitor:i,nodePath:[...l,"headers"]})},body:f=>{if(f==null)return;let s=[...l,"body"];typeof f=="string"?a(f,s,{location:"requestReference"}):oT(f)?(i.typeDeclaration?.({typeName:{isInlined:!0,location:"inlinedRequest"},declaration:f},s),Sj(f,{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:cU.InlinedRequestProperty}):Sj(b,{name:ru,docs:kM(i,g),availability:ru,type:O=>{a(O,[...g,"type"],{location:cU.InlinedRequestProperty,_default:b.default,validation:b.validation})},"content-type":ru,audiences:ru,encoding:ru,default:ru,validation:ru})}},"extra-properties":ru})):(kM(i,s)(f.docs),a(f.type,s))}})},audiences:ru,method:ru,auth:ru,"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:cU.StreamingResponse}):a(u.type,[...n,"response-stream"],{location:cU.StreamingResponse}))},response:u=>{if(u==null)return;let l=[...n,"response"];typeof u=="string"?a(u,l,{location:cU.Response}):Sj(u,{docs:kM(i,l),type:f=>{f!=null&&a(f,[...l,"type"],{location:cU.Response})},property:ru,"status-code":ru})},errors:u=>{if(u!=null)for(let l of u){let f=[...n,"errors",typeof l=="string"?l:l.error];typeof l=="string"?i.errorReference?.(l,f):Sj(l,{docs:kM(i,f),error:s=>{i.errorReference?.(s,[...f,"error"])}})}},examples:u=>{if(u!=null)for(let[l,f]of u.entries())ivD({nodePathForExample:[...n,{key:"examples",arrayIndex:l}],visitor:i,service:r,endpoint:t,example:f})},pagination:ru,source:ru,transport:ru})}function ivD({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))vxe({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"]))vxe({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"]))vxe({example:o,visitor:t,nodePath:l});let f=[...e,"request"];t.exampleRequest?.({service:r,endpoint:i,example:n.request},f),n.request!=null&&vxe({example:n.request,visitor:t,nodePath:f});let s=[...e,"response"];if(t.exampleResponse?.({service:r,endpoint:i,example:n.response},s),n.response!=null&&gPi(i,n.response,{body:o=>{o.body!=null&&vxe({example:o.body,visitor:t,nodePath:s}),o.error!=null&&t.errorReference?.(o.error,[...s,"error"])},stream:o=>{for(let c of o.stream)vxe({example:c,visitor:t,nodePath:s})},events:o=>{for(let{data:c}of o.stream)vxe({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 Jra({pathParameters:e,visitor:t,nodePath:r}){if(e==null)return;let i=b6t(t);for(let[n,a]of Object.entries(e)){let u=[...r,n];t.pathParameter?.({pathParameterKey:n,pathParameter:a},u),ynn(a)?typeof a=="string"?t.variableReference?.(a,u):Sj(a,{docs:kM(t,u),variable:l=>t.variableReference?.(l,[...u,"variable"]),availability:ru}):typeof a=="string"?i(a,u):Sj(a,{docs:kM(t,u),type:l=>{i(l,[...u,"type"],{_default:a.default,validation:a.validation})},availability:ru,encoding:ru,default:ru,validation:ru,name:ru,audiences:ru})}}function cLp({headers:e,visitor:t,nodePath:r}){if(e==null)return;let i=b6t(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):Sj(a,{name:ru,availability:ru,type:l=>{i(l,u,{_default:a.default,validation:a.validation})},docs:kM(t,u),audiences:ru,encoding:ru,env:ru,default:ru,validation:ru})}}function lLp({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),G2s({typeName:i,declaration:n,visitor:t,nodePathForType:a})}}function G2s({typeName:e,declaration:t,visitor:r,nodePathForType:i}){let n=b6t(r);r.typeDeclaration?.({typeName:{isInlined:!1,name:e},declaration:t,nodePath:i},i);let a=u=>{if(u!=null)for(let[l,f]of u.entries()){let s=[...i,{key:"examples",arrayIndex:l}];r.exampleType?.({typeName:e,typeDeclaration:t,example:f},s),vxe({example:f.value,nodePath:s,visitor:r})}};KR(t,{alias:u=>{typeof u=="string"?n(u,i):Sj(u,{type:l=>{n(l,[...i,"type"])},docs:kM(r,i),availability:ru,audiences:ru,examples:a,validation:ru,encoding:ru,source:ru,inline:ru})},object:u=>{Sj(u,{docs:kM(r,i),extends:l=>{if(l==null)return;let f=typeof l=="string"?[l]:l;for(let s of f){let o=[...i,"extends",s];r.extension?.(s,o),n(s,o)}},properties:l=>{if(l!=null)for(let[f,s]of Object.entries(l)){let o=[...i,"properties",f];typeof s=="string"?n(s,o):Sj(s,{name:ru,docs:kM(r,o),availability:ru,type:c=>{n(c,[...o,"type"],{_default:s.default,validation:s.validation})},audiences:ru,encoding:ru,default:ru,validation:ru})}},"extra-properties":ru,availability:ru,audiences:ru,encoding:ru,source:ru,examples:a,inline:ru})},discriminatedUnion:u=>{Sj(u,{docs:kM(r,i),discriminant:ru,extends:l=>{if(l==null)return;let f=typeof l=="string"?[l]:l;for(let s of f){let o=[...i,"extends",s];r.extension?.(s,o),n(s,o)}},union:l=>{for(let[f,s]of Object.entries(l)){let o=[...i,"union",f];typeof s=="string"?n(s,o):Sj(s,{docs:kM(r,o),name:ru,key:ru,type:c=>{typeof c=="string"&&n(c,[...i,"type"])},"display-name":ru,availability:ru})}},"base-properties":ru,availability:ru,audiences:ru,encoding:ru,source:ru,examples:a,inline:ru})},undiscriminatedUnion:u=>{Sj(u,{docs:kM(r,i),discriminated:ru,union:l=>{for(let[f,s]of l.entries()){let o=[...i,`union[${f}]`];typeof s!="string"&&Sj(s,{docs:kM(r,o),type:c=>{n(c,[...i,"type"])},"display-name":ru})}},availability:ru,audiences:ru,encoding:ru,source:ru,examples:a,inline:ru})},enum:u=>{Sj(u,{docs:kM(r,i),enum:l=>{for(let f of l){let s=[...i,typeof f=="string"?f:f.name??f.value];typeof f!="string"&&Sj(f,{docs:kM(r,s),name:ru,value:ru,casing:ru})}},availability:ru,audiences:ru,default:ru,encoding:ru,source:ru,examples:a,inline:ru})}})}function fLp({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),nvD({errorName:i,declaration:n,visitor:t,nodePathForError:a})}}function nvD({errorName:e,declaration:t,visitor:r,nodePathForError:i}){let n=b6t(r);typeof t=="string"?n(t,i):Sj(t,{docs:kM(r,i),"status-code":ru,type:a=>{if(a==null)return;let u=[...i,"type"];typeof a=="string"?n(a,u):G2s({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 dLp({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 pLp({webhook:e,visitor:t,nodePathForWebhook:r}){let i=b6t(t);Sj(e,{"display-name":ru,method:ru,examples:ru,headers:n=>{avD({headers:n,visitor:t,nodePath:[...r,"headers"]})},payload:n=>{let a=[...r,"payload"];if(typeof n=="string"){i(n,a,{location:"requestReference"});return}if(ovD(n)){i(n.type,[...a,"type"],{location:"requestReference"});return}let u=[...a];t.typeDeclaration?.({typeName:{isInlined:!0,location:"inlinedRequest"},declaration:n},u),Sj(n,{name:ru,extends:l=>{if(l==null)return;let f=typeof l=="string"?[l]:l;for(let s of f){let o=[...u,"extends",s];t.extension?.(s,o),i(s,o)}},properties:l=>{if(l!=null)for(let[f,s]of Object.entries(l)){let o=[...u,"properties",f];typeof s=="string"?i(s,o,{location:cU.InlinedRequestProperty}):Sj(s,{name:ru,docs:kM(t,o),availability:ru,type:c=>{i(c,[...o,"type"],{_default:s.default,validation:s.validation,location:cU.InlinedRequestProperty})},audiences:ru,encoding:ru,default:ru,validation:ru})}}})},audiences:ru,availability:ru,docs:kM(t,r)})}function avD({headers:e,visitor:t,nodePath:r}){if(e==null)return;let i=b6t(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):Sj(a,{name:ru,availability:ru,type:l=>{i(l,u,{_default:a.default,validation:a.validation})},docs:kM(t,u),audiences:ru,encoding:ru,env:ru,default:ru,validation:ru})}}function ovD(e){return e.type!=null}function lU(e,t){Sj(e,{docs:kM(t,[]),imports:r=>{dLp({imports:r,visitor:t,nodePath:["imports"]})},types:r=>{lLp({typeDeclarations:r,visitor:t,nodePath:["types"]})},service:r=>{r!=null&&sLp({service:r,visitor:t,nodePath:["service"]})},webhooks:r=>{for(let[i,n]of Object.entries(r??{}))pLp({webhook:n,visitor:t,nodePathForWebhook:["webhooks",i]})},channel:ru,errors:r=>{fLp({errorDeclarations:r,visitor:t,nodePath:["errors"]})}})}function Q2s(e,t){Sj(e,{docs:ru,imports:ru,types:ru,service:ru,webhooks:ru,errors:ru,channel:ru,export:r=>{t.export?.(typeof r=="string"?r:r?.dependency,["export"])},navigation:r=>{t.navigation?.(r,["navigation"])}})}function J2s(e,t){t.file?.(e,[]),Sj(e,{version:ru,name:ru,"default-url":ru,"display-name":ru,imports:ru,auth:ru,"idempotency-headers":ru,"auth-schemes":r=>Object.entries(r??{}).map(([i,n])=>{Qes(n)&&t.oauth?.({name:i,oauth:n},["auth-scheme",i])}),pagination:ru,"default-environment":r=>{t.defaultEnvironment?.(r,["default-environment"])},docs:ru,headers:ru,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:ru,errors:r=>{if(r!=null)for(let i of r)t.errorReference?.(i,["errors",i])},"base-path":ru,"path-parameters":r=>{Jra({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 x1o=new RegExp("^[a-zA-Z][a-zA-Z0-9_]*$");function _Lp({relativeFilepath:e,contents:t,allRuleVisitors:r,addViolations:i}){function n(a){let u=(l,f)=>{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:f,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 hLp({relativeFilepath:e,contents:t,allRuleVisitors:r,addViolations:i}){function n(a){let u=(l,f)=>{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:f,message:b.message})))}}};return{[a]:u}}return{...n("export"),...n("navigation")}}function yLp({relativeFilepath:e,contents:t,allRuleVisitors:r,addViolations:i}){function n(a){let u=(l,f)=>{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:f,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 K2s={name:"content-type-only-for-multipart",DISABLE_RULE:!1,create:()=>({definitionFile:{httpEndpoint:({endpoint:e})=>{if(e.request==null)return[];if(bPi(e.request)!=null)return[];if(typeof e.request!="string"&&e.request.body!=null&&oT(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 Y2s={name:"import-file-exists",create:({workspace:e})=>{let t=Object.keys(J8r(e.definition)),r=new Set;return t.forEach(i=>{let n=ku(e.definition.absoluteFilePath,yo.of(i));r.add(n)}),{definitionFile:{import:({importedAs:i,importPath:n},{relativeFilepath:a})=>{let u=[],l=ku(e.definition.absoluteFilePath,Mp(a),yo.of(n));return r.has(l)||u.push({severity:"fatal",message:`Import ${Su.bold(i)} points to non-existent path ${Su.bold(n)}.`}),u}}}}};function I1o(e){return e.definition.rootApiFile.contents.environments==null?[]:Object.values(e.definition.rootApiFile.contents.environments).reduce((t,r)=>{if(hnn(r))for(let i of Object.keys(r.urls))t.includes(i)||t.push(i);return t},[])}var X2s={name:"matching-environment-urls",create:({workspace:e})=>{let t=I1o(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 ${Su.bold(u)}`})};return W6r(i,{singleBaseUrl:()=>{for(let u of t)a(u)},multipleBaseUrls:u=>{for(let l of t)u.urls[l]==null&&a(l)}}),n}}}}};var Z2s={name:"no-circular-imports",DISABLE_RULE:!0,create:({workspace:e})=>{let t=uvD(e.definition.namedDefinitionFiles);return{definitionFile:{import:({importPath:r},{relativeFilepath:i})=>{let n=t[i];if(n==null)return[];let a=_ri({referencedIn:i,importPath:yo.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 uvD(e){let t={};for(let r of z3t(e))t[r]=vLp(r,[r],e);return t}function vLp(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=_ri({referencedIn:e,importPath:yo.of(a)});t.includes(u)?t[0]===u&&t[0]===svD(t)&&i.push({startingFilepath:u,chainWithoutStartingFilepath:t.slice(1)}):i.push(...vLp(u,[...t,u],r))}return i}function svD(e){return e.reduce((t,r)=>r<t?r:t)}var cD=JQt({generationLanguage:void 0,keywords:void 0,smartCasing:!1});var z1o=class{workspace;typeResolver;constructor(t){this.workspace=t,this.typeResolver=new uS(t)}isTypeComplex(t,r){let i=Gb({relativeFilepath:r.relativeFilepath,definitionFile:r.contents,casingsGenerator:cD,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:Xo(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:Xo(t)}}isNamedTypeComplex({type:t,file:r,visited:i}){if(i.has(t.rawName))return!1;if(i.add(t.rawName),_Xr(t.declaration))return!0;if(M7t(t.declaration))return!1;if(E1(t.declaration))return this.objectHasComplexProperties({typeName:t.rawName,objectDeclaration:t.declaration,file:r,visited:i});if(vnn(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}Xo(t.declaration)}objectHasComplexProperties({typeName:t,objectDeclaration:r,file:i,visited:n}){return _6t({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:Xo(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:Xo(t)}}};var k2s={name:"no-complex-query-params",create:({workspace:e})=>{let t=new z1o(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 e6s={name:"no-conflicting-endpoint-parameters",create:()=>({definitionFile:{pathParameter:({pathParameterKey:e})=>e===mjo?[{severity:"fatal",message:`Path parameter ${Su.bold(e)} is not suitable for code generation, because it can conflict with the request body parameter.`}]:[]}})};function Kra({service:e,endpoint:t}){return e["base-path"]+t.path}var R1o=class{root=new t6s;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 Kra({service:t.service,endpoint:t.endpoint}).split("/").filter(r=>r.length>0)}},t6s=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 r6s={name:"no-conflicting-endpoint-paths",create:({workspace:e})=>{let t=new R1o;return dF(e,(r,i)=>{lU(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 ${Kra({service:r,endpoint:i})} conflicts with other endpoints:`,...u.map(l=>` - ${l.relativeFilepath} -> ${l.endpointId} ${Su.dim(Kra({service:l.service,endpoint:l.endpoint}))}`)].join(`
|
|
1966
1966
|
`)}]}}}}};var i6s={name:"no-conflicting-request-wrapper-properties",create:({workspace:e})=>({definitionFile:{httpEndpoint:({endpoint:t,service:r},{contents:i,relativeFilepath:n})=>{let a=cvD({endpoint:t,service:r,relativeFilepath:n,definitionFile:i,workspace:e}),u=[];for(let[l,f]of Object.entries(a))f.length<=1||u.push({severity:"fatal",message:`Multiple request properties have the name ${Su.bold(l)}. This is not suitable for code generation. Use the "name" property to deconflict.
|
|
1967
1967
|
`+f.map(s=>` - ${lvD(s)}`).join(`
|
|
1968
1968
|
`)});return u}}})};function cvD({endpoint:e,service:t,relativeFilepath:r,definitionFile:i,workspace:n}){let a={},u=(l,f)=>{(a[l]??=[]).push(f)};if(e.request!=null&&typeof e.request!="string"&&e.request.body!=null&&!oT(e.request.body)&&Pjo({request:e.request,file:Gb({relativeFilepath:r,definitionFile:i,casingsGenerator:cD,rootApiFile:n.definition.rootApiFile.contents}),typeResolver:new uS(n)})&&u(dra,{type:"referenced-body",propertyName:dra}),t.headers!=null)for(let[l,f]of Object.entries(t.headers))u(YQt({headerKey:l,header:f}).name,{type:"service-header",headerKey:l,header:f});if(e.request!=null&&typeof e.request!="string"){if(e.request.headers!=null)for(let[l,f]of Object.entries(e.request.headers))u(YQt({headerKey:l,header:f}).name,{type:"endpoint-header",headerKey:l,header:f});if(e.request["query-parameters"]!=null)for(let[l,f]of Object.entries(e.request["query-parameters"]))u(w5r({queryParameterKey:l,queryParameter:f}).name,{type:"endpoint-query-parameter",queryParameterKey:l,queryParameter:f});if(e.request.body!=null&&oT(e.request.body)){let l=_6t({typeName:void 0,objectDeclaration:{extends:e.request.body.extends,properties:e.request.body.properties??{}},filepathOfDeclaration:r,definitionFile:i,workspace:n,typeResolver:new uS(n),smartCasing:!1});for(let f of l)u(f.name,{type:"inlined-body",property:f})}}return a}function lvD(e){switch(e.type){case"service-header":return`Service header "${e.headerKey}"`;case"endpoint-header":return`Endpoint header "${e.headerKey}"`;case"endpoint-query-parameter":return`Query Parameter "${e.queryParameterKey}"`;case"inlined-body":return`Body property: ${$_n({property:e.property,prefixBreadcrumbs:["<Request Body>"]})}`;case"referenced-body":return`Body property "${e.propertyName}"`;default:Xo(e)}}var n6s=Di(require("path"),1);var a6s={name:"no-duplicate-declarations",create:({workspace:e,logger:t})=>{let r=fvD(e),i={},n=({declaredName:a,relativeFilepath:u})=>{let l=n6s.default.dirname(u),f=r[l]?.[a];if(f==null)return t.error(`Could not find declarations for name: ${a}. This is an error in the Fern validator.`),[];let s=i[l]??=new Set;if(!s.has(a))return s.add(a),[];let o=f.indexOf(u);return f.filter((b,g)=>g!==o).map(b=>({severity:"fatal",message:`${a} is already declared in ${b===u?"this file":b}`}))};return{definitionFile:{typeName:(a,{relativeFilepath:u})=>n({declaredName:a,relativeFilepath:u}),errorDeclaration:({errorName:a},{relativeFilepath:u})=>n({declaredName:a,relativeFilepath:u}),httpEndpoint:({endpoint:a},{relativeFilepath:u})=>typeof a.request!="string"&&a.request?.name!=null?n({declaredName:a.request.name,relativeFilepath:u}):[]}}}};function fvD(e){let t={};return dF(e,(r,i)=>{let n=n6s.default.dirname(r),a=t[n]??={},u=l=>{(a[l]??=[]).push(r)};lU(i,{typeName:l=>{u(l)},errorDeclaration:({errorName:l})=>{u(l)},httpEndpoint:({endpoint:l})=>{typeof l.request!="string"&&l.request?.name!=null&&u(l.request.name)}})}),t}function Yra(e){let t=new Set,r=new Set,i=[];for(let n of e)t.has(n)&&!r.has(n)&&(r.add(n),i.push(n)),t.add(n);return i}var o6s={name:"no-duplicate-enum-values",create:()=>({definitionFile:{typeDeclaration:({declaration:e})=>M7t(e)?Yra(e.enum.map(r=>typeof r=="string"?r:r.value)).map(r=>({severity:"fatal",message:`Duplicated enum value: ${Su.bold(r)}.`})):[]}})};var u6s={name:"no-duplicate-example-names",create:()=>({definitionFile:{typeDeclaration:({declaration:e})=>{if(typeof e=="string"||e.examples==null)return[];let t=e.examples.map(r=>r.name).filter(dg);return Yra(t).map(r=>({severity:"fatal",message:`Duplicate example name: ${r}`}))},httpEndpoint:({endpoint:e})=>{if(e.examples==null)return[];let t=e.examples.map(r=>r.name).filter(dg);return Yra(t).map(r=>({severity:"fatal",message:`Duplicate example name: ${r}`}))}}})};function bLp(e){if(!e.isInlined)return e.name;switch(e.location){case"inlinedRequest":return"<Inlined Request>";default:Xo(e.location)}}var s6s={name:"no-duplicate-field-names",create:({workspace:e})=>{let t=new uS(e);return{definitionFile:{typeDeclaration:({typeName:r,declaration:i},{relativeFilepath:n,contents:a})=>{let u=[];return KR(i,{alias:R3t,enum:l=>{let f=gLp(l.enum,s=>K_n(s).name);for(let s of f)u.push({severity:"fatal",message:`Name "${s}" is used by multiple values.`})},object:l=>{let f=bLp(r),s=_6t({typeName:f,objectDeclaration:l,filepathOfDeclaration:n,definitionFile:a,workspace:e,typeResolver:t,smartCasing:!1}),o=m$u(s,c=>c.name);for(let[c,b]of Object.entries(o))if(b.length>1){let g=[`Object has multiple properties named "${c}":`,...b.map(O=>` - ${$_n({property:O,prefixBreadcrumbs:[f]})}`)].join(`
|