fern-api 0.62.2 → 0.62.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/cli.cjs +4 -4
  2. package/package.json +1 -1
package/cli.cjs CHANGED
@@ -1701,7 +1701,7 @@ ${c.indent}`:""}${CXf(o)}:${l.indent?" ":""}`;return u=!1,s=!0,l.objectItem=void
1701
1701
  `}),r.replaceAll(/\n$/g,"")}function N8S(e){return e?wh.green(N7.radioOn):N7.radioOff}var ZPo=oi(fDe(),1);function Gfp(e,t){return e=String(e),t=typeof t=="string"?t:"*",e.length===0?"":Array.from({length:e.length+1}).join(t)}var Lla=class extends G2{_run(t){this.done=t;let r=MV(this.rl),i=r.line.pipe((0,ZPo.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,ZPo.takeUntil)(n.success)).forEach(this.onKeypress.bind(this)),this.render(),this}render(t){let r=this.getQuestion(),i="";r+=this.status==="answered"?this.getMaskedValue(this.answer):this.getMaskedValue(this.rl.line||""),t&&(i=`
1702
1702
  `+wh.red(">> ")+t),this.screen.render(r,i)}getMaskedValue(t){return this.status==="answered"?this.opt.mask?wh.cyan(Gfp(t,this.opt.mask)):wh.italic.dim("[hidden]"):this.opt.mask?Gfp(t,this.opt.mask):wh.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 ypp=oi(Yzs(),1),vpp=oi(fDe(),1);var Yla=class extends G2{_run(t){this.done=t,this.editorResult=new vpp.Subject;let r=MV(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"?wh.dim("Received"):wh.dim("Press <enter> to launch your preferred editor."),t&&(r=wh.red(">> ")+t),this.screen.render(i,r)}startExternalEditor(){this.rl.pause(),(0,ypp.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 kpp=oi(Jpp(),1);var Xpp=oi(require("readline"),1),Zpp=oi(Ypp(),1),qzi=class{constructor(t){this.rl||=Xpp.default.createInterface(e9S(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 e9S(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 Zpp.default;return r.pipe(e.output||process.stdout),{terminal:!0,...e,input:t,output:r}}var kla=class extends qzi{constructor(t={}){super(t),this.log=(0,kpp.default)(this.writeLog.bind(this)),this.bottomBar=t.bottomBar||"",this.render()}render(){return this.write(this.bottomBar),this}clean(){return Cla(this.rl,this.bottomBar.split(`
1703
1703
  `).length),this}updateBottomBar(t){return Cla(this.rl,1),this.rl.output.unmute(),this.clean(),this.bottomBar=t,this.render(),this.rl.output.mute(),this}writeLog(t){return this.rl.output.unmute(),this.clean(),this.rl.output.write(this.enforceLF(t.toString())),this.render(),this.rl.output.mute(),this}enforceLF(t){return/[\n\r]$/.test(t)?t:t+`
1704
- `}write(t){let r=t.split(/\n/);this.height=r.length,this.rl.setPrompt(r.at(-1)),this.rl.output.rows===0&&this.rl.output.columns===0&&JPo(this.rl,t.length+this.rl.line.length),this.rl.output.write(t)}};var c_p=oi(r_p(),1),l_p=oi(nIs(),1),f_p=oi(u_p(),1),oq=oi(fDe(),1),d_p=oi(Uca(),1);var Pjo=oi(fDe(),1),s_p=oi(Uca(),1),jjo=function(e,t,r){return typeof e[t]!="function"?(0,Pjo.of)(e):(0,Pjo.from)((0,s_p.default)(e[t])(r).then(i=>(e[t]=i,e)))};var efa={isPlainObject:c_p.default,set:f_p.default,get:l_p.default},APn=class extends qzi{constructor(t,r){super(r),this.prompts=t}run(t,r){this.answers=efa.isPlainObject(r)?{...r}:{},efa.isPlainObject(t)&&(t=Object.values(t).every(n=>efa.isPlainObject(n)&&n.name===void 0)?Object.entries(t).map(([n,a])=>({name:n,...a})):[t]);let i=Array.isArray(t)?(0,oq.from)(t):t;return this.process=i.pipe((0,oq.concatMap)(this.processQuestion.bind(this)),(0,oq.publish)()),this.process.connect(),this.process.pipe((0,oq.reduce)((n,a)=>(efa.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,oq.defer)(()=>(0,oq.of)(t).pipe((0,oq.concatMap)(this.setDefaultType.bind(this)),(0,oq.concatMap)(this.filterIfRunnable.bind(this)),(0,oq.concatMap)(()=>jjo(t,"message",this.answers)),(0,oq.concatMap)(()=>jjo(t,"default",this.answers)),(0,oq.concatMap)(()=>jjo(t,"choices",this.answers)),(0,oq.concatMap)(this.fetchAnswer.bind(this))))}fetchAnswer(t){let r=this.prompts[t.type];return this.activePrompt=new r(t,this.rl,this.answers),(0,oq.defer)(()=>(0,oq.from)(this.activePrompt.run().then(i=>({name:t.name,answer:i}))))}setDefaultType(t){return this.prompts[t.type]||(t.type="input"),(0,oq.defer)(()=>(0,oq.of)(t))}filterIfRunnable(t){if(t.askAnswered!==!0&&efa.get(this.answers,t.name)!==void 0)return(0,oq.empty)();if(t.when===!1)return(0,oq.empty)();if(typeof t.when!="function")return(0,oq.of)(t);let{answers:r}=this;return(0,oq.defer)(()=>(0,oq.from)((0,d_p.default)(t.when)(r).then(i=>{if(i)return t})).pipe((0,oq.filter)(i=>i!=null)))}};function p_p(e){let t=function(r,i){let n;try{n=new APn(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",xla),this.registerPrompt("input",mzi),this.registerPrompt("number",Ila),this.registerPrompt("confirm",zla),this.registerPrompt("rawlist",Rla),this.registerPrompt("expand",Nla),this.registerPrompt("checkbox",Fla),this.registerPrompt("password",Lla),this.registerPrompt("editor",Yla)},t.restoreDefaultPrompts(),t}var uRs=p_p();function b9S(e,t){uRs.registerPrompt(e,t)}function g9S(){uRs.restoreDefaultPrompts()}var O9S={prompt:uRs,ui:{BottomBar:kla,Prompt:APn},createPromptModule:p_p,registerPrompt:b9S,restoreDefaultPrompts:g9S,Separator:Xie},wjo=O9S;var jhp=oi(__p()),QUS="4.2.1",N5t;(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"})(N5t||(N5t={}));function JUS(e,t){if(!e)throw new Error(t)}function KUS(e){return e?.replace(/\/+$/,"")}async function YUS(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 XUS(){return new Date().getTime()}function hhp(){return new Date().toISOString()}function whp(e,t){let r=setTimeout(e,t);return r?.unref&&r?.unref(),r}var ffa=String.fromCharCode,yhp="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Fjo={};function ZUS(e,t){if(!Fjo[e]){Fjo[e]={};for(let r=0;r<e.length;r++)Fjo[e][e.charAt(r)]=r}return Fjo[e][t]}var dfa={compressToBase64:function(e){if(e==null)return"";let t=dfa._compress(e,6,function(r){return yhp.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:dfa._decompress(e.length,32,function(t){return ZUS(yhp,e.charAt(t))})},compress:function(e){return dfa._compress(e,16,function(t){return ffa(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,P;for(P=0;P<e.length;P+=1)if(f=e.charAt(P),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:dfa._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,P;for(o=0;o<3;o+=1)i[o]=o;for(b=0,O=Math.pow(2,2),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;switch(b){case 0:for(b=0,O=Math.pow(2,8),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;P=ffa(b);break;case 1:for(b=0,O=Math.pow(2,16),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;P=ffa(b);break;case 2:return""}for(i[3]=P,c=P,n.push(P);;){if(a.index>e)return"";for(b=0,O=Math.pow(2,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(P=b){case 0:for(b=0,O=Math.pow(2,8),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;i[l++]=ffa(b),P=l-1,u--;break;case 1:for(b=0,O=Math.pow(2,16),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;i[l++]=ffa(b),P=l-1,u--;break;case 2:return n.join("")}if(u==0&&(u=Math.pow(2,f),f++),i[P])s=i[P];else if(P===l)s=c+c.charAt(0);else return null;n.push(s),i[l++]=c+s.charAt(0),u--,c=s,u==0&&(u=Math.pow(2,f),f++)}}},$Rs=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 Ljo="0123456789abcdef",Ujo=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+=Ljo.charAt(this.bytes[r]>>>4),t+=Ljo.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+=Ljo.charAt(this.bytes[r]>>>4),t+=Ljo.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}},GRs=class{constructor(t){this.timestamp=0,this.counter=0,this.random=t??kUS()}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 Ujo.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,Ujo.ofInner(t)}},kUS=()=>({nextUint32:()=>Math.trunc(Math.random()*65536)*65536+Math.trunc(Math.random()*65536)}),vhp,bhp=()=>eVS().toString(),eVS=()=>(vhp||(vhp=new GRs)).generate(),Vjo=class extends Error{constructor(t){super("HTTP error while fetching PostHog: "+t.status),this.response=t,this.name="PostHogFetchHttpError"}},pfa=class extends Error{constructor(t){super("Network error while fetching PostHog",t instanceof Error?{cause:t}:{}),this.error=t,this.name="PostHogFetchNetworkError"}};function ghp(e){return typeof e=="object"&&(e instanceof Vjo||e instanceof pfa)}var QRs=class{constructor(t,r){this.flushPromise=null,this.disableGeoip=!0,this.historicalMigration=!1,this.disabled=!1,this.defaultOptIn=!0,this.pendingPromises={},this._events=new $Rs,this._isInitialized=!1,JUS(t,"You must pass your PostHog project's api key."),this.apiKey=t,this.host=KUS(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:ghp},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(N5t.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty(N5t.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty(N5t.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=bhp();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:hhp(),uuid:i?.uuid?i.uuid:bhp()};(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(N5t.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(N5t.Queue,u),this._events.emit(t,n),u.length>=this.flushAt&&this.flushBackground(),this.flushInterval&&!this._flushTimer&&(this._flushTimer=whp(()=>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(N5t.Queue)||[];if(!t.length)return[];let r=t.slice(0,this.maxBatchSize),i=r.map(s=>s.message),n=()=>{let s=this.getPersistedProperty(N5t.Queue)||[];this.setPersistedProperty(N5t.Queue,s.slice(r.length))},a={api_key:this.apiKey,batch:i,sent_at:hhp()};this.historicalMigration&&(a.historical_migration=!0);let u=JSON.stringify(a),l=this.captureMode==="form"?`${this.host}/e/?ip=1&_=${XUS()}&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(dfa.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 pfa||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 YUS(async()=>{let u=null;try{u=await this.fetch(t,{signal:AbortSignal.timeout(n??this.requestTimeout),...r})}catch(f){throw new pfa(f)}if(!(r.mode==="no-cors")&&(u.status<200||u.status>=400))throw new Vjo(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(N5t.Queue)||[]).length!==0;){await this.flush();let n=Date.now();if(r<n)break}}catch(r){if(!ghp(r))throw r;this.logMsgIfDebug(()=>console.error("Error while shutting down PostHog",r))}}},JRs=class{constructor(){this._memoryStorage={}}getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}},KRs=typeof fetch<"u"?fetch:typeof global.fetch<"u"?global.fetch:void 0;if(!KRs){let e=_hp();KRs=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 Shp=KRs,tVS=1152921504606847e3,rVS=["is_not"],Wjo=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},Q2=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},YRs=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||Shp,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 Q2?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 Q2||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 Q2("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 Q2("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 Q2)u=!0;else throw o}if(l!==void 0)return l;if(u)throw new Q2("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=Ehp(l,n,this.cohorts,this.debugMode):s=Dhp(l,n,u),!s)return!1}if(a==null)return!0}return!(a!=null&&Ohp(t.key,r)>a/100)}getMatchingVariant(t,r){let i=Ohp(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 Wjo("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 Wjo&&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=whp(()=>{n.abort()},this.timeout),r.signal=n.signal}try{return await this.fetch(t,r)}finally{clearTimeout(i)}}stopPoller(){clearTimeout(this.poller)}};function Ohp(e,t,r=""){let i=(0,jhp.createHash)();return i.update(`${e}.${t}${r}`),parseInt(i.digest("hex").slice(0,15),16)/tVS}function Dhp(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 Q2("Operator is_not_set is not supported")}else throw new Q2(`Property ${i} not found in propertyValues`);let u=t[i];if(u==null&&!rVS.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 mhp(String(n))&&String(u).match(String(n))!==null;case"not_regex":return mhp(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=iVS(String(n));if(s==null&&(s=Php(n)),s==null)throw new Q2(`Invalid date: ${n}`);let o=Php(u);return["is_date_before"].includes(a)?o<s:o>s}default:throw new Q2(`Unknown operator: ${a}`)}}function Ehp(e,t,r,i=!1){let n=String(e.value);if(!(n in r))throw new Q2("can't match cohort without a given cohort property value");let a=r[n];return Mhp(a,t,r,i)}function Mhp(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=Mhp(l,t,r,i);if(n==="AND"){if(!f)return!1}else if(f)return!0}catch(f){if(f instanceof Q2)i&&console.debug(`Failed to compute property ${l} locally: ${f}`),u=!0;else throw f}if(u)throw new Q2("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=Ehp(l,t,r,i):f=Dhp(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 Q2)i&&console.debug(`Failed to compute property ${l} locally: ${f}`),u=!0;else throw f}if(u)throw new Q2("can't match cohort without a given cohort property value");return n==="AND"}}function mhp(e){try{return new RegExp(e),!0}catch{return!1}}function Php(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 Q2(`${e} is in an invalid date format`)}else throw new Q2(`The date provided ${e} must be a string, number, or date object`)}function iVS(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 nVS=30*1e3,aVS=50*1e3,zPn=class extends QRs{constructor(t,r={}){super(t,r),this._memoryStorage=new JRs,this.options=r,r.personalApiKey&&(this.featureFlagsPoller=new YRs({pollingInterval:typeof r.featureFlagsPollingInterval=="number"?r.featureFlagsPollingInterval:nVS,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||aVS}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):Shp(t,r)}getLibraryId(){return"posthog-node"}getLibraryVersion(){return QUS}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,P]of Object.entries(b))g[`$feature/${m}`]=P;let O=Object.keys(b||{}).filter(m=>b?.[m]!==!1);return O.length>0&&(g.$active_feature_flags=O),g}).catch(()=>({})).then(b=>{s({...b,...i,$groups:n})});this.addPendingPromise(c)}identify({distinctId:t,properties:r,disableGeoip:i}){let n=r?.$set||r;super.identifyStateless(t,{$set:n},{disableGeoip:i})}alias(t){super.aliasStateless(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}async getFeatureFlag(t,r,i){let{groups:n,disableGeoip:a}=i||{},{onlyEvaluateLocally:u,sendFeatureFlagEvents:l,personProperties: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}}},XRs=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})}};XRs.POSTHOG_ID_TAG="posthog_distinct_id";var Hjo=class{posthog;constructor({posthogApiKey:t}){this.posthog=new zPn(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"0.62.2",usingAccessToken:!0}})}async flush(){await this.posthog.flush()}};var _fa=class{async sendEvent(){}async identify(){}async flush(){}};var RPn=require("fs/promises"),Chp=require("os"),Bhp=require("path");var Ahp=oi(require("crypto")),Gjo=new Uint8Array(256),$jo=Gjo.length;function ZRs(){return $jo>Gjo.length-16&&(Ahp.default.randomFillSync(Gjo),$jo=0),Gjo.slice($jo,$jo+=16)}var TV=[];for(let e=0;e<256;++e)TV.push((e+256).toString(16).slice(1));function qhp(e,t=0){return TV[e[t+0]]+TV[e[t+1]]+TV[e[t+2]]+TV[e[t+3]]+"-"+TV[e[t+4]]+TV[e[t+5]]+"-"+TV[e[t+6]]+TV[e[t+7]]+"-"+TV[e[t+8]]+TV[e[t+9]]+"-"+TV[e[t+10]]+TV[e[t+11]]+TV[e[t+12]]+TV[e[t+13]]+TV[e[t+14]]+TV[e[t+15]]}var Thp=oi(require("crypto")),kRs={randomUUID:Thp.default.randomUUID};function oVS(e,t,r){if(kRs.randomUUID&&!t&&!e)return kRs.randomUUID();e=e||{};let i=e.random||(e.rng||ZRs)();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 qhp(i)}var rne=oVS;var uVS="id",sVS=".fern",hfa=class{posthog;userId;constructor({token:t,posthogApiKey:r}){this.posthog=new zPn(r),this.userId=t==null?void 0:uqs(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.62.2",...t,...t.properties}})}async flush(){await this.posthog.flush()}persistedDistinctId;async getPersistedDistinctId(){if(this.persistedDistinctId==null){let t=Lu(Vl.of((0,Chp.homedir)()),Ja.of(sVS),Ja.of(uVS));await Mf(t)||(await(0,RPn.mkdir)((0,Bhp.dirname)(t),{recursive:!0}),await(0,RPn.writeFile)(t,rne())),this.persistedDistinctId=(await(0,RPn.readFile)(t)).toString()}return this.persistedDistinctId}};var eNs;async function NPn(){return eNs==null&&(eNs=await cVS()),eNs}async function cVS(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new _fa;let r=await Jvo();return r!=null?new hfa({token:r,posthogApiKey:e}):await SOn()!=null?new Hjo({posthogApiKey:e}):new hfa({token:void 0,posthogApiKey:e})}catch{return new _fa}}function yfa(e,t){return function(){return e.apply(t,arguments)}}var{toString:lVS}=Object.prototype,{getPrototypeOf:rNs}=Object,Jjo=(e=>t=>{let r=lVS.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),F5t=e=>(e=e.toLowerCase(),t=>Jjo(t)===e),Kjo=e=>t=>typeof t===e,{isArray:FPn}=Array,vfa=Kjo("undefined");function fVS(e){return e!==null&&!vfa(e)&&e.constructor!==null&&!vfa(e.constructor)&&pDe(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var Ihp=F5t("ArrayBuffer");function dVS(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Ihp(e.buffer),t}var pVS=Kjo("string"),pDe=Kjo("function"),zhp=Kjo("number"),Yjo=e=>e!==null&&typeof e=="object",_VS=e=>e===!0||e===!1,Qjo=e=>{if(Jjo(e)!=="object")return!1;let t=rNs(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},hVS=F5t("Date"),yVS=F5t("File"),vVS=F5t("Blob"),bVS=F5t("FileList"),gVS=e=>Yjo(e)&&pDe(e.pipe),OVS=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||pDe(e.append)&&((t=Jjo(e))==="formdata"||t==="object"&&pDe(e.toString)&&e.toString()==="[object FormData]"))},mVS=F5t("URLSearchParams"),[PVS,jVS,wVS,SVS]=["ReadableStream","Request","Response","Headers"].map(F5t),DVS=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function bfa(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let i,n;if(typeof e!="object"&&(e=[e]),FPn(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 Rhp(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 Izi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Nhp=e=>!vfa(e)&&e!==Izi;function tNs(){let{caseless:e}=Nhp(this)&&this||{},t={},r=(i,n)=>{let a=e&&Rhp(t,n)||n;Qjo(t[a])&&Qjo(i)?t[a]=tNs(t[a],i):Qjo(i)?t[a]=tNs({},i):FPn(i)?t[a]=i.slice():t[a]=i};for(let i=0,n=arguments.length;i<n;i++)arguments[i]&&bfa(arguments[i],r);return t}var EVS=(e,t,r,{allOwnKeys:i}={})=>(bfa(t,(n,a)=>{r&&pDe(n)?e[a]=yfa(n,r):e[a]=n},{allOwnKeys:i}),e),MVS=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),AVS=(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)},qVS=(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&&rNs(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},TVS=(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},CVS=e=>{if(!e)return null;if(FPn(e))return e;let t=e.length;if(!zhp(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},BVS=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&rNs(Uint8Array)),xVS=(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])}},IVS=(e,t)=>{let r,i=[];for(;(r=e.exec(t))!==null;)i.push(r);return i},zVS=F5t("HTMLFormElement"),RVS=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,i,n){return i.toUpperCase()+n}),xhp=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),NVS=F5t("RegExp"),Fhp=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),i={};bfa(r,(n,a)=>{let u;(u=t(n,a,e))!==!1&&(i[a]=u||n)}),Object.defineProperties(e,i)},FVS=e=>{Fhp(e,(t,r)=>{if(pDe(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let i=e[r];if(pDe(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+"'")})}})},LVS=(e,t)=>{let r={},i=n=>{n.forEach(a=>{r[a]=!0})};return FPn(e)?i(e):i(String(e).split(t)),r},UVS=()=>{},VVS=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function WVS(e){return!!(e&&pDe(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}var HVS=e=>{let t=new Array(10),r=(i,n)=>{if(Yjo(i)){if(t.indexOf(i)>=0)return;if(!("toJSON"in i)){t[n]=i;let a=FPn(i)?[]:{};return bfa(i,(u,l)=>{let f=r(u,n+1);!vfa(f)&&(a[l]=f)}),t[n]=void 0,a}}return i};return r(e,0)},$VS=F5t("AsyncFunction"),GVS=e=>e&&(Yjo(e)||pDe(e))&&pDe(e.then)&&pDe(e.catch),Lhp=((e,t)=>e?setImmediate:t?((r,i)=>(Izi.addEventListener("message",({source:n,data:a})=>{n===Izi&&a===r&&i.length&&i.shift()()},!1),n=>{i.push(n),Izi.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",pDe(Izi.postMessage)),QVS=typeof queueMicrotask<"u"?queueMicrotask.bind(Izi):typeof process<"u"&&process.nextTick||Lhp,ps={isArray:FPn,isArrayBuffer:Ihp,isBuffer:fVS,isFormData:OVS,isArrayBufferView:dVS,isString:pVS,isNumber:zhp,isBoolean:_VS,isObject:Yjo,isPlainObject:Qjo,isReadableStream:PVS,isRequest:jVS,isResponse:wVS,isHeaders:SVS,isUndefined:vfa,isDate:hVS,isFile:yVS,isBlob:vVS,isRegExp:NVS,isFunction:pDe,isStream:gVS,isURLSearchParams:mVS,isTypedArray:BVS,isFileList:bVS,forEach:bfa,merge:tNs,extend:EVS,trim:DVS,stripBOM:MVS,inherits:AVS,toFlatObject:qVS,kindOf:Jjo,kindOfTest:F5t,endsWith:TVS,toArray:CVS,forEachEntry:xVS,matchAll:IVS,isHTMLForm:zVS,hasOwnProperty:xhp,hasOwnProp:xhp,reduceDescriptors:Fhp,freezeMethods:FVS,toObjectSet:LVS,toCamelCase:RVS,noop:UVS,toFiniteNumber:VVS,findKey:Rhp,global:Izi,isContextDefined:Nhp,isSpecCompliantForm:WVS,toJSONObject:HVS,isAsyncFn:$VS,isThenable:GVS,setImmediate:Lhp,asap:QVS};function LPn(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)}ps.inherits(LPn,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:ps.toJSONObject(this.config),code:this.code,status:this.status}}});var Uhp=LPn.prototype,Vhp={};["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=>{Vhp[e]={value:e}});Object.defineProperties(LPn,Vhp);Object.defineProperty(Uhp,"isAxiosError",{value:!0});LPn.from=(e,t,r,i,n,a)=>{let u=Object.create(Uhp);return ps.toFlatObject(e,u,function(f){return f!==Error.prototype},l=>l!=="isAxiosError"),LPn.call(u,e.message,t,r,i,n),u.cause=e,u.name=e.name,a&&Object.assign(u,a),u};var Ep=LPn;var Whp=oi(Nna(),1),Xjo=Whp.default;function iNs(e){return ps.isPlainObject(e)||ps.isArray(e)}function $hp(e){return ps.endsWith(e,"[]")?e.slice(0,-2):e}function Hhp(e,t,r){return e?e.concat(t).map(function(n,a){return n=$hp(n),!r&&a?"["+n+"]":n}).join(r?".":""):t}function JVS(e){return ps.isArray(e)&&!e.some(iNs)}var KVS=ps.toFlatObject(ps,{},null,function(t){return/^is[A-Z]/.test(t)});function YVS(e,t,r){if(!ps.isObject(e))throw new TypeError("target must be an object");t=t||new(Xjo||FormData),r=ps.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,P){return!ps.isUndefined(P[m])});let i=r.metaTokens,n=r.visitor||o,a=r.dots,u=r.indexes,f=(r.Blob||typeof Blob<"u"&&Blob)&&ps.isSpecCompliantForm(t);if(!ps.isFunction(n))throw new TypeError("visitor must be a function");function s(O){if(O===null)return"";if(ps.isDate(O))return O.toISOString();if(!f&&ps.isBlob(O))throw new Ep("Blob is not supported. Use a Buffer instead.");return ps.isArrayBuffer(O)||ps.isTypedArray(O)?f&&typeof Blob=="function"?new Blob([O]):Buffer.from(O):O}function o(O,m,P){let E=O;if(O&&!P&&typeof O=="object"){if(ps.endsWith(m,"{}"))m=i?m:m.slice(0,-2),O=JSON.stringify(O);else if(ps.isArray(O)&&JVS(O)||(ps.isFileList(O)||ps.endsWith(m,"[]"))&&(E=ps.toArray(O)))return m=$hp(m),E.forEach(function(M,D){!(ps.isUndefined(M)||M===null)&&t.append(u===!0?Hhp([m],D,a):u===null?m:m+"[]",s(M))}),!1}return iNs(O)?!0:(t.append(Hhp(P,m,a),s(O)),!1)}let c=[],b=Object.assign(KVS,{defaultVisitor:o,convertValue:s,isVisitable:iNs});function g(O,m){if(!ps.isUndefined(O)){if(c.indexOf(O)!==-1)throw Error("Circular reference detected in "+m.join("."));c.push(O),ps.forEach(O,function(E,A){(!(ps.isUndefined(E)||E===null)&&n.call(t,E,ps.isString(A)?A.trim():A,m,b))===!0&&g(E,m?m.concat(A):[A])}),c.pop()}}if(!ps.isObject(e))throw new TypeError("data must be an object");return g(e),t}var Vfi=YVS;function Ghp(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(i){return t[i]})}function Qhp(e,t){this._pairs=[],e&&Vfi(e,this,t)}var Jhp=Qhp.prototype;Jhp.append=function(t,r){this._pairs.push([t,r])};Jhp.toString=function(t){let r=t?function(i){return t.call(this,i,Ghp)}:Ghp;return this._pairs.map(function(n){return r(n[0])+"="+r(n[1])},"").join("&")};var Khp=Qhp;function XVS(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function zzi(e,t,r){if(!t)return e;let i=r&&r.encode||XVS;ps.isFunction(r)&&(r={serialize:r});let n=r&&r.serialize,a;if(n?a=n(t,r):a=ps.isURLSearchParams(t)?t.toString():new Khp(t,r).toString(i),a){let u=e.indexOf("#");u!==-1&&(e=e.slice(0,u)),e+=(e.indexOf("?")===-1?"?":"&")+a}return e}var nNs=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){ps.forEach(this.handlers,function(i){i!==null&&t(i)})}},aNs=nNs;var UPn={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var khp=oi(require("crypto"),1);var Yhp=oi(require("url"),1),Xhp=Yhp.default.URLSearchParams;var oNs="abcdefghijklmnopqrstuvwxyz",Zhp="0123456789",eyp={DIGIT:Zhp,ALPHA:oNs,ALPHA_DIGIT:oNs+oNs.toUpperCase()+Zhp},ZVS=(e=16,t=eyp.ALPHA_DIGIT)=>{let r="",{length:i}=t,n=new Uint32Array(e);khp.default.randomFillSync(n);for(let a=0;a<e;a++)r+=t[n[a]%i];return r},typ={isNode:!0,classes:{URLSearchParams:Xhp,FormData:Xjo,Blob:typeof Blob<"u"&&Blob||null},ALPHABET:eyp,generateString:ZVS,protocols:["http","https","file","data"]};var cNs={};jn(cNs,{hasBrowserEnv:()=>sNs,hasStandardBrowserEnv:()=>kVS,hasStandardBrowserWebWorkerEnv:()=>eWS,navigator:()=>uNs,origin:()=>tWS});var sNs=typeof window<"u"&&typeof document<"u",uNs=typeof navigator=="object"&&navigator||void 0,kVS=sNs&&(!uNs||["ReactNative","NativeScript","NS"].indexOf(uNs.product)<0),eWS=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",tWS=sNs&&window.location.href||"http://localhost";var BM={...cNs,...typ};function lNs(e,t){return Vfi(e,new BM.classes.URLSearchParams,Object.assign({visitor:function(r,i,n,a){return BM.isNode&&ps.isBuffer(r)?(this.append(i,r.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)}},t))}function rWS(e){return ps.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function iWS(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 nWS(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&&ps.isArray(n)?n.length:u,f?(ps.hasOwnProp(n,u)?n[u]=[n[u],i]:n[u]=i,!l):((!n[u]||!ps.isObject(n[u]))&&(n[u]=[]),t(r,i,n[u],a)&&ps.isArray(n[u])&&(n[u]=iWS(n[u])),!l)}if(ps.isFormData(e)&&ps.isFunction(e.entries)){let r={};return ps.forEachEntry(e,(i,n)=>{t(rWS(i),n,r,0)}),r}return null}var Zjo=nWS;function aWS(e,t,r){if(ps.isString(e))try{return(t||JSON.parse)(e),ps.trim(e)}catch(i){if(i.name!=="SyntaxError")throw i}return(r||JSON.stringify)(e)}var fNs={transitional:UPn,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){let i=r.getContentType()||"",n=i.indexOf("application/json")>-1,a=ps.isObject(t);if(a&&ps.isHTMLForm(t)&&(t=new FormData(t)),ps.isFormData(t))return n?JSON.stringify(Zjo(t)):t;if(ps.isArrayBuffer(t)||ps.isBuffer(t)||ps.isStream(t)||ps.isFile(t)||ps.isBlob(t)||ps.isReadableStream(t))return t;if(ps.isArrayBufferView(t))return t.buffer;if(ps.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 lNs(t,this.formSerializer).toString();if((l=ps.isFileList(t))||i.indexOf("multipart/form-data")>-1){let f=this.env&&this.env.FormData;return Vfi(l?{"files[]":t}:t,f&&new f,this.formSerializer)}}return a||n?(r.setContentType("application/json",!1),aWS(t)):t}],transformResponse:[function(t){let r=this.transitional||fNs.transitional,i=r&&r.forcedJSONParsing,n=this.responseType==="json";if(ps.isResponse(t)||ps.isReadableStream(t))return t;if(t&&ps.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"?Ep.from(l,Ep.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:BM.classes.FormData,Blob:BM.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ps.forEach(["delete","get","head","post","put","patch"],e=>{fNs.headers[e]={}});var VPn=fNs;var oWS=ps.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"]),ryp=e=>{let t={},r,i,n;return e&&e.split(`
1704
+ `}write(t){let r=t.split(/\n/);this.height=r.length,this.rl.setPrompt(r.at(-1)),this.rl.output.rows===0&&this.rl.output.columns===0&&JPo(this.rl,t.length+this.rl.line.length),this.rl.output.write(t)}};var c_p=oi(r_p(),1),l_p=oi(nIs(),1),f_p=oi(u_p(),1),oq=oi(fDe(),1),d_p=oi(Uca(),1);var Pjo=oi(fDe(),1),s_p=oi(Uca(),1),jjo=function(e,t,r){return typeof e[t]!="function"?(0,Pjo.of)(e):(0,Pjo.from)((0,s_p.default)(e[t])(r).then(i=>(e[t]=i,e)))};var efa={isPlainObject:c_p.default,set:f_p.default,get:l_p.default},APn=class extends qzi{constructor(t,r){super(r),this.prompts=t}run(t,r){this.answers=efa.isPlainObject(r)?{...r}:{},efa.isPlainObject(t)&&(t=Object.values(t).every(n=>efa.isPlainObject(n)&&n.name===void 0)?Object.entries(t).map(([n,a])=>({name:n,...a})):[t]);let i=Array.isArray(t)?(0,oq.from)(t):t;return this.process=i.pipe((0,oq.concatMap)(this.processQuestion.bind(this)),(0,oq.publish)()),this.process.connect(),this.process.pipe((0,oq.reduce)((n,a)=>(efa.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,oq.defer)(()=>(0,oq.of)(t).pipe((0,oq.concatMap)(this.setDefaultType.bind(this)),(0,oq.concatMap)(this.filterIfRunnable.bind(this)),(0,oq.concatMap)(()=>jjo(t,"message",this.answers)),(0,oq.concatMap)(()=>jjo(t,"default",this.answers)),(0,oq.concatMap)(()=>jjo(t,"choices",this.answers)),(0,oq.concatMap)(this.fetchAnswer.bind(this))))}fetchAnswer(t){let r=this.prompts[t.type];return this.activePrompt=new r(t,this.rl,this.answers),(0,oq.defer)(()=>(0,oq.from)(this.activePrompt.run().then(i=>({name:t.name,answer:i}))))}setDefaultType(t){return this.prompts[t.type]||(t.type="input"),(0,oq.defer)(()=>(0,oq.of)(t))}filterIfRunnable(t){if(t.askAnswered!==!0&&efa.get(this.answers,t.name)!==void 0)return(0,oq.empty)();if(t.when===!1)return(0,oq.empty)();if(typeof t.when!="function")return(0,oq.of)(t);let{answers:r}=this;return(0,oq.defer)(()=>(0,oq.from)((0,d_p.default)(t.when)(r).then(i=>{if(i)return t})).pipe((0,oq.filter)(i=>i!=null)))}};function p_p(e){let t=function(r,i){let n;try{n=new APn(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",xla),this.registerPrompt("input",mzi),this.registerPrompt("number",Ila),this.registerPrompt("confirm",zla),this.registerPrompt("rawlist",Rla),this.registerPrompt("expand",Nla),this.registerPrompt("checkbox",Fla),this.registerPrompt("password",Lla),this.registerPrompt("editor",Yla)},t.restoreDefaultPrompts(),t}var uRs=p_p();function b9S(e,t){uRs.registerPrompt(e,t)}function g9S(){uRs.restoreDefaultPrompts()}var O9S={prompt:uRs,ui:{BottomBar:kla,Prompt:APn},createPromptModule:p_p,registerPrompt:b9S,restoreDefaultPrompts:g9S,Separator:Xie},wjo=O9S;var jhp=oi(__p()),QUS="4.2.1",N5t;(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"})(N5t||(N5t={}));function JUS(e,t){if(!e)throw new Error(t)}function KUS(e){return e?.replace(/\/+$/,"")}async function YUS(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 XUS(){return new Date().getTime()}function hhp(){return new Date().toISOString()}function whp(e,t){let r=setTimeout(e,t);return r?.unref&&r?.unref(),r}var ffa=String.fromCharCode,yhp="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Fjo={};function ZUS(e,t){if(!Fjo[e]){Fjo[e]={};for(let r=0;r<e.length;r++)Fjo[e][e.charAt(r)]=r}return Fjo[e][t]}var dfa={compressToBase64:function(e){if(e==null)return"";let t=dfa._compress(e,6,function(r){return yhp.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:dfa._decompress(e.length,32,function(t){return ZUS(yhp,e.charAt(t))})},compress:function(e){return dfa._compress(e,16,function(t){return ffa(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,P;for(P=0;P<e.length;P+=1)if(f=e.charAt(P),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:dfa._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,P;for(o=0;o<3;o+=1)i[o]=o;for(b=0,O=Math.pow(2,2),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;switch(b){case 0:for(b=0,O=Math.pow(2,8),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;P=ffa(b);break;case 1:for(b=0,O=Math.pow(2,16),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;P=ffa(b);break;case 2:return""}for(i[3]=P,c=P,n.push(P);;){if(a.index>e)return"";for(b=0,O=Math.pow(2,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(P=b){case 0:for(b=0,O=Math.pow(2,8),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;i[l++]=ffa(b),P=l-1,u--;break;case 1:for(b=0,O=Math.pow(2,16),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;i[l++]=ffa(b),P=l-1,u--;break;case 2:return n.join("")}if(u==0&&(u=Math.pow(2,f),f++),i[P])s=i[P];else if(P===l)s=c+c.charAt(0);else return null;n.push(s),i[l++]=c+s.charAt(0),u--,c=s,u==0&&(u=Math.pow(2,f),f++)}}},$Rs=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 Ljo="0123456789abcdef",Ujo=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+=Ljo.charAt(this.bytes[r]>>>4),t+=Ljo.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+=Ljo.charAt(this.bytes[r]>>>4),t+=Ljo.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}},GRs=class{constructor(t){this.timestamp=0,this.counter=0,this.random=t??kUS()}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 Ujo.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,Ujo.ofInner(t)}},kUS=()=>({nextUint32:()=>Math.trunc(Math.random()*65536)*65536+Math.trunc(Math.random()*65536)}),vhp,bhp=()=>eVS().toString(),eVS=()=>(vhp||(vhp=new GRs)).generate(),Vjo=class extends Error{constructor(t){super("HTTP error while fetching PostHog: "+t.status),this.response=t,this.name="PostHogFetchHttpError"}},pfa=class extends Error{constructor(t){super("Network error while fetching PostHog",t instanceof Error?{cause:t}:{}),this.error=t,this.name="PostHogFetchNetworkError"}};function ghp(e){return typeof e=="object"&&(e instanceof Vjo||e instanceof pfa)}var QRs=class{constructor(t,r){this.flushPromise=null,this.disableGeoip=!0,this.historicalMigration=!1,this.disabled=!1,this.defaultOptIn=!0,this.pendingPromises={},this._events=new $Rs,this._isInitialized=!1,JUS(t,"You must pass your PostHog project's api key."),this.apiKey=t,this.host=KUS(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:ghp},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(N5t.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty(N5t.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty(N5t.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=bhp();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:hhp(),uuid:i?.uuid?i.uuid:bhp()};(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(N5t.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(N5t.Queue,u),this._events.emit(t,n),u.length>=this.flushAt&&this.flushBackground(),this.flushInterval&&!this._flushTimer&&(this._flushTimer=whp(()=>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(N5t.Queue)||[];if(!t.length)return[];let r=t.slice(0,this.maxBatchSize),i=r.map(s=>s.message),n=()=>{let s=this.getPersistedProperty(N5t.Queue)||[];this.setPersistedProperty(N5t.Queue,s.slice(r.length))},a={api_key:this.apiKey,batch:i,sent_at:hhp()};this.historicalMigration&&(a.historical_migration=!0);let u=JSON.stringify(a),l=this.captureMode==="form"?`${this.host}/e/?ip=1&_=${XUS()}&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(dfa.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 pfa||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 YUS(async()=>{let u=null;try{u=await this.fetch(t,{signal:AbortSignal.timeout(n??this.requestTimeout),...r})}catch(f){throw new pfa(f)}if(!(r.mode==="no-cors")&&(u.status<200||u.status>=400))throw new Vjo(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(N5t.Queue)||[]).length!==0;){await this.flush();let n=Date.now();if(r<n)break}}catch(r){if(!ghp(r))throw r;this.logMsgIfDebug(()=>console.error("Error while shutting down PostHog",r))}}},JRs=class{constructor(){this._memoryStorage={}}getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}},KRs=typeof fetch<"u"?fetch:typeof global.fetch<"u"?global.fetch:void 0;if(!KRs){let e=_hp();KRs=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 Shp=KRs,tVS=1152921504606847e3,rVS=["is_not"],Wjo=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},Q2=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},YRs=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||Shp,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 Q2?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 Q2||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 Q2("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 Q2("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 Q2)u=!0;else throw o}if(l!==void 0)return l;if(u)throw new Q2("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=Ehp(l,n,this.cohorts,this.debugMode):s=Dhp(l,n,u),!s)return!1}if(a==null)return!0}return!(a!=null&&Ohp(t.key,r)>a/100)}getMatchingVariant(t,r){let i=Ohp(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 Wjo("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 Wjo&&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=whp(()=>{n.abort()},this.timeout),r.signal=n.signal}try{return await this.fetch(t,r)}finally{clearTimeout(i)}}stopPoller(){clearTimeout(this.poller)}};function Ohp(e,t,r=""){let i=(0,jhp.createHash)();return i.update(`${e}.${t}${r}`),parseInt(i.digest("hex").slice(0,15),16)/tVS}function Dhp(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 Q2("Operator is_not_set is not supported")}else throw new Q2(`Property ${i} not found in propertyValues`);let u=t[i];if(u==null&&!rVS.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 mhp(String(n))&&String(u).match(String(n))!==null;case"not_regex":return mhp(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=iVS(String(n));if(s==null&&(s=Php(n)),s==null)throw new Q2(`Invalid date: ${n}`);let o=Php(u);return["is_date_before"].includes(a)?o<s:o>s}default:throw new Q2(`Unknown operator: ${a}`)}}function Ehp(e,t,r,i=!1){let n=String(e.value);if(!(n in r))throw new Q2("can't match cohort without a given cohort property value");let a=r[n];return Mhp(a,t,r,i)}function Mhp(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=Mhp(l,t,r,i);if(n==="AND"){if(!f)return!1}else if(f)return!0}catch(f){if(f instanceof Q2)i&&console.debug(`Failed to compute property ${l} locally: ${f}`),u=!0;else throw f}if(u)throw new Q2("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=Ehp(l,t,r,i):f=Dhp(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 Q2)i&&console.debug(`Failed to compute property ${l} locally: ${f}`),u=!0;else throw f}if(u)throw new Q2("can't match cohort without a given cohort property value");return n==="AND"}}function mhp(e){try{return new RegExp(e),!0}catch{return!1}}function Php(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 Q2(`${e} is in an invalid date format`)}else throw new Q2(`The date provided ${e} must be a string, number, or date object`)}function iVS(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 nVS=30*1e3,aVS=50*1e3,zPn=class extends QRs{constructor(t,r={}){super(t,r),this._memoryStorage=new JRs,this.options=r,r.personalApiKey&&(this.featureFlagsPoller=new YRs({pollingInterval:typeof r.featureFlagsPollingInterval=="number"?r.featureFlagsPollingInterval:nVS,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||aVS}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):Shp(t,r)}getLibraryId(){return"posthog-node"}getLibraryVersion(){return QUS}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,P]of Object.entries(b))g[`$feature/${m}`]=P;let O=Object.keys(b||{}).filter(m=>b?.[m]!==!1);return O.length>0&&(g.$active_feature_flags=O),g}).catch(()=>({})).then(b=>{s({...b,...i,$groups:n})});this.addPendingPromise(c)}identify({distinctId:t,properties:r,disableGeoip:i}){let n=r?.$set||r;super.identifyStateless(t,{$set:n},{disableGeoip:i})}alias(t){super.aliasStateless(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}async getFeatureFlag(t,r,i){let{groups:n,disableGeoip:a}=i||{},{onlyEvaluateLocally:u,sendFeatureFlagEvents:l,personProperties: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}}},XRs=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})}};XRs.POSTHOG_ID_TAG="posthog_distinct_id";var Hjo=class{posthog;constructor({posthogApiKey:t}){this.posthog=new zPn(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"0.62.4",usingAccessToken:!0}})}async flush(){await this.posthog.flush()}};var _fa=class{async sendEvent(){}async identify(){}async flush(){}};var RPn=require("fs/promises"),Chp=require("os"),Bhp=require("path");var Ahp=oi(require("crypto")),Gjo=new Uint8Array(256),$jo=Gjo.length;function ZRs(){return $jo>Gjo.length-16&&(Ahp.default.randomFillSync(Gjo),$jo=0),Gjo.slice($jo,$jo+=16)}var TV=[];for(let e=0;e<256;++e)TV.push((e+256).toString(16).slice(1));function qhp(e,t=0){return TV[e[t+0]]+TV[e[t+1]]+TV[e[t+2]]+TV[e[t+3]]+"-"+TV[e[t+4]]+TV[e[t+5]]+"-"+TV[e[t+6]]+TV[e[t+7]]+"-"+TV[e[t+8]]+TV[e[t+9]]+"-"+TV[e[t+10]]+TV[e[t+11]]+TV[e[t+12]]+TV[e[t+13]]+TV[e[t+14]]+TV[e[t+15]]}var Thp=oi(require("crypto")),kRs={randomUUID:Thp.default.randomUUID};function oVS(e,t,r){if(kRs.randomUUID&&!t&&!e)return kRs.randomUUID();e=e||{};let i=e.random||(e.rng||ZRs)();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 qhp(i)}var rne=oVS;var uVS="id",sVS=".fern",hfa=class{posthog;userId;constructor({token:t,posthogApiKey:r}){this.posthog=new zPn(r),this.userId=t==null?void 0:uqs(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.62.4",...t,...t.properties}})}async flush(){await this.posthog.flush()}persistedDistinctId;async getPersistedDistinctId(){if(this.persistedDistinctId==null){let t=Lu(Vl.of((0,Chp.homedir)()),Ja.of(sVS),Ja.of(uVS));await Mf(t)||(await(0,RPn.mkdir)((0,Bhp.dirname)(t),{recursive:!0}),await(0,RPn.writeFile)(t,rne())),this.persistedDistinctId=(await(0,RPn.readFile)(t)).toString()}return this.persistedDistinctId}};var eNs;async function NPn(){return eNs==null&&(eNs=await cVS()),eNs}async function cVS(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new _fa;let r=await Jvo();return r!=null?new hfa({token:r,posthogApiKey:e}):await SOn()!=null?new Hjo({posthogApiKey:e}):new hfa({token:void 0,posthogApiKey:e})}catch{return new _fa}}function yfa(e,t){return function(){return e.apply(t,arguments)}}var{toString:lVS}=Object.prototype,{getPrototypeOf:rNs}=Object,Jjo=(e=>t=>{let r=lVS.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),F5t=e=>(e=e.toLowerCase(),t=>Jjo(t)===e),Kjo=e=>t=>typeof t===e,{isArray:FPn}=Array,vfa=Kjo("undefined");function fVS(e){return e!==null&&!vfa(e)&&e.constructor!==null&&!vfa(e.constructor)&&pDe(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var Ihp=F5t("ArrayBuffer");function dVS(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Ihp(e.buffer),t}var pVS=Kjo("string"),pDe=Kjo("function"),zhp=Kjo("number"),Yjo=e=>e!==null&&typeof e=="object",_VS=e=>e===!0||e===!1,Qjo=e=>{if(Jjo(e)!=="object")return!1;let t=rNs(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},hVS=F5t("Date"),yVS=F5t("File"),vVS=F5t("Blob"),bVS=F5t("FileList"),gVS=e=>Yjo(e)&&pDe(e.pipe),OVS=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||pDe(e.append)&&((t=Jjo(e))==="formdata"||t==="object"&&pDe(e.toString)&&e.toString()==="[object FormData]"))},mVS=F5t("URLSearchParams"),[PVS,jVS,wVS,SVS]=["ReadableStream","Request","Response","Headers"].map(F5t),DVS=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function bfa(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let i,n;if(typeof e!="object"&&(e=[e]),FPn(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 Rhp(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 Izi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Nhp=e=>!vfa(e)&&e!==Izi;function tNs(){let{caseless:e}=Nhp(this)&&this||{},t={},r=(i,n)=>{let a=e&&Rhp(t,n)||n;Qjo(t[a])&&Qjo(i)?t[a]=tNs(t[a],i):Qjo(i)?t[a]=tNs({},i):FPn(i)?t[a]=i.slice():t[a]=i};for(let i=0,n=arguments.length;i<n;i++)arguments[i]&&bfa(arguments[i],r);return t}var EVS=(e,t,r,{allOwnKeys:i}={})=>(bfa(t,(n,a)=>{r&&pDe(n)?e[a]=yfa(n,r):e[a]=n},{allOwnKeys:i}),e),MVS=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),AVS=(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)},qVS=(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&&rNs(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},TVS=(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},CVS=e=>{if(!e)return null;if(FPn(e))return e;let t=e.length;if(!zhp(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},BVS=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&rNs(Uint8Array)),xVS=(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])}},IVS=(e,t)=>{let r,i=[];for(;(r=e.exec(t))!==null;)i.push(r);return i},zVS=F5t("HTMLFormElement"),RVS=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,i,n){return i.toUpperCase()+n}),xhp=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),NVS=F5t("RegExp"),Fhp=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),i={};bfa(r,(n,a)=>{let u;(u=t(n,a,e))!==!1&&(i[a]=u||n)}),Object.defineProperties(e,i)},FVS=e=>{Fhp(e,(t,r)=>{if(pDe(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let i=e[r];if(pDe(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+"'")})}})},LVS=(e,t)=>{let r={},i=n=>{n.forEach(a=>{r[a]=!0})};return FPn(e)?i(e):i(String(e).split(t)),r},UVS=()=>{},VVS=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function WVS(e){return!!(e&&pDe(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}var HVS=e=>{let t=new Array(10),r=(i,n)=>{if(Yjo(i)){if(t.indexOf(i)>=0)return;if(!("toJSON"in i)){t[n]=i;let a=FPn(i)?[]:{};return bfa(i,(u,l)=>{let f=r(u,n+1);!vfa(f)&&(a[l]=f)}),t[n]=void 0,a}}return i};return r(e,0)},$VS=F5t("AsyncFunction"),GVS=e=>e&&(Yjo(e)||pDe(e))&&pDe(e.then)&&pDe(e.catch),Lhp=((e,t)=>e?setImmediate:t?((r,i)=>(Izi.addEventListener("message",({source:n,data:a})=>{n===Izi&&a===r&&i.length&&i.shift()()},!1),n=>{i.push(n),Izi.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",pDe(Izi.postMessage)),QVS=typeof queueMicrotask<"u"?queueMicrotask.bind(Izi):typeof process<"u"&&process.nextTick||Lhp,ps={isArray:FPn,isArrayBuffer:Ihp,isBuffer:fVS,isFormData:OVS,isArrayBufferView:dVS,isString:pVS,isNumber:zhp,isBoolean:_VS,isObject:Yjo,isPlainObject:Qjo,isReadableStream:PVS,isRequest:jVS,isResponse:wVS,isHeaders:SVS,isUndefined:vfa,isDate:hVS,isFile:yVS,isBlob:vVS,isRegExp:NVS,isFunction:pDe,isStream:gVS,isURLSearchParams:mVS,isTypedArray:BVS,isFileList:bVS,forEach:bfa,merge:tNs,extend:EVS,trim:DVS,stripBOM:MVS,inherits:AVS,toFlatObject:qVS,kindOf:Jjo,kindOfTest:F5t,endsWith:TVS,toArray:CVS,forEachEntry:xVS,matchAll:IVS,isHTMLForm:zVS,hasOwnProperty:xhp,hasOwnProp:xhp,reduceDescriptors:Fhp,freezeMethods:FVS,toObjectSet:LVS,toCamelCase:RVS,noop:UVS,toFiniteNumber:VVS,findKey:Rhp,global:Izi,isContextDefined:Nhp,isSpecCompliantForm:WVS,toJSONObject:HVS,isAsyncFn:$VS,isThenable:GVS,setImmediate:Lhp,asap:QVS};function LPn(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)}ps.inherits(LPn,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:ps.toJSONObject(this.config),code:this.code,status:this.status}}});var Uhp=LPn.prototype,Vhp={};["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=>{Vhp[e]={value:e}});Object.defineProperties(LPn,Vhp);Object.defineProperty(Uhp,"isAxiosError",{value:!0});LPn.from=(e,t,r,i,n,a)=>{let u=Object.create(Uhp);return ps.toFlatObject(e,u,function(f){return f!==Error.prototype},l=>l!=="isAxiosError"),LPn.call(u,e.message,t,r,i,n),u.cause=e,u.name=e.name,a&&Object.assign(u,a),u};var Ep=LPn;var Whp=oi(Nna(),1),Xjo=Whp.default;function iNs(e){return ps.isPlainObject(e)||ps.isArray(e)}function $hp(e){return ps.endsWith(e,"[]")?e.slice(0,-2):e}function Hhp(e,t,r){return e?e.concat(t).map(function(n,a){return n=$hp(n),!r&&a?"["+n+"]":n}).join(r?".":""):t}function JVS(e){return ps.isArray(e)&&!e.some(iNs)}var KVS=ps.toFlatObject(ps,{},null,function(t){return/^is[A-Z]/.test(t)});function YVS(e,t,r){if(!ps.isObject(e))throw new TypeError("target must be an object");t=t||new(Xjo||FormData),r=ps.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,P){return!ps.isUndefined(P[m])});let i=r.metaTokens,n=r.visitor||o,a=r.dots,u=r.indexes,f=(r.Blob||typeof Blob<"u"&&Blob)&&ps.isSpecCompliantForm(t);if(!ps.isFunction(n))throw new TypeError("visitor must be a function");function s(O){if(O===null)return"";if(ps.isDate(O))return O.toISOString();if(!f&&ps.isBlob(O))throw new Ep("Blob is not supported. Use a Buffer instead.");return ps.isArrayBuffer(O)||ps.isTypedArray(O)?f&&typeof Blob=="function"?new Blob([O]):Buffer.from(O):O}function o(O,m,P){let E=O;if(O&&!P&&typeof O=="object"){if(ps.endsWith(m,"{}"))m=i?m:m.slice(0,-2),O=JSON.stringify(O);else if(ps.isArray(O)&&JVS(O)||(ps.isFileList(O)||ps.endsWith(m,"[]"))&&(E=ps.toArray(O)))return m=$hp(m),E.forEach(function(M,D){!(ps.isUndefined(M)||M===null)&&t.append(u===!0?Hhp([m],D,a):u===null?m:m+"[]",s(M))}),!1}return iNs(O)?!0:(t.append(Hhp(P,m,a),s(O)),!1)}let c=[],b=Object.assign(KVS,{defaultVisitor:o,convertValue:s,isVisitable:iNs});function g(O,m){if(!ps.isUndefined(O)){if(c.indexOf(O)!==-1)throw Error("Circular reference detected in "+m.join("."));c.push(O),ps.forEach(O,function(E,A){(!(ps.isUndefined(E)||E===null)&&n.call(t,E,ps.isString(A)?A.trim():A,m,b))===!0&&g(E,m?m.concat(A):[A])}),c.pop()}}if(!ps.isObject(e))throw new TypeError("data must be an object");return g(e),t}var Vfi=YVS;function Ghp(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(i){return t[i]})}function Qhp(e,t){this._pairs=[],e&&Vfi(e,this,t)}var Jhp=Qhp.prototype;Jhp.append=function(t,r){this._pairs.push([t,r])};Jhp.toString=function(t){let r=t?function(i){return t.call(this,i,Ghp)}:Ghp;return this._pairs.map(function(n){return r(n[0])+"="+r(n[1])},"").join("&")};var Khp=Qhp;function XVS(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function zzi(e,t,r){if(!t)return e;let i=r&&r.encode||XVS;ps.isFunction(r)&&(r={serialize:r});let n=r&&r.serialize,a;if(n?a=n(t,r):a=ps.isURLSearchParams(t)?t.toString():new Khp(t,r).toString(i),a){let u=e.indexOf("#");u!==-1&&(e=e.slice(0,u)),e+=(e.indexOf("?")===-1?"?":"&")+a}return e}var nNs=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){ps.forEach(this.handlers,function(i){i!==null&&t(i)})}},aNs=nNs;var UPn={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var khp=oi(require("crypto"),1);var Yhp=oi(require("url"),1),Xhp=Yhp.default.URLSearchParams;var oNs="abcdefghijklmnopqrstuvwxyz",Zhp="0123456789",eyp={DIGIT:Zhp,ALPHA:oNs,ALPHA_DIGIT:oNs+oNs.toUpperCase()+Zhp},ZVS=(e=16,t=eyp.ALPHA_DIGIT)=>{let r="",{length:i}=t,n=new Uint32Array(e);khp.default.randomFillSync(n);for(let a=0;a<e;a++)r+=t[n[a]%i];return r},typ={isNode:!0,classes:{URLSearchParams:Xhp,FormData:Xjo,Blob:typeof Blob<"u"&&Blob||null},ALPHABET:eyp,generateString:ZVS,protocols:["http","https","file","data"]};var cNs={};jn(cNs,{hasBrowserEnv:()=>sNs,hasStandardBrowserEnv:()=>kVS,hasStandardBrowserWebWorkerEnv:()=>eWS,navigator:()=>uNs,origin:()=>tWS});var sNs=typeof window<"u"&&typeof document<"u",uNs=typeof navigator=="object"&&navigator||void 0,kVS=sNs&&(!uNs||["ReactNative","NativeScript","NS"].indexOf(uNs.product)<0),eWS=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",tWS=sNs&&window.location.href||"http://localhost";var BM={...cNs,...typ};function lNs(e,t){return Vfi(e,new BM.classes.URLSearchParams,Object.assign({visitor:function(r,i,n,a){return BM.isNode&&ps.isBuffer(r)?(this.append(i,r.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)}},t))}function rWS(e){return ps.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function iWS(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 nWS(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&&ps.isArray(n)?n.length:u,f?(ps.hasOwnProp(n,u)?n[u]=[n[u],i]:n[u]=i,!l):((!n[u]||!ps.isObject(n[u]))&&(n[u]=[]),t(r,i,n[u],a)&&ps.isArray(n[u])&&(n[u]=iWS(n[u])),!l)}if(ps.isFormData(e)&&ps.isFunction(e.entries)){let r={};return ps.forEachEntry(e,(i,n)=>{t(rWS(i),n,r,0)}),r}return null}var Zjo=nWS;function aWS(e,t,r){if(ps.isString(e))try{return(t||JSON.parse)(e),ps.trim(e)}catch(i){if(i.name!=="SyntaxError")throw i}return(r||JSON.stringify)(e)}var fNs={transitional:UPn,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){let i=r.getContentType()||"",n=i.indexOf("application/json")>-1,a=ps.isObject(t);if(a&&ps.isHTMLForm(t)&&(t=new FormData(t)),ps.isFormData(t))return n?JSON.stringify(Zjo(t)):t;if(ps.isArrayBuffer(t)||ps.isBuffer(t)||ps.isStream(t)||ps.isFile(t)||ps.isBlob(t)||ps.isReadableStream(t))return t;if(ps.isArrayBufferView(t))return t.buffer;if(ps.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 lNs(t,this.formSerializer).toString();if((l=ps.isFileList(t))||i.indexOf("multipart/form-data")>-1){let f=this.env&&this.env.FormData;return Vfi(l?{"files[]":t}:t,f&&new f,this.formSerializer)}}return a||n?(r.setContentType("application/json",!1),aWS(t)):t}],transformResponse:[function(t){let r=this.transitional||fNs.transitional,i=r&&r.forcedJSONParsing,n=this.responseType==="json";if(ps.isResponse(t)||ps.isReadableStream(t))return t;if(t&&ps.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"?Ep.from(l,Ep.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:BM.classes.FormData,Blob:BM.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ps.forEach(["delete","get","head","post","put","patch"],e=>{fNs.headers[e]={}});var VPn=fNs;var oWS=ps.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"]),ryp=e=>{let t={},r,i,n;return e&&e.split(`
1705
1705
  `).forEach(function(u){n=u.indexOf(":"),r=u.substring(0,n).trim().toLowerCase(),i=u.substring(n+1).trim(),!(!r||t[r]&&oWS[r])&&(r==="set-cookie"?t[r]?t[r].push(i):t[r]=[i]:t[r]=t[r]?t[r]+", "+i:i)}),t};var iyp=Symbol("internals");function gfa(e){return e&&String(e).trim().toLowerCase()}function kjo(e){return e===!1||e==null?e:ps.isArray(e)?e.map(kjo):String(e)}function uWS(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 sWS=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function dNs(e,t,r,i,n){if(ps.isFunction(i))return i.call(this,t,r);if(n&&(t=r),!!ps.isString(t)){if(ps.isString(i))return t.indexOf(i)!==-1;if(ps.isRegExp(i))return i.test(t)}}function cWS(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,i)=>r.toUpperCase()+i)}function lWS(e,t){let r=ps.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 WPn=class{constructor(t){t&&this.set(t)}set(t,r,i){let n=this;function a(l,f,s){let o=gfa(f);if(!o)throw new Error("header name must be a non-empty string");let c=ps.findKey(n,o);(!c||n[c]===void 0||s===!0||s===void 0&&n[c]!==!1)&&(n[c||f]=kjo(l))}let u=(l,f)=>ps.forEach(l,(s,o)=>a(s,o,f));if(ps.isPlainObject(t)||t instanceof this.constructor)u(t,r);else if(ps.isString(t)&&(t=t.trim())&&!sWS(t))u(ryp(t),r);else if(ps.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=gfa(t),t){let i=ps.findKey(this,t);if(i){let n=this[i];if(!r)return n;if(r===!0)return uWS(n);if(ps.isFunction(r))return r.call(this,n,i);if(ps.isRegExp(r))return r.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,r){if(t=gfa(t),t){let i=ps.findKey(this,t);return!!(i&&this[i]!==void 0&&(!r||dNs(this,this[i],i,r)))}return!1}delete(t,r){let i=this,n=!1;function a(u){if(u=gfa(u),u){let l=ps.findKey(i,u);l&&(!r||dNs(i,i[l],l,r))&&(delete i[l],n=!0)}}return ps.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||dNs(this,this[a],a,t,!0))&&(delete this[a],n=!0)}return n}normalize(t){let r=this,i={};return ps.forEach(this,(n,a)=>{let u=ps.findKey(i,a);if(u){r[u]=kjo(n),delete r[a];return}let l=t?cWS(a):String(a).trim();l!==a&&delete r[a],r[l]=kjo(n),i[l]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){let r=Object.create(null);return ps.forEach(this,(i,n)=>{i!=null&&i!==!1&&(r[n]=t&&ps.isArray(i)?i.join(", "):i)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,r])=>t+": "+r).join(`
1706
1706
  `)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...r){let i=new this(t);return r.forEach(n=>i.set(n)),i}static accessor(t){let i=(this[iyp]=this[iyp]={accessors:{}}).accessors,n=this.prototype;function a(u){let l=gfa(u);i[l]||(lWS(n,u),i[l]=!0)}return ps.isArray(t)?t.forEach(a):a(t),this}};WPn.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);ps.reduceDescriptors(WPn.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(i){this[r]=i}}});ps.freezeMethods(WPn);var wz=WPn;function Ofa(e,t){let r=this||VPn,i=t||r,n=wz.from(i.headers),a=i.data;return ps.forEach(e,function(l){a=l.call(r,a,n.normalize(),t?t.status:void 0)}),n.normalize(),a}function mfa(e){return!!(e&&e.__CANCEL__)}function nyp(e,t,r){Ep.call(this,e??"canceled",Ep.ERR_CANCELED,t,r),this.name="CanceledError"}ps.inherits(nyp,Ep,{__CANCEL__:!0});var _De=nyp;function bXt(e,t,r){let i=r.config.validateStatus;!r.status||!i||i(r.status)?e(r):t(new Ep("Request failed with status code "+r.status,[Ep.ERR_BAD_REQUEST,Ep.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function pNs(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function _Ns(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Rzi(e,t,r){let i=!pNs(t);return e&&i||r==!1?_Ns(e,t):t}var Oyp=oi(rfa(),1),myp=oi(require("http"),1),Pyp=oi(require("https"),1),jyp=oi(require("util"),1),wyp=oi(mRs(),1),lKr=oi(require("zlib"),1);var Nzi="1.8.2";function Pfa(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}var fWS=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;function hNs(e,t,r){let i=r&&r.Blob||BM.classes.Blob,n=Pfa(e);if(t===void 0&&i&&(t=!0),n==="data"){e=n.length?e.slice(n.length+1):e;let a=fWS.exec(e);if(!a)throw new Ep("Invalid URL",Ep.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 Ep("Blob is not supported",Ep.ERR_NOT_SUPPORT);return new i([s],{type:u})}return s}throw new Ep("Unsupported protocol "+n,Ep.ERR_NOT_SUPPORT)}var Fzi=oi(require("stream"),1);var ayp=oi(require("stream"),1);var yNs=Symbol("internals"),vNs=class extends ayp.default.Transform{constructor(t){t=ps.toFlatObject(t,{maxRate:0,chunkSize:64*1024,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,(i,n)=>!ps.isUndefined(n[i])),super({readableHighWaterMark:t.chunkSize});let r=this[yNs]={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[yNs];return r.onReadCallback&&r.onReadCallback(),super._read(t)}_transform(t,r,i){let n=this[yNs],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),P=null,E=u,A,M=0;if(a){let D=Date.now();(!n.ts||(M=D-n.ts)>=l)&&(n.ts=D,A=s-n.bytes,n.bytes=A<0?-A:0,M=0),A=s-n.bytes}if(a){if(A<=0)return setTimeout(()=>{O(null,g)},l-M);A<E&&(E=A)}E&&m>E&&m-E>o&&(P=g.subarray(E),g=g.subarray(0,E)),c(g,P?()=>{process.nextTick(O,null,P)}:O)};b(t,function g(O,m){if(O)return i(O);m?b(m,g):i(null)})}},bNs=vNs;var Syp=require("events");var uyp=oi(require("util"),1),syp=require("stream");var{asyncIterator:oyp}=Symbol,dWS=async function*(e){e.stream?yield*e.stream():e.arrayBuffer?yield await e.arrayBuffer():e[oyp]?yield*e[oyp]():yield e},ewo=dWS;var pWS=BM.ALPHABET.ALPHA_DIGIT+"-_",jfa=typeof TextEncoder=="function"?new TextEncoder:new uyp.default.TextEncoder,Wfi=`\r
1707
1707
  `,_WS=jfa.encode(Wfi),hWS=2,gNs=class{constructor(t,r){let{escapeName:i}=this.constructor,n=ps.isString(r),a=`Content-Disposition: form-data; name="${i(t)}"${!n&&r.name?`; filename="${i(r.name)}"`:""}${Wfi}`;n?r=jfa.encode(String(r).replace(/\r?\n|\r\n?/g,Wfi)):a+=`Content-Type: ${r.type||"application/octet-stream"}${Wfi}`,this.headers=jfa.encode(a+Wfi),this.contentLength=n?r.byteLength:r.size,this.size=this.headers.byteLength+this.contentLength+hWS,this.name=t,this.value=r}async*encode(){yield this.headers;let{value:t}=this;ps.isTypedArray(t)?yield t:yield*ewo(t),yield _WS}static escapeName(t){return String(t).replace(/[\r\n"]/g,r=>({"\r":"%0D","\n":"%0A",'"':"%22"})[r])}},yWS=(e,t,r)=>{let{tag:i="form-data-boundary",size:n=25,boundary:a=i+"-"+BM.generateString(n,pWS)}=r||{};if(!ps.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=jfa.encode("--"+a+Wfi),l=jfa.encode("--"+a+"--"+Wfi+Wfi),f=l.byteLength,s=Array.from(e.entries()).map(([c,b])=>{let g=new gNs(c,b);return f+=g.size,g});f+=u.byteLength*s.length,f=ps.toFiniteNumber(f);let o={"Content-Type":`multipart/form-data; boundary=${a}`};return Number.isFinite(f)&&(o["Content-Length"]=f),t&&t(o),syp.Readable.from(async function*(){for(let c of s)yield u,yield*c.encode();yield l}())},cyp=yWS;var lyp=oi(require("stream"),1),ONs=class extends lyp.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)}},fyp=ONs;var vWS=(e,t)=>ps.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,dyp=vWS;function bWS(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 pyp=bWS;function gWS(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 _yp=gWS;var cKr=(e,t,r=3)=>{let i=0,n=pyp(50,250);return _yp(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)},HPn=(e,t)=>{let r=e!=null;return[i=>t[0]({lengthComputable:r,total:e,loaded:i}),t[1]]},$Pn=e=>(...t)=>ps.asap(()=>e(...t));var hyp={flush:lKr.default.constants.Z_SYNC_FLUSH,finishFlush:lKr.default.constants.Z_SYNC_FLUSH},OWS={flush:lKr.default.constants.BROTLI_OPERATION_FLUSH,finishFlush:lKr.default.constants.BROTLI_OPERATION_FLUSH},yyp=ps.isFunction(lKr.default.createBrotliDecompress),{http:mWS,https:PWS}=wyp.default,jWS=/https:?/,vyp=BM.protocols.map(e=>e+":"),byp=(e,[t,r])=>(e.on("end",r).on("error",r),t);function wWS(e,t){e.beforeRedirects.proxy&&e.beforeRedirects.proxy(e),e.beforeRedirects.config&&e.beforeRedirects.config(e,t)}function Dyp(e,t,r){let i=t;if(!i&&i!==!1){let n=Oyp.default.getProxyForUrl(r);n&&(i=new URL(n))}if(i){if(i.username&&(i.auth=(i.username||"")+":"+(i.password||"")),i.auth){(i.auth.username||i.auth.password)&&(i.auth=(i.auth.username||"")+":"+(i.auth.password||""));let a=Buffer.from(i.auth,"utf8").toString("base64");e.headers["Proxy-Authorization"]="Basic "+a}e.headers.host=e.hostname+(e.port?":"+e.port:"");let n=i.hostname||i.host;e.hostname=n,e.host=n,e.port=i.port,e.path=r,i.protocol&&(e.protocol=i.protocol.includes(":")?i.protocol:`${i.protocol}:`)}e.beforeRedirects.proxy=function(a){Dyp(a,t,a.href)}}var SWS=typeof process<"u"&&ps.kindOf(process)==="process",DWS=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)}),EWS=({address:e,family:t})=>{if(!ps.isString(e))throw TypeError("address must be a string");return{address:e,family:t||(e.indexOf(".")<0?6:4)}},gyp=(e,t)=>EWS(ps.isObject(e)?e:{address:e,family:t}),Eyp=SWS&&function(t){return DWS(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 Se=dyp(l,Qe=>ps.isArray(Qe)?Qe:[Qe]);l=(Qe,Dt,Ee)=>{Se(Qe,Dt,(Te,It,je)=>{if(Te)return Ee(Te);let gt=ps.isArray(It)?It.map(Ot=>gyp(Ot)):[gyp(It,je)];Dt.all?Ee(Te,gt):Ee(Te,gt[0].address,gt[0].family)})}}let m=new Syp.EventEmitter,P=()=>{t.cancelToken&&t.cancelToken.unsubscribe(E),t.signal&&t.signal.removeEventListener("abort",E),m.removeAllListeners()};a((Se,Qe)=>{b=!0,Qe&&(g=!0,P())});function E(Se){m.emit("abort",!Se||Se.type?new _De(null,t,O):Se)}m.once("abort",n),(t.cancelToken||t.signal)&&(t.cancelToken&&t.cancelToken.subscribe(E),t.signal&&(t.signal.aborted?E():t.signal.addEventListener("abort",E)));let A=Rzi(t.baseURL,t.url,t.allowAbsoluteUrls),M=new URL(A,BM.hasBrowserEnv?BM.origin:void 0),D=M.protocol||vyp[0];if(D==="data:"){let Se;if(c!=="GET")return bXt(i,n,{status:405,statusText:"method not allowed",headers:{},config:t});try{Se=hNs(t.url,s==="blob",{Blob:t.env&&t.env.Blob})}catch(Qe){throw Ep.from(Qe,Ep.ERR_BAD_REQUEST,t)}return s==="text"?(Se=Se.toString(o),(!o||o==="utf8")&&(Se=ps.stripBOM(Se))):s==="stream"&&(Se=Fzi.default.Readable.from(Se)),bXt(i,n,{data:Se,status:200,statusText:"OK",headers:new wz,config:t})}if(vyp.indexOf(D)===-1)return n(new Ep("Unsupported protocol "+D,Ep.ERR_BAD_REQUEST,t));let T=wz.from(t.headers).normalize();T.set("User-Agent","axios/"+Nzi,!1);let{onUploadProgress:z,onDownloadProgress:$}=t,x=t.maxRate,L,V;if(ps.isSpecCompliantForm(u)){let Se=T.getContentType(/boundary=([-_\w\d]{10,70})/i);u=cyp(u,Qe=>{T.set(Qe)},{tag:`axios-${Nzi}-boundary`,boundary:Se&&Se[1]||void 0})}else if(ps.isFormData(u)&&ps.isFunction(u.getHeaders)){if(T.set(u.getHeaders()),!T.hasContentLength())try{let Se=await jyp.default.promisify(u.getLength).call(u);Number.isFinite(Se)&&Se>=0&&T.setContentLength(Se)}catch{}}else if(ps.isBlob(u)||ps.isFile(u))u.size&&T.setContentType(u.type||"application/octet-stream"),T.setContentLength(u.size||0),u=Fzi.default.Readable.from(ewo(u));else if(u&&!ps.isStream(u)){if(!Buffer.isBuffer(u))if(ps.isArrayBuffer(u))u=Buffer.from(new Uint8Array(u));else if(ps.isString(u))u=Buffer.from(u,"utf-8");else return n(new Ep("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",Ep.ERR_BAD_REQUEST,t));if(T.setContentLength(u.length,!1),t.maxBodyLength>-1&&u.length>t.maxBodyLength)return n(new Ep("Request body larger than maxBodyLength limit",Ep.ERR_BAD_REQUEST,t))}let X=ps.toFiniteNumber(T.getContentLength());ps.isArray(x)?(L=x[0],V=x[1]):L=V=x,u&&(z||L)&&(ps.isStream(u)||(u=Fzi.default.Readable.from(u,{objectMode:!1})),u=Fzi.default.pipeline([u,new bNs({maxRate:ps.toFiniteNumber(L)})],ps.noop),z&&u.on("progress",byp(u,HPn(X,cKr($Pn(z),!1,3)))));let J;if(t.auth){let Se=t.auth.username||"",Qe=t.auth.password||"";J=Se+":"+Qe}if(!J&&M.username){let Se=M.username,Qe=M.password;J=Se+":"+Qe}J&&T.delete("authorization");let Z;try{Z=zzi(M.pathname+M.search,t.params,t.paramsSerializer).replace(/^\?/,"")}catch(Se){let Qe=new Error(Se.message);return Qe.config=t,Qe.url=t.url,Qe.exists=!0,n(Qe)}T.set("Accept-Encoding","gzip, compress, deflate"+(yyp?", br":""),!1);let fe={path:Z,method:c,headers:T.toJSON(),agents:{http:t.httpAgent,https:t.httpsAgent},auth:J,protocol:D,family:f,beforeRedirect:wWS,beforeRedirects:{}};!ps.isUndefined(l)&&(fe.lookup=l),t.socketPath?fe.socketPath=t.socketPath:(fe.hostname=M.hostname.startsWith("[")?M.hostname.slice(1,-1):M.hostname,fe.port=M.port,Dyp(fe,t.proxy,D+"//"+M.hostname+(M.port?":"+M.port:"")+fe.path));let me,_e=jWS.test(fe.protocol);if(fe.agent=_e?t.httpsAgent:t.httpAgent,t.transport?me=t.transport:t.maxRedirects===0?me=_e?Pyp.default:myp.default:(t.maxRedirects&&(fe.maxRedirects=t.maxRedirects),t.beforeRedirect&&(fe.beforeRedirects.config=t.beforeRedirect),me=_e?PWS:mWS),t.maxBodyLength>-1?fe.maxBodyLength=t.maxBodyLength:fe.maxBodyLength=1/0,t.insecureHTTPParser&&(fe.insecureHTTPParser=t.insecureHTTPParser),O=me.request(fe,function(Qe){if(O.destroyed)return;let Dt=[Qe],Ee=+Qe.headers["content-length"];if($||V){let Ot=new bNs({maxRate:ps.toFiniteNumber(V)});$&&Ot.on("progress",byp(Ot,HPn(Ee,cKr($Pn($),!0,3)))),Dt.push(Ot)}let Te=Qe,It=Qe.req||O;if(t.decompress!==!1&&Qe.headers["content-encoding"])switch((c==="HEAD"||Qe.statusCode===204)&&delete Qe.headers["content-encoding"],(Qe.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":Dt.push(lKr.default.createUnzip(hyp)),delete Qe.headers["content-encoding"];break;case"deflate":Dt.push(new fyp),Dt.push(lKr.default.createUnzip(hyp)),delete Qe.headers["content-encoding"];break;case"br":yyp&&(Dt.push(lKr.default.createBrotliDecompress(OWS)),delete Qe.headers["content-encoding"])}Te=Dt.length>1?Fzi.default.pipeline(Dt,ps.noop):Dt[0];let je=Fzi.default.finished(Te,()=>{je(),P()}),gt={status:Qe.statusCode,statusText:Qe.statusMessage,headers:new wz(Qe.headers),config:t,request:It};if(s==="stream")gt.data=Te,bXt(i,n,gt);else{let Ot=[],ye=0;Te.on("data",function(ft){Ot.push(ft),ye+=ft.length,t.maxContentLength>-1&&ye>t.maxContentLength&&(g=!0,Te.destroy(),n(new Ep("maxContentLength size of "+t.maxContentLength+" exceeded",Ep.ERR_BAD_RESPONSE,t,It)))}),Te.on("aborted",function(){if(g)return;let ft=new Ep("stream has been aborted",Ep.ERR_BAD_RESPONSE,t,It);Te.destroy(ft),n(ft)}),Te.on("error",function(ft){O.destroyed||n(Ep.from(ft,null,t,It))}),Te.on("end",function(){try{let ft=Ot.length===1?Ot[0]:Buffer.concat(Ot);s!=="arraybuffer"&&(ft=ft.toString(o),(!o||o==="utf8")&&(ft=ps.stripBOM(ft))),gt.data=ft}catch(ft){return n(Ep.from(ft,null,t,gt.request,gt))}bXt(i,n,gt)})}m.once("abort",Ot=>{Te.destroyed||(Te.emit("error",Ot),Te.destroy())})}),m.once("abort",Se=>{n(Se),O.destroy(Se)}),O.on("error",function(Qe){n(Ep.from(Qe,null,t,O))}),O.on("socket",function(Qe){Qe.setKeepAlive(!0,1e3*60)}),t.timeout){let Se=parseInt(t.timeout,10);if(Number.isNaN(Se)){n(new Ep("error trying to parse `config.timeout` to int",Ep.ERR_BAD_OPTION_VALUE,t,O));return}O.setTimeout(Se,function(){if(b)return;let Dt=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",Ee=t.transitional||UPn;t.timeoutErrorMessage&&(Dt=t.timeoutErrorMessage),n(new Ep(Dt,Ee.clarifyTimeoutError?Ep.ETIMEDOUT:Ep.ECONNABORTED,t,O)),E()})}if(ps.isStream(u)){let Se=!1,Qe=!1;u.on("end",()=>{Se=!0}),u.once("error",Dt=>{Qe=!0,O.destroy(Dt)}),u.on("close",()=>{!Se&&!Qe&&E(new _De("Request stream has been aborted",t,O))}),u.pipe(O)}else O.end(u)})};var Myp=BM.hasStandardBrowserEnv?((e,t)=>r=>(r=new URL(r,BM.origin),e.protocol===r.protocol&&e.host===r.host&&(t||e.port===r.port)))(new URL(BM.origin),BM.navigator&&/(msie|trident)/i.test(BM.navigator.userAgent)):()=>!0;var Ayp=BM.hasStandardBrowserEnv?{write(e,t,r,i,n,a){let u=[e+"="+encodeURIComponent(t)];ps.isNumber(r)&&u.push("expires="+new Date(r).toGMTString()),ps.isString(i)&&u.push("path="+i),ps.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 qyp=e=>e instanceof wz?{...e}:e;function L5t(e,t){t=t||{};let r={};function i(s,o,c,b){return ps.isPlainObject(s)&&ps.isPlainObject(o)?ps.merge.call({caseless:b},s,o):ps.isPlainObject(o)?ps.merge({},o):ps.isArray(o)?o.slice():o}function n(s,o,c,b){if(ps.isUndefined(o)){if(!ps.isUndefined(s))return i(void 0,s,c,b)}else return i(s,o,c,b)}function a(s,o){if(!ps.isUndefined(o))return i(void 0,o)}function u(s,o){if(ps.isUndefined(o)){if(!ps.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,c)=>n(qyp(s),qyp(o),c,!0)};return ps.forEach(Object.keys(Object.assign({},e,t)),function(o){let c=f[o]||n,b=c(e[o],t[o],o);ps.isUndefined(b)&&c!==l||(r[o]=b)}),r}var two=e=>{let t=L5t({},e),{data:r,withXSRFToken:i,xsrfHeaderName:n,xsrfCookieName:a,headers:u,auth:l}=t;t.headers=u=wz.from(u),t.url=zzi(Rzi(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(ps.isFormData(r)){if(BM.hasStandardBrowserEnv||BM.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(BM.hasStandardBrowserEnv&&(i&&ps.isFunction(i)&&(i=i(t)),i||i!==!1&&Myp(t.url))){let s=n&&a&&Ayp.read(a);s&&u.set(n,s)}return t};var MWS=typeof XMLHttpRequest<"u",Typ=MWS&&function(e){return new Promise(function(r,i){let n=two(e),a=n.data,u=wz.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 P=new XMLHttpRequest;P.open(n.method.toUpperCase(),n.url,!0),P.timeout=n.timeout;function E(){if(!P)return;let M=wz.from("getAllResponseHeaders"in P&&P.getAllResponseHeaders()),T={data:!l||l==="text"||l==="json"?P.responseText:P.response,status:P.status,statusText:P.statusText,headers:M,config:e,request:P};bXt(function($){r($),m()},function($){i($),m()},T),P=null}"onloadend"in P?P.onloadend=E:P.onreadystatechange=function(){!P||P.readyState!==4||P.status===0&&!(P.responseURL&&P.responseURL.indexOf("file:")===0)||setTimeout(E)},P.onabort=function(){P&&(i(new Ep("Request aborted",Ep.ECONNABORTED,e,P)),P=null)},P.onerror=function(){i(new Ep("Network Error",Ep.ERR_NETWORK,e,P)),P=null},P.ontimeout=function(){let D=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded",T=n.transitional||UPn;n.timeoutErrorMessage&&(D=n.timeoutErrorMessage),i(new Ep(D,T.clarifyTimeoutError?Ep.ETIMEDOUT:Ep.ECONNABORTED,e,P)),P=null},a===void 0&&u.setContentType(null),"setRequestHeader"in P&&ps.forEach(u.toJSON(),function(D,T){P.setRequestHeader(T,D)}),ps.isUndefined(n.withCredentials)||(P.withCredentials=!!n.withCredentials),l&&l!=="json"&&(P.responseType=n.responseType),s&&([b,O]=cKr(s,!0),P.addEventListener("progress",b)),f&&P.upload&&([c,g]=cKr(f),P.upload.addEventListener("progress",c),P.upload.addEventListener("loadend",g)),(n.cancelToken||n.signal)&&(o=M=>{P&&(i(!M||M.type?new _De(null,e,P):M),P.abort(),P=null)},n.cancelToken&&n.cancelToken.subscribe(o),n.signal&&(n.signal.aborted?o():n.signal.addEventListener("abort",o)));let A=Pfa(n.url);if(A&&BM.protocols.indexOf(A)===-1){i(new Ep("Unsupported protocol "+A+":",Ep.ERR_BAD_REQUEST,e));return}P.send(a||null)})};var AWS=(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 Ep?o:new _De(o instanceof Error?o.message:o))}},u=t&&setTimeout(()=>{u=null,a(new Ep(`timeout ${t} of ms exceeded`,Ep.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=()=>ps.asap(l),f}},Cyp=AWS;var qWS=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},TWS=async function*(e,t){for await(let r of CWS(e))yield*qWS(r,t)},CWS=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()}},mNs=(e,t,r,i)=>{let n=TWS(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 iwo=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",xyp=iwo&&typeof ReadableStream=="function",BWS=iwo&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),Iyp=(e,...t)=>{try{return!!e(...t)}catch{return!1}},xWS=xyp&&Iyp(()=>{let e=!1,t=new Request(BM.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),Byp=64*1024,PNs=xyp&&Iyp(()=>ps.isReadableStream(new Response("").body)),rwo={stream:PNs&&(e=>e.body)};iwo&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!rwo[t]&&(rwo[t]=ps.isFunction(e[t])?r=>r[t]():(r,i)=>{throw new Ep(`Response type '${t}' is not supported`,Ep.ERR_NOT_SUPPORT,i)})})})(new Response);var IWS=async e=>{if(e==null)return 0;if(ps.isBlob(e))return e.size;if(ps.isSpecCompliantForm(e))return(await new Request(BM.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(ps.isArrayBufferView(e)||ps.isArrayBuffer(e))return e.byteLength;if(ps.isURLSearchParams(e)&&(e=e+""),ps.isString(e))return(await BWS(e)).byteLength},zWS=async(e,t)=>{let r=ps.toFiniteNumber(e.getContentLength());return r??IWS(t)},zyp=iwo&&(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}=two(e);s=s?(s+"").toLowerCase():"text";let g=Cyp([n,a&&a.toAbortSignal()],u),O,m=g&&g.unsubscribe&&(()=>{g.unsubscribe()}),P;try{if(f&&xWS&&r!=="get"&&r!=="head"&&(P=await zWS(o,i))!==0){let T=new Request(t,{method:"POST",body:i,duplex:"half"}),z;if(ps.isFormData(i)&&(z=T.headers.get("content-type"))&&o.setContentType(z),T.body){let[$,x]=HPn(P,cKr($Pn(f)));i=mNs(T.body,Byp,$,x)}}ps.isString(c)||(c=c?"include":"omit");let E="credentials"in Request.prototype;O=new Request(t,{...b,signal:g,method:r.toUpperCase(),headers:o.normalize().toJSON(),body:i,duplex:"half",credentials:E?c:void 0});let A=await fetch(O),M=PNs&&(s==="stream"||s==="response");if(PNs&&(l||M&&m)){let T={};["status","statusText","headers"].forEach(L=>{T[L]=A[L]});let z=ps.toFiniteNumber(A.headers.get("content-length")),[$,x]=l&&HPn(z,cKr($Pn(l),!0))||[];A=new Response(mNs(A.body,Byp,$,()=>{x&&x(),m&&m()}),T)}s=s||"text";let D=await rwo[ps.findKey(rwo,s)||"text"](A,e);return!M&&m&&m(),await new Promise((T,z)=>{bXt(T,z,{data:D,headers:wz.from(A.headers),status:A.status,statusText:A.statusText,config:e,request:O})})}catch(E){throw m&&m(),E&&E.name==="TypeError"&&/fetch/i.test(E.message)?Object.assign(new Ep("Network Error",Ep.ERR_NETWORK,e,O),{cause:E.cause||E}):Ep.from(E,E&&E.code,e,O)}});var jNs={http:Eyp,xhr:Typ,fetch:zyp};ps.forEach(jNs,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});var Ryp=e=>`- ${e}`,RWS=e=>ps.isFunction(e)||e===null||e===!1,nwo={getAdapter:e=>{e=ps.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,!RWS(r)&&(i=jNs[(u=String(r)).toLowerCase()],i===void 0))throw new Ep(`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 :
@@ -1940,7 +1940,7 @@ ${M}${A}${D}${Czp.default.cursorHide}`});var eya=oi(wci(),1);function dUs(e,t){i
1940
1940
  Run ${$s.cyan("fern generator upgrade")} to upgrade your generators.`),n.length>2&&(r+=`
1941
1941
  Run ${$s.cyan("fern generator upgrade --list")} to see the full list of generator upgrades available.`),QPn(r,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"})}async function jUs({generatorUpgradeInfo:e,header:t,limit:r,includeBoxen:i=!0}){if(!rRp(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+=`
1942
1942
  ${await DgD(l.generatorName)} (${l.apiName!=null?"API: "+l.apiName+", ":""}Group: ${l.generatorGroup}) `+$s.dim(l.currentVersion)+$s.reset(" \u2192 ")+$s.green(l.latestVersion);return n+=`
1943
- `,i?QPn(n,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):n}async function DgD(e){let r=await new tRp.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 EgD({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){if(t.length===1){let l={type:"singleApi",versions:{}};return await nRp({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(f,s,o,c)=>{l.versions[s]==null&&(l.versions[s]={});let b=jci(o.name,c),g=await EJt({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 nRp({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=jci(s.name,o),b=await EJt({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 nRp({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 s5t({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 aRp(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=pne(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 aTo({project:e,cliContext:t,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){let u=[];if(e!=null){let l=await EgD({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(...aRp(s,f,t.logger));else u.push(...aRp(l.versions,void 0,t.logger))}return u}var sya=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 DSn=class extends Error{request;constructor(t){super(`Request timed out: ${t.method} ${t.url}`),this.name="TimeoutError",this.request=t}};var ESn=e=>e!==null&&typeof e=="object";var cya=(...e)=>{for(let t of e)if((!ESn(t)||Array.isArray(t))&&t!==void 0)throw new TypeError("The `options` argument must be an object");return DUs({},...e)},wUs=(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 oTo(e,t,r){return Object.hasOwn(t,r)&&t[r]===void 0?[]:DUs(e[r]??[],t[r]??[])}var SUs=(e={},t={})=>({beforeRequest:oTo(e,t,"beforeRequest"),beforeRetry:oTo(e,t,"beforeRetry"),afterResponse:oTo(e,t,"afterResponse"),beforeError:oTo(e,t,"beforeError")}),DUs=(...e)=>{let t={},r={},i={};for(let n of e)if(Array.isArray(n))Array.isArray(t)||(t=[]),t=[...t,...n];else if(ESn(n)){for(let[a,u]of Object.entries(n))ESn(u)&&a in t&&(u=DUs(t[a],u)),t={...t,[a]:u};ESn(n.hooks)&&(i=SUs(i,n.hooks),t.hooks=i),ESn(n.headers)&&(r=wUs(r,n.headers),t.headers=r)}return t};var oRp=(()=>{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})(),uRp=typeof globalThis.AbortController=="function",sRp=typeof globalThis.ReadableStream=="function",cRp=typeof globalThis.FormData=="function",uTo=["get","post","put","patch","head","delete"],MgD=()=>{};MgD();var lRp={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},sTo=2147483647,cTo=Symbol("stop"),fRp={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},dRp={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 _Rp=e=>uTo.includes(e)?e.toUpperCase():e,AgD=["get","put","head","delete","options","trace"],qgD=[408,413,429,500,502,503,504],TgD=[413,429,503],pRp={limit:2,methods:AgD,statusCodes:qgD,afterStatusCodes:TgD,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:e=>.3*2**(e-1)*1e3},hRp=(e={})=>{if(typeof e=="number")return{...pRp,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{...pRp,...e}};async function EUs(e,t,r,i){return new Promise((n,a)=>{let u=setTimeout(()=>{r&&r.abort(),a(new DSn(e))},i.timeout);i.fetch(e,t).then(n).catch(a).then(()=>{clearTimeout(u)})})}async function MUs(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 yRp=(e,t)=>{let r={};for(let i in t)!(i in dRp)&&!(i in fRp)&&!(i in e)&&(r[i]=t[i]);return r};var lya=class e{static create(t,r){let i=new e(t,r),n=async()=>{if(typeof i._options.timeout=="number"&&i._options.timeout>sTo)throw new RangeError(`The \`timeout\` option cannot be greater than ${sTo}`);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 sya(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(!sRp)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(lRp))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:wUs(this._input.headers,r.headers),hooks:SUs({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},r.hooks),method:_Rp(r.method??this._input.method),prefixUrl:String(r.prefixUrl||""),retry:hRp(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(uRp){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(oRp&&(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);(cRp&&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 DSn)throw t;if(t instanceof sya){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),sTo);if(this._retryCount<1)throw r;await MUs(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})===cTo)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=yRp(this.request,this._options),r=this.request;return this.request=r.clone(),this._options.timeout===!1?this._options.fetch(r,t):EUs(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 AUs=e=>{let t=(r,i)=>lya.create(r,cya(e,i));for(let r of uTo)t[r]=(i,n)=>lya.create(i,cya(e,n,{method:r}));return t.create=r=>AUs(cya(r)),t.extend=r=>(typeof r=="function"&&(r=r(e??{})),AUs(cya(e,r))),t.stop=cTo,t},CgD=AUs(),vRp=CgD;var LRp=oi(FRp(),1);function xUs(e){let t=(0,LRp.default)("npm",{registry:"https://registry.npmjs.org/"}),r=t[`${e}:registry`]||t.config_registry||t.registry;return r.slice(-1)==="/"?r:`${r}/`}var xNp=oi(BNp(),1),INp=oi(wci(),1),JUs=class extends Error{constructor(t){super(`Package \`${t}\` could not be found`),this.name="PackageNotFoundError"}},KUs=class extends Error{constructor(t,r){super(`Version \`${r}\` for package \`${t}\` could not be found`),this.name="VersionNotFoundError"}};async function YUs(e,t={}){let{version:r="latest"}=t,{omitDeprecated:i=!0}=t,n=e.split("/")[0],a=t.registryUrl??xUs(n),u=new URL(encodeURIComponent(e).replace(/^%40/,"@"),a),l=(0,xNp.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 vRp(u,{headers:f,keepalive:!0}).json()}catch(c){throw c?.response?.status===404?new JUs(e):c}if(t.allVersions)return s;let o=new KUs(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=INp.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 yya(e,t){let{version:r}=await YUs(e.toLowerCase(),t);return r}async function ppi({cliEnvironment:e,includePreReleases:t=!1}){return e.packageName!=="fern-api"?e.packageVersion:yya(e.packageName,{version:t?"prerelease":"latest"})}var zNp=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],mTo=class{environment;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=nb.Info;isLocal;constructor(t,r,{isLocal:i}){this.ttyAwareLogger=new nTo(t,r),this.isLocal=i??!1;let n=this.getPackageName(),a=this.getPackageVersion(),u=this.getCliName();(n==null||a==null||u==null)&&this.exitProgram(),this.environment={packageName:n,packageVersion:a,cliName:u}}getPackageName(){return"fern-api"}getPackageVersion(){return"0.62.2"}getCliName(){return"fern"}setLogLevel(t){this.logLevel=t}logDebugInfo(){this.logger.debug(`Running ${$s.bold(`${this.environment.cliName}`)} (${this.environment.packageName}@${this.environment.packageVersion})`)}failAndThrow(t,r){throw this.failWithoutThrowing(t,r),new v5}failWithoutThrowing(t,r){this.didSucceed=!1,eTo({message:t,error:r,logger:this.logger})}async exit({code:t}={}){(!this._suppressUpgradeMessage||!this.isLocal)&&await this.nudgeUpgradeIfAvailable(),this.ttyAwareLogger.finish(),await(await NPn()).flush(),this.exitProgram({code:t})}async nudgeUpgradeIfAvailable(){try{let t=await Promise.race([this.isUpgradeAvailable(),new Promise((i,n)=>setTimeout(()=>n("Request timed out"),300))]),r=await iRp({cliEnvironment:this.environment,upgradeInfo:t});r!=null&&(r.endsWith(`
1943
+ `,i?QPn(n,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):n}async function DgD(e){let r=await new tRp.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 EgD({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){if(t.length===1){let l={type:"singleApi",versions:{}};return await nRp({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(f,s,o,c)=>{l.versions[s]==null&&(l.versions[s]={});let b=jci(o.name,c),g=await EJt({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 nRp({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=jci(s.name,o),b=await EJt({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 nRp({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 s5t({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 aRp(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=pne(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 aTo({project:e,cliContext:t,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){let u=[];if(e!=null){let l=await EgD({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(...aRp(s,f,t.logger));else u.push(...aRp(l.versions,void 0,t.logger))}return u}var sya=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 DSn=class extends Error{request;constructor(t){super(`Request timed out: ${t.method} ${t.url}`),this.name="TimeoutError",this.request=t}};var ESn=e=>e!==null&&typeof e=="object";var cya=(...e)=>{for(let t of e)if((!ESn(t)||Array.isArray(t))&&t!==void 0)throw new TypeError("The `options` argument must be an object");return DUs({},...e)},wUs=(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 oTo(e,t,r){return Object.hasOwn(t,r)&&t[r]===void 0?[]:DUs(e[r]??[],t[r]??[])}var SUs=(e={},t={})=>({beforeRequest:oTo(e,t,"beforeRequest"),beforeRetry:oTo(e,t,"beforeRetry"),afterResponse:oTo(e,t,"afterResponse"),beforeError:oTo(e,t,"beforeError")}),DUs=(...e)=>{let t={},r={},i={};for(let n of e)if(Array.isArray(n))Array.isArray(t)||(t=[]),t=[...t,...n];else if(ESn(n)){for(let[a,u]of Object.entries(n))ESn(u)&&a in t&&(u=DUs(t[a],u)),t={...t,[a]:u};ESn(n.hooks)&&(i=SUs(i,n.hooks),t.hooks=i),ESn(n.headers)&&(r=wUs(r,n.headers),t.headers=r)}return t};var oRp=(()=>{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})(),uRp=typeof globalThis.AbortController=="function",sRp=typeof globalThis.ReadableStream=="function",cRp=typeof globalThis.FormData=="function",uTo=["get","post","put","patch","head","delete"],MgD=()=>{};MgD();var lRp={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},sTo=2147483647,cTo=Symbol("stop"),fRp={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},dRp={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 _Rp=e=>uTo.includes(e)?e.toUpperCase():e,AgD=["get","put","head","delete","options","trace"],qgD=[408,413,429,500,502,503,504],TgD=[413,429,503],pRp={limit:2,methods:AgD,statusCodes:qgD,afterStatusCodes:TgD,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:e=>.3*2**(e-1)*1e3},hRp=(e={})=>{if(typeof e=="number")return{...pRp,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{...pRp,...e}};async function EUs(e,t,r,i){return new Promise((n,a)=>{let u=setTimeout(()=>{r&&r.abort(),a(new DSn(e))},i.timeout);i.fetch(e,t).then(n).catch(a).then(()=>{clearTimeout(u)})})}async function MUs(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 yRp=(e,t)=>{let r={};for(let i in t)!(i in dRp)&&!(i in fRp)&&!(i in e)&&(r[i]=t[i]);return r};var lya=class e{static create(t,r){let i=new e(t,r),n=async()=>{if(typeof i._options.timeout=="number"&&i._options.timeout>sTo)throw new RangeError(`The \`timeout\` option cannot be greater than ${sTo}`);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 sya(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(!sRp)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(lRp))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:wUs(this._input.headers,r.headers),hooks:SUs({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},r.hooks),method:_Rp(r.method??this._input.method),prefixUrl:String(r.prefixUrl||""),retry:hRp(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(uRp){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(oRp&&(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);(cRp&&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 DSn)throw t;if(t instanceof sya){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),sTo);if(this._retryCount<1)throw r;await MUs(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})===cTo)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=yRp(this.request,this._options),r=this.request;return this.request=r.clone(),this._options.timeout===!1?this._options.fetch(r,t):EUs(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 AUs=e=>{let t=(r,i)=>lya.create(r,cya(e,i));for(let r of uTo)t[r]=(i,n)=>lya.create(i,cya(e,n,{method:r}));return t.create=r=>AUs(cya(r)),t.extend=r=>(typeof r=="function"&&(r=r(e??{})),AUs(cya(e,r))),t.stop=cTo,t},CgD=AUs(),vRp=CgD;var LRp=oi(FRp(),1);function xUs(e){let t=(0,LRp.default)("npm",{registry:"https://registry.npmjs.org/"}),r=t[`${e}:registry`]||t.config_registry||t.registry;return r.slice(-1)==="/"?r:`${r}/`}var xNp=oi(BNp(),1),INp=oi(wci(),1),JUs=class extends Error{constructor(t){super(`Package \`${t}\` could not be found`),this.name="PackageNotFoundError"}},KUs=class extends Error{constructor(t,r){super(`Version \`${r}\` for package \`${t}\` could not be found`),this.name="VersionNotFoundError"}};async function YUs(e,t={}){let{version:r="latest"}=t,{omitDeprecated:i=!0}=t,n=e.split("/")[0],a=t.registryUrl??xUs(n),u=new URL(encodeURIComponent(e).replace(/^%40/,"@"),a),l=(0,xNp.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 vRp(u,{headers:f,keepalive:!0}).json()}catch(c){throw c?.response?.status===404?new JUs(e):c}if(t.allVersions)return s;let o=new KUs(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=INp.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 yya(e,t){let{version:r}=await YUs(e.toLowerCase(),t);return r}async function ppi({cliEnvironment:e,includePreReleases:t=!1}){return e.packageName!=="fern-api"?e.packageVersion:yya(e.packageName,{version:t?"prerelease":"latest"})}var zNp=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],mTo=class{environment;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=nb.Info;isLocal;constructor(t,r,{isLocal:i}){this.ttyAwareLogger=new nTo(t,r),this.isLocal=i??!1;let n=this.getPackageName(),a=this.getPackageVersion(),u=this.getCliName();(n==null||a==null||u==null)&&this.exitProgram(),this.environment={packageName:n,packageVersion:a,cliName:u}}getPackageName(){return"fern-api"}getPackageVersion(){return"0.62.4"}getCliName(){return"fern"}setLogLevel(t){this.logLevel=t}logDebugInfo(){this.logger.debug(`Running ${$s.bold(`${this.environment.cliName}`)} (${this.environment.packageName}@${this.environment.packageVersion})`)}failAndThrow(t,r){throw this.failWithoutThrowing(t,r),new v5}failWithoutThrowing(t,r){this.didSucceed=!1,eTo({message:t,error:r,logger:this.logger})}async exit({code:t}={}){(!this._suppressUpgradeMessage||!this.isLocal)&&await this.nudgeUpgradeIfAvailable(),this.ttyAwareLogger.finish(),await(await NPn()).flush(),this.exitProgram({code:t})}async nudgeUpgradeIfAvailable(){try{let t=await Promise.race([this.isUpgradeAvailable(),new Promise((i,n)=>setTimeout(()=>n("Request timed out"),300))]),r=await iRp({cliEnvironment:this.environment,upgradeInfo:t});r!=null&&(r.endsWith(`
1944
1944
  `)||(r+=`
1945
1945
  `),this.stderr.info(r))}catch{}}async exitIfFailed(){this.didSucceed||await this.exit()}exitProgram({code:t}={}){process.exit(t??(this.didSucceed?0:1))}longestWorkspaceName;registerWorkspaces(t){let r=Sys(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 tya(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 v5}finally{i.finish()}return n}async instrumentPostHogEvent(t){this.isLocal||(await NPn()).sendEvent(t)}logger=HGt((t,...r)=>this.log(t,...r));stderr=HGt((t,...r)=>this.logStderr(t,...r));constructTaskInitForWorkspace(t){let r=RNp(t.type==="docs"?"docs":t.workspaceName??"api"),i=1+(this.longestWorkspaceName!=null?RNp(this.longestWorkspaceName):r).length,n=r.padEnd(i),a=zNp[this.numTasks++%zNp.length],u=$s.hex(a)(n);return{...this.constructTaskInit(),logPrefix:u}}constructTaskInit(){return{logImmediately:t=>this.logImmediately(t),takeOverTerminal:t=>this.ttyAwareLogger.takeOverTerminal(t),onResult:t=>{t===WC.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}])}logStderr(t,...r){this.logImmediately([{parts:r,level:t,time:new Date}],{stderr:!0})}logImmediately(t,{stderr:r=!1}={}){let i=t.filter(n=>Lsi.indexOf(n.level)>=Lsi.indexOf(this.logLevel));this.ttyAwareLogger.log(i,{includeDebugInfo:this.logLevel===nb.Debug,stderr:r})}_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 ppi({cliEnvironment:this.environment,includePreReleases:t}),i=pne(r,this.environment.packageVersion);this.logger.debug(`Latest version: ${r}. `+(i?"Upgrade available.":"No upgrade available."));let n={isUpgradeAvailable:i,latestVersion:r},a=await aTo({project:this.project,cliContext:this});this._isUpgradeAvailable={cliUpgradeInfo:n,generatorUpgradeInfo:a}}return this._isUpgradeAvailable}async confirmPrompt(t,r=!1){return await oUs({message:t,default:r})}async getInput(t){return await uUs({message:t.message,default:t.default})}};function RNp(e){return`[${e}]:`}var PZp=require("fs/promises");function oRe({breadcrumbs:e=[],title:t,subtitle:r}){let i=[];return e.length>0&&i.push($s.blue(e.join(" -> "))),i.push(t),r!=null&&i.push($s.dim(r)),i.join(`
1946
1946
  `)}var pGp=require("fs/promises");var v9t=class{generatorsConfiguration;workspaceName;cliVersion;absoluteFilePath;changelog;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 BDe=class extends v9t{definition;sources;type="fern";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 vya=class{context;constructor(t){this.context=t}};var PTo=class e{files={};directories={};getAllFiles(){let t={},r=(i,n)=>{for(let[u,l]of Object.entries(i.files)){let f=n!=null?ey.of(`${n}${E8t}${u}`):ey.of(u);t[f]=l}let a=Object.keys(i.directories).sort();for(let u of a){let l=n!=null?`${n}${E8t}${u}`:u,f=i.directories[u];r(f,l)}};return r(this),t}getOrCreateFile(t){return this.getOrCreateFileRecursive(t.split(E8t))}getOrCreateFileRecursive(t){if(t.length===1)return this.files[ey.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 VNi=class{enableUniqueErrorsPerEndpoint;root;rootApiFile;packageMarkerFile={};basePath=void 0;constructor(t){this.enableUniqueErrorsPerEndpoint=t,this.root=new PTo,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 VJt(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"]))NNp(i)&&t.push(i.header);let r=this.getVersionHeader();return r!=null&&t.push(r),new Set(t)}getAuthHeaderName(){if(this.rootApiFile["auth-schemes"]!=null){for(let t of Object.values(this.rootApiFile["auth-schemes"]))if(NNp(t))return t.header;return"Authorization"}}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??L_((wxe(r)+"/"+TBi(r,{stripExtension:!0})).replaceAll("__package__","root"));if(t===ey.of(uF))return this.rootApiFile.imports==null&&(this.rootApiFile.imports={}),this.rootApiFile.imports[n]=uio(wxe(Jvn.of(`/${t}`)),Jvn.of(`/${r}`)),n;let a=this.getOrCreateFile(t);return a.imports==null&&(a.imports={}),a.imports[n]=uio(wxe(Jvn.of(`/${t}`)),Jvn.of(`/${r}`)),n}addType(t,{name:r,schema:i}){if(t===ey.of(uF))return;let n=this.getOrCreateFile(t);n.types==null&&(n.types={}),n.types[r]=i}addTypeExample(t,r,i){let n=this.getOrCreateFile(t);n.types==null&&(n.types={});let a=n.types[r];a!=null&&(typeof a=="string"?n.types[r]={type:a,examples:[i]}:(a.examples==null&&(a.examples=[]),a.examples.push(i)))}addError(t,{name:r,schema:i}){let n=this.getOrCreateFile(t);n.errors==null&&(n.errors={}),n.errors[r]==null?n.errors[r]=i:n.errors[r]?.type!==i.type&&(n.errors[r]={"status-code":i["status-code"],type:"unknown"})}addErrorExample(t,{name:r,example:i}){let n=this.getOrCreateFile(t);if(n.errors==null)return;let a=n.errors[r];if(a==null)return;a.examples==null&&(a.examples=[]),(a.examples.some(l=>ESe(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=QR(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:QR(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:QR(r,u.path)}]))})}return{rootApiFile:this.rootApiFile,packageMarkerFile:this.packageMarkerFile,definitionFiles:t}}getOrCreateFile(t){return t===lS?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 NNp(e){return e?.header!=null}var _ne={openapi:e=>({...e,type:"openapi",_visit:function(t){return _ne._visit(this,t)}}),protobuf:e=>({...e,type:"protobuf",_visit:function(t){return _ne._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 xSn={protobuf:e=>({...e,type:"protobuf",_visit:function(t){return xSn._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"protobuf":return t.protobuf(e);default:return t._other(e)}}};var X5={basic:e=>({...e,type:"basic",_visit:function(t){return X5._visit(this,t)}}),bearer:e=>({...e,type:"bearer",_visit:function(t){return X5._visit(this,t)}}),header:e=>({...e,type:"header",_visit:function(t){return X5._visit(this,t)}}),query:e=>({...e,type:"query",_visit:function(t){return X5._visit(this,t)}}),oauth:e=>({...e,type:"oauth",_visit:function(t){return X5._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 Zg={primitive:e=>({value:e,type:"primitive",_visit:function(t){return Zg._visit(this,t)}}),object:e=>({...e,type:"object",_visit:function(t){return Zg._visit(this,t)}}),array:e=>({value:e,type:"array",_visit:function(t){return Zg._visit(this,t)}}),map:e=>({value:e,type:"map",_visit:function(t){return Zg._visit(this,t)}}),enum:e=>({value:e,type:"enum",_visit:function(t){return Zg._visit(this,t)}}),literal:e=>({value:e,type:"literal",_visit:function(t){return Zg._visit(this,t)}}),oneOf:e=>({value:e,type:"oneOf",_visit:function(t){return Zg._visit(this,t)}}),unknown:e=>({value:e,type:"unknown",_visit:function(t){return Zg._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 l_={int:e=>({value:e,type:"int",_visit:function(t){return l_._visit(this,t)}}),int64:e=>({value:e,type:"int64",_visit:function(t){return l_._visit(this,t)}}),uint:e=>({value:e,type:"uint",_visit:function(t){return l_._visit(this,t)}}),uint64:e=>({value:e,type:"uint64",_visit:function(t){return l_._visit(this,t)}}),float:e=>({value:e,type:"float",_visit:function(t){return l_._visit(this,t)}}),double:e=>({value:e,type:"double",_visit:function(t){return l_._visit(this,t)}}),string:e=>({value:e,type:"string",_visit:function(t){return l_._visit(this,t)}}),datetime:e=>({value:e,type:"datetime",_visit:function(t){return l_._visit(this,t)}}),date:e=>({value:e,type:"date",_visit:function(t){return l_._visit(this,t)}}),base64:e=>({value:e,type:"base64",_visit:function(t){return l_._visit(this,t)}}),boolean:e=>({value:e,type:"boolean",_visit:function(t){return l_._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 ISn={boolean:e=>({value:e,type:"boolean",_visit:function(t){return ISn._visit(this,t)}}),string:e=>({value:e,type:"string",_visit:function(t){return ISn._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 _pi={discriminated:e=>({value:e,type:"discriminated",_visit:function(t){return _pi._visit(this,t)}}),undiscriminated:e=>({value:e,type:"undiscriminated",_visit:function(t){return _pi._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 VV={GenerallyAvailable:"GenerallyAvailable",Beta:"Beta",Deprecated:"Deprecated",_visit:(e,t)=>{switch(e){case VV.GenerallyAvailable:return t.generallyAvailable();case VV.Beta:return t.beta();case VV.Deprecated:return t.deprecated();default:return t._other()}}};var uRe={cursor:e=>({...e,type:"cursor",_visit:function(t){return uRe._visit(this,t)}}),offset:e=>({...e,type:"offset",_visit:function(t){return uRe._visit(this,t)}}),custom:e=>({...e,type:"custom",_visit:function(t){return uRe._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"cursor":return t.cursor(e);case"offset":return t.offset(e);case"custom":return t.custom(e);default:return t._other(e)}}};var kKr={language:e=>({...e,type:"language",_visit:function(t){return kKr._visit(this,t)}}),sdk:e=>({...e,type:"sdk",_visit:function(t){return kKr._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 WV={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 WV.Curl:return t.curl();case WV.Python:return t.python();case WV.Javascript:return t.javascript();case WV.Typescript:return t.typescript();case WV.Go:return t.go();case WV.Ruby:return t.ruby();case WV.Csharp:return t.csharp();case WV.Java:return t.java();case WV.Js:return t.js();case WV.Node:return t.node();case WV.Ts:return t.ts();case WV.Nodets:return t.nodets();case WV.Golang:return t.golang();case WV.Dotnet:return t.dotnet();case WV.Jvm:return t.jvm();default:return t._other()}}};var b9t={unknown:e=>({value:e,type:"unknown",_visit:function(t){return b9t._visit(this,t)}}),full:e=>({...e,type:"full",_visit:function(t){return b9t._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 g9t={withStreaming:e=>({...e,type:"withStreaming",_visit:function(t){return g9t._visit(this,t)}}),withoutStreaming:e=>({value:e,type:"withoutStreaming",_visit:function(t){return g9t._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 JG={Get:"GET",Post:"POST",Put:"PUT",Patch:"PATCH",Delete:"DELETE",Head:"HEAD",Options:"OPTIONS",Trace:"TRACE",_visit:(e,t)=>{switch(e){case JG.Get:return t.get();case JG.Post:return t.post();case JG.Put:return t.put();case JG.Patch:return t.patch();case JG.Delete:return t.delete();case JG.Head:return t.head();case JG.Options:return t.options();case JG.Trace:return t.trace();default:return t._other()}}};var hpi={octetStream:e=>({...e,type:"octetStream",_visit:function(t){return hpi._visit(this,t)}}),multipart:e=>({...e,type:"multipart",_visit:function(t){return hpi._visit(this,t)}}),json:e=>({...e,type:"json",_visit:function(t){return hpi._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 eYr={file:e=>({...e,type:"file",_visit:function(t){return eYr._visit(this,t)}}),json:e=>({value:e,type:"json",_visit:function(t){return eYr._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 KG={file:e=>({...e,type:"file",_visit:function(t){return KG._visit(this,t)}}),json:e=>({...e,type:"json",_visit:function(t){return KG._visit(this,t)}}),text:e=>({...e,type:"text",_visit:function(t){return KG._visit(this,t)}}),bytes:e=>({...e,type:"bytes",_visit:function(t){return KG._visit(this,t)}}),streamingSse:e=>({...e,type:"streamingSse",_visit:function(t){return KG._visit(this,t)}}),streamingText:e=>({...e,type:"streamingText",_visit:function(t){return KG._visit(this,t)}}),streamingJson:e=>({...e,type:"streamingJson",_visit:function(t){return KG._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"file":return t.file(e);case"json":return t.json(e);case"text":return t.text(e);case"bytes":return t.bytes(e);case"streamingSse":return t.streamingSse(e);case"streamingText":return t.streamingText(e);case"streamingJson":return t.streamingJson(e);default:return t._other(e)}}};var wy={primitive:e=>({...e,type:"primitive",_visit:function(t){return wy._visit(this,t)}}),object:e=>({...e,type:"object",_visit:function(t){return wy._visit(this,t)}}),array:e=>({...e,type:"array",_visit:function(t){return wy._visit(this,t)}}),map:e=>({...e,type:"map",_visit:function(t){return wy._visit(this,t)}}),optional:e=>({...e,type:"optional",_visit:function(t){return wy._visit(this,t)}}),enum:e=>({...e,type:"enum",_visit:function(t){return wy._visit(this,t)}}),reference:e=>({...e,type:"reference",_visit:function(t){return wy._visit(this,t)}}),literal:e=>({...e,type:"literal",_visit:function(t){return wy._visit(this,t)}}),oneOf:e=>({value:e,type:"oneOf",_visit:function(t){return wy._visit(this,t)}}),nullable:e=>({...e,type:"nullable",_visit:function(t){return wy._visit(this,t)}}),unknown:e=>({...e,type:"unknown",_visit:function(t){return wy._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 Ej={int:e=>({...e,type:"int",_visit:function(t){return Ej._visit(this,t)}}),int64:e=>({...e,type:"int64",_visit:function(t){return Ej._visit(this,t)}}),uint:()=>({type:"uint",_visit:function(e){return Ej._visit(this,e)}}),uint64:()=>({type:"uint64",_visit:function(e){return Ej._visit(this,e)}}),float:()=>({type:"float",_visit:function(e){return Ej._visit(this,e)}}),double:e=>({...e,type:"double",_visit:function(t){return Ej._visit(this,t)}}),string:e=>({...e,type:"string",_visit:function(t){return Ej._visit(this,t)}}),datetime:()=>({type:"datetime",_visit:function(e){return Ej._visit(this,e)}}),date:()=>({type:"date",_visit:function(e){return Ej._visit(this,e)}}),base64:()=>({type:"base64",_visit:function(e){return Ej._visit(this,e)}}),boolean:e=>({...e,type:"boolean",_visit:function(t){return Ej._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 Cx={boolean:e=>({value:e,type:"boolean",_visit:function(t){return Cx._visit(this,t)}}),string:e=>({value:e,type:"string",_visit:function(t){return Cx._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 tYr={discriminated:e=>({...e,type:"discriminated",_visit:function(t){return tYr._visit(this,t)}}),undiscriminated:e=>({...e,type:"undiscriminated",_visit:function(t){return tYr._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 xDe={octetStream:e=>({...e,type:"octetStream",_visit:function(t){return xDe._visit(this,t)}}),multipart:e=>({...e,type:"multipart",_visit:function(t){return xDe._visit(this,t)}}),json:e=>({...e,type:"json",_visit:function(t){return xDe._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 CT={file:e=>({...e,type:"file",_visit:function(t){return CT._visit(this,t)}}),json:e=>({...e,type:"json",_visit:function(t){return CT._visit(this,t)}}),text:e=>({...e,type:"text",_visit:function(t){return CT._visit(this,t)}}),bytes:e=>({...e,type:"bytes",_visit:function(t){return CT._visit(this,t)}}),streamingSse:e=>({...e,type:"streamingSse",_visit:function(t){return CT._visit(this,t)}}),streamingText:e=>({...e,type:"streamingText",_visit:function(t){return CT._visit(this,t)}}),streamingJson:e=>({...e,type:"streamingJson",_visit:function(t){return CT._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"file":return t.file(e);case"json":return t.json(e);case"text":return t.text(e);case"bytes":return t.bytes(e);case"streamingSse":return t.streamingSse(e);case"streamingText":return t.streamingText(e);case"streamingJson":return t.streamingJson(e);default:return t._other(e)}}};var Bl={primitive:e=>({...e,type:"primitive",_visit:function(t){return Bl._visit(this,t)}}),object:e=>({...e,type:"object",_visit:function(t){return Bl._visit(this,t)}}),array:e=>({...e,type:"array",_visit:function(t){return Bl._visit(this,t)}}),map:e=>({...e,type:"map",_visit:function(t){return Bl._visit(this,t)}}),optional:e=>({...e,type:"optional",_visit:function(t){return Bl._visit(this,t)}}),enum:e=>({...e,type:"enum",_visit:function(t){return Bl._visit(this,t)}}),reference:e=>({...e,type:"reference",_visit:function(t){return Bl._visit(this,t)}}),literal:e=>({...e,type:"literal",_visit:function(t){return Bl._visit(this,t)}}),oneOf:e=>({value:e,type:"oneOf",_visit:function(t){return Bl._visit(this,t)}}),nullable:e=>({...e,type:"nullable",_visit:function(t){return Bl._visit(this,t)}}),unknown:e=>({...e,type:"unknown",_visit:function(t){return Bl._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 xX={discriminated:e=>({...e,type:"discriminated",_visit:function(t){return xX._visit(this,t)}}),undiscriminated:e=>({...e,type:"undiscriminated",_visit:function(t){return xX._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 np={int:e=>({...e,type:"int",_visit:function(t){return np._visit(this,t)}}),int64:e=>({...e,type:"int64",_visit:function(t){return np._visit(this,t)}}),uint:e=>({...e,type:"uint",_visit:function(t){return np._visit(this,t)}}),uint64:e=>({...e,type:"uint64",_visit:function(t){return np._visit(this,t)}}),float:e=>({...e,type:"float",_visit:function(t){return np._visit(this,t)}}),double:e=>({...e,type:"double",_visit:function(t){return np._visit(this,t)}}),string:e=>({...e,type:"string",_visit:function(t){return np._visit(this,t)}}),datetime:e=>({...e,type:"datetime",_visit:function(t){return np._visit(this,t)}}),date:e=>({...e,type:"date",_visit:function(t){return np._visit(this,t)}}),base64:e=>({...e,type:"base64",_visit:function(t){return np._visit(this,t)}}),boolean:e=>({...e,type:"boolean",_visit:function(t){return np._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 pv={};jn(pv,{AllOfPropertyConflict:()=>nDn,ArraySchema:()=>NCo,ArraySchemaWithExample:()=>dBo,Availability:()=>CTo,Base64WithExample:()=>uBo,BasicSecurityScheme:()=>ITo,BearerSecurityScheme:()=>zTo,BooleanSchema:()=>CCo,BooleanWithExample:()=>sBo,BytesResponse:()=>KSn,CasingOverrides:()=>FTo,CommonProperty:()=>GCo,CommonPropertyWithExample:()=>mBo,CursorPagination:()=>hCo,CustomCodeSample:()=>pCo,CustomCodeSampleLanguage:()=>lCo,CustomCodeSampleSdk:()=>dCo,CustomPagination:()=>vCo,DateWithExample:()=>oBo,DatetimeWithExample:()=>aBo,DiscriminatedOneOfSchema:()=>HCo,DiscriminatedOneOfSchemaWithExample:()=>gBo,DoubleSchema:()=>qCo,DoubleWithExample:()=>iBo,Encoding:()=>TTo,Endpoint:()=>bCo,EndpointExample:()=>kSn,EndpointResponseExample:()=>cCo,EndpointSdkName:()=>aZt,EndpointWithExample:()=>_Fp,EnumSchema:()=>FSn,EnumSchemaWithExample:()=>lBo,EnumValue:()=>bpi,ErrorExample:()=>nCo,FernExample:()=>oCo,FileResponse:()=>QSn,FileSchema:()=>XTo,FloatWithExample:()=>rBo,FullEndpointExample:()=>_Co,FullExample:()=>cq,FullObjectExample:()=>GTo,FullOneOfExample:()=>JTo,GlobalHeader:()=>xCo,Header:()=>Opi,HeaderExample:()=>ZSn,HeaderSecurityScheme:()=>RTo,HeaderWithExample:()=>jpi,HttpEndpointServer:()=>YSn,HttpError:()=>aCo,HttpErrorWithExample:()=>XCo,HttpMethod:()=>VSn,IdempotencyHeader:()=>ICo,Int64WithExample:()=>kCo,IntSchema:()=>MCo,IntWithExample:()=>ZCo,JsonRequest:()=>tCo,JsonRequestWithExample:()=>JCo,JsonResponse:()=>JSn,JsonResponseWithExample:()=>uDn,KeyValuePair:()=>QTo,LiteralExample:()=>$To,LiteralSchema:()=>iDn,LiteralSchemaValue:()=>zCo,LongSchema:()=>ACo,MapSchema:()=>FCo,MapSchemaWithExample:()=>pBo,MultipartRequest:()=>GSn,MultipartRequestProperty:()=>eCo,MultipartRequestPropertyEncoding:()=>kTo,MultipartSchema:()=>ZTo,NamedFullExample:()=>uZt,Namespace:()=>LTo,NamespaceId:()=>HTo,NullableSchema:()=>UCo,NullableSchemaWithExample:()=>hBo,OauthSecurityScheme:()=>VTo,ObjectProperty:()=>WCo,ObjectPropertyConflictInfo:()=>aDn,ObjectPropertyWithExample:()=>bBo,ObjectSchema:()=>RCo,ObjectSchemaWithExample:()=>yBo,OctetStreamRequest:()=>$Sn,OffsetPagination:()=>yCo,OneOfSchema:()=>VCo,OneOfSchemaWithExample:()=>vBo,OpenApiIntermediateRepresentation:()=>dFp,OpenApiSource:()=>ETo,OptionalSchema:()=>LCo,OptionalSchemaWithExample:()=>_Bo,Pagination:()=>eDn,PathParameter:()=>WSn,PathParameterExample:()=>uCo,PathParameterWithExample:()=>QCo,PrimitiveExample:()=>USn,PrimitiveSchema:()=>Ppi,PrimitiveSchemaValue:()=>BCo,PrimitiveSchemaValueWithExample:()=>cBo,PrimitiveSchemaWithExample:()=>sDn,PropertyKey:()=>LSn,ProtobufEncoding:()=>qTo,ProtobufSource:()=>MTo,QueryParameter:()=>HSn,QueryParameterExample:()=>XSn,QueryParameterWithExample:()=>oDn,QuerySecurityScheme:()=>NTo,ReferencedSchema:()=>oZt,Request:()=>rCo,RequestWithExample:()=>KCo,Response:()=>iCo,ResponseWithExample:()=>YCo,Schema:()=>em,SchemaId:()=>IX,SchemaWithExample:()=>NM,Schemas:()=>ECo,SdkGroup:()=>UTo,SdkGroupInfo:()=>KTo,SdkGroupName:()=>gpi,SecurityScheme:()=>WTo,SecuritySchemeId:()=>xTo,Server:()=>mya,Source:()=>ATo,StatusCode:()=>nZt,StreamingResponseExample:()=>sCo,StringSchema:()=>TCo,StringSchemaWithExample:()=>nBo,SupportedSdkLanguage:()=>fCo,Tag:()=>BTo,TagId:()=>zX,Tags:()=>YTo,TextResponse:()=>mpi,Uint64WithExample:()=>tBo,UintWithExample:()=>eBo,UnDiscriminatedOneOfSchema:()=>$Co,UnDiscriminatedOneOfSchemaWithExample:()=>OBo,UnknownSchemaWithExample:()=>fBo,Webhook:()=>gCo,WebhookExampleCall:()=>rDn,WebhookHttpMethod:()=>tDn,WebhookWithExample:()=>hFp,WebsocketChannel:()=>DCo,WebsocketHandshake:()=>OCo,WebsocketHandshakeWithExample:()=>pFp,WebsocketMessageExample:()=>wCo,WebsocketMessageOrigin:()=>mCo,WebsocketMessageSchema:()=>PCo,WebsocketServer:()=>jCo,WebsocketSessionExample:()=>SCo,WithAvailability:()=>_h,WithDescription:()=>hf,WithEncoding:()=>hne,WithInline:()=>gE,WithName:()=>p0,WithNamespace:()=>zb,WithSdkGroupName:()=>VO,WithSource:()=>Bh,WithStatusCode:()=>sRe,WithTitle:()=>UO,commons:()=>tVs,example:()=>rVs,finalIr:()=>iVs,parseIr:()=>nVs});var tVs={};jn(tVs,{BasicSecurityScheme:()=>ITo,BearerSecurityScheme:()=>zTo,Encoding:()=>TTo,HeaderSecurityScheme:()=>RTo,Namespace:()=>LTo,NamespaceId:()=>HTo,OauthSecurityScheme:()=>VTo,OpenApiSource:()=>ETo,ProtobufEncoding:()=>qTo,ProtobufSource:()=>MTo,QuerySecurityScheme:()=>NTo,SchemaId:()=>IX,SdkGroup:()=>UTo,SdkGroupName:()=>gpi,SecurityScheme:()=>WTo,SecuritySchemeId:()=>xTo,Server:()=>mya,Source:()=>ATo,StatusCode:()=>nZt,Tag:()=>BTo,TagId:()=>zX,WithAvailability:()=>_h,WithDescription:()=>hf,WithEncoding:()=>hne,WithInline:()=>gE,WithName:()=>p0,WithNamespace:()=>zb,WithSdkGroupName:()=>VO,WithSource:()=>Bh,WithStatusCode:()=>sRe,WithTitle:()=>UO});var At={};jn(At,{JsonError:()=>zSn,ParseError:()=>RSn,any:()=>kNp,bigint:()=>LNp,boolean:()=>eFp,booleanLiteral:()=>ZNp,date:()=>UNp,discriminant:()=>cFp,enum_:()=>wTo,getObjectLikeUtils:()=>O9t,getObjectUtils:()=>WNi,getSchemaUtils:()=>sq,isProperty:()=>vpi,lazy:()=>VNp,lazyObject:()=>KNp,list:()=>DTo,number:()=>tFp,object:()=>STo,objectWithoutOptionalProperties:()=>JNp,optional:()=>XUs,property:()=>HNp,record:()=>aFp,set:()=>oFp,string:()=>rFp,stringLiteral:()=>XNp,transform:()=>ZUs,undiscriminatedUnion:()=>sFp,union:()=>fFp,unknown:()=>iFp,withParsedProperties:()=>eVs});var nj={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 RM(e,t){return`Expected ${t}. Received ${ROD(e)}.`}function ROD(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 Z5(e){return{...e,json:FNp(e.json),parse:FNp(e.parse)}}function FNp(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(`
@@ -1954,7 +1954,7 @@ plugins:
1954
1954
  - enum_type=string
1955
1955
  - default_response=false
1956
1956
  - source_root=${e}
1957
- `}async function mRe({context:e,specs:t,relativePathToDependency:r}){let i=new vNo({context:e}),n=t.filter(l=>l.type==="openapi").map(l=>({...l,relativePathToDependency:r})),a=t.filter(l=>l.type==="protobuf"),u=await Promise.all(a.map(async l=>dHD({generator:i,protobufSpec:l,relativePathToDependency:r})));return[...n,...u]}async function dHD({generator:e,protobufSpec:t,relativePathToDependency:r}){return{type:"openapi",absoluteFilepath:await e.generate({absoluteFilepathToProtobufRoot:t.absoluteFilepathToProtobufRoot,absoluteFilepathToProtobufTarget:t.absoluteFilepathToProtobufTarget,relativeFilepathToProtobufRoot:t.relativeFilepathToProtobufRoot,local:t.generateLocally}),absoluteFilepathToOverrides:t.absoluteFilepathToOverrides,settings:t.settings,source:{type:"protobuf",relativePathToDependency:r,root:t.absoluteFilepathToProtobufRoot,file:t.absoluteFilepathToProtobufTarget}}}var UYp=require("fs"),lMn=require("fs/promises");var VYp=require("os"),WYp=oi(require("path"),1),HYp=require("stream/promises"),$Yp=oi(SFo(),1),GYp=oi(Cre(),1);var FXs=oi(SIi(),1);var hP;(function(e){e.FILE_READ="FILE_READ",e.FILE_PARSE="FILE_PARSE",e.FILE_MISSING="FILE_MISSING",e.STRUCTURE_VALIDATION="STRUCTURE_VALIDATION",e.JSONSCHEMA_VALIDATION="JSONSCHEMA_VALIDATION",e.DEPENDENCY_NOT_LISTED="DEPENDENCY_NOT_LISTED",e.FAILED_TO_LOAD_DEPENDENCY="FAILED_TO_LOAD_DEPENDENCY",e.EXPORTING_PACKAGE_MARKER_OTHER_KEYS="EXPORTING_PACKAGE_MARKER_OTHER_KEYS",e.EXPORT_PACKAGE_HAS_DEFINITIONS="EXPORT_PACKAGE_HAS_DEFINITIONS",e.MISCONFIGURED_DIRECTORY="MISCONFIGURED_DIRECTORY"})(hP||(hP={}));var VGD=zJr();async function QYp({dependencyName:e,dependenciesConfiguration:t,context:r,rootApiFile:i,cliVersion:n,settings:a,loadAPIWorkspace:u}){let l,f={type:hP.FAILED_TO_LOAD_DEPENDENCY,dependencyName:e},s=t.dependencies[e];return s==null?f={type:hP.DEPENDENCY_NOT_LISTED,dependencyName:e}:await r.runInteractiveTask({name:`Download ${KGD(s)}`},async o=>{switch(s.type){case"version":l=await QGD({context:o,dependency:s,cliVersion:n,settings:a,loadAPIWorkspace:u});return;case"local":l=await GGD({context:o,dependency:s,cliVersion:n,settings:a,loadAPIWorkspace:u});return;default:Oo(s)}}),l!=null?{didSucceed:!0,definition:l}:{didSucceed:!1,failure:f}}var JYp="dependencies";var WGD="metadata.json",HGD=".fern";function $GD(e){return Lu(Vl.of((0,VYp.homedir)()),Ja.of(HGD),Ja.of(JYp),Ja.of(e.organization),Ja.of(e.apiName),Ja.of(e.version))}async function GGD({dependency:e,context:t,cliVersion:r,settings:i,loadAPIWorkspace:n}){if(n==null){t.failWithoutThrowing("Failed to load api definition");return}t.logger.info("Parsing...");let a=await n({absolutePathToWorkspace:e.absoluteFilepath,context:t,cliVersion:r,workspaceName:void 0});if(!a.didSucceed){t.failWithoutThrowing("Failed to load api definition",a.failures);return}t.logger.info("Modifying source filepath ...");let u=await a.workspace.getDefinition({context:t,relativePathToDependency:Ja.of(e.path)},i);return t.logger.info("Loaded..."),u}async function QGD({dependency:e,context:t,cliVersion:r,settings:i,loadAPIWorkspace:n}){let a=$GD(e),u=Lu(a,Ja.of(JYp)),l=Lu(a,Ja.of(WGD)),f;if(!await Mf(u)||!await Mf(l)){t.logger.info("Downloading manifest...");let c=await VGD.definitionRegistry.get(FXs.FernFiddle.OrganizationId(e.organization),FXs.FernFiddle.ApiId(e.apiName),e.version);if(!c.ok){c.error._visit({orgDoesNotExistError:()=>{t.failWithoutThrowing("Organization does not exist")},apiDoesNotExistError:()=>{t.failWithoutThrowing("API does not exist")},versionDoesNotExistError:()=>{t.failWithoutThrowing("Version does not exist")},_other:m=>{t.failWithoutThrowing("Failed to download API manifest",m)}});return}let b=c.body.yamlSchemaVersion!=null?parseInt(c.body.yamlSchemaVersion):void 0,g=BNi(r),O=BNi(c.body.cliVersion);if(b!=null){if(b>1){t.failWithoutThrowing(`${e.organization}/${e.apiName}@${e.version} on a higher version of fern. Upgrade this workspace to ${c.body.cliVersion}`);return}else if(b<1){t.failWithoutThrowing(`${e.organization}/${e.apiName}@${e.version} on a lower version of fern. Upgrade it to ${r}`);return}}else if(g.major!==O.major||g.minor!==O.minor){t.failWithoutThrowing(`CLI version is ${c.body.cliVersion}. Expected ${g.major}.${g.minor}.x (to match current workspace).`);return}t.logger.info("Downloading..."),t.logger.debug("Remote URL: "+c.body.definitionS3DownloadUrl),await(0,lMn.mkdir)(u,{recursive:!0});try{await JGD({s3PreSignedReadUrl:c.body.definitionS3DownloadUrl,absolutePathToLocalOutput:u})}catch(m){t.failWithoutThrowing("Failed to download API",m);return}f=c.body,await(0,lMn.writeFile)(l,JSON.stringify(f))}else f=JSON.parse((await(0,lMn.readFile)(l)).toString());if(t.logger.info("Parsing..."),n==null){t.failWithoutThrowing("Failed to load API");return}let s=await n({absolutePathToWorkspace:u,context:t,cliVersion:f.cliVersion,workspaceName:void 0});if(!s.didSucceed){t.failWithoutThrowing("Failed to parse dependency after downloading",s.failures);return}if(s.workspace.type==="oss"){t.failWithoutThrowing("Dependency must be a fern workspace.");return}return await s.workspace.getDefinition({context:t},i)}async function JGD({s3PreSignedReadUrl:e,absolutePathToLocalOutput:t}){let r=await aN.get(e,{responseType:"stream"}),i=await GYp.default.dir(),n=WYp.default.join(i.path,"api.tgz");await(0,HYp.pipeline)(r.data,(0,UYp.createWriteStream)(n)),await(0,$Yp.extract)({file:n,cwd:t})}function KGD(e){switch(e.type){case"version":return`@${e.organization}/${e.apiName}`;case"local":return`${e.path}`;default:Oo(e)}}var uXp=oi(eXp(),1);function DFo(e,t){for(let[r,i]of aF(e))XGD({relativeFilepath:r,failure:i,logger:t})}function XGD({relativeFilepath:e,failure:t,logger:r}){switch(t.type){case hP.MISCONFIGURED_DIRECTORY:r.error("Misconfigured fern directory: please see the docs at https://buildwithfern.com/learn/api-definition/introduction/what-is-the-fern-folder");break;case hP.FILE_READ:r.error("Failed to open file: "+e);break;case hP.FILE_MISSING:r.error("Missing file: "+e);break;case hP.FILE_PARSE:t.error instanceof Joa?r.error(oRe({title:`Failed to parse ${e}: ${t.error.reason}`,subtitle:t.error.mark.snippet})):r.error("Failed to parse file: "+e);break;case hP.STRUCTURE_VALIDATION:for(let i of t.error.issues)for(let{title:n,subtitle:a}of ZGD(i))r.error(oRe({title:n,subtitle:a,breadcrumbs:[e,...i.path]}));break;case hP.FAILED_TO_LOAD_DEPENDENCY:r.error("Failed to load dependency: "+t.dependencyName);break;case hP.DEPENDENCY_NOT_LISTED:r.error(`Dependency is not listed in ${peo}: `+t.dependencyName);break;case hP.EXPORT_PACKAGE_HAS_DEFINITIONS:r.error("Exported package contains API definitions: "+t.pathToPackage);break;case hP.EXPORTING_PACKAGE_MARKER_OTHER_KEYS:r.error(`${t.pathOfPackageMarker} has an export so it cannot define other keys.`);break;case hP.JSONSCHEMA_VALIDATION:t.error.error!=null&&r.error(oRe({title:t.error.error.message??"Unknown error",breadcrumbs:[e,...t.error.error.instancePath.split("/").filter(i=>i!=="")]}));for(let i of t.error.allErrors)i!==t.error.error&&r.debug(oRe({title:i.message??"Unknown error",breadcrumbs:[e,...i.instancePath.split("/").filter(n=>n!=="")]}));break;default:Oo(t)}}function ZGD(e){switch(e.code){case $l.invalid_type:return[{title:"Incorrect type",subtitle:`Expected ${$s.underline(e.expected)} but received ${$s.underline(e.received)}`}];case $l.unrecognized_keys:return e.keys.map(t=>({title:"Unexpected key",subtitle:`Encountered unexpected key ${$s.underline(t)}`}));case $l.invalid_enum_value:return[{title:"Unrecognized value",subtitle:`Allowed values: ${e.options.map(t=>$s.underline(t)).join(", ")}`}];case $l.invalid_union:case $l.invalid_arguments:case $l.invalid_return_type:case $l.invalid_date:case $l.invalid_string:case $l.too_small:case $l.too_big:case $l.invalid_intersection_types:case $l.not_multiple_of:case $l.custom:default:return[{title:e.message}]}}var tXp=require("fs/promises");async function rXp(e,t){let r=[];for(let i of await Mxe(e,t))r.push(await kGD({relativeFilepath:tq(e,i),absoluteFilepath:i}));return r}async function kGD({relativeFilepath:e,absoluteFilepath:t}){return{relativeFilepath:e,absoluteFilepath:t,fileContents:(await(0,tXp.readFile)(t)).toString()}}async function iXp(e){let t={},r={};function i(n){try{t[n.relativeFilepath]={defaultUrl:void 0,contents:Ed.load(n.fileContents,{schema:Ed.CORE_SCHEMA}),rawContents:n.fileContents}}catch(a){r[n.relativeFilepath]={type:hP.FILE_PARSE,error:a}}}return await Promise.all(e.map(i)),Object.keys(r).length>0?{didSucceed:!1,failures:r}:{didSucceed:!0,files:t}}async function nXp({dependenciesConfiguration:e,structuralValidationResult:t,context:r,cliVersion:i,settings:n,loadAPIWorkspace:a}){let u={},l={},f={};return await Promise.all(aF(t.packageMarkers).map(async([s,o])=>{if(o.contents.export==null)u[s]=o;else{let{export:c,...b}=o.contents;if(WY(b)>0)f[s]={type:hP.EXPORTING_PACKAGE_MARKER_OTHER_KEYS,pathOfPackageMarker:s};else{let g=Jd(s);if(y8t(t.namedDefinitionFiles).some(m=>m!==s&&m.startsWith(g)))f[s]={type:hP.EXPORT_PACKAGE_HAS_DEFINITIONS,pathToPackage:g};else{let m=await QYp({dependencyName:typeof o.contents.export=="string"?o.contents.export:o.contents.export.dependency,dependenciesConfiguration:e,context:r,rootApiFile:t.rootApiFile.contents,cliVersion:i,settings:n,loadAPIWorkspace:a});m.didSucceed?l[Jd(s)]={definition:m.definition,url:typeof o.contents.export=="object"?o.contents.export.url:void 0}:f[s]=m.failure}}}})),WY(f)>0?{didSucceed:!1,failures:f}:{didSucceed:!0,packageMarkers:u,importedDefinitions:l}}var aXp=oi(require("path"),1);var VXs={};jn(VXs,{additionalProperties:()=>iQD,default:()=>aQD,definitions:()=>nQD,properties:()=>tQD,required:()=>rQD,type:()=>eQD});var eQD="object",tQD={docs:{oneOf:[{type:"string"},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},"default-url":{oneOf:[{type:"string"},{type:"null"}]},"default-environment":{oneOf:[{type:"string"},{type:"null"}]},environments:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/environments.EnvironmentSchema"}},{type:"null"}]},auth:{oneOf:[{$ref:"#/definitions/auth.ApiAuthSchema"},{type:"null"}]},"auth-schemes":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/auth.AuthSchemeDeclarationSchema"}},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},name:{type:"string"},imports:{oneOf:[{type:"object",additionalProperties:{type:"string"}},{type:"null"}]},"error-discrimination":{oneOf:[{$ref:"#/definitions/file.ErrorDiscriminationSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},errors:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"base-path":{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpPathParameterSchema"}},{type:"null"}]},"idempotency-headers":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},variables:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/variables.VariableDeclarationSchema"}},{type:"null"}]},pagination:{oneOf:[{$ref:"#/definitions/pagination.PaginationSchema"},{type:"null"}]},product:{oneOf:[{$ref:"#/definitions/products.ProductDeclarationSchema"},{type:"null"}]},version:{oneOf:[{$ref:"#/definitions/versioning.VersionDeclarationSchema"},{type:"null"}]}},rQD=["name"],iQD=!1,nQD={"environments.SingleBaseUrlEnvironmentSchema":{type:"object",properties:{audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},url:{type:"string"}},required:["url"],additionalProperties:!1},"environments.MultipleBaseUrlsEnvironmentSchema":{type:"object",properties:{audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},urls:{type:"object",additionalProperties:{type:"string"}}},required:["urls"],additionalProperties:!1},"environments.EnvironmentSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/environments.SingleBaseUrlEnvironmentSchema"},{$ref:"#/definitions/environments.MultipleBaseUrlsEnvironmentSchema"}]},"auth.AuthSchemeReferenceSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},scheme:{type:"string"}},required:["scheme"],additionalProperties:!1},"auth.AnyAuthItem":{anyOf:[{type:"string"},{$ref:"#/definitions/auth.AuthSchemeReferenceSchema"}]},"auth.AnyAuthSchemesSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},any:{type:"array",items:{$ref:"#/definitions/auth.AnyAuthItem"}}},required:["any"],additionalProperties:!1},"auth.ApiAuthSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/auth.AuthSchemeReferenceSchema"},{$ref:"#/definitions/auth.AnyAuthSchemesSchema"}]},"auth.OAuthAccessTokenRequestPropertiesSchema":{type:"object",properties:{"client-id":{oneOf:[{type:"string"},{type:"null"}]},"client-secret":{oneOf:[{type:"string"},{type:"null"}]},scopes:{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"auth.OAuthAccessTokenResponsePropertiesSchema":{type:"object",properties:{"access-token":{oneOf:[{type:"string"},{type:"null"}]},"expires-in":{oneOf:[{type:"string"},{type:"null"}]},"refresh-token":{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"auth.OAuthGetTokenEndpointSchema":{type:"object",properties:{endpoint:{type:"string"},"request-properties":{oneOf:[{$ref:"#/definitions/auth.OAuthAccessTokenRequestPropertiesSchema"},{type:"null"}]},"response-properties":{oneOf:[{$ref:"#/definitions/auth.OAuthAccessTokenResponsePropertiesSchema"},{type:"null"}]}},required:["endpoint"],additionalProperties:!1},"auth.OAuthRefreshTokenRequestPropertiesSchema":{type:"object",properties:{"refresh-token":{type:"string"}},required:["refresh-token"],additionalProperties:!1},"auth.OAuthRefreshTokenResponsePropertiesSchema":{type:"object",properties:{"access-token":{oneOf:[{type:"string"},{type:"null"}]},"expires-in":{oneOf:[{type:"string"},{type:"null"}]},"refresh-token":{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"auth.OAuthRefreshTokenEndpointSchema":{type:"object",properties:{endpoint:{type:"string"},"request-properties":{oneOf:[{$ref:"#/definitions/auth.OAuthRefreshTokenRequestPropertiesSchema"},{type:"null"}]},"response-properties":{oneOf:[{$ref:"#/definitions/auth.OAuthRefreshTokenResponsePropertiesSchema"},{type:"null"}]}},required:["endpoint"],additionalProperties:!1},"auth.OAuthSchemeSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},scheme:{const:"oauth"},type:{const:"client-credentials"},scopes:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"client-id-env":{oneOf:[{type:"string"},{type:"null"}]},"client-secret-env":{oneOf:[{type:"string"},{type:"null"}]},"token-prefix":{oneOf:[{type:"string"},{type:"null"}]},"token-header":{oneOf:[{type:"string"},{type:"null"}]},"get-token":{$ref:"#/definitions/auth.OAuthGetTokenEndpointSchema"},"refresh-token":{oneOf:[{$ref:"#/definitions/auth.OAuthRefreshTokenEndpointSchema"},{type:"null"}]}},required:["scheme","type","get-token"],additionalProperties:!1},"auth.HeaderAuthSchemeSchema":{type:"object",properties:{env:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},header:{type:"string"},type:{oneOf:[{type:"string"},{type:"null"}]},prefix:{oneOf:[{type:"string"},{type:"null"}]}},required:["header"],additionalProperties:!1},"auth.AuthVariable":{type:"object",properties:{env:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"auth.BasicAuthSchemeSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},scheme:{const:"basic"},username:{oneOf:[{$ref:"#/definitions/auth.AuthVariable"},{type:"null"}]},password:{oneOf:[{$ref:"#/definitions/auth.AuthVariable"},{type:"null"}]}},required:["scheme"],additionalProperties:!1},"auth.BearerAuthSchemeSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},scheme:{const:"bearer"},token:{oneOf:[{$ref:"#/definitions/auth.AuthVariable"},{type:"null"}]}},required:["scheme"],additionalProperties:!1},"auth.AuthSchemeDeclarationSchema":{anyOf:[{$ref:"#/definitions/auth.OAuthSchemeSchema"},{$ref:"#/definitions/auth.HeaderAuthSchemeSchema"},{$ref:"#/definitions/auth.BasicAuthSchemeSchema"},{$ref:"#/definitions/auth.BearerAuthSchemeSchema"}]},"encoding.ProtobufTypeSchema":{type:"object",properties:{type:{type:"string"}},required:["type"],additionalProperties:!1},"encoding.EncodingSchema":{type:"object",properties:{proto:{oneOf:[{$ref:"#/definitions/encoding.ProtobufTypeSchema"},{type:"null"}]}},additionalProperties:!1},"validation.StringValidationSchema":{type:"object",properties:{minLength:{oneOf:[{type:"integer"},{type:"null"}]},maxLength:{oneOf:[{type:"integer"},{type:"null"}]},pattern:{oneOf:[{type:"string"},{type:"null"}]},format:{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"validation.NumberValidationSchema":{type:"object",properties:{min:{oneOf:[{type:"number"},{type:"null"}]},max:{oneOf:[{type:"number"},{type:"null"}]},exclusiveMin:{oneOf:[{type:"boolean"},{type:"null"}]},exclusiveMax:{oneOf:[{type:"boolean"},{type:"null"}]},multipleOf:{oneOf:[{type:"number"},{type:"null"}]}},additionalProperties:!1},"validation.ValidationSchema":{anyOf:[{$ref:"#/definitions/validation.StringValidationSchema"},{$ref:"#/definitions/validation.NumberValidationSchema"}]},"availability.AvailabilityStatusSchema":{type:"string",enum:["in-development","pre-release","deprecated","generally-available"]},"availability.AvailabilitySchema":{type:"object",properties:{status:{$ref:"#/definitions/availability.AvailabilityStatusSchema"},message:{oneOf:[{type:"string"},{type:"null"}]}},required:["status"],additionalProperties:!1},"availability.AvailabilityUnionSchema":{anyOf:[{$ref:"#/definitions/availability.AvailabilityStatusSchema"},{$ref:"#/definitions/availability.AvailabilitySchema"}]},"service.TypeReferenceDeclarationWithEnvOverrideSchema":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},env:{oneOf:[{type:"string"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.TypeReferenceDeclarationWithEnvOverride":{anyOf:[{type:"string"},{$ref:"#/definitions/service.TypeReferenceDeclarationWithEnvOverrideSchema"}]},"service.HttpHeaderSchema":{$ref:"#/definitions/service.TypeReferenceDeclarationWithEnvOverride"},"file.PropertyBasedErrorDiscrimination":{type:"object",properties:{strategy:{const:"property"},"property-name":{type:"string"}},required:["strategy","property-name"],additionalProperties:!1},"file.StatusCodeBasedErrorDiscrimination":{type:"object",properties:{strategy:{const:"status-code"}},required:["strategy"],additionalProperties:!1},"file.ErrorDiscriminationSchema":{anyOf:[{$ref:"#/definitions/file.PropertyBasedErrorDiscrimination"},{$ref:"#/definitions/file.StatusCodeBasedErrorDiscrimination"}]},"types.TypeReferenceDetailedSchema":{type:"object",properties:{default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"types.TypeReferenceSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.TypeReferenceDetailedSchema"}]},"variables.VariableReferenceSchema":{type:"object",properties:{availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},variable:{type:"string"}},required:["variable"],additionalProperties:!1},"service.HttpPathParameterSchema":{anyOf:[{$ref:"#/definitions/types.TypeReferenceSchema"},{$ref:"#/definitions/variables.VariableReferenceSchema"}]},"variables.VariableDeclarationDetailed":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"variables.VariableDeclarationSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/variables.VariableDeclarationDetailed"}]},"pagination.CursorPaginationSchema":{type:"object",properties:{cursor:{type:"string"},next_cursor:{type:"string"},results:{type:"string"}},required:["cursor","next_cursor","results"],additionalProperties:!1},"pagination.OffsetPaginationSchema":{type:"object",properties:{offset:{type:"string"},results:{type:"string"},step:{oneOf:[{type:"string"},{type:"null"}]},"has-next-page":{oneOf:[{type:"string"},{type:"null"}]}},required:["offset","results"],additionalProperties:!1},"pagination.CustomPaginationSchema":{type:"object",properties:{type:{const:"custom"},results:{type:"string"}},required:["type","results"],additionalProperties:!1},"pagination.PaginationSchema":{anyOf:[{$ref:"#/definitions/pagination.CursorPaginationSchema"},{$ref:"#/definitions/pagination.OffsetPaginationSchema"},{$ref:"#/definitions/pagination.CustomPaginationSchema"}]},"versioning.VersionValueDetailed":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"}},required:["value"],additionalProperties:!1},"versioning.VersionValue":{anyOf:[{type:"string"},{$ref:"#/definitions/versioning.VersionValueDetailed"}]},"versioning.VersionDeclarationHeaderObjectSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},env:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"}},required:["value"],additionalProperties:!1},"versioning.VersionDeclarationHeaderSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/versioning.VersionDeclarationHeaderObjectSchema"}]},"versioning.VersionDeclarationSchema":{type:"object",properties:{default:{oneOf:[{type:"string"},{type:"null"}]},values:{type:"array",items:{$ref:"#/definitions/versioning.VersionValue"}},header:{$ref:"#/definitions/versioning.VersionDeclarationHeaderSchema"}},required:["values","header"],additionalProperties:!1},"products.ProductValueDetailed":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"},versions:{oneOf:[{$ref:"#/definitions/versioning.VersionDeclarationSchema"},{type:"null"}]}},required:["value"],additionalProperties:!1},"products.ProductValue":{anyOf:[{type:"string"},{$ref:"#/definitions/products.ProductValueDetailed"}]},"products.ProductDeclarationHeaderObjectSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},env:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"}},required:["value"],additionalProperties:!1},"products.ProductDeclarationHeaderSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/products.ProductDeclarationHeaderObjectSchema"}]},"products.ProductDeclarationSchema":{type:"object",properties:{default:{oneOf:[{type:"string"},{type:"null"}]},values:{type:"array",items:{$ref:"#/definitions/products.ProductValue"}},header:{$ref:"#/definitions/products.ProductDeclarationHeaderSchema"}},required:["values","header"],additionalProperties:!1}},aQD={type:eQD,properties:tQD,required:rQD,additionalProperties:iQD,definitions:nQD};var WXs={};jn(WXs,{additionalProperties:()=>sQD,default:()=>lQD,definitions:()=>cQD,properties:()=>uQD,type:()=>oQD});var oQD="object",uQD={docs:{oneOf:[{type:"string"},{type:"null"}]},imports:{oneOf:[{type:"object",additionalProperties:{type:"string"}},{type:"null"}]},types:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeDeclarationSchema"}},{type:"null"}]},service:{oneOf:[{$ref:"#/definitions/service.HttpServiceSchema"},{type:"null"}]},errors:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/errors.ErrorDeclarationSchema"}},{type:"null"}]},webhooks:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/webhooks.WebhookSchema"}},{type:"null"}]},channel:{oneOf:[{$ref:"#/definitions/websocket.WebSocketChannelSchema"},{type:"null"}]}},sQD=!1,cQD={"examples.ExampleTypeValueSchema":{type:["string","number","boolean","object","array","null"]},"examples.ExampleTypeSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},value:{$ref:"#/definitions/examples.ExampleTypeValueSchema"}},required:["value"],additionalProperties:!1},"encoding.ProtobufTypeSchema":{type:"object",properties:{type:{type:"string"}},required:["type"],additionalProperties:!1},"encoding.EncodingSchema":{type:"object",properties:{proto:{oneOf:[{$ref:"#/definitions/encoding.ProtobufTypeSchema"},{type:"null"}]}},additionalProperties:!1},"source.OpenAPISourceSchema":{type:"object",properties:{openapi:{type:"string"}},required:["openapi"],additionalProperties:!1},"source.ProtobufSourceSchema":{type:"object",properties:{proto:{type:"string"}},required:["proto"],additionalProperties:!1},"source.SourceSchema":{anyOf:[{$ref:"#/definitions/source.OpenAPISourceSchema"},{$ref:"#/definitions/source.ProtobufSourceSchema"}]},"availability.AvailabilityStatusSchema":{type:"string",enum:["in-development","pre-release","deprecated","generally-available"]},"availability.AvailabilitySchema":{type:"object",properties:{status:{$ref:"#/definitions/availability.AvailabilityStatusSchema"},message:{oneOf:[{type:"string"},{type:"null"}]}},required:["status"],additionalProperties:!1},"availability.AvailabilityUnionSchema":{anyOf:[{$ref:"#/definitions/availability.AvailabilityStatusSchema"},{$ref:"#/definitions/availability.AvailabilitySchema"}]},"types.ObjectExtendsSchema":{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]},"validation.StringValidationSchema":{type:"object",properties:{minLength:{oneOf:[{type:"integer"},{type:"null"}]},maxLength:{oneOf:[{type:"integer"},{type:"null"}]},pattern:{oneOf:[{type:"string"},{type:"null"}]},format:{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"validation.NumberValidationSchema":{type:"object",properties:{min:{oneOf:[{type:"number"},{type:"null"}]},max:{oneOf:[{type:"number"},{type:"null"}]},exclusiveMin:{oneOf:[{type:"boolean"},{type:"null"}]},exclusiveMax:{oneOf:[{type:"boolean"},{type:"null"}]},multipleOf:{oneOf:[{type:"number"},{type:"null"}]}},additionalProperties:!1},"validation.ValidationSchema":{anyOf:[{$ref:"#/definitions/validation.StringValidationSchema"},{$ref:"#/definitions/validation.NumberValidationSchema"}]},"types.ObjectPropertyAccess":{type:"string",enum:["read-only","write-only"]},"types.ObjectPropertyWithAccessSchema":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},access:{oneOf:[{$ref:"#/definitions/types.ObjectPropertyAccess"},{type:"null"}]}},required:["type"],additionalProperties:!1},"types.ObjectPropertySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.ObjectPropertyWithAccessSchema"}]},"types.ObjectSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.ObjectPropertySchema"}},{type:"null"}]},"extra-properties":{oneOf:[{type:"boolean"},{type:"null"}]}},additionalProperties:!1},"types.CasingOverridesSchema":{type:"object",properties:{camel:{oneOf:[{type:"string"},{type:"null"}]},snake:{oneOf:[{type:"string"},{type:"null"}]},pascal:{oneOf:[{type:"string"},{type:"null"}]},"screaming-snake":{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"types.EnumValueSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"},casing:{oneOf:[{$ref:"#/definitions/types.CasingOverridesSchema"},{type:"null"}]}},required:["value"],additionalProperties:!1},"types.EnumValue":{anyOf:[{type:"string"},{$ref:"#/definitions/types.EnumValueSchema"}]},"types.EnumSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},default:{oneOf:[{type:"string"},{type:"null"}]},enum:{type:"array",items:{$ref:"#/definitions/types.EnumValue"}}},required:["enum"],additionalProperties:!1},"types.UnionDiscriminantSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"}},required:["value"],additionalProperties:!1},"types.UnionDiscriminant":{anyOf:[{type:"string"},{$ref:"#/definitions/types.UnionDiscriminantSchema"}]},"types.TypeReferenceDetailedSchema":{type:"object",properties:{default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"types.TypeReferenceSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.TypeReferenceDetailedSchema"}]},"types.SingleUnionTypeKeySchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"}},required:["value"],additionalProperties:!1},"types.SingleUnionTypeKey":{anyOf:[{type:"string"},{$ref:"#/definitions/types.SingleUnionTypeKeySchema"}]},"types.SingleUnionTypeDetailedSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},type:{oneOf:[{type:"string"},{type:"null"}]},key:{oneOf:[{$ref:"#/definitions/types.SingleUnionTypeKey"},{type:"null"}]}},additionalProperties:!1},"types.SingleUnionTypeSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.SingleUnionTypeDetailedSchema"}]},"types.DiscriminatedUnionSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},discriminant:{oneOf:[{$ref:"#/definitions/types.UnionDiscriminant"},{type:"null"}]},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},"base-properties":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeReferenceSchema"}},{type:"null"}]},union:{type:"object",additionalProperties:{$ref:"#/definitions/types.SingleUnionTypeSchema"}}},required:["union"],additionalProperties:!1},"types.SingleUndiscriminatedUnionTypeDetailedSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"types.SingleUndiscriminatedUnionTypeSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.SingleUndiscriminatedUnionTypeDetailedSchema"}]},"types.UndiscriminatedUnionSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},discriminated:{const:!1},union:{type:"array",items:{$ref:"#/definitions/types.SingleUndiscriminatedUnionTypeSchema"}}},required:["discriminated","union"],additionalProperties:!1},"types.AliasSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},type:{type:"string"},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]}},required:["type"],additionalProperties:!1},"types.TypeDeclarationSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.ObjectSchema"},{$ref:"#/definitions/types.EnumSchema"},{$ref:"#/definitions/types.DiscriminatedUnionSchema"},{$ref:"#/definitions/types.UndiscriminatedUnionSchema"},{$ref:"#/definitions/types.AliasSchema"}]},"service.GrpcTransport":{type:"object",properties:{"service-name":{type:"string"}},required:["service-name"],additionalProperties:!1},"service.ServiceTransport":{type:"object",properties:{grpc:{oneOf:[{$ref:"#/definitions/service.GrpcTransport"},{type:"null"}]}},additionalProperties:!1},"service.HttpMethodSchema":{type:"string",enum:["GET","POST","PUT","PATCH","DELETE"]},"variables.VariableReferenceSchema":{type:"object",properties:{availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},variable:{type:"string"}},required:["variable"],additionalProperties:!1},"service.HttpPathParameterSchema":{anyOf:[{$ref:"#/definitions/types.TypeReferenceSchema"},{$ref:"#/definitions/variables.VariableReferenceSchema"}]},"service.QueryParameterTypeReferenceDetailed":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"allow-multiple":{oneOf:[{type:"boolean"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.HttpQueryParameterSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.QueryParameterTypeReferenceDetailed"}]},"service.TypeReferenceDeclarationWithEnvOverrideSchema":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},env:{oneOf:[{type:"string"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.TypeReferenceDeclarationWithEnvOverride":{anyOf:[{type:"string"},{$ref:"#/definitions/service.TypeReferenceDeclarationWithEnvOverrideSchema"}]},"service.HttpHeaderSchema":{$ref:"#/definitions/service.TypeReferenceDeclarationWithEnvOverride"},"service.HttpReferencedRequestBodySchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"service.FormDataBodyEncodingStyle":{type:"string",enum:["json","exploded","form"]},"service.HttpInlineFileRequestBodyPropertySchema":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},style:{oneOf:[{$ref:"#/definitions/service.FormDataBodyEncodingStyle"},{type:"null"}]},"content-type":{oneOf:[{type:"string"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.HttpInlineRequestBodyPropertySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpInlineFileRequestBodyPropertySchema"}]},"service.HttpInlineRequestBodySchema":{type:"object",properties:{extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},"extra-properties":{oneOf:[{type:"boolean"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpInlineRequestBodyPropertySchema"}},{type:"null"}]}},additionalProperties:!1},"service.HttpRequestBodySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpReferencedRequestBodySchema"},{$ref:"#/definitions/service.HttpInlineRequestBodySchema"}]},"service.HttpRequestSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},"content-type":{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpPathParameterSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpQueryParameterSchema"}},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},body:{oneOf:[{$ref:"#/definitions/service.HttpRequestBodySchema"},{type:"null"}]}},additionalProperties:!1},"service.HttpRequest":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpRequestSchema"}]},"service.HttpResponseSchemaDetailed":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{oneOf:[{type:"string"},{type:"null"}]},property:{oneOf:[{type:"string"},{type:"null"}]},"status-code":{oneOf:[{type:"integer"},{type:"null"}]}},additionalProperties:!1},"service.HttpResponseSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpResponseSchemaDetailed"}]},"service.StreamFormat":{type:"string",enum:["sse","json"]},"service.HttpResponseStreamSchemaDetailed":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"},format:{oneOf:[{$ref:"#/definitions/service.StreamFormat"},{type:"null"}]},terminator:{oneOf:[{type:"string"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.HttpResponseStreamSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpResponseStreamSchemaDetailed"}]},"service.ResponseErrorWithDocsSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},error:{type:"string"}},required:["error"],additionalProperties:!1},"service.ResponseError":{anyOf:[{type:"string"},{$ref:"#/definitions/service.ResponseErrorWithDocsSchema"}]},"service.ResponseErrorsSchema":{type:"array",items:{$ref:"#/definitions/service.ResponseError"}},"examples.ExampleTypeReferenceSchema":{type:["string","number","boolean","object","array","null"]},"examples.ExampleBodyResponseSchema":{type:"object",properties:{error:{oneOf:[{type:"string"},{type:"null"}]},body:{oneOf:[{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"},{type:"null"}]}},additionalProperties:!1},"examples.ExampleStreamResponseSchema":{type:"object",properties:{stream:{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}}},required:["stream"],additionalProperties:!1},"examples.ExampleSseEventSchema":{type:"object",properties:{event:{type:"string"},data:{oneOf:[{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"},{type:"null"}]}},required:["event"],additionalProperties:!1},"examples.ExampleSseResponseSchema":{type:"object",properties:{stream:{type:"array",items:{$ref:"#/definitions/examples.ExampleSseEventSchema"}}},required:["stream"],additionalProperties:!1},"examples.ExampleResponseSchema":{anyOf:[{$ref:"#/definitions/examples.ExampleBodyResponseSchema"},{$ref:"#/definitions/examples.ExampleStreamResponseSchema",description:"JSON Streams"},{$ref:"#/definitions/examples.ExampleSseResponseSchema",description:"Server-Sent Event streams"}]},"examples.SupportedSdkLanguageSchema":{type:"string",enum:["curl","python","javascript","typescript","go","ruby","csharp","java","js","node","ts","nodets","golang","dotnet","jvm","c#"]},"examples.ExampleCodeSampleSchemaSdk":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},sdk:{$ref:"#/definitions/examples.SupportedSdkLanguageSchema"},code:{type:"string"}},required:["sdk","code"],additionalProperties:!1},"examples.ExampleCodeSampleSchemaLanguage":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},language:{type:"string"},code:{type:"string"},install:{oneOf:[{type:"string"},{type:"null"}]}},required:["language","code"],additionalProperties:!1},"examples.ExampleCodeSampleSchema":{anyOf:[{$ref:"#/definitions/examples.ExampleCodeSampleSchemaSdk"},{$ref:"#/definitions/examples.ExampleCodeSampleSchemaLanguage"}]},"examples.ExampleEndpointCallSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},id:{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},request:{oneOf:[{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"},{type:"null"}]},response:{oneOf:[{$ref:"#/definitions/examples.ExampleResponseSchema"},{type:"null"}]},"code-samples":{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleCodeSampleSchema"}},{type:"null"}]}},additionalProperties:!1},"pagination.CursorPaginationSchema":{type:"object",properties:{cursor:{type:"string"},next_cursor:{type:"string"},results:{type:"string"}},required:["cursor","next_cursor","results"],additionalProperties:!1},"pagination.OffsetPaginationSchema":{type:"object",properties:{offset:{type:"string"},results:{type:"string"},step:{oneOf:[{type:"string"},{type:"null"}]},"has-next-page":{oneOf:[{type:"string"},{type:"null"}]}},required:["offset","results"],additionalProperties:!1},"pagination.CustomPaginationSchema":{type:"object",properties:{type:{const:"custom"},results:{type:"string"}},required:["type","results"],additionalProperties:!1},"pagination.PaginationSchema":{anyOf:[{$ref:"#/definitions/pagination.CursorPaginationSchema"},{$ref:"#/definitions/pagination.OffsetPaginationSchema"},{$ref:"#/definitions/pagination.CustomPaginationSchema"}]},"service.Pagination":{anyOf:[{$ref:"#/definitions/pagination.PaginationSchema"},{type:"boolean"}]},"service.HttpEndpointSchema":{type:"object",properties:{"display-name":{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},method:{oneOf:[{$ref:"#/definitions/service.HttpMethodSchema"},{type:"null"}]},"base-path":{oneOf:[{type:"string"},{type:"null"}]},path:{type:"string"},url:{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpPathParameterSchema"}},{type:"null"}]},auth:{oneOf:[{type:"boolean"},{type:"null"}]},idempotent:{oneOf:[{type:"boolean"},{type:"null"}]},"stream-condition":{oneOf:[{type:"string"},{type:"null"}]},request:{oneOf:[{$ref:"#/definitions/service.HttpRequest"},{type:"null"}]},response:{oneOf:[{$ref:"#/definitions/service.HttpResponseSchema"},{type:"null"}]},"response-stream":{oneOf:[{$ref:"#/definitions/service.HttpResponseStreamSchema"},{type:"null"}]},errors:{oneOf:[{$ref:"#/definitions/service.ResponseErrorsSchema"},{type:"null"}]},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleEndpointCallSchema"}},{type:"null"}]},pagination:{oneOf:[{$ref:"#/definitions/service.Pagination"},{type:"null"}]},transport:{oneOf:[{$ref:"#/definitions/service.ServiceTransport"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]}},required:["path"],additionalProperties:!1},"service.HttpServiceSchema":{type:"object",properties:{availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},auth:{type:"boolean"},url:{oneOf:[{type:"string"},{type:"null"}]},"base-path":{type:"string"},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeReferenceSchema"}},{type:"null"}]},idempotent:{oneOf:[{type:"boolean"},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeReferenceSchema"}},{type:"null"}]},transport:{oneOf:[{$ref:"#/definitions/service.ServiceTransport"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},endpoints:{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpEndpointSchema"}}},required:["auth","base-path","endpoints"],additionalProperties:!1},"errors.ErrorDeclarationSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},"status-code":{type:"integer"},type:{oneOf:[{type:"string"},{type:"null"}]},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]}},required:["status-code"],additionalProperties:!1},"webhooks.WebhookMethodSchema":{type:"string",enum:["POST","GET"]},"webhooks.WebhookReferencedPayloadSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"webhooks.WebhookInlinedPayloadSchema":{type:"object",properties:{name:{type:"string"},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.ObjectPropertySchema"}},{type:"null"}]}},required:["name"],additionalProperties:!1},"webhooks.WebhookPayloadSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/webhooks.WebhookReferencedPayloadSchema"},{$ref:"#/definitions/webhooks.WebhookInlinedPayloadSchema"}]},"examples.ExampleWebhookCallSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},id:{oneOf:[{type:"string"},{type:"null"}]},payload:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},required:["payload"],additionalProperties:!1},"webhooks.WebhookSchema":{type:"object",properties:{availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},method:{$ref:"#/definitions/webhooks.WebhookMethodSchema"},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},payload:{$ref:"#/definitions/webhooks.WebhookPayloadSchema"},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleWebhookCallSchema"}},{type:"null"}]}},required:["method","payload"],additionalProperties:!1},"websocket.WebSocketOrigin":{type:"string",enum:["client","server"]},"websocket.WebSocketChannelReferencedMessageSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"websocket.WebSocketChannelInlinedMessageSchema":{type:"object",properties:{name:{type:"string"},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.ObjectPropertySchema"}},{type:"null"}]}},required:["name"],additionalProperties:!1},"websocket.WebSocketChannelMessageBodySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/websocket.WebSocketChannelReferencedMessageSchema"},{$ref:"#/definitions/websocket.WebSocketChannelInlinedMessageSchema"}]},"websocket.WebSocketChannelMessageSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},origin:{$ref:"#/definitions/websocket.WebSocketOrigin"},body:{$ref:"#/definitions/websocket.WebSocketChannelMessageBodySchema"}},required:["origin","body"],additionalProperties:!1},"examples.ExampleWebSocketMessage":{type:"object",properties:{type:{type:"string"},body:{type:["string","number","boolean","object","array","null"]}},required:["type","body"],additionalProperties:!1},"examples.ExampleWebSocketSession":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},messages:{type:"array",items:{$ref:"#/definitions/examples.ExampleWebSocketMessage"}}},required:["messages"],additionalProperties:!1},"websocket.WebSocketChannelSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},auth:{type:"boolean"},url:{oneOf:[{type:"string"},{type:"null"}]},path:{type:"string"},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpPathParameterSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpQueryParameterSchema"}},{type:"null"}]},messages:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/websocket.WebSocketChannelMessageSchema"}},{type:"null"}]},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleWebSocketSession"}},{type:"null"}]}},required:["auth","path"],additionalProperties:!1}},lQD={type:oQD,properties:uQD,additionalProperties:sQD,definitions:cQD};var HXs={};jn(HXs,{additionalProperties:()=>pQD,default:()=>hQD,definitions:()=>_QD,properties:()=>dQD,type:()=>fQD});var fQD="object",dQD={imports:{oneOf:[{type:"object",additionalProperties:{type:"string"}},{type:"null"}]},types:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeDeclarationSchema"}},{type:"null"}]},service:{oneOf:[{$ref:"#/definitions/service.HttpServiceSchema"},{type:"null"}]},errors:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/errors.ErrorDeclarationSchema"}},{type:"null"}]},webhooks:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/webhooks.WebhookSchema"}},{type:"null"}]},channel:{oneOf:[{$ref:"#/definitions/websocket.WebSocketChannelSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},navigation:{oneOf:[{$ref:"#/definitions/file.Navigation"},{type:"null"}]},export:{oneOf:[{$ref:"#/definitions/file.Export"},{type:"null"}]}},pQD=!1,_QD={"examples.ExampleTypeValueSchema":{type:["string","number","boolean","object","array","null"]},"examples.ExampleTypeSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},value:{$ref:"#/definitions/examples.ExampleTypeValueSchema"}},required:["value"],additionalProperties:!1},"encoding.ProtobufTypeSchema":{type:"object",properties:{type:{type:"string"}},required:["type"],additionalProperties:!1},"encoding.EncodingSchema":{type:"object",properties:{proto:{oneOf:[{$ref:"#/definitions/encoding.ProtobufTypeSchema"},{type:"null"}]}},additionalProperties:!1},"source.OpenAPISourceSchema":{type:"object",properties:{openapi:{type:"string"}},required:["openapi"],additionalProperties:!1},"source.ProtobufSourceSchema":{type:"object",properties:{proto:{type:"string"}},required:["proto"],additionalProperties:!1},"source.SourceSchema":{anyOf:[{$ref:"#/definitions/source.OpenAPISourceSchema"},{$ref:"#/definitions/source.ProtobufSourceSchema"}]},"availability.AvailabilityStatusSchema":{type:"string",enum:["in-development","pre-release","deprecated","generally-available"]},"availability.AvailabilitySchema":{type:"object",properties:{status:{$ref:"#/definitions/availability.AvailabilityStatusSchema"},message:{oneOf:[{type:"string"},{type:"null"}]}},required:["status"],additionalProperties:!1},"availability.AvailabilityUnionSchema":{anyOf:[{$ref:"#/definitions/availability.AvailabilityStatusSchema"},{$ref:"#/definitions/availability.AvailabilitySchema"}]},"types.ObjectExtendsSchema":{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]},"validation.StringValidationSchema":{type:"object",properties:{minLength:{oneOf:[{type:"integer"},{type:"null"}]},maxLength:{oneOf:[{type:"integer"},{type:"null"}]},pattern:{oneOf:[{type:"string"},{type:"null"}]},format:{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"validation.NumberValidationSchema":{type:"object",properties:{min:{oneOf:[{type:"number"},{type:"null"}]},max:{oneOf:[{type:"number"},{type:"null"}]},exclusiveMin:{oneOf:[{type:"boolean"},{type:"null"}]},exclusiveMax:{oneOf:[{type:"boolean"},{type:"null"}]},multipleOf:{oneOf:[{type:"number"},{type:"null"}]}},additionalProperties:!1},"validation.ValidationSchema":{anyOf:[{$ref:"#/definitions/validation.StringValidationSchema"},{$ref:"#/definitions/validation.NumberValidationSchema"}]},"types.ObjectPropertyAccess":{type:"string",enum:["read-only","write-only"]},"types.ObjectPropertyWithAccessSchema":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},access:{oneOf:[{$ref:"#/definitions/types.ObjectPropertyAccess"},{type:"null"}]}},required:["type"],additionalProperties:!1},"types.ObjectPropertySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.ObjectPropertyWithAccessSchema"}]},"types.ObjectSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.ObjectPropertySchema"}},{type:"null"}]},"extra-properties":{oneOf:[{type:"boolean"},{type:"null"}]}},additionalProperties:!1},"types.CasingOverridesSchema":{type:"object",properties:{camel:{oneOf:[{type:"string"},{type:"null"}]},snake:{oneOf:[{type:"string"},{type:"null"}]},pascal:{oneOf:[{type:"string"},{type:"null"}]},"screaming-snake":{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"types.EnumValueSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"},casing:{oneOf:[{$ref:"#/definitions/types.CasingOverridesSchema"},{type:"null"}]}},required:["value"],additionalProperties:!1},"types.EnumValue":{anyOf:[{type:"string"},{$ref:"#/definitions/types.EnumValueSchema"}]},"types.EnumSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},default:{oneOf:[{type:"string"},{type:"null"}]},enum:{type:"array",items:{$ref:"#/definitions/types.EnumValue"}}},required:["enum"],additionalProperties:!1},"types.UnionDiscriminantSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"}},required:["value"],additionalProperties:!1},"types.UnionDiscriminant":{anyOf:[{type:"string"},{$ref:"#/definitions/types.UnionDiscriminantSchema"}]},"types.TypeReferenceDetailedSchema":{type:"object",properties:{default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"types.TypeReferenceSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.TypeReferenceDetailedSchema"}]},"types.SingleUnionTypeKeySchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"}},required:["value"],additionalProperties:!1},"types.SingleUnionTypeKey":{anyOf:[{type:"string"},{$ref:"#/definitions/types.SingleUnionTypeKeySchema"}]},"types.SingleUnionTypeDetailedSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},type:{oneOf:[{type:"string"},{type:"null"}]},key:{oneOf:[{$ref:"#/definitions/types.SingleUnionTypeKey"},{type:"null"}]}},additionalProperties:!1},"types.SingleUnionTypeSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.SingleUnionTypeDetailedSchema"}]},"types.DiscriminatedUnionSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},discriminant:{oneOf:[{$ref:"#/definitions/types.UnionDiscriminant"},{type:"null"}]},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},"base-properties":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeReferenceSchema"}},{type:"null"}]},union:{type:"object",additionalProperties:{$ref:"#/definitions/types.SingleUnionTypeSchema"}}},required:["union"],additionalProperties:!1},"types.SingleUndiscriminatedUnionTypeDetailedSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"types.SingleUndiscriminatedUnionTypeSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.SingleUndiscriminatedUnionTypeDetailedSchema"}]},"types.UndiscriminatedUnionSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},discriminated:{const:!1},union:{type:"array",items:{$ref:"#/definitions/types.SingleUndiscriminatedUnionTypeSchema"}}},required:["discriminated","union"],additionalProperties:!1},"types.AliasSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},type:{type:"string"},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]}},required:["type"],additionalProperties:!1},"types.TypeDeclarationSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.ObjectSchema"},{$ref:"#/definitions/types.EnumSchema"},{$ref:"#/definitions/types.DiscriminatedUnionSchema"},{$ref:"#/definitions/types.UndiscriminatedUnionSchema"},{$ref:"#/definitions/types.AliasSchema"}]},"service.GrpcTransport":{type:"object",properties:{"service-name":{type:"string"}},required:["service-name"],additionalProperties:!1},"service.ServiceTransport":{type:"object",properties:{grpc:{oneOf:[{$ref:"#/definitions/service.GrpcTransport"},{type:"null"}]}},additionalProperties:!1},"service.HttpMethodSchema":{type:"string",enum:["GET","POST","PUT","PATCH","DELETE"]},"variables.VariableReferenceSchema":{type:"object",properties:{availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},variable:{type:"string"}},required:["variable"],additionalProperties:!1},"service.HttpPathParameterSchema":{anyOf:[{$ref:"#/definitions/types.TypeReferenceSchema"},{$ref:"#/definitions/variables.VariableReferenceSchema"}]},"service.QueryParameterTypeReferenceDetailed":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"allow-multiple":{oneOf:[{type:"boolean"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.HttpQueryParameterSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.QueryParameterTypeReferenceDetailed"}]},"service.TypeReferenceDeclarationWithEnvOverrideSchema":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},env:{oneOf:[{type:"string"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.TypeReferenceDeclarationWithEnvOverride":{anyOf:[{type:"string"},{$ref:"#/definitions/service.TypeReferenceDeclarationWithEnvOverrideSchema"}]},"service.HttpHeaderSchema":{$ref:"#/definitions/service.TypeReferenceDeclarationWithEnvOverride"},"service.HttpReferencedRequestBodySchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"service.FormDataBodyEncodingStyle":{type:"string",enum:["json","exploded","form"]},"service.HttpInlineFileRequestBodyPropertySchema":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},style:{oneOf:[{$ref:"#/definitions/service.FormDataBodyEncodingStyle"},{type:"null"}]},"content-type":{oneOf:[{type:"string"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.HttpInlineRequestBodyPropertySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpInlineFileRequestBodyPropertySchema"}]},"service.HttpInlineRequestBodySchema":{type:"object",properties:{extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},"extra-properties":{oneOf:[{type:"boolean"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpInlineRequestBodyPropertySchema"}},{type:"null"}]}},additionalProperties:!1},"service.HttpRequestBodySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpReferencedRequestBodySchema"},{$ref:"#/definitions/service.HttpInlineRequestBodySchema"}]},"service.HttpRequestSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},"content-type":{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpPathParameterSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpQueryParameterSchema"}},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},body:{oneOf:[{$ref:"#/definitions/service.HttpRequestBodySchema"},{type:"null"}]}},additionalProperties:!1},"service.HttpRequest":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpRequestSchema"}]},"service.HttpResponseSchemaDetailed":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{oneOf:[{type:"string"},{type:"null"}]},property:{oneOf:[{type:"string"},{type:"null"}]},"status-code":{oneOf:[{type:"integer"},{type:"null"}]}},additionalProperties:!1},"service.HttpResponseSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpResponseSchemaDetailed"}]},"service.StreamFormat":{type:"string",enum:["sse","json"]},"service.HttpResponseStreamSchemaDetailed":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"},format:{oneOf:[{$ref:"#/definitions/service.StreamFormat"},{type:"null"}]},terminator:{oneOf:[{type:"string"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.HttpResponseStreamSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpResponseStreamSchemaDetailed"}]},"service.ResponseErrorWithDocsSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},error:{type:"string"}},required:["error"],additionalProperties:!1},"service.ResponseError":{anyOf:[{type:"string"},{$ref:"#/definitions/service.ResponseErrorWithDocsSchema"}]},"service.ResponseErrorsSchema":{type:"array",items:{$ref:"#/definitions/service.ResponseError"}},"examples.ExampleTypeReferenceSchema":{type:["string","number","boolean","object","array","null"]},"examples.ExampleBodyResponseSchema":{type:"object",properties:{error:{oneOf:[{type:"string"},{type:"null"}]},body:{oneOf:[{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"},{type:"null"}]}},additionalProperties:!1},"examples.ExampleStreamResponseSchema":{type:"object",properties:{stream:{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}}},required:["stream"],additionalProperties:!1},"examples.ExampleSseEventSchema":{type:"object",properties:{event:{type:"string"},data:{oneOf:[{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"},{type:"null"}]}},required:["event"],additionalProperties:!1},"examples.ExampleSseResponseSchema":{type:"object",properties:{stream:{type:"array",items:{$ref:"#/definitions/examples.ExampleSseEventSchema"}}},required:["stream"],additionalProperties:!1},"examples.ExampleResponseSchema":{anyOf:[{$ref:"#/definitions/examples.ExampleBodyResponseSchema"},{$ref:"#/definitions/examples.ExampleStreamResponseSchema",description:"JSON Streams"},{$ref:"#/definitions/examples.ExampleSseResponseSchema",description:"Server-Sent Event streams"}]},"examples.SupportedSdkLanguageSchema":{type:"string",enum:["curl","python","javascript","typescript","go","ruby","csharp","java","js","node","ts","nodets","golang","dotnet","jvm","c#"]},"examples.ExampleCodeSampleSchemaSdk":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},sdk:{$ref:"#/definitions/examples.SupportedSdkLanguageSchema"},code:{type:"string"}},required:["sdk","code"],additionalProperties:!1},"examples.ExampleCodeSampleSchemaLanguage":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},language:{type:"string"},code:{type:"string"},install:{oneOf:[{type:"string"},{type:"null"}]}},required:["language","code"],additionalProperties:!1},"examples.ExampleCodeSampleSchema":{anyOf:[{$ref:"#/definitions/examples.ExampleCodeSampleSchemaSdk"},{$ref:"#/definitions/examples.ExampleCodeSampleSchemaLanguage"}]},"examples.ExampleEndpointCallSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},id:{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},request:{oneOf:[{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"},{type:"null"}]},response:{oneOf:[{$ref:"#/definitions/examples.ExampleResponseSchema"},{type:"null"}]},"code-samples":{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleCodeSampleSchema"}},{type:"null"}]}},additionalProperties:!1},"pagination.CursorPaginationSchema":{type:"object",properties:{cursor:{type:"string"},next_cursor:{type:"string"},results:{type:"string"}},required:["cursor","next_cursor","results"],additionalProperties:!1},"pagination.OffsetPaginationSchema":{type:"object",properties:{offset:{type:"string"},results:{type:"string"},step:{oneOf:[{type:"string"},{type:"null"}]},"has-next-page":{oneOf:[{type:"string"},{type:"null"}]}},required:["offset","results"],additionalProperties:!1},"pagination.CustomPaginationSchema":{type:"object",properties:{type:{const:"custom"},results:{type:"string"}},required:["type","results"],additionalProperties:!1},"pagination.PaginationSchema":{anyOf:[{$ref:"#/definitions/pagination.CursorPaginationSchema"},{$ref:"#/definitions/pagination.OffsetPaginationSchema"},{$ref:"#/definitions/pagination.CustomPaginationSchema"}]},"service.Pagination":{anyOf:[{$ref:"#/definitions/pagination.PaginationSchema"},{type:"boolean"}]},"service.HttpEndpointSchema":{type:"object",properties:{"display-name":{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},method:{oneOf:[{$ref:"#/definitions/service.HttpMethodSchema"},{type:"null"}]},"base-path":{oneOf:[{type:"string"},{type:"null"}]},path:{type:"string"},url:{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpPathParameterSchema"}},{type:"null"}]},auth:{oneOf:[{type:"boolean"},{type:"null"}]},idempotent:{oneOf:[{type:"boolean"},{type:"null"}]},"stream-condition":{oneOf:[{type:"string"},{type:"null"}]},request:{oneOf:[{$ref:"#/definitions/service.HttpRequest"},{type:"null"}]},response:{oneOf:[{$ref:"#/definitions/service.HttpResponseSchema"},{type:"null"}]},"response-stream":{oneOf:[{$ref:"#/definitions/service.HttpResponseStreamSchema"},{type:"null"}]},errors:{oneOf:[{$ref:"#/definitions/service.ResponseErrorsSchema"},{type:"null"}]},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleEndpointCallSchema"}},{type:"null"}]},pagination:{oneOf:[{$ref:"#/definitions/service.Pagination"},{type:"null"}]},transport:{oneOf:[{$ref:"#/definitions/service.ServiceTransport"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]}},required:["path"],additionalProperties:!1},"service.HttpServiceSchema":{type:"object",properties:{availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},auth:{type:"boolean"},url:{oneOf:[{type:"string"},{type:"null"}]},"base-path":{type:"string"},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeReferenceSchema"}},{type:"null"}]},idempotent:{oneOf:[{type:"boolean"},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeReferenceSchema"}},{type:"null"}]},transport:{oneOf:[{$ref:"#/definitions/service.ServiceTransport"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},endpoints:{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpEndpointSchema"}}},required:["auth","base-path","endpoints"],additionalProperties:!1},"errors.ErrorDeclarationSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},"status-code":{type:"integer"},type:{oneOf:[{type:"string"},{type:"null"}]},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]}},required:["status-code"],additionalProperties:!1},"webhooks.WebhookMethodSchema":{type:"string",enum:["POST","GET"]},"webhooks.WebhookReferencedPayloadSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"webhooks.WebhookInlinedPayloadSchema":{type:"object",properties:{name:{type:"string"},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.ObjectPropertySchema"}},{type:"null"}]}},required:["name"],additionalProperties:!1},"webhooks.WebhookPayloadSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/webhooks.WebhookReferencedPayloadSchema"},{$ref:"#/definitions/webhooks.WebhookInlinedPayloadSchema"}]},"examples.ExampleWebhookCallSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},id:{oneOf:[{type:"string"},{type:"null"}]},payload:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},required:["payload"],additionalProperties:!1},"webhooks.WebhookSchema":{type:"object",properties:{availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},method:{$ref:"#/definitions/webhooks.WebhookMethodSchema"},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},payload:{$ref:"#/definitions/webhooks.WebhookPayloadSchema"},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleWebhookCallSchema"}},{type:"null"}]}},required:["method","payload"],additionalProperties:!1},"websocket.WebSocketOrigin":{type:"string",enum:["client","server"]},"websocket.WebSocketChannelReferencedMessageSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"websocket.WebSocketChannelInlinedMessageSchema":{type:"object",properties:{name:{type:"string"},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.ObjectPropertySchema"}},{type:"null"}]}},required:["name"],additionalProperties:!1},"websocket.WebSocketChannelMessageBodySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/websocket.WebSocketChannelReferencedMessageSchema"},{$ref:"#/definitions/websocket.WebSocketChannelInlinedMessageSchema"}]},"websocket.WebSocketChannelMessageSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},origin:{$ref:"#/definitions/websocket.WebSocketOrigin"},body:{$ref:"#/definitions/websocket.WebSocketChannelMessageBodySchema"}},required:["origin","body"],additionalProperties:!1},"examples.ExampleWebSocketMessage":{type:"object",properties:{type:{type:"string"},body:{type:["string","number","boolean","object","array","null"]}},required:["type","body"],additionalProperties:!1},"examples.ExampleWebSocketSession":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},messages:{type:"array",items:{$ref:"#/definitions/examples.ExampleWebSocketMessage"}}},required:["messages"],additionalProperties:!1},"websocket.WebSocketChannelSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},auth:{type:"boolean"},url:{oneOf:[{type:"string"},{type:"null"}]},path:{type:"string"},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpPathParameterSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpQueryParameterSchema"}},{type:"null"}]},messages:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/websocket.WebSocketChannelMessageSchema"}},{type:"null"}]},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleWebSocketSession"}},{type:"null"}]}},required:["auth","path"],additionalProperties:!1},"file.Navigation":{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]},"file.ExportDetailed":{type:"object",properties:{dependency:{type:"string"},url:{oneOf:[{type:"string"},{type:"null"}]}},required:["dependency"],additionalProperties:!1},"file.Export":{anyOf:[{type:"string"},{$ref:"#/definitions/file.ExportDetailed"}]}},hQD={type:fQD,properties:dQD,additionalProperties:pQD,definitions:_QD};function oXp({files:e,absolutePathToDefinition:t}){let r,i={},n={},a={};for(let[u,l]of aF(e)){let f=l.contents,s=o=>{a[u]={type:hP.JSONSCHEMA_VALIDATION,error:o}};if(u===uF){let o=P8t(f,VXs);if(o.success){let c=gF.serialization.RootApiFileSchema.parseOrThrow(f);r={defaultUrl:c["default-url"],contents:c,rawContents:l.rawContents}}else s(o)}else if(aXp.default.basename(u)===lS){let o=P8t(f,HXs);if(o.success){let c=gF.serialization.PackageMarkerFileSchema.parseOrThrow(f);n[u]={defaultUrl:typeof c.export=="object"?c.export.url:void 0,contents:c,rawContents:l.rawContents}}else s(o)}else{let o=P8t(f,WXs);if(o.success){let c=gF.serialization.DefinitionFileSchema.parseOrThrow(f);i[u]={defaultUrl:void 0,contents:c,rawContents:l.rawContents,absoluteFilePath:Lu(t,u)}}else s(o)}}return r==null?{didSucceed:!1,failures:{[Ja.of(uF)]:{type:hP.FILE_MISSING},...a}}:Object.keys(a).length>0?{didSucceed:!1,failures:a}:{didSucceed:!0,namedDefinitionFiles:i,rootApiFile:r,packageMarkers:n}}var IZt=class extends v9t{type="fern";context;fernWorkspaces={};loadAPIWorkspace;constructor({context:t,loadAPIWorkspace:r,...i}){super(i),this.context=t,this.loadAPIWorkspace=r}async getDefinition({context:t},r){return(await this.toFernWorkspace({context:t},r)).definition}async toFernWorkspace({context:t},r){let i=(0,uXp.default)(r??{}),n=this.fernWorkspaces[i];if(n==null){let a=t||this.context,u=Lu(this.absoluteFilePath,Ja.of(l5)),l=await Vgs({absolutePathToWorkspace:this.absoluteFilePath,context:a}),f=await rXp(u,"{yml,yaml}"),s=await iXp(f);if(!s.didSucceed)return DFo(s.failures,a.logger),a.failAndThrow();let o=oXp({files:s.files,absolutePathToDefinition:u});if(!o.didSucceed)return DFo(o.failures,a.logger),a.failAndThrow();let c=await nXp({dependenciesConfiguration:l,structuralValidationResult:o,context:a,cliVersion:this.cliVersion,settings:r,loadAPIWorkspace:this.loadAPIWorkspace});if(!c.didSucceed)return DFo(c.failures,a.logger),a.failAndThrow();n=new BDe({absoluteFilePath:this.absoluteFilePath,generatorsConfiguration:this.generatorsConfiguration,dependenciesConfiguration:l,workspaceName:this.workspaceName,definition:{absoluteFilePath:u,rootApiFile:o.rootApiFile,namedDefinitionFiles:o.namedDefinitionFiles,packageMarkers:c.packageMarkers,importedDefinitions:c.importedDefinitions},cliVersion:this.cliVersion,sources:[]}),this.fernWorkspaces[i]=n}return n}getAbsoluteFilePaths(){return[this.absoluteFilePath]}};var M0=class e{breadcrumbs=[];context;static STRING=Hs.TypeReference.primitive({v1:"STRING",v2:Hs.PrimitiveTypeV2.string({default:void 0,validation:void 0})});static OPTIONAL_STRING=Hs.TypeReference.container(Hs.ContainerType.optional(e.STRING));constructor({breadcrumbs:t=[],context:r}){this.breadcrumbs=t,this.context=r}};var sXp={[kh.GenerationLanguage.PHP]:new Set(["abstract","and","as","break","callable","case","catch","class","clone","const","continue","declare","default","do","echo","else","elseif","enddeclare","endfor","endforeach","endif","endswitch","endwhile","extends","final","finally","fn","for","foreach","function","global","goto","list","if","implements","include","include_once","instanceof","insteadof","interface","match","namespace","new","or","parent","Parent","print","private","protected","public","readonly","require","require_once","return","static","switch","throw","trait","try","use","var","while","xor","yield"].flatMap(e=>[e,bx(e)])),[kh.GenerationLanguage.TYPESCRIPT]:new Set(["any","as","boolean","break","case","catch","class","const","constructor","continue","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","instanceof","interface","let","module","new","null","number","of","package","private","protected","public","require","return","set","static","string","super","switch","symbol","this","throw","true","try","type","typeof","var","void","while","with","yield","Date","Error","File","Object","Record"]),[kh.GenerationLanguage.JAVA]:new Set(["abstract","assert","boolean","break","byte","case","catch","char","class","const","continue","default","do","double","else","enum","extends","false","final","finally","float","for","goto","if","implements","import","instanceof","int","interface","long","native","new","null","package","private","protected","public","return","short","static","strictfp","super","switch","synchronized","this","throw","throws","transient","true","try","void","volatile","while"]),[kh.GenerationLanguage.PYTHON]:new Set(["False","None","True","and","as","assert","async","","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","nonlocal","not","or","pass","raise","return","try","while","with","yield","float","int","complex","bool","uuid","list","set","map","long","self","all"]),[kh.GenerationLanguage.GO]:new Set(["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var","any","bool","byte","complex64","complex128","error","float32","float64","int","int8","int16","int32","int64","make","new","rune","string","uint","uint8","uint16","uint32","uint64","uintptr"]),[kh.GenerationLanguage.RUBY]:new Set(["__ENCODING__","__LINE__","__FILE__","alias","and","begin","break","case","class","def","defined","do","else","elsif","end","ensure","false","for","if","in","module","next","nil","not","or","redo","rescue","retry","return","self","super","then","true","undef","unless","until","when","while","yield","Object","JSON","Date","DateTime"]),[kh.GenerationLanguage.CSHARP]:new Set(["abstract","as","base","bool","break","byte","case","catch","char","checked","class","const","continue","decimal","default","delegate","do","double","else","enum","event","explicit","extern","false","finally","fixed","float","for","foreach","goto","if","implicit","in","int","interface","internal","is","lock","long","namespace","new","null","object","operator","out","override","params","private","protected","public","readonly","ref","return","sbyte","sealed","short","sizeof","stackalloc","static","string","struct","switch","this","throw","true","try","typeof","uint","ulong","unchecked","unsafe","ushort","using","virtual","void","volatile","while","add","and","alias","ascending","args","async","","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","managed","nameof","nint","not","notnull","nuint","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value","var","when","where","with","yield"]),[kh.GenerationLanguage.SWIFT]:new Set([])};var yQD=["go","ruby"];function HDe({generationLanguage:e,keywords:t,smartCasing:r}){let i={generateName:(n,a)=>{let u=c=>({unsafeName:c,safeName:vQD({name:c,keywords:bQD({generationLanguage:e,keywords:t})})}),l=L_(n),f=bx(l),s=kCi(n),o=KCi(l);return r&&(!mQD(o)&&(e==null||yQD.includes(e))&&(l=o.map((c,b)=>{if(b>0){let g=EFo(c);if(g!=null)return g;if(MFo(c))return c.toUpperCase()}return c}).join(""),f=o.map((c,b)=>{let g=EFo(c);return g??(MFo(c)?c.toUpperCase():b===0?bx(c):c)}).join("")),s=n.split(" ").map(c=>c.split(/(\d+)/).map(kCi).join("")).join("_")),{originalName:n,camelCase:u(a?.casingOverrides?.camel??l),snakeCase:u(a?.casingOverrides?.snake??s),screamingSnakeCase:u(a?.casingOverrides?.["screaming-snake"]??s.toUpperCase()),pascalCase:u(a?.casingOverrides?.pascal??f)}},generateNameAndWireValue:({name:n,wireValue:a,opts:u})=>({name:i.generateName(n,u),wireValue:a})};return i}function vQD({name:e,keywords:t}){return t==null?e:t.has(e)?e+"_":OQD(e)?"_"+e:e}function bQD({generationLanguage:e,keywords:t}){if(t!=null)return new Set(t);if(e!=null)return sXp[e]}var gQD=/^[0-9]/;function OQD(e){return gQD.test(e)}function mQD(e){return e.some((t,r)=>{if(r===0)return!1;let i=e[r-1];if(i==null)return!1;let n=EFo(i)!=null||MFo(i),a=EFo(t)!=null||MFo(t);return n&&a})}function EFo(e){return jQD.get(e.toUpperCase())}function MFo(e){return PQD.has(e.toUpperCase())}var PQD=new Set(["ACL","API","ASCII","CPU","CSS","DNS","EOF","GUID","HTML","HTTP","HTTPS","ID","IP","JSON","LHS","QPS","RAM","RHS","RPC","SAML","SCIM","SLA","SMTP","SQL","SSH","SSO","TCP","TLS","TTL","UDP","UI","UID","UUID","URI","URL","UTF8","VM","XML","XMPP","XSRF","XSS"]),jQD=new Map([["ACLS","ACLs"],["APIS","APIs"],["CPUS","CPUs"],["GUIDS","GUIDs"],["IDS","IDs"],["UIDS","UIDs"],["UUIDS","UUIDs"],["URIS","URIs"],["URLS","URLs"]]);var lXp=require("fs/promises");var $Xs=class{_map;_path;_lastScalar;_fragments;_count;constructor(){this._map={},this._path=[],this._lastScalar="",this._fragments=[],this._count=0}get map(){return this._map}resolveNode(t,r){if(t.path==="."&&(r="."),!this._map[r]){let{line:i,position:n,lineStart:a}=t;this._map[r]={line:i,position:n,lineStart:a}}t.children&&t.children.length>0&&t.children.forEach(i=>{this.resolveNode(i,(r==="."?"":r)+"."+i.path)})}iterFragments(t,r){for(let i=this._fragments.length-1;i>=0;i--){if(!this._fragments[i].path.startsWith(t)||this._fragments[i].path===t)continue;let n=this._fragments.pop();r(n)}}handleState(t,r){if(t==="close"){let i=r.result,n=r.kind,a=this._path.join(".");if(n==="scalar"){this._path.pop(),this._lastScalar=`${i}`;let{line:u,position:l,lineStart:f}=r;this._path.length===0?this._map["."+i]={line:u,position:l,lineStart:f}:this._fragments.push({path:this._path.join(".")+"."+i,line:u,position:l,lineStart:f})}else if(n==="mapping"){let u={path:a,children:[],line:0,position:0,lineStart:0},l=0;this.iterFragments(a,f=>{l++,!((!f.children||f.children.length===0)&&l%2===1)&&(this._path.length===1?this.resolveNode(f,f.path):(u.children.push({...f,path:f.path.slice(a.length+1)}),u.line=f.line,u.position=f.position,u.lineStart=f.lineStart))}),u.children&&u.children.length>0&&this._fragments.push(u),this._path.pop()}else if(n==="sequence"){let u={path:a,children:[],line:0,position:0,lineStart:0},l=new Set,f=i.length;this.iterFragments(a,s=>{l.has(s.position)||(f--,l.add(s.position),this._path.length===1?this.resolveNode(s,`${a}.${f}`):(u.children.push({...s,path:f.toString()}),u.line=s.line,u.position=s.position,u.lineStart=s.lineStart))}),u.children&&u.children.length>0&&this._fragments.push(u),this._path.pop()}else this._path.pop()}if(t==="open"){if(this._count===0){let{line:i,position:n,lineStart:a}=r;this._map["."]={line:i,position:n,lineStart:a}}this._path.push(this._lastScalar),this._count++}}listen(){return this.handleState.bind(this)}lookup(t){let r=t instanceof Array?t.map(n=>`${n}`).join("."):`${t}`;r.startsWith(".")||(r="."+r),r.startsWith("..")&&(r=r.slice(1)),r=r.replace(/\[/g,".").replace(/\]/g,"");let i=this._map[r];if(i)return{line:i.line+1,column:i.position-i.lineStart+1,position:i.position}}},cXp=$Xs;var zZt;(function(e){e.WARNING="warning",e.ERROR="error"})(zZt||(zZt={}));var pMn=class{errors=[];logger;breadcrumbToLineNumberMapper;relativeFilepathToSpec;constructor({logger:t,relativeFilepathToSpec:r}){this.logger=t,this.relativeFilepathToSpec=r,r&&(this.breadcrumbToLineNumberMapper=new GXs({logger:t,relativePathToFile:Ja.of(r)}))}collect(t){this.errors.push(t)}getErrors(){return this.errors}hasErrors(){return this.errors.length>0}dedupe(){let t=[],r=new Set,i=0;for(let n of this.errors){let a=n.path?n.path.join("->"):"",u=`${n.message}|${n.level||zZt.WARNING}|${a}`;r.has(u)?i++:(r.add(u),t.push(n))}return this.errors=t,i}getErrorStats(){this.dedupe();let t=0,r=0;for(let i of this.errors)i.level===zZt.ERROR?t++:r++;return{numErrors:t,numWarnings:r}}async logErrors({logWarnings:t}){this.dedupe();for(let r of this.errors)if(!(r.level===zZt.WARNING&&!t)){switch(r.level){case zZt.ERROR:if(this.logger.log(nb.Error,r.message),r.path&&r.path.length>0){let i=await this.breadcrumbToLineNumberMapper?.getSourceLocation(r.path),n=i?`${this.relativeFilepathToSpec}:${i.line}:${i.column}`:r.path.join(" -> ");this.logger.log(nb.Error,` - at location (${n})`)}break;case zZt.WARNING:default:if(this.logger.log(nb.Warn,r.message),r.path&&r.path.length>0){let i=await this.breadcrumbToLineNumberMapper?.getSourceLocation(r.path),n=i?`${this.relativeFilepathToSpec}:${i.line}:${i.column}`:r.path.join(" -> ");this.logger.log(nb.Warn,` - at location (${n})`)}}this.logger.log(nb.Info,"")}}},GXs=class{logger;relativePathToFile;map=new cXp;initialized=!1;constructor({relativePathToFile:t,logger:r}){this.relativePathToFile=t,this.logger=r}async initialize(){if(!this.initialized)try{let t=await(0,lXp.readFile)(this.relativePathToFile,"utf-8");Ed.load(t,{listener:this.map.listen()}),this.initialized=!0}catch(t){this.logger.log(nb.Warn,`Failed to initialize line number mapping for ${this.relativePathToFile}: ${JSON.stringify(t)}`)}}async getSourceLocation(t){return this.initialized||await this.initialize(),this.map.lookup(t)}};var o4=class e{args;spec;settings;errorCollector;logger;generationLanguage;smartCasing;casingsGenerator;namespace;exampleGenerationArgs;authOverrides;environmentOverrides;globalHeaderOverrides;enableUniqueErrorsPerEndpoint;constructor(t){this.args=t,this.spec=t.spec,this.settings=t.settings,this.errorCollector=t.errorCollector,this.logger=t.logger,this.generationLanguage=t.generationLanguage,this.smartCasing=t.smartCasing,this.namespace=t.namespace,this.casingsGenerator=HDe({generationLanguage:t.generationLanguage,keywords:void 0,smartCasing:t.smartCasing}),this.exampleGenerationArgs=t.exampleGenerationArgs,this.authOverrides=t.authOverrides,this.environmentOverrides=t.environmentOverrides,this.globalHeaderOverrides=t.globalHeaderOverrides,this.enableUniqueErrorsPerEndpoint=t.enableUniqueErrorsPerEndpoint}static BREADCRUMBS_TO_IGNORE=["properties","allOf","anyOf"];convertBreadcrumbsToName(t){let r=t.filter((n,a)=>!(/^\d+$/.test(n)||e.BREADCRUMBS_TO_IGNORE.includes(n)||a===0&&n==="components"||a===1&&n==="schemas"||t[0]==="paths"&&(a===0||a===1&&["get","post","put","delete","patch"].includes(n)||a===2&&t[1]!=null&&["get","post","put","delete","patch"].includes(t[1])&&n==="parameters"))),i=L_(r.join("_"));return i.charAt(0).toUpperCase()+i.slice(1)}createFernFilepath(t={}){let r=this.namespace!=null?[this.casingsGenerator.generateName(this.namespace)]:[],i=t.name!=null?this.casingsGenerator.generateName(t.name):void 0;return{allParts:i?[...r,i]:r,packagePath:r,file:i}}resolveReference({reference:t,breadcrumbs:r,skipErrorCollector:i}){let n=this.spec,a=t.$ref.replace(/^(?:(?:https?:\/\/)?|#?\/?)?/,"").split("/").map(u=>u.replace(/~1/g,"/"));for(let u of a){if(typeof n!="object"||n==null)return i||this.errorCollector.collect({level:zZt.ERROR,message:this.getErrorMessageForMissingRef({reference:t}),path:r}),{resolved:!1};n=n[u]}return n==null?(i||this.errorCollector.collect({level:zZt.ERROR,message:this.getErrorMessageForMissingRef({reference:t}),path:r}),{resolved:!1}):{resolved:!0,value:n}}getErrorMessageForMissingRef({reference:t}){let r=t.$ref.replace(/^(?:(?:https?:\/\/)?|#?\/?)?/,"").split("/");return r.length>=3&&r[0]==="components"&&r[1]==="schemas"?`Schema ${r[2]} does not exist`:`${t.$ref} does not exist`}async resolveMaybeExternalReference(t){let r=this.spec,i,n=!1,a=null,u;if(this.isExternalReference(t.$ref)){n=!0;let f=t.$ref.split("#"),s=f[0];if(i=f[1],!s)return{resolved:!1};u=s;let o=await fetch(s);if(!o.ok)return{resolved:!1};try{let c=await o.text();try{a=JSON.parse(c),r=a}catch{a=Ed.load(c),r=a}if(r==null)return{resolved:!1}}catch{return{resolved:!1}}if(!i)return{resolved:!0,value:r}}let l=(i??t.$ref).replace(/^(?:(?:https?:\/\/)?|#?\/?)?/,"").split("/").map(f=>f.replace(/~1/g,"/"));for(let f of l){if(typeof r!="object"||r==null)return{resolved:!1};r=r[f]}if(r==null)return{resolved:!1};if(n&&typeof r=="object"&&r!==null){let f=new Set;f.add(t.$ref),r=await this.resolveNestedExternalReferences(r,a,f,u)}return{resolved:!0,value:r}}async resolveNestedExternalReferences(t,r,i,n){if(t===null||typeof t!="object")return t;if(Array.isArray(t)){let u=[];for(let l of t)u.push(await this.resolveNestedExternalReferences(l,r,i,n));return u}if(this.isReferenceObject(t)){let u=t.$ref;if(this.isExternalReference(u)){if(i.has(u))return t;i.add(u);let l=await this.resolveMaybeExternalReference({$ref:u});if(i.delete(u),l.resolved)return l.value}else{let l=`${n}${u}`;if(i.has(l))return t;i.add(l);let f=r,s=u.substring(2).split("/").map(o=>o.replace(/~1/g,"/").replace(/~0/g,"~"));for(let o of s){if(typeof f!="object"||f===null)return t;f=f[o]}if(f!=null){let o=await this.resolveNestedExternalReferences(f,r,i,n);return i.delete(u),o}i.delete(u)}return t}let a={};for(let[u,l]of Object.entries(t))typeof l=="object"&&l!==null?a[u]=await this.resolveNestedExternalReferences(l,r,i,n):a[u]=l;return a}getExamplesFromSchema({schema:t,breadcrumbs:r}){if(t==null)return[];let i=t.example!=null?[t.example]:[];return t.examples!=null&&(Array.isArray(t.examples)?i.push(...t.examples):this.errorCollector.collect({message:"Received non-array schema examples",path:r})),i}getNamedExamplesFromMediaTypeObject({mediaTypeObject:t,breadcrumbs:r,defaultExampleName:i}){if(t==null)return[];let n=[];if(t.example!=null){let a=this.generateUniqueName({prefix:i??`${r.join("_")}_example`,existingNames:[]});n.push([a,t.example])}return t.examples!=null&&n.push(...Object.entries(t.examples)),n}resolveMaybeReference({schemaOrReference:t,breadcrumbs:r,skipErrorCollector:i}){if(this.isReferenceObject(t)){let n=this.resolveReference({reference:t,breadcrumbs:r,skipErrorCollector:i});return n.resolved?n.value:void 0}return t}resolveExample(t){if(!this.isReferenceObject(t))return t;let r=this.resolveReference({reference:t});return r.resolved?this.returnExampleValue(r.value):void 0}resolveExampleWithValue(t){if(!this.isReferenceObject(t))return this.returnExampleValue(t);let r=this.resolveReference({reference:t});return r.resolved?this.returnExampleValue(r.value):void 0}returnExampleValue(t){return this.isExampleWithValue(t)?t.value:t}getPropertyAccess(t){let r=t;for(;this.isReferenceObject(r);){let i=this.resolveReference({reference:r});if(!i.resolved)return;r=i.value}if(!(r.readOnly&&r.writeOnly)){if(r.readOnly)return xJt.ReadOnly;if(r.writeOnly)return xJt.WriteOnly}}getAudiences({operation:t,breadcrumbs:r}){let n=new eW.AudienceExtension({operation:t,breadcrumbs:r,context:this}).convert();if(n!=null)return n.audiences}getAvailability({node:t,breadcrumbs:r}){for(;this.isReferenceObject(t);){let a=this.resolveReference({reference:t});if(!a.resolved)return;t=a.value}let n=new eW.FernAvailabilityExtension({node:t,breadcrumbs:r,context:this}).convert();if(n!=null)return{status:n,message:void 0};if(t.deprecated===!0)return{status:D5.Deprecated,message:void 0}}getTypeIdFromSchemaReference(t){let r=t.$ref.match(/\/schemas\/(.+)$/);if(!(!r||!r[1]))return r[1]}createNamedTypeReference(t,r){return Gf.named({fernFilepath:{allParts:[],packagePath:[],file:void 0},name:this.casingsGenerator.generateName(t),typeId:t,displayName:r,default:void 0,inline:!1})}typeReferenceToDeclaredTypeName(t){if(t.type!=="named")return;let r=t.typeId;return{typeId:r,fernFilepath:{allParts:[],packagePath:[],file:void 0},name:this.casingsGenerator.generateName(r),displayName:t.displayName}}removeSchemaFromInlinedTypes({id:t,inlinedTypes:r}){return Object.fromEntries(Object.entries(r).filter(([i])=>i!==t))}static maybeTrimPrefix(t,r){return t.startsWith(r)?t.slice(r.length):t}generateUniqueName({prefix:t,existingNames:r}){if(!r.includes(t))return t;let i=0;for(;r.includes(`${t}_${i}`);)i++;return`${t}_${i}`}isReferenceObject(t){return typeof t=="object"&&t!==null&&"$ref"in t}isExternalReference(t){return t.startsWith("http://")||t.startsWith("https://")}isExampleWithSummary(t){return typeof t=="object"&&t!=null&&"summary"in t}isExampleWithValue(t){return typeof t=="object"&&t!=null&&"value"in t}isOptional(t){return t.type==="container"&&t.container.type==="optional"}isNullable(t){return t.type==="container"&&t.container.type==="nullable"}isList(t){return t.type==="container"&&t.container.type==="list"}isFile(t){return t.type==="primitive"&&t.primitive.v2?.type==="string"&&t.primitive.v2.validation?.format==="binary"}getAsString(t){if(typeof t=="string")return t}getAsInteger(t){if(typeof t=="number"&&Number.isInteger(t))return t}getAsNumber(t){if(typeof t=="number")return t}getAsBoolean(t){if(typeof t=="boolean")return t}getAsArray(t){if(Array.isArray(t))return t}getAsObject(t){if(typeof t=="object"&&t!==null&&!Array.isArray(t))return t}getGroup({groupParts:t,namespace:r}){let i=[];return r!=null&&i.push(r),i.push(...t??[]),i}isObjectSchemaType(t){return t.type==="object"||t.properties!=null}};var oj=class{breadcrumbs;context;constructor(t){this.breadcrumbs=t.breadcrumbs,this.context=t.context}getExtensionValue(t,r){if(typeof t!="object"||t==null)return;let i=t[this.key];if(i!=null)return i;if(r!=null)return t[r]}};function pN(e){let t=SQD(e),{value:r,done:i}=QXs(t,"{");return i?{head:r,parts:[]}:{head:r,parts:[...wQD(t)]}}function*wQD(e){let t;do{let{value:r}=QXs(e,"}"),i=QXs(e,"{");t=i.done,yield{pathParameter:r,tail:i.value}}while(!t)}function*SQD(e){for(let t of e)yield t}function QXs(e,t){let r="",i=e.next();for(;i.done!==!0&&i.value!==t;)r+=i.value,i=e.next();return{value:r,done:i.done??!1}}function i0a(e){let t=2166136261;function r(n,a){if(typeof n=="object"&&n!=null){if(a>64){i("[MaxDepthExceeded]");return}if(Array.isArray(n)){i("[");for(let u=0;u<n.length;u++)u>0&&i(","),r(n[u],a+1);i("]")}else i("{"),Object.keys(n).sort().forEach((l,f)=>{f>0&&i(","),i(l),i(":"),r(n[l],a+1)}),i("}")}else i(String(n))}function i(n){for(let a=0;a<n.length;a++){let u=n.charCodeAt(a);t^=u,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24),t>>>=0}}return r(e,0),t.toString(16)}function RZt({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 fXp({fieldName:e,containerType:t,maxDepth:r,currentDepth:i,typeDeclarations:n,skipOptionalProperties:a}){if(i>=r)return NZt({containerType:t});switch(t.type){case"list":{let u=fq({fieldName:e,typeReference:t.list,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"?NZt({containerType:t}):{type:"success",example:ZO.list({list:[u.example,u.example],itemType:t.list}),jsonExample:[u.jsonExample,u.jsonExample]}}case"literal":return{type:"success",example:ZO.literal({literal:t.literal._visit({boolean:u=>xd.boolean(u),string:u=>xd.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 NZt({containerType:t});let u=fq({fieldName:e,typeReference:t.optional,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"?NZt({containerType:t}):{type:"success",example:ZO.optional({optional:u.example,valueType:t.optional}),jsonExample:u.jsonExample}}case"nullable":{if(a)return NZt({containerType:t});let u=fq({fieldName:e,typeReference:t.nullable,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"?NZt({containerType:t}):{type:"success",example:ZO.nullable({nullable:u.example,valueType:t.nullable}),jsonExample:u.jsonExample}}case"set":{let u=fq({fieldName:e,typeReference:t.set,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"?NZt({containerType:t}):{type:"success",example:ZO.set({set:[u.example],itemType:t.set}),jsonExample:[u.jsonExample]}}case"map":{let u=fq({fieldName:e,typeReference:t.keyType,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a}),l=fq({fieldName:e,typeReference:t.valueType,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"||l.type==="failure"?NZt({containerType:t}):{type:"success",example:ZO.map({map:[{key:u.example,value:l.example}],keyType:t.keyType,valueType:t.valueType}),jsonExample:{[u.jsonExample]:l.jsonExample}}}default:Oo(t)}}function NZt({containerType:e}){switch(e.type){case"list":return{type:"success",example:ZO.list({list:[],itemType:e.list}),jsonExample:[]};case"literal":return{type:"success",example:ZO.literal({literal:e.literal._visit({boolean:t=>xd.boolean(t),string:t=>xd.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:ZO.optional({optional:void 0,valueType:e.optional}),jsonExample:void 0};case"nullable":return{type:"success",example:ZO.nullable({nullable:void 0,valueType:e.nullable}),jsonExample:void 0};case"set":return{type:"success",example:ZO.set({set:[],itemType:e.set}),jsonExample:[]};case"map":return{type:"success",example:ZO.map({map:[],keyType:e.keyType,valueType:e.valueType}),jsonExample:{}};default:Oo(e)}}function pXp({fieldName:e,primitiveType:t}){switch(t.v1){case"STRING":return qQD({fieldName:e,default_:DQD(t.v2),validation:EQD(t.v2)});case"BASE_64":return{type:"success",example:xd.base64(Ty.BASE64),jsonExample:Ty.BASE64};case"BOOLEAN":return{type:"success",example:xd.boolean(Ty.BOOLEAN),jsonExample:Ty.BOOLEAN};case"DATE":return{type:"success",example:xd.date(Ty.DATE),jsonExample:Ty.DATE};case"DATE_TIME":return{type:"success",example:xd.datetime({datetime:new Date(Ty.DATE_TIME),raw:Ty.DATE_TIME}),jsonExample:Ty.DATE_TIME};case"DOUBLE":return TQD({fieldName:e,validation:MQD(t.v2)});case"FLOAT":return{type:"success",example:xd.float(Ty.FLOAT),jsonExample:Ty.FLOAT};case"INTEGER":return CQD({fieldName:e,validation:AQD(t.v2)});case"UINT_64":return{type:"success",example:xd.uint64(Ty.INT64),jsonExample:Ty.INT64};case"UINT":return{type:"success",example:xd.uint(Ty.UINT),jsonExample:Ty.UINT};case"BIG_INTEGER":return{type:"success",example:xd.bigInteger(Ty.INT64.toString()),jsonExample:`${Ty.INT64}`};case"LONG":return{type:"success",example:xd.long(Ty.INT64),jsonExample:Ty.INT64};case"UUID":return{type:"success",example:xd.uuid(Ty.UUID),jsonExample:Ty.UUID};default:Oo(t.v1)}}function DQD(e){if(e?.type==="string")return e.default}function EQD(e){if(e?.type==="string")return e.validation}function MQD(e){if(e?.type==="double")return e.validation}function AQD(e){if(e?.type==="integer")return e.validation}function dXp(e){if(e<=Ty.SAMPLE_STRINGS.length){let t=Ty.SAMPLE_STRINGS[e-1];if(t)return t;throw new Error(`Unexpected undefined value in SAMPLE_STRINGS at index ${e-1}`)}return Ty.SAMPLE_STRINGS[Ty.SAMPLE_STRINGS.length-1]+".".repeat(e-Ty.SAMPLE_STRINGS.length)}function qQD({fieldName:e,default_:t,validation:r}){if(t!=null)return{type:"success",example:xd.string({original:t}),jsonExample:t};if(r){let n=r.minLength,a=r.maxLength;if(n){let u=dXp(n);return{type:"success",example:xd.string({original:u}),jsonExample:u}}else if(a){let u=dXp(a);return{type:"success",example:xd.string({original:u}),jsonExample:u}}}let i=e??Ty.STRING;return{type:"success",example:xd.string({original:i}),jsonExample:i}}function TQD({fieldName:e,validation:t}){if(t){let r=t.max,i=t.min;if(r)return{type:"success",example:xd.double(r),jsonExample:r};if(i)return{type:"success",example:xd.double(i),jsonExample:i}}return{type:"success",example:xd.double(Ty.DOUBLE),jsonExample:Ty.DOUBLE}}function CQD({fieldName:e,validation:t}){if(t){let r=t.max,i=t.min;if(r)return{type:"success",example:xd.integer(r),jsonExample:r};if(i)return{type:"success",example:xd.integer(i),jsonExample:i}}return{type:"success",example:xd.integer(Ty.INT),jsonExample:Ty.INT}}function _Mn({fieldName:e,typeDeclarations:t,typeDeclaration:r,maxDepth:i,currentDepth:n,skipOptionalProperties:a}){switch(r.shape.type){case"alias":{let u=fq({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:lw.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:lw.enum({value:u.name}),jsonExample:u.name.wireValue}}case"object":{let u={},l=[];if(r.shape.extends!=null)for(let c of r.shape.extends){let b=t[c.typeId];if(b==null)continue;let g=_Mn({fieldName:e,typeDeclaration:b,typeDeclarations:t,currentDepth:n+1,maxDepth:i,skipOptionalProperties:a});g!=null&&g.type==="success"&&g.example.type==="object"&&(Object.assign(u,g.jsonExample),l.push(...g.example.properties))}let f=BQD({fieldName:e,typeDeclaration:r,objectTypeDeclaration:r.shape,typeDeclarations:t,currentDepth:n,maxDepth:i,skipOptionalProperties:a});if(f.type==="failure")return f;let{example:s,jsonExample:o}=f;return{type:"success",example:lw.object({...s,properties:[...l,...s.properties]}),jsonExample:Object.assign({},u,o)}}case"undiscriminatedUnion":{let u=0;for(let l of r.shape.members){let f=fq({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:lw.undiscriminatedUnion({index:u,singleUnionType:s}),jsonExample:o}}break}case"union":{let u=r.shape.discriminant,l={};if(r.shape.baseProperties!=null)for(let f of r.shape.baseProperties){let s=fq({fieldName:f.name.wireValue,typeReference:f.valueType,typeDeclarations:t,currentDepth:n+1,maxDepth:i,skipOptionalProperties:a});s.type==="success"&&(l[f.name.wireValue]=s.jsonExample)}for(let f of r.shape.types){let s=f.shape._visit({noProperties:()=>({type:"success",example:lw.union({discriminant:u,singleUnionType:{wireDiscriminantValue:f.discriminantValue,shape:OF.noProperties()}}),jsonExample:{[u.wireValue]:f.discriminantValue.wireValue,...l}}),samePropertiesAsObject:o=>{let c=t[o.typeId];if(c==null)return{type:"failure",message:`Failed to find type declaration with id ${o.typeId}`};let b=_Mn({currentDepth:n,maxDepth:i,fieldName:e,typeDeclaration:c,typeDeclarations:t,skipOptionalProperties:a});if(b==null)return{type:"failure",message:"Failed to generate example for type reference"};if(b.type==="failure")return b;let{example:g,jsonExample:O}=b;return{type:"success",example:lw.union({discriminant:u,singleUnionType:{wireDiscriminantValue:f.discriminantValue,shape:OF.samePropertiesAsObject({typeId:c.name.typeId,object:g.type==="object"?g:{properties:[]}})}}),jsonExample:{[u.wireValue]:f.discriminantValue.wireValue,...typeof O=="object"?O:{},...l}}},singleProperty:o=>{let c=fq({currentDepth:n+1,maxDepth:i,fieldName:e,typeReference:o.type,typeDeclarations:t,skipOptionalProperties:a});if(c.type==="failure")return c;let{example:b,jsonExample:g}=c;return{type:"success",example:lw.union({discriminant:u,singleUnionType:{wireDiscriminantValue:f.discriminantValue,shape:OF.singleProperty(b)}}),jsonExample:{[u.wireValue]:f.discriminantValue.wireValue,[o.name.wireValue]:g,...l}}},_other:()=>{throw new Error("Encountered unknown union type")}});if(s.type!=="failure")return s}}}return{type:"failure",message:"Failed to generate example for type reference"}}function BQD({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=fq({fieldName:s.name.wireValue,typeReference:s.valueType,typeDeclarations:i,currentDepth:a+1,maxDepth:n,skipOptionalProperties:u});if(o.type==="failure"&&!RZt({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:lw.object({properties:f}),jsonExample:l}}function fq({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)return{type:"failure",message:`Failed to find type declaration with id ${t.typeId}`};let l=_Mn({fieldName:e,typeDeclaration:u,typeDeclarations:r,maxDepth:i,currentDepth:n,skipOptionalProperties:a});if(l==null)return{type:"failure",message:"Failed to generate example for type declaration"};if(l.type==="failure")return l;let{example:f,jsonExample:s}=l;return{type:"success",example:{jsonExample:s,shape:jh.named({shape:f,typeName:u.name})},jsonExample:s}}case"container":{let u=fXp({fieldName:e,containerType:t.container,typeDeclarations:r,maxDepth:i,currentDepth:n,skipOptionalProperties:a});if(u.type==="failure"){let{example:s,jsonExample:o}=NZt({containerType:t.container});return{type:"success",example:{jsonExample:o,shape:jh.container(s)},jsonExample:o}}let{example:l,jsonExample:f}=u;return{type:"success",example:{jsonExample:f,shape:jh.container(l)},jsonExample:f}}case"primitive":{let{jsonExample:u,example:l}=pXp({fieldName:e,primitiveType:t.primitive});return{type:"success",example:{jsonExample:u,shape:jh.primitive(l)},jsonExample:u}}case"unknown":{let u={key:"value"};return{type:"success",example:{jsonExample:u,shape:jh.unknown(u)},jsonExample:u}}}}function QFi(e,t){let r=[];for(let i of e){let n=fq({fieldName:i.name.originalName,currentDepth:0,maxDepth:t.maxDepth??1,typeDeclarations:t.typeDeclarations,typeReference:i.valueType,skipOptionalProperties:t.skipOptionalRequestProperties});if(n.type==="failure")return n;r.push({name:i.name,value:n.example})}return{type:"success",example:r,jsonExample:void 0}}function hMn(e,t){let r=[];for(let i of e){if(t.skipOptionalRequestProperties&&RZt({typeDeclarations:t.typeDeclarations,typeReference:i.valueType}))continue;let n=fq({fieldName:i.name.name.originalName,currentDepth:0,maxDepth:t.maxDepth??1,typeDeclarations:t.typeDeclarations,typeReference:i.valueType,skipOptionalProperties:t.skipOptionalRequestProperties});if(n.type==="failure")return n;r.push({name:i.name,value:n.example})}return{type:"success",example:r,jsonExample:void 0}}function AFo(e,t){let r=[];for(let i of e){if(t.skipOptionalRequestProperties&&RZt({typeDeclarations:t.typeDeclarations,typeReference:i.valueType}))continue;let n=fq({fieldName:i.name.name.originalName,currentDepth:0,maxDepth:t.maxDepth??10,typeDeclarations:t.typeDeclarations,typeReference:i.valueType,skipOptionalProperties:t.skipOptionalRequestProperties});if(n.type==="failure")return n;r.push({name:i.name,shape:i.allowMultiple?L2.exploded():L2.single(),value:n.example})}return{type:"success",example:r,jsonExample:void 0}}var JXs=Gf.primitive({v1:r0.String,v2:th.string({default:void 0,validation:void 0})});function n0a({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:kq.ok(_C.body(void 0)),docs:void 0},l=QFi(t.pathParameters,{typeDeclarations:i,skipOptionalRequestProperties:n,maxDepth:1});if(l.type==="failure")return l;u.endpointPathParameters=l.example;let f=QFi(r.pathParameters,{typeDeclarations:i,skipOptionalRequestProperties:n,maxDepth:1});if(f.type==="failure")return f;u.servicePathParameters=f.example;let s=QFi(e.pathParameters,{typeDeclarations:i,skipOptionalRequestProperties:n,maxDepth:1});if(s.type==="failure")return s;u.rootPathParameters=s.example;let o=AFo(t.queryParameters,{typeDeclarations:i,skipOptionalRequestProperties:n,maxDepth:10});if(o.type==="failure")return o;u.queryParameters=o.example;let c=hMn(t.headers,{typeDeclarations:i,skipOptionalRequestProperties:n,maxDepth:1});if(c.type==="failure")return c;u.endpointHeaders=c.example;let b=hMn(r.headers,{typeDeclarations:i,skipOptionalRequestProperties:n,maxDepth:1});if(b.type==="failure")return b;if(u.serviceHeaders=b.example,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 g={},O=[];if(t.requestBody.extends!=null)for(let m of t.requestBody.extends){let P=i[m.typeId];if(P==null)throw new Error(`Failed to find extended type declaration with id ${m.typeId}`);let E=_Mn({typeDeclaration:P,typeDeclarations:i,currentDepth:1,maxDepth:10,skipOptionalProperties:n});E!=null&&E.type==="success"&&Object.assign(g,E.jsonExample)}for(let m of[...t.requestBody.properties??[],...t.requestBody.extendedProperties??[]]){let P=fq({fieldName:m.name.wireValue,typeReference:m.valueType,typeDeclarations:i,currentDepth:1,maxDepth:10,skipOptionalProperties:n});if(P.type==="failure"&&!RZt({typeDeclarations:i,typeReference:m.valueType}))return{type:"failure",message:`Failed to generate required property ${m.name.wireValue} b/c ${P.message}`};if(P.type==="failure")continue;let{example:E,jsonExample:A}=P;O.push({name:m.name,originalTypeDeclaration:void 0,value:E}),g[m.name.wireValue]=A}u.request=gG.inlinedRequestBody({jsonExample:g,properties:O});break}case"reference":{let g=fq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.requestBody.requestBodyType,skipOptionalProperties:n});if(g.type==="failure")return g;let{example:O}=g;u.request=gG.reference(O);break}default:Oo(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 g=fq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.response.body.value.responseBodyType,skipOptionalProperties:!1});if(g.type==="failure")return g;let{example:O,jsonExample:m}=g;u.response=kq.ok(_C.body({...O,jsonExample:m}));break}case"streamParameter":{let g;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":g=fq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.response.body.nonStreamResponse.value.responseBodyType,skipOptionalProperties:!1});break;case"text":g=fq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:JXs,skipOptionalProperties:!1});break;default:Oo(t.response.body.nonStreamResponse)}if(g.type==="failure")return g;let{example:O,jsonExample:m}=g;u.response=kq.ok(_C.body({...O,jsonExample:m}));break}case"streaming":{let g;switch(t.response.body.value.type){case"sse":{if(g=fq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.response.body.value.payload,skipOptionalProperties:!1}),g.type==="failure")return g;let{example:O,jsonExample:m}=g;u.response=kq.ok(_C.sse([{data:{...O,jsonExample:m},event:""}]));break}case"json":{if(g=fq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.response.body.value.payload,skipOptionalProperties:!1}),g.type==="failure")return g;let{example:O,jsonExample:m}=g;u.response=kq.ok(_C.stream([{...O,jsonExample:m}]));break}case"text":{if(g=fq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:JXs,skipOptionalProperties:!1}),g.type==="failure")return g;let{example:O,jsonExample:m}=g;u.response=kq.ok(_C.stream([{...O,jsonExample:m}]));break}default:Oo(t.response.body.value)}break}case"text":{let g=fq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:JXs,skipOptionalProperties:!1});if(g.type==="failure")return g;let{example:O,jsonExample:m}=g;u.response=kq.ok(_C.body({...O,jsonExample:m}));break}case"bytes":return{type:"failure",message:"Bytes unsupported"};default:Oo(t.response.body)}else if(a.type==="error")if(a.declaration.type==null)u.response=kq.error({body:void 0,error:a.declaration.name});else{let g=fq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:a.declaration.type,skipOptionalProperties:n});if(g.type==="failure")return g;let{example:O}=g;u.response=kq.error({body:O,error:a.declaration.name})}try{return{type:"success",example:{id:i0a(u),url:xQD(t,u),...u},jsonExample:void 0}}catch(g){return{type:"failure",message:`Parse failure with exceptions ${g}`}}}function xQD(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 hXp({ir:e,channel:t,typeDeclarations:r,skipOptionalRequestProperties:i}){let n={name:void 0,pathParameters:[],headers:[],queryParameters:[],messages:[],docs:void 0},a=QFi(t.pathParameters,{typeDeclarations:r,skipOptionalRequestProperties:i,maxDepth:1});if(a.type==="failure")return a;n.pathParameters.push(...a.example);let u=QFi(e.pathParameters,{typeDeclarations:r,skipOptionalRequestProperties:i,maxDepth:1});if(u.type==="failure")return u;n.pathParameters.push(...u.example);let l=AFo(t.queryParameters,{typeDeclarations:r,skipOptionalRequestProperties:i,maxDepth:10});if(l.type==="failure")return l;n.queryParameters=l.example;let f=hMn(t.headers,{typeDeclarations:r,skipOptionalRequestProperties:i,maxDepth:1});if(f.type==="failure")return f;n.headers.push(...f.example);let s=hMn(e.headers,{typeDeclarations:r,skipOptionalRequestProperties:i,maxDepth:1});if(s.type==="failure")return s;n.headers.push(...s.example);let c=t.messages.filter(O=>O.origin==="client")[0];if(c!=null){let O=_Xp({message:c,typeDeclarations:r,skipOptionalRequestProperties:i});O!=null&&n.messages.push({type:c.type,body:O})}let g=t.messages.filter(O=>O.origin==="server")[0];if(g!=null){let O=_Xp({message:g,typeDeclarations:r,skipOptionalRequestProperties:i});O!=null&&n.messages.push({type:g.type,body:O})}return{type:"success",example:{...n,url:IQD(t,n)},jsonExample:void 0}}function _Xp({message:e,typeDeclarations:t,skipOptionalRequestProperties:r}){if(e.body.type==="inlinedBody")return;let i=fq({currentDepth:0,maxDepth:10,typeDeclarations:t,typeReference:e.body.bodyType,skipOptionalProperties:r});if(i.type==="success")return tDe.reference(i.example)}function IQD(e,t){let r={};[...t.pathParameters].forEach(n=>{let a=n.value.jsonExample,u=typeof a=="string"?a:JSON.stringify(a);r[n.name.originalName]=u});let i=e.path.head+e.path.parts.map(n=>r[n.pathParameter]+n.tail).join("");return i.startsWith("/")||i===""?i:`/${i}`}function yMn(e){let t=e?.userSpecifiedExamples??{},r=e?.autogeneratedExamples??{},i=Object.values(t)[0],n=Object.values(r)[0];return{userExample:i,autoExample:n}}function x_i(e){let t=e?.userSpecifiedExamples??{},r=e?.autogeneratedExamples??{};return{userExamples:t,autoExamples:r}}function yXp({service:e,endpoint:t,typeDeclarations:r,skipOptionalRequestProperties:i}){let n={pathParameters:{},queryParameters:{},headers:{}};for(let a of t.pathParameters){let{userExample:u,autoExample:l}=yMn(a.v2Examples);u!==void 0?n.pathParameters[a.name.originalName]=u:l!==void 0&&(n.pathParameters[a.name.originalName]=l)}for(let a of t.queryParameters){let{userExample:u,autoExample:l}=yMn(a.v2Examples);if(u!==void 0)n.queryParameters[a.name.name.originalName]=u;else if(l!==void 0){if(i&&RZt({typeReference:a.valueType,typeDeclarations:r}))continue;n.queryParameters[a.name.name.originalName]=l}}for(let a of t.headers){let{userExample:u,autoExample:l}=yMn(a.v2Examples);if(u!==void 0)n.headers[a.name.name.originalName]=u;else if(l!==void 0){if(i&&RZt({typeReference:a.valueType,typeDeclarations:r}))continue;n.headers[a.name.name.originalName]=l}}return n}function vXp({endpoint:e,service:t,typeDeclarations:r,skipOptionalRequestProperties:i}){let{pathParameters:n,queryParameters:a,headers:u}=yXp({service:t,endpoint:e,typeDeclarations:r,skipOptionalRequestProperties:i}),l={},f={},s={endpoint:{method:e.method,path:zQD(e)},baseUrl:void 0,environment:e.baseUrl,auth:void 0,pathParameters:n,queryParameters:a,headers:u,requestBody:void 0,docs:void 0};if(e.requestBody!=null)switch(e.requestBody.type){case"bytes":break;case"fileUpload":{let{userExamples:o,autoExamples:c}=x_i(e.requestBody.v2Examples);for(let[b,g]of Object.entries(o))l[b]={...s,requestBody:g};for(let[b,g]of Object.entries(c))f[b]={...s,requestBody:g};break}case"inlinedRequestBody":{let{userExamples:o,autoExamples:c}=x_i(e.requestBody.v2Examples);for(let[b,g]of Object.entries(o))l[b]={...s,requestBody:g};for(let[b,g]of Object.entries(c))f[b]={...s,requestBody:g};break}case"reference":{let{userExamples:o,autoExamples:c}=x_i(e.requestBody.v2Examples);for(let[b,g]of Object.entries(o))l[b]={...s,requestBody:g};for(let[b,g]of Object.entries(c))f[b]={...s,requestBody:g};break}default:Oo(e.requestBody)}return{userRequestExamples:l,autoRequestExamples:f,baseExample:s}}function zQD(e){let t={};[...e.pathParameters,...e.allPathParameters].forEach(i=>{let{userExample:n,autoExample:a}=yMn(i.v2Examples),u=n??a,l;u==null?l=i.name.originalName:l=typeof u=="string"?u:JSON.stringify(u),t[i.name.originalName]=l});let r=e.fullPath.head+e.fullPath.parts.map(i=>t[i.pathParameter]+i.tail).join("");return r.startsWith("/")||r===""?r:`/${r}`}function bXp({endpoint:e}){let t={},r={},i={statusCode:e.response?.statusCode,body:void 0,docs:void 0};if(e.response==null)return{userResponseExamples:{},autoResponseExamples:{},baseExample:i};if(e.response.body==null)return e.source?.type==="openrpc"?{userResponseExamples:{},autoResponseExamples:{},baseExample:{...i,body:E5.json(a0a(null))}}:{userResponseExamples:{},autoResponseExamples:{},baseExample:i};switch(e.response.body.type){case"bytes":break;case"fileDownload":break;case"text":{let n=e.response.body,{userExamples:a,autoExamples:u}=x_i(n.v2Examples);for(let[l,f]of Object.entries(a)){let s=e.source?.type==="openrpc"?a0a(f):f;t[l]={...i,body:E5.json(s)}}for(let[l,f]of Object.entries(u)){let s=e.source?.type==="openrpc"?a0a(f):f;r[l]={...i,body:E5.json(s)}}break}case"json":{let n=e.response.body.value;if(n.type==="response"){let{userExamples:a,autoExamples:u}=x_i(n.v2Examples);for(let[l,f]of Object.entries(a)){let s=e.source?.type==="openrpc"?a0a(f):f;t[l]={...i,body:E5.json(s)}}for(let[l,f]of Object.entries(u)){let s=e.source?.type==="openrpc"?a0a(f):f;r[l]={...i,body:E5.json(s)}}}break}case"streaming":{let n=e.response.body.value;if(n.type==="json"){let{userExamples:a,autoExamples:u}=x_i(n.v2Examples);for(let[l,f]of Object.entries(a))t[l]={...i,body:E5.stream([f])};for(let[l,f]of Object.entries(u))r[l]={...i,body:E5.stream([f])}}break}case"streamParameter":break;default:Oo(e.response.body)}return{userResponseExamples:t,autoResponseExamples:r,baseExample:i}}function a0a(e,t=1){return{id:t,jsonrpc:"2.0",result:e}}function gXp({ir:e,endpoint:t,service:r,typeDeclarations:i,skipOptionalRequestProperties:n}){let a={},u={},{userRequestExamples:l,autoRequestExamples:f,baseExample:s}=vXp({endpoint:t,service:r,typeDeclarations:i,skipOptionalRequestProperties:n}),{userResponseExamples:o,autoResponseExamples:c,baseExample:b}=bXp({endpoint:t}),g=Object.keys(f)[0],O=Object.values(f)[0],m=Object.values(c)[0];for(let[P,E]of Object.entries(l))a[P]={request:E,response:o[P]??m??b,codeSamples:void 0};for(let[P,E]of Object.entries(o))a[P]={request:l[P]??O??s,response:E,codeSamples:void 0};return Object.keys(a).length===0&&(u[g??L_(`${t.name.originalName}_example`)]={request:O??s,response:m??b,codeSamples:void 0}),{userFullExamples:a,autoFullExamples:u}}function o0a({ir:e,exampleGeneration:t}){for(let[r,i]of Object.entries(e.services))for(let n of i.endpoints){if(n.userSpecifiedExamples.length>0&&t?.skipAutogenerationIfManualExamplesExist===!0)continue;let a=n0a({ir:e,service:i,endpoint:n,typeDeclarations:e.types,skipOptionalRequestProperties:!t?.includeOptionalRequestPropertyExamples,generationResponse:{type:"success"}});if(a.type==="failure")continue;let{example:u}=a;n.autogeneratedExamples=[{example:u}]}for(let[r,i]of Object.entries(e.websocketChannels??{})){if(i.examples.length>0&&t?.skipAutogenerationIfManualExamplesExist===!0)continue;let n=hXp({ir:e,channel:i,typeDeclarations:e.types,skipOptionalRequestProperties:!t?.includeOptionalRequestPropertyExamples});if(n.type==="failure")continue;let{example:a}=n;i.examples=[...i.examples,a]}return e}function KXs({ir:e,exampleGeneration:t}){for(let[r,i]of Object.entries(e.services))for(let n of i.endpoints){if(Object.keys(n.v2Examples?.userSpecifiedExamples??{}).length>0)continue;let{userFullExamples:a,autoFullExamples:u}=gXp({ir:e,service:i,endpoint:n,typeDeclarations:e.types,skipOptionalRequestProperties:!t?.includeOptionalRequestPropertyExamples});n.v2Examples==null&&(n.v2Examples={userSpecifiedExamples:{},autogeneratedExamples:{}}),n.v2Examples.autogeneratedExamples=u,n.v2Examples.userSpecifiedExamples=a}return e}function qFo(e,t,r){let{environments:i,changedBaseUrlIds1:n,changedBaseUrlIds2:a}=NQD(e.environments,t.environments,r),{services:u,websocketChannels:l}=FQD(e,t,n,a);return{apiName:e.apiName,basePath:e.basePath,selfHosted:e.selfHosted&&t.selfHosted,apiDisplayName:e.apiDisplayName??t.apiDisplayName,apiDocs:e.apiDocs??t.apiDocs,auth:e.auth??t.auth,headers:[...e.headers??[],...t.headers??[]],environments:i,types:{...e.types??{},...t.types??{}},constants:{...e.constants??{},...t.constants??{}},errors:{...e.errors??{},...t.errors??{}},services:u,webhookGroups:{...e.webhookGroups??{},...t.webhookGroups??{}},subpackages:RQD(e.subpackages,t.subpackages),websocketChannels:l,rootPackage:{service:e.rootPackage.service??t.rootPackage.service,types:[...e.rootPackage.types??[],...t.rootPackage.types??[]],errors:[...e.rootPackage.errors??[],...t.rootPackage.errors??[]],subpackages:[...e.rootPackage.subpackages??[],...(t.rootPackage.subpackages??[]).filter(f=>!e.rootPackage.subpackages?.includes(f))],fernFilepath:e.rootPackage.fernFilepath??t.rootPackage.fernFilepath,webhooks:e.rootPackage.webhooks??t.rootPackage.webhooks,websocket:e.rootPackage.websocket??t.rootPackage.websocket,hasEndpointsInTree:e.rootPackage.hasEndpointsInTree||t.rootPackage.hasEndpointsInTree,navigationConfig:e.rootPackage.navigationConfig??t.rootPackage.navigationConfig,docs:e.rootPackage.docs??t.rootPackage.docs},fdrApiDefinitionId:e.fdrApiDefinitionId??t.fdrApiDefinitionId,apiVersion:e.apiVersion??t.apiVersion,idempotencyHeaders:[...e.idempotencyHeaders??[],...t.idempotencyHeaders??[]],pathParameters:[...e.pathParameters??[],...t.pathParameters??[]],errorDiscriminationStrategy:e.errorDiscriminationStrategy??t.errorDiscriminationStrategy,variables:[...e.variables??[],...t.variables??[]],serviceTypeReferenceInfo:e.serviceTypeReferenceInfo??t.serviceTypeReferenceInfo,readmeConfig:e.readmeConfig??t.readmeConfig,sourceConfig:e.sourceConfig??t.sourceConfig,publishConfig:e.publishConfig??t.publishConfig,dynamic:e.dynamic??t.dynamic,sdkConfig:e.sdkConfig??t.sdkConfig}}function RQD(e,t){let r=e;for(let[i,n]of Object.entries(t))r[i]==null?r[i]=n:r[i]={name:n.name,fernFilepath:n.fernFilepath,hasEndpointsInTree:r[i].hasEndpointsInTree||n.hasEndpointsInTree,navigationConfig:r[i].navigationConfig??n.navigationConfig,docs:r[i].docs??n.docs,service:r[i].service??n.service,subpackages:[...r[i].subpackages??[],...(n.subpackages??[]).filter(a=>!r[i]?.subpackages?.includes(a))],webhooks:r[i].webhooks??n.webhooks,websocket:r[i].websocket??n.websocket,errors:[...r[i].errors??[],...n.errors??[]],types:[...r[i].types??[],...n.types??[]]};return r}function NQD(e,t,r){if(e==null&&t==null)return{environments:void 0,changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0};if(t==null)return{environments:e,changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0};if(e==null)return{environments:t,changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0};if(JSON.stringify(e)===JSON.stringify(t))return{environments:e,changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0};let i=OXp(e),n=OXp(t);if(i&&n&&e.environments.type==="singleBaseUrl"&&t.environments.type==="singleBaseUrl")return{environments:{defaultEnvironment:e.defaultEnvironment??t.defaultEnvironment,environments:mI.singleBaseUrl({environments:[...e.environments.environments,...t.environments.environments]})},changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0};let a=i?t.defaultEnvironment:e.defaultEnvironment,u=e.environments,l=t.environments;if(u.type==="singleBaseUrl"&&l.type==="singleBaseUrl"){let f=i?l:u,s=i?u:l,o={},{deconflictedEnvironments2:c,changedBaseUrlIds2:b}=LQD(f,s,r);if(f.environments[0]==null)return{environments:t,changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0};let g="Base",O=r.generateName("Base");return f.environments.forEach(m=>{o[m.id]=g}),{environments:{defaultEnvironment:a,environments:mI.multipleBaseUrls({baseUrls:[{id:g,name:O},...c.environments.map(m=>({id:m.id,name:m.name}))],environments:f.environments.map(m=>({id:m.id,name:m.name,urls:{[g]:m.url,...Object.fromEntries(c.environments.map(P=>[P.id,P.url]))},docs:void 0}))})},changedBaseUrlIds1:i?b:o,changedBaseUrlIds2:i?o:b}}if(u.type==="multipleBaseUrls"&&l.type==="singleBaseUrl"||u.type==="singleBaseUrl"&&l.type==="multipleBaseUrls"){let f=u.type==="singleBaseUrl"?u:l,s=u.type==="multipleBaseUrls"?u:l,{deconflictedEnvironments1:o,changedBaseUrlIds1:c}=UQD(f,s,r);return{environments:{defaultEnvironment:a,environments:mI.multipleBaseUrls({baseUrls:[...s.baseUrls,...o.environments.map(b=>({id:b.id,name:b.name}))],environments:s.environments.map(b=>({...b,urls:{...b.urls,...Object.fromEntries(o.environments.map(g=>[g.id,g.url]))}}))})},changedBaseUrlIds1:u.type==="singleBaseUrl"?c:void 0,changedBaseUrlIds2:u.type==="singleBaseUrl"?void 0:c}}if(u.type==="multipleBaseUrls"&&l.type==="multipleBaseUrls"){let{deconflictedEnvironments:f,changedBaseUrlIds:s}=VQD(u,l,r);return{environments:{defaultEnvironment:a,environments:mI.multipleBaseUrls({baseUrls:[...u.baseUrls,...f.baseUrls],environments:u.environments.flatMap(o=>f.environments.map(c=>({...o,urls:{...o.urls,...c.urls}})))})},changedBaseUrlIds1:void 0,changedBaseUrlIds2:s}}return{environments:e??t,changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0}}function FQD(e,t,r,i){if(r!=null)for(let[u,l]of Object.entries(r)){for(let f of Object.values(e.services))for(let s of Object.values(f.endpoints))s.baseUrl==u&&(s.baseUrl=l);for(let f of Object.values(e.websocketChannels??{}))f.baseUrl==u&&(f.baseUrl=l)}if(i!=null)for(let[u,l]of Object.entries(i)){for(let f of Object.values(t.services))for(let s of Object.values(f.endpoints))s.baseUrl==u&&(s.baseUrl=l);for(let f of Object.values(t.websocketChannels??{}))f.baseUrl==u&&(f.baseUrl=l)}let n=e.services;for(let[u,l]of Object.entries(t.services))n[u]==null?n[u]=l:n[u]={availability:l.availability,name:l.name,displayName:l.displayName,basePath:l.basePath,endpoints:[...n[u].endpoints??[],...l.endpoints],pathParameters:[...n[u].pathParameters??[],...l.pathParameters??[]],headers:[...n[u].headers??[],...l.headers??[]],encoding:l.encoding,transport:l.transport};let a={...e.websocketChannels??{},...t.websocketChannels??{}};return{services:n,websocketChannels:a}}function LQD(e,t,r){let i={},n=new Set(e.environments.map(s=>s.id)),a=new Set(e.environments.map(s=>s.name)),u=new Map(e.environments.map(s=>[s.url,s.id])),l=t.environments.filter(s=>{let o=u.get(s.url);return o!=null?(i[s.id]=o,!1):!0}).map(s=>{if(n.has(s.id)||a.has(s.name)){let o=YXs(s.id,n);return i[s.id]=o,{...s,id:o,name:r.generateName(o)}}return s});return{deconflictedEnvironments2:mI.singleBaseUrl({environments:l}),changedBaseUrlIds2:i}}function UQD(e,t,r){let i={},n=new Set(t.baseUrls.map(f=>f.id)),a=new Set(t.baseUrls.map(f=>f.name)),u=e.environments.map(f=>{if(n.has(f.id)||a.has(f.name)){let s=YXs(f.id,n);return i[f.id]=s,{...f,id:s,name:r.generateName(s)}}return f});return{deconflictedEnvironments1:mI.singleBaseUrl({environments:u}),changedBaseUrlIds1:i}}function VQD(e,t,r){let i={},n=new Set(e.baseUrls.map(s=>s.id)),a=new Set(e.baseUrls.map(s=>s.name)),u=t.baseUrls.map(s=>{if(n.has(s.id)||a.has(s.name)){let o=YXs(s.id,n);return i[s.id]=o,{...s,id:o,name:r.generateName(o)}}return s}),l=t.environments.map(s=>({...s,urls:Object.fromEntries(Object.entries(s.urls).map(([o,c])=>[i[o]??o,c]))}));return{deconflictedEnvironments:mI.multipleBaseUrls({baseUrls:u,environments:l}),changedBaseUrlIds:i}}function OXp(e){return e.environments.type==="singleBaseUrl"?e.environments.environments.some(t=>t.url&&(t.url.startsWith("ws://")||t.url.startsWith("wss://"))):e.environments.type==="multipleBaseUrls"?e.environments.environments.some(t=>Object.values(t.urls).some(r=>r&&(r.startsWith("ws://")||r.startsWith("wss://")))):!1}function YXs(e,t){let r=e,i=1;for(;t.has(r);)r=`${e}-${i}`,i++;return r}function ZXs({rawApiFileSchema:e,casingsGenerator:t}){if(e.auth==null)return{docs:void 0,requirement:rIe.All,schemes:[]};let r=typeof e.auth!="string"?e.auth.docs:void 0;return nIi(e.auth,{single:i=>{let n=mXp({reference:i,authSchemeDeclarations:e["auth-schemes"],casingsGenerator:t});return{docs:r,requirement:rIe.All,schemes:[n]}},any:({any:i})=>({docs:r,requirement:rIe.Any,schemes:i.map(n=>mXp({reference:n,authSchemeDeclarations:e["auth-schemes"],casingsGenerator:t}))})})}function mXp({reference:e,authSchemeDeclarations:t,casingsGenerator:r}){let i=(a,u)=>{let l=t?.[a];if(l==null)throw new Error("Unknown auth scheme: "+a);return lsa(l,{header:f=>GC.header({docs:u,name:r.generateNameAndWireValue({name:f.name??a,wireValue:f.header}),valueType:Gf.primitive({v1:r0.String,v2:th.string({default:void 0,validation:void 0})}),prefix:f.prefix,headerEnvVar:f.env}),basic:f=>PXp({casingsGenerator:r,docs:u,rawScheme:f}),bearer:f=>XXs({casingsGenerator:r,docs:u,rawScheme:f}),oauth:f=>XXs({casingsGenerator:r,docs:u,rawScheme:void 0})})},n=typeof e=="string"?e:e.scheme;switch(n){case"bearer":case"oauth":return XXs({casingsGenerator:r,docs:void 0,rawScheme:void 0});case"basic":return PXp({casingsGenerator:r,docs:void 0,rawScheme:void 0});default:return i(n,typeof e!="string"?e.docs:void 0)}}function XXs({casingsGenerator:e,docs:t,rawScheme:r}){return GC.bearer({docs:t,token:e.generateName(r?.token?.name??"token"),tokenEnvVar:r?.token?.env})}function PXp({casingsGenerator:e,docs:t,rawScheme:r}){return GC.basic({docs:t,username:e.generateName(r?.username?.name??"username"),usernameEnvVar:r?.username?.env,password:e.generateName(r?.password?.name??"password"),passwordEnvVar:r?.password?.env})}function u0a({rawApiFileSchema:{"default-environment":e,environments:t},casingsGenerator:r}){if(t==null)return;let i=Object.values(t)[0];if(i!=null)return{environmentsConfig:{defaultEnvironment:e??void 0,environments:VJt(i,{singleBaseUrl:()=>mI.singleBaseUrl(WQD({environments:t,casingsGenerator:r})),multipleBaseUrls:n=>mI.multipleBaseUrls(HQD({baseUrls:Object.keys(n.urls),environments:t,casingsGenerator:r}))})},audiences:{...Object.fromEntries(Object.entries(t).map(([n,a])=>[n,VJt(a,{singleBaseUrl:u=>[...typeof u=="string"?[]:u.audiences??[]],multipleBaseUrls:u=>[...u.audiences??[]]})]))}}}function WQD({environments:e,casingsGenerator:t}){return{environments:Object.entries(e).map(([r,i])=>VJt(i,{singleBaseUrl:n=>({docs:typeof n=="string"?void 0:n.docs,id:r,name:t.generateName(r),url:jXp(typeof n=="string"?n:n.url)}),multipleBaseUrls:()=>{throw new Error(`Environment ${r} has multiple base URLs`)}}))}}function HQD({baseUrls:e,environments:t,casingsGenerator:r}){return{baseUrls:e.map(i=>({id:i,name:r.generateName(i)})),environments:Object.entries(t).map(([i,n])=>VJt(n,{multipleBaseUrls:a=>({docs:a.docs,id:i,name:r.generateName(i),urls:ad(a.urls,u=>jXp(u))}),singleBaseUrl:()=>{throw new Error(`Environment ${i} does not have multiple base URLs`)}}))}}function jXp(e){return e.endsWith("/")?e.slice(0,-1):e}function $De(e){return e.allParts.map(t=>t.originalName).join("/")}var rm={generateTypeId:e=>`type_${$De(e.fernFilepath)}:${e.name.originalName}`,generateErrorId:e=>`error_${$De(e.fernFilepath)}:${e.name.originalName}`,generateServiceId:e=>`service_${$De(e.fernFilepath)}`,generateServiceIdFromFernFilepath:e=>`service_${$De(e)}`,generateSubpackageId:e=>`subpackage_${$De(e)}`,generateEndpointId:(e,t)=>{let r=$De(e.fernFilepath),i=t.name.originalName;return`endpoint_${r}.${i}`},generateWebhookGroupId:e=>`webhooks_${$De(e)}`,generateWebhookId:(e,t)=>`webhooks_${$De(e)}.${t}`,generateWebSocketChannelId:e=>`channel_${$De(e)}`};function vMn(e){return e.type!=null}var TFo=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=rm.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=rm.generateErrorId(t.name);return this.errors.has(r)}hasService(t){let r=rm.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)}};function JFi(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}var KFi=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=$QD(t)}addType({declaredTypeName:t,descendantTypeIds:r,descendantFilepaths:i,descendantTypeIdsByAudience:n,propertiesByAudience:a}){let u=rm.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=rm.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=rm.generateErrorId(t.name),i=new Set,n=new Set;t.type!=null&&Cz(t.type,i,n);let a={errorId:r,referencedTypes:i,referencedSubpackages:n};this.errors[r]=a}addEndpoint(t,r,i){let n=rm.generateServiceId(t.name),a=r.id,u=new Set,l=new Set,f=new Set;for(let s of[...t.headers,...r.headers])Cz(s.valueType,u,f);for(let s of[...t.pathParameters,...r.pathParameters])Cz(s.valueType,u,f);for(let s of r.queryParameters)Cz(s.valueType,u,f);if(i!=null&&i.request!=null&&typeof i.request!="string"){let s=JFi(i.request["query-parameters"]??{});this.queryParameters[a]={endpointId:a,parametersByAudience:s}}r.requestBody!=null&&pC._visit(r.requestBody,{inlinedRequestBody:s=>{for(let o of s.extends)CFo(o,u,f);for(let o of s.properties)Cz(o.valueType,u,f);if(i!=null&&typeof i.request=="object"&&typeof i.request.body=="object"&&dC(i.request.body)){let o=JFi(i.request.body.properties??{});this.requestProperties[a]={endpointId:a,propertiesByAudience:o}}},reference:({requestBodyType:s})=>{Cz(s,u,f)},fileUpload:({properties:s})=>{for(let o of s)M5._visit(o,{file:Ho,bodyProperty:({valueType:c})=>{Cz(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&&GD._visit(r.response.body,{fileDownload:Ho,json:s=>{Cz(s.responseBodyType,u,f)},streaming:s=>{s._visit({sse:o=>Cz(o.payload,u,f),json:o=>Cz(o.payload,u,f),text:Ho,_other:()=>{throw new Error("Unknown streamingResponse type: "+s.type)}})},streamParameter:s=>{s.streamResponse._visit({sse:o=>Cz(o.payload,u,f),json:o=>Cz(o.payload,u,f),text:Ho,_other:()=>{throw new Error("Unknown streamingResponse type: "+s.streamResponse.type)}}),s.nonStreamResponse.type==="json"&&Cz(s.nonStreamResponse.value.responseBodyType,u,f)},text:Ho,bytes:Ho,_other:()=>{throw new Error("Unknown HttpResponse: "+r.response?.body?.type)}}),r.errors.forEach(s=>{l.add(rm.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=rm.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)}}getFilteredSubpackages(){return this.subpackagesNeededForAudience}getFilteredServices(){return this.servicesNeededForAudience}getFilteredEndpoints(){return this.endpointsNeededForAudience}getFilteredChannels(){return this.channelsNeededForAudience}getFilteredWebhooks(){return this.webhooksNeededForAudience}addWebhook(t,r,i){let n=r.id;if(n==null)return;let a=new Set,u=new Set;r.payload!=null&&hV._visit(r.payload,{inlinedPayload:l=>{for(let f of l.extends)CFo(f,a,u);for(let f of l.properties)Cz(f.valueType,a,u);if(i?.payload!=null&&typeof i.payload=="object"&&!vMn(i.payload)){let f=JFi(i.payload.properties??{});this.webhookProperties[n]={webhookId:n,propertiesByAudience:f}}},reference:({payloadType:l})=>{Cz(l,a,u)},_other:()=>{throw new Error("Unknown WebhookPayload: "+r.payload?.type)}}),u.add(t),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))}addChannel(t,r,i,n){if(r==null)return;let a=new Set,u=new Set;for(let l of i.messages)q5._visit(l.body,{reference:({bodyType:f})=>{Cz(f,a,u)},inlinedBody:f=>{for(let s of f.extends)CFo(s,a,u);for(let s of f.properties)Cz(s.valueType,a,u)},_other:()=>{}});u.add(t),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))}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 TFo({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:Oo(r)}}addSubpackages(t){for(let r=1;r<=t.allParts.length;++r){let i={...t,allParts:t.allParts.slice(0,r)};this.subpackagesNeededForAudience.add(rm.generateSubpackageId(i))}}};function $QD(e){switch(e.type){case"all":return{type:"none"};case"select":return{type:"filtered",audiences:new Set(e.audiences)};default:Oo(e)}}function Cz(e,t,r){Gf._visit(e,{container:i=>{GQD(i,t,r)},named:i=>{CFo(i,t,r)},primitive:Ho,unknown:Ho,_other:Ho})}function CFo(e,t,r){t.add(rm.generateTypeId(e)),r.add(e.fernFilepath)}function GQD(e,t,r){Ib._visit(e,{list:i=>{Cz(i,t,r)},map:i=>{Cz(i.keyType,t,r),Cz(i.valueType,t,r)},optional:i=>{Cz(i,t,r)},nullable:i=>{Cz(i,t,r)},set:i=>{Cz(i,t,r)},literal:Ho,_other:Ho})}var kXs=class{errors;constructor(){this.errors=[]}add(t){this.errors.push({message:t})}getErrors(){return this.errors}hasErrors(){return this.errors.length>0}},s0a=class{errors;constructor(){this.errors=new kXs}async check({from:t,to:r}){let i=this.checkBreaking({from:t,to:r});return{bump:i.isBreaking?"major":"minor",isBreaking:i.isBreaking,errors:i.errors}}checkBreaking({from:t,to:r}){this.checkTypeBreakingChanges({from:t.types,to:r.types}),this.checkErrorsBreakingChanges({from:t.errors,to:r.errors}),this.checkServicesBreakingChanges({from:t.services,to:r.services});let i=this.errors.hasErrors();return{bump:i?"major":"minor",isBreaking:i,errors:this.errors.getErrors()}}checkTypeBreakingChanges({from:t,to:r}){for(let[i,n]of Object.entries(t)){let a=r[i];if(!a){this.errors.add(`Type "${i}" was removed.`);continue}this.areTypeDeclarationsCompatible({from:n,to:a})||this.errors.add(`Type "${i}" has an incompatible change.`)}}checkErrorsBreakingChanges({from:t,to:r}){for(let[i,n]of Object.entries(t)){let a=Object.values(r).find(u=>u.name.errorId===n.name.errorId);if(!a){this.errors.add(`Error "${n.name.errorId}" with status code "${n.statusCode}" was removed.`);continue}this.checkErrorBreakingChanges({from:n,to:a})}}checkErrorBreakingChanges({from:t,to:r}){if(t.type!=null){if(r.type==null){this.errors.add(`Error "${t.name.errorId}" with status code "${t.statusCode}" had its type removed.`);return}this.areTypeReferencesCompatible({from:t.type,to:r.type})||this.errors.add(`Error "${t.name.errorId}" type reference changed.`)}this.areDeclaredErrorNamesCompatible({from:t.name,to:r.name})||this.errors.add(`Error "${t.name.errorId}" name changed.`),this.areNameAndWireValuesCompatible({from:t.discriminantValue,to:r.discriminantValue})||this.errors.add(`Error "${t.name.errorId}" discriminant value changed.`)}checkServicesBreakingChanges({from:t,to:r}){for(let[i,n]of Object.entries(t)){let a=r[i];if(!a){this.errors.add(`Service "${i}" was removed.`);continue}this.checkServiceBreakingChanges({id:i,from:n,to:a})}}checkServiceBreakingChanges({id:t,from:r,to:i}){this.checkHeadersBreakingChanges({id:t,from:r.headers,to:i.headers}),this.checkEndpointsBreakingChanges({id:t,from:r,to:i})}checkEndpointsBreakingChanges({id:t,from:r,to:i}){let n=Object.fromEntries(r.endpoints.map(u=>[u.id,u])),a=Object.fromEntries(i.endpoints.map(u=>[u.id,u]));for(let[u,l]of Object.entries(n)){let f=a[u];if(!f){this.errors.add(`Endpoint "${u}" was removed.`);continue}this.checkEndpointBreakingChanges({id:u,from:l,to:f})}}checkEndpointBreakingChanges({id:t,from:r,to:i}){this.checkHttpMethodsBreakingChanges({id:t,from:r.method,to:i.method}),this.checkHttpPathsBreakingChanges({id:t,from:r.fullPath,to:i.fullPath}),this.checkPathParametersBreakingChanges({id:t,from:r.pathParameters,to:i.pathParameters}),this.checkQueryParametersBreakingChanges({id:t,from:r.queryParameters,to:i.queryParameters}),this.checkHeadersBreakingChanges({id:t,from:r.headers,to:i.headers}),r.requestBody!=null&&(i.requestBody!=null?this.checkHttpRequestBodiesCompatible({id:t,from:r.requestBody,to:i.requestBody}):this.errors.add(`Request body was removed from endpoint "${r.id}".`)),r.response!=null&&(i.response!=null?this.checkHttpResponseBreakingChanges({id:t,from:r.response,to:i.response}):this.errors.add(`Response was removed from endpoint "${r.id}".`)),(r.pagination!=null&&i.pagination==null||r.pagination==null&&i.pagination!=null)&&this.errors.add(`Pagination was ${r.pagination!=null?"added":"removed"} from endpoint "${r.id}".`)}checkPathParametersBreakingChanges({id:t,from:r,to:i}){let n=Object.fromEntries(r.map(u=>[u.name.originalName,u])),a=Object.fromEntries(i.map(u=>[u.name.originalName,u]));for(let[u,l]of Object.entries(n)){let f=a[u];if(!f){this.errors.add(`Path parameter "${u}" was removed from endpoint "${t}".`);continue}this.areTypeReferencesCompatible({from:l.valueType,to:f.valueType})||this.errors.add(`Path parameter "${u}" type changed in endpoint "${t}".`)}}checkQueryParametersBreakingChanges({id:t,from:r,to:i}){let n=Object.fromEntries(r.map(u=>[u.name.wireValue,u])),a=Object.fromEntries(i.map(u=>[u.name.wireValue,u]));this.checkForNewRequiredTypeReferences({from:Object.fromEntries(Object.entries(n).map(([u,l])=>[u,l.valueType])),to:Object.fromEntries(Object.entries(a).map(([u,l])=>[u,l.valueType]))});for(let[u,l]of Object.entries(n)){let f=a[u];if(!f){this.errors.add(`Query parameter "${u}" was removed from endpoint "${t}".`);continue}this.areTypeReferencesCompatible({from:l.valueType,to:f.valueType})||this.errors.add(`Query parameter "${u}" type changed in endpoint "${t}".`),l.allowMultiple!==f.allowMultiple&&this.errors.add(`Query parameter "${u}" allow-multiple values changed in endpoint "${t}".`)}}checkHeadersBreakingChanges({id:t,from:r,to:i}){let n=Object.fromEntries(r.map(u=>[u.name.wireValue,u])),a=Object.fromEntries(i.map(u=>[u.name.wireValue,u]));this.checkForNewRequiredTypeReferences({from:Object.fromEntries(Object.entries(n).map(([u,l])=>[u,l.valueType])),to:Object.fromEntries(Object.entries(a).map(([u,l])=>[u,l.valueType]))});for(let[u,l]of Object.entries(n)){let f=a[u];if(!f){this.errors.add(`Header "${u}" was removed from ${t}.`);continue}this.areTypeReferencesCompatible({from:l.valueType,to:f.valueType})||this.errors.add(`Header "${u}" type changed in ${t}.`)}}checkHttpMethodsBreakingChanges({id:t,from:r,to:i}){r!==i&&this.errors.add(`HTTP method changed in ${t}.`)}checkHttpPathsBreakingChanges({id:t,from:r,to:i}){this.areHttpPathsCompatible({from:r,to:i})||this.errors.add(`HTTP path changed in ${t}.`)}areHttpPathsCompatible({from:t,to:r}){if(t.head!==r.head||t.parts.length!==r.parts.length)return!1;for(let i=0;i<t.parts.length;i++){let n=t.parts[i];if(n==null)return!1;let a=r.parts[i];if(a==null||n.pathParameter!==a.pathParameter||n.tail!==a.tail)return!1}return!0}checkHttpRequestBodiesCompatible({id:t,from:r,to:i}){switch(r.type){case"inlinedRequestBody":if(i.type==="inlinedRequestBody"&&this.areInlinedRequestBodiesCompatible({from:r,to:i}))return;break;case"reference":if(i.type==="reference"&&this.areReferenceRequestBodiesCompatible({from:r,to:i}))return;break;case"fileUpload":if(i.type==="fileUpload"&&this.areFileUploadRequestBodiesCompatible({from:r,to:i}))return;break;case"bytes":if(i.type==="bytes")return;break;default:Oo(r)}this.errors.add(`Request body type changed from "${r.type}" to "${i.type}" in endpoint "${t}".`)}areInlinedRequestBodiesCompatible({from:t,to:r}){let i=this.getInlinedRequestBody(t),n=this.getInlinedRequestBody(r);return this.checkForNewInlinedRequestBodyProperties({from:i,to:n}),Object.entries(i).every(([a,u])=>{let l=n[a];return l?this.areTypeReferencesCompatible({from:u,to:l}):(this.errors.add(`Request body property "${a}" was removed.`),!1)})}areReferenceRequestBodiesCompatible({from:t,to:r}){return this.areTypeReferencesCompatible({from:t.requestBodyType,to:r.requestBodyType})}areFileUploadRequestBodiesCompatible({from:t,to:r}){let i=this.getFileUploadRequest(t.properties),n=this.getFileUploadRequest(r.properties);this.checkForNewFileUploadRequestProperties({from:i,to:n});for(let[a,u]of Object.entries(i)){let l=n[a];if(!l)return this.errors.add(`File upload property "${a}" was removed.`),!1;if(u==="file"&&l!=="file")return this.errors.add(`File upload property "${a}" type changed.`),!1;if(u==="fileArray"&&l!=="fileArray")return this.errors.add(`File upload property "${a}" type changed.`),!1;if(u!=="file"&&u!=="fileArray"&&l!=="file"&&l!=="fileArray"&&!this.areTypeReferencesCompatible({from:u,to:l}))return this.errors.add(`File upload property "${a}" type changed.`),!1}return!0}checkHttpResponseBreakingChanges({id:t,from:r,to:i}){if(r.statusCode!==i.statusCode&&this.errors.add(`Response status code changed from "${r.statusCode}" to "${i.statusCode}".`),!(r.body==null&&i.body==null)){if(r.body==null||i.body==null){this.errors.add(`Response body was ${r.body==null?"added":"removed"}.`);return}switch(r.body.type){case"json":if(i.body.type==="json"){this.areJsonResponsesCompatible({from:r.body.value,to:i.body.value});return}break;case"fileDownload":if(i.body.type==="fileDownload")return;break;case"text":if(i.body.type==="text")return;break;case"bytes":if(i.body.type==="bytes")return;break;case"streaming":if(i.body.type==="streaming"){this.areStreamingResponsesCompatible({from:r.body.value,to:i.body.value});return}break;case"streamParameter":if(i.body.type==="streamParameter"){this.areStreamingResponsesCompatible({from:r.body.streamResponse,to:i.body.streamResponse});return}break;default:Oo(r.body)}this.errors.add(`HTTP response type "${r.body.type}" defined for endpoint "${t}" is not compatible with type "${i.body.type}".`)}}areJsonResponsesCompatible({from:t,to:r}){return this.areTypeReferencesCompatible({from:t.responseBodyType,to:r.responseBodyType})}areStreamingResponsesCompatible({from:t,to:r}){switch(t.type){case"json":if(r.type==="json")return this.areTypeReferencesCompatible({from:t.payload,to:r.payload});break;case"sse":if(r.type==="sse")return this.areTypeReferencesCompatible({from:t.payload,to:r.payload});break;case"text":if(r.type==="text")return!0;break;default:Oo(t)}return this.errors.add(`Streaming response type "${t.type}" is not compatible with type "${r.type}".`),!1}areTypeDeclarationsCompatible({from:t,to:r}){return this.areDeclaredTypeNamesCompatible({from:t.name,to:r.name})&&this.areTypeShapesCompatible({from:t.shape,to:r.shape})}areTypeShapesCompatible({from:t,to:r}){switch(t.type){case"alias":if(r.type==="alias")return this.areAliasTypesCompatible({from:t,to:r});break;case"enum":if(r.type==="enum")return this.areEnumTypesCompatible({from:t,to:r});break;case"object":if(r.type==="object")return this.areObjectTypesCompatible({from:t,to:r});break;case"union":if(r.type==="union")return this.areUnionTypesCompatible({from:t,to:r});break;case"undiscriminatedUnion":if(r.type==="undiscriminatedUnion")return this.areUndiscriminatedUnionTypesCompatible({from:t,to:r});break;default:Oo(t)}return this.errors.add(`Type "${t.type}" is not compatible with type "${r.type}".`),!1}areAliasTypesCompatible({from:t,to:r}){return this.areTypeReferencesCompatible({from:t.aliasOf,to:r.aliasOf})}areEnumTypesCompatible({from:t,to:r}){let i=Object.fromEntries(t.values.map(a=>[a.name.wireValue,a])),n=Object.fromEntries(r.values.map(a=>[a.name.wireValue,a]));return Object.keys(i).length!==Object.keys(n).length?!1:Object.values(i).every(a=>{let u=n[a.name.wireValue];return u?this.areNameAndWireValuesCompatible({from:a.name,to:u.name}):(this.errors.add(`Enum value "${a.name.wireValue}" was removed.`),!1)})}areObjectTypesCompatible({from:t,to:r}){let i=Object.fromEntries([...t.properties.map(a=>[a.name.wireValue,a]),...t.extendedProperties?.map(a=>[a.name.wireValue,a])??[]]),n=Object.fromEntries([...r.properties.map(a=>[a.name.wireValue,a]),...r.extendedProperties?.map(a=>[a.name.wireValue,a])??[]]);return this.checkForNewRequiredTypeReferences({from:Object.fromEntries(Object.entries(i).map(([a,u])=>[a,u.valueType])),to:Object.fromEntries(Object.entries(n).map(([a,u])=>[a,u.valueType]))}),Object.values(i).every(a=>{let u=n[a.name.wireValue];return u?this.areObjectPropertiesCompatible({from:a,to:u}):(this.errors.add(`Object property "${a.name.wireValue}" was removed.`),!1)})}areObjectPropertiesCompatible({from:t,to:r}){return this.areNameAndWireValuesCompatible({from:t.name,to:r.name})&&this.areTypeReferencesCompatible({from:t.valueType,to:r.valueType})}areUnionTypesCompatible({from:t,to:r}){if(!this.areNameAndWireValuesCompatible({from:t.discriminant,to:r.discriminant}))return this.errors.add(`Union type with discriminant value "${t.discriminant.wireValue}" changed.`),!1;let i=new Set(t.extends.map(s=>this.getKeyForDeclaration(s))),n=new Set(r.extends.map(s=>this.getKeyForDeclaration(s)));for(let s of i)if(!n.has(s))return this.errors.add(`Extended type "${s}" was removed.`),!1;let a=Object.fromEntries(t.baseProperties.map(s=>[s.name.wireValue,s])),u=Object.fromEntries(r.baseProperties.map(s=>[s.name.wireValue,s]));for(let s of Object.values(a)){let o=u[s.name.wireValue];if(!o)return this.errors.add(`Union type with discriminant value "${s.name.wireValue}" no longer has a property named "${s.name.wireValue}".`),!1;if(!this.areObjectPropertiesCompatible({from:s,to:o}))return!1}this.checkForNewRequiredTypeReferences({from:Object.fromEntries(Object.entries(a).map(([s,o])=>[s,o.valueType])),to:Object.fromEntries(Object.entries(u).map(([s,o])=>[s,o.valueType]))});let l=Object.fromEntries(t.types.map(s=>[s.discriminantValue.wireValue,s])),f=Object.fromEntries(r.types.map(s=>[s.discriminantValue.wireValue,s]));return Object.values(l).every(s=>{let o=f[s.discriminantValue.wireValue];return o?this.areSingleUnionTypesCompatible({from:s.shape,to:o.shape}):(this.errors.add(`Union type for discriminant value "${s.discriminantValue.wireValue}" was removed.`),!1)})}areSingleUnionTypesCompatible({from:t,to:r}){switch(t.propertiesType){case"samePropertiesAsObject":if(r.propertiesType==="samePropertiesAsObject")return this.areDeclaredTypeNamesCompatible({from:t,to:r});break;case"singleProperty":if(r.propertiesType==="singleProperty")return this.areNameAndWireValuesCompatible({from:t.name,to:r.name})&&this.areTypeReferencesCompatible({from:t.type,to:r.type});break;case"noProperties":if(r.propertiesType==="noProperties")return!0;break;default:Oo(t)}return this.errors.add(`Single union type of style "${t.propertiesType}" is not compatible with style "${r.propertiesType}".`),!1}areUndiscriminatedUnionTypesCompatible({from:t,to:r}){return t.members.every((i,n)=>{let a=r.members[n];return a?this.areTypeReferencesCompatible({from:i.type,to:a.type}):(this.errors.add(`Undiscriminated union member at index ${n} was removed.`),!1)})}checkForNewRequiredTypeReferences({from:t,to:r}){for(let[i,n]of Object.entries(r))t[i]||(n.type!=="container"||n.container.type!=="optional")&&this.errors.add(`Required property "${i}" was added.`)}checkForNewFileUploadRequestProperties({from:t,to:r}){for(let[i,n]of Object.entries(r))t[i]||n==="file"||n==="fileArray"||(n.type!=="container"||n.container.type!=="optional")&&this.errors.add(`Required property "${i}" was added.`)}checkForNewInlinedRequestBodyProperties({from:t,to:r}){for(let[i,n]of Object.entries(r))t[i]||(n.type!=="container"||n.container.type!=="optional")&&this.errors.add(`Required property "${i}" was added.`)}areTypeReferencesCompatible({from:t,to:r}){switch(t.type){case"primitive":if(r.type==="primitive")return this.arePrimitiveTypesCompatible({from:t,to:r});break;case"container":if(r.type==="container")return this.areContainerTypesCompatible({from:t.container,to:r.container});break;case"named":if(r.type==="named")return this.areNamedTypesCompatible({from:t,to:r});break;case"unknown":if(r.type==="unknown")return!0;break;default:Oo(t)}return this.errors.add(`TypeReference "${t.type}" is not compatible with type "${r.type}".`),!1}arePrimitiveTypesCompatible({from:t,to:r}){return t.primitive.v1===r.primitive.v1}areContainerTypesCompatible({from:t,to:r}){switch(t.type){case"list":if(r.type==="list")return this.areTypeReferencesCompatible({from:t.list,to:r.list});break;case"set":if(r.type==="set")return this.areTypeReferencesCompatible({from:t.set,to:r.set});break;case"map":if(r.type==="map")return this.areTypeReferencesCompatible({from:t.keyType,to:r.keyType})&&this.areTypeReferencesCompatible({from:t.valueType,to:r.valueType});break;case"optional":if(r.type==="optional")return this.areTypeReferencesCompatible({from:t.optional,to:r.optional});break;case"nullable":if(r.type==="nullable")return this.areTypeReferencesCompatible({from:t.nullable,to:r.nullable});break;case"literal":if(r.type==="literal")return this.areLiteralsCompatible({from:t.literal,to:r.literal});break;default:Oo(t)}return this.errors.add(`Container type "${t.type}" is not compatible with type "${r.type}".`),!1}areNamedTypesCompatible({from:t,to:r}){return this.areNamesCompatible({from:t.name,to:r.name})&&this.areFernFilepathsCompatible({from:t.fernFilepath,to:r.fernFilepath})}areDeclaredTypeNamesCompatible({from:t,to:r}){return this.areNamesCompatible({from:t.name,to:r.name})&&this.areFernFilepathsCompatible({from:t.fernFilepath,to:r.fernFilepath})}areDeclaredErrorNamesCompatible({from:t,to:r}){return this.areNamesCompatible({from:t.name,to:r.name})&&this.areFernFilepathsCompatible({from:t.fernFilepath,to:r.fernFilepath})}areNameAndWireValuesCompatible({from:t,to:r}){return this.areNamesCompatible({from:t.name,to:r.name})&&t.wireValue===r.wireValue}areLiteralsCompatible({from:t,to:r}){switch(t.type){case"boolean":if(r.type==="boolean")return t.boolean===r.boolean;break;case"string":if(r.type==="string")return t.string===r.string;break;default:Oo(t)}return!1}areFernFilepathsCompatible({from:t,to:r}){return t.allParts.length!==r.allParts.length?!1:t.allParts.every((i,n)=>{let a=r.allParts[n];return a==null?!1:this.areNamesCompatible({from:i,to:a})})}areNamesCompatible({from:t,to:r}){return t.originalName===r.originalName}getInlinedRequestBody(t){let r={};for(let i of[...t.extendedProperties??[],...t.properties])r[i.name.wireValue]=i.valueType;return r}getFileUploadRequest(t){let r={};for(let i of t)switch(i.type){case"file":r[i.value.key.wireValue]="file";break;case"bodyProperty":r[i.name.wireValue]=i.valueType;break;default:Oo(i)}return r}getKeyForDeclaration({name:t,fernFilepath:r}){return`${r.allParts.map(n=>n.camelCase.unsafeName).join(".")}.${t.pascalCase.unsafeName}`}};function SXp({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:Bz({filteredIr:e,exampleTypeReference:n.value})})).filter(n=>n.value!==void 0)}}:void 0;return i!==void 0?OF.samePropertiesAsObject(i):void 0},singleProperty:r=>{let i=Bz({filteredIr:e,exampleTypeReference:r});return i!==void 0?OF.singleProperty(i):void 0},noProperties:()=>t,_other:()=>{throw new Error("Received unknown type for example.")}})}function Bz({filteredIr:e,exampleTypeReference:t}){return t.shape._visit({primitive:()=>t,container:r=>r._visit({list:i=>({...t,shape:jh.container(ZO.list({...i,list:i.list.map(n=>Bz({filteredIr:e,exampleTypeReference:n})).filter(n=>n!==void 0)}))}),set:i=>({...t,shape:jh.container(ZO.set({...i,set:i.set.map(n=>Bz({filteredIr:e,exampleTypeReference:n})).filter(n=>n!==void 0)}))}),optional:i=>{let n=i.optional!=null?Bz({filteredIr:e,exampleTypeReference:i.optional}):void 0;return n!=null?{...t,shape:jh.container(ZO.optional({optional:n,valueType:i.valueType}))}:void 0},nullable:i=>{let n=i.nullable!=null?Bz({filteredIr:e,exampleTypeReference:i.nullable}):void 0;return n!=null?{...t,shape:jh.container(ZO.nullable({nullable:n,valueType:i.valueType}))}:void 0},map:i=>({...t,shape:jh.container(ZO.map({...i,map:i.map.map(n=>{let a=Bz({filteredIr:e,exampleTypeReference:n.key}),u=Bz({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=Bz({filteredIr:e,exampleTypeReference:i.value});return n!==void 0?{...t,shape:jh.named({...r,shape:lw.alias({...i,value:n})})}:void 0},enum:i=>({...t,shape:jh.named({...r,shape:lw.enum(i)})}),object:i=>({...t,shape:jh.named({...r,shape:lw.object({...i,properties:i.properties.filter(n=>e.hasProperty(n.originalTypeDeclaration.typeId,n.name.wireValue)).map(n=>({...n,value:Bz({filteredIr:e,exampleTypeReference:n.value})})).filter(n=>n.value!==void 0)})})}),union:i=>{let n=SXp({filteredIr:e,singleUnionTypeProperties:i.singleUnionType.shape});return n!==void 0?{...t,shape:jh.named({...r,shape:lw.union({...i,singleUnionType:{...i.singleUnionType,shape:n}})})}:void 0},undiscriminatedUnion:i=>{let n=Bz({filteredIr:e,exampleTypeReference:i.singleUnionType});return n!==void 0?{...t,shape:jh.named({...r,shape:lw.undiscriminatedUnion({...i,singleUnionType:n})})}:void 0},_other:()=>{throw new Error("Received unknown type for example.")}}):void 0,unknown:()=>t,_other:()=>t})}function eZs({filteredIr:e,pathParameters:t}){return t.map(r=>{let i=Bz({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...r,value:i}:void 0}).filter(r=>r!==void 0)}function QQD({filteredIr:e,queryParameters:t}){return t.map(r=>{let i=Bz({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...r,value:i}:void 0}).filter(r=>r!==void 0)}function wXp({filteredIr:e,headers:t}){return t.map(r=>{let i=Bz({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...r,value:i}:void 0}).filter(r=>r!==void 0)}function JQD({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=Bz({filteredIr:e,exampleTypeReference:i.value});return n!==void 0?{...i,value:n}:void 0}).filter(i=>i!==void 0)}),reference:r=>{let i=Bz({filteredIr:e,exampleTypeReference:r});return i!==void 0?gG.reference(i):void 0},_other:()=>{throw new Error("Received unknown type for example.")}})}function KQD({filteredIr:e,response:t}){return t._visit({ok:r=>r._visit({body:i=>kq.ok(_C.body(i!=null?Bz({filteredIr:e,exampleTypeReference:i}):void 0)),stream:i=>kq.ok(_C.stream(i.map(n=>Bz({filteredIr:e,exampleTypeReference:n})).filter(j0))),sse:i=>kq.ok(_C.sse(i.map(({event:n,data:a})=>{let u=Bz({filteredIr:e,exampleTypeReference:a});return u!==void 0?{event:n,data:u}:void 0}).filter(j0))),_other:({type:i})=>{throw new Error(`Received unknown type for OK example: ${i}`)}}),error:({error:r,body:i})=>kq.error({error:r,body:i!=null?Bz({filteredIr:e,exampleTypeReference:i}):void 0}),_other:({type:r})=>{throw new Error(`Received unknown type for example: ${r}`)}})}function tZs({filteredIr:e,example:t}){return{...t,rootPathParameters:eZs({filteredIr:e,pathParameters:t.rootPathParameters}),servicePathParameters:eZs({filteredIr:e,pathParameters:t.servicePathParameters}),endpointPathParameters:eZs({filteredIr:e,pathParameters:t.endpointPathParameters}),serviceHeaders:wXp({filteredIr:e,headers:t.serviceHeaders}),endpointHeaders:wXp({filteredIr:e,headers:t.endpointHeaders}),queryParameters:QQD({filteredIr:e,queryParameters:t.queryParameters}),request:t.request!==void 0?JQD({filteredIr:e,requestBody:t.request}):void 0,response:KQD({filteredIr:e,response:t.response})}}function DXp({filteredIr:e,exampleType:t}){return t.shape._visit({alias:r=>{let i=Bz({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...t,shape:lw.alias({...r,value:i})}:void 0},enum:()=>t,object:r=>({...t,shape:lw.object({...r,properties:r.properties.filter(i=>e.hasProperty(i.originalTypeDeclaration.typeId,i.name.wireValue)).map(i=>({...i,value:Bz({filteredIr:e,exampleTypeReference:i.value})})).filter(i=>i.value!==void 0)})}),union:r=>{let i=SXp({filteredIr:e,singleUnionTypeProperties:r.singleUnionType.shape});return i!==void 0?{...t,shape:lw.union({...r,singleUnionType:{...r.singleUnionType,shape:i}})}:void 0},undiscriminatedUnion:r=>{let i=Bz({filteredIr:e,exampleTypeReference:r.singleUnionType});return i!==void 0?{...t,shape:lw.undiscriminatedUnion({...r,singleUnionType:i})}:void 0},_other:()=>{throw new Error("Received unknown type for example.")}})}function rZs(e,t){if(t==null)return e;let r=ZCi(e.types,u=>t.hasType(u)),i=Object.fromEntries(Object.entries(r).map(([u,l])=>{let f=[];if(l.userProvidedExamples=l.userProvidedExamples.map(s=>DXp({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:NO.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:ZCi(e.errors,u=>t.hasError(u)),services:ad(ZCi(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:tZs({filteredIr:t,example:f.example})})),l.userSpecifiedExamples=l.userSpecifiedExamples.map(f=>({...f,example:f.example!=null?tZs({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:YQD(e.serviceTypeReferenceInfo,t)}}function YQD(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}}var eW={};jn(eW,{AudienceExtension:()=>BFo,FernAvailabilityExtension:()=>xFo,FernEnumExtension:()=>IFo,FernIgnoreExtension:()=>YFi,FernOptionalExtension:()=>zFo,FernTypeExtension:()=>FFo,FernTypeNameExtension:()=>LFo,SdkGroupNameExtension:()=>RFo,SdkMethodNameExtension:()=>NFo});var BFo=class extends oj{operation;key="x-fern-audiences";constructor({breadcrumbs:t,operation:r,context:i}){super({breadcrumbs:t,context:i}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t==null)return;let r=Array.isArray(t)?t.filter(i=>typeof i=="string"):typeof t=="string"?[t]:[];if(r.length!==0)return{audiences:r}}};var xFo=class extends oj{node;key="x-fern-availability";constructor({breadcrumbs:t,node:r,context:i}){super({breadcrumbs:t,context:i}),this.node=r}convert(){let t=this.getExtensionValue(this.node);if(t==null||typeof t!="string")return;switch(t.toUpperCase().replace(/[-_\s]/g,"_")){case"IN_DEVELOPMENT":return D5.InDevelopment;case"PRE_RELEASE":return D5.PreRelease;case"GENERAL_AVAILABILITY":return D5.GeneralAvailability;case"DEPRECATED":return D5.Deprecated;default:return}}};var XQD=pu.object({snake:pu.string().optional(),camel:pu.string().optional(),screamingSnake:pu.string().optional(),pascal:pu.string().optional()}),ZQD=pu.object({description:pu.string().optional(),name:pu.string().optional(),casing:XQD.optional()}),EXp=pu.record(ZQD);var IFo=class extends oj{schema;key="x-fern-enum";constructor({breadcrumbs:t,schema:r,context:i}){super({breadcrumbs:t,context:i}),this.schema=r}convert(){let t=this.getExtensionValue(this.schema);if(t==null)return;let r=EXp.safeParse(t);if(!r.success){this.context.errorCollector.collect({message:`Invalid x-fern-enum extension: ${r.error.message}`,path:this.breadcrumbs});return}return r.data}};var YFi=class extends oj{operation;key="x-fern-ignore";constructor({breadcrumbs:t,operation:r,context:i}){super({breadcrumbs:t,context:i}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t!=null){if(typeof t!="boolean"){this.context.errorCollector.collect({message:"Received unexpected non-boolean value for x-fern-ignore",path:this.breadcrumbs});return}return t}}};var zFo=class extends oj{parameter;key="x-fern-optional";constructor({breadcrumbs:t,parameter:r,context:i}){super({breadcrumbs:t,context:i}),this.parameter=r}convert(){let t=this.getExtensionValue(this.parameter);if(t!=null){if(typeof t!="boolean"){this.context.errorCollector.collect({message:"Received unexpected non-boolean value for x-fern-optional",path:this.breadcrumbs});return}return t}}};var RFo=class extends oj{operation;key="x-fern-sdk-group-name";constructor({breadcrumbs:t,operation:r,context:i}){super({breadcrumbs:t,context:i}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t==null)return;let r=Array.isArray(t)?t.filter(i=>typeof i=="string"):typeof t=="string"?[t]:[];if(r.length!==0)return{groups:r}}};var NFo=class extends oj{operation;key="x-fern-sdk-method-name";constructor({breadcrumbs:t,operation:r,context:i}){super({breadcrumbs:t,context:i}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t!=null&&typeof t=="string")return{methodName:t}}};var FFo=class extends oj{schema;key="x-fern-type";constructor({breadcrumbs:t,schema:r,context:i}){super({breadcrumbs:t,context:i}),this.schema=r}convert(){let t=this.getExtensionValue(this.schema);if(t!=null&&typeof t=="string")return t}};var LFo=class extends oj{schema;key="x-fern-type-name";constructor({breadcrumbs:t,schema:r,context:i}){super({breadcrumbs:t,context:i}),this.schema=r}convert(){let t=this.getExtensionValue(this.schema);if(typeof t=="string")return t}};var RYr=class extends M0{ir;audiences;irGraph;constructor({breadcrumbs:t=[],context:r,audiences:i}){super({breadcrumbs:t,context:r}),this.audiences=i,this.irGraph=new KFi(i),this.ir={auth:{docs:void 0,requirement:Hs.AuthSchemesRequirement.All,schemes:[]},selfHosted:!1,types:{},services:{},errors:{},webhookGroups:{},websocketChannels:void 0,headers:[],idempotencyHeaders:[],apiVersion:void 0,apiDisplayName:void 0,apiDocs:void 0,basePath:void 0,pathParameters:[],errorDiscriminationStrategy:Hs.ErrorDiscriminationStrategy.statusCode(),variables:[],serviceTypeReferenceInfo:{sharedTypes:[],typesReferencedOnlyByService:{}},readmeConfig:void 0,sourceConfig:void 0,publishConfig:void 0,dynamic:void 0,environments:void 0,fdrApiDefinitionId:void 0,rootPackage:this.createPackage(),subpackages:{},sdkConfig:{hasFileDownloadEndpoints:!1,hasPaginatedEndpoints:!1,hasStreamingEndpoints:!1,isAuthMandatory:!0,platformHeaders:{language:"",sdkName:"",sdkVersion:"",userAgent:void 0}}}}removeXFernIgnores({document:t,breadcrumbs:r=[]}){return Array.isArray(t)?t.filter((i,n)=>!new YFi({breadcrumbs:[...r,String(n)],operation:i,context:this.context}).convert()).map((i,n)=>this.removeXFernIgnores({document:i,breadcrumbs:[...r,String(n)]})):t!=null&&typeof t=="object"?Object.fromEntries(Object.entries(t).filter(([i,n])=>!new YFi({breadcrumbs:[...r,i],operation:n,context:this.context}).convert()).map(([i,n])=>[i,this.removeXFernIgnores({document:n,breadcrumbs:[...r,i]})])):t}finalizeIr(){let t={...this.ir,apiName:this.context.casingsGenerator.generateName(this.ir.apiDisplayName??""),constants:{errorInstanceIdKey:this.context.casingsGenerator.generateNameAndWireValue({wireValue:"errorInstanceId",name:"errorInstanceId"})}};return t=this.irGraph.hasNoAudiences()?t:this.filterIrForAudiences(t),{...t,...o0a({ir:t,exampleGeneration:this.context.exampleGenerationArgs}),...KXs({ir:t,exampleGeneration:this.context.exampleGenerationArgs})}}filterIrForAudiences(t){let r=this.irGraph.getFilteredEndpoints(),i=this.irGraph.getFilteredChannels(),n=this.irGraph.getFilteredWebhooks();for(let a of Object.values(t.services)){let u=[];for(let l of a.endpoints)r.has(l.id)&&u.push(l);a.endpoints=u}return t.websocketChannels=Object.fromEntries(Object.entries(t.websocketChannels??{}).filter(([a])=>i.has(a))),t.webhookGroups=Object.fromEntries(Object.entries(t.webhookGroups).filter(([a])=>n.has(a))),t}async resolveAllExternalRefs({spec:t}){let r=[t];for(;r.length>0;){let i=r.shift();i!=null&&(Array.isArray(i)?await this.resolveExternalRefsInArray(i,r):typeof i=="object"&&await this.resolveExternalRefsInObject(i,r))}return t}async resolveExternalRefsInArray(t,r){for(let i=0;i<t.length;i++)t[i]=await this.resolveReferenceChain(t[i],r)}async resolveExternalRefsInObject(t,r){for(let[i,n]of Object.entries(t))t[i]=await this.resolveReferenceChain(n,r)}async resolveReferenceChain(t,r){let i=t;if(!this.context.isReferenceObject(i))return r.push(i),t;for(;this.context.isReferenceObject(i);){let n=this.context.isExternalReference(i.$ref),a=await this.context.resolveMaybeExternalReference({$ref:i.$ref});if(a.resolved){if(i=a.value,n)return i}else return t}return t}addEndpointToIr({endpoint:t,audiences:r,endpointGroup:i,serviceName:n}){let a=this.context.getGroup({groupParts:i,namespace:this.context.namespace}),u=this.getOrCreatePackage({group:i}),l=[...a].map(o=>this.context.casingsGenerator.generateName(o)),f=l[l.length-1];u.service==null&&(u.service=n??`service_${a.map(o=>L_(o)).join("/")}`),this.ir.services[u.service]==null&&(this.ir.services[u.service]=this.createNewService({allParts:l,finalpart:f})),this.ir.services[u.service]?.endpoints.push(t);let s=this.ir.services[u.service];s!=null&&(this.irGraph.addEndpoint(s,t),this.irGraph.markEndpointForAudience(s.name,[t],r))}addWebhookToIr({webhook:t,operationId:r,audiences:i,group:n}){let a=n?.join(".")??r,u=this.getOrCreatePackage({group:n});this.ir.webhookGroups[a]==null&&(this.ir.webhookGroups[a]=[]),this.ir.webhookGroups[a].push(t),u.webhooks=a;let l=this.context.createFernFilepath();this.irGraph.addWebhook(l,t),i!=null&&this.irGraph.markWebhookForAudiences(l,t,i)}addWebsocketChannelToIr({websocketChannel:t,channelPath:r,audiences:i,websocketGroup:n}){let a=L_(n?.join(".")),u=L_(r),l=this.context.namespace?`${L_(this.context.namespace)}/`:"",f=a?`channel_${l}${a}`:`channel_${l}${u}`,s=n?this.getOrCreatePackage({group:n}):this.getOrCreatePackage({group:[u]});this.ir.websocketChannels={...this.ir.websocketChannels,[f]:t},f!==""?s.websocket==null&&(s.websocket=f):this.ir.rootPackage.websocket="";let o=this.context.createFernFilepath();this.irGraph.addChannel(o,f,t),i!=null&&this.irGraph.markChannelForAudiences(o,f,i)}addAuthToIR(t){this.ir.auth=t}addErrorsToIr(t){this.ir.errors=t;for(let r of Object.values(t))this.irGraph.addError(r)}addEnvironmentsToIr({environmentConfig:t,audiences:r}){if(this.ir.environments=t,r!=null)for(let[i,n]of Object.entries(t??{}))r[i]!=null&&this.irGraph.markEnvironmentForAudiences(n,r[i])}addTypeToRootPackage(t){this.ir.rootPackage.types.push(t)}addTypeToPackage(t){let r=this.context.getGroup({groupParts:[],namespace:this.context.namespace});this.getOrCreatePackage({group:r}).types.push(t)}addTypesToIr(t){Object.assign(this.ir.types,Object.fromEntries(Object.entries(t).map(([r,i])=>[r,i.typeDeclaration])));for(let r of Object.values(t))this.irGraph.addType({declaredTypeName:r.typeDeclaration.name,descendantTypeIds:r.typeDeclaration.referencedTypes,descendantTypeIdsByAudience:{},propertiesByAudience:r.propertiesByAudience,descendantFilepaths:new Set}),this.irGraph.markTypeForAudiences(r.typeDeclaration.name,r.audiences)}updateEndpointsWithDefaultUrl(t){if(t!=null)for(let r of Object.values(this.ir.services))for(let i of r.endpoints)i.baseUrl==null&&(i.baseUrl=t)}createNewService({allParts:t,finalpart:r}){return{name:{fernFilepath:{allParts:t,packagePath:t.slice(0,-1),file:r}},displayName:void 0,basePath:pN(""),headers:[],pathParameters:[],availability:void 0,endpoints:[],transport:void 0,encoding:void 0}}createPackage(t={}){return{fernFilepath:this.context.createFernFilepath(t),service:void 0,types:[],errors:[],subpackages:[],docs:void 0,webhooks:void 0,websocket:void 0,hasEndpointsInTree:!1,navigationConfig:void 0}}getOrCreatePackage({group:t}){let r=[];if(this.context.namespace!=null&&r.push(this.context.namespace),r.push(...(t??[]).map(n=>L_(n))),r.length==0)return this.ir.rootPackage;let i=this.ir.rootPackage;for(let n=0;n<r.length;n++){let a=r[n]??"",l=`subpackage_${r.slice(0,n+1).join("/")}`;this.ir.subpackages[l]==null&&(this.ir.subpackages[l]={name:this.context.casingsGenerator.generateName(a),...this.createPackage({name:a})});let f=this.ir.subpackages[l];i.subpackages.includes(l)||i.subpackages.push(l),i=f}return i}};var bA={};jn(bA,{AbstractConverters:()=>nZs,ExampleConverter:()=>FZt,SchemaConverters:()=>iZs,ServersConverter:()=>LZt});var nZs={};jn(nZs,{AbstractMediaTypeObjectConverter:()=>VFo,AbstractParameterConverter:()=>WFo});var FZt=class e extends M0{MAX_DEPTH=12;EXAMPLE_STRING="foo";EXAMPLE_NUMBER=42;EXAMPLE_BOOLEAN=!0;EXAMPLE_INTEGER=42;schema;example;depth;exampleGenerationStrategy;generateOptionalProperties;constructor({breadcrumbs:t,context:r,schema:i,example:n,depth:a=0,exampleGenerationStrategy:u,generateOptionalProperties:l=!1}){super({breadcrumbs:t,context:r}),this.example=n,this.schema=i,this.depth=a,this.exampleGenerationStrategy=u,this.generateOptionalProperties=l}convert(){if(this.depth>this.MAX_DEPTH)return{isValid:!0,coerced:!1,validExample:this.example,errors:[]};let t=this.context.resolveMaybeReference({schemaOrReference:this.schema,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0});return t==null?{isValid:!1,coerced:!1,validExample:null,errors:[{message:"Schema is not resolvable",path:this.breadcrumbs}]}:typeof t!="object"?{isValid:!1,coerced:!1,validExample:null,errors:[{message:`Schema should be an object: ${JSON.stringify(t,null,2)}`,path:this.breadcrumbs}]}:"nullable"in t&&t.nullable===!0&&this.example===null?{isValid:!0,coerced:!1,validExample:this.example,errors:[]}:Array.isArray(t.type)?this.convertSchemaTypeArray({resolvedSchema:t}):t.type=="null"?this.convertNull():t.type=="boolean"?this.convertBoolean():t.enum!=null?this.convertEnum(t):t.type=="number"?this.convertNumber():t.type=="string"?this.convertString():t.type=="integer"?this.convertInteger():t.type=="array"?this.convertArray({resolvedSchema:t}):"oneOf"in t&&t.oneOf!=null?this.convertOneOf({resolvedSchema:t}):"anyOf"in t&&t.anyOf!=null?this.convertAnyOf({resolvedSchema:t}):t.type=="object"||t.properties!=null||t.allOf!=null?this.convertObject({resolvedSchema:t}):typeof t=="object"&&Object.keys(t).length===0?{isValid:!0,coerced:!1,validExample:this.example,errors:[]}:{isValid:!1,coerced:!1,validExample:null,errors:[{message:`Unsupported schema type: ${JSON.stringify(t,null,2)}`,path:this.breadcrumbs}]}}convertNull(){let t=this.example===null;return t?{isValid:t,coerced:!1,validExample:this.example,errors:[]}:{isValid:!1,coerced:!1,validExample:null,errors:[{message:`Example is not null: ${JSON.stringify(this.example,null,2)}`,path:this.breadcrumbs}]}}convertBoolean(){let t=typeof this.example=="boolean";if(t)return{isValid:t,coerced:!1,validExample:this.example,errors:[]};let r=this.context.isReferenceObject(this.schema)?this.context.resolveMaybeReference({schemaOrReference:this.schema,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0})?.default:this.schema.default;return typeof r=="boolean"?{isValid:!0,coerced:!1,validExample:r,errors:[]}:{isValid:!1,coerced:!1,validExample:this.maybeResolveSchemaExample(this.schema)??this.EXAMPLE_BOOLEAN,errors:[{message:`Example is not a boolean: ${JSON.stringify(this.example,null,2)}`,path:this.breadcrumbs}]}}convertEnum(t){let r=t.enum?.includes(this.example)??!1;if(r)return{isValid:r,coerced:!1,validExample:this.example,errors:[]};let i=this.context.isReferenceObject(this.schema)?this.context.resolveMaybeReference({schemaOrReference:this.schema,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0})?.default:this.schema.default;return i!==void 0&&t.enum?.includes(i)?{isValid:!0,coerced:!1,validExample:i,errors:[]}:{isValid:r,coerced:!1,validExample:t.enum?.[0],errors:[{message:`Example is not one of the allowed enum values: ${JSON.stringify(t.enum,null,2)}`,path:this.breadcrumbs}]}}convertNumber(){if(typeof this.example=="number")return{isValid:!0,coerced:!1,validExample:this.example,errors:[]};let t=Number(this.example);if(!isNaN(t))return{isValid:!0,coerced:!0,validExample:t,errors:[]};let r=this.context.isReferenceObject(this.schema)?this.context.resolveMaybeReference({schemaOrReference:this.schema,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0})?.default:this.schema.default;return typeof r=="number"?{isValid:!0,coerced:!1,validExample:r,errors:[]}:{isValid:!1,coerced:!1,validExample:this.maybeResolveSchemaExample(this.schema)??this.EXAMPLE_NUMBER,errors:[{message:`Example is not a number: ${JSON.stringify(this.example,null,2)}`,path:this.breadcrumbs}]}}convertString(){if(typeof this.example=="string")return{isValid:!0,coerced:!1,validExample:this.example,errors:[]};if(typeof this.example!="object"&&!Array.isArray(this.example)&&this.example!=null)return{isValid:!0,coerced:!0,validExample:String(this.example),errors:[]};let t=this.context.isReferenceObject(this.schema)?this.context.resolveMaybeReference({schemaOrReference:this.schema,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0})?.default:this.schema.default;return typeof t=="string"?{isValid:!0,coerced:!1,validExample:t,errors:[]}:{isValid:!1,coerced:!1,validExample:this.maybeResolveSchemaExample(this.schema)??this.EXAMPLE_STRING,errors:[{message:`Example cannot be converted to string: ${JSON.stringify(this.example,null,2)}`,path:this.breadcrumbs}]}}convertInteger(){if(typeof this.example=="number"&&Number.isInteger(this.example))return{isValid:!0,coerced:!1,validExample:this.example,errors:[]};if(typeof this.example=="string"){let r=Number(this.example);if(!isNaN(r)&&Number.isInteger(r))return{isValid:!0,coerced:!0,validExample:r,errors:[]}}let t=this.context.isReferenceObject(this.schema)?this.context.resolveMaybeReference({schemaOrReference:this.schema,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0})?.default:this.schema.default;return typeof t=="number"&&Number.isInteger(t)?{isValid:!0,coerced:!1,validExample:t,errors:[]}:{isValid:!1,coerced:!1,validExample:this.maybeResolveSchemaExample(this.schema)??this.EXAMPLE_INTEGER,errors:[{message:`Example is not an integer: ${JSON.stringify(this.example,null,2)}`,path:this.breadcrumbs}]}}convertArray({resolvedSchema:t}){if(t.type!="array")return{isValid:!1,coerced:!1,validExample:null,errors:[]};t.items==null&&(t.items={type:"string"});let i=(Array.isArray(this.example)?this.example:[this.example]).map(a=>new e({breadcrumbs:[...this.breadcrumbs,"items"],context:this.context,schema:t.items,example:a,depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy}).convert()),n=i.every(a=>a?.isValid??!1);return{isValid:n,coerced:!1,validExample:i.map(a=>a.validExample),errors:n?[]:i.flatMap(a=>a.errors)}}convertObject({resolvedSchema:t}){if(t.type=="object"&&t.properties==null&&t.allOf==null)return{isValid:!0,coerced:!1,validExample:this.example??{},errors:[]};let r=typeof this.example!="object"||this.example==null?{}:this.example,i=Object.entries(t.properties??{}).map(([l,f])=>{if(typeof f!="object")return{key:l,result:{isValid:!0,coerced:!1,validExample:void 0,errors:[]}};if(this.isDeprecatedProperty(f)&&!this.isRequiredProperty({key:l,resolvedSchema:t}))return{key:l,result:{isValid:!0,coerced:!1,validExample:void 0,errors:[]}};if("readOnly"in f&&f.readOnly===!0&&"writeOnly"in f&&f.writeOnly===!0)return{key:l,result:{isValid:!0,coerced:!1,validExample:void 0,errors:[]}};if("readOnly"in f&&f.readOnly===!0&&this.exampleGenerationStrategy==="request")return{key:l,result:{isValid:!0,coerced:!1,validExample:void 0,errors:[]}};if("writeOnly"in f&&f.writeOnly===!0&&this.exampleGenerationStrategy==="response")return{key:l,result:{isValid:!0,coerced:!1,validExample:void 0,errors:[]}};let s=!(l in r)||!("nullable"in f)&&r[l]==null||"nullable"in f&&f.nullable===!0&&r[l]===void 0,o=!t.required?.includes(l);if(s&&o){if(this.example===void 0&&this.generateOptionalProperties){let c=new e({breadcrumbs:[...this.breadcrumbs,l],context:this.context,schema:f,example:void 0,depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy});return{key:l,result:c.convert()}}return{key:l,result:{isValid:!0,coerced:!1,validExample:void 0,errors:[]}}}else{let b=new e({breadcrumbs:[...this.breadcrumbs,l],context:this.context,schema:f,example:r[l],depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy}).convert();return{key:l,result:b}}}),n=(t.allOf??[]).map((l,f)=>new e({breadcrumbs:[...this.breadcrumbs,`allOf[${f}]`],context:this.context,schema:{...t,...l,allOf:void 0},example:this.example,depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy}).convert()),a=i.every(l=>l.result.isValid)&&n.every(l=>l.isValid),u=Object.fromEntries(i.map(({key:l,result:f})=>[l,f.validExample]).filter(([l,f])=>f!==void 0));for(let l of n)if(typeof l.validExample=="object"&&l.validExample!==null){let f=l.validExample;u={...u,...Object.fromEntries(Object.entries(f).filter(([s,o])=>o!==void 0))}}if(Object.keys(u).length===0){let l=n.find(f=>f.validExample!==void 0&&(typeof f.validExample!="object"||f.validExample===null));l&&(u=l.validExample)}return{isValid:a,coerced:!1,validExample:u,errors:[...i.flatMap(({result:l})=>l.errors),...n.flatMap(l=>l.errors)]}}convertSchemaTypeArray({resolvedSchema:t}){if(!Array.isArray(t.type))return{isValid:!1,coerced:!1,validExample:null,errors:[]};if(t.type.length===1)return new e({breadcrumbs:this.breadcrumbs,context:this.context,schema:{...t,type:t.type[0]},example:this.example,depth:this.depth,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy}).convert();let r=t.type.map((u,l)=>new e({breadcrumbs:[...this.breadcrumbs,`type[${l}]`],context:this.context,schema:{...t,type:u},example:this.example,depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy}).convert()),i=r.some(u=>u?.isValid??!1),a=r.find(u=>u.isValid)?.validExample??r[0]?.validExample??null;return{isValid:i,coerced:!1,validExample:a,errors:i?[]:r.flatMap(u=>u?.errors??[])}}convertOneOf({resolvedSchema:t}){if(!("oneOf"in t)||t.oneOf==null)return{isValid:!1,coerced:!1,validExample:null,errors:[]};let r=t.oneOf.map((u,l)=>new e({breadcrumbs:[...this.breadcrumbs,`oneOf[${l}]`],context:this.context,schema:{...t,...u,oneOf:void 0},example:this.example,depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy}).convert()),i=r.filter(u=>u.isValid),n=i.length>0,a;return n?a=i.find(l=>!l.coerced)?.validExample??i[0]?.validExample:a=r[0]?.validExample,{isValid:n,coerced:!1,validExample:a,errors:n?[]:r.flatMap(u=>u.errors)}}convertAnyOf({resolvedSchema:t}){if(!("anyOf"in t)||t.anyOf==null)return{isValid:!1,coerced:!1,validExample:null,errors:[]};let r=t.anyOf.map((u,l)=>new e({breadcrumbs:[...this.breadcrumbs,`anyOf[${l}]`],context:this.context,schema:u,example:this.example,depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy}).convert()),i=r.filter(u=>u.isValid),n=i.length>0,a;return n?a=i.find(l=>!l.coerced)?.validExample??i[0]?.validExample:a=r[0]?.validExample,{isValid:n,coerced:!1,validExample:a,errors:n?[]:r.flatMap(u=>u.errors)}}maybeResolveSchemaExample(t){let r=this.context.resolveMaybeReference({schemaOrReference:t,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0});if(r!=null){if("example"in r)return r.example;if("examples"in r)return Object.values(r.examples??{})[0]}}isDeprecatedProperty(t){return t!=null&&"availability"in t&&t.availability==="deprecated"}isRequiredProperty({key:t,resolvedSchema:r}){return r.required?.includes(t)??!1}};var iZs={};jn(iZs,{ArraySchemaConverter:()=>PMn,EnumSchemaConverter:()=>bMn,ObjectSchemaConverter:()=>gMn,OneOfSchemaConverter:()=>OMn,PrimitiveSchemaConverter:()=>mMn,SchemaConverter:()=>I_i,SchemaOrReferenceConverter:()=>XX});function MXp(e){return U2({type:e,_default:void 0,validation:void 0,visitor:{primitive:t=>{switch(t.v1){case"BASE_64":return Gf.primitive({v1:"BASE_64",v2:th.base64({})});case"BOOLEAN":return Gf.primitive({v1:"BOOLEAN",v2:th.boolean({default:void 0})});case"DATE":return Gf.primitive({v1:"DATE",v2:th.date({})});case"DATE_TIME":return Gf.primitive({v1:"DATE_TIME",v2:th.dateTime({})});case"FLOAT":return Gf.primitive({v1:"FLOAT",v2:th.float({})});case"DOUBLE":return Gf.primitive({v1:"DOUBLE",v2:th.double({default:void 0,validation:void 0})});case"UINT":return Gf.primitive({v1:"UINT",v2:th.uint({})});case"UINT_64":return Gf.primitive({v1:"UINT_64",v2:th.uint64({})});case"INTEGER":return Gf.primitive({v1:"INTEGER",v2:th.integer({default:void 0,validation:void 0})});case"LONG":return Gf.primitive({v1:"LONG",v2:th.long({default:void 0})});case"STRING":return Gf.primitive({v1:"STRING",v2:th.string({default:void 0,validation:void 0})});case"UUID":return Gf.primitive({v1:"UUID",v2:th.uuid({})});case"BIG_INTEGER":return Gf.primitive({v1:"BIG_INTEGER",v2:th.bigInteger({default:void 0})});default:return}},unknown:()=>Gf.unknown(),map:({keyType:t,valueType:r})=>{if(!(t==null||r==null))return Gf.container(Ib.map({keyType:t,valueType:r}))},list:t=>{if(t!=null)return Gf.container(Ib.list(t))},optional:t=>{if(t!=null)return Gf.container(Ib.optional(t))},nullable:t=>{if(t!=null)return Gf.container(Ib.nullable(t))},set:t=>{if(t!=null)return Gf.container(Ib.set(t))},literal:t=>Gf.container(Ib.literal(t._visit({string:r=>A5.string(r),boolean:r=>A5.boolean(r),_other:()=>{throw new Error("Unexpected literal type")}}))),named:()=>{}}})}var bMn=class extends M0{schema;maybeFernEnum;constructor({context:t,breadcrumbs:r,schema:i,maybeFernEnum:n}){super({context:t,breadcrumbs:r}),this.schema=i,this.maybeFernEnum=n}convert(){if(!this.schema.enum)return;let r=this.schema.enum.filter(n=>typeof n=="string"||typeof n=="number").map(n=>{let a=n.toString(),u=this.maybeFernEnum?.[a],l=u?.name??a;return{name:this.context.casingsGenerator.generateNameAndWireValue({name:l,wireValue:a}),docs:u?.description,availability:void 0,casing:u?.casing}});if(r.length===0){this.context.errorCollector.collect({message:`Received enum schema with no valid values: ${JSON.stringify(this.schema)}`,path:this.breadcrumbs});return}let i=this.context.getAsString(this.schema.default);return{type:NO.enum({default:i!=null?r.find(n=>n.name.wireValue===i):void 0,values:r})}}};var UFo=class extends M0{schema;constructor({context:t,breadcrumbs:r,schema:i}){super({context:t,breadcrumbs:r}),this.schema=i}convert(){let r=new XX({context:this.context,breadcrumbs:this.breadcrumbs,schemaOrReference:this.schema}).convert();if(r!=null){let i=Gf.container(Ib.map({keyType:M0.STRING,valueType:r.type})),n=new Set;for(let a of r.schema?.typeDeclaration.referencedTypes??[])n.add(a);for(let a of Object.keys(r.inlinedTypes))n.add(a);return{type:NO.alias({aliasOf:i,resolvedType:i}),referencedTypes:n,inlinedTypes:r.inlinedTypes}}}};function c0a({properties:e,required:t,breadcrumbs:r,context:i,errorCollector:n}){let a=[],u={},l={},f=new Set;for(let[s,o]of Object.entries(e??{})){let c=[...r,"properties",s];if(typeof o!="object"){n.collect({message:`Schema property ${s} should be an object`,path:c});continue}let b=kQD(r,o,i)??i.convertBreadcrumbsToName(c),g="nullable"in o?o.nullable:!1,m=new XX({context:i,breadcrumbs:c,schemaOrReference:o,schemaIdOverride:b,wrapAsOptional:!t.includes(s),wrapAsNullable:g}).convert();if(m!=null){a.push({name:i.casingsGenerator.generateNameAndWireValue({name:s,wireValue:s}),valueType:m.type,docs:o.description,availability:m.availability,propertyAccess:i.getPropertyAccess(o),v2Examples:m.schema?.typeDeclaration?.v2Examples??{userSpecifiedExamples:{},autogeneratedExamples:{}}}),u={...u,...m.inlinedTypes},m.schema?.typeDeclaration.referencedTypes!=null&&m.schema.typeDeclaration.referencedTypes.forEach(P=>{f.add(P)});for(let P of m.schema?.audiences??[])l[P]==null&&(l[P]=new Set),l[P].add(s)}}for(let s of Object.keys(u))f.add(s);return{convertedProperties:a,propertiesByAudience:l,inlinedTypesFromProperties:u,referencedTypes:f}}function kQD(e,t,r){return r.isReferenceObject(t)?void 0:new eW.FernTypeNameExtension({breadcrumbs:e,schema:t,context:r}).convert()}var gMn=class extends M0{schema;constructor({context:t,breadcrumbs:r,schema:i}){super({context:t,breadcrumbs:r}),this.schema=i}convert(){let t=typeof this.schema.additionalProperties=="boolean"&&this.schema.additionalProperties;if(!this.schema.properties&&!this.schema.allOf)return{type:NO.object({properties:[],extends:[],extendedProperties:[],extraProperties:t}),propertiesByAudience:{},inlinedTypes:{},referencedTypes:new Set};let{convertedProperties:r,inlinedTypesFromProperties:i,referencedTypes:n,propertiesByAudience:a}=c0a({properties:this.schema.properties??{},required:this.schema.required??[],breadcrumbs:this.breadcrumbs,context:this.context,errorCollector:this.context.errorCollector}),u=[],l=n,f=i,s=a;for(let[o,c]of(this.schema.allOf??[]).entries()){let b=[...this.breadcrumbs,"allOf",o.toString()];if(this.context.isReferenceObject(c)){let E=this.context.convertReferenceToTypeReference({reference:c,breadcrumbs:b});E.ok&&u.push(E.reference);let A=this.context.getTypeIdFromSchemaReference(c);A!=null&&l.add(A);continue}let{convertedProperties:g,inlinedTypesFromProperties:O,referencedTypes:m,propertiesByAudience:P}=c0a({properties:c.properties??{},required:[...this.schema.required??[],...c.required??[]],breadcrumbs:b,context:this.context,errorCollector:this.context.errorCollector});r.push(...g),f={...f,...O},s={...s,...P},m.forEach(E=>{l.add(E)})}for(let o of Object.keys(f))l.add(o);return{type:NO.object({properties:r,extends:u.map(o=>this.context.typeReferenceToDeclaredTypeName(o)).filter(j0),extendedProperties:[],extraProperties:t}),propertiesByAudience:s,referencedTypes:l,inlinedTypes:f}}};var OMn=class extends M0{schema;id;constructor({context:t,breadcrumbs:r,schema:i,id:n,inlinedTypes:a}){super({context:t,breadcrumbs:r}),this.schema=i,this.id=n}convert(){return this.shouldConvertAsNullableSchemaOrReference()?this.convertAsNullableSchemaOrReference():this.schema.discriminator!=null&&!this.unionVariantsContainLiteral({discriminantProperty:this.schema.discriminator.propertyName})?this.convertAsDiscriminatedUnion():this.convertAsUndiscriminatedUnion()}unionVariantsContainLiteral({discriminantProperty:t}){for(let[r,i]of Object.entries(this.schema.discriminator?.mapping??{})){let n=this.context.resolveReference({reference:{$ref:i},breadcrumbs:this.breadcrumbs});if(n.resolved&&!Object.keys(n.value.properties??{}).includes(t))return!1}return!0}convertAsDiscriminatedUnion(){if(this.schema.discriminator==null)return;let t=[],r=new Set,i={};for(let[l,f]of Object.entries(this.schema.discriminator.mapping??{})){let s=new XX({context:this.context,schemaOrReference:{$ref:f},breadcrumbs:[...this.breadcrumbs,"discriminator","mapping",l]}),o=this.context.getTypeIdFromSchemaReference({$ref:f});o!=null&&r.add(o);let c=s.convert();if(c?.type!=null&&o!=null){for(let g of Object.keys(c?.inlinedTypes??{}))r.add(g);for(let g of c.schema?.typeDeclaration.referencedTypes??[])r.add(g);let b=this.context.casingsGenerator.generateNameAndWireValue({name:l,wireValue:l});t.push({docs:void 0,discriminantValue:b,availability:c.availability,displayName:l,shape:OG.samePropertiesAsObject({typeId:o,name:this.context.casingsGenerator.generateName(o),fernFilepath:{allParts:[],packagePath:[],file:void 0},displayName:l})}),i={...i,...c.inlinedTypes}}}let{convertedProperties:n,referencedTypes:a,inlinedTypesFromProperties:u}=c0a({properties:this.schema.properties??{},required:this.schema.required??[],breadcrumbs:this.breadcrumbs,context:this.context,errorCollector:this.context.errorCollector});r=new Set([...r,...a]);for(let l of Object.keys({...i,...u}))r.add(l);return{type:NO.union({baseProperties:n,discriminant:this.context.casingsGenerator.generateNameAndWireValue({name:this.schema.discriminator.propertyName,wireValue:this.schema.discriminator.propertyName}),extends:[],types:t}),referencedTypes:r,inlinedTypes:{...i,...u}}}convertAsUndiscriminatedUnion(){if(!this.schema.oneOf&&!this.schema.anyOf||this.schema.anyOf?.length===0&&this.schema.oneOf?.length===0)return;let t=[],r=new Set,i={};for(let[n,a]of[...(this.schema.oneOf??[]).entries(),...(this.schema.anyOf??[]).entries()]){if(this.context.isReferenceObject(a)){let c=this.context.convertReferenceToTypeReference({reference:a});c.ok&&t.push({type:c.reference,docs:a.description});let b=this.context.getTypeIdFromSchemaReference(a);b!=null&&r.add(b);continue}let u=this.extendSubSchema(a),l=this.context.convertBreadcrumbsToName([`${this.id}_${n}`]),f=a.title,o=new I_i({context:this.context,id:l,nameOverride:f,breadcrumbs:[...this.breadcrumbs,`oneOf[${n}]`],schema:u??a}).convert();if(o!=null){let c=o.convertedSchema.typeDeclaration.shape;c.type==="alias"&&this.typeReferenceIsWrappedPrimitive(c.aliasOf)?t.push({type:c.aliasOf,docs:a.description}):(t.push({type:this.context.createNamedTypeReference(l,f),docs:a.description}),i={...i,...o.inlinedTypes,[l]:o.convertedSchema}),o.convertedSchema.typeDeclaration.referencedTypes.forEach(b=>{r.add(b)})}}return{type:NO.undiscriminatedUnion({members:t}),referencedTypes:r,inlinedTypes:i}}shouldConvertAsNullableSchemaOrReference(){return this.schema.oneOf!=null?this.schema.oneOf.some(t=>t&&typeof t=="object"&&"type"in t&&t.type==="null"):this.schema.anyOf!=null?this.schema.anyOf.some(t=>t&&typeof t=="object"&&"type"in t&&t.type==="null"):!1}removeNullFromOneOfOrAnyOf(){let t=this.schema.oneOf??this.schema.anyOf,r=this.schema.oneOf!=null?"oneOf":"anyOf";if(t==null)return;let i=t.filter(n=>!("type"in n&&n.type==="null"));if(i.length===0){this.context.errorCollector.collect({message:`Received ${r} schema with no valid non-null types: ${JSON.stringify(this.schema)}`,path:this.breadcrumbs});return}return i.length===1?{...this.schema,[r]:void 0,...i[0]}:{...this.schema,[r]:i}}convertAsNullableSchemaOrReference(){let t=this.removeNullFromOneOfOrAnyOf();if(t==null)return;let i=new XX({context:this.context,breadcrumbs:this.breadcrumbs,schemaOrReference:t}).convert();if(i==null)return;let n=this.wrapInNullable(i.type);return{type:NO.alias({aliasOf:n,resolvedType:n}),referencedTypes:i.schema?.typeDeclaration.referencedTypes??new Set,inlinedTypes:i.inlinedTypes}}typeReferenceIsWrappedPrimitive(t){switch(t.type){case"container":return this.containerTypeIsWrappedPrimitive(t.container);case"named":return!1;case"primitive":return!0;case"unknown":return!1;default:return!1}}containerTypeIsWrappedPrimitive(t){switch(t.type){case"list":return this.typeReferenceIsWrappedPrimitive(t.list);case"map":return this.typeReferenceIsWrappedPrimitive(t.keyType)&&this.typeReferenceIsWrappedPrimitive(t.valueType);case"nullable":return this.typeReferenceIsWrappedPrimitive(t.nullable);case"optional":return this.typeReferenceIsWrappedPrimitive(t.optional);case"set":return this.typeReferenceIsWrappedPrimitive(t.set);case"literal":return!0;default:return!1}}wrapInNullable(t){return Gf.container(Ib.nullable(t))}mergeIntoObjectSchema(t,r){return{...t,properties:{...r,...t.properties??{}}}}extendSubSchema(t){if(Object.entries(this.schema.properties??{}).length===0)return t;if(t.type==="object")return this.mergeIntoObjectSchema(t,this.schema.properties??{});this.context.isObjectSchemaType(t)||this.context.errorCollector.collect({message:`Received additional object properties for oneOf/anyOf that are not objects: ${JSON.stringify(t)}`,path:this.breadcrumbs})}};var mMn=class extends M0{schema;constructor({context:t,breadcrumbs:r,schema:i}){super({context:t,breadcrumbs:r}),this.schema=i}convert(){switch(this.schema.type){case"string":{let t=this.context.getAsString(this.schema.const);return t!=null?Gf.container(Ib.literal(A5.string(t))):Gf.primitive({v1:"STRING",v2:th.string({default:this.context.getAsString(this.schema.default),validation:this.getStringValidation(this.schema)})})}case"number":case"integer":switch(this.schema.format){case"double":return Gf.primitive({v1:"DOUBLE",v2:th.double({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"float":return Gf.primitive({v1:"FLOAT",v2:th.float({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"int32":return Gf.primitive({v1:"INTEGER",v2:th.integer({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"int64":return Gf.primitive({v1:"LONG",v2:th.long({default:this.context.getAsNumber(this.schema.default)})});case"uint32":return Gf.primitive({v1:"UINT",v2:th.uint({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"uint64":return Gf.primitive({v1:"UINT_64",v2:th.uint64({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});default:return Gf.primitive({v1:"INTEGER",v2:th.integer({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})})}case"boolean":{let t=this.context.getAsBoolean(this.schema.const);return t!=null?Gf.container(Ib.literal(A5.boolean(t))):Gf.primitive({v1:"BOOLEAN",v2:th.boolean({default:this.schema.default})})}default:return}}getNumberValidation(t){return{max:t.maximum,min:t.minimum,exclusiveMax:typeof t.exclusiveMaximum=="boolean"?t.exclusiveMaximum:void 0,exclusiveMin:typeof t.exclusiveMinimum=="boolean"?t.exclusiveMinimum:void 0,multipleOf:t.multipleOf}}getStringValidation(t){return{minLength:t.minLength,maxLength:t.maxLength,pattern:t.pattern,format:t.format}}};var eJD=["description","example","title","default","deprecated","readOnly","writeOnly","xml","externalDocs","extensions"],I_i=class e extends M0{schema;id;inlined;audiences;nameOverride;constructor({context:t,breadcrumbs:r,schema:i,id:n,inlined:a=!1,nameOverride:u}){super({context:t,breadcrumbs:r}),this.schema=i,this.id=n,this.inlined=a,this.nameOverride=u,this.audiences=this.context.getAudiences({operation:this.schema,breadcrumbs:this.breadcrumbs})??[]}convert(){let t=this.tryConvertFernTypeDeclaration();if(t!=null)return t;let r=this.tryConvertEnumSchema();if(r!=null)return r;let i=this.tryConvertSingularAllOfSchema();if(i!=null)return i;let n=this.tryConvertPrimitiveSchema();if(n!=null)return n;let a=this.tryConvertArraySchema();if(a!=null)return a;let u=this.tryConvertTypeArraySchema();if(u!=null)return u;let l=this.tryConvertOneOfAnyOfSchema();if(l!=null)return l;let f=this.tryConvertMapSchema();if(f!=null)return f;let s=this.tryConvertObjectAllOfSchema();if(s!=null)return s;let o=this.tryConvertUntypedSchema();if(o!=null)return o;this.context.errorCollector.collect({message:`Failed to convert schema object: ${JSON.stringify(this.schema,null,2)}`,path:this.breadcrumbs})}tryConvertEnumSchema(){if(!this.schema.enum?.length)return;let r=new eW.FernEnumExtension({breadcrumbs:this.breadcrumbs,schema:this.schema,context:this.context}).convert(),n=new bMn({context:this.context,breadcrumbs:this.breadcrumbs,schema:this.schema,maybeFernEnum:r}).convert();if(n!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:n.type,referencedTypes:new Set}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:{}}}tryConvertSingularAllOfSchema(){if(this.schemaOnlyHasAllowedKeys(["allOf"])&&this.schema.allOf?.length===1&&this.schema.allOf[0]!=null){let t=this.context.resolveMaybeReference({schemaOrReference:this.schema.allOf[0],breadcrumbs:this.breadcrumbs});if(t!=null){let i=new e({context:this.context,breadcrumbs:[...this.breadcrumbs,"allOf","0"],schema:t,id:this.id,inlined:!0}).convert();if(i?.convertedSchema.typeDeclaration?.shape.type!=="object")return i}}}tryConvertPrimitiveSchema(){let r=new mMn({context:this.context,schema:this.schema}).convert();if(r!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:NO.alias({aliasOf:r,resolvedType:r}),referencedTypes:new Set}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:{}}}tryConvertArraySchema(){if(this.schema.type==="array"){let r=new PMn({context:this.context,breadcrumbs:this.breadcrumbs,schema:this.schema}).convert();if(r!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:NO.alias({aliasOf:r.typeReference,resolvedType:r.typeReference}),referencedTypes:r.referencedTypes}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:r.inlinedTypes}}}tryConvertTypeArraySchema(){if(Array.isArray(this.schema.type)&&this.schema.type.length>0)return this.schema.type.length===1?this.schema.type=this.schema.type[0]:(this.schema.oneOf=this.schema.type.map(t=>({type:t})),this.schema.type=void 0),this.convert()}tryConvertOneOfAnyOfSchema(){if(this.schema.oneOf!=null||this.schema.anyOf!=null){let r=new OMn({id:this.id,context:this.context,breadcrumbs:this.breadcrumbs,schema:this.schema,inlinedTypes:{}}).convert();if(r!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:r.type,referencedTypes:r.referencedTypes}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:r.inlinedTypes}}}tryConvertMapSchema(){if(typeof this.schema.additionalProperties=="object"&&this.schema.additionalProperties!=null&&!this.schema.properties&&!this.schema.allOf){let r=new UFo({context:this.context,breadcrumbs:this.breadcrumbs,schema:this.schema.additionalProperties}).convert();if(r!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:r.type,referencedTypes:r.referencedTypes}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:r.inlinedTypes}}}tryConvertObjectAllOfSchema(){if(this.schema.type==="object"||this.schema.properties!=null||this.schema.allOf!=null){let r=new gMn({context:this.context,breadcrumbs:this.breadcrumbs,schema:this.schema}).convert();if(r!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:r.type,referencedTypes:r.referencedTypes}),audiences:this.audiences,propertiesByAudience:r.propertiesByAudience},inlinedTypes:r.inlinedTypes}}}tryConvertUntypedSchema(){if(this.isUntypedSchema())return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:NO.alias({aliasOf:Gf.unknown(),resolvedType:Gf.unknown()}),referencedTypes:new Set}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:{}}}tryConvertFernTypeDeclaration(){let r=new eW.FernTypeExtension({breadcrumbs:this.breadcrumbs,schema:this.schema,context:this.context}).convert();if(r==null)return;let i=MXp(r);if(i!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:NO.alias({aliasOf:i,resolvedType:i}),referencedTypes:new Set,omitV2Examples:!0}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:{}}}createTypeDeclaration({shape:t,referencedTypes:r,omitV2Examples:i}){return{name:this.convertDeclaredTypeName(),shape:t,autogeneratedExamples:[],userProvidedExamples:[],encoding:void 0,availability:this.context.getAvailability({node:this.schema,breadcrumbs:this.breadcrumbs}),docs:this.schema.description,referencedTypes:r,source:void 0,inline:this.inlined,v2Examples:i?void 0:this.convertSchemaExamples()}}convertDeclaredTypeName(){return{typeId:this.id,fernFilepath:this.context.createFernFilepath(),name:this.context.casingsGenerator.generateName(this.id),displayName:this.nameOverride}}schemaOnlyHasAllowedKeys(t){let r=[...eJD,...t];return Object.keys(this.schema).every(n=>r.includes(n))}isUntypedSchema(){return!!(this.schema&&typeof this.schema=="object"&&!("type"in this.schema)&&!("oneOf"in this.schema)&&!("anyOf"in this.schema)&&!("allOf"in this.schema)&&!("items"in this.schema)&&!("properties"in this.schema))}convertSchemaExamples(){let t={userSpecifiedExamples:{},autogeneratedExamples:{}},r=this.context.getExamplesFromSchema({schema:this.schema,breadcrumbs:this.breadcrumbs});if(r.length===0){let i=this.generateOrValidateExample({example:void 0,ignoreErrors:!0});return t.autogeneratedExamples={[`${this.id}_example_autogenerated`]:i},t}return t.userSpecifiedExamples=this.convertUserSpecifiedExamples(r),t}convertUserSpecifiedExamples(t){let r={};for(let[i,n]of t.entries()){let a=this.context.resolveExample(n),u=this.generateOrValidateExample({example:a});r[`${this.id}_example_${i}`]=u}return r}generateOrValidateExample({example:t,ignoreErrors:r}){let i=new FZt({breadcrumbs:this.breadcrumbs,context:this.context,schema:this.schema,example:t}),{validExample:n,errors:a}=i.convert();return r||a.forEach(u=>{this.context.errorCollector.collect({message:u.message,path:u.path})}),n}};var XX=class extends M0{schemaOrReference;schemaIdOverride;wrapAsOptional;wrapAsNullable;constructor({context:t,breadcrumbs:r,schemaOrReference:i,schemaIdOverride:n,wrapAsOptional:a=!1,wrapAsNullable:u=!1}){super({context:t,breadcrumbs:r}),this.schemaOrReference=i,this.schemaIdOverride=n,this.wrapAsOptional=a,this.wrapAsNullable=u}convert(){let t=this.maybeConvertReferenceObject({schemaOrReference:this.schemaOrReference});if(t!=null)return t;let r=this.maybeConvertSingularAllOfReferenceObject();return r??this.convertSchemaObject({schema:this.schemaOrReference})}maybeConvertReferenceObject({schemaOrReference:t}){if(this.context.isReferenceObject(t)){let r=this.context.convertReferenceToTypeReference({reference:t,breadcrumbs:this.breadcrumbs});if(r.ok)return{type:this.wrapTypeReference(r.reference),inlinedTypes:{}}}}maybeConvertSingularAllOfReferenceObject(){if(this.context.isReferenceObject(this.schemaOrReference)||this.schemaOrReference.allOf==null||this.schemaOrReference.allOf.length!==1)return;let t=this.schemaOrReference.allOf[0];if(this.context.isReferenceObject(t)){let r=this.context.convertReferenceToTypeReference({reference:t,breadcrumbs:this.breadcrumbs});if(r.ok)return{type:this.wrapTypeReference(r.reference),inlinedTypes:{}}}}convertSchemaObject({schema:t}){let r=this.schemaIdOverride??this.context.convertBreadcrumbsToName(this.breadcrumbs),i=new I_i({context:this.context,breadcrumbs:this.breadcrumbs,schema:t,id:r}),n=this.context.getAvailability({node:t,breadcrumbs:this.breadcrumbs}),a=i.convert();if(a!=null){let u=a.convertedSchema.typeDeclaration.shape;return u.type==="alias"?{type:this.wrapTypeReference(u.aliasOf),schema:a.convertedSchema,inlinedTypes:a.inlinedTypes,availability:n}:{type:this.wrapTypeReference(this.context.createNamedTypeReference(r)),schema:a.convertedSchema,inlinedTypes:{...a.inlinedTypes,[r]:a.convertedSchema},availability:n}}}wrapTypeReference(t){return this.wrapAsOptional&&this.wrapAsNullable?this.wrapInOptional(this.wrapInNullable(t)):this.wrapAsOptional?this.wrapInOptional(t):this.wrapAsNullable?this.wrapInNullable(t):t}wrapInOptional(t){return Gf.container(Ib.optional(t))}wrapInNullable(t){return Gf.container(Ib.nullable(t))}};var PMn=class e extends M0{static LIST_UNKNOWN=Gf.container(Ib.list(Gf.unknown()));schema;constructor({context:t,breadcrumbs:r,schema:i}){super({context:t,breadcrumbs:r}),this.schema=i}convert(){if(this.schema.items!=null){Array.isArray(this.schema.items)&&(this.schema.items={oneOf:this.schema.items});let r=new XX({context:this.context,breadcrumbs:[...this.breadcrumbs,"items"],schemaOrReference:this.schema.items}).convert();if(r!=null){let i=new Set;for(let n of r.schema?.typeDeclaration.referencedTypes??[])i.add(n);return r.inlinedTypes!=null&&Object.values(r.inlinedTypes).forEach(n=>{n.typeDeclaration.referencedTypes.forEach(a=>{i.add(a)})}),{typeReference:Gf.container(Ib.list(r.type)),referencedTypes:i,inlinedTypes:r.inlinedTypes}}}return{typeReference:e.LIST_UNKNOWN,referencedTypes:new Set,inlinedTypes:{}}}};var VFo=class extends M0{group;method;constructor({context:t,breadcrumbs:r,group:i,method:n}){super({context:t,breadcrumbs:r}),this.group=i,this.method=n}parseMediaTypeObject({mediaTypeObject:t,resolveSchema:r,contentType:i,schemaId:n}){if(t==null||t.schema==null)return;if(r){let f=this.context.resolveMaybeReference({schemaOrReference:t.schema,breadcrumbs:[...this.breadcrumbs,"content",i]});if(f==null)return;t.schema=f}let u=new XX({context:this.context,breadcrumbs:[...this.breadcrumbs,"content",i,"schema"],schemaOrReference:t.schema,schemaIdOverride:n}).convert();if(u==null)return;let l=t.examples!=null?Object.fromEntries(Object.entries(t.examples).map(([f,s])=>{if(this.context.isReferenceObject(s)){let o=this.context.resolveReference({reference:s,breadcrumbs:[...this.breadcrumbs,"content",i,"examples"],skipErrorCollector:!0});return o.resolved?[f,o.value]:null}return[f,s]}).filter(f=>f!=null)):void 0;return{...u,examples:l}}convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:r,exampleGenerationStrategy:i}){let n={userSpecifiedExamples:{},autogeneratedExamples:{}},a=t?.schema,u=this.context.getNamedExamplesFromMediaTypeObject({mediaTypeObject:t,breadcrumbs:this.breadcrumbs,defaultExampleName:`${[...this.group,this.method].join("_")}_example`});for(let[l,f]of u){let s=this.context.resolveExampleWithValue(f),o=this.context.isExampleWithSummary(f)?f.summary:l;s!=null&&(a!=null?n.userSpecifiedExamples[o]=this.generateOrValidateExample({schema:a,example:s,exampleGenerationStrategy:i}):n.userSpecifiedExamples[o]=s)}if(Object.keys(n.userSpecifiedExamples).length===0&&a!=null){let l=L_(`${[...this.group,this.method].join("_")}_example`);n.autogeneratedExamples[l]=this.generateOrValidateExample({schema:a,example:void 0,ignoreErrors:!0,generateOptionalProperties:r,exampleGenerationStrategy:i})}return n}generateOrValidateExample({schema:t,example:r,ignoreErrors:i,generateOptionalProperties:n,exampleGenerationStrategy:a}){let u=this.context.resolveMaybeReference({schemaOrReference:t,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0});if(u==null)return;let l=this.context.getExamplesFromSchema({schema:u,breadcrumbs:this.breadcrumbs}),f=new FZt({breadcrumbs:this.breadcrumbs,context:this.context,schema:u,example:r??l[0],generateOptionalProperties:n??!1,exampleGenerationStrategy:a}),{validExample:s,errors:o}=f.convert();return i||o.forEach(c=>{this.context.errorCollector.collect({message:c.message,path:c.path})}),s}};var WFo=class extends M0{parameter;constructor({context:t,breadcrumbs:r,parameter:i}){super({context:t,breadcrumbs:r}),this.parameter=i}convertToOutput({schema:t,typeReference:r,inlinedTypes:i}){let n=this.context.getAvailability({node:this.parameter,breadcrumbs:this.breadcrumbs}),a=this.context.resolveMaybeReference({schemaOrReference:t,breadcrumbs:this.breadcrumbs}),u=this.getParameterSchemaWithExampleOverride({schema:a});switch(this.parameter.in){case"query":return{type:"query",parameter:{name:this.context.casingsGenerator.generateNameAndWireValue({name:this.parameter.name,wireValue:this.parameter.name}),docs:this.parameter.description,valueType:r??M0.OPTIONAL_STRING,allowMultiple:this.parameter.explode??!1,v2Examples:this.convertParameterExamples({schema:u??t}),availability:n},inlinedTypes:i};case"header":return{type:"header",parameter:{name:this.context.casingsGenerator.generateNameAndWireValue({name:this.parameter.name,wireValue:this.parameter.name}),docs:this.parameter.description,valueType:r??M0.OPTIONAL_STRING,env:void 0,v2Examples:this.convertParameterExamples({schema:u??t}),availability:n},inlinedTypes:i};case"path":return{type:"path",parameter:{name:this.context.casingsGenerator.generateName(this.parameter.name),docs:this.parameter.description,valueType:r??M0.STRING,location:"ENDPOINT",variable:void 0,v2Examples:this.convertParameterExamples({schema:u??t})},inlinedTypes:i};default:return}}getParameterSchemaWithExampleOverride({schema:t}){if(t!=null)return t.type==="string"&&t.example==null?{...t,example:this.parameter.name}:t}convertParameterExamples({schema:t}){let r={userSpecifiedExamples:{},autogeneratedExamples:{}},i=this.parameter.example,n=this.parameter.examples;for(let[a,u]of Object.entries(n??{})){let l=this.context.resolveExampleWithValue(u);l!=null&&(r.userSpecifiedExamples[a]=this.generateOrValidateExample({schema:t,example:l}))}if(i!=null){let a=this.context.generateUniqueName({prefix:`${this.parameter.name}_example`,existingNames:Object.keys(r.userSpecifiedExamples)});r.userSpecifiedExamples[a]=this.generateOrValidateExample({schema:t,example:i})}if(Object.keys(r.userSpecifiedExamples).length===0){let a=`${this.parameter.name}_example`;r.autogeneratedExamples[a]=this.generateOrValidateExample({schema:t,example:void 0,ignoreErrors:!0})}return r}generateOrValidateExample({schema:t,ignoreErrors:r,example:i}){let n=new FZt({breadcrumbs:this.breadcrumbs,context:this.context,schema:t,example:i}),{validExample:a,errors:u}=n.convert();return r||u.forEach(l=>{this.context.errorCollector.collect({message:l.message,path:l.path})}),a}};var HFo=class extends oj{server;key="x-fern-server-name";constructor({breadcrumbs:t,server:r,context:i}){super({breadcrumbs:t,context:i}),this.server=r}convert(){let t=this.getExtensionValue(this.server,"x-name");if(!(t==null||typeof t!="string"))return t}};var AXp="Base",LZt=class e extends M0{servers;endpointLevelServers;constructor({breadcrumbs:t,context:r,servers:i,endpointLevelServers:n}){super({breadcrumbs:t,context:r}),this.servers=i,this.endpointLevelServers=n}convert(){if(this.servers==null||this.servers.length===0||this.servers[0]==null)return;if(this.endpointLevelServers!=null&&this.endpointLevelServers.length>0){let r=this.getDefaultBaseUrlName(),i={id:r,name:this.context.casingsGenerator.generateName(r)},n=this.endpointLevelServers.map(l=>{let f=e.getServerName({server:l,context:this.context});return{id:f,name:this.context.casingsGenerator.generateName(f)}}).filter((l,f,s)=>s.findIndex(o=>o.id===l.id)===f),a=[i,...n],u=this.servers.map(l=>{let f=e.getServerName({server:l,context:this.context}),s=this.endpointLevelServers?.map(o=>[e.getServerName({server:o,context:this.context}),this.getServerUrl(o)]);return{id:f,name:this.context.casingsGenerator.generateName(f),urls:{[r]:this.getServerUrl(l),...Object.fromEntries(s??[])},docs:l.description}});return{value:{defaultEnvironment:u[0]?.id,environments:mI.multipleBaseUrls({baseUrls:a,environments:u})},defaultUrl:i.id}}let t=this.withExplodedServers(this.servers).map(r=>{let i=e.getServerName({server:r,context:this.context});return{id:i,name:this.context.casingsGenerator.generateName(i),url:this.getServerUrl(r),docs:r.description}}).filter(j0);return{value:{defaultEnvironment:t[0]?.id,environments:mI.singleBaseUrl({environments:t})},defaultUrl:t[0]?.id}}static getServerExtensionName({server:t,context:r}){return new HFo({breadcrumbs:[],server:t,context:r}).convert()}static getServerName({server:t,context:r}){return e.getServerExtensionName({server:t,context:r})??t.description??t.url}getServerUrl(t){if(t.variables==null)return t.url;let r=t.url;for(let[i,n]of Object.entries(t.variables))n.default!=null&&(r=r.replace(`{${i}}`,n.default));return r}withExplodedServers(t){return t.flatMap(r=>{if(r.variables==null)return[r];let i=Object.entries(r.variables).filter(([l,f])=>f.enum!=null&&f.enum.length>0);if(i.length===0)return[r];let n=i[0];if(n==null)return[r];let[a,u]=n;return u.enum==null?[r]:u.enum.map(l=>{let f=r.url.replace(`{${a}}`,l),s={};for(let[c,b]of Object.entries(r.variables??{}))c!==a&&(s[c]=b);let o={...r,url:f,variables:Object.keys(s).length>0?s:void 0,"x-fern-server-name":r.description?`${r.description}_${l}`:`${l}`,description:r.description};return this.withExplodedServers([o])[0]})}).filter(j0)}getDefaultBaseUrlName(){return this.servers==null||this.servers.length===0||this.servers[0]==null?AXp:e.getServerExtensionName({server:this.servers[0],context:this.context})??AXp}};var l0a={400:"BadRequestError",401:"UnauthorizedError",402:"PaymentRequiredError",403:"ForbiddenError",404:"NotFoundError",405:"MethodNotAllowedError",406:"NotAcceptableError",407:"ProxyAuthenticationRequiredError",408:"RequestTimeoutError",409:"ConflictError",410:"GoneError",411:"LengthRequiredError",412:"PreconditionFailedError",413:"ContentTooLargeError",414:"URITooLongError",415:"UnsupportedMediaTypeError",416:"RangeNotSatisfiableError",417:"ExpectationFailedError",418:"ImATeapotError",419:"AuthenticationTimeoutError",420:"MethodFailureError",421:"MisdirectedRequestError",422:"UnprocessableEntityError",423:"LockedError",424:"FailedDependencyError",425:"TooEarlyError",426:"UpgradeRequiredError",428:"PreconditionError",429:"TooManyRequestsError",430:"RequestHeaderFieldsTooLargeError",431:"RequestHeaderFieldsTooLargeError",444:"NoResponseError",449:"RetryWithError",450:"BlockedByWindowsParentalControlsError",451:"UnavailableForLegalReasonsError",498:"InvalidTokenError",499:"ClientClosedRequestError",500:"InternalServerError",501:"NotImplementedError",502:"BadGatewayError",503:"ServiceUnavailableError",504:"GatewayTimeoutError",505:"HTTPVersionNotSupportedError",506:"VariantAlsoNegotiatesError",507:"InsufficientStorageError",508:"LoopDetectedError",509:"BandwidthLimitExceededError",510:"NotExtendedError",511:"NetworkAuthenticationRequiredError"},tJD=new Set(Object.values(l0a));var rJD=pu.object({type:pu.string(),channelId:pu.string().optional(),messageId:pu.string(),value:pu.any()}),iJD=pu.object({summary:pu.string().optional(),description:pu.string().optional(),"query-parameters":pu.record(pu.string()).optional(),headers:pu.record(pu.string()).optional(),messages:pu.array(rJD)}),qXp=pu.array(iJD);var $Fo=class extends oj{channel;key="x-fern-examples";constructor({breadcrumbs:t,channel:r,context:i}){super({breadcrumbs:t??[],context:i}),this.channel=r}convert(){let t=this.getExtensionValue(this.channel);if(t==null)return;let r=qXp.safeParse(t);if(!r.success){this.context.errorCollector.collect({message:`Invalid x-fern-examples extension: ${r.error.message}`,path:this.breadcrumbs});return}return r.data.map(i=>({summary:i.summary,description:i.description,queryParameters:i["query-parameters"],headers:i.headers,messages:i.messages.map(n=>({type:n.type,channelId:n.channelId,messageId:n.messageId,value:n.value}))}))}};var jMn=class extends M0{channel;channelPath;inlinedTypes={};websocketGroup;constructor({context:t,breadcrumbs:r,websocketGroup:i,channel:n,channelPath:a}){super({context:t,breadcrumbs:r}),this.websocketGroup=i,this.channel=n,this.channelPath=a}convertExamples({fullPath:t,baseUrl:r,asyncApiVersion:i}){let a=new $Fo({context:this.context,breadcrumbs:this.breadcrumbs,channel:this.channel}).convert();return a==null?{}:Object.fromEntries(a.map((u,l)=>[l.toString(),{channel:{method:"GET",path:t},baseUrl:t,environment:r,auth:void 0,pathParameters:{},queryParameters:u.queryParameters,headers:u.headers,messages:u.messages.map(f=>({type:i==="v2"?f.type:f.messageId,body:f.value}))}]))}transformToValidPath(t){return t.startsWith("/")?t:"/"+t}};var z_i=class extends bA.AbstractConverters.AbstractParameterConverter{parameterNamePrefix;constructor({context:t,breadcrumbs:r,parameter:i,parameterNamePrefix:n}){super({context:t,breadcrumbs:r,parameter:i}),this.parameterNamePrefix=n}convert(){let t,r={},n=new eW.FernOptionalExtension({breadcrumbs:this.breadcrumbs,parameter:this.parameter,context:this.context}).convert()??this.parameter.required===!1,a=this.parameter.schema??{...this.parameter,type:"string",enum:this.parameter.enum,default:this.parameter.default,example:this.parameter.example??this.parameter.name,examples:Object.values(this.parameter.examples??{}),deprecated:this.parameter.deprecated,required:void 0},l=new bA.SchemaConverters.SchemaOrReferenceConverter({context:this.context,breadcrumbs:[...this.breadcrumbs,"schema"],schemaIdOverride:this.parameterNamePrefix?`${this.parameterNamePrefix}_${this.parameter.name}`:this.parameter.name,schemaOrReference:a,wrapAsOptional:n}).convert();return l!=null&&(t=l.type,r=l.inlinedTypes??{}),this.convertToOutput({schema:a,typeReference:t,inlinedTypes:r})}};var GFo=class extends oj{channel;key="x-fern-address";constructor({breadcrumbs:t,channel:r,context:i}){super({breadcrumbs:t,context:i}),this.channel=r}convert(){let t=this.getExtensionValue(this.channel);if(!(t==null||typeof t!="string"))return t}};var wMn=class extends oj{channel;key="x-fern-display-name";constructor({breadcrumbs:t,channel:r,context:i}){super({breadcrumbs:t,context:i}),this.channel=r}convert(){let t=this.getExtensionValue(this.channel);if(!(t==null||typeof t!="string"))return t}};var QFo=class extends jMn{inlinedTypes={};constructor({context:t,breadcrumbs:r,websocketGroup:i,channel:n,channelPath:a}){super({context:t,breadcrumbs:r,websocketGroup:i,channel:n,channelPath:a})}convert(){let t=[],r=[],i=[],a=new wMn({breadcrumbs:this.breadcrumbs,channel:this.channel,context:this.context}).convert()??this.websocketGroup?.join(".");this.channel.parameters&&this.convertPathParameters({context:this.context,pathParameters:t}),this.channel.bindings?.ws!=null&&(this.convertHeaders({context:this.context,headers:i}),this.convertBindingQueryParameters({context:this.context,queryParameters:r}));let u;this.channel.subscribe!=null&&(u=this.convertMessage({context:this.context,operation:this.channel.subscribe,origin:"server"}));let l;this.channel.publish!=null&&(l=this.convertMessage({context:this.context,operation:this.channel.publish,origin:"client"}));let f=[];u!=null&&f.push(u),l!=null&&f.push(l);let o=new GFo({breadcrumbs:this.breadcrumbs,channel:this.channel,context:this.context}).convert(),c=this.transformToValidPath(o??this.channelPath),b=this.channel.servers?.[0]??Object.keys(this.context.spec.servers??{})[0],g=pN(c),O=L_(this.channelPath),m=this.context.getAudiences({operation:this.channel,breadcrumbs:this.breadcrumbs})??[];return{channel:{name:this.context.casingsGenerator.generateName(O),displayName:a,baseUrl:b,path:g,auth:!1,headers:i,queryParameters:r,pathParameters:t,messages:f,availability:this.context.getAvailability({node:this.channel,breadcrumbs:this.breadcrumbs}),docs:this.channel.description,examples:[],v2Examples:{autogeneratedExamples:{},userSpecifiedExamples:this.convertExamples({fullPath:c,baseUrl:b,asyncApiVersion:"v2"})}},audiences:m,inlinedTypes:this.inlinedTypes}}convertMessage({context:t,operation:r,origin:i}){let n,a=i==="server"?"subscribe":"publish",u=[...this.breadcrumbs,a],l=t.resolveMaybeReference({schemaOrReference:r.message,breadcrumbs:u});l!=null&&(r.message=l);let f=eBi(L_(`${this.channelPath}_${a}`)).replace(/ /g,"");if("oneOf"in r.message){let o=new bA.SchemaConverters.SchemaOrReferenceConverter({context:this.context,breadcrumbs:u,schemaOrReference:r.message,schemaIdOverride:f}).convert();o!=null&&o.schema!=null&&(n=o.schema,this.inlinedTypes={...this.inlinedTypes,...o.inlinedTypes})}else if(t.isMessageWithPayload(r.message)){let s=t.resolveMaybeReference({schemaOrReference:r.message.payload,breadcrumbs:u});if(s!=null){let c=new bA.SchemaConverters.SchemaOrReferenceConverter({context:this.context,breadcrumbs:u,schemaOrReference:s,schemaIdOverride:f}).convert();c!=null&&c.schema!=null&&(n=c.schema,this.inlinedTypes={...this.inlinedTypes,...c.inlinedTypes})}}if(n!=null){let s=n,o=Gf.named({fernFilepath:t.createFernFilepath(),name:s.typeDeclaration.name.name,typeId:s.typeDeclaration.name.typeId,displayName:void 0,default:void 0,inline:!1}),c=q5.reference({bodyType:o,docs:r.description}),b=i==="server"?"subscribe":"publish";return{type:b,displayName:b,origin:i,body:c,availability:t.getAvailability({node:r,breadcrumbs:this.breadcrumbs}),docs:r.description}}}convertPathParameters({context:t,pathParameters:r}){for(let[i,n]of Object.entries(this.channel.parameters??{})){let a=t.resolveMaybeReference({schemaOrReference:n,breadcrumbs:this.breadcrumbs});if(a==null)continue;let l=new z_i({context:this.context,breadcrumbs:this.breadcrumbs,parameter:{...a,name:i,in:"path",description:n.description,required:n.required??!0}}).convert();l!=null&&(this.inlinedTypes={...this.inlinedTypes,...l.inlinedTypes},l.type==="path"&&r.push(l.parameter))}}convertHeaders({context:t,headers:r}){if(this.channel.bindings?.ws?.headers!=null){let i=this.channel.bindings.ws.headers.required??[];for(let[n,a]of Object.entries(this.channel.bindings.ws.headers.properties??{})){let u=t.resolveMaybeReference({schemaOrReference:a,breadcrumbs:[...this.breadcrumbs,n]});if(u==null)continue;let f=new z_i({context:this.context,breadcrumbs:[...this.breadcrumbs,n],parameter:{name:n,in:"header",required:i.includes(n),schema:u,description:"description"in u?u.description:void 0}}).convert();f!=null&&f.type==="header"&&(this.inlinedTypes={...this.inlinedTypes,...f.inlinedTypes},r.push(f.parameter))}}}convertBindingQueryParameters({context:t,queryParameters:r}){if(this.channel.bindings?.ws?.query!=null){let i=this.channel.bindings.ws.query.required??[];for(let[n,a]of Object.entries(this.channel.bindings.ws.query.properties??{})){let u=t.resolveMaybeReference({schemaOrReference:a,breadcrumbs:[...this.breadcrumbs,n]});if(u==null)continue;let f=new z_i({context:this.context,breadcrumbs:[...this.breadcrumbs,n],parameter:{name:n,in:"query",required:i.includes(n),schema:u,description:"description"in u?u.description:void 0,deprecated:u.deprecated??!1}}).convert();f!=null&&f.type==="query"&&(this.inlinedTypes={...this.inlinedTypes,...f.inlinedTypes},r.push(f.parameter))}}}};var SMn=class extends M0{servers;constructor({context:t,breadcrumbs:r,servers:i}){super({context:t,breadcrumbs:r}),this.servers=i}convert(){if(this.servers==null||Object.keys(this.servers).length===0)return;let t=[],r;for(let[i,n]of Object.entries(this.servers)){let a=this.buildSingleBaseUrlEnvironment(this.context,i,n);t.push(a),r==null&&(r=a.id)}return{defaultEnvironment:r,environments:mI.singleBaseUrl({environments:t})}}constructServerUrl(t,r){return r.includes("://")?r:`${t}://${r}`}};var JFo=class extends SMn{constructor({context:t,breadcrumbs:r,servers:i}){super({context:t,breadcrumbs:r,servers:i})}buildSingleBaseUrlEnvironment(t,r,i){return{id:r,name:t.casingsGenerator.generateName(r),url:this.constructServerUrl(i.protocol,i.url),docs:void 0}}};var aZs="$message.",TXp="#/channels/",CXp="#/servers/",KFo=class extends jMn{operations;inlinedTypes={};constructor({context:t,breadcrumbs:r,websocketGroup:i,channel:n,channelPath:a,operations:u}){super({context:t,breadcrumbs:r,websocketGroup:i,channel:n,channelPath:a}),this.operations=u}convert(){let t=[],r=[],i=[],a=new wMn({breadcrumbs:this.breadcrumbs,channel:this.channel,context:this.context}).convert()??this.websocketGroup?.join(".")??this.channelPath;this.channel.parameters&&this.convertChannelParameters({pathParameters:t,queryParameters:r,headers:i,channelPath:this.channelPath});let u=Object.entries(this.operations).reduce((b,[g,O])=>{try{this.getChannelPathFromOperation(O)===this.channelPath&&(b[g]=O)}catch{}return b},{}),l=[];for(let[b,g]of Object.entries(u))for(let O of g.messages){let m=this.context.convertReferenceToTypeReference({reference:O});if(m.ok){let P=q5.reference({bodyType:m.reference,docs:g.description});l.push({type:b,displayName:b,origin:g.action==="send"?"client":"server",body:P,availability:this.context.getAvailability({node:g,breadcrumbs:this.breadcrumbs}),docs:g.description})}}let f=this.resolveChannelServersFromReference(this.channel.servers??[])??Object.keys(this.context.spec.servers??{})[0],s=this.transformToValidPath(this.channel.address??this.channelPath),o=pN(s),c=this.context.getAudiences({operation:this.channel,breadcrumbs:this.breadcrumbs})??[];return{channel:{name:this.context.casingsGenerator.generateName(a),displayName:a,baseUrl:f,path:o,auth:!1,headers:i,queryParameters:r,pathParameters:t,messages:l,availability:this.context.getAvailability({node:this.channel,breadcrumbs:this.breadcrumbs}),docs:this.channel.description,examples:[],v2Examples:{autogeneratedExamples:{},userSpecifiedExamples:this.convertExamples({fullPath:s,baseUrl:f,asyncApiVersion:"v3"})}},audiences:c,inlinedTypes:this.inlinedTypes}}convertChannelParameters({pathParameters:t,queryParameters:r,headers:i,channelPath:n}){for(let a of Object.values(this.channel.parameters??{})){let u=this.context.resolveMaybeReference({schemaOrReference:a,breadcrumbs:[...this.breadcrumbs,"parameters"]});if(u==null)continue;let l=this.convertChannelParameterLocation(a.location);if(l==null)continue;let{type:f,parameterKey:s}=l,c=new z_i({context:this.context,breadcrumbs:this.breadcrumbs,parameter:{...u,name:s,in:f},parameterNamePrefix:this.channelPath}).convert();if(c!=null)switch(this.inlinedTypes={...this.inlinedTypes,...c.inlinedTypes},c.type){case"path":t.push(c.parameter);break;case"query":r.push(c.parameter);break;case"header":i.push(c.parameter);break}}}convertChannelParameterLocation(t){try{let[r,i]=t.split("#/");if(r==null||i==null){this.context.errorCollector.collect({message:`Invalid location format: ${t}; unable to parse message type and parameter key`,path:this.breadcrumbs});return}if(!r.startsWith(aZs)){this.context.errorCollector.collect({message:`Invalid location format: ${t}; expected ${aZs} prefix`,path:this.breadcrumbs});return}let n=r.substring(aZs.length);if(n!=="header"&&n!=="path"&&n!=="payload"){this.context.errorCollector.collect({message:`Invalid message type: ${n}. Must be one of: header, path, payload`,path:this.breadcrumbs});return}return n==="payload"?{type:"query",parameterKey:i}:{type:n,parameterKey:i}}catch{this.context.errorCollector.collect({message:`Invalid location format: ${t}; see here for more details: https://www.asyncapi.com/docs/reference/specification/v3.0.0#runtimeExpression`,path:this.breadcrumbs});return}}resolveChannelServersFromReference(t){if(t==null||t.length===0||t[0]==null)return;let r=t[0];if(!r.$ref.startsWith(CXp)){this.context.errorCollector.collect({message:`Failed to resolve server name from server ref ${r.$ref}`,path:this.breadcrumbs});return}let i=r.$ref.substring(CXp.length);if(i==null){this.context.errorCollector.collect({message:`Failed to find server with name ${i}`,path:this.breadcrumbs});return}return i}getChannelPathFromOperation(t){if(!t.channel.$ref.startsWith(TXp))throw new Error(`Failed to resolve channel path from operation ${t.channel.$ref}`);return t.channel.$ref.substring(TXp.length)}};var YFo=class extends SMn{constructor({context:t,breadcrumbs:r,servers:i}){super({context:t,breadcrumbs:r,servers:i})}buildSingleBaseUrlEnvironment(t,r,i){return{id:r,name:t.casingsGenerator.generateName(r),url:this.constructServerUrl(i.protocol,i.host),docs:void 0}}};var f0a=class extends RYr{constructor({context:t,breadcrumbs:r,audiences:i}){super({context:t,breadcrumbs:r,audiences:i})}async convert(){return this.context.spec=this.removeXFernIgnores({document:this.context.spec}),this.context.spec=await this.resolveAllExternalRefs({spec:this.context.spec}),this.isAsyncAPIV3(this.context)?this.convertChannelMessages():this.convertComponentMessages(),this.convertSchemas(),this.convertServers(),this.convertChannels(),this.finalizeIr()}isAsyncAPIV3(t){return parseFloat(t.spec.asyncapi)>=3}convertChannelMessages(){let t=this.context.spec;for(let[r,i]of Object.entries(t.channels??{}))for(let[n,a]of Object.entries(i.messages??{})){if(!this.context.isMessageWithPayload(a)&&!this.context.isReferenceObject(a))continue;let u=["channels",r,"messages",n],l=this.context.resolveMaybeReference({schemaOrReference:a,breadcrumbs:u});if(!this.context.isMessageWithPayload(l))continue;let f=this.context.resolveMaybeReference({schemaOrReference:l.payload,breadcrumbs:u});if(f==null)continue;let s=`${r}_${n}`;this.convertSchema({id:s,breadcrumbs:u,schema:f})}}convertComponentMessages(){for(let[t,r]of Object.entries(this.context.spec.components?.messages??{})){if(r.payload==null)continue;let i=["components","messages",t],n=this.context.resolveMaybeReference({schemaOrReference:r.payload,breadcrumbs:i});n!=null&&this.convertSchema({id:t,breadcrumbs:i,schema:n})}}convertSchemas(){for(let[t,r]of Object.entries(this.context.spec.components?.schemas??{}))this.convertSchema({id:t,breadcrumbs:["components","schemas",t],schema:r})}convertSchema({id:t,breadcrumbs:r,schema:i}){let a=new bA.SchemaConverters.SchemaConverter({context:this.context,id:t,breadcrumbs:r,schema:i}).convert();a!=null&&(this.addTypeToRootPackage(t),this.addTypesToIr({...a.inlinedTypes,[t]:a.convertedSchema}))}convertServers(){let t;if(this.isAsyncAPIV3(this.context)){let r=this.context.spec.servers;t=new YFo({context:this.context,breadcrumbs:["servers"],servers:r}).convert()}else{let r=this.context.spec.servers;t=new JFo({context:this.context,breadcrumbs:["servers"],servers:r}).convert()}this.addEnvironmentsToIr({environmentConfig:t})}convertChannels(){for(let[t,r]of Object.entries(this.context.spec.channels??{})){let n=new eW.SdkGroupNameExtension({breadcrumbs:["channels",t],operation:r,context:this.context}).convert()?.groups,a;if(this.isAsyncAPIV3(this.context)){let l=this.context.spec.operations??{};a=new KFo({context:this.context,breadcrumbs:["channels",t],websocketGroup:n,channel:r,channelPath:t,operations:l}).convert()}else a=new QFo({context:this.context,breadcrumbs:["channels",t],websocketGroup:n,channel:r,channelPath:t}).convert();a!=null&&(this.addWebsocketChannelToIr({websocketChannel:a.channel,channelPath:t,audiences:a.audiences,websocketGroup:n}),this.addTypesToIr(a.inlinedTypes))}}};var d0a=class extends o4{isReferenceObject(t){return t!=null&&typeof t=="object"&&"$ref"in t}isMessageWithPayload(t){return t!=null&&typeof t=="object"&&"payload"in t}getTypeIdFromMessageReference(t){let r=t.$ref.match(/\/messages\/(.+)$/);if(!(!r||!r[1]))return r[1]}convertReferenceToTypeReference({reference:t,breadcrumbs:r}){let i,n=t.$ref.match(/^.*\/schemas\/(.+)$/),a=t.$ref.match(/^.*\/channels\/([^/]+)\/messages\/(.+)$/),u=t.$ref.match(/^.*\/messages\/(.+)$/);if(n&&n[1])i=n[1];else if(a&&a[2]){let f=a[1],s=a[2];i=`${f}_${s}`}else u&&u[1]&&(i=u[1]);if(i==null)return{ok:!1};let l=this.resolveReference({reference:t,breadcrumbs:r});return l.resolved?{ok:!0,reference:Gf.named({fernFilepath:this.createFernFilepath(),name:this.casingsGenerator.generateName(i),typeId:i,displayName:l.value.title??void 0,default:void 0,inline:!1})}:{ok:!1}}};var IXp=oi(oZs(),1);var lZs=oi(oZs(),1);var BXp=["get","post","put","delete","patch"];var XFo=class extends oj{operation;key="x-fern-idempotent";constructor({breadcrumbs:t,operation:r,context:i}){super({breadcrumbs:t,context:i}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t!=null){if(typeof t!="boolean"){this.context.errorCollector.collect({message:"Received unexpected non-boolean value for x-fern-idempotent",path:this.breadcrumbs});return}return t}}};var oJD=pu.object({cursor:pu.string(),next_cursor:pu.string(),results:pu.string()}),uJD=pu.object({offset:pu.string(),results:pu.string(),step:pu.string().optional(),"has-next-page":pu.string().optional()}),uZs=pu.union([pu.boolean(),oJD,uJD]);var sZs="$request.",ZFo="$response.",kFo=class extends oj{operation;document;key="x-fern-pagination";constructor({breadcrumbs:t,operation:r,document:i,context:n}){super({breadcrumbs:t,context:n}),this.operation=r,this.document=i}convert(){let t=this.getExtensionValue(this.operation);if(t==null)return;let r=uZs.safeParse(t);if(!r.success){this.context.errorCollector.collect({message:`Invalid x-fern-pagination extension: ${r.error.message}`,path:this.breadcrumbs});return}if(typeof r.data=="boolean"){let i=this.getExtensionValue(this.document);if(i==null)return;if(typeof i=="boolean"){this.context.errorCollector.collect({message:"Global pagination extension is a boolean, expected an object. Only endpoints may declare a boolean for x-fern-pagination.",path:this.breadcrumbs});return}let n=uZs.safeParse(i);if(!n.success){this.context.errorCollector.collect({message:`Invalid x-fern-pagination extension: ${n.error.message}`,path:this.breadcrumbs});return}if(typeof n.data=="boolean"){this.context.errorCollector.collect({message:"Global pagination extension is a boolean, expected an object.",path:this.breadcrumbs});return}return this.convertPaginationConfig({config:n.data})}if(typeof r.data=="boolean"){this.context.errorCollector.collect({message:"Pagination extension is a boolean with no global configuration.",path:this.breadcrumbs});return}return this.convertPaginationConfig({config:r.data})}convertPaginationConfig({config:t}){let r=t;if("cursor"in r)return{type:"cursor",cursor:o4.maybeTrimPrefix(r.cursor,sZs),nextCursor:o4.maybeTrimPrefix(r.next_cursor,ZFo),results:o4.maybeTrimPrefix(r.results,ZFo)};let i=t;return{type:"offset",offset:o4.maybeTrimPrefix(i.offset,sZs),results:o4.maybeTrimPrefix(i.results,ZFo),step:i.step!=null?o4.maybeTrimPrefix(i.step,sZs):void 0,hasNextPage:i["has-next-page"]!=null?o4.maybeTrimPrefix(i["has-next-page"],ZFo):void 0}}};var sJD="$request.",cJD=pu.object({"stream-condition":pu.string().optional(),format:pu.enum(["sse","json"]).optional(),"stream-description":pu.string().optional(),"response-stream":pu.any(),response:pu.any()}),lJD=pu.union([pu.boolean(),cJD]),DMn=class extends oj{operation;key="x-fern-streaming";constructor({breadcrumbs:t,operation:r,context:i}){super({breadcrumbs:t,context:i}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t==null)return;let r=lJD.safeParse(t);if(!r.success){this.context.errorCollector.collect({message:`Invalid x-fern-streaming extension: ${r.error.message}`,path:this.breadcrumbs});return}if(typeof r.data=="boolean")return r.data?{type:"stream",format:"json"}:void 0;if(r.data["stream-condition"]==null&&r.data.format!=null)return{type:"stream",format:r.data.format};if(r.data["stream-condition"]==null){this.context.errorCollector.collect({message:"Missing stream-condition property without specified format.",path:this.breadcrumbs});return}return{type:"streamCondition",format:r.data.format??"json",streamDescription:r.data["stream-description"],streamConditionProperty:o4.maybeTrimPrefix(r.data["stream-condition"],sJD),responseStream:r.data["response-stream"],response:r.data.response}}};var e3o=class extends oj{operation;key="x-fern-webhook";constructor({breadcrumbs:t,operation:r,context:i}){super({breadcrumbs:t,context:i}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t!=null){if(typeof t!="boolean"){this.context.errorCollector.collect({message:"Received unexpected non-boolean value for x-fern-webhook",path:this.breadcrumbs});return}return t}}};var t3o=class extends oj{operation;key="x-fern-examples";constructor({context:t,breadcrumbs:r,operation:i}){super({breadcrumbs:r,context:t}),this.operation=i}convert(){let t=this.getExtensionValue(this.operation);return t==null?void 0:(Array.isArray(t)?t:[]).filter(n=>{let a=gF.serialization.ExampleEndpointCallSchema.parse(n);return a.ok||this.context.errorCollector.collect({message:`Failed to parse x-fern-example in ${this.breadcrumbs.join(".")}`,path:this.breadcrumbs}),a.ok})}};var r3o=class extends bA.AbstractConverters.AbstractParameterConverter{constructor({context:t,breadcrumbs:r,parameter:i}){super({context:t,breadcrumbs:r,parameter:i})}convert(){let t,r={};if(this.parameter.schema!=null){let n=new bA.SchemaConverters.SchemaOrReferenceConverter({context:this.context,breadcrumbs:[...this.breadcrumbs,"schema"],schemaOrReference:this.parameter.schema,wrapAsOptional:this.parameter.required==null||!this.parameter.required}).convert();n!=null&&(t=n.type,r=n.inlinedTypes??{})}return this.convertToOutput({schema:this.parameter.schema??{type:"string"},typeReference:t,inlinedTypes:r})}};var i3o=class extends bA.AbstractConverters.AbstractMediaTypeObjectConverter{requestBody;constructor({context:t,breadcrumbs:r,requestBody:i,group:n,method:a}){super({context:t,breadcrumbs:r,group:n,method:a}),this.requestBody=i}convert(){if(!this.requestBody.content)return;let t=Object.keys(this.requestBody.content).filter(u=>JE.parse(u)?.isJSON());for(let u of t){let l=this.handleJsonOrFormContent({contentType:u});if(l!=null)return l}let r=Object.keys(this.requestBody.content).filter(u=>JE.parse(u)?.isURLEncoded());for(let u of r){let l=this.handleJsonOrFormContent({contentType:u});if(l!=null)return l}let i=Object.keys(this.requestBody.content).filter(u=>JE.parse(u)?.isPlainText());for(let u of i){let l=this.handleJsonOrFormContent({contentType:u});if(l!=null)return l}let n=Object.keys(this.requestBody.content).filter(u=>JE.parse(u)?.isMultipart());for(let u of n){let l=this.handleMultipartContent({contentType:u});if(l!=null)return l}let a=Object.keys(this.requestBody.content).filter(u=>JE.parse(u)?.isOctetStream());for(let u of a){let l=this.handleOctetStreamContent({contentType:u});if(l!=null)return l}}handleJsonOrFormContent({contentType:t}){let r=[...this.group,this.method,"Request"].join("_"),i=this.requestBody.content[t],n=this.parseMediaTypeObject({mediaTypeObject:i,schemaId:r,contentType:t});if(n!=null)return n.schema?.typeDeclaration.shape.type==="object"?{requestBody:pC.inlinedRequestBody({contentType:t,docs:this.requestBody.description,name:this.context.casingsGenerator.generateName(r),extendedProperties:n.schema?.typeDeclaration.shape.extendedProperties,extends:n.schema?.typeDeclaration.shape.extends,properties:n.schema?.typeDeclaration.shape.properties,extraProperties:n.schema?.typeDeclaration.shape.extraProperties,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:i,exampleGenerationStrategy:"request"})}),inlinedTypes:this.context.removeSchemaFromInlinedTypes({id:r,inlinedTypes:n.inlinedTypes})}:{requestBody:pC.reference({contentType:t,docs:this.requestBody.description,requestBodyType:n.type,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:i,exampleGenerationStrategy:"request"})}),inlinedTypes:n.inlinedTypes??{}}}handleMultipartContent({contentType:t}){let r=this.requestBody.content[t],i=[...this.group,this.method,"Request"].join("_");if(r==null||r.schema==null)return;let n=this.parseMediaTypeObject({mediaTypeObject:r,schemaId:i,resolveSchema:!0,contentType:t});if(n!=null&&n.schema?.typeDeclaration.shape.type==="object")return{requestBody:pC.fileUpload({contentType:t,docs:this.requestBody.description,name:this.context.casingsGenerator.generateName(i),properties:n.schema?.typeDeclaration.shape.properties.map(u=>this.convertRequestBodyProperty({property:u,contentType:t})),v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:r,exampleGenerationStrategy:"request"})}),inlinedTypes:this.context.removeSchemaFromInlinedTypes({id:i,inlinedTypes:n.inlinedTypes}),examples:n.examples}}handleOctetStreamContent({contentType:t}){let r=this.requestBody.content[t],i=[...this.group,this.method,"Request"].join("_"),n=this.parseMediaTypeObject({mediaTypeObject:r,schemaId:i,contentType:t});return{requestBody:pC.bytes({contentType:t,isOptional:this.requestBody.required===!1,docs:this.requestBody.description,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:r,exampleGenerationStrategy:"request"})}),inlinedTypes:n?.inlinedTypes??{}}}convertRequestBodyProperty({property:t,contentType:r}){let{isFile:i,isOptional:n,isArray:a}=this.recursivelyCheckTypeReferenceIsFile({typeReference:t.valueType});return i?a?M5.file(_ie.fileArray({key:t.name,isOptional:n,contentType:r,docs:t.docs})):M5.file(_ie.file({key:t.name,isOptional:n,contentType:r,docs:t.docs})):M5.bodyProperty({...t,contentType:r,style:void 0,name:t.name})}recursivelyCheckTypeReferenceIsFile({typeReference:t,isOptional:r,isArray:i}){return this.context.isList(t)?this.recursivelyCheckTypeReferenceIsFile({typeReference:t.container.list,isOptional:r,isArray:!0}):this.context.isOptional(t)?this.recursivelyCheckTypeReferenceIsFile({typeReference:t.container.optional,isOptional:!0,isArray:i}):this.context.isNullable(t)?this.recursivelyCheckTypeReferenceIsFile({typeReference:t.container.nullable,isOptional:r,isArray:i}):this.context.isFile(t)?{isFile:!0,isOptional:r??!1,isArray:i??!1}:{isFile:!1,isOptional:r??!1,isArray:i??!1}}};var n3o=class extends bA.AbstractConverters.AbstractMediaTypeObjectConverter{responseBody;statusCode;streamingExtension;constructor({context:t,breadcrumbs:r,responseBody:i,group:n,method:a,statusCode:u,streamingExtension:l}){super({context:t,breadcrumbs:r,group:n,method:a}),this.responseBody=i,this.statusCode=u,this.streamingExtension=l}convert(){let t=[...this.group,this.method,"Response",this.statusCode].join("_"),r=Object.keys(this.responseBody.content??{}).filter(n=>n.includes("json"));for(let n of r){let a=this.responseBody.content?.[n],u=this.parseMediaTypeObject({mediaTypeObject:a,schemaId:t,contentType:n});if(u!=null){if(this.streamingExtension!=null)return this.convertStreamingResponse({mediaTypeObject:a,convertedSchema:u});if(n.includes("json"))return this.returnJsonResponse({mediaTypeObject:a,convertedSchema:u})}}let i=Object.keys(this.responseBody.content??{}).filter(n=>!n.includes("json"));for(let n of i){let a=this.responseBody.content?.[n],u=this.parseMediaTypeObject({mediaTypeObject:a,schemaId:t,contentType:n});if(u!=null){if(this.isBinarySchema(u))return this.context.settings?.useBytesForBinaryResponse&&this.streamingExtension==null?this.returnBytesResponse({mediaTypeObject:a}):this.returnFileDownloadResponse({mediaTypeObject:a});if(JE.parse(n)?.isText())return this.returnTextResponse({mediaTypeObject:a})}}}convertStreamingResponse({mediaTypeObject:t,convertedSchema:r}){if(this.streamingExtension==null)return;switch(this.streamingExtension.format){case"json":return{responseBody:GD.streaming(pV.json({docs:this.responseBody.description,payload:r.type,terminator:void 0,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})})),streamResponseBody:void 0,inlinedTypes:{},examples:{}};case"sse":return{responseBody:GD.streaming(pV.sse({docs:this.responseBody.description,payload:r.type,terminator:void 0,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})})),streamResponseBody:void 0,inlinedTypes:{},examples:{}};default:return}}returnJsonResponse({mediaTypeObject:t,convertedSchema:r}){return{responseBody:GD.json(uX.response({responseBodyType:r.type,docs:this.responseBody.description,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})})),streamResponseBody:void 0,inlinedTypes:r.inlinedTypes,examples:r.examples}}returnBytesResponse({mediaTypeObject:t}){return{responseBody:GD.bytes({docs:this.responseBody.description,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})}),streamResponseBody:void 0,inlinedTypes:{}}}returnFileDownloadResponse({mediaTypeObject:t}){return{responseBody:GD.fileDownload({docs:this.responseBody.description,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})}),streamResponseBody:void 0,inlinedTypes:{}}}returnTextResponse({mediaTypeObject:t}){return{responseBody:GD.text({docs:this.responseBody.description,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})}),streamResponseBody:void 0,inlinedTypes:{}}}isBinarySchema(t){let r=t.type;switch(r.type){case"container":case"named":case"unknown":return!1;case"primitive":return r.primitive.v2==null?!1:r.primitive.v2.type==="string"&&r.primitive.v2.validation?.format==="binary";default:return!1}}};var a3o=class extends bA.AbstractConverters.AbstractMediaTypeObjectConverter{responseError;statusCode;methodName;constructor({context:t,breadcrumbs:r,responseError:i,group:n,method:a,methodName:u,statusCode:l}){super({context:t,breadcrumbs:r,group:n,method:a}),this.responseError=i,this.statusCode=l,this.methodName=u}convert(){if(!this.responseError.content){let i=l0a[this.statusCode];if(i==null){this.context.logger.warn(`No error name found for status code ${this.statusCode}`);return}let n=this.context.enableUniqueErrorsPerEndpoint?cZs(`${this.methodName}Request${i}`):i;return{error:{error:{name:this.context.casingsGenerator.generateName(n),fernFilepath:{allParts:[],packagePath:[],file:void 0},errorId:n},docs:this.responseError.description},errorType:Gf.unknown(),displayName:i,statusCode:this.statusCode,inlinedTypes:{},examples:{}}}let t=Object.keys(this.responseError.content).filter(i=>i.includes("json")),r=l0a[this.statusCode];if(r==null){this.context.logger.warn(`No error name found for status code ${this.statusCode}`);return}for(let i of[...t]){let n=this.responseError.content?.[i],a=this.parseMediaTypeObject({mediaTypeObject:n,schemaId:cZs(`${this.methodName}Request${r}`),contentType:i});if(a==null)continue;let u=this.context.enableUniqueErrorsPerEndpoint?cZs(`${this.methodName}Request${r}`):r;if(a.schema!=null)return{error:{error:{name:this.context.casingsGenerator.generateName(u),fernFilepath:a.schema.typeDeclaration.name.fernFilepath,errorId:u},docs:this.responseError.description},errorType:a.type,displayName:r,statusCode:this.statusCode,inlinedTypes:a.inlinedTypes,examples:a.examples};if(a.type.type==="named")return{error:{error:{name:this.context.casingsGenerator.generateName(u),fernFilepath:a.type.fernFilepath,errorId:u},docs:this.responseError.description},errorType:a.type,displayName:r,statusCode:this.statusCode,inlinedTypes:a.inlinedTypes,examples:a.examples}}}};function cZs(e){return e.length===0?e:e.charAt(0).toUpperCase()+e.slice(1)}var fJD=/{([^}]+)}/g,dJD=new Set(["user-agent","content-length","content-type","x-forwarded-for","cookie","origin","content-disposition","x-ping-custom-domain"]),EMn=class extends M0{operation;method;path;inlinedTypes={};constructor({context:t,breadcrumbs:r,operation:i,method:n,path:a}){super({context:t,breadcrumbs:r}),this.operation=i,this.method=n,this.path=a}convertHttpMethod(){switch(this.method){case"get":return B7.Get;case"post":return B7.Post;case"put":return B7.Put;case"delete":return B7.Delete;case"patch":return B7.Patch;default:return}}convertParameters({breadcrumbs:t}){let r=[],i=[],n=[];if(!this.operation.parameters)return this.checkMissingPathParameters(r),{pathParameters:r,queryParameters:i,headers:n};for(let a of this.operation.parameters){let u=this.context.resolveMaybeReference({schemaOrReference:a,breadcrumbs:t});if(u==null)continue;let f=new r3o({context:this.context,breadcrumbs:t,parameter:u}).convert();if(f!=null)switch(this.inlinedTypes={...this.inlinedTypes,...f.inlinedTypes},f.type){case"path":r.push(f.parameter);break;case"query":i.push(f.parameter);break;case"header":{let s=f.parameter.name.name.originalName,o=f.parameter.name.wireValue,c=!1,b=this.context.authOverrides?.["auth-schemes"];if(b!=null){for(let g of Object.values(b))if(yJD(g)&&g.header.toLowerCase()===o.toLowerCase()){c=!0;break}}!dJD.has(s.toLowerCase())&&!c&&n.push(f.parameter);break}}}return this.checkMissingPathParameters(r),{pathParameters:r,queryParameters:i,headers:n}}checkMissingPathParameters(t){let i=[...this.path.matchAll(fJD)].map(n=>n[1]).filter(n=>!t.some(a=>a.name.originalName===n));for(let n of i){if(n==null)continue;let a=`${n}_example`;t.push({name:this.context.casingsGenerator.generateName(n),valueType:M0.STRING,docs:void 0,location:"ENDPOINT",variable:void 0,v2Examples:{userSpecifiedExamples:{},autogeneratedExamples:{[a]:this.generateStringParameterExample({example:n})}}})}}convertRequestBody({breadcrumbs:t,group:r,method:i}){if(this.operation.requestBody==null)return;let n=this.context.resolveMaybeReference({schemaOrReference:this.operation.requestBody,breadcrumbs:t});if(n==null)return null;let u=new i3o({context:this.context,breadcrumbs:t,requestBody:n,group:r??[],method:i}).convert();if(u!=null)return this.inlinedTypes={...this.inlinedTypes,...u.inlinedTypes},{value:u.requestBody,examples:u.examples}}convertResponseBody({breadcrumbs:t,group:r,method:i,streamingExtension:n}){if(this.operation.responses==null)return;let a,u=!1;for(let[l,f]of Object.entries(this.operation.responses)){let s=parseInt(l);if(!(isNaN(s)||s<200||s>=300&&s<400)){if(a==null&&(a={response:void 0,streamResponse:void 0,errors:[],examples:{}}),s>=200&&s<300&&!u){let o=this.context.resolveMaybeReference({schemaOrReference:f,breadcrumbs:[...t,l]});if(o==null)continue;let b=new n3o({context:this.context,breadcrumbs:[...t,l],responseBody:o,group:r??[],method:i,statusCode:l,streamingExtension:n}).convert();b!=null&&(u=!0,this.inlinedTypes={...this.inlinedTypes,...b.inlinedTypes},a.response={statusCode:s,body:b.responseBody},a.streamResponse={statusCode:s,body:b.streamResponseBody})}if(s>=400&&s<600){let o=this.context.resolveMaybeReference({schemaOrReference:f,breadcrumbs:[...t,l]});if(o==null)continue;let b=new a3o({context:this.context,breadcrumbs:[...t,l],responseError:o,group:r??[],method:i,methodName:this.evaluateMethodNameFromOperation(),statusCode:s}).convert();b!=null&&(this.inlinedTypes={...this.inlinedTypes,...b.inlinedTypes},a.errors.push(b))}}}return a}computeGroupNameAndLocationFromExtensions(){let r=new eW.SdkMethodNameExtension({breadcrumbs:this.breadcrumbs,operation:this.operation,context:this.context}).convert()?.methodName,n=new eW.SdkGroupNameExtension({breadcrumbs:this.breadcrumbs,operation:this.operation,context:this.context}).convert()?.groups??[];if(r!=null)return{group:n,method:r}}evaluateMethodNameFromOperation(){let t=this.operation.operationId;return t??(this.operation.summary!=null?L_(this.operation.summary):L_(`${this.method}_${this.path.split("/").join("_")}`))}computeGroupNameFromTagAndOperationId(){let t=this.operation.tags?.[0],r=this.evaluateMethodNameFromOperation();if(t==null)return{method:r};let i=xXp(t),n=xXp(r);return ESe(i,n)?{method:t}:this.computeGroupAndMethodFromTokens({tag:t,tagTokens:i,methodName:r,methodNameTokens:n})}computeGroupAndMethodFromTokens({tag:t,tagTokens:r,methodName:i,methodNameTokens:n}){if(r.some((l,f)=>l!==n[f]))return{group:[t],method:i};let u=n.slice(r.length);return{group:[t],method:L_(u.join("_"))}}generateStringParameterExample({example:t}){let r=new bA.ExampleConverter({breadcrumbs:this.breadcrumbs,context:this.context,schema:{type:"string"},example:t}),{validExample:i}=r.convert();return i}};function xXp(e){let t=pJD(e)?_JD(e):hJD(e);return t=t.map(r=>r.toLowerCase()),t=_xe(t),t}function pJD(e){return/^[a-z]+(?:[A-Z][a-z]+)*$/.test(e)}function _JD(e){return e.split(/(?=[A-Z])/)}function hJD(e){return e.split(/[^a-zA-Z0-9]+/)}function yJD(e){return e?.header!=null}var o3o=class e extends EMn{idempotent;streamingExtensionConverter;idToAuthScheme;topLevelServers;static AUTHORIZATION_HEADER="Authorization";constructor({context:t,breadcrumbs:r,operation:i,method:n,path:a,idempotent:u,idToAuthScheme:l,topLevelServers:f}){super({context:t,breadcrumbs:r,operation:i,method:n,path:a}),this.idempotent=u,this.idToAuthScheme=l,this.topLevelServers=f,this.streamingExtensionConverter=new DMn({breadcrumbs:this.breadcrumbs,operation:this.operation,context:this.context})}convert(){let t=this.convertHttpMethod();if(t==null)return;let{group:r,method:i}=this.computeGroupNameAndLocationFromExtensions()??this.computeGroupNameFromTagAndOperationId(),n=this.streamingExtensionConverter.convert(),{headers:a,pathParameters:u,queryParameters:l}=this.convertParameters({breadcrumbs:[...this.breadcrumbs,"parameters"]}),f=this.convertRequestBody({breadcrumbs:[...this.breadcrumbs,"requestBody"],group:r,method:i}),s=f?.value,o=this.convertResponseBody({breadcrumbs:[...this.breadcrumbs,"responses"],group:r,method:i,streamingExtension:n}),c=o?.response,b=o?.streamResponse,g=o!=null?o.errors:[],O={},m=g.map(x=>x.error),P=pN(this.path),E=this.getEndpointBaseUrl(),A=this.convertExamples({httpPath:P,httpMethod:t,baseUrl:E}),M=new Set(this.operation.security?.flatMap(x=>Object.keys(x))??[]),D=this.authSchemeToHeaders(Array.from(M));D.length>0&&a.push(...D);for(let x of g){let L=x.error,V=x.errorType,X=L.error.errorId;O[X]={name:L.error,displayName:x.displayName,discriminantValue:{name:L.error.name,wireValue:X},type:V,statusCode:x.statusCode,docs:L.docs,examples:[],v2Examples:void 0}}let T={displayName:this.operation.summary,method:t,name:this.context.casingsGenerator.generateName(i),baseUrl:E,path:P,pathParameters:u,queryParameters:l,headers:a.filter((x,L,V)=>L===V.findIndex(X=>X.name.wireValue===x.name.wireValue)),requestBody:s,sdkRequest:void 0,errors:m,auth:this.operation.security!=null||this.context.spec.security!=null,availability:this.context.getAvailability({node:this.operation,breadcrumbs:this.breadcrumbs}),docs:this.operation.description,userSpecifiedExamples:[],autogeneratedExamples:[],idempotent:this.idempotent??!1,basePath:void 0,fullPath:P,allPathParameters:u,pagination:void 0,transport:void 0,v2Examples:{autogeneratedExamples:{},userSpecifiedExamples:A},source:pie.openapi()},z=this.context.namespace!=null?[this.context.namespace]:[],$=r?.map(x=>L_(x));return z.push(...$??[]),{audiences:this.context.getAudiences({operation:this.operation,breadcrumbs:this.breadcrumbs})??[],group:r,errors:O,endpoint:{id:`endpoint_${z.join("/")}.${i}`,...T,response:c},streamEndpoint:b!=null&&b.body!=null?{id:`endpoint_${z.join("/")}.${i}_stream`,...T,response:b}:void 0,inlinedTypes:this.inlinedTypes,servers:this.filterOutTopLevelServers(this.operation.servers??[])}}authSchemeToHeaders(t){let r=[];for(let i of t){let n=this.idToAuthScheme?.[i];if(n==null)continue;let a={valueType:M0.STRING,availability:void 0,docs:void 0,env:void 0,v2Examples:void 0};switch(n.type){case"bearer":r.push({name:{name:this.context.casingsGenerator.generateName(e.AUTHORIZATION_HEADER),wireValue:e.AUTHORIZATION_HEADER},...a});break;case"basic":r.push({name:{name:this.context.casingsGenerator.generateName(e.AUTHORIZATION_HEADER),wireValue:e.AUTHORIZATION_HEADER},...a});break;case"header":r.push({name:n.name,...a});break}}return r}convertExamples({httpPath:t,httpMethod:r,baseUrl:i}){let a=new t3o({context:this.context,breadcrumbs:this.breadcrumbs,operation:this.operation}).convert();return a==null?{}:Object.fromEntries(a.map((u,l)=>[u.id??l.toString(),{request:{docs:void 0,endpoint:{method:r,path:this.buildExamplePath(t,u["path-parameters"]??{})},baseUrl:void 0,environment:i,auth:void 0,pathParameters:u["path-parameters"]??{},queryParameters:u["query-parameters"]??{},headers:u.headers??{},requestBody:u.request},response:{docs:void 0,statusCode:void 0,body:Hs.V2HttpEndpointResponseBody.json(u.response)},codeSamples:u["code-samples"]?.map(f=>({docs:void 0,language:("language"in f?f.language:f.sdk)??void 0,code:f.code}))}]))}getEndpointBaseUrl(){let t=this.operation.servers?.[0];if(t==null)return;let i=this.topLevelServers?.find(n=>n.url===t.url)??t;return LZt.getServerName({server:i,context:this.context})}buildExamplePath(t,r){return t.head+t.parts.map(i=>`${r[i.pathParameter]??i.pathParameter}${i.tail}`).join("")}filterOutTopLevelServers(t){return t.filter(r=>!this.topLevelServers?.some(i=>i.url===r.url))}};var MMn=class extends EMn{constructor({context:t,breadcrumbs:r,operation:i,method:n,path:a}){super({context:t,breadcrumbs:r,operation:i,method:n,path:a})}convert(){if(this.operation.requestBody==null){this.context.errorCollector.collect({message:"Skipping webhook because no request body present",path:this.breadcrumbs});return}let t=this.convertHttpMethod();if(t==null)return;if(t!=="POST"&&t!=="GET"){this.context.errorCollector.collect({message:"Skipping webhook because non-POST or GET method",path:this.breadcrumbs});return}let{group:r,method:i}=this.computeGroupNameAndLocationFromExtensions()??this.computeGroupNameFromTagAndOperationId(),n=[...this.breadcrumbs,"Payload"],{headers:a}=this.convertParameters({breadcrumbs:n}),u=this.convertRequestBody({breadcrumbs:n,group:r,method:i}),l;if(u?.value.type==="inlinedRequestBody")l=hV.inlinedPayload({name:u.value.name,extends:u.value.extends,properties:u.value.properties});else if(u?.value.type==="reference")l=hV.reference({payloadType:u.value.requestBodyType,docs:u.value.docs});else return;return{audiences:this.context.getAudiences({operation:this.operation,breadcrumbs:this.breadcrumbs})??[],group:r,webhook:{id:`${r?.join(".")??""}.${i}`,name:this.context.casingsGenerator.generateName(i),displayName:this.operation.summary,method:t,headers:a,payload:l,examples:[],availability:this.context.getAvailability({node:this.operation,breadcrumbs:this.breadcrumbs}),docs:this.operation.description,v2Examples:void 0},inlinedTypes:this.inlinedTypes}}};var u3o=class extends M0{pathItem;path;idToAuthScheme;topLevelServers;constructor({context:t,breadcrumbs:r,pathItem:i,path:n,idToAuthScheme:a,topLevelServers:u}){super({context:t,breadcrumbs:r}),this.pathItem=i,this.path=n,this.idToAuthScheme=a,this.topLevelServers=u}convert(){let t=[],r=[],i={};for(let n of BXp){let a=this.pathItem[n];if(a==null)continue;let u=[...this.breadcrumbs,n],l=this.tryParseAsWebhook({operationBreadcrumbs:u,operation:a,method:n,context:this.context});if(l!=null){r.push(l),Object.assign(i,l.inlinedTypes);continue}new DMn({breadcrumbs:u,operation:a,context:this.context}).convert()!=null;let o=this.tryParseAsHttpEndpoint({operationBreadcrumbs:u,operation:a,method:n});o!=null&&(t.push(o),Object.assign(i,o.inlinedTypes))}return{endpoints:t,webhooks:r,inlinedTypes:i}}tryParseAsWebhook({operation:t,method:r,operationBreadcrumbs:i,context:n}){return new e3o({breadcrumbs:i,operation:t,context:n}).convert()?new MMn({context:this.context,breadcrumbs:i,operation:t,method:lZs.OpenAPIV3.HttpMethods[r.toUpperCase()],path:this.path}).convert():void 0}tryParseAsHttpEndpoint({operation:t,method:r,operationBreadcrumbs:i}){new kFo({breadcrumbs:i,operation:t,document:this.context.spec,context:this.context}).convert()!=null;let l=new XFo({breadcrumbs:i,operation:t,context:this.context}).convert();return new o3o({context:this.context,breadcrumbs:i,operation:t,method:lZs.OpenAPIV3.HttpMethods[r.toUpperCase()],path:this.path,idempotent:l,idToAuthScheme:this.idToAuthScheme,topLevelServers:this.topLevelServers}).convert()}};var s3o=class extends M0{securityScheme;constructor({context:t,breadcrumbs:r,securityScheme:i}){super({context:t,breadcrumbs:r}),this.securityScheme=i}convert(){switch(this.securityScheme.type){case"http":{if(this.securityScheme.scheme==="bearer")return GC.bearer({token:this.context.casingsGenerator.generateName("token"),tokenEnvVar:void 0,docs:this.securityScheme.description});if(this.securityScheme.scheme==="basic")return GC.basic({username:this.context.casingsGenerator.generateName("username"),password:this.context.casingsGenerator.generateName("password"),usernameEnvVar:void 0,passwordEnvVar:void 0,docs:this.securityScheme.description});break}case"apiKey":{if(this.securityScheme.in==="header")return GC.header({name:{name:this.context.casingsGenerator.generateName(this.securityScheme.name),wireValue:this.securityScheme.name},valueType:M0.OPTIONAL_STRING,prefix:void 0,headerEnvVar:void 0,docs:this.securityScheme.description});break}case"oauth2":return GC.bearer({token:this.context.casingsGenerator.generateName("token"),tokenEnvVar:void 0,docs:this.securityScheme.description})}}};var p0a=class extends RYr{constructor({breadcrumbs:t,context:r,audiences:i}){super({breadcrumbs:t,context:r,audiences:i})}async convert(){this.context.spec=this.removeXFernIgnores({document:this.context.spec}),this.context.spec=await this.resolveAllExternalRefs({spec:this.context.spec});let t=this.convertSecuritySchemes();this.convertSchemas(),this.convertWebhooks();let{endpointLevelServers:r,errors:i}=this.convertPaths({idToAuthScheme:t});this.addErrorsToIr(i);let{defaultUrl:n}=this.convertServers({endpointLevelServers:r});return this.updateEndpointsWithDefaultUrl(n),this.finalizeIr()}convertSecuritySchemes(){if(this.context.authOverrides)return this.addAuthToIR(ZXs({rawApiFileSchema:this.context.authOverrides,casingsGenerator:this.context.casingsGenerator})),{};let t={},r=[];for(let[i,n]of Object.entries(this.context.spec.components?.securitySchemes??{})){let a=this.context.resolveMaybeReference({schemaOrReference:n,breadcrumbs:["components","securitySchemes",i]});if(a==null)continue;let l=new s3o({context:this.context,breadcrumbs:["components","securitySchemes",i],securityScheme:a}).convert();l!=null&&(this.shouldAddSchemeToApi({authScheme:l,schemeId:i,currentSecuritySchemes:r})?r.push(l):t[i]=l)}return r.length>0&&this.addAuthToIR({requirement:r.length===1?"ALL":"ANY",schemes:r,docs:void 0}),t}convertServers({endpointLevelServers:t}){if(this.context.environmentOverrides){let n=u0a({rawApiFileSchema:this.context.environmentOverrides,casingsGenerator:this.context.casingsGenerator});return n!=null&&this.addEnvironmentsToIr({environmentConfig:n.environmentsConfig,audiences:n.audiences}),{defaultUrl:this.context.environmentOverrides["default-url"]}}let i=new LZt({context:this.context,breadcrumbs:["servers"],servers:this.context.spec.servers,endpointLevelServers:t}).convert();return this.addEnvironmentsToIr({environmentConfig:i?.value}),{defaultUrl:i?.defaultUrl}}convertSchemas(){for(let[t,r]of Object.entries(this.context.spec.components?.schemas??{})){let n=new bA.SchemaConverters.SchemaConverter({context:this.context,id:t,breadcrumbs:["components","schemas",t],schema:r}).convert();n!=null&&(this.addTypeToPackage(t),this.addTypesToIr({...n.inlinedTypes,[t]:n.convertedSchema}))}}convertWebhooks(){for(let[,t]of Object.entries(this.context.spec.webhooks??{})){if(t==null){this.context.errorCollector.collect({message:"Skipping empty webhook",path:this.breadcrumbs});continue}if(!("post"in t)){this.context.errorCollector.collect({message:"Skipping webhook as it is not a POST method",path:this.breadcrumbs});continue}if(t.post?.operationId==null){this.context.errorCollector.collect({message:"Skipping webhook as no operationId is present",path:this.breadcrumbs});continue}let r=t.post.operationId,n=new MMn({context:this.context,breadcrumbs:["webhooks",r],operation:t.post,method:IXp.OpenAPIV3.HttpMethods.POST,path:r}).convert();n!=null&&(this.addWebhookToIr({webhook:n.webhook,operationId:r,audiences:n.audiences,group:n.group}),this.addTypesToIr(n.inlinedTypes))}}convertPaths({idToAuthScheme:t}){let r=[],i={};for(let[n,a]of Object.entries(this.context.spec.paths??{})){if(a==null)continue;let l=new u3o({context:this.context,breadcrumbs:["paths",n],topLevelServers:this.context.spec.servers,pathItem:a,path:n}).convert();if(l!=null){for(let f of l.endpoints)if(this.addEndpointToIr({endpoint:f.endpoint,audiences:f.audiences,endpointGroup:f.group}),f.streamEndpoint!=null&&this.addEndpointToIr({endpoint:f.streamEndpoint,audiences:f.audiences,endpointGroup:f.group}),f.servers&&f.servers[0]!=null&&r.push(f.servers[0]),f.errors)for(let[s,o]of Object.entries(f.errors))i[s]=o;for(let f of l.webhooks){let s=this.context.getGroup({groupParts:f.group,namespace:this.context.namespace});this.addWebhookToIr({webhook:f.webhook,operationId:s.join("."),group:s,audiences:f.audiences})}this.addTypesToIr(l.inlinedTypes)}}return{endpointLevelServers:r,errors:i}}shouldAddSchemeToApi({authScheme:t,schemeId:r,currentSecuritySchemes:i}){let n=i.some(u=>u.type===t.type&&u.type==="bearer"&&t.type==="bearer"?u.token===t.token:!1),a=new Set(this.context.spec.security?.flatMap(u=>Object.keys(u))??[]);return(a.size===0||a.has(r))&&!n}};var _0a=class extends o4{isReferenceObject(t){return t!=null&&typeof t=="object"&&"$ref"in t}convertReferenceToTypeReference({reference:t,breadcrumbs:r}){let i=this.getTypeIdFromSchemaReference(t);if(i==null)return{ok:!1};let n=this.resolveReference({reference:t,breadcrumbs:r});return n.resolved?{ok:!0,reference:Gf.named({fernFilepath:{allParts:[],packagePath:[],file:void 0},name:this.casingsGenerator.generateName(i),typeId:i,default:void 0,inline:!1,displayName:n.value.title??void 0})}:{ok:!1}}};var c3o=class extends bA.AbstractConverters.AbstractParameterConverter{constructor({context:t,breadcrumbs:r,parameter:i}){super({context:t,breadcrumbs:r,parameter:i})}convert(){let t,r={};if(this.parameter.schema!=null){let n=new bA.SchemaConverters.SchemaOrReferenceConverter({context:this.context,breadcrumbs:[...this.breadcrumbs,"schema"],schemaOrReference:this.parameter.schema,wrapAsOptional:this.parameter.required==null||!this.parameter.required}).convert();n!=null&&(t=n.type,r=n.inlinedTypes??{})}return this.convertToOutput({schema:this.parameter.schema??{type:"string"},typeReference:t,inlinedTypes:r})}};var vJD=pu.object({description:pu.string().optional(),required:pu.boolean().optional(),deprecated:pu.boolean().optional(),allowEmptyValue:pu.boolean().optional(),style:pu.string().optional(),explode:pu.boolean().optional(),allowReserved:pu.boolean().optional(),schema:pu.any().optional(),example:pu.any().optional(),examples:pu.record(pu.string(),pu.any()).optional(),content:pu.record(pu.string(),pu.any()).optional()}),bJD=vJD.extend({name:pu.string(),in:pu.string()}),gJD=pu.array(bJD),l3o=class extends oj{operation;key="x-fern-parameters";constructor({breadcrumbs:t,operation:r,context:i}){super({breadcrumbs:t,context:i}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t!=null)try{return gJD.parse(t)}catch(r){this.context.errorCollector.collect({message:`Failed to parse x-fern-parameters extension: ${r instanceof Error?r.message:String(r)}`,path:this.breadcrumbs});return}}};var f3o=class extends M0{method;pathParameters;queryParameters;headers;constructor({context:t,breadcrumbs:r,method:i,pathParameters:n=[],queryParameters:a=[],headers:u=[]}){super({context:t,breadcrumbs:r}),this.method=i,this.pathParameters=n,this.queryParameters=a,this.headers=u}convert(){let t={},r="";for(let f of this.pathParameters)r+=`/{${f.name.originalName}}`;let i=pN(r),n=[];for(let[f,s]of this.method.params.entries()){let o;if(this.context.isReferenceObject(s)){let O=this.context.resolveReference({reference:s});if(O.resolved)o=O.value;else continue}else o=s;let c=[this.method.name,"Param",o.name].join("_"),g=new bA.SchemaConverters.SchemaOrReferenceConverter({breadcrumbs:[this.method.name,"Param",o.name],schemaIdOverride:c,context:this.context,schemaOrReference:o.schema}).convert();g!=null&&(n.push({docs:o.description,availability:this.context.getAvailability({node:s,breadcrumbs:[...this.breadcrumbs,"parameters"]}),name:this.context.casingsGenerator.generateNameAndWireValue({name:o.name,wireValue:o.name}),valueType:g.type,v2Examples:g.schema?.typeDeclaration.v2Examples}),t={...g.inlinedTypes,...t,...g.schema!=null?{[c]:g.schema}:{}})}let a;if(this.method.result!=null){let f=this.context.resolveMaybeReference({schemaOrReference:this.method.result,breadcrumbs:[...this.breadcrumbs,"result"]});if(f!=null){let s=new bA.SchemaConverters.SchemaOrReferenceConverter({breadcrumbs:[this.method.name,"result"],context:this.context,schemaOrReference:f.schema}),o=[this.method.name,"Result"].join("_"),c=s.convert();c!=null&&(a={docs:f.description,v2Examples:c.schema?.typeDeclaration.v2Examples,responseBodyType:c.type},t={...c.inlinedTypes,...t,...c.schema!=null?{[o]:c.schema}:{}})}}let u=this.context.getAudiences({operation:this.method,breadcrumbs:this.breadcrumbs})??[];return{endpoint:{baseUrl:void 0,basePath:void 0,auth:!1,method:"POST",id:this.method.name,docs:this.method.description,name:this.context.casingsGenerator.generateName(this.method.name),headers:this.headers,displayName:this.method.name,pathParameters:this.pathParameters,queryParameters:this.queryParameters,allPathParameters:this.pathParameters,path:i,fullPath:i,requestBody:n.length>0?pC.inlinedRequestBody({name:this.context.casingsGenerator.generateName([this.method.name,"Request"].join("_")),docs:void 0,properties:n,extends:[],extendedProperties:[],contentType:"application/json",extraProperties:!1,v2Examples:void 0}):void 0,sdkRequest:void 0,response:a!=null?{body:GD.json(uX.response(a)),statusCode:void 0}:void 0,errors:[],idempotent:!1,pagination:void 0,userSpecifiedExamples:[],autogeneratedExamples:[],v2Examples:{autogeneratedExamples:{},userSpecifiedExamples:this.convertExamples()},transport:void 0,availability:void 0,source:pie.openrpc()},audiences:u,inlinedTypes:t}}convertExamples(){let t={},r=0;if(this.method.examples&&this.method.examples.length>0){for(let i of this.method.examples??[]){let n;if(this.context.isReferenceObject(i)){let f=this.context.resolveReference({reference:i});if(f.resolved)n=f.value;else continue}else n=i;let a;if(n.result)if(this.context.isReferenceObject(n.result)){let f=this.context.resolveReference({reference:n.result});f.resolved&&(a=f.value)}else a=n.result;let u=n.name??`Example ${r+1}`,l=[];if(n.params&&Array.isArray(n.params)){l=[];for(let f of n.params)if(this.context.isReferenceObject(f)){let s=this.context.resolveReference({reference:f});if(s.resolved)l.push(s.value);else continue}else l.push(f)}t[u]={request:{docs:void 0,endpoint:{method:"POST",path:"/{apiKey}"},baseUrl:void 0,environment:void 0,auth:void 0,pathParameters:{},queryParameters:{},headers:{},requestBody:l.map(f=>f.value)??void 0},response:{docs:void 0,statusCode:void 0,body:a?.value?Hs.V2HttpEndpointResponseBody.json({jsonrpc:"2.0",id:n.examplePairedRequest?.id||"1",result:a.value}):void 0},codeSamples:[]}}++r}return t}};var h0a=class extends RYr{constructor({context:t,breadcrumbs:r,audiences:i}){super({context:t,breadcrumbs:r,audiences:i})}async convert(){return this.context.spec=this.removeXFernIgnores({document:this.context.spec}),this.convertServers({}),this.convertSchemas(),this.convertMethods(),this.finalizeIr()}convertServers({endpointLevelServers:t}){let i=new LZt({context:this.context,breadcrumbs:["servers"],servers:this.context.spec.servers,endpointLevelServers:t}).convert();this.addEnvironmentsToIr({environmentConfig:i?.value})}convertSchemas(){for(let[t,r]of Object.entries(this.context.spec.components?.schemas??{})){let n=new bA.SchemaConverters.SchemaConverter({context:this.context,id:t,breadcrumbs:["components","schemas",t],schema:r}).convert();n!=null&&(this.addTypeToPackage(t),this.addTypesToIr({...n.inlinedTypes,[t]:n.convertedSchema}))}}convertMethods(){let r=new l3o({context:this.context,breadcrumbs:["methods"],operation:this.context.spec}).convert(),i=[],n=[],a=[];if(r&&r.length>0)for(let[l,f]of r.entries()){let o=new c3o({context:this.context,breadcrumbs:[...this.breadcrumbs,`x-fern-parameters[${l}]`],parameter:f}).convert();if(o!=null)switch(o.type){case"path":{i.push(o.parameter);break}case"query":{n.push(o.parameter);break}case"header":{a.push(o.parameter);break}}}let u=this.context.getGroup({groupParts:[],namespace:this.context.namespace});for(let l of this.context.spec.methods??[]){let f=this.context.resolveMaybeReference({schemaOrReference:l,breadcrumbs:["methods"]});if(f==null)continue;let o=new f3o({context:this.context,breadcrumbs:["methods"],method:f,pathParameters:i,queryParameters:n,headers:a}).convert();o!=null&&(this.addEndpointToIr({endpoint:o.endpoint,audiences:o.audiences,endpointGroup:u,serviceName:"service_root"}),this.addTypesToIr(o.inlinedTypes))}}};var y0a=class extends o4{isReferenceObject(t){return t!=null&&"$ref"in t}convertReferenceToTypeReference({reference:t,breadcrumbs:r}){let i=this.getTypeIdFromSchemaReference(t);if(i==null)return{ok:!1};let n=this.resolveReference({reference:t,breadcrumbs:r});return n.resolved?{ok:!0,reference:Gf.named({fernFilepath:{allParts:[],packagePath:[],file:void 0},name:this.casingsGenerator.generateName(i),typeId:i,displayName:n.value.title??void 0,default:void 0,inline:!1})}:{ok:!1}}};var zXp={[kh.GenerationLanguage.PHP]:new Set(["abstract","and","as","break","callable","case","catch","class","clone","const","continue","declare","default","do","echo","else","elseif","enddeclare","endfor","endforeach","endif","endswitch","endwhile","extends","final","finally","fn","for","foreach","function","global","goto","list","if","implements","include","include_once","instanceof","insteadof","interface","match","namespace","new","or","parent","Parent","print","private","protected","public","readonly","require","require_once","return","static","switch","throw","trait","try","use","var","while","xor","yield"].flatMap(e=>[e,bx(e)])),[kh.GenerationLanguage.TYPESCRIPT]:new Set(["any","as","boolean","break","case","catch","class","const","constructor","continue","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","instanceof","interface","let","module","new","null","number","of","package","private","protected","public","require","return","set","static","string","super","switch","symbol","this","throw","true","try","type","typeof","var","void","while","with","yield","Date","Error","File","Object","Record"]),[kh.GenerationLanguage.JAVA]:new Set(["abstract","assert","boolean","break","byte","case","catch","char","class","const","continue","default","do","double","else","enum","extends","false","final","finally","float","for","goto","if","implements","import","instanceof","int","interface","long","native","new","null","package","private","protected","public","return","short","static","strictfp","super","switch","synchronized","this","throw","throws","transient","true","try","void","volatile","while"]),[kh.GenerationLanguage.PYTHON]:new Set(["False","None","True","and","as","assert","async","","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","nonlocal","not","or","pass","raise","return","try","while","with","yield","float","int","complex","bool","uuid","list","set","map","long","self","all"]),[kh.GenerationLanguage.GO]:new Set(["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var","any","bool","byte","complex64","complex128","error","float32","float64","int","int8","int16","int32","int64","make","new","rune","string","uint","uint8","uint16","uint32","uint64","uintptr"]),[kh.GenerationLanguage.RUBY]:new Set(["__ENCODING__","__LINE__","__FILE__","alias","and","begin","break","case","class","def","defined","do","else","elsif","end","ensure","false","for","if","in","module","next","nil","not","or","redo","rescue","retry","return","self","super","then","true","undef","unless","until","when","while","yield","Object","JSON","Date","DateTime"]),[kh.GenerationLanguage.CSHARP]:new Set(["abstract","as","base","bool","break","byte","case","catch","char","checked","class","const","continue","decimal","default","delegate","do","double","else","enum","event","explicit","extern","false","finally","fixed","float","for","foreach","goto","if","implicit","in","int","interface","internal","is","lock","long","namespace","new","null","object","operator","out","override","params","private","protected","public","readonly","ref","return","sbyte","sealed","short","sizeof","stackalloc","static","string","struct","switch","this","throw","true","try","typeof","uint","ulong","unchecked","unsafe","ushort","using","virtual","void","volatile","while","add","and","alias","ascending","args","async","","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","managed","nameof","nint","not","notnull","nuint","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value","var","when","where","with","yield"]),[kh.GenerationLanguage.SWIFT]:new Set([])};var OJD=["go","ruby"];function fZs({generationLanguage:e,keywords:t,smartCasing:r}){let i={generateName:(n,a)=>{let u=c=>({unsafeName:c,safeName:mJD({name:c,keywords:PJD({generationLanguage:e,keywords:t})})}),l=L_(n),f=bx(l),s=kCi(n),o=KCi(l);return r&&(!SJD(o)&&(e==null||OJD.includes(e))&&(l=o.map((c,b)=>{if(b>0){let g=d3o(c);if(g!=null)return g;if(p3o(c))return c.toUpperCase()}return c}).join(""),f=o.map((c,b)=>{let g=d3o(c);return g??(p3o(c)?c.toUpperCase():b===0?bx(c):c)}).join("")),s=n.split(" ").map(c=>c.split(/(\d+)/).map(kCi).join("")).join("_")),{originalName:n,camelCase:u(a?.casingOverrides?.camel??l),snakeCase:u(a?.casingOverrides?.snake??s),screamingSnakeCase:u(a?.casingOverrides?.["screaming-snake"]??s.toUpperCase()),pascalCase:u(a?.casingOverrides?.pascal??f)}},generateNameAndWireValue:({name:n,wireValue:a,opts:u})=>({name:i.generateName(n,u),wireValue:a})};return i}function mJD({name:e,keywords:t}){return t==null?e:t.has(e)?e+"_":wJD(e)?"_"+e:e}function PJD({generationLanguage:e,keywords:t}){if(t!=null)return new Set(t);if(e!=null)return zXp[e]}var jJD=/^[0-9]/;function wJD(e){return jJD.test(e)}function SJD(e){return e.some((t,r)=>{if(r===0)return!1;let i=e[r-1];if(i==null)return!1;let n=d3o(i)!=null||p3o(i),a=d3o(t)!=null||p3o(t);return n&&a})}function d3o(e){return EJD.get(e.toUpperCase())}function p3o(e){return DJD.has(e.toUpperCase())}var DJD=new Set(["ACL","API","ASCII","CPU","CSS","DNS","EOF","GUID","HTML","HTTP","HTTPS","ID","IP","JSON","LHS","QPS","RAM","RHS","RPC","SAML","SCIM","SLA","SMTP","SQL","SSH","SSO","TCP","TLS","TTL","UDP","UI","UID","UUID","URI","URL","UTF8","VM","XML","XMPP","XSRF","XSS"]),EJD=new Map([["ACLS","ACLs"],["APIS","APIs"],["CPUS","CPUs"],["GUIDS","GUIDs"],["IDS","IDs"],["UIDS","UIDs"],["UUIDS","UUIDs"],["URIS","URIs"],["URLS","URLs"]]);var RXp=require("fs/promises");async function dZs({context:e,absoluteFilePath:t,absoluteFilePathToOverrides:r}){let i=(await(0,RXp.readFile)(t)).toString(),n;try{n=JSON.parse(i)}catch{n=Ed.load(i)}return r!=null?await IEn({absoluteFilePathToOverrides:r,context:e,data:n}):n}var xz=class extends Eya{type="oss";allSpecs;specs;sources;loader;constructor({allSpecs:t,specs:r,...i}){super({...i,respectReadonlySchemas:r.every(n=>n.settings?.respectReadonlySchemas),respectNullableSchemas:r.every(n=>n.settings?.respectNullableSchemas),onlyIncludeReferencedSchemas:r.every(n=>n.settings?.onlyIncludeReferencedSchemas),inlinePathParameters:r.every(n=>n.settings?.inlinePathParameters),objectQueryParameters:r.every(n=>n.settings?.objectQueryParameters),useBytesForBinaryResponse:r.filter(n=>n.type==="openapi"&&n.source.type==="openapi").some(n=>n.settings?.useBytesForBinaryResponse),respectForwardCompatibleEnums:r.filter(n=>n.type==="openapi"&&n.source.type==="openapi").some(n=>n.settings?.respectForwardCompatibleEnums),exampleGeneration:r[0]?.settings?.exampleGeneration}),this.specs=r,this.allSpecs=t,this.sources=this.convertSpecsToIdentifiableSources(r),this.loader=new B9t(this.absoluteFilePath)}async getOpenAPIIr({context:t,relativePathToDependency:r},i){let n=await mRe({context:t,specs:this.specs,relativePathToDependency:r});return PFi({context:t,documents:await this.loader.loadDocuments({context:t,specs:n}),options:{...i,respectReadonlySchemas:i?.respectReadonlySchemas??this.respectReadonlySchemas,respectNullableSchemas:i?.respectNullableSchemas??this.respectNullableSchemas,onlyIncludeReferencedSchemas:i?.onlyIncludeReferencedSchemas??this.onlyIncludeReferencedSchemas,inlinePathParameters:i?.inlinePathParameters??this.inlinePathParameters,objectQueryParameters:i?.objectQueryParameters??this.objectQueryParameters,exampleGeneration:i?.exampleGeneration??this.exampleGeneration,useBytesForBinaryResponse:i?.useBytesForBinaryResponse??this.useBytesForBinaryResponse}})}async getIntermediateRepresentation({context:t,audiences:r,enableUniqueErrorsPerEndpoint:i}){let n=await mRe({context:t,specs:this.specs}),a=await this.loader.loadDocuments({context:t,specs:n}),u=this.generatorsConfiguration?.api?.auth!=null?{...this.generatorsConfiguration?.api}:void 0;u&&t.logger.trace("Using auth overrides from generators configuration");let l=this.generatorsConfiguration?.api?.environments!=null?{...this.generatorsConfiguration?.api}:void 0;l&&t.logger.trace("Using environment overrides from generators configuration");let f=this.generatorsConfiguration?.api?.headers!=null?{...this.generatorsConfiguration?.api}:void 0;f&&t.logger.trace("Using global header overrides from generators configuration");let s,o=[];for(let c of a){let b=Lu(this.absoluteFilePath,Ja.of(c.source?.file??"")),g=qre(hz(),b),O=new pMn({logger:t.logger,relativeFilepathToSpec:g});o.push(O);let m;switch(c.type){case"openapi":{let E=new _0a({namespace:c.namespace,generationLanguage:"typescript",logger:t.logger,smartCasing:!1,spec:c.value,exampleGenerationArgs:{disabled:!1},errorCollector:O,authOverrides:u,environmentOverrides:l,globalHeaderOverrides:f,enableUniqueErrorsPerEndpoint:i});m=await new p0a({context:E,audiences:r}).convert();break}case"asyncapi":{let E=new d0a({namespace:c.namespace,generationLanguage:"typescript",logger:t.logger,smartCasing:!1,spec:c.value,exampleGenerationArgs:{disabled:!1},errorCollector:O,enableUniqueErrorsPerEndpoint:i});m=await new f0a({context:E,audiences:r}).convert();break}default:O.collect({message:`Unsupported document type: ${c}`,path:[]});break}let P=fZs({generationLanguage:"typescript",keywords:void 0,smartCasing:!1});m!=null&&(s=s===void 0?m:qFo(s,m,P))}for(let c of this.allSpecs)if(c.type==="openrpc"){let b=c.absoluteFilepath,g=qre(hz(),b),O=new pMn({logger:t.logger,relativeFilepathToSpec:g});o.push(O);let m=new y0a({namespace:c.namespace,generationLanguage:"typescript",logger:t.logger,smartCasing:!1,spec:await dZs({context:t,absoluteFilePath:c.absoluteFilepath,absoluteFilePathToOverrides:c.absoluteFilepathToOverrides}),exampleGenerationArgs:{disabled:!1},errorCollector:O,enableUniqueErrorsPerEndpoint:i}),E=await new h0a({context:m,audiences:r}).convert(),A=fZs({generationLanguage:"typescript",keywords:void 0,smartCasing:!1});E!=null&&(s=s===void 0?E:qFo(s,E,A))}for(let c of o)if(c.hasErrors()){let b=c.getErrorStats(),g=c.relativeFilepathToSpec?` for ${c.relativeFilepathToSpec}`:"";b.numErrors>0?t.logger.log("error",`API validation${g} completed with ${b.numErrors} errors and ${b.numWarnings} warnings.`):b.numWarnings>0?t.logger.log("warn",`API validation${g} completed with ${b.numWarnings} warnings.`):t.logger.log("info",`All checks passed when parsing OpenAPI${g}.`),t.logger.log("info",""),await c.logErrors({logWarnings:!1})}if(s===void 0)throw new Error("Failed to generate intermediate representation");return s}async toFernWorkspace({context:t},r){let i=await this.getDefinition({context:t},r);return new BDe({absoluteFilePath:this.absoluteFilePath,workspaceName:this.workspaceName,generatorsConfiguration:this.generatorsConfiguration,dependenciesConfiguration:{dependencies:{}},definition:i,cliVersion:this.cliVersion,sources:this.sources})}getAbsoluteFilePaths(){return[this.absoluteFilePath,...this.specs.flatMap(t=>[t.type==="protobuf"?t.absoluteFilepathToProtobufTarget:t.absoluteFilepath,t.absoluteFilepathToOverrides]).filter(j0)]}getSources(){return this.sources}convertSpecsToIdentifiableSources(t){let r=new Set,i=[];return t.reduce((n,a)=>{let u=a.type==="protobuf"?a.absoluteFilepathToProtobufRoot:a.absoluteFilepath;return r.has(u)||(r.add(u),n.push({type:a.type,id:rne(),absoluteFilePath:u})),n},i)}};var NXp={None:"none",Header:"header"};var z3o={};jn(z3o,{ConjureAliasDeclaration:()=>O3o,ConjureArgument:()=>B3o,ConjureArgumentWithParamType:()=>C3o,ConjureAuthDefinition:()=>CMn,ConjureAuthDefinitionType:()=>q3o,ConjureDefinitions:()=>M3o,ConjureEndpointDefinition:()=>x3o,ConjureEnumDeclaration:()=>D3o,ConjureEnumVariant:()=>S3o,ConjureEnumWithDocs:()=>w3o,ConjureObjectDeclaration:()=>j3o,ConjureParamType:()=>T3o,ConjurePrimitive:()=>g3o,ConjureService:()=>I3o,ConjureServiceName:()=>b3o,ConjureType:()=>L_i,ConjureTypeDeclaration:()=>E3o,ConjureTypeReference:()=>U_i,ConjureTypeWithDocs:()=>m3o,ConjureTypes:()=>A3o,ConjureUnionDeclaration:()=>P3o,DefinitionFile:()=>dZp,WithDocs:()=>UZt,commons:()=>vZs,conjure:()=>bZs,services:()=>gZs,types:()=>OZs});var vZs={};jn(vZs,{WithDocs:()=>UZt});var ep={};jn(ep,{JsonError:()=>AMn,ParseError:()=>qMn,any:()=>kXp,bigint:()=>LXp,boolean:()=>eZp,booleanLiteral:()=>ZXp,date:()=>UXp,discriminant:()=>cZp,enum_:()=>h3o,getObjectLikeUtils:()=>z9t,getObjectUtils:()=>XFi,getSchemaUtils:()=>dq,isProperty:()=>F_i,lazy:()=>VXp,lazyObject:()=>KXp,list:()=>v3o,number:()=>tZp,object:()=>y3o,objectWithoutOptionalProperties:()=>JXp,optional:()=>pZs,property:()=>HXp,record:()=>aZp,set:()=>oZp,string:()=>rZp,stringLiteral:()=>XXp,transform:()=>_Zs,undiscriminatedUnion:()=>sZp,union:()=>fZp,unknown:()=>iZp,withParsedProperties:()=>yZs});var uj={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 UM(e,t){return`Expected ${t}. Received ${MJD(e)}.`}function MJD(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 o9(e){return{...e,json:FXp(e.json),parse:FXp(e.parse)}}function FXp(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(`
1957
+ `}async function mRe({context:e,specs:t,relativePathToDependency:r}){let i=new vNo({context:e}),n=t.filter(l=>l.type==="openapi").map(l=>({...l,relativePathToDependency:r})),a=t.filter(l=>l.type==="protobuf"),u=await Promise.all(a.map(async l=>dHD({generator:i,protobufSpec:l,relativePathToDependency:r})));return[...n,...u]}async function dHD({generator:e,protobufSpec:t,relativePathToDependency:r}){return{type:"openapi",absoluteFilepath:await e.generate({absoluteFilepathToProtobufRoot:t.absoluteFilepathToProtobufRoot,absoluteFilepathToProtobufTarget:t.absoluteFilepathToProtobufTarget,relativeFilepathToProtobufRoot:t.relativeFilepathToProtobufRoot,local:t.generateLocally}),absoluteFilepathToOverrides:t.absoluteFilepathToOverrides,settings:t.settings,source:{type:"protobuf",relativePathToDependency:r,root:t.absoluteFilepathToProtobufRoot,file:t.absoluteFilepathToProtobufTarget}}}var UYp=require("fs"),lMn=require("fs/promises");var VYp=require("os"),WYp=oi(require("path"),1),HYp=require("stream/promises"),$Yp=oi(SFo(),1),GYp=oi(Cre(),1);var FXs=oi(SIi(),1);var hP;(function(e){e.FILE_READ="FILE_READ",e.FILE_PARSE="FILE_PARSE",e.FILE_MISSING="FILE_MISSING",e.STRUCTURE_VALIDATION="STRUCTURE_VALIDATION",e.JSONSCHEMA_VALIDATION="JSONSCHEMA_VALIDATION",e.DEPENDENCY_NOT_LISTED="DEPENDENCY_NOT_LISTED",e.FAILED_TO_LOAD_DEPENDENCY="FAILED_TO_LOAD_DEPENDENCY",e.EXPORTING_PACKAGE_MARKER_OTHER_KEYS="EXPORTING_PACKAGE_MARKER_OTHER_KEYS",e.EXPORT_PACKAGE_HAS_DEFINITIONS="EXPORT_PACKAGE_HAS_DEFINITIONS",e.MISCONFIGURED_DIRECTORY="MISCONFIGURED_DIRECTORY"})(hP||(hP={}));var VGD=zJr();async function QYp({dependencyName:e,dependenciesConfiguration:t,context:r,rootApiFile:i,cliVersion:n,settings:a,loadAPIWorkspace:u}){let l,f={type:hP.FAILED_TO_LOAD_DEPENDENCY,dependencyName:e},s=t.dependencies[e];return s==null?f={type:hP.DEPENDENCY_NOT_LISTED,dependencyName:e}:await r.runInteractiveTask({name:`Download ${KGD(s)}`},async o=>{switch(s.type){case"version":l=await QGD({context:o,dependency:s,cliVersion:n,settings:a,loadAPIWorkspace:u});return;case"local":l=await GGD({context:o,dependency:s,cliVersion:n,settings:a,loadAPIWorkspace:u});return;default:Oo(s)}}),l!=null?{didSucceed:!0,definition:l}:{didSucceed:!1,failure:f}}var JYp="dependencies";var WGD="metadata.json",HGD=".fern";function $GD(e){return Lu(Vl.of((0,VYp.homedir)()),Ja.of(HGD),Ja.of(JYp),Ja.of(e.organization),Ja.of(e.apiName),Ja.of(e.version))}async function GGD({dependency:e,context:t,cliVersion:r,settings:i,loadAPIWorkspace:n}){if(n==null){t.failWithoutThrowing("Failed to load api definition");return}t.logger.info("Parsing...");let a=await n({absolutePathToWorkspace:e.absoluteFilepath,context:t,cliVersion:r,workspaceName:void 0});if(!a.didSucceed){t.failWithoutThrowing("Failed to load api definition",a.failures);return}t.logger.info("Modifying source filepath ...");let u=await a.workspace.getDefinition({context:t,relativePathToDependency:Ja.of(e.path)},i);return t.logger.info("Loaded..."),u}async function QGD({dependency:e,context:t,cliVersion:r,settings:i,loadAPIWorkspace:n}){let a=$GD(e),u=Lu(a,Ja.of(JYp)),l=Lu(a,Ja.of(WGD)),f;if(!await Mf(u)||!await Mf(l)){t.logger.info("Downloading manifest...");let c=await VGD.definitionRegistry.get(FXs.FernFiddle.OrganizationId(e.organization),FXs.FernFiddle.ApiId(e.apiName),e.version);if(!c.ok){c.error._visit({orgDoesNotExistError:()=>{t.failWithoutThrowing("Organization does not exist")},apiDoesNotExistError:()=>{t.failWithoutThrowing("API does not exist")},versionDoesNotExistError:()=>{t.failWithoutThrowing("Version does not exist")},_other:m=>{t.failWithoutThrowing("Failed to download API manifest",m)}});return}let b=c.body.yamlSchemaVersion!=null?parseInt(c.body.yamlSchemaVersion):void 0,g=BNi(r),O=BNi(c.body.cliVersion);if(b!=null){if(b>1){t.failWithoutThrowing(`${e.organization}/${e.apiName}@${e.version} on a higher version of fern. Upgrade this workspace to ${c.body.cliVersion}`);return}else if(b<1){t.failWithoutThrowing(`${e.organization}/${e.apiName}@${e.version} on a lower version of fern. Upgrade it to ${r}`);return}}else if(g.major!==O.major||g.minor!==O.minor){t.failWithoutThrowing(`CLI version is ${c.body.cliVersion}. Expected ${g.major}.${g.minor}.x (to match current workspace).`);return}t.logger.info("Downloading..."),t.logger.debug("Remote URL: "+c.body.definitionS3DownloadUrl),await(0,lMn.mkdir)(u,{recursive:!0});try{await JGD({s3PreSignedReadUrl:c.body.definitionS3DownloadUrl,absolutePathToLocalOutput:u})}catch(m){t.failWithoutThrowing("Failed to download API",m);return}f=c.body,await(0,lMn.writeFile)(l,JSON.stringify(f))}else f=JSON.parse((await(0,lMn.readFile)(l)).toString());if(t.logger.info("Parsing..."),n==null){t.failWithoutThrowing("Failed to load API");return}let s=await n({absolutePathToWorkspace:u,context:t,cliVersion:f.cliVersion,workspaceName:void 0});if(!s.didSucceed){t.failWithoutThrowing("Failed to parse dependency after downloading",s.failures);return}if(s.workspace.type==="oss"){t.failWithoutThrowing("Dependency must be a fern workspace.");return}return await s.workspace.getDefinition({context:t},i)}async function JGD({s3PreSignedReadUrl:e,absolutePathToLocalOutput:t}){let r=await aN.get(e,{responseType:"stream"}),i=await GYp.default.dir(),n=WYp.default.join(i.path,"api.tgz");await(0,HYp.pipeline)(r.data,(0,UYp.createWriteStream)(n)),await(0,$Yp.extract)({file:n,cwd:t})}function KGD(e){switch(e.type){case"version":return`@${e.organization}/${e.apiName}`;case"local":return`${e.path}`;default:Oo(e)}}var uXp=oi(eXp(),1);function DFo(e,t){for(let[r,i]of aF(e))XGD({relativeFilepath:r,failure:i,logger:t})}function XGD({relativeFilepath:e,failure:t,logger:r}){switch(t.type){case hP.MISCONFIGURED_DIRECTORY:r.error("Misconfigured fern directory: please see the docs at https://buildwithfern.com/learn/api-definition/introduction/what-is-the-fern-folder");break;case hP.FILE_READ:r.error("Failed to open file: "+e);break;case hP.FILE_MISSING:r.error("Missing file: "+e);break;case hP.FILE_PARSE:t.error instanceof Joa?r.error(oRe({title:`Failed to parse ${e}: ${t.error.reason}`,subtitle:t.error.mark.snippet})):r.error("Failed to parse file: "+e);break;case hP.STRUCTURE_VALIDATION:for(let i of t.error.issues)for(let{title:n,subtitle:a}of ZGD(i))r.error(oRe({title:n,subtitle:a,breadcrumbs:[e,...i.path]}));break;case hP.FAILED_TO_LOAD_DEPENDENCY:r.error("Failed to load dependency: "+t.dependencyName);break;case hP.DEPENDENCY_NOT_LISTED:r.error(`Dependency is not listed in ${peo}: `+t.dependencyName);break;case hP.EXPORT_PACKAGE_HAS_DEFINITIONS:r.error("Exported package contains API definitions: "+t.pathToPackage);break;case hP.EXPORTING_PACKAGE_MARKER_OTHER_KEYS:r.error(`${t.pathOfPackageMarker} has an export so it cannot define other keys.`);break;case hP.JSONSCHEMA_VALIDATION:t.error.error!=null&&r.error(oRe({title:t.error.error.message??"Unknown error",breadcrumbs:[e,...t.error.error.instancePath.split("/").filter(i=>i!=="")]}));for(let i of t.error.allErrors)i!==t.error.error&&r.debug(oRe({title:i.message??"Unknown error",breadcrumbs:[e,...i.instancePath.split("/").filter(n=>n!=="")]}));break;default:Oo(t)}}function ZGD(e){switch(e.code){case $l.invalid_type:return[{title:"Incorrect type",subtitle:`Expected ${$s.underline(e.expected)} but received ${$s.underline(e.received)}`}];case $l.unrecognized_keys:return e.keys.map(t=>({title:"Unexpected key",subtitle:`Encountered unexpected key ${$s.underline(t)}`}));case $l.invalid_enum_value:return[{title:"Unrecognized value",subtitle:`Allowed values: ${e.options.map(t=>$s.underline(t)).join(", ")}`}];case $l.invalid_union:case $l.invalid_arguments:case $l.invalid_return_type:case $l.invalid_date:case $l.invalid_string:case $l.too_small:case $l.too_big:case $l.invalid_intersection_types:case $l.not_multiple_of:case $l.custom:default:return[{title:e.message}]}}var tXp=require("fs/promises");async function rXp(e,t){let r=[];for(let i of await Mxe(e,t))r.push(await kGD({relativeFilepath:tq(e,i),absoluteFilepath:i}));return r}async function kGD({relativeFilepath:e,absoluteFilepath:t}){return{relativeFilepath:e,absoluteFilepath:t,fileContents:(await(0,tXp.readFile)(t)).toString()}}async function iXp(e){let t={},r={};function i(n){try{t[n.relativeFilepath]={defaultUrl:void 0,contents:Ed.load(n.fileContents,{schema:Ed.CORE_SCHEMA}),rawContents:n.fileContents}}catch(a){r[n.relativeFilepath]={type:hP.FILE_PARSE,error:a}}}return await Promise.all(e.map(i)),Object.keys(r).length>0?{didSucceed:!1,failures:r}:{didSucceed:!0,files:t}}async function nXp({dependenciesConfiguration:e,structuralValidationResult:t,context:r,cliVersion:i,settings:n,loadAPIWorkspace:a}){let u={},l={},f={};return await Promise.all(aF(t.packageMarkers).map(async([s,o])=>{if(o.contents.export==null)u[s]=o;else{let{export:c,...b}=o.contents;if(WY(b)>0)f[s]={type:hP.EXPORTING_PACKAGE_MARKER_OTHER_KEYS,pathOfPackageMarker:s};else{let g=Jd(s);if(y8t(t.namedDefinitionFiles).some(m=>m!==s&&m.startsWith(g)))f[s]={type:hP.EXPORT_PACKAGE_HAS_DEFINITIONS,pathToPackage:g};else{let m=await QYp({dependencyName:typeof o.contents.export=="string"?o.contents.export:o.contents.export.dependency,dependenciesConfiguration:e,context:r,rootApiFile:t.rootApiFile.contents,cliVersion:i,settings:n,loadAPIWorkspace:a});m.didSucceed?l[Jd(s)]={definition:m.definition,url:typeof o.contents.export=="object"?o.contents.export.url:void 0}:f[s]=m.failure}}}})),WY(f)>0?{didSucceed:!1,failures:f}:{didSucceed:!0,packageMarkers:u,importedDefinitions:l}}var aXp=oi(require("path"),1);var VXs={};jn(VXs,{additionalProperties:()=>iQD,default:()=>aQD,definitions:()=>nQD,properties:()=>tQD,required:()=>rQD,type:()=>eQD});var eQD="object",tQD={docs:{oneOf:[{type:"string"},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},"default-url":{oneOf:[{type:"string"},{type:"null"}]},"default-environment":{oneOf:[{type:"string"},{type:"null"}]},environments:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/environments.EnvironmentSchema"}},{type:"null"}]},auth:{oneOf:[{$ref:"#/definitions/auth.ApiAuthSchema"},{type:"null"}]},"auth-schemes":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/auth.AuthSchemeDeclarationSchema"}},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},name:{type:"string"},imports:{oneOf:[{type:"object",additionalProperties:{type:"string"}},{type:"null"}]},"error-discrimination":{oneOf:[{$ref:"#/definitions/file.ErrorDiscriminationSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},errors:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"base-path":{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpPathParameterSchema"}},{type:"null"}]},"idempotency-headers":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},variables:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/variables.VariableDeclarationSchema"}},{type:"null"}]},pagination:{oneOf:[{$ref:"#/definitions/pagination.PaginationSchema"},{type:"null"}]},product:{oneOf:[{$ref:"#/definitions/products.ProductDeclarationSchema"},{type:"null"}]},version:{oneOf:[{$ref:"#/definitions/versioning.VersionDeclarationSchema"},{type:"null"}]}},rQD=["name"],iQD=!1,nQD={"environments.SingleBaseUrlEnvironmentSchema":{type:"object",properties:{audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},url:{type:"string"}},required:["url"],additionalProperties:!1},"environments.MultipleBaseUrlsEnvironmentSchema":{type:"object",properties:{audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},urls:{type:"object",additionalProperties:{type:"string"}}},required:["urls"],additionalProperties:!1},"environments.EnvironmentSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/environments.SingleBaseUrlEnvironmentSchema"},{$ref:"#/definitions/environments.MultipleBaseUrlsEnvironmentSchema"}]},"auth.AuthSchemeReferenceSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},scheme:{type:"string"}},required:["scheme"],additionalProperties:!1},"auth.AnyAuthItem":{anyOf:[{type:"string"},{$ref:"#/definitions/auth.AuthSchemeReferenceSchema"}]},"auth.AnyAuthSchemesSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},any:{type:"array",items:{$ref:"#/definitions/auth.AnyAuthItem"}}},required:["any"],additionalProperties:!1},"auth.ApiAuthSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/auth.AuthSchemeReferenceSchema"},{$ref:"#/definitions/auth.AnyAuthSchemesSchema"}]},"auth.OAuthAccessTokenRequestPropertiesSchema":{type:"object",properties:{"client-id":{oneOf:[{type:"string"},{type:"null"}]},"client-secret":{oneOf:[{type:"string"},{type:"null"}]},scopes:{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"auth.OAuthAccessTokenResponsePropertiesSchema":{type:"object",properties:{"access-token":{oneOf:[{type:"string"},{type:"null"}]},"expires-in":{oneOf:[{type:"string"},{type:"null"}]},"refresh-token":{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"auth.OAuthGetTokenEndpointSchema":{type:"object",properties:{endpoint:{type:"string"},"request-properties":{oneOf:[{$ref:"#/definitions/auth.OAuthAccessTokenRequestPropertiesSchema"},{type:"null"}]},"response-properties":{oneOf:[{$ref:"#/definitions/auth.OAuthAccessTokenResponsePropertiesSchema"},{type:"null"}]}},required:["endpoint"],additionalProperties:!1},"auth.OAuthRefreshTokenRequestPropertiesSchema":{type:"object",properties:{"refresh-token":{type:"string"}},required:["refresh-token"],additionalProperties:!1},"auth.OAuthRefreshTokenResponsePropertiesSchema":{type:"object",properties:{"access-token":{oneOf:[{type:"string"},{type:"null"}]},"expires-in":{oneOf:[{type:"string"},{type:"null"}]},"refresh-token":{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"auth.OAuthRefreshTokenEndpointSchema":{type:"object",properties:{endpoint:{type:"string"},"request-properties":{oneOf:[{$ref:"#/definitions/auth.OAuthRefreshTokenRequestPropertiesSchema"},{type:"null"}]},"response-properties":{oneOf:[{$ref:"#/definitions/auth.OAuthRefreshTokenResponsePropertiesSchema"},{type:"null"}]}},required:["endpoint"],additionalProperties:!1},"auth.OAuthSchemeSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},scheme:{const:"oauth"},type:{const:"client-credentials"},scopes:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"client-id-env":{oneOf:[{type:"string"},{type:"null"}]},"client-secret-env":{oneOf:[{type:"string"},{type:"null"}]},"token-prefix":{oneOf:[{type:"string"},{type:"null"}]},"token-header":{oneOf:[{type:"string"},{type:"null"}]},"get-token":{$ref:"#/definitions/auth.OAuthGetTokenEndpointSchema"},"refresh-token":{oneOf:[{$ref:"#/definitions/auth.OAuthRefreshTokenEndpointSchema"},{type:"null"}]}},required:["scheme","type","get-token"],additionalProperties:!1},"auth.HeaderAuthSchemeSchema":{type:"object",properties:{env:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},header:{type:"string"},type:{oneOf:[{type:"string"},{type:"null"}]},prefix:{oneOf:[{type:"string"},{type:"null"}]}},required:["header"],additionalProperties:!1},"auth.AuthVariable":{type:"object",properties:{env:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"auth.BasicAuthSchemeSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},scheme:{const:"basic"},username:{oneOf:[{$ref:"#/definitions/auth.AuthVariable"},{type:"null"}]},password:{oneOf:[{$ref:"#/definitions/auth.AuthVariable"},{type:"null"}]}},required:["scheme"],additionalProperties:!1},"auth.BearerAuthSchemeSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},scheme:{const:"bearer"},token:{oneOf:[{$ref:"#/definitions/auth.AuthVariable"},{type:"null"}]}},required:["scheme"],additionalProperties:!1},"auth.AuthSchemeDeclarationSchema":{anyOf:[{$ref:"#/definitions/auth.OAuthSchemeSchema"},{$ref:"#/definitions/auth.HeaderAuthSchemeSchema"},{$ref:"#/definitions/auth.BasicAuthSchemeSchema"},{$ref:"#/definitions/auth.BearerAuthSchemeSchema"}]},"encoding.ProtobufTypeSchema":{type:"object",properties:{type:{type:"string"}},required:["type"],additionalProperties:!1},"encoding.EncodingSchema":{type:"object",properties:{proto:{oneOf:[{$ref:"#/definitions/encoding.ProtobufTypeSchema"},{type:"null"}]}},additionalProperties:!1},"validation.StringValidationSchema":{type:"object",properties:{minLength:{oneOf:[{type:"integer"},{type:"null"}]},maxLength:{oneOf:[{type:"integer"},{type:"null"}]},pattern:{oneOf:[{type:"string"},{type:"null"}]},format:{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"validation.NumberValidationSchema":{type:"object",properties:{min:{oneOf:[{type:"number"},{type:"null"}]},max:{oneOf:[{type:"number"},{type:"null"}]},exclusiveMin:{oneOf:[{type:"boolean"},{type:"null"}]},exclusiveMax:{oneOf:[{type:"boolean"},{type:"null"}]},multipleOf:{oneOf:[{type:"number"},{type:"null"}]}},additionalProperties:!1},"validation.ValidationSchema":{anyOf:[{$ref:"#/definitions/validation.StringValidationSchema"},{$ref:"#/definitions/validation.NumberValidationSchema"}]},"availability.AvailabilityStatusSchema":{type:"string",enum:["in-development","pre-release","deprecated","generally-available"]},"availability.AvailabilitySchema":{type:"object",properties:{status:{$ref:"#/definitions/availability.AvailabilityStatusSchema"},message:{oneOf:[{type:"string"},{type:"null"}]}},required:["status"],additionalProperties:!1},"availability.AvailabilityUnionSchema":{anyOf:[{$ref:"#/definitions/availability.AvailabilityStatusSchema"},{$ref:"#/definitions/availability.AvailabilitySchema"}]},"service.TypeReferenceDeclarationWithEnvOverrideSchema":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},env:{oneOf:[{type:"string"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.TypeReferenceDeclarationWithEnvOverride":{anyOf:[{type:"string"},{$ref:"#/definitions/service.TypeReferenceDeclarationWithEnvOverrideSchema"}]},"service.HttpHeaderSchema":{$ref:"#/definitions/service.TypeReferenceDeclarationWithEnvOverride"},"file.PropertyBasedErrorDiscrimination":{type:"object",properties:{strategy:{const:"property"},"property-name":{type:"string"}},required:["strategy","property-name"],additionalProperties:!1},"file.StatusCodeBasedErrorDiscrimination":{type:"object",properties:{strategy:{const:"status-code"}},required:["strategy"],additionalProperties:!1},"file.ErrorDiscriminationSchema":{anyOf:[{$ref:"#/definitions/file.PropertyBasedErrorDiscrimination"},{$ref:"#/definitions/file.StatusCodeBasedErrorDiscrimination"}]},"types.TypeReferenceDetailedSchema":{type:"object",properties:{default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"types.TypeReferenceSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.TypeReferenceDetailedSchema"}]},"variables.VariableReferenceSchema":{type:"object",properties:{availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},variable:{type:"string"}},required:["variable"],additionalProperties:!1},"service.HttpPathParameterSchema":{anyOf:[{$ref:"#/definitions/types.TypeReferenceSchema"},{$ref:"#/definitions/variables.VariableReferenceSchema"}]},"variables.VariableDeclarationDetailed":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"variables.VariableDeclarationSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/variables.VariableDeclarationDetailed"}]},"pagination.CursorPaginationSchema":{type:"object",properties:{cursor:{type:"string"},next_cursor:{type:"string"},results:{type:"string"}},required:["cursor","next_cursor","results"],additionalProperties:!1},"pagination.OffsetPaginationSchema":{type:"object",properties:{offset:{type:"string"},results:{type:"string"},step:{oneOf:[{type:"string"},{type:"null"}]},"has-next-page":{oneOf:[{type:"string"},{type:"null"}]}},required:["offset","results"],additionalProperties:!1},"pagination.CustomPaginationSchema":{type:"object",properties:{type:{const:"custom"},results:{type:"string"}},required:["type","results"],additionalProperties:!1},"pagination.PaginationSchema":{anyOf:[{$ref:"#/definitions/pagination.CursorPaginationSchema"},{$ref:"#/definitions/pagination.OffsetPaginationSchema"},{$ref:"#/definitions/pagination.CustomPaginationSchema"}]},"versioning.VersionValueDetailed":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"}},required:["value"],additionalProperties:!1},"versioning.VersionValue":{anyOf:[{type:"string"},{$ref:"#/definitions/versioning.VersionValueDetailed"}]},"versioning.VersionDeclarationHeaderObjectSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},env:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"}},required:["value"],additionalProperties:!1},"versioning.VersionDeclarationHeaderSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/versioning.VersionDeclarationHeaderObjectSchema"}]},"versioning.VersionDeclarationSchema":{type:"object",properties:{default:{oneOf:[{type:"string"},{type:"null"}]},values:{type:"array",items:{$ref:"#/definitions/versioning.VersionValue"}},header:{$ref:"#/definitions/versioning.VersionDeclarationHeaderSchema"}},required:["values","header"],additionalProperties:!1},"products.ProductValueDetailed":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"},versions:{oneOf:[{$ref:"#/definitions/versioning.VersionDeclarationSchema"},{type:"null"}]}},required:["value"],additionalProperties:!1},"products.ProductValue":{anyOf:[{type:"string"},{$ref:"#/definitions/products.ProductValueDetailed"}]},"products.ProductDeclarationHeaderObjectSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},env:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"}},required:["value"],additionalProperties:!1},"products.ProductDeclarationHeaderSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/products.ProductDeclarationHeaderObjectSchema"}]},"products.ProductDeclarationSchema":{type:"object",properties:{default:{oneOf:[{type:"string"},{type:"null"}]},values:{type:"array",items:{$ref:"#/definitions/products.ProductValue"}},header:{$ref:"#/definitions/products.ProductDeclarationHeaderSchema"}},required:["values","header"],additionalProperties:!1}},aQD={type:eQD,properties:tQD,required:rQD,additionalProperties:iQD,definitions:nQD};var WXs={};jn(WXs,{additionalProperties:()=>sQD,default:()=>lQD,definitions:()=>cQD,properties:()=>uQD,type:()=>oQD});var oQD="object",uQD={docs:{oneOf:[{type:"string"},{type:"null"}]},imports:{oneOf:[{type:"object",additionalProperties:{type:"string"}},{type:"null"}]},types:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeDeclarationSchema"}},{type:"null"}]},service:{oneOf:[{$ref:"#/definitions/service.HttpServiceSchema"},{type:"null"}]},errors:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/errors.ErrorDeclarationSchema"}},{type:"null"}]},webhooks:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/webhooks.WebhookSchema"}},{type:"null"}]},channel:{oneOf:[{$ref:"#/definitions/websocket.WebSocketChannelSchema"},{type:"null"}]}},sQD=!1,cQD={"examples.ExampleTypeValueSchema":{type:["string","number","boolean","object","array","null"]},"examples.ExampleTypeSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},value:{$ref:"#/definitions/examples.ExampleTypeValueSchema"}},required:["value"],additionalProperties:!1},"encoding.ProtobufTypeSchema":{type:"object",properties:{type:{type:"string"}},required:["type"],additionalProperties:!1},"encoding.EncodingSchema":{type:"object",properties:{proto:{oneOf:[{$ref:"#/definitions/encoding.ProtobufTypeSchema"},{type:"null"}]}},additionalProperties:!1},"source.OpenAPISourceSchema":{type:"object",properties:{openapi:{type:"string"}},required:["openapi"],additionalProperties:!1},"source.ProtobufSourceSchema":{type:"object",properties:{proto:{type:"string"}},required:["proto"],additionalProperties:!1},"source.SourceSchema":{anyOf:[{$ref:"#/definitions/source.OpenAPISourceSchema"},{$ref:"#/definitions/source.ProtobufSourceSchema"}]},"availability.AvailabilityStatusSchema":{type:"string",enum:["in-development","pre-release","deprecated","generally-available"]},"availability.AvailabilitySchema":{type:"object",properties:{status:{$ref:"#/definitions/availability.AvailabilityStatusSchema"},message:{oneOf:[{type:"string"},{type:"null"}]}},required:["status"],additionalProperties:!1},"availability.AvailabilityUnionSchema":{anyOf:[{$ref:"#/definitions/availability.AvailabilityStatusSchema"},{$ref:"#/definitions/availability.AvailabilitySchema"}]},"types.ObjectExtendsSchema":{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]},"validation.StringValidationSchema":{type:"object",properties:{minLength:{oneOf:[{type:"integer"},{type:"null"}]},maxLength:{oneOf:[{type:"integer"},{type:"null"}]},pattern:{oneOf:[{type:"string"},{type:"null"}]},format:{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"validation.NumberValidationSchema":{type:"object",properties:{min:{oneOf:[{type:"number"},{type:"null"}]},max:{oneOf:[{type:"number"},{type:"null"}]},exclusiveMin:{oneOf:[{type:"boolean"},{type:"null"}]},exclusiveMax:{oneOf:[{type:"boolean"},{type:"null"}]},multipleOf:{oneOf:[{type:"number"},{type:"null"}]}},additionalProperties:!1},"validation.ValidationSchema":{anyOf:[{$ref:"#/definitions/validation.StringValidationSchema"},{$ref:"#/definitions/validation.NumberValidationSchema"}]},"types.ObjectPropertyAccess":{type:"string",enum:["read-only","write-only"]},"types.ObjectPropertyWithAccessSchema":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},access:{oneOf:[{$ref:"#/definitions/types.ObjectPropertyAccess"},{type:"null"}]}},required:["type"],additionalProperties:!1},"types.ObjectPropertySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.ObjectPropertyWithAccessSchema"}]},"types.ObjectSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.ObjectPropertySchema"}},{type:"null"}]},"extra-properties":{oneOf:[{type:"boolean"},{type:"null"}]}},additionalProperties:!1},"types.CasingOverridesSchema":{type:"object",properties:{camel:{oneOf:[{type:"string"},{type:"null"}]},snake:{oneOf:[{type:"string"},{type:"null"}]},pascal:{oneOf:[{type:"string"},{type:"null"}]},"screaming-snake":{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"types.EnumValueSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"},casing:{oneOf:[{$ref:"#/definitions/types.CasingOverridesSchema"},{type:"null"}]}},required:["value"],additionalProperties:!1},"types.EnumValue":{anyOf:[{type:"string"},{$ref:"#/definitions/types.EnumValueSchema"}]},"types.EnumSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},default:{oneOf:[{type:"string"},{type:"null"}]},enum:{type:"array",items:{$ref:"#/definitions/types.EnumValue"}}},required:["enum"],additionalProperties:!1},"types.UnionDiscriminantSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"}},required:["value"],additionalProperties:!1},"types.UnionDiscriminant":{anyOf:[{type:"string"},{$ref:"#/definitions/types.UnionDiscriminantSchema"}]},"types.TypeReferenceDetailedSchema":{type:"object",properties:{default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"types.TypeReferenceSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.TypeReferenceDetailedSchema"}]},"types.SingleUnionTypeKeySchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"}},required:["value"],additionalProperties:!1},"types.SingleUnionTypeKey":{anyOf:[{type:"string"},{$ref:"#/definitions/types.SingleUnionTypeKeySchema"}]},"types.SingleUnionTypeDetailedSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},type:{oneOf:[{type:"string"},{type:"null"}]},key:{oneOf:[{$ref:"#/definitions/types.SingleUnionTypeKey"},{type:"null"}]}},additionalProperties:!1},"types.SingleUnionTypeSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.SingleUnionTypeDetailedSchema"}]},"types.DiscriminatedUnionSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},discriminant:{oneOf:[{$ref:"#/definitions/types.UnionDiscriminant"},{type:"null"}]},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},"base-properties":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeReferenceSchema"}},{type:"null"}]},union:{type:"object",additionalProperties:{$ref:"#/definitions/types.SingleUnionTypeSchema"}}},required:["union"],additionalProperties:!1},"types.SingleUndiscriminatedUnionTypeDetailedSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"types.SingleUndiscriminatedUnionTypeSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.SingleUndiscriminatedUnionTypeDetailedSchema"}]},"types.UndiscriminatedUnionSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},discriminated:{const:!1},union:{type:"array",items:{$ref:"#/definitions/types.SingleUndiscriminatedUnionTypeSchema"}}},required:["discriminated","union"],additionalProperties:!1},"types.AliasSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},type:{type:"string"},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]}},required:["type"],additionalProperties:!1},"types.TypeDeclarationSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.ObjectSchema"},{$ref:"#/definitions/types.EnumSchema"},{$ref:"#/definitions/types.DiscriminatedUnionSchema"},{$ref:"#/definitions/types.UndiscriminatedUnionSchema"},{$ref:"#/definitions/types.AliasSchema"}]},"service.GrpcTransport":{type:"object",properties:{"service-name":{type:"string"}},required:["service-name"],additionalProperties:!1},"service.ServiceTransport":{type:"object",properties:{grpc:{oneOf:[{$ref:"#/definitions/service.GrpcTransport"},{type:"null"}]}},additionalProperties:!1},"service.HttpMethodSchema":{type:"string",enum:["GET","POST","PUT","PATCH","DELETE"]},"variables.VariableReferenceSchema":{type:"object",properties:{availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},variable:{type:"string"}},required:["variable"],additionalProperties:!1},"service.HttpPathParameterSchema":{anyOf:[{$ref:"#/definitions/types.TypeReferenceSchema"},{$ref:"#/definitions/variables.VariableReferenceSchema"}]},"service.QueryParameterTypeReferenceDetailed":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"allow-multiple":{oneOf:[{type:"boolean"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.HttpQueryParameterSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.QueryParameterTypeReferenceDetailed"}]},"service.TypeReferenceDeclarationWithEnvOverrideSchema":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},env:{oneOf:[{type:"string"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.TypeReferenceDeclarationWithEnvOverride":{anyOf:[{type:"string"},{$ref:"#/definitions/service.TypeReferenceDeclarationWithEnvOverrideSchema"}]},"service.HttpHeaderSchema":{$ref:"#/definitions/service.TypeReferenceDeclarationWithEnvOverride"},"service.HttpReferencedRequestBodySchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"service.FormDataBodyEncodingStyle":{type:"string",enum:["json","exploded","form"]},"service.HttpInlineFileRequestBodyPropertySchema":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},style:{oneOf:[{$ref:"#/definitions/service.FormDataBodyEncodingStyle"},{type:"null"}]},"content-type":{oneOf:[{type:"string"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.HttpInlineRequestBodyPropertySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpInlineFileRequestBodyPropertySchema"}]},"service.HttpInlineRequestBodySchema":{type:"object",properties:{extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},"extra-properties":{oneOf:[{type:"boolean"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpInlineRequestBodyPropertySchema"}},{type:"null"}]}},additionalProperties:!1},"service.HttpRequestBodySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpReferencedRequestBodySchema"},{$ref:"#/definitions/service.HttpInlineRequestBodySchema"}]},"service.HttpRequestSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},"content-type":{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpPathParameterSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpQueryParameterSchema"}},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},body:{oneOf:[{$ref:"#/definitions/service.HttpRequestBodySchema"},{type:"null"}]}},additionalProperties:!1},"service.HttpRequest":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpRequestSchema"}]},"service.HttpResponseSchemaDetailed":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{oneOf:[{type:"string"},{type:"null"}]},property:{oneOf:[{type:"string"},{type:"null"}]},"status-code":{oneOf:[{type:"integer"},{type:"null"}]}},additionalProperties:!1},"service.HttpResponseSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpResponseSchemaDetailed"}]},"service.StreamFormat":{type:"string",enum:["sse","json"]},"service.HttpResponseStreamSchemaDetailed":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"},format:{oneOf:[{$ref:"#/definitions/service.StreamFormat"},{type:"null"}]},terminator:{oneOf:[{type:"string"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.HttpResponseStreamSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpResponseStreamSchemaDetailed"}]},"service.ResponseErrorWithDocsSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},error:{type:"string"}},required:["error"],additionalProperties:!1},"service.ResponseError":{anyOf:[{type:"string"},{$ref:"#/definitions/service.ResponseErrorWithDocsSchema"}]},"service.ResponseErrorsSchema":{type:"array",items:{$ref:"#/definitions/service.ResponseError"}},"examples.ExampleTypeReferenceSchema":{type:["string","number","boolean","object","array","null"]},"examples.ExampleBodyResponseSchema":{type:"object",properties:{error:{oneOf:[{type:"string"},{type:"null"}]},body:{oneOf:[{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"},{type:"null"}]}},additionalProperties:!1},"examples.ExampleStreamResponseSchema":{type:"object",properties:{stream:{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}}},required:["stream"],additionalProperties:!1},"examples.ExampleSseEventSchema":{type:"object",properties:{event:{type:"string"},data:{oneOf:[{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"},{type:"null"}]}},required:["event"],additionalProperties:!1},"examples.ExampleSseResponseSchema":{type:"object",properties:{stream:{type:"array",items:{$ref:"#/definitions/examples.ExampleSseEventSchema"}}},required:["stream"],additionalProperties:!1},"examples.ExampleResponseSchema":{anyOf:[{$ref:"#/definitions/examples.ExampleBodyResponseSchema"},{$ref:"#/definitions/examples.ExampleStreamResponseSchema",description:"JSON Streams"},{$ref:"#/definitions/examples.ExampleSseResponseSchema",description:"Server-Sent Event streams"}]},"examples.SupportedSdkLanguageSchema":{type:"string",enum:["curl","python","javascript","typescript","go","ruby","csharp","java","js","node","ts","nodets","golang","dotnet","jvm","c#"]},"examples.ExampleCodeSampleSchemaSdk":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},sdk:{$ref:"#/definitions/examples.SupportedSdkLanguageSchema"},code:{type:"string"}},required:["sdk","code"],additionalProperties:!1},"examples.ExampleCodeSampleSchemaLanguage":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},language:{type:"string"},code:{type:"string"},install:{oneOf:[{type:"string"},{type:"null"}]}},required:["language","code"],additionalProperties:!1},"examples.ExampleCodeSampleSchema":{anyOf:[{$ref:"#/definitions/examples.ExampleCodeSampleSchemaSdk"},{$ref:"#/definitions/examples.ExampleCodeSampleSchemaLanguage"}]},"examples.ExampleEndpointCallSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},id:{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},request:{oneOf:[{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"},{type:"null"}]},response:{oneOf:[{$ref:"#/definitions/examples.ExampleResponseSchema"},{type:"null"}]},"code-samples":{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleCodeSampleSchema"}},{type:"null"}]}},additionalProperties:!1},"pagination.CursorPaginationSchema":{type:"object",properties:{cursor:{type:"string"},next_cursor:{type:"string"},results:{type:"string"}},required:["cursor","next_cursor","results"],additionalProperties:!1},"pagination.OffsetPaginationSchema":{type:"object",properties:{offset:{type:"string"},results:{type:"string"},step:{oneOf:[{type:"string"},{type:"null"}]},"has-next-page":{oneOf:[{type:"string"},{type:"null"}]}},required:["offset","results"],additionalProperties:!1},"pagination.CustomPaginationSchema":{type:"object",properties:{type:{const:"custom"},results:{type:"string"}},required:["type","results"],additionalProperties:!1},"pagination.PaginationSchema":{anyOf:[{$ref:"#/definitions/pagination.CursorPaginationSchema"},{$ref:"#/definitions/pagination.OffsetPaginationSchema"},{$ref:"#/definitions/pagination.CustomPaginationSchema"}]},"service.Pagination":{anyOf:[{$ref:"#/definitions/pagination.PaginationSchema"},{type:"boolean"}]},"service.HttpEndpointSchema":{type:"object",properties:{"display-name":{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},method:{oneOf:[{$ref:"#/definitions/service.HttpMethodSchema"},{type:"null"}]},"base-path":{oneOf:[{type:"string"},{type:"null"}]},path:{type:"string"},url:{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpPathParameterSchema"}},{type:"null"}]},auth:{oneOf:[{type:"boolean"},{type:"null"}]},idempotent:{oneOf:[{type:"boolean"},{type:"null"}]},"stream-condition":{oneOf:[{type:"string"},{type:"null"}]},request:{oneOf:[{$ref:"#/definitions/service.HttpRequest"},{type:"null"}]},response:{oneOf:[{$ref:"#/definitions/service.HttpResponseSchema"},{type:"null"}]},"response-stream":{oneOf:[{$ref:"#/definitions/service.HttpResponseStreamSchema"},{type:"null"}]},errors:{oneOf:[{$ref:"#/definitions/service.ResponseErrorsSchema"},{type:"null"}]},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleEndpointCallSchema"}},{type:"null"}]},pagination:{oneOf:[{$ref:"#/definitions/service.Pagination"},{type:"null"}]},transport:{oneOf:[{$ref:"#/definitions/service.ServiceTransport"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]}},required:["path"],additionalProperties:!1},"service.HttpServiceSchema":{type:"object",properties:{availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},auth:{type:"boolean"},url:{oneOf:[{type:"string"},{type:"null"}]},"base-path":{type:"string"},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeReferenceSchema"}},{type:"null"}]},idempotent:{oneOf:[{type:"boolean"},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeReferenceSchema"}},{type:"null"}]},transport:{oneOf:[{$ref:"#/definitions/service.ServiceTransport"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},endpoints:{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpEndpointSchema"}}},required:["auth","base-path","endpoints"],additionalProperties:!1},"errors.ErrorDeclarationSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},"status-code":{type:"integer"},type:{oneOf:[{type:"string"},{type:"null"}]},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]}},required:["status-code"],additionalProperties:!1},"webhooks.WebhookMethodSchema":{type:"string",enum:["POST","GET"]},"webhooks.WebhookReferencedPayloadSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"webhooks.WebhookInlinedPayloadSchema":{type:"object",properties:{name:{type:"string"},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.ObjectPropertySchema"}},{type:"null"}]}},required:["name"],additionalProperties:!1},"webhooks.WebhookPayloadSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/webhooks.WebhookReferencedPayloadSchema"},{$ref:"#/definitions/webhooks.WebhookInlinedPayloadSchema"}]},"examples.ExampleWebhookCallSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},id:{oneOf:[{type:"string"},{type:"null"}]},payload:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},required:["payload"],additionalProperties:!1},"webhooks.WebhookSchema":{type:"object",properties:{availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},method:{$ref:"#/definitions/webhooks.WebhookMethodSchema"},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},payload:{$ref:"#/definitions/webhooks.WebhookPayloadSchema"},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleWebhookCallSchema"}},{type:"null"}]}},required:["method","payload"],additionalProperties:!1},"websocket.WebSocketOrigin":{type:"string",enum:["client","server"]},"websocket.WebSocketChannelReferencedMessageSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"websocket.WebSocketChannelInlinedMessageSchema":{type:"object",properties:{name:{type:"string"},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.ObjectPropertySchema"}},{type:"null"}]}},required:["name"],additionalProperties:!1},"websocket.WebSocketChannelMessageBodySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/websocket.WebSocketChannelReferencedMessageSchema"},{$ref:"#/definitions/websocket.WebSocketChannelInlinedMessageSchema"}]},"websocket.WebSocketChannelMessageSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},origin:{$ref:"#/definitions/websocket.WebSocketOrigin"},body:{$ref:"#/definitions/websocket.WebSocketChannelMessageBodySchema"}},required:["origin","body"],additionalProperties:!1},"examples.ExampleWebSocketMessage":{type:"object",properties:{type:{type:"string"},body:{type:["string","number","boolean","object","array","null"]}},required:["type","body"],additionalProperties:!1},"examples.ExampleWebSocketSession":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},messages:{type:"array",items:{$ref:"#/definitions/examples.ExampleWebSocketMessage"}}},required:["messages"],additionalProperties:!1},"websocket.WebSocketChannelSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},auth:{type:"boolean"},url:{oneOf:[{type:"string"},{type:"null"}]},path:{type:"string"},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpPathParameterSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpQueryParameterSchema"}},{type:"null"}]},messages:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/websocket.WebSocketChannelMessageSchema"}},{type:"null"}]},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleWebSocketSession"}},{type:"null"}]}},required:["auth","path"],additionalProperties:!1}},lQD={type:oQD,properties:uQD,additionalProperties:sQD,definitions:cQD};var HXs={};jn(HXs,{additionalProperties:()=>pQD,default:()=>hQD,definitions:()=>_QD,properties:()=>dQD,type:()=>fQD});var fQD="object",dQD={imports:{oneOf:[{type:"object",additionalProperties:{type:"string"}},{type:"null"}]},types:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeDeclarationSchema"}},{type:"null"}]},service:{oneOf:[{$ref:"#/definitions/service.HttpServiceSchema"},{type:"null"}]},errors:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/errors.ErrorDeclarationSchema"}},{type:"null"}]},webhooks:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/webhooks.WebhookSchema"}},{type:"null"}]},channel:{oneOf:[{$ref:"#/definitions/websocket.WebSocketChannelSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},navigation:{oneOf:[{$ref:"#/definitions/file.Navigation"},{type:"null"}]},export:{oneOf:[{$ref:"#/definitions/file.Export"},{type:"null"}]}},pQD=!1,_QD={"examples.ExampleTypeValueSchema":{type:["string","number","boolean","object","array","null"]},"examples.ExampleTypeSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},value:{$ref:"#/definitions/examples.ExampleTypeValueSchema"}},required:["value"],additionalProperties:!1},"encoding.ProtobufTypeSchema":{type:"object",properties:{type:{type:"string"}},required:["type"],additionalProperties:!1},"encoding.EncodingSchema":{type:"object",properties:{proto:{oneOf:[{$ref:"#/definitions/encoding.ProtobufTypeSchema"},{type:"null"}]}},additionalProperties:!1},"source.OpenAPISourceSchema":{type:"object",properties:{openapi:{type:"string"}},required:["openapi"],additionalProperties:!1},"source.ProtobufSourceSchema":{type:"object",properties:{proto:{type:"string"}},required:["proto"],additionalProperties:!1},"source.SourceSchema":{anyOf:[{$ref:"#/definitions/source.OpenAPISourceSchema"},{$ref:"#/definitions/source.ProtobufSourceSchema"}]},"availability.AvailabilityStatusSchema":{type:"string",enum:["in-development","pre-release","deprecated","generally-available"]},"availability.AvailabilitySchema":{type:"object",properties:{status:{$ref:"#/definitions/availability.AvailabilityStatusSchema"},message:{oneOf:[{type:"string"},{type:"null"}]}},required:["status"],additionalProperties:!1},"availability.AvailabilityUnionSchema":{anyOf:[{$ref:"#/definitions/availability.AvailabilityStatusSchema"},{$ref:"#/definitions/availability.AvailabilitySchema"}]},"types.ObjectExtendsSchema":{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]},"validation.StringValidationSchema":{type:"object",properties:{minLength:{oneOf:[{type:"integer"},{type:"null"}]},maxLength:{oneOf:[{type:"integer"},{type:"null"}]},pattern:{oneOf:[{type:"string"},{type:"null"}]},format:{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"validation.NumberValidationSchema":{type:"object",properties:{min:{oneOf:[{type:"number"},{type:"null"}]},max:{oneOf:[{type:"number"},{type:"null"}]},exclusiveMin:{oneOf:[{type:"boolean"},{type:"null"}]},exclusiveMax:{oneOf:[{type:"boolean"},{type:"null"}]},multipleOf:{oneOf:[{type:"number"},{type:"null"}]}},additionalProperties:!1},"validation.ValidationSchema":{anyOf:[{$ref:"#/definitions/validation.StringValidationSchema"},{$ref:"#/definitions/validation.NumberValidationSchema"}]},"types.ObjectPropertyAccess":{type:"string",enum:["read-only","write-only"]},"types.ObjectPropertyWithAccessSchema":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},access:{oneOf:[{$ref:"#/definitions/types.ObjectPropertyAccess"},{type:"null"}]}},required:["type"],additionalProperties:!1},"types.ObjectPropertySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.ObjectPropertyWithAccessSchema"}]},"types.ObjectSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.ObjectPropertySchema"}},{type:"null"}]},"extra-properties":{oneOf:[{type:"boolean"},{type:"null"}]}},additionalProperties:!1},"types.CasingOverridesSchema":{type:"object",properties:{camel:{oneOf:[{type:"string"},{type:"null"}]},snake:{oneOf:[{type:"string"},{type:"null"}]},pascal:{oneOf:[{type:"string"},{type:"null"}]},"screaming-snake":{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"types.EnumValueSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"},casing:{oneOf:[{$ref:"#/definitions/types.CasingOverridesSchema"},{type:"null"}]}},required:["value"],additionalProperties:!1},"types.EnumValue":{anyOf:[{type:"string"},{$ref:"#/definitions/types.EnumValueSchema"}]},"types.EnumSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},default:{oneOf:[{type:"string"},{type:"null"}]},enum:{type:"array",items:{$ref:"#/definitions/types.EnumValue"}}},required:["enum"],additionalProperties:!1},"types.UnionDiscriminantSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"}},required:["value"],additionalProperties:!1},"types.UnionDiscriminant":{anyOf:[{type:"string"},{$ref:"#/definitions/types.UnionDiscriminantSchema"}]},"types.TypeReferenceDetailedSchema":{type:"object",properties:{default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"types.TypeReferenceSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.TypeReferenceDetailedSchema"}]},"types.SingleUnionTypeKeySchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},value:{type:"string"}},required:["value"],additionalProperties:!1},"types.SingleUnionTypeKey":{anyOf:[{type:"string"},{$ref:"#/definitions/types.SingleUnionTypeKeySchema"}]},"types.SingleUnionTypeDetailedSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},type:{oneOf:[{type:"string"},{type:"null"}]},key:{oneOf:[{$ref:"#/definitions/types.SingleUnionTypeKey"},{type:"null"}]}},additionalProperties:!1},"types.SingleUnionTypeSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.SingleUnionTypeDetailedSchema"}]},"types.DiscriminatedUnionSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},discriminant:{oneOf:[{$ref:"#/definitions/types.UnionDiscriminant"},{type:"null"}]},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},"base-properties":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeReferenceSchema"}},{type:"null"}]},union:{type:"object",additionalProperties:{$ref:"#/definitions/types.SingleUnionTypeSchema"}}},required:["union"],additionalProperties:!1},"types.SingleUndiscriminatedUnionTypeDetailedSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"types.SingleUndiscriminatedUnionTypeSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.SingleUndiscriminatedUnionTypeDetailedSchema"}]},"types.UndiscriminatedUnionSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},discriminated:{const:!1},union:{type:"array",items:{$ref:"#/definitions/types.SingleUndiscriminatedUnionTypeSchema"}}},required:["discriminated","union"],additionalProperties:!1},"types.AliasSchema":{type:"object",properties:{examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},inline:{oneOf:[{type:"boolean"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},type:{type:"string"},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]}},required:["type"],additionalProperties:!1},"types.TypeDeclarationSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/types.ObjectSchema"},{$ref:"#/definitions/types.EnumSchema"},{$ref:"#/definitions/types.DiscriminatedUnionSchema"},{$ref:"#/definitions/types.UndiscriminatedUnionSchema"},{$ref:"#/definitions/types.AliasSchema"}]},"service.GrpcTransport":{type:"object",properties:{"service-name":{type:"string"}},required:["service-name"],additionalProperties:!1},"service.ServiceTransport":{type:"object",properties:{grpc:{oneOf:[{$ref:"#/definitions/service.GrpcTransport"},{type:"null"}]}},additionalProperties:!1},"service.HttpMethodSchema":{type:"string",enum:["GET","POST","PUT","PATCH","DELETE"]},"variables.VariableReferenceSchema":{type:"object",properties:{availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},variable:{type:"string"}},required:["variable"],additionalProperties:!1},"service.HttpPathParameterSchema":{anyOf:[{$ref:"#/definitions/types.TypeReferenceSchema"},{$ref:"#/definitions/variables.VariableReferenceSchema"}]},"service.QueryParameterTypeReferenceDetailed":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"allow-multiple":{oneOf:[{type:"boolean"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.HttpQueryParameterSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.QueryParameterTypeReferenceDetailed"}]},"service.TypeReferenceDeclarationWithEnvOverrideSchema":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},env:{oneOf:[{type:"string"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.TypeReferenceDeclarationWithEnvOverride":{anyOf:[{type:"string"},{$ref:"#/definitions/service.TypeReferenceDeclarationWithEnvOverrideSchema"}]},"service.HttpHeaderSchema":{$ref:"#/definitions/service.TypeReferenceDeclarationWithEnvOverride"},"service.HttpReferencedRequestBodySchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"service.FormDataBodyEncodingStyle":{type:"string",enum:["json","exploded","form"]},"service.HttpInlineFileRequestBodyPropertySchema":{type:"object",properties:{type:{type:"string"},default:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},encoding:{oneOf:[{$ref:"#/definitions/encoding.EncodingSchema"},{type:"null"}]},validation:{oneOf:[{$ref:"#/definitions/validation.ValidationSchema"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},style:{oneOf:[{$ref:"#/definitions/service.FormDataBodyEncodingStyle"},{type:"null"}]},"content-type":{oneOf:[{type:"string"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.HttpInlineRequestBodyPropertySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpInlineFileRequestBodyPropertySchema"}]},"service.HttpInlineRequestBodySchema":{type:"object",properties:{extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},"extra-properties":{oneOf:[{type:"boolean"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpInlineRequestBodyPropertySchema"}},{type:"null"}]}},additionalProperties:!1},"service.HttpRequestBodySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpReferencedRequestBodySchema"},{$ref:"#/definitions/service.HttpInlineRequestBodySchema"}]},"service.HttpRequestSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},"content-type":{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpPathParameterSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpQueryParameterSchema"}},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},body:{oneOf:[{$ref:"#/definitions/service.HttpRequestBodySchema"},{type:"null"}]}},additionalProperties:!1},"service.HttpRequest":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpRequestSchema"}]},"service.HttpResponseSchemaDetailed":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{oneOf:[{type:"string"},{type:"null"}]},property:{oneOf:[{type:"string"},{type:"null"}]},"status-code":{oneOf:[{type:"integer"},{type:"null"}]}},additionalProperties:!1},"service.HttpResponseSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpResponseSchemaDetailed"}]},"service.StreamFormat":{type:"string",enum:["sse","json"]},"service.HttpResponseStreamSchemaDetailed":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"},format:{oneOf:[{$ref:"#/definitions/service.StreamFormat"},{type:"null"}]},terminator:{oneOf:[{type:"string"},{type:"null"}]}},required:["type"],additionalProperties:!1},"service.HttpResponseStreamSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/service.HttpResponseStreamSchemaDetailed"}]},"service.ResponseErrorWithDocsSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},error:{type:"string"}},required:["error"],additionalProperties:!1},"service.ResponseError":{anyOf:[{type:"string"},{$ref:"#/definitions/service.ResponseErrorWithDocsSchema"}]},"service.ResponseErrorsSchema":{type:"array",items:{$ref:"#/definitions/service.ResponseError"}},"examples.ExampleTypeReferenceSchema":{type:["string","number","boolean","object","array","null"]},"examples.ExampleBodyResponseSchema":{type:"object",properties:{error:{oneOf:[{type:"string"},{type:"null"}]},body:{oneOf:[{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"},{type:"null"}]}},additionalProperties:!1},"examples.ExampleStreamResponseSchema":{type:"object",properties:{stream:{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}}},required:["stream"],additionalProperties:!1},"examples.ExampleSseEventSchema":{type:"object",properties:{event:{type:"string"},data:{oneOf:[{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"},{type:"null"}]}},required:["event"],additionalProperties:!1},"examples.ExampleSseResponseSchema":{type:"object",properties:{stream:{type:"array",items:{$ref:"#/definitions/examples.ExampleSseEventSchema"}}},required:["stream"],additionalProperties:!1},"examples.ExampleResponseSchema":{anyOf:[{$ref:"#/definitions/examples.ExampleBodyResponseSchema"},{$ref:"#/definitions/examples.ExampleStreamResponseSchema",description:"JSON Streams"},{$ref:"#/definitions/examples.ExampleSseResponseSchema",description:"Server-Sent Event streams"}]},"examples.SupportedSdkLanguageSchema":{type:"string",enum:["curl","python","javascript","typescript","go","ruby","csharp","java","js","node","ts","nodets","golang","dotnet","jvm","c#"]},"examples.ExampleCodeSampleSchemaSdk":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},sdk:{$ref:"#/definitions/examples.SupportedSdkLanguageSchema"},code:{type:"string"}},required:["sdk","code"],additionalProperties:!1},"examples.ExampleCodeSampleSchemaLanguage":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},name:{oneOf:[{type:"string"},{type:"null"}]},language:{type:"string"},code:{type:"string"},install:{oneOf:[{type:"string"},{type:"null"}]}},required:["language","code"],additionalProperties:!1},"examples.ExampleCodeSampleSchema":{anyOf:[{$ref:"#/definitions/examples.ExampleCodeSampleSchemaSdk"},{$ref:"#/definitions/examples.ExampleCodeSampleSchemaLanguage"}]},"examples.ExampleEndpointCallSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},id:{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},request:{oneOf:[{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"},{type:"null"}]},response:{oneOf:[{$ref:"#/definitions/examples.ExampleResponseSchema"},{type:"null"}]},"code-samples":{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleCodeSampleSchema"}},{type:"null"}]}},additionalProperties:!1},"pagination.CursorPaginationSchema":{type:"object",properties:{cursor:{type:"string"},next_cursor:{type:"string"},results:{type:"string"}},required:["cursor","next_cursor","results"],additionalProperties:!1},"pagination.OffsetPaginationSchema":{type:"object",properties:{offset:{type:"string"},results:{type:"string"},step:{oneOf:[{type:"string"},{type:"null"}]},"has-next-page":{oneOf:[{type:"string"},{type:"null"}]}},required:["offset","results"],additionalProperties:!1},"pagination.CustomPaginationSchema":{type:"object",properties:{type:{const:"custom"},results:{type:"string"}},required:["type","results"],additionalProperties:!1},"pagination.PaginationSchema":{anyOf:[{$ref:"#/definitions/pagination.CursorPaginationSchema"},{$ref:"#/definitions/pagination.OffsetPaginationSchema"},{$ref:"#/definitions/pagination.CustomPaginationSchema"}]},"service.Pagination":{anyOf:[{$ref:"#/definitions/pagination.PaginationSchema"},{type:"boolean"}]},"service.HttpEndpointSchema":{type:"object",properties:{"display-name":{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},method:{oneOf:[{$ref:"#/definitions/service.HttpMethodSchema"},{type:"null"}]},"base-path":{oneOf:[{type:"string"},{type:"null"}]},path:{type:"string"},url:{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpPathParameterSchema"}},{type:"null"}]},auth:{oneOf:[{type:"boolean"},{type:"null"}]},idempotent:{oneOf:[{type:"boolean"},{type:"null"}]},"stream-condition":{oneOf:[{type:"string"},{type:"null"}]},request:{oneOf:[{$ref:"#/definitions/service.HttpRequest"},{type:"null"}]},response:{oneOf:[{$ref:"#/definitions/service.HttpResponseSchema"},{type:"null"}]},"response-stream":{oneOf:[{$ref:"#/definitions/service.HttpResponseStreamSchema"},{type:"null"}]},errors:{oneOf:[{$ref:"#/definitions/service.ResponseErrorsSchema"},{type:"null"}]},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleEndpointCallSchema"}},{type:"null"}]},pagination:{oneOf:[{$ref:"#/definitions/service.Pagination"},{type:"null"}]},transport:{oneOf:[{$ref:"#/definitions/service.ServiceTransport"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]}},required:["path"],additionalProperties:!1},"service.HttpServiceSchema":{type:"object",properties:{availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},auth:{type:"boolean"},url:{oneOf:[{type:"string"},{type:"null"}]},"base-path":{type:"string"},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeReferenceSchema"}},{type:"null"}]},idempotent:{oneOf:[{type:"boolean"},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.TypeReferenceSchema"}},{type:"null"}]},transport:{oneOf:[{$ref:"#/definitions/service.ServiceTransport"},{type:"null"}]},source:{oneOf:[{$ref:"#/definitions/source.SourceSchema"},{type:"null"}]},endpoints:{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpEndpointSchema"}}},required:["auth","base-path","endpoints"],additionalProperties:!1},"errors.ErrorDeclarationSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},"status-code":{type:"integer"},type:{oneOf:[{type:"string"},{type:"null"}]},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleTypeSchema"}},{type:"null"}]}},required:["status-code"],additionalProperties:!1},"webhooks.WebhookMethodSchema":{type:"string",enum:["POST","GET"]},"webhooks.WebhookReferencedPayloadSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"webhooks.WebhookInlinedPayloadSchema":{type:"object",properties:{name:{type:"string"},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.ObjectPropertySchema"}},{type:"null"}]}},required:["name"],additionalProperties:!1},"webhooks.WebhookPayloadSchema":{anyOf:[{type:"string"},{$ref:"#/definitions/webhooks.WebhookReferencedPayloadSchema"},{$ref:"#/definitions/webhooks.WebhookInlinedPayloadSchema"}]},"examples.ExampleWebhookCallSchema":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},id:{oneOf:[{type:"string"},{type:"null"}]},payload:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},required:["payload"],additionalProperties:!1},"webhooks.WebhookSchema":{type:"object",properties:{availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},method:{$ref:"#/definitions/webhooks.WebhookMethodSchema"},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},payload:{$ref:"#/definitions/webhooks.WebhookPayloadSchema"},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleWebhookCallSchema"}},{type:"null"}]}},required:["method","payload"],additionalProperties:!1},"websocket.WebSocketOrigin":{type:"string",enum:["client","server"]},"websocket.WebSocketChannelReferencedMessageSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},type:{type:"string"}},required:["type"],additionalProperties:!1},"websocket.WebSocketChannelInlinedMessageSchema":{type:"object",properties:{name:{type:"string"},extends:{oneOf:[{$ref:"#/definitions/types.ObjectExtendsSchema"},{type:"null"}]},properties:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/types.ObjectPropertySchema"}},{type:"null"}]}},required:["name"],additionalProperties:!1},"websocket.WebSocketChannelMessageBodySchema":{anyOf:[{type:"string"},{$ref:"#/definitions/websocket.WebSocketChannelReferencedMessageSchema"},{$ref:"#/definitions/websocket.WebSocketChannelInlinedMessageSchema"}]},"websocket.WebSocketChannelMessageSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},origin:{$ref:"#/definitions/websocket.WebSocketOrigin"},body:{$ref:"#/definitions/websocket.WebSocketChannelMessageBodySchema"}},required:["origin","body"],additionalProperties:!1},"examples.ExampleWebSocketMessage":{type:"object",properties:{type:{type:"string"},body:{type:["string","number","boolean","object","array","null"]}},required:["type","body"],additionalProperties:!1},"examples.ExampleWebSocketSession":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},docs:{oneOf:[{type:"string"},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/examples.ExampleTypeReferenceSchema"}},{type:"null"}]},messages:{type:"array",items:{$ref:"#/definitions/examples.ExampleWebSocketMessage"}}},required:["messages"],additionalProperties:!1},"websocket.WebSocketChannelSchema":{type:"object",properties:{docs:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/availability.AvailabilityUnionSchema"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"display-name":{oneOf:[{type:"string"},{type:"null"}]},auth:{type:"boolean"},url:{oneOf:[{type:"string"},{type:"null"}]},path:{type:"string"},headers:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpHeaderSchema"}},{type:"null"}]},"path-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpPathParameterSchema"}},{type:"null"}]},"query-parameters":{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/service.HttpQueryParameterSchema"}},{type:"null"}]},messages:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/websocket.WebSocketChannelMessageSchema"}},{type:"null"}]},examples:{oneOf:[{type:"array",items:{$ref:"#/definitions/examples.ExampleWebSocketSession"}},{type:"null"}]}},required:["auth","path"],additionalProperties:!1},"file.Navigation":{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]},"file.ExportDetailed":{type:"object",properties:{dependency:{type:"string"},url:{oneOf:[{type:"string"},{type:"null"}]}},required:["dependency"],additionalProperties:!1},"file.Export":{anyOf:[{type:"string"},{$ref:"#/definitions/file.ExportDetailed"}]}},hQD={type:fQD,properties:dQD,additionalProperties:pQD,definitions:_QD};function oXp({files:e,absolutePathToDefinition:t}){let r,i={},n={},a={};for(let[u,l]of aF(e)){let f=l.contents,s=o=>{a[u]={type:hP.JSONSCHEMA_VALIDATION,error:o}};if(u===uF){let o=P8t(f,VXs);if(o.success){let c=gF.serialization.RootApiFileSchema.parseOrThrow(f);r={defaultUrl:c["default-url"],contents:c,rawContents:l.rawContents}}else s(o)}else if(aXp.default.basename(u)===lS){let o=P8t(f,HXs);if(o.success){let c=gF.serialization.PackageMarkerFileSchema.parseOrThrow(f);n[u]={defaultUrl:typeof c.export=="object"?c.export.url:void 0,contents:c,rawContents:l.rawContents}}else s(o)}else{let o=P8t(f,WXs);if(o.success){let c=gF.serialization.DefinitionFileSchema.parseOrThrow(f);i[u]={defaultUrl:void 0,contents:c,rawContents:l.rawContents,absoluteFilePath:Lu(t,u)}}else s(o)}}return r==null?{didSucceed:!1,failures:{[Ja.of(uF)]:{type:hP.FILE_MISSING},...a}}:Object.keys(a).length>0?{didSucceed:!1,failures:a}:{didSucceed:!0,namedDefinitionFiles:i,rootApiFile:r,packageMarkers:n}}var IZt=class extends v9t{type="fern";context;fernWorkspaces={};loadAPIWorkspace;constructor({context:t,loadAPIWorkspace:r,...i}){super(i),this.context=t,this.loadAPIWorkspace=r}async getDefinition({context:t},r){return(await this.toFernWorkspace({context:t},r)).definition}async toFernWorkspace({context:t},r){let i=(0,uXp.default)(r??{}),n=this.fernWorkspaces[i];if(n==null){let a=t||this.context,u=Lu(this.absoluteFilePath,Ja.of(l5)),l=await Vgs({absolutePathToWorkspace:this.absoluteFilePath,context:a}),f=await rXp(u,"{yml,yaml}"),s=await iXp(f);if(!s.didSucceed)return DFo(s.failures,a.logger),a.failAndThrow();let o=oXp({files:s.files,absolutePathToDefinition:u});if(!o.didSucceed)return DFo(o.failures,a.logger),a.failAndThrow();let c=await nXp({dependenciesConfiguration:l,structuralValidationResult:o,context:a,cliVersion:this.cliVersion,settings:r,loadAPIWorkspace:this.loadAPIWorkspace});if(!c.didSucceed)return DFo(c.failures,a.logger),a.failAndThrow();n=new BDe({absoluteFilePath:this.absoluteFilePath,generatorsConfiguration:this.generatorsConfiguration,dependenciesConfiguration:l,workspaceName:this.workspaceName,definition:{absoluteFilePath:u,rootApiFile:o.rootApiFile,namedDefinitionFiles:o.namedDefinitionFiles,packageMarkers:c.packageMarkers,importedDefinitions:c.importedDefinitions},cliVersion:this.cliVersion,sources:[]}),this.fernWorkspaces[i]=n}return n}getAbsoluteFilePaths(){return[this.absoluteFilePath]}};var M0=class e{breadcrumbs=[];context;static STRING=Hs.TypeReference.primitive({v1:"STRING",v2:Hs.PrimitiveTypeV2.string({default:void 0,validation:void 0})});static OPTIONAL_STRING=Hs.TypeReference.container(Hs.ContainerType.optional(e.STRING));constructor({breadcrumbs:t=[],context:r}){this.breadcrumbs=t,this.context=r}};var sXp={[kh.GenerationLanguage.PHP]:new Set(["abstract","and","as","break","callable","case","catch","class","clone","const","continue","declare","default","do","echo","else","elseif","enddeclare","endfor","endforeach","endif","endswitch","endwhile","extends","final","finally","fn","for","foreach","function","global","goto","list","if","implements","include","include_once","instanceof","insteadof","interface","match","namespace","new","or","parent","Parent","print","private","protected","public","readonly","require","require_once","return","static","switch","throw","trait","try","use","var","while","xor","yield"].flatMap(e=>[e,bx(e)])),[kh.GenerationLanguage.TYPESCRIPT]:new Set(["any","as","boolean","break","case","catch","class","const","constructor","continue","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","instanceof","interface","let","module","new","null","number","of","package","private","protected","public","require","return","set","static","string","super","switch","symbol","this","throw","true","try","type","typeof","var","void","while","with","yield","Date","Error","File","Object","Record"]),[kh.GenerationLanguage.JAVA]:new Set(["abstract","assert","boolean","break","byte","case","catch","char","class","const","continue","default","do","double","else","enum","extends","false","final","finally","float","for","goto","if","implements","import","instanceof","int","interface","long","native","new","null","package","private","protected","public","return","short","static","strictfp","super","switch","synchronized","this","throw","throws","transient","true","try","void","volatile","while"]),[kh.GenerationLanguage.PYTHON]:new Set(["False","None","True","and","as","assert","async","","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","nonlocal","not","or","pass","raise","return","try","while","with","yield","float","int","complex","bool","uuid","list","set","map","long","self","all"]),[kh.GenerationLanguage.GO]:new Set(["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var","any","bool","byte","complex64","complex128","error","float32","float64","int","int8","int16","int32","int64","make","new","rune","string","uint","uint8","uint16","uint32","uint64","uintptr"]),[kh.GenerationLanguage.RUBY]:new Set(["__ENCODING__","__LINE__","__FILE__","alias","and","begin","break","case","class","def","defined","do","else","elsif","end","ensure","false","for","if","in","module","next","nil","not","or","redo","rescue","retry","return","self","super","then","true","undef","unless","until","when","while","yield","Object","JSON","Date","DateTime"]),[kh.GenerationLanguage.CSHARP]:new Set(["abstract","as","base","bool","break","byte","case","catch","char","checked","class","const","continue","decimal","default","delegate","do","double","else","enum","event","explicit","extern","false","finally","fixed","float","for","foreach","goto","if","implicit","in","int","interface","internal","is","lock","long","namespace","new","null","object","operator","out","override","params","private","protected","public","readonly","ref","return","sbyte","sealed","short","sizeof","stackalloc","static","string","struct","switch","this","throw","true","try","typeof","uint","ulong","unchecked","unsafe","ushort","using","virtual","void","volatile","while","add","and","alias","ascending","args","async","","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","managed","nameof","nint","not","notnull","nuint","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value","var","when","where","with","yield"]),[kh.GenerationLanguage.SWIFT]:new Set([])};var yQD=["go","ruby"];function HDe({generationLanguage:e,keywords:t,smartCasing:r}){let i={generateName:(n,a)=>{let u=c=>({unsafeName:c,safeName:vQD({name:c,keywords:bQD({generationLanguage:e,keywords:t})})}),l=L_(n),f=bx(l),s=kCi(n),o=KCi(l);return r&&(!mQD(o)&&(e==null||yQD.includes(e))&&(l=o.map((c,b)=>{if(b>0){let g=EFo(c);if(g!=null)return g;if(MFo(c))return c.toUpperCase()}return c}).join(""),f=o.map((c,b)=>{let g=EFo(c);return g??(MFo(c)?c.toUpperCase():b===0?bx(c):c)}).join("")),s=n.split(" ").map(c=>c.split(/(\d+)/).map(kCi).join("")).join("_")),{originalName:n,camelCase:u(a?.casingOverrides?.camel??l),snakeCase:u(a?.casingOverrides?.snake??s),screamingSnakeCase:u(a?.casingOverrides?.["screaming-snake"]??s.toUpperCase()),pascalCase:u(a?.casingOverrides?.pascal??f)}},generateNameAndWireValue:({name:n,wireValue:a,opts:u})=>({name:i.generateName(n,u),wireValue:a})};return i}function vQD({name:e,keywords:t}){return t==null?e:t.has(e)?e+"_":OQD(e)?"_"+e:e}function bQD({generationLanguage:e,keywords:t}){if(t!=null)return new Set(t);if(e!=null)return sXp[e]}var gQD=/^[0-9]/;function OQD(e){return gQD.test(e)}function mQD(e){return e.some((t,r)=>{if(r===0)return!1;let i=e[r-1];if(i==null)return!1;let n=EFo(i)!=null||MFo(i),a=EFo(t)!=null||MFo(t);return n&&a})}function EFo(e){return jQD.get(e.toUpperCase())}function MFo(e){return PQD.has(e.toUpperCase())}var PQD=new Set(["ACL","API","ASCII","CPU","CSS","DNS","EOF","GUID","HTML","HTTP","HTTPS","ID","IP","JSON","LHS","QPS","RAM","RHS","RPC","SAML","SCIM","SLA","SMTP","SQL","SSH","SSO","TCP","TLS","TTL","UDP","UI","UID","UUID","URI","URL","UTF8","VM","XML","XMPP","XSRF","XSS"]),jQD=new Map([["ACLS","ACLs"],["APIS","APIs"],["CPUS","CPUs"],["GUIDS","GUIDs"],["IDS","IDs"],["UIDS","UIDs"],["UUIDS","UUIDs"],["URIS","URIs"],["URLS","URLs"]]);var lXp=require("fs/promises");var $Xs=class{_map;_path;_lastScalar;_fragments;_count;constructor(){this._map={},this._path=[],this._lastScalar="",this._fragments=[],this._count=0}get map(){return this._map}resolveNode(t,r){if(t.path==="."&&(r="."),!this._map[r]){let{line:i,position:n,lineStart:a}=t;this._map[r]={line:i,position:n,lineStart:a}}t.children&&t.children.length>0&&t.children.forEach(i=>{this.resolveNode(i,(r==="."?"":r)+"."+i.path)})}iterFragments(t,r){for(let i=this._fragments.length-1;i>=0;i--){if(!this._fragments[i].path.startsWith(t)||this._fragments[i].path===t)continue;let n=this._fragments.pop();r(n)}}handleState(t,r){if(t==="close"){let i=r.result,n=r.kind,a=this._path.join(".");if(n==="scalar"){this._path.pop(),this._lastScalar=`${i}`;let{line:u,position:l,lineStart:f}=r;this._path.length===0?this._map["."+i]={line:u,position:l,lineStart:f}:this._fragments.push({path:this._path.join(".")+"."+i,line:u,position:l,lineStart:f})}else if(n==="mapping"){let u={path:a,children:[],line:0,position:0,lineStart:0},l=0;this.iterFragments(a,f=>{l++,!((!f.children||f.children.length===0)&&l%2===1)&&(this._path.length===1?this.resolveNode(f,f.path):(u.children.push({...f,path:f.path.slice(a.length+1)}),u.line=f.line,u.position=f.position,u.lineStart=f.lineStart))}),u.children&&u.children.length>0&&this._fragments.push(u),this._path.pop()}else if(n==="sequence"){let u={path:a,children:[],line:0,position:0,lineStart:0},l=new Set,f=i.length;this.iterFragments(a,s=>{l.has(s.position)||(f--,l.add(s.position),this._path.length===1?this.resolveNode(s,`${a}.${f}`):(u.children.push({...s,path:f.toString()}),u.line=s.line,u.position=s.position,u.lineStart=s.lineStart))}),u.children&&u.children.length>0&&this._fragments.push(u),this._path.pop()}else this._path.pop()}if(t==="open"){if(this._count===0){let{line:i,position:n,lineStart:a}=r;this._map["."]={line:i,position:n,lineStart:a}}this._path.push(this._lastScalar),this._count++}}listen(){return this.handleState.bind(this)}lookup(t){let r=t instanceof Array?t.map(n=>`${n}`).join("."):`${t}`;r.startsWith(".")||(r="."+r),r.startsWith("..")&&(r=r.slice(1)),r=r.replace(/\[/g,".").replace(/\]/g,"");let i=this._map[r];if(i)return{line:i.line+1,column:i.position-i.lineStart+1,position:i.position}}},cXp=$Xs;var zZt;(function(e){e.WARNING="warning",e.ERROR="error"})(zZt||(zZt={}));var pMn=class{errors=[];logger;breadcrumbToLineNumberMapper;relativeFilepathToSpec;constructor({logger:t,relativeFilepathToSpec:r}){this.logger=t,this.relativeFilepathToSpec=r,r&&(this.breadcrumbToLineNumberMapper=new GXs({logger:t,relativePathToFile:Ja.of(r)}))}collect(t){this.errors.push(t)}getErrors(){return this.errors}hasErrors(){return this.errors.length>0}dedupe(){let t=[],r=new Set,i=0;for(let n of this.errors){let a=n.path?n.path.join("->"):"",u=`${n.message}|${n.level||zZt.WARNING}|${a}`;r.has(u)?i++:(r.add(u),t.push(n))}return this.errors=t,i}getErrorStats(){this.dedupe();let t=0,r=0;for(let i of this.errors)i.level===zZt.ERROR?t++:r++;return{numErrors:t,numWarnings:r}}async logErrors({logWarnings:t}){this.dedupe();for(let r of this.errors)if(!(r.level===zZt.WARNING&&!t)){switch(r.level){case zZt.ERROR:if(this.logger.log(nb.Error,r.message),r.path&&r.path.length>0){let i=await this.breadcrumbToLineNumberMapper?.getSourceLocation(r.path),n=i?`${this.relativeFilepathToSpec}:${i.line}:${i.column}`:r.path.join(" -> ");this.logger.log(nb.Error,` - at location (${n})`)}break;case zZt.WARNING:default:if(this.logger.log(nb.Warn,r.message),r.path&&r.path.length>0){let i=await this.breadcrumbToLineNumberMapper?.getSourceLocation(r.path),n=i?`${this.relativeFilepathToSpec}:${i.line}:${i.column}`:r.path.join(" -> ");this.logger.log(nb.Warn,` - at location (${n})`)}}this.logger.log(nb.Info,"")}}},GXs=class{logger;relativePathToFile;map=new cXp;initialized=!1;constructor({relativePathToFile:t,logger:r}){this.relativePathToFile=t,this.logger=r}async initialize(){if(!this.initialized)try{let t=await(0,lXp.readFile)(this.relativePathToFile,"utf-8");Ed.load(t,{listener:this.map.listen()}),this.initialized=!0}catch(t){this.logger.log(nb.Warn,`Failed to initialize line number mapping for ${this.relativePathToFile}: ${JSON.stringify(t)}`)}}async getSourceLocation(t){return this.initialized||await this.initialize(),this.map.lookup(t)}};var o4=class e{args;spec;settings;errorCollector;logger;generationLanguage;smartCasing;casingsGenerator;namespace;exampleGenerationArgs;authOverrides;environmentOverrides;globalHeaderOverrides;enableUniqueErrorsPerEndpoint;constructor(t){this.args=t,this.spec=t.spec,this.settings=t.settings,this.errorCollector=t.errorCollector,this.logger=t.logger,this.generationLanguage=t.generationLanguage,this.smartCasing=t.smartCasing,this.namespace=t.namespace,this.casingsGenerator=HDe({generationLanguage:t.generationLanguage,keywords:void 0,smartCasing:t.smartCasing}),this.exampleGenerationArgs=t.exampleGenerationArgs,this.authOverrides=t.authOverrides,this.environmentOverrides=t.environmentOverrides,this.globalHeaderOverrides=t.globalHeaderOverrides,this.enableUniqueErrorsPerEndpoint=t.enableUniqueErrorsPerEndpoint}static BREADCRUMBS_TO_IGNORE=["properties","allOf","anyOf"];convertBreadcrumbsToName(t){let r=t.filter((n,a)=>!(/^\d+$/.test(n)||e.BREADCRUMBS_TO_IGNORE.includes(n)||a===0&&n==="components"||a===1&&n==="schemas"||t[0]==="paths"&&(a===0||a===1&&["get","post","put","delete","patch"].includes(n)||a===2&&t[1]!=null&&["get","post","put","delete","patch"].includes(t[1])&&n==="parameters"))),i=L_(r.join("_"));return i.charAt(0).toUpperCase()+i.slice(1)}createFernFilepath(t={}){let r=this.namespace!=null?[this.casingsGenerator.generateName(this.namespace)]:[],i=t.name!=null?this.casingsGenerator.generateName(t.name):void 0;return{allParts:i?[...r,i]:r,packagePath:r,file:i}}resolveReference({reference:t,breadcrumbs:r,skipErrorCollector:i}){let n=this.spec,a=t.$ref.replace(/^(?:(?:https?:\/\/)?|#?\/?)?/,"").split("/").map(u=>u.replace(/~1/g,"/"));for(let u of a){if(typeof n!="object"||n==null)return i||this.errorCollector.collect({level:zZt.ERROR,message:this.getErrorMessageForMissingRef({reference:t}),path:r}),{resolved:!1};n=n[u]}return n==null?(i||this.errorCollector.collect({level:zZt.ERROR,message:this.getErrorMessageForMissingRef({reference:t}),path:r}),{resolved:!1}):{resolved:!0,value:n}}getErrorMessageForMissingRef({reference:t}){let r=t.$ref.replace(/^(?:(?:https?:\/\/)?|#?\/?)?/,"").split("/");return r.length>=3&&r[0]==="components"&&r[1]==="schemas"?`Schema ${r[2]} does not exist`:`${t.$ref} does not exist`}async resolveMaybeExternalReference(t){let r=this.spec,i,n=!1,a=null,u;if(this.isExternalReference(t.$ref)){n=!0;let f=t.$ref.split("#"),s=f[0];if(i=f[1],!s)return{resolved:!1};u=s;let o=await fetch(s);if(!o.ok)return{resolved:!1};try{let c=await o.text();try{a=JSON.parse(c),r=a}catch{a=Ed.load(c),r=a}if(r==null)return{resolved:!1}}catch{return{resolved:!1}}if(!i)return{resolved:!0,value:r}}let l=(i??t.$ref).replace(/^(?:(?:https?:\/\/)?|#?\/?)?/,"").split("/").map(f=>f.replace(/~1/g,"/"));for(let f of l){if(typeof r!="object"||r==null)return{resolved:!1};r=r[f]}if(r==null)return{resolved:!1};if(n&&typeof r=="object"&&r!==null){let f=new Set;f.add(t.$ref),r=await this.resolveNestedExternalReferences(r,a,f,u)}return{resolved:!0,value:r}}async resolveNestedExternalReferences(t,r,i,n){if(t===null||typeof t!="object")return t;if(Array.isArray(t)){let u=[];for(let l of t)u.push(await this.resolveNestedExternalReferences(l,r,i,n));return u}if(this.isReferenceObject(t)){let u=t.$ref;if(this.isExternalReference(u)){if(i.has(u))return t;i.add(u);let l=await this.resolveMaybeExternalReference({$ref:u});if(i.delete(u),l.resolved)return l.value}else{let l=`${n}${u}`;if(i.has(l))return t;i.add(l);let f=r,s=u.substring(2).split("/").map(o=>o.replace(/~1/g,"/").replace(/~0/g,"~"));for(let o of s){if(typeof f!="object"||f===null)return t;f=f[o]}if(f!=null){let o=await this.resolveNestedExternalReferences(f,r,i,n);return i.delete(u),o}i.delete(u)}return t}let a={};for(let[u,l]of Object.entries(t))typeof l=="object"&&l!==null?a[u]=await this.resolveNestedExternalReferences(l,r,i,n):a[u]=l;return a}getExamplesFromSchema({schema:t,breadcrumbs:r}){if(t==null)return[];let i=t.example!=null?[t.example]:[];return t.examples!=null&&(Array.isArray(t.examples)?i.push(...t.examples):this.errorCollector.collect({message:"Received non-array schema examples",path:r})),i}getNamedExamplesFromMediaTypeObject({mediaTypeObject:t,breadcrumbs:r,defaultExampleName:i}){if(t==null)return[];let n=[];if(t.example!=null){let a=this.generateUniqueName({prefix:i??`${r.join("_")}_example`,existingNames:[]});n.push([a,t.example])}return t.examples!=null&&n.push(...Object.entries(t.examples)),n}resolveMaybeReference({schemaOrReference:t,breadcrumbs:r,skipErrorCollector:i}){if(this.isReferenceObject(t)){let n=this.resolveReference({reference:t,breadcrumbs:r,skipErrorCollector:i});return n.resolved?n.value:void 0}return t}resolveExample(t){if(!this.isReferenceObject(t))return t;let r=this.resolveReference({reference:t});return r.resolved?this.returnExampleValue(r.value):void 0}resolveExampleWithValue(t){if(!this.isReferenceObject(t))return this.returnExampleValue(t);let r=this.resolveReference({reference:t});return r.resolved?this.returnExampleValue(r.value):void 0}returnExampleValue(t){return this.isExampleWithValue(t)?t.value:t}getPropertyAccess(t){let r=t;for(;this.isReferenceObject(r);){let i=this.resolveReference({reference:r});if(!i.resolved)return;r=i.value}if(!(r.readOnly&&r.writeOnly)){if(r.readOnly)return xJt.ReadOnly;if(r.writeOnly)return xJt.WriteOnly}}getAudiences({operation:t,breadcrumbs:r}){let n=new eW.AudienceExtension({operation:t,breadcrumbs:r,context:this}).convert();if(n!=null)return n.audiences}getAvailability({node:t,breadcrumbs:r}){for(;this.isReferenceObject(t);){let a=this.resolveReference({reference:t});if(!a.resolved)return;t=a.value}let n=new eW.FernAvailabilityExtension({node:t,breadcrumbs:r,context:this}).convert();if(n!=null)return{status:n,message:void 0};if(t.deprecated===!0)return{status:D5.Deprecated,message:void 0}}getTypeIdFromSchemaReference(t){let r=t.$ref.match(/\/schemas\/(.+)$/);if(!(!r||!r[1]))return r[1]}createNamedTypeReference(t,r){return Gf.named({fernFilepath:{allParts:[],packagePath:[],file:void 0},name:this.casingsGenerator.generateName(t),typeId:t,displayName:r,default:void 0,inline:!1})}typeReferenceToDeclaredTypeName(t){if(t.type!=="named")return;let r=t.typeId;return{typeId:r,fernFilepath:{allParts:[],packagePath:[],file:void 0},name:this.casingsGenerator.generateName(r),displayName:t.displayName}}removeSchemaFromInlinedTypes({id:t,inlinedTypes:r}){return Object.fromEntries(Object.entries(r).filter(([i])=>i!==t))}static maybeTrimPrefix(t,r){return t.startsWith(r)?t.slice(r.length):t}generateUniqueName({prefix:t,existingNames:r}){if(!r.includes(t))return t;let i=0;for(;r.includes(`${t}_${i}`);)i++;return`${t}_${i}`}isReferenceObject(t){return typeof t=="object"&&t!==null&&"$ref"in t}isExternalReference(t){return t.startsWith("http://")||t.startsWith("https://")}isReferenceObjectWithTitle(t){return this.isReferenceObject(t)&&"title"in t}isExampleWithSummary(t){return typeof t=="object"&&t!=null&&"summary"in t}isExampleWithValue(t){return typeof t=="object"&&t!=null&&"value"in t}isOptional(t){return t.type==="container"&&t.container.type==="optional"}isNullable(t){return t.type==="container"&&t.container.type==="nullable"}isList(t){return t.type==="container"&&t.container.type==="list"}isFile(t){return t.type==="primitive"&&t.primitive.v2?.type==="string"&&t.primitive.v2.validation?.format==="binary"}getAsString(t){if(typeof t=="string")return t}getAsInteger(t){if(typeof t=="number"&&Number.isInteger(t))return t}getAsNumber(t){if(typeof t=="number")return t}getAsBoolean(t){if(typeof t=="boolean")return t}getAsArray(t){if(Array.isArray(t))return t}getAsObject(t){if(typeof t=="object"&&t!==null&&!Array.isArray(t))return t}getGroup({groupParts:t,namespace:r}){let i=[];return r!=null&&i.push(r),i.push(...t??[]),i}isObjectSchemaType(t){return t.type==="object"||t.properties!=null}};var oj=class{breadcrumbs;context;constructor(t){this.breadcrumbs=t.breadcrumbs,this.context=t.context}getExtensionValue(t,r){if(typeof t!="object"||t==null)return;let i=t[this.key];if(i!=null)return i;if(r!=null)return t[r]}};function pN(e){let t=SQD(e),{value:r,done:i}=QXs(t,"{");return i?{head:r,parts:[]}:{head:r,parts:[...wQD(t)]}}function*wQD(e){let t;do{let{value:r}=QXs(e,"}"),i=QXs(e,"{");t=i.done,yield{pathParameter:r,tail:i.value}}while(!t)}function*SQD(e){for(let t of e)yield t}function QXs(e,t){let r="",i=e.next();for(;i.done!==!0&&i.value!==t;)r+=i.value,i=e.next();return{value:r,done:i.done??!1}}function i0a(e){let t=2166136261;function r(n,a){if(typeof n=="object"&&n!=null){if(a>64){i("[MaxDepthExceeded]");return}if(Array.isArray(n)){i("[");for(let u=0;u<n.length;u++)u>0&&i(","),r(n[u],a+1);i("]")}else i("{"),Object.keys(n).sort().forEach((l,f)=>{f>0&&i(","),i(l),i(":"),r(n[l],a+1)}),i("}")}else i(String(n))}function i(n){for(let a=0;a<n.length;a++){let u=n.charCodeAt(a);t^=u,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24),t>>>=0}}return r(e,0),t.toString(16)}function RZt({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 fXp({fieldName:e,containerType:t,maxDepth:r,currentDepth:i,typeDeclarations:n,skipOptionalProperties:a}){if(i>=r)return NZt({containerType:t});switch(t.type){case"list":{let u=fq({fieldName:e,typeReference:t.list,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"?NZt({containerType:t}):{type:"success",example:ZO.list({list:[u.example,u.example],itemType:t.list}),jsonExample:[u.jsonExample,u.jsonExample]}}case"literal":return{type:"success",example:ZO.literal({literal:t.literal._visit({boolean:u=>xd.boolean(u),string:u=>xd.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 NZt({containerType:t});let u=fq({fieldName:e,typeReference:t.optional,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"?NZt({containerType:t}):{type:"success",example:ZO.optional({optional:u.example,valueType:t.optional}),jsonExample:u.jsonExample}}case"nullable":{if(a)return NZt({containerType:t});let u=fq({fieldName:e,typeReference:t.nullable,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"?NZt({containerType:t}):{type:"success",example:ZO.nullable({nullable:u.example,valueType:t.nullable}),jsonExample:u.jsonExample}}case"set":{let u=fq({fieldName:e,typeReference:t.set,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"?NZt({containerType:t}):{type:"success",example:ZO.set({set:[u.example],itemType:t.set}),jsonExample:[u.jsonExample]}}case"map":{let u=fq({fieldName:e,typeReference:t.keyType,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a}),l=fq({fieldName:e,typeReference:t.valueType,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"||l.type==="failure"?NZt({containerType:t}):{type:"success",example:ZO.map({map:[{key:u.example,value:l.example}],keyType:t.keyType,valueType:t.valueType}),jsonExample:{[u.jsonExample]:l.jsonExample}}}default:Oo(t)}}function NZt({containerType:e}){switch(e.type){case"list":return{type:"success",example:ZO.list({list:[],itemType:e.list}),jsonExample:[]};case"literal":return{type:"success",example:ZO.literal({literal:e.literal._visit({boolean:t=>xd.boolean(t),string:t=>xd.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:ZO.optional({optional:void 0,valueType:e.optional}),jsonExample:void 0};case"nullable":return{type:"success",example:ZO.nullable({nullable:void 0,valueType:e.nullable}),jsonExample:void 0};case"set":return{type:"success",example:ZO.set({set:[],itemType:e.set}),jsonExample:[]};case"map":return{type:"success",example:ZO.map({map:[],keyType:e.keyType,valueType:e.valueType}),jsonExample:{}};default:Oo(e)}}function pXp({fieldName:e,primitiveType:t}){switch(t.v1){case"STRING":return qQD({fieldName:e,default_:DQD(t.v2),validation:EQD(t.v2)});case"BASE_64":return{type:"success",example:xd.base64(Ty.BASE64),jsonExample:Ty.BASE64};case"BOOLEAN":return{type:"success",example:xd.boolean(Ty.BOOLEAN),jsonExample:Ty.BOOLEAN};case"DATE":return{type:"success",example:xd.date(Ty.DATE),jsonExample:Ty.DATE};case"DATE_TIME":return{type:"success",example:xd.datetime({datetime:new Date(Ty.DATE_TIME),raw:Ty.DATE_TIME}),jsonExample:Ty.DATE_TIME};case"DOUBLE":return TQD({fieldName:e,validation:MQD(t.v2)});case"FLOAT":return{type:"success",example:xd.float(Ty.FLOAT),jsonExample:Ty.FLOAT};case"INTEGER":return CQD({fieldName:e,validation:AQD(t.v2)});case"UINT_64":return{type:"success",example:xd.uint64(Ty.INT64),jsonExample:Ty.INT64};case"UINT":return{type:"success",example:xd.uint(Ty.UINT),jsonExample:Ty.UINT};case"BIG_INTEGER":return{type:"success",example:xd.bigInteger(Ty.INT64.toString()),jsonExample:`${Ty.INT64}`};case"LONG":return{type:"success",example:xd.long(Ty.INT64),jsonExample:Ty.INT64};case"UUID":return{type:"success",example:xd.uuid(Ty.UUID),jsonExample:Ty.UUID};default:Oo(t.v1)}}function DQD(e){if(e?.type==="string")return e.default}function EQD(e){if(e?.type==="string")return e.validation}function MQD(e){if(e?.type==="double")return e.validation}function AQD(e){if(e?.type==="integer")return e.validation}function dXp(e){if(e<=Ty.SAMPLE_STRINGS.length){let t=Ty.SAMPLE_STRINGS[e-1];if(t)return t;throw new Error(`Unexpected undefined value in SAMPLE_STRINGS at index ${e-1}`)}return Ty.SAMPLE_STRINGS[Ty.SAMPLE_STRINGS.length-1]+".".repeat(e-Ty.SAMPLE_STRINGS.length)}function qQD({fieldName:e,default_:t,validation:r}){if(t!=null)return{type:"success",example:xd.string({original:t}),jsonExample:t};if(r){let n=r.minLength,a=r.maxLength;if(n){let u=dXp(n);return{type:"success",example:xd.string({original:u}),jsonExample:u}}else if(a){let u=dXp(a);return{type:"success",example:xd.string({original:u}),jsonExample:u}}}let i=e??Ty.STRING;return{type:"success",example:xd.string({original:i}),jsonExample:i}}function TQD({fieldName:e,validation:t}){if(t){let r=t.max,i=t.min;if(r)return{type:"success",example:xd.double(r),jsonExample:r};if(i)return{type:"success",example:xd.double(i),jsonExample:i}}return{type:"success",example:xd.double(Ty.DOUBLE),jsonExample:Ty.DOUBLE}}function CQD({fieldName:e,validation:t}){if(t){let r=t.max,i=t.min;if(r)return{type:"success",example:xd.integer(r),jsonExample:r};if(i)return{type:"success",example:xd.integer(i),jsonExample:i}}return{type:"success",example:xd.integer(Ty.INT),jsonExample:Ty.INT}}function _Mn({fieldName:e,typeDeclarations:t,typeDeclaration:r,maxDepth:i,currentDepth:n,skipOptionalProperties:a}){switch(r.shape.type){case"alias":{let u=fq({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:lw.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:lw.enum({value:u.name}),jsonExample:u.name.wireValue}}case"object":{let u={},l=[];if(r.shape.extends!=null)for(let c of r.shape.extends){let b=t[c.typeId];if(b==null)continue;let g=_Mn({fieldName:e,typeDeclaration:b,typeDeclarations:t,currentDepth:n+1,maxDepth:i,skipOptionalProperties:a});g!=null&&g.type==="success"&&g.example.type==="object"&&(Object.assign(u,g.jsonExample),l.push(...g.example.properties))}let f=BQD({fieldName:e,typeDeclaration:r,objectTypeDeclaration:r.shape,typeDeclarations:t,currentDepth:n,maxDepth:i,skipOptionalProperties:a});if(f.type==="failure")return f;let{example:s,jsonExample:o}=f;return{type:"success",example:lw.object({...s,properties:[...l,...s.properties]}),jsonExample:Object.assign({},u,o)}}case"undiscriminatedUnion":{let u=0;for(let l of r.shape.members){let f=fq({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:lw.undiscriminatedUnion({index:u,singleUnionType:s}),jsonExample:o}}break}case"union":{let u=r.shape.discriminant,l={};if(r.shape.baseProperties!=null)for(let f of r.shape.baseProperties){let s=fq({fieldName:f.name.wireValue,typeReference:f.valueType,typeDeclarations:t,currentDepth:n+1,maxDepth:i,skipOptionalProperties:a});s.type==="success"&&(l[f.name.wireValue]=s.jsonExample)}for(let f of r.shape.types){let s=f.shape._visit({noProperties:()=>({type:"success",example:lw.union({discriminant:u,singleUnionType:{wireDiscriminantValue:f.discriminantValue,shape:OF.noProperties()}}),jsonExample:{[u.wireValue]:f.discriminantValue.wireValue,...l}}),samePropertiesAsObject:o=>{let c=t[o.typeId];if(c==null)return{type:"failure",message:`Failed to find type declaration with id ${o.typeId}`};let b=_Mn({currentDepth:n,maxDepth:i,fieldName:e,typeDeclaration:c,typeDeclarations:t,skipOptionalProperties:a});if(b==null)return{type:"failure",message:"Failed to generate example for type reference"};if(b.type==="failure")return b;let{example:g,jsonExample:O}=b;return{type:"success",example:lw.union({discriminant:u,singleUnionType:{wireDiscriminantValue:f.discriminantValue,shape:OF.samePropertiesAsObject({typeId:c.name.typeId,object:g.type==="object"?g:{properties:[]}})}}),jsonExample:{[u.wireValue]:f.discriminantValue.wireValue,...typeof O=="object"?O:{},...l}}},singleProperty:o=>{let c=fq({currentDepth:n+1,maxDepth:i,fieldName:e,typeReference:o.type,typeDeclarations:t,skipOptionalProperties:a});if(c.type==="failure")return c;let{example:b,jsonExample:g}=c;return{type:"success",example:lw.union({discriminant:u,singleUnionType:{wireDiscriminantValue:f.discriminantValue,shape:OF.singleProperty(b)}}),jsonExample:{[u.wireValue]:f.discriminantValue.wireValue,[o.name.wireValue]:g,...l}}},_other:()=>{throw new Error("Encountered unknown union type")}});if(s.type!=="failure")return s}}}return{type:"failure",message:"Failed to generate example for type reference"}}function BQD({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=fq({fieldName:s.name.wireValue,typeReference:s.valueType,typeDeclarations:i,currentDepth:a+1,maxDepth:n,skipOptionalProperties:u});if(o.type==="failure"&&!RZt({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:lw.object({properties:f}),jsonExample:l}}function fq({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)return{type:"failure",message:`Failed to find type declaration with id ${t.typeId}`};let l=_Mn({fieldName:e,typeDeclaration:u,typeDeclarations:r,maxDepth:i,currentDepth:n,skipOptionalProperties:a});if(l==null)return{type:"failure",message:"Failed to generate example for type declaration"};if(l.type==="failure")return l;let{example:f,jsonExample:s}=l;return{type:"success",example:{jsonExample:s,shape:jh.named({shape:f,typeName:u.name})},jsonExample:s}}case"container":{let u=fXp({fieldName:e,containerType:t.container,typeDeclarations:r,maxDepth:i,currentDepth:n,skipOptionalProperties:a});if(u.type==="failure"){let{example:s,jsonExample:o}=NZt({containerType:t.container});return{type:"success",example:{jsonExample:o,shape:jh.container(s)},jsonExample:o}}let{example:l,jsonExample:f}=u;return{type:"success",example:{jsonExample:f,shape:jh.container(l)},jsonExample:f}}case"primitive":{let{jsonExample:u,example:l}=pXp({fieldName:e,primitiveType:t.primitive});return{type:"success",example:{jsonExample:u,shape:jh.primitive(l)},jsonExample:u}}case"unknown":{let u={key:"value"};return{type:"success",example:{jsonExample:u,shape:jh.unknown(u)},jsonExample:u}}}}function QFi(e,t){let r=[];for(let i of e){let n=fq({fieldName:i.name.originalName,currentDepth:0,maxDepth:t.maxDepth??1,typeDeclarations:t.typeDeclarations,typeReference:i.valueType,skipOptionalProperties:t.skipOptionalRequestProperties});if(n.type==="failure")return n;r.push({name:i.name,value:n.example})}return{type:"success",example:r,jsonExample:void 0}}function hMn(e,t){let r=[];for(let i of e){if(t.skipOptionalRequestProperties&&RZt({typeDeclarations:t.typeDeclarations,typeReference:i.valueType}))continue;let n=fq({fieldName:i.name.name.originalName,currentDepth:0,maxDepth:t.maxDepth??1,typeDeclarations:t.typeDeclarations,typeReference:i.valueType,skipOptionalProperties:t.skipOptionalRequestProperties});if(n.type==="failure")return n;r.push({name:i.name,value:n.example})}return{type:"success",example:r,jsonExample:void 0}}function AFo(e,t){let r=[];for(let i of e){if(t.skipOptionalRequestProperties&&RZt({typeDeclarations:t.typeDeclarations,typeReference:i.valueType}))continue;let n=fq({fieldName:i.name.name.originalName,currentDepth:0,maxDepth:t.maxDepth??10,typeDeclarations:t.typeDeclarations,typeReference:i.valueType,skipOptionalProperties:t.skipOptionalRequestProperties});if(n.type==="failure")return n;r.push({name:i.name,shape:i.allowMultiple?L2.exploded():L2.single(),value:n.example})}return{type:"success",example:r,jsonExample:void 0}}var JXs=Gf.primitive({v1:r0.String,v2:th.string({default:void 0,validation:void 0})});function n0a({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:kq.ok(_C.body(void 0)),docs:void 0},l=QFi(t.pathParameters,{typeDeclarations:i,skipOptionalRequestProperties:n,maxDepth:1});if(l.type==="failure")return l;u.endpointPathParameters=l.example;let f=QFi(r.pathParameters,{typeDeclarations:i,skipOptionalRequestProperties:n,maxDepth:1});if(f.type==="failure")return f;u.servicePathParameters=f.example;let s=QFi(e.pathParameters,{typeDeclarations:i,skipOptionalRequestProperties:n,maxDepth:1});if(s.type==="failure")return s;u.rootPathParameters=s.example;let o=AFo(t.queryParameters,{typeDeclarations:i,skipOptionalRequestProperties:n,maxDepth:10});if(o.type==="failure")return o;u.queryParameters=o.example;let c=hMn(t.headers,{typeDeclarations:i,skipOptionalRequestProperties:n,maxDepth:1});if(c.type==="failure")return c;u.endpointHeaders=c.example;let b=hMn(r.headers,{typeDeclarations:i,skipOptionalRequestProperties:n,maxDepth:1});if(b.type==="failure")return b;if(u.serviceHeaders=b.example,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 g={},O=[];if(t.requestBody.extends!=null)for(let m of t.requestBody.extends){let P=i[m.typeId];if(P==null)throw new Error(`Failed to find extended type declaration with id ${m.typeId}`);let E=_Mn({typeDeclaration:P,typeDeclarations:i,currentDepth:1,maxDepth:10,skipOptionalProperties:n});E!=null&&E.type==="success"&&Object.assign(g,E.jsonExample)}for(let m of[...t.requestBody.properties??[],...t.requestBody.extendedProperties??[]]){let P=fq({fieldName:m.name.wireValue,typeReference:m.valueType,typeDeclarations:i,currentDepth:1,maxDepth:10,skipOptionalProperties:n});if(P.type==="failure"&&!RZt({typeDeclarations:i,typeReference:m.valueType}))return{type:"failure",message:`Failed to generate required property ${m.name.wireValue} b/c ${P.message}`};if(P.type==="failure")continue;let{example:E,jsonExample:A}=P;O.push({name:m.name,originalTypeDeclaration:void 0,value:E}),g[m.name.wireValue]=A}u.request=gG.inlinedRequestBody({jsonExample:g,properties:O});break}case"reference":{let g=fq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.requestBody.requestBodyType,skipOptionalProperties:n});if(g.type==="failure")return g;let{example:O}=g;u.request=gG.reference(O);break}default:Oo(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 g=fq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.response.body.value.responseBodyType,skipOptionalProperties:!1});if(g.type==="failure")return g;let{example:O,jsonExample:m}=g;u.response=kq.ok(_C.body({...O,jsonExample:m}));break}case"streamParameter":{let g;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":g=fq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.response.body.nonStreamResponse.value.responseBodyType,skipOptionalProperties:!1});break;case"text":g=fq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:JXs,skipOptionalProperties:!1});break;default:Oo(t.response.body.nonStreamResponse)}if(g.type==="failure")return g;let{example:O,jsonExample:m}=g;u.response=kq.ok(_C.body({...O,jsonExample:m}));break}case"streaming":{let g;switch(t.response.body.value.type){case"sse":{if(g=fq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.response.body.value.payload,skipOptionalProperties:!1}),g.type==="failure")return g;let{example:O,jsonExample:m}=g;u.response=kq.ok(_C.sse([{data:{...O,jsonExample:m},event:""}]));break}case"json":{if(g=fq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.response.body.value.payload,skipOptionalProperties:!1}),g.type==="failure")return g;let{example:O,jsonExample:m}=g;u.response=kq.ok(_C.stream([{...O,jsonExample:m}]));break}case"text":{if(g=fq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:JXs,skipOptionalProperties:!1}),g.type==="failure")return g;let{example:O,jsonExample:m}=g;u.response=kq.ok(_C.stream([{...O,jsonExample:m}]));break}default:Oo(t.response.body.value)}break}case"text":{let g=fq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:JXs,skipOptionalProperties:!1});if(g.type==="failure")return g;let{example:O,jsonExample:m}=g;u.response=kq.ok(_C.body({...O,jsonExample:m}));break}case"bytes":return{type:"failure",message:"Bytes unsupported"};default:Oo(t.response.body)}else if(a.type==="error")if(a.declaration.type==null)u.response=kq.error({body:void 0,error:a.declaration.name});else{let g=fq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:a.declaration.type,skipOptionalProperties:n});if(g.type==="failure")return g;let{example:O}=g;u.response=kq.error({body:O,error:a.declaration.name})}try{return{type:"success",example:{id:i0a(u),url:xQD(t,u),...u},jsonExample:void 0}}catch(g){return{type:"failure",message:`Parse failure with exceptions ${g}`}}}function xQD(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 hXp({ir:e,channel:t,typeDeclarations:r,skipOptionalRequestProperties:i}){let n={name:void 0,pathParameters:[],headers:[],queryParameters:[],messages:[],docs:void 0},a=QFi(t.pathParameters,{typeDeclarations:r,skipOptionalRequestProperties:i,maxDepth:1});if(a.type==="failure")return a;n.pathParameters.push(...a.example);let u=QFi(e.pathParameters,{typeDeclarations:r,skipOptionalRequestProperties:i,maxDepth:1});if(u.type==="failure")return u;n.pathParameters.push(...u.example);let l=AFo(t.queryParameters,{typeDeclarations:r,skipOptionalRequestProperties:i,maxDepth:10});if(l.type==="failure")return l;n.queryParameters=l.example;let f=hMn(t.headers,{typeDeclarations:r,skipOptionalRequestProperties:i,maxDepth:1});if(f.type==="failure")return f;n.headers.push(...f.example);let s=hMn(e.headers,{typeDeclarations:r,skipOptionalRequestProperties:i,maxDepth:1});if(s.type==="failure")return s;n.headers.push(...s.example);let c=t.messages.filter(O=>O.origin==="client")[0];if(c!=null){let O=_Xp({message:c,typeDeclarations:r,skipOptionalRequestProperties:i});O!=null&&n.messages.push({type:c.type,body:O})}let g=t.messages.filter(O=>O.origin==="server")[0];if(g!=null){let O=_Xp({message:g,typeDeclarations:r,skipOptionalRequestProperties:i});O!=null&&n.messages.push({type:g.type,body:O})}return{type:"success",example:{...n,url:IQD(t,n)},jsonExample:void 0}}function _Xp({message:e,typeDeclarations:t,skipOptionalRequestProperties:r}){if(e.body.type==="inlinedBody")return;let i=fq({currentDepth:0,maxDepth:10,typeDeclarations:t,typeReference:e.body.bodyType,skipOptionalProperties:r});if(i.type==="success")return tDe.reference(i.example)}function IQD(e,t){let r={};[...t.pathParameters].forEach(n=>{let a=n.value.jsonExample,u=typeof a=="string"?a:JSON.stringify(a);r[n.name.originalName]=u});let i=e.path.head+e.path.parts.map(n=>r[n.pathParameter]+n.tail).join("");return i.startsWith("/")||i===""?i:`/${i}`}function yMn(e){let t=e?.userSpecifiedExamples??{},r=e?.autogeneratedExamples??{},i=Object.values(t)[0],n=Object.values(r)[0];return{userExample:i,autoExample:n}}function x_i(e){let t=e?.userSpecifiedExamples??{},r=e?.autogeneratedExamples??{};return{userExamples:t,autoExamples:r}}function yXp({service:e,endpoint:t,typeDeclarations:r,skipOptionalRequestProperties:i}){let n={pathParameters:{},queryParameters:{},headers:{}};for(let a of t.pathParameters){let{userExample:u,autoExample:l}=yMn(a.v2Examples);u!==void 0?n.pathParameters[a.name.originalName]=u:l!==void 0&&(n.pathParameters[a.name.originalName]=l)}for(let a of t.queryParameters){let{userExample:u,autoExample:l}=yMn(a.v2Examples);if(u!==void 0)n.queryParameters[a.name.name.originalName]=u;else if(l!==void 0){if(i&&RZt({typeReference:a.valueType,typeDeclarations:r}))continue;n.queryParameters[a.name.name.originalName]=l}}for(let a of t.headers){let{userExample:u,autoExample:l}=yMn(a.v2Examples);if(u!==void 0)n.headers[a.name.name.originalName]=u;else if(l!==void 0){if(i&&RZt({typeReference:a.valueType,typeDeclarations:r}))continue;n.headers[a.name.name.originalName]=l}}return n}function vXp({endpoint:e,service:t,typeDeclarations:r,skipOptionalRequestProperties:i}){let{pathParameters:n,queryParameters:a,headers:u}=yXp({service:t,endpoint:e,typeDeclarations:r,skipOptionalRequestProperties:i}),l={},f={},s={endpoint:{method:e.method,path:zQD(e)},baseUrl:void 0,environment:e.baseUrl,auth:void 0,pathParameters:n,queryParameters:a,headers:u,requestBody:void 0,docs:void 0};if(e.requestBody!=null)switch(e.requestBody.type){case"bytes":break;case"fileUpload":{let{userExamples:o,autoExamples:c}=x_i(e.requestBody.v2Examples);for(let[b,g]of Object.entries(o))l[b]={...s,requestBody:g};for(let[b,g]of Object.entries(c))f[b]={...s,requestBody:g};break}case"inlinedRequestBody":{let{userExamples:o,autoExamples:c}=x_i(e.requestBody.v2Examples);for(let[b,g]of Object.entries(o))l[b]={...s,requestBody:g};for(let[b,g]of Object.entries(c))f[b]={...s,requestBody:g};break}case"reference":{let{userExamples:o,autoExamples:c}=x_i(e.requestBody.v2Examples);for(let[b,g]of Object.entries(o))l[b]={...s,requestBody:g};for(let[b,g]of Object.entries(c))f[b]={...s,requestBody:g};break}default:Oo(e.requestBody)}return{userRequestExamples:l,autoRequestExamples:f,baseExample:s}}function zQD(e){let t={};[...e.pathParameters,...e.allPathParameters].forEach(i=>{let{userExample:n,autoExample:a}=yMn(i.v2Examples),u=n??a,l;u==null?l=i.name.originalName:l=typeof u=="string"?u:JSON.stringify(u),t[i.name.originalName]=l});let r=e.fullPath.head+e.fullPath.parts.map(i=>t[i.pathParameter]+i.tail).join("");return r.startsWith("/")||r===""?r:`/${r}`}function bXp({endpoint:e}){let t={},r={},i={statusCode:e.response?.statusCode,body:void 0,docs:void 0};if(e.response==null)return{userResponseExamples:{},autoResponseExamples:{},baseExample:i};if(e.response.body==null)return e.source?.type==="openrpc"?{userResponseExamples:{},autoResponseExamples:{},baseExample:{...i,body:E5.json(a0a(null))}}:{userResponseExamples:{},autoResponseExamples:{},baseExample:i};switch(e.response.body.type){case"bytes":break;case"fileDownload":break;case"text":{let n=e.response.body,{userExamples:a,autoExamples:u}=x_i(n.v2Examples);for(let[l,f]of Object.entries(a)){let s=e.source?.type==="openrpc"?a0a(f):f;t[l]={...i,body:E5.json(s)}}for(let[l,f]of Object.entries(u)){let s=e.source?.type==="openrpc"?a0a(f):f;r[l]={...i,body:E5.json(s)}}break}case"json":{let n=e.response.body.value;if(n.type==="response"){let{userExamples:a,autoExamples:u}=x_i(n.v2Examples);for(let[l,f]of Object.entries(a)){let s=e.source?.type==="openrpc"?a0a(f):f;t[l]={...i,body:E5.json(s)}}for(let[l,f]of Object.entries(u)){let s=e.source?.type==="openrpc"?a0a(f):f;r[l]={...i,body:E5.json(s)}}}break}case"streaming":{let n=e.response.body.value;if(n.type==="json"){let{userExamples:a,autoExamples:u}=x_i(n.v2Examples);for(let[l,f]of Object.entries(a))t[l]={...i,body:E5.stream([f])};for(let[l,f]of Object.entries(u))r[l]={...i,body:E5.stream([f])}}break}case"streamParameter":break;default:Oo(e.response.body)}return{userResponseExamples:t,autoResponseExamples:r,baseExample:i}}function a0a(e,t=1){return{id:t,jsonrpc:"2.0",result:e}}function gXp({ir:e,endpoint:t,service:r,typeDeclarations:i,skipOptionalRequestProperties:n}){let a={},u={},{userRequestExamples:l,autoRequestExamples:f,baseExample:s}=vXp({endpoint:t,service:r,typeDeclarations:i,skipOptionalRequestProperties:n}),{userResponseExamples:o,autoResponseExamples:c,baseExample:b}=bXp({endpoint:t}),g=Object.keys(f)[0],O=Object.values(f)[0],m=Object.values(c)[0];for(let[P,E]of Object.entries(l))a[P]={request:E,response:o[P]??m??b,codeSamples:void 0};for(let[P,E]of Object.entries(o))a[P]={request:l[P]??O??s,response:E,codeSamples:void 0};return Object.keys(a).length===0&&(u[g??L_(`${t.name.originalName}_example`)]={request:O??s,response:m??b,codeSamples:void 0}),{userFullExamples:a,autoFullExamples:u}}function o0a({ir:e,exampleGeneration:t}){for(let[r,i]of Object.entries(e.services))for(let n of i.endpoints){if(n.userSpecifiedExamples.length>0&&t?.skipAutogenerationIfManualExamplesExist===!0)continue;let a=n0a({ir:e,service:i,endpoint:n,typeDeclarations:e.types,skipOptionalRequestProperties:!t?.includeOptionalRequestPropertyExamples,generationResponse:{type:"success"}});if(a.type==="failure")continue;let{example:u}=a;n.autogeneratedExamples=[{example:u}]}for(let[r,i]of Object.entries(e.websocketChannels??{})){if(i.examples.length>0&&t?.skipAutogenerationIfManualExamplesExist===!0)continue;let n=hXp({ir:e,channel:i,typeDeclarations:e.types,skipOptionalRequestProperties:!t?.includeOptionalRequestPropertyExamples});if(n.type==="failure")continue;let{example:a}=n;i.examples=[...i.examples,a]}return e}function KXs({ir:e,exampleGeneration:t}){for(let[r,i]of Object.entries(e.services))for(let n of i.endpoints){if(Object.keys(n.v2Examples?.userSpecifiedExamples??{}).length>0)continue;let{userFullExamples:a,autoFullExamples:u}=gXp({ir:e,service:i,endpoint:n,typeDeclarations:e.types,skipOptionalRequestProperties:!t?.includeOptionalRequestPropertyExamples});n.v2Examples==null&&(n.v2Examples={userSpecifiedExamples:{},autogeneratedExamples:{}}),n.v2Examples.autogeneratedExamples=u,n.v2Examples.userSpecifiedExamples=a}return e}function qFo(e,t,r){let{environments:i,changedBaseUrlIds1:n,changedBaseUrlIds2:a}=NQD(e.environments,t.environments,r),{services:u,websocketChannels:l}=FQD(e,t,n,a);return{apiName:e.apiName,basePath:e.basePath,selfHosted:e.selfHosted&&t.selfHosted,apiDisplayName:e.apiDisplayName??t.apiDisplayName,apiDocs:e.apiDocs??t.apiDocs,auth:e.auth??t.auth,headers:[...e.headers??[],...t.headers??[]],environments:i,types:{...e.types??{},...t.types??{}},constants:{...e.constants??{},...t.constants??{}},errors:{...e.errors??{},...t.errors??{}},services:u,webhookGroups:{...e.webhookGroups??{},...t.webhookGroups??{}},subpackages:RQD(e.subpackages,t.subpackages),websocketChannels:l,rootPackage:{service:e.rootPackage.service??t.rootPackage.service,types:[...e.rootPackage.types??[],...t.rootPackage.types??[]],errors:[...e.rootPackage.errors??[],...t.rootPackage.errors??[]],subpackages:[...e.rootPackage.subpackages??[],...(t.rootPackage.subpackages??[]).filter(f=>!e.rootPackage.subpackages?.includes(f))],fernFilepath:e.rootPackage.fernFilepath??t.rootPackage.fernFilepath,webhooks:e.rootPackage.webhooks??t.rootPackage.webhooks,websocket:e.rootPackage.websocket??t.rootPackage.websocket,hasEndpointsInTree:e.rootPackage.hasEndpointsInTree||t.rootPackage.hasEndpointsInTree,navigationConfig:e.rootPackage.navigationConfig??t.rootPackage.navigationConfig,docs:e.rootPackage.docs??t.rootPackage.docs},fdrApiDefinitionId:e.fdrApiDefinitionId??t.fdrApiDefinitionId,apiVersion:e.apiVersion??t.apiVersion,idempotencyHeaders:[...e.idempotencyHeaders??[],...t.idempotencyHeaders??[]],pathParameters:[...e.pathParameters??[],...t.pathParameters??[]],errorDiscriminationStrategy:e.errorDiscriminationStrategy??t.errorDiscriminationStrategy,variables:[...e.variables??[],...t.variables??[]],serviceTypeReferenceInfo:e.serviceTypeReferenceInfo??t.serviceTypeReferenceInfo,readmeConfig:e.readmeConfig??t.readmeConfig,sourceConfig:e.sourceConfig??t.sourceConfig,publishConfig:e.publishConfig??t.publishConfig,dynamic:e.dynamic??t.dynamic,sdkConfig:e.sdkConfig??t.sdkConfig}}function RQD(e,t){let r=e;for(let[i,n]of Object.entries(t))r[i]==null?r[i]=n:r[i]={name:n.name,fernFilepath:n.fernFilepath,hasEndpointsInTree:r[i].hasEndpointsInTree||n.hasEndpointsInTree,navigationConfig:r[i].navigationConfig??n.navigationConfig,docs:r[i].docs??n.docs,service:r[i].service??n.service,subpackages:[...r[i].subpackages??[],...(n.subpackages??[]).filter(a=>!r[i]?.subpackages?.includes(a))],webhooks:r[i].webhooks??n.webhooks,websocket:r[i].websocket??n.websocket,errors:[...r[i].errors??[],...n.errors??[]],types:[...r[i].types??[],...n.types??[]]};return r}function NQD(e,t,r){if(e==null&&t==null)return{environments:void 0,changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0};if(t==null)return{environments:e,changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0};if(e==null)return{environments:t,changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0};if(JSON.stringify(e)===JSON.stringify(t))return{environments:e,changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0};let i=OXp(e),n=OXp(t);if(i&&n&&e.environments.type==="singleBaseUrl"&&t.environments.type==="singleBaseUrl")return{environments:{defaultEnvironment:e.defaultEnvironment??t.defaultEnvironment,environments:mI.singleBaseUrl({environments:[...e.environments.environments,...t.environments.environments]})},changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0};let a=i?t.defaultEnvironment:e.defaultEnvironment,u=e.environments,l=t.environments;if(u.type==="singleBaseUrl"&&l.type==="singleBaseUrl"){let f=i?l:u,s=i?u:l,o={},{deconflictedEnvironments2:c,changedBaseUrlIds2:b}=LQD(f,s,r);if(f.environments[0]==null)return{environments:t,changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0};let g="Base",O=r.generateName("Base");return f.environments.forEach(m=>{o[m.id]=g}),{environments:{defaultEnvironment:a,environments:mI.multipleBaseUrls({baseUrls:[{id:g,name:O},...c.environments.map(m=>({id:m.id,name:m.name}))],environments:f.environments.map(m=>({id:m.id,name:m.name,urls:{[g]:m.url,...Object.fromEntries(c.environments.map(P=>[P.id,P.url]))},docs:void 0}))})},changedBaseUrlIds1:i?b:o,changedBaseUrlIds2:i?o:b}}if(u.type==="multipleBaseUrls"&&l.type==="singleBaseUrl"||u.type==="singleBaseUrl"&&l.type==="multipleBaseUrls"){let f=u.type==="singleBaseUrl"?u:l,s=u.type==="multipleBaseUrls"?u:l,{deconflictedEnvironments1:o,changedBaseUrlIds1:c}=UQD(f,s,r);return{environments:{defaultEnvironment:a,environments:mI.multipleBaseUrls({baseUrls:[...s.baseUrls,...o.environments.map(b=>({id:b.id,name:b.name}))],environments:s.environments.map(b=>({...b,urls:{...b.urls,...Object.fromEntries(o.environments.map(g=>[g.id,g.url]))}}))})},changedBaseUrlIds1:u.type==="singleBaseUrl"?c:void 0,changedBaseUrlIds2:u.type==="singleBaseUrl"?void 0:c}}if(u.type==="multipleBaseUrls"&&l.type==="multipleBaseUrls"){let{deconflictedEnvironments:f,changedBaseUrlIds:s}=VQD(u,l,r);return{environments:{defaultEnvironment:a,environments:mI.multipleBaseUrls({baseUrls:[...u.baseUrls,...f.baseUrls],environments:u.environments.flatMap(o=>f.environments.map(c=>({...o,urls:{...o.urls,...c.urls}})))})},changedBaseUrlIds1:void 0,changedBaseUrlIds2:s}}return{environments:e??t,changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0}}function FQD(e,t,r,i){if(r!=null)for(let[u,l]of Object.entries(r)){for(let f of Object.values(e.services))for(let s of Object.values(f.endpoints))s.baseUrl==u&&(s.baseUrl=l);for(let f of Object.values(e.websocketChannels??{}))f.baseUrl==u&&(f.baseUrl=l)}if(i!=null)for(let[u,l]of Object.entries(i)){for(let f of Object.values(t.services))for(let s of Object.values(f.endpoints))s.baseUrl==u&&(s.baseUrl=l);for(let f of Object.values(t.websocketChannels??{}))f.baseUrl==u&&(f.baseUrl=l)}let n=e.services;for(let[u,l]of Object.entries(t.services))n[u]==null?n[u]=l:n[u]={availability:l.availability,name:l.name,displayName:l.displayName,basePath:l.basePath,endpoints:[...n[u].endpoints??[],...l.endpoints],pathParameters:[...n[u].pathParameters??[],...l.pathParameters??[]],headers:[...n[u].headers??[],...l.headers??[]],encoding:l.encoding,transport:l.transport};let a={...e.websocketChannels??{},...t.websocketChannels??{}};return{services:n,websocketChannels:a}}function LQD(e,t,r){let i={},n=new Set(e.environments.map(s=>s.id)),a=new Set(e.environments.map(s=>s.name)),u=new Map(e.environments.map(s=>[s.url,s.id])),l=t.environments.filter(s=>{let o=u.get(s.url);return o!=null?(i[s.id]=o,!1):!0}).map(s=>{if(n.has(s.id)||a.has(s.name)){let o=YXs(s.id,n);return i[s.id]=o,{...s,id:o,name:r.generateName(o)}}return s});return{deconflictedEnvironments2:mI.singleBaseUrl({environments:l}),changedBaseUrlIds2:i}}function UQD(e,t,r){let i={},n=new Set(t.baseUrls.map(f=>f.id)),a=new Set(t.baseUrls.map(f=>f.name)),u=e.environments.map(f=>{if(n.has(f.id)||a.has(f.name)){let s=YXs(f.id,n);return i[f.id]=s,{...f,id:s,name:r.generateName(s)}}return f});return{deconflictedEnvironments1:mI.singleBaseUrl({environments:u}),changedBaseUrlIds1:i}}function VQD(e,t,r){let i={},n=new Set(e.baseUrls.map(s=>s.id)),a=new Set(e.baseUrls.map(s=>s.name)),u=t.baseUrls.map(s=>{if(n.has(s.id)||a.has(s.name)){let o=YXs(s.id,n);return i[s.id]=o,{...s,id:o,name:r.generateName(o)}}return s}),l=t.environments.map(s=>({...s,urls:Object.fromEntries(Object.entries(s.urls).map(([o,c])=>[i[o]??o,c]))}));return{deconflictedEnvironments:mI.multipleBaseUrls({baseUrls:u,environments:l}),changedBaseUrlIds:i}}function OXp(e){return e.environments.type==="singleBaseUrl"?e.environments.environments.some(t=>t.url&&(t.url.startsWith("ws://")||t.url.startsWith("wss://"))):e.environments.type==="multipleBaseUrls"?e.environments.environments.some(t=>Object.values(t.urls).some(r=>r&&(r.startsWith("ws://")||r.startsWith("wss://")))):!1}function YXs(e,t){let r=e,i=1;for(;t.has(r);)r=`${e}-${i}`,i++;return r}function ZXs({rawApiFileSchema:e,casingsGenerator:t}){if(e.auth==null)return{docs:void 0,requirement:rIe.All,schemes:[]};let r=typeof e.auth!="string"?e.auth.docs:void 0;return nIi(e.auth,{single:i=>{let n=mXp({reference:i,authSchemeDeclarations:e["auth-schemes"],casingsGenerator:t});return{docs:r,requirement:rIe.All,schemes:[n]}},any:({any:i})=>({docs:r,requirement:rIe.Any,schemes:i.map(n=>mXp({reference:n,authSchemeDeclarations:e["auth-schemes"],casingsGenerator:t}))})})}function mXp({reference:e,authSchemeDeclarations:t,casingsGenerator:r}){let i=(a,u)=>{let l=t?.[a];if(l==null)throw new Error("Unknown auth scheme: "+a);return lsa(l,{header:f=>GC.header({docs:u,name:r.generateNameAndWireValue({name:f.name??a,wireValue:f.header}),valueType:Gf.primitive({v1:r0.String,v2:th.string({default:void 0,validation:void 0})}),prefix:f.prefix,headerEnvVar:f.env}),basic:f=>PXp({casingsGenerator:r,docs:u,rawScheme:f}),bearer:f=>XXs({casingsGenerator:r,docs:u,rawScheme:f}),oauth:f=>XXs({casingsGenerator:r,docs:u,rawScheme:void 0})})},n=typeof e=="string"?e:e.scheme;switch(n){case"bearer":case"oauth":return XXs({casingsGenerator:r,docs:void 0,rawScheme:void 0});case"basic":return PXp({casingsGenerator:r,docs:void 0,rawScheme:void 0});default:return i(n,typeof e!="string"?e.docs:void 0)}}function XXs({casingsGenerator:e,docs:t,rawScheme:r}){return GC.bearer({docs:t,token:e.generateName(r?.token?.name??"token"),tokenEnvVar:r?.token?.env})}function PXp({casingsGenerator:e,docs:t,rawScheme:r}){return GC.basic({docs:t,username:e.generateName(r?.username?.name??"username"),usernameEnvVar:r?.username?.env,password:e.generateName(r?.password?.name??"password"),passwordEnvVar:r?.password?.env})}function u0a({rawApiFileSchema:{"default-environment":e,environments:t},casingsGenerator:r}){if(t==null)return;let i=Object.values(t)[0];if(i!=null)return{environmentsConfig:{defaultEnvironment:e??void 0,environments:VJt(i,{singleBaseUrl:()=>mI.singleBaseUrl(WQD({environments:t,casingsGenerator:r})),multipleBaseUrls:n=>mI.multipleBaseUrls(HQD({baseUrls:Object.keys(n.urls),environments:t,casingsGenerator:r}))})},audiences:{...Object.fromEntries(Object.entries(t).map(([n,a])=>[n,VJt(a,{singleBaseUrl:u=>[...typeof u=="string"?[]:u.audiences??[]],multipleBaseUrls:u=>[...u.audiences??[]]})]))}}}function WQD({environments:e,casingsGenerator:t}){return{environments:Object.entries(e).map(([r,i])=>VJt(i,{singleBaseUrl:n=>({docs:typeof n=="string"?void 0:n.docs,id:r,name:t.generateName(r),url:jXp(typeof n=="string"?n:n.url)}),multipleBaseUrls:()=>{throw new Error(`Environment ${r} has multiple base URLs`)}}))}}function HQD({baseUrls:e,environments:t,casingsGenerator:r}){return{baseUrls:e.map(i=>({id:i,name:r.generateName(i)})),environments:Object.entries(t).map(([i,n])=>VJt(n,{multipleBaseUrls:a=>({docs:a.docs,id:i,name:r.generateName(i),urls:ad(a.urls,u=>jXp(u))}),singleBaseUrl:()=>{throw new Error(`Environment ${i} does not have multiple base URLs`)}}))}}function jXp(e){return e.endsWith("/")?e.slice(0,-1):e}function $De(e){return e.allParts.map(t=>t.originalName).join("/")}var rm={generateTypeId:e=>`type_${$De(e.fernFilepath)}:${e.name.originalName}`,generateErrorId:e=>`error_${$De(e.fernFilepath)}:${e.name.originalName}`,generateServiceId:e=>`service_${$De(e.fernFilepath)}`,generateServiceIdFromFernFilepath:e=>`service_${$De(e)}`,generateSubpackageId:e=>`subpackage_${$De(e)}`,generateEndpointId:(e,t)=>{let r=$De(e.fernFilepath),i=t.name.originalName;return`endpoint_${r}.${i}`},generateWebhookGroupId:e=>`webhooks_${$De(e)}`,generateWebhookId:(e,t)=>`webhooks_${$De(e)}.${t}`,generateWebSocketChannelId:e=>`channel_${$De(e)}`};function vMn(e){return e.type!=null}var TFo=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=rm.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=rm.generateErrorId(t.name);return this.errors.has(r)}hasService(t){let r=rm.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)}};function JFi(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}var KFi=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=$QD(t)}addType({declaredTypeName:t,descendantTypeIds:r,descendantFilepaths:i,descendantTypeIdsByAudience:n,propertiesByAudience:a}){let u=rm.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=rm.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=rm.generateErrorId(t.name),i=new Set,n=new Set;t.type!=null&&Cz(t.type,i,n);let a={errorId:r,referencedTypes:i,referencedSubpackages:n};this.errors[r]=a}addEndpoint(t,r,i){let n=rm.generateServiceId(t.name),a=r.id,u=new Set,l=new Set,f=new Set;for(let s of[...t.headers,...r.headers])Cz(s.valueType,u,f);for(let s of[...t.pathParameters,...r.pathParameters])Cz(s.valueType,u,f);for(let s of r.queryParameters)Cz(s.valueType,u,f);if(i!=null&&i.request!=null&&typeof i.request!="string"){let s=JFi(i.request["query-parameters"]??{});this.queryParameters[a]={endpointId:a,parametersByAudience:s}}r.requestBody!=null&&pC._visit(r.requestBody,{inlinedRequestBody:s=>{for(let o of s.extends)CFo(o,u,f);for(let o of s.properties)Cz(o.valueType,u,f);if(i!=null&&typeof i.request=="object"&&typeof i.request.body=="object"&&dC(i.request.body)){let o=JFi(i.request.body.properties??{});this.requestProperties[a]={endpointId:a,propertiesByAudience:o}}},reference:({requestBodyType:s})=>{Cz(s,u,f)},fileUpload:({properties:s})=>{for(let o of s)M5._visit(o,{file:Ho,bodyProperty:({valueType:c})=>{Cz(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&&GD._visit(r.response.body,{fileDownload:Ho,json:s=>{Cz(s.responseBodyType,u,f)},streaming:s=>{s._visit({sse:o=>Cz(o.payload,u,f),json:o=>Cz(o.payload,u,f),text:Ho,_other:()=>{throw new Error("Unknown streamingResponse type: "+s.type)}})},streamParameter:s=>{s.streamResponse._visit({sse:o=>Cz(o.payload,u,f),json:o=>Cz(o.payload,u,f),text:Ho,_other:()=>{throw new Error("Unknown streamingResponse type: "+s.streamResponse.type)}}),s.nonStreamResponse.type==="json"&&Cz(s.nonStreamResponse.value.responseBodyType,u,f)},text:Ho,bytes:Ho,_other:()=>{throw new Error("Unknown HttpResponse: "+r.response?.body?.type)}}),r.errors.forEach(s=>{l.add(rm.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=rm.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)}}getFilteredSubpackages(){return this.subpackagesNeededForAudience}getFilteredServices(){return this.servicesNeededForAudience}getFilteredEndpoints(){return this.endpointsNeededForAudience}getFilteredChannels(){return this.channelsNeededForAudience}getFilteredWebhooks(){return this.webhooksNeededForAudience}addWebhook(t,r,i){let n=r.id;if(n==null)return;let a=new Set,u=new Set;r.payload!=null&&hV._visit(r.payload,{inlinedPayload:l=>{for(let f of l.extends)CFo(f,a,u);for(let f of l.properties)Cz(f.valueType,a,u);if(i?.payload!=null&&typeof i.payload=="object"&&!vMn(i.payload)){let f=JFi(i.payload.properties??{});this.webhookProperties[n]={webhookId:n,propertiesByAudience:f}}},reference:({payloadType:l})=>{Cz(l,a,u)},_other:()=>{throw new Error("Unknown WebhookPayload: "+r.payload?.type)}}),u.add(t),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))}addChannel(t,r,i,n){if(r==null)return;let a=new Set,u=new Set;for(let l of i.messages)q5._visit(l.body,{reference:({bodyType:f})=>{Cz(f,a,u)},inlinedBody:f=>{for(let s of f.extends)CFo(s,a,u);for(let s of f.properties)Cz(s.valueType,a,u)},_other:()=>{}});u.add(t),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))}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 TFo({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:Oo(r)}}addSubpackages(t){for(let r=1;r<=t.allParts.length;++r){let i={...t,allParts:t.allParts.slice(0,r)};this.subpackagesNeededForAudience.add(rm.generateSubpackageId(i))}}};function $QD(e){switch(e.type){case"all":return{type:"none"};case"select":return{type:"filtered",audiences:new Set(e.audiences)};default:Oo(e)}}function Cz(e,t,r){Gf._visit(e,{container:i=>{GQD(i,t,r)},named:i=>{CFo(i,t,r)},primitive:Ho,unknown:Ho,_other:Ho})}function CFo(e,t,r){t.add(rm.generateTypeId(e)),r.add(e.fernFilepath)}function GQD(e,t,r){Ib._visit(e,{list:i=>{Cz(i,t,r)},map:i=>{Cz(i.keyType,t,r),Cz(i.valueType,t,r)},optional:i=>{Cz(i,t,r)},nullable:i=>{Cz(i,t,r)},set:i=>{Cz(i,t,r)},literal:Ho,_other:Ho})}var kXs=class{errors;constructor(){this.errors=[]}add(t){this.errors.push({message:t})}getErrors(){return this.errors}hasErrors(){return this.errors.length>0}},s0a=class{errors;constructor(){this.errors=new kXs}async check({from:t,to:r}){let i=this.checkBreaking({from:t,to:r});return{bump:i.isBreaking?"major":"minor",isBreaking:i.isBreaking,errors:i.errors}}checkBreaking({from:t,to:r}){this.checkTypeBreakingChanges({from:t.types,to:r.types}),this.checkErrorsBreakingChanges({from:t.errors,to:r.errors}),this.checkServicesBreakingChanges({from:t.services,to:r.services});let i=this.errors.hasErrors();return{bump:i?"major":"minor",isBreaking:i,errors:this.errors.getErrors()}}checkTypeBreakingChanges({from:t,to:r}){for(let[i,n]of Object.entries(t)){let a=r[i];if(!a){this.errors.add(`Type "${i}" was removed.`);continue}this.areTypeDeclarationsCompatible({from:n,to:a})||this.errors.add(`Type "${i}" has an incompatible change.`)}}checkErrorsBreakingChanges({from:t,to:r}){for(let[i,n]of Object.entries(t)){let a=Object.values(r).find(u=>u.name.errorId===n.name.errorId);if(!a){this.errors.add(`Error "${n.name.errorId}" with status code "${n.statusCode}" was removed.`);continue}this.checkErrorBreakingChanges({from:n,to:a})}}checkErrorBreakingChanges({from:t,to:r}){if(t.type!=null){if(r.type==null){this.errors.add(`Error "${t.name.errorId}" with status code "${t.statusCode}" had its type removed.`);return}this.areTypeReferencesCompatible({from:t.type,to:r.type})||this.errors.add(`Error "${t.name.errorId}" type reference changed.`)}this.areDeclaredErrorNamesCompatible({from:t.name,to:r.name})||this.errors.add(`Error "${t.name.errorId}" name changed.`),this.areNameAndWireValuesCompatible({from:t.discriminantValue,to:r.discriminantValue})||this.errors.add(`Error "${t.name.errorId}" discriminant value changed.`)}checkServicesBreakingChanges({from:t,to:r}){for(let[i,n]of Object.entries(t)){let a=r[i];if(!a){this.errors.add(`Service "${i}" was removed.`);continue}this.checkServiceBreakingChanges({id:i,from:n,to:a})}}checkServiceBreakingChanges({id:t,from:r,to:i}){this.checkHeadersBreakingChanges({id:t,from:r.headers,to:i.headers}),this.checkEndpointsBreakingChanges({id:t,from:r,to:i})}checkEndpointsBreakingChanges({id:t,from:r,to:i}){let n=Object.fromEntries(r.endpoints.map(u=>[u.id,u])),a=Object.fromEntries(i.endpoints.map(u=>[u.id,u]));for(let[u,l]of Object.entries(n)){let f=a[u];if(!f){this.errors.add(`Endpoint "${u}" was removed.`);continue}this.checkEndpointBreakingChanges({id:u,from:l,to:f})}}checkEndpointBreakingChanges({id:t,from:r,to:i}){this.checkHttpMethodsBreakingChanges({id:t,from:r.method,to:i.method}),this.checkHttpPathsBreakingChanges({id:t,from:r.fullPath,to:i.fullPath}),this.checkPathParametersBreakingChanges({id:t,from:r.pathParameters,to:i.pathParameters}),this.checkQueryParametersBreakingChanges({id:t,from:r.queryParameters,to:i.queryParameters}),this.checkHeadersBreakingChanges({id:t,from:r.headers,to:i.headers}),r.requestBody!=null&&(i.requestBody!=null?this.checkHttpRequestBodiesCompatible({id:t,from:r.requestBody,to:i.requestBody}):this.errors.add(`Request body was removed from endpoint "${r.id}".`)),r.response!=null&&(i.response!=null?this.checkHttpResponseBreakingChanges({id:t,from:r.response,to:i.response}):this.errors.add(`Response was removed from endpoint "${r.id}".`)),(r.pagination!=null&&i.pagination==null||r.pagination==null&&i.pagination!=null)&&this.errors.add(`Pagination was ${r.pagination!=null?"added":"removed"} from endpoint "${r.id}".`)}checkPathParametersBreakingChanges({id:t,from:r,to:i}){let n=Object.fromEntries(r.map(u=>[u.name.originalName,u])),a=Object.fromEntries(i.map(u=>[u.name.originalName,u]));for(let[u,l]of Object.entries(n)){let f=a[u];if(!f){this.errors.add(`Path parameter "${u}" was removed from endpoint "${t}".`);continue}this.areTypeReferencesCompatible({from:l.valueType,to:f.valueType})||this.errors.add(`Path parameter "${u}" type changed in endpoint "${t}".`)}}checkQueryParametersBreakingChanges({id:t,from:r,to:i}){let n=Object.fromEntries(r.map(u=>[u.name.wireValue,u])),a=Object.fromEntries(i.map(u=>[u.name.wireValue,u]));this.checkForNewRequiredTypeReferences({from:Object.fromEntries(Object.entries(n).map(([u,l])=>[u,l.valueType])),to:Object.fromEntries(Object.entries(a).map(([u,l])=>[u,l.valueType]))});for(let[u,l]of Object.entries(n)){let f=a[u];if(!f){this.errors.add(`Query parameter "${u}" was removed from endpoint "${t}".`);continue}this.areTypeReferencesCompatible({from:l.valueType,to:f.valueType})||this.errors.add(`Query parameter "${u}" type changed in endpoint "${t}".`),l.allowMultiple!==f.allowMultiple&&this.errors.add(`Query parameter "${u}" allow-multiple values changed in endpoint "${t}".`)}}checkHeadersBreakingChanges({id:t,from:r,to:i}){let n=Object.fromEntries(r.map(u=>[u.name.wireValue,u])),a=Object.fromEntries(i.map(u=>[u.name.wireValue,u]));this.checkForNewRequiredTypeReferences({from:Object.fromEntries(Object.entries(n).map(([u,l])=>[u,l.valueType])),to:Object.fromEntries(Object.entries(a).map(([u,l])=>[u,l.valueType]))});for(let[u,l]of Object.entries(n)){let f=a[u];if(!f){this.errors.add(`Header "${u}" was removed from ${t}.`);continue}this.areTypeReferencesCompatible({from:l.valueType,to:f.valueType})||this.errors.add(`Header "${u}" type changed in ${t}.`)}}checkHttpMethodsBreakingChanges({id:t,from:r,to:i}){r!==i&&this.errors.add(`HTTP method changed in ${t}.`)}checkHttpPathsBreakingChanges({id:t,from:r,to:i}){this.areHttpPathsCompatible({from:r,to:i})||this.errors.add(`HTTP path changed in ${t}.`)}areHttpPathsCompatible({from:t,to:r}){if(t.head!==r.head||t.parts.length!==r.parts.length)return!1;for(let i=0;i<t.parts.length;i++){let n=t.parts[i];if(n==null)return!1;let a=r.parts[i];if(a==null||n.pathParameter!==a.pathParameter||n.tail!==a.tail)return!1}return!0}checkHttpRequestBodiesCompatible({id:t,from:r,to:i}){switch(r.type){case"inlinedRequestBody":if(i.type==="inlinedRequestBody"&&this.areInlinedRequestBodiesCompatible({from:r,to:i}))return;break;case"reference":if(i.type==="reference"&&this.areReferenceRequestBodiesCompatible({from:r,to:i}))return;break;case"fileUpload":if(i.type==="fileUpload"&&this.areFileUploadRequestBodiesCompatible({from:r,to:i}))return;break;case"bytes":if(i.type==="bytes")return;break;default:Oo(r)}this.errors.add(`Request body type changed from "${r.type}" to "${i.type}" in endpoint "${t}".`)}areInlinedRequestBodiesCompatible({from:t,to:r}){let i=this.getInlinedRequestBody(t),n=this.getInlinedRequestBody(r);return this.checkForNewInlinedRequestBodyProperties({from:i,to:n}),Object.entries(i).every(([a,u])=>{let l=n[a];return l?this.areTypeReferencesCompatible({from:u,to:l}):(this.errors.add(`Request body property "${a}" was removed.`),!1)})}areReferenceRequestBodiesCompatible({from:t,to:r}){return this.areTypeReferencesCompatible({from:t.requestBodyType,to:r.requestBodyType})}areFileUploadRequestBodiesCompatible({from:t,to:r}){let i=this.getFileUploadRequest(t.properties),n=this.getFileUploadRequest(r.properties);this.checkForNewFileUploadRequestProperties({from:i,to:n});for(let[a,u]of Object.entries(i)){let l=n[a];if(!l)return this.errors.add(`File upload property "${a}" was removed.`),!1;if(u==="file"&&l!=="file")return this.errors.add(`File upload property "${a}" type changed.`),!1;if(u==="fileArray"&&l!=="fileArray")return this.errors.add(`File upload property "${a}" type changed.`),!1;if(u!=="file"&&u!=="fileArray"&&l!=="file"&&l!=="fileArray"&&!this.areTypeReferencesCompatible({from:u,to:l}))return this.errors.add(`File upload property "${a}" type changed.`),!1}return!0}checkHttpResponseBreakingChanges({id:t,from:r,to:i}){if(r.statusCode!==i.statusCode&&this.errors.add(`Response status code changed from "${r.statusCode}" to "${i.statusCode}".`),!(r.body==null&&i.body==null)){if(r.body==null||i.body==null){this.errors.add(`Response body was ${r.body==null?"added":"removed"}.`);return}switch(r.body.type){case"json":if(i.body.type==="json"){this.areJsonResponsesCompatible({from:r.body.value,to:i.body.value});return}break;case"fileDownload":if(i.body.type==="fileDownload")return;break;case"text":if(i.body.type==="text")return;break;case"bytes":if(i.body.type==="bytes")return;break;case"streaming":if(i.body.type==="streaming"){this.areStreamingResponsesCompatible({from:r.body.value,to:i.body.value});return}break;case"streamParameter":if(i.body.type==="streamParameter"){this.areStreamingResponsesCompatible({from:r.body.streamResponse,to:i.body.streamResponse});return}break;default:Oo(r.body)}this.errors.add(`HTTP response type "${r.body.type}" defined for endpoint "${t}" is not compatible with type "${i.body.type}".`)}}areJsonResponsesCompatible({from:t,to:r}){return this.areTypeReferencesCompatible({from:t.responseBodyType,to:r.responseBodyType})}areStreamingResponsesCompatible({from:t,to:r}){switch(t.type){case"json":if(r.type==="json")return this.areTypeReferencesCompatible({from:t.payload,to:r.payload});break;case"sse":if(r.type==="sse")return this.areTypeReferencesCompatible({from:t.payload,to:r.payload});break;case"text":if(r.type==="text")return!0;break;default:Oo(t)}return this.errors.add(`Streaming response type "${t.type}" is not compatible with type "${r.type}".`),!1}areTypeDeclarationsCompatible({from:t,to:r}){return this.areDeclaredTypeNamesCompatible({from:t.name,to:r.name})&&this.areTypeShapesCompatible({from:t.shape,to:r.shape})}areTypeShapesCompatible({from:t,to:r}){switch(t.type){case"alias":if(r.type==="alias")return this.areAliasTypesCompatible({from:t,to:r});break;case"enum":if(r.type==="enum")return this.areEnumTypesCompatible({from:t,to:r});break;case"object":if(r.type==="object")return this.areObjectTypesCompatible({from:t,to:r});break;case"union":if(r.type==="union")return this.areUnionTypesCompatible({from:t,to:r});break;case"undiscriminatedUnion":if(r.type==="undiscriminatedUnion")return this.areUndiscriminatedUnionTypesCompatible({from:t,to:r});break;default:Oo(t)}return this.errors.add(`Type "${t.type}" is not compatible with type "${r.type}".`),!1}areAliasTypesCompatible({from:t,to:r}){return this.areTypeReferencesCompatible({from:t.aliasOf,to:r.aliasOf})}areEnumTypesCompatible({from:t,to:r}){let i=Object.fromEntries(t.values.map(a=>[a.name.wireValue,a])),n=Object.fromEntries(r.values.map(a=>[a.name.wireValue,a]));return Object.keys(i).length!==Object.keys(n).length?!1:Object.values(i).every(a=>{let u=n[a.name.wireValue];return u?this.areNameAndWireValuesCompatible({from:a.name,to:u.name}):(this.errors.add(`Enum value "${a.name.wireValue}" was removed.`),!1)})}areObjectTypesCompatible({from:t,to:r}){let i=Object.fromEntries([...t.properties.map(a=>[a.name.wireValue,a]),...t.extendedProperties?.map(a=>[a.name.wireValue,a])??[]]),n=Object.fromEntries([...r.properties.map(a=>[a.name.wireValue,a]),...r.extendedProperties?.map(a=>[a.name.wireValue,a])??[]]);return this.checkForNewRequiredTypeReferences({from:Object.fromEntries(Object.entries(i).map(([a,u])=>[a,u.valueType])),to:Object.fromEntries(Object.entries(n).map(([a,u])=>[a,u.valueType]))}),Object.values(i).every(a=>{let u=n[a.name.wireValue];return u?this.areObjectPropertiesCompatible({from:a,to:u}):(this.errors.add(`Object property "${a.name.wireValue}" was removed.`),!1)})}areObjectPropertiesCompatible({from:t,to:r}){return this.areNameAndWireValuesCompatible({from:t.name,to:r.name})&&this.areTypeReferencesCompatible({from:t.valueType,to:r.valueType})}areUnionTypesCompatible({from:t,to:r}){if(!this.areNameAndWireValuesCompatible({from:t.discriminant,to:r.discriminant}))return this.errors.add(`Union type with discriminant value "${t.discriminant.wireValue}" changed.`),!1;let i=new Set(t.extends.map(s=>this.getKeyForDeclaration(s))),n=new Set(r.extends.map(s=>this.getKeyForDeclaration(s)));for(let s of i)if(!n.has(s))return this.errors.add(`Extended type "${s}" was removed.`),!1;let a=Object.fromEntries(t.baseProperties.map(s=>[s.name.wireValue,s])),u=Object.fromEntries(r.baseProperties.map(s=>[s.name.wireValue,s]));for(let s of Object.values(a)){let o=u[s.name.wireValue];if(!o)return this.errors.add(`Union type with discriminant value "${s.name.wireValue}" no longer has a property named "${s.name.wireValue}".`),!1;if(!this.areObjectPropertiesCompatible({from:s,to:o}))return!1}this.checkForNewRequiredTypeReferences({from:Object.fromEntries(Object.entries(a).map(([s,o])=>[s,o.valueType])),to:Object.fromEntries(Object.entries(u).map(([s,o])=>[s,o.valueType]))});let l=Object.fromEntries(t.types.map(s=>[s.discriminantValue.wireValue,s])),f=Object.fromEntries(r.types.map(s=>[s.discriminantValue.wireValue,s]));return Object.values(l).every(s=>{let o=f[s.discriminantValue.wireValue];return o?this.areSingleUnionTypesCompatible({from:s.shape,to:o.shape}):(this.errors.add(`Union type for discriminant value "${s.discriminantValue.wireValue}" was removed.`),!1)})}areSingleUnionTypesCompatible({from:t,to:r}){switch(t.propertiesType){case"samePropertiesAsObject":if(r.propertiesType==="samePropertiesAsObject")return this.areDeclaredTypeNamesCompatible({from:t,to:r});break;case"singleProperty":if(r.propertiesType==="singleProperty")return this.areNameAndWireValuesCompatible({from:t.name,to:r.name})&&this.areTypeReferencesCompatible({from:t.type,to:r.type});break;case"noProperties":if(r.propertiesType==="noProperties")return!0;break;default:Oo(t)}return this.errors.add(`Single union type of style "${t.propertiesType}" is not compatible with style "${r.propertiesType}".`),!1}areUndiscriminatedUnionTypesCompatible({from:t,to:r}){return t.members.every((i,n)=>{let a=r.members[n];return a?this.areTypeReferencesCompatible({from:i.type,to:a.type}):(this.errors.add(`Undiscriminated union member at index ${n} was removed.`),!1)})}checkForNewRequiredTypeReferences({from:t,to:r}){for(let[i,n]of Object.entries(r))t[i]||(n.type!=="container"||n.container.type!=="optional")&&this.errors.add(`Required property "${i}" was added.`)}checkForNewFileUploadRequestProperties({from:t,to:r}){for(let[i,n]of Object.entries(r))t[i]||n==="file"||n==="fileArray"||(n.type!=="container"||n.container.type!=="optional")&&this.errors.add(`Required property "${i}" was added.`)}checkForNewInlinedRequestBodyProperties({from:t,to:r}){for(let[i,n]of Object.entries(r))t[i]||(n.type!=="container"||n.container.type!=="optional")&&this.errors.add(`Required property "${i}" was added.`)}areTypeReferencesCompatible({from:t,to:r}){switch(t.type){case"primitive":if(r.type==="primitive")return this.arePrimitiveTypesCompatible({from:t,to:r});break;case"container":if(r.type==="container")return this.areContainerTypesCompatible({from:t.container,to:r.container});break;case"named":if(r.type==="named")return this.areNamedTypesCompatible({from:t,to:r});break;case"unknown":if(r.type==="unknown")return!0;break;default:Oo(t)}return this.errors.add(`TypeReference "${t.type}" is not compatible with type "${r.type}".`),!1}arePrimitiveTypesCompatible({from:t,to:r}){return t.primitive.v1===r.primitive.v1}areContainerTypesCompatible({from:t,to:r}){switch(t.type){case"list":if(r.type==="list")return this.areTypeReferencesCompatible({from:t.list,to:r.list});break;case"set":if(r.type==="set")return this.areTypeReferencesCompatible({from:t.set,to:r.set});break;case"map":if(r.type==="map")return this.areTypeReferencesCompatible({from:t.keyType,to:r.keyType})&&this.areTypeReferencesCompatible({from:t.valueType,to:r.valueType});break;case"optional":if(r.type==="optional")return this.areTypeReferencesCompatible({from:t.optional,to:r.optional});break;case"nullable":if(r.type==="nullable")return this.areTypeReferencesCompatible({from:t.nullable,to:r.nullable});break;case"literal":if(r.type==="literal")return this.areLiteralsCompatible({from:t.literal,to:r.literal});break;default:Oo(t)}return this.errors.add(`Container type "${t.type}" is not compatible with type "${r.type}".`),!1}areNamedTypesCompatible({from:t,to:r}){return this.areNamesCompatible({from:t.name,to:r.name})&&this.areFernFilepathsCompatible({from:t.fernFilepath,to:r.fernFilepath})}areDeclaredTypeNamesCompatible({from:t,to:r}){return this.areNamesCompatible({from:t.name,to:r.name})&&this.areFernFilepathsCompatible({from:t.fernFilepath,to:r.fernFilepath})}areDeclaredErrorNamesCompatible({from:t,to:r}){return this.areNamesCompatible({from:t.name,to:r.name})&&this.areFernFilepathsCompatible({from:t.fernFilepath,to:r.fernFilepath})}areNameAndWireValuesCompatible({from:t,to:r}){return this.areNamesCompatible({from:t.name,to:r.name})&&t.wireValue===r.wireValue}areLiteralsCompatible({from:t,to:r}){switch(t.type){case"boolean":if(r.type==="boolean")return t.boolean===r.boolean;break;case"string":if(r.type==="string")return t.string===r.string;break;default:Oo(t)}return!1}areFernFilepathsCompatible({from:t,to:r}){return t.allParts.length!==r.allParts.length?!1:t.allParts.every((i,n)=>{let a=r.allParts[n];return a==null?!1:this.areNamesCompatible({from:i,to:a})})}areNamesCompatible({from:t,to:r}){return t.originalName===r.originalName}getInlinedRequestBody(t){let r={};for(let i of[...t.extendedProperties??[],...t.properties])r[i.name.wireValue]=i.valueType;return r}getFileUploadRequest(t){let r={};for(let i of t)switch(i.type){case"file":r[i.value.key.wireValue]="file";break;case"bodyProperty":r[i.name.wireValue]=i.valueType;break;default:Oo(i)}return r}getKeyForDeclaration({name:t,fernFilepath:r}){return`${r.allParts.map(n=>n.camelCase.unsafeName).join(".")}.${t.pascalCase.unsafeName}`}};function SXp({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:Bz({filteredIr:e,exampleTypeReference:n.value})})).filter(n=>n.value!==void 0)}}:void 0;return i!==void 0?OF.samePropertiesAsObject(i):void 0},singleProperty:r=>{let i=Bz({filteredIr:e,exampleTypeReference:r});return i!==void 0?OF.singleProperty(i):void 0},noProperties:()=>t,_other:()=>{throw new Error("Received unknown type for example.")}})}function Bz({filteredIr:e,exampleTypeReference:t}){return t.shape._visit({primitive:()=>t,container:r=>r._visit({list:i=>({...t,shape:jh.container(ZO.list({...i,list:i.list.map(n=>Bz({filteredIr:e,exampleTypeReference:n})).filter(n=>n!==void 0)}))}),set:i=>({...t,shape:jh.container(ZO.set({...i,set:i.set.map(n=>Bz({filteredIr:e,exampleTypeReference:n})).filter(n=>n!==void 0)}))}),optional:i=>{let n=i.optional!=null?Bz({filteredIr:e,exampleTypeReference:i.optional}):void 0;return n!=null?{...t,shape:jh.container(ZO.optional({optional:n,valueType:i.valueType}))}:void 0},nullable:i=>{let n=i.nullable!=null?Bz({filteredIr:e,exampleTypeReference:i.nullable}):void 0;return n!=null?{...t,shape:jh.container(ZO.nullable({nullable:n,valueType:i.valueType}))}:void 0},map:i=>({...t,shape:jh.container(ZO.map({...i,map:i.map.map(n=>{let a=Bz({filteredIr:e,exampleTypeReference:n.key}),u=Bz({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=Bz({filteredIr:e,exampleTypeReference:i.value});return n!==void 0?{...t,shape:jh.named({...r,shape:lw.alias({...i,value:n})})}:void 0},enum:i=>({...t,shape:jh.named({...r,shape:lw.enum(i)})}),object:i=>({...t,shape:jh.named({...r,shape:lw.object({...i,properties:i.properties.filter(n=>e.hasProperty(n.originalTypeDeclaration.typeId,n.name.wireValue)).map(n=>({...n,value:Bz({filteredIr:e,exampleTypeReference:n.value})})).filter(n=>n.value!==void 0)})})}),union:i=>{let n=SXp({filteredIr:e,singleUnionTypeProperties:i.singleUnionType.shape});return n!==void 0?{...t,shape:jh.named({...r,shape:lw.union({...i,singleUnionType:{...i.singleUnionType,shape:n}})})}:void 0},undiscriminatedUnion:i=>{let n=Bz({filteredIr:e,exampleTypeReference:i.singleUnionType});return n!==void 0?{...t,shape:jh.named({...r,shape:lw.undiscriminatedUnion({...i,singleUnionType:n})})}:void 0},_other:()=>{throw new Error("Received unknown type for example.")}}):void 0,unknown:()=>t,_other:()=>t})}function eZs({filteredIr:e,pathParameters:t}){return t.map(r=>{let i=Bz({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...r,value:i}:void 0}).filter(r=>r!==void 0)}function QQD({filteredIr:e,queryParameters:t}){return t.map(r=>{let i=Bz({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...r,value:i}:void 0}).filter(r=>r!==void 0)}function wXp({filteredIr:e,headers:t}){return t.map(r=>{let i=Bz({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...r,value:i}:void 0}).filter(r=>r!==void 0)}function JQD({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=Bz({filteredIr:e,exampleTypeReference:i.value});return n!==void 0?{...i,value:n}:void 0}).filter(i=>i!==void 0)}),reference:r=>{let i=Bz({filteredIr:e,exampleTypeReference:r});return i!==void 0?gG.reference(i):void 0},_other:()=>{throw new Error("Received unknown type for example.")}})}function KQD({filteredIr:e,response:t}){return t._visit({ok:r=>r._visit({body:i=>kq.ok(_C.body(i!=null?Bz({filteredIr:e,exampleTypeReference:i}):void 0)),stream:i=>kq.ok(_C.stream(i.map(n=>Bz({filteredIr:e,exampleTypeReference:n})).filter(j0))),sse:i=>kq.ok(_C.sse(i.map(({event:n,data:a})=>{let u=Bz({filteredIr:e,exampleTypeReference:a});return u!==void 0?{event:n,data:u}:void 0}).filter(j0))),_other:({type:i})=>{throw new Error(`Received unknown type for OK example: ${i}`)}}),error:({error:r,body:i})=>kq.error({error:r,body:i!=null?Bz({filteredIr:e,exampleTypeReference:i}):void 0}),_other:({type:r})=>{throw new Error(`Received unknown type for example: ${r}`)}})}function tZs({filteredIr:e,example:t}){return{...t,rootPathParameters:eZs({filteredIr:e,pathParameters:t.rootPathParameters}),servicePathParameters:eZs({filteredIr:e,pathParameters:t.servicePathParameters}),endpointPathParameters:eZs({filteredIr:e,pathParameters:t.endpointPathParameters}),serviceHeaders:wXp({filteredIr:e,headers:t.serviceHeaders}),endpointHeaders:wXp({filteredIr:e,headers:t.endpointHeaders}),queryParameters:QQD({filteredIr:e,queryParameters:t.queryParameters}),request:t.request!==void 0?JQD({filteredIr:e,requestBody:t.request}):void 0,response:KQD({filteredIr:e,response:t.response})}}function DXp({filteredIr:e,exampleType:t}){return t.shape._visit({alias:r=>{let i=Bz({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...t,shape:lw.alias({...r,value:i})}:void 0},enum:()=>t,object:r=>({...t,shape:lw.object({...r,properties:r.properties.filter(i=>e.hasProperty(i.originalTypeDeclaration.typeId,i.name.wireValue)).map(i=>({...i,value:Bz({filteredIr:e,exampleTypeReference:i.value})})).filter(i=>i.value!==void 0)})}),union:r=>{let i=SXp({filteredIr:e,singleUnionTypeProperties:r.singleUnionType.shape});return i!==void 0?{...t,shape:lw.union({...r,singleUnionType:{...r.singleUnionType,shape:i}})}:void 0},undiscriminatedUnion:r=>{let i=Bz({filteredIr:e,exampleTypeReference:r.singleUnionType});return i!==void 0?{...t,shape:lw.undiscriminatedUnion({...r,singleUnionType:i})}:void 0},_other:()=>{throw new Error("Received unknown type for example.")}})}function rZs(e,t){if(t==null)return e;let r=ZCi(e.types,u=>t.hasType(u)),i=Object.fromEntries(Object.entries(r).map(([u,l])=>{let f=[];if(l.userProvidedExamples=l.userProvidedExamples.map(s=>DXp({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:NO.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:ZCi(e.errors,u=>t.hasError(u)),services:ad(ZCi(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:tZs({filteredIr:t,example:f.example})})),l.userSpecifiedExamples=l.userSpecifiedExamples.map(f=>({...f,example:f.example!=null?tZs({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:YQD(e.serviceTypeReferenceInfo,t)}}function YQD(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}}var eW={};jn(eW,{AudienceExtension:()=>BFo,FernAvailabilityExtension:()=>xFo,FernEnumExtension:()=>IFo,FernIgnoreExtension:()=>YFi,FernOptionalExtension:()=>zFo,FernTypeExtension:()=>FFo,FernTypeNameExtension:()=>LFo,SdkGroupNameExtension:()=>RFo,SdkMethodNameExtension:()=>NFo});var BFo=class extends oj{operation;key="x-fern-audiences";constructor({breadcrumbs:t,operation:r,context:i}){super({breadcrumbs:t,context:i}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t==null)return;let r=Array.isArray(t)?t.filter(i=>typeof i=="string"):typeof t=="string"?[t]:[];if(r.length!==0)return{audiences:r}}};var xFo=class extends oj{node;key="x-fern-availability";constructor({breadcrumbs:t,node:r,context:i}){super({breadcrumbs:t,context:i}),this.node=r}convert(){let t=this.getExtensionValue(this.node);if(t==null||typeof t!="string")return;switch(t.toUpperCase().replace(/[-_\s]/g,"_")){case"IN_DEVELOPMENT":return D5.InDevelopment;case"PRE_RELEASE":return D5.PreRelease;case"GENERAL_AVAILABILITY":return D5.GeneralAvailability;case"DEPRECATED":return D5.Deprecated;default:return}}};var XQD=pu.object({snake:pu.string().optional(),camel:pu.string().optional(),screamingSnake:pu.string().optional(),pascal:pu.string().optional()}),ZQD=pu.object({description:pu.string().optional(),name:pu.string().optional(),casing:XQD.optional()}),EXp=pu.record(ZQD);var IFo=class extends oj{schema;key="x-fern-enum";constructor({breadcrumbs:t,schema:r,context:i}){super({breadcrumbs:t,context:i}),this.schema=r}convert(){let t=this.getExtensionValue(this.schema);if(t==null)return;let r=EXp.safeParse(t);if(!r.success){this.context.errorCollector.collect({message:`Invalid x-fern-enum extension: ${r.error.message}`,path:this.breadcrumbs});return}return r.data}};var YFi=class extends oj{operation;key="x-fern-ignore";constructor({breadcrumbs:t,operation:r,context:i}){super({breadcrumbs:t,context:i}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t!=null){if(typeof t!="boolean"){this.context.errorCollector.collect({message:"Received unexpected non-boolean value for x-fern-ignore",path:this.breadcrumbs});return}return t}}};var zFo=class extends oj{parameter;key="x-fern-optional";constructor({breadcrumbs:t,parameter:r,context:i}){super({breadcrumbs:t,context:i}),this.parameter=r}convert(){let t=this.getExtensionValue(this.parameter);if(t!=null){if(typeof t!="boolean"){this.context.errorCollector.collect({message:"Received unexpected non-boolean value for x-fern-optional",path:this.breadcrumbs});return}return t}}};var RFo=class extends oj{operation;key="x-fern-sdk-group-name";constructor({breadcrumbs:t,operation:r,context:i}){super({breadcrumbs:t,context:i}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t==null)return;let r=Array.isArray(t)?t.filter(i=>typeof i=="string"):typeof t=="string"?[t]:[];if(r.length!==0)return{groups:r}}};var NFo=class extends oj{operation;key="x-fern-sdk-method-name";constructor({breadcrumbs:t,operation:r,context:i}){super({breadcrumbs:t,context:i}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t!=null&&typeof t=="string")return{methodName:t}}};var FFo=class extends oj{schema;key="x-fern-type";constructor({breadcrumbs:t,schema:r,context:i}){super({breadcrumbs:t,context:i}),this.schema=r}convert(){let t=this.getExtensionValue(this.schema);if(t!=null&&typeof t=="string")return t}};var LFo=class extends oj{schema;key="x-fern-type-name";constructor({breadcrumbs:t,schema:r,context:i}){super({breadcrumbs:t,context:i}),this.schema=r}convert(){let t=this.getExtensionValue(this.schema);if(typeof t=="string")return t}};var RYr=class extends M0{ir;audiences;irGraph;constructor({breadcrumbs:t=[],context:r,audiences:i}){super({breadcrumbs:t,context:r}),this.audiences=i,this.irGraph=new KFi(i),this.ir={auth:{docs:void 0,requirement:Hs.AuthSchemesRequirement.All,schemes:[]},selfHosted:!1,types:{},services:{},errors:{},webhookGroups:{},websocketChannels:void 0,headers:[],idempotencyHeaders:[],apiVersion:void 0,apiDisplayName:void 0,apiDocs:void 0,basePath:void 0,pathParameters:[],errorDiscriminationStrategy:Hs.ErrorDiscriminationStrategy.statusCode(),variables:[],serviceTypeReferenceInfo:{sharedTypes:[],typesReferencedOnlyByService:{}},readmeConfig:void 0,sourceConfig:void 0,publishConfig:void 0,dynamic:void 0,environments:void 0,fdrApiDefinitionId:void 0,rootPackage:this.createPackage(),subpackages:{},sdkConfig:{hasFileDownloadEndpoints:!1,hasPaginatedEndpoints:!1,hasStreamingEndpoints:!1,isAuthMandatory:!0,platformHeaders:{language:"",sdkName:"",sdkVersion:"",userAgent:void 0}}}}removeXFernIgnores({document:t,breadcrumbs:r=[]}){return Array.isArray(t)?t.filter((i,n)=>!new YFi({breadcrumbs:[...r,String(n)],operation:i,context:this.context}).convert()).map((i,n)=>this.removeXFernIgnores({document:i,breadcrumbs:[...r,String(n)]})):t!=null&&typeof t=="object"?Object.fromEntries(Object.entries(t).filter(([i,n])=>!new YFi({breadcrumbs:[...r,i],operation:n,context:this.context}).convert()).map(([i,n])=>[i,this.removeXFernIgnores({document:n,breadcrumbs:[...r,i]})])):t}finalizeIr(){let t={...this.ir,apiName:this.context.casingsGenerator.generateName(this.ir.apiDisplayName??""),constants:{errorInstanceIdKey:this.context.casingsGenerator.generateNameAndWireValue({wireValue:"errorInstanceId",name:"errorInstanceId"})}};return t=this.irGraph.hasNoAudiences()?t:this.filterIrForAudiences(t),{...t,...o0a({ir:t,exampleGeneration:this.context.exampleGenerationArgs}),...KXs({ir:t,exampleGeneration:this.context.exampleGenerationArgs})}}filterIrForAudiences(t){let r=this.irGraph.getFilteredEndpoints(),i=this.irGraph.getFilteredChannels(),n=this.irGraph.getFilteredWebhooks();for(let a of Object.values(t.services)){let u=[];for(let l of a.endpoints)r.has(l.id)&&u.push(l);a.endpoints=u}return t.websocketChannels=Object.fromEntries(Object.entries(t.websocketChannels??{}).filter(([a])=>i.has(a))),t.webhookGroups=Object.fromEntries(Object.entries(t.webhookGroups).filter(([a])=>n.has(a))),t}async resolveAllExternalRefs({spec:t}){let r=[t];for(;r.length>0;){let i=r.shift();i!=null&&(Array.isArray(i)?await this.resolveExternalRefsInArray(i,r):typeof i=="object"&&await this.resolveExternalRefsInObject(i,r))}return t}async resolveExternalRefsInArray(t,r){for(let i=0;i<t.length;i++)t[i]=await this.resolveReferenceChain(t[i],r)}async resolveExternalRefsInObject(t,r){for(let[i,n]of Object.entries(t))t[i]=await this.resolveReferenceChain(n,r)}async resolveReferenceChain(t,r){let i=t;if(!this.context.isReferenceObject(i))return r.push(i),t;for(;this.context.isReferenceObject(i);){let n=this.context.isExternalReference(i.$ref),a=await this.context.resolveMaybeExternalReference({$ref:i.$ref});if(a.resolved){if(i=a.value,n)return i}else return t}return t}addEndpointToIr({endpoint:t,audiences:r,endpointGroup:i,serviceName:n}){let a=this.context.getGroup({groupParts:i,namespace:this.context.namespace}),u=this.getOrCreatePackage({group:i}),l=[...a].map(o=>this.context.casingsGenerator.generateName(o)),f=l[l.length-1];u.service==null&&(u.service=n??`service_${a.map(o=>L_(o)).join("/")}`),this.ir.services[u.service]==null&&(this.ir.services[u.service]=this.createNewService({allParts:l,finalpart:f})),this.ir.services[u.service]?.endpoints.push(t);let s=this.ir.services[u.service];s!=null&&(this.irGraph.addEndpoint(s,t),this.irGraph.markEndpointForAudience(s.name,[t],r))}addWebhookToIr({webhook:t,operationId:r,audiences:i,group:n}){let a=n?.join(".")??r,u=this.getOrCreatePackage({group:n});this.ir.webhookGroups[a]==null&&(this.ir.webhookGroups[a]=[]),this.ir.webhookGroups[a].push(t),u.webhooks=a;let l=this.context.createFernFilepath();this.irGraph.addWebhook(l,t),i!=null&&this.irGraph.markWebhookForAudiences(l,t,i)}addWebsocketChannelToIr({websocketChannel:t,channelPath:r,audiences:i,websocketGroup:n}){let a=L_(n?.join(".")),u=L_(r),l=this.context.namespace?`${L_(this.context.namespace)}/`:"",f=a?`channel_${l}${a}`:`channel_${l}${u}`,s=n?this.getOrCreatePackage({group:n}):this.getOrCreatePackage({group:[u]});this.ir.websocketChannels={...this.ir.websocketChannels,[f]:t},f!==""?s.websocket==null&&(s.websocket=f):this.ir.rootPackage.websocket="";let o=this.context.createFernFilepath();this.irGraph.addChannel(o,f,t),i!=null&&this.irGraph.markChannelForAudiences(o,f,i)}addAuthToIR(t){this.ir.auth=t}addErrorsToIr(t){this.ir.errors=t;for(let r of Object.values(t))this.irGraph.addError(r)}addEnvironmentsToIr({environmentConfig:t,audiences:r}){if(this.ir.environments=t,r!=null)for(let[i,n]of Object.entries(t??{}))r[i]!=null&&this.irGraph.markEnvironmentForAudiences(n,r[i])}addTypeToRootPackage(t){this.ir.rootPackage.types.push(t)}addTypeToPackage(t){let r=this.context.getGroup({groupParts:[],namespace:this.context.namespace});this.getOrCreatePackage({group:r}).types.push(t)}addTypesToIr(t){Object.assign(this.ir.types,Object.fromEntries(Object.entries(t).map(([r,i])=>[r,i.typeDeclaration])));for(let r of Object.values(t))this.irGraph.addType({declaredTypeName:r.typeDeclaration.name,descendantTypeIds:r.typeDeclaration.referencedTypes,descendantTypeIdsByAudience:{},propertiesByAudience:r.propertiesByAudience,descendantFilepaths:new Set}),this.irGraph.markTypeForAudiences(r.typeDeclaration.name,r.audiences)}updateEndpointsWithDefaultUrl(t){if(t!=null)for(let r of Object.values(this.ir.services))for(let i of r.endpoints)i.baseUrl==null&&(i.baseUrl=t)}createNewService({allParts:t,finalpart:r}){return{name:{fernFilepath:{allParts:t,packagePath:t.slice(0,-1),file:r}},displayName:void 0,basePath:pN(""),headers:[],pathParameters:[],availability:void 0,endpoints:[],transport:void 0,encoding:void 0}}createPackage(t={}){return{fernFilepath:this.context.createFernFilepath(t),service:void 0,types:[],errors:[],subpackages:[],docs:void 0,webhooks:void 0,websocket:void 0,hasEndpointsInTree:!1,navigationConfig:void 0}}getOrCreatePackage({group:t}){let r=[];if(this.context.namespace!=null&&r.push(this.context.namespace),r.push(...(t??[]).map(n=>L_(n))),r.length==0)return this.ir.rootPackage;let i=this.ir.rootPackage;for(let n=0;n<r.length;n++){let a=r[n]??"",l=`subpackage_${r.slice(0,n+1).join("/")}`;this.ir.subpackages[l]==null&&(this.ir.subpackages[l]={name:this.context.casingsGenerator.generateName(a),...this.createPackage({name:a})});let f=this.ir.subpackages[l];i.subpackages.includes(l)||i.subpackages.push(l),i=f}return i}};var bA={};jn(bA,{AbstractConverters:()=>nZs,ExampleConverter:()=>FZt,SchemaConverters:()=>iZs,ServersConverter:()=>LZt});var nZs={};jn(nZs,{AbstractMediaTypeObjectConverter:()=>VFo,AbstractParameterConverter:()=>WFo});var FZt=class e extends M0{MAX_DEPTH=12;EXAMPLE_STRING="foo";EXAMPLE_NUMBER=42;EXAMPLE_BOOLEAN=!0;EXAMPLE_INTEGER=42;schema;example;depth;exampleGenerationStrategy;generateOptionalProperties;constructor({breadcrumbs:t,context:r,schema:i,example:n,depth:a=0,exampleGenerationStrategy:u,generateOptionalProperties:l=!1}){super({breadcrumbs:t,context:r}),this.example=n,this.schema=i,this.depth=a,this.exampleGenerationStrategy=u,this.generateOptionalProperties=l}convert(){if(this.depth>this.MAX_DEPTH)return{isValid:!0,coerced:!1,validExample:this.example,errors:[]};let t=this.context.resolveMaybeReference({schemaOrReference:this.schema,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0});return t==null?{isValid:!1,coerced:!1,validExample:null,errors:[{message:"Schema is not resolvable",path:this.breadcrumbs}]}:typeof t!="object"?{isValid:!1,coerced:!1,validExample:null,errors:[{message:`Schema should be an object: ${JSON.stringify(t,null,2)}`,path:this.breadcrumbs}]}:"nullable"in t&&t.nullable===!0&&this.example===null?{isValid:!0,coerced:!1,validExample:this.example,errors:[]}:Array.isArray(t.type)?this.convertSchemaTypeArray({resolvedSchema:t}):t.type=="null"?this.convertNull():t.type=="boolean"?this.convertBoolean():t.enum!=null?this.convertEnum(t):t.type=="number"?this.convertNumber():t.type=="string"?this.convertString():t.type=="integer"?this.convertInteger():t.type=="array"?this.convertArray({resolvedSchema:t}):"oneOf"in t&&t.oneOf!=null?this.convertOneOf({resolvedSchema:t}):"anyOf"in t&&t.anyOf!=null?this.convertAnyOf({resolvedSchema:t}):t.type=="object"||t.properties!=null||t.allOf!=null?this.convertObject({resolvedSchema:t}):typeof t=="object"&&Object.keys(t).length===0?{isValid:!0,coerced:!1,validExample:this.example,errors:[]}:{isValid:!1,coerced:!1,validExample:null,errors:[{message:`Unsupported schema type: ${JSON.stringify(t,null,2)}`,path:this.breadcrumbs}]}}convertNull(){let t=this.example===null;return t?{isValid:t,coerced:!1,validExample:this.example,errors:[]}:{isValid:!1,coerced:!1,validExample:null,errors:[{message:`Example is not null: ${JSON.stringify(this.example,null,2)}`,path:this.breadcrumbs}]}}convertBoolean(){let t=typeof this.example=="boolean";if(t)return{isValid:t,coerced:!1,validExample:this.example,errors:[]};let r=this.context.isReferenceObject(this.schema)?this.context.resolveMaybeReference({schemaOrReference:this.schema,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0})?.default:this.schema.default;return typeof r=="boolean"?{isValid:!0,coerced:!1,validExample:r,errors:[]}:{isValid:!1,coerced:!1,validExample:this.maybeResolveSchemaExample(this.schema)??this.EXAMPLE_BOOLEAN,errors:[{message:`Example is not a boolean: ${JSON.stringify(this.example,null,2)}`,path:this.breadcrumbs}]}}convertEnum(t){let r=t.enum?.includes(this.example)??!1;if(r)return{isValid:r,coerced:!1,validExample:this.example,errors:[]};let i=this.context.isReferenceObject(this.schema)?this.context.resolveMaybeReference({schemaOrReference:this.schema,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0})?.default:this.schema.default;return i!==void 0&&t.enum?.includes(i)?{isValid:!0,coerced:!1,validExample:i,errors:[]}:{isValid:r,coerced:!1,validExample:t.enum?.[0],errors:[{message:`Example is not one of the allowed enum values: ${JSON.stringify(t.enum,null,2)}`,path:this.breadcrumbs}]}}convertNumber(){if(typeof this.example=="number")return{isValid:!0,coerced:!1,validExample:this.example,errors:[]};let t=Number(this.example);if(!isNaN(t))return{isValid:!0,coerced:!0,validExample:t,errors:[]};let r=this.context.isReferenceObject(this.schema)?this.context.resolveMaybeReference({schemaOrReference:this.schema,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0})?.default:this.schema.default;return typeof r=="number"?{isValid:!0,coerced:!1,validExample:r,errors:[]}:{isValid:!1,coerced:!1,validExample:this.maybeResolveSchemaExample(this.schema)??this.EXAMPLE_NUMBER,errors:[{message:`Example is not a number: ${JSON.stringify(this.example,null,2)}`,path:this.breadcrumbs}]}}convertString(){if(typeof this.example=="string")return{isValid:!0,coerced:!1,validExample:this.example,errors:[]};if(typeof this.example!="object"&&!Array.isArray(this.example)&&this.example!=null)return{isValid:!0,coerced:!0,validExample:String(this.example),errors:[]};let t=this.context.isReferenceObject(this.schema)?this.context.resolveMaybeReference({schemaOrReference:this.schema,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0})?.default:this.schema.default;return typeof t=="string"?{isValid:!0,coerced:!1,validExample:t,errors:[]}:{isValid:!1,coerced:!1,validExample:this.maybeResolveSchemaExample(this.schema)??this.EXAMPLE_STRING,errors:[{message:`Example cannot be converted to string: ${JSON.stringify(this.example,null,2)}`,path:this.breadcrumbs}]}}convertInteger(){if(typeof this.example=="number"&&Number.isInteger(this.example))return{isValid:!0,coerced:!1,validExample:this.example,errors:[]};if(typeof this.example=="string"){let r=Number(this.example);if(!isNaN(r)&&Number.isInteger(r))return{isValid:!0,coerced:!0,validExample:r,errors:[]}}let t=this.context.isReferenceObject(this.schema)?this.context.resolveMaybeReference({schemaOrReference:this.schema,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0})?.default:this.schema.default;return typeof t=="number"&&Number.isInteger(t)?{isValid:!0,coerced:!1,validExample:t,errors:[]}:{isValid:!1,coerced:!1,validExample:this.maybeResolveSchemaExample(this.schema)??this.EXAMPLE_INTEGER,errors:[{message:`Example is not an integer: ${JSON.stringify(this.example,null,2)}`,path:this.breadcrumbs}]}}convertArray({resolvedSchema:t}){if(t.type!="array")return{isValid:!1,coerced:!1,validExample:null,errors:[]};t.items==null&&(t.items={type:"string"});let i=(Array.isArray(this.example)?this.example:[this.example]).map(a=>new e({breadcrumbs:[...this.breadcrumbs,"items"],context:this.context,schema:t.items,example:a,depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy}).convert()),n=i.every(a=>a?.isValid??!1);return{isValid:n,coerced:!1,validExample:i.map(a=>a.validExample),errors:n?[]:i.flatMap(a=>a.errors)}}convertObject({resolvedSchema:t}){if(t.type=="object"&&t.properties==null&&t.allOf==null)return{isValid:!0,coerced:!1,validExample:this.example??{},errors:[]};let r=typeof this.example!="object"||this.example==null?{}:this.example,i=Object.entries(t.properties??{}).map(([l,f])=>{if(typeof f!="object")return{key:l,result:{isValid:!0,coerced:!1,validExample:void 0,errors:[]}};if(this.isDeprecatedProperty(f)&&!this.isRequiredProperty({key:l,resolvedSchema:t}))return{key:l,result:{isValid:!0,coerced:!1,validExample:void 0,errors:[]}};if("readOnly"in f&&f.readOnly===!0&&"writeOnly"in f&&f.writeOnly===!0)return{key:l,result:{isValid:!0,coerced:!1,validExample:void 0,errors:[]}};if("readOnly"in f&&f.readOnly===!0&&this.exampleGenerationStrategy==="request")return{key:l,result:{isValid:!0,coerced:!1,validExample:void 0,errors:[]}};if("writeOnly"in f&&f.writeOnly===!0&&this.exampleGenerationStrategy==="response")return{key:l,result:{isValid:!0,coerced:!1,validExample:void 0,errors:[]}};let s=!(l in r)||!("nullable"in f)&&r[l]==null||"nullable"in f&&f.nullable===!0&&r[l]===void 0,o=!t.required?.includes(l);if(s&&o){if(this.example===void 0&&this.generateOptionalProperties){let c=new e({breadcrumbs:[...this.breadcrumbs,l],context:this.context,schema:f,example:void 0,depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy});return{key:l,result:c.convert()}}return{key:l,result:{isValid:!0,coerced:!1,validExample:void 0,errors:[]}}}else{let b=new e({breadcrumbs:[...this.breadcrumbs,l],context:this.context,schema:f,example:r[l],depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy}).convert();return{key:l,result:b}}}),n=(t.allOf??[]).map((l,f)=>new e({breadcrumbs:[...this.breadcrumbs,`allOf[${f}]`],context:this.context,schema:{...t,...l,allOf:void 0},example:this.example,depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy}).convert()),a=i.every(l=>l.result.isValid)&&n.every(l=>l.isValid),u=Object.fromEntries(i.map(({key:l,result:f})=>[l,f.validExample]).filter(([l,f])=>f!==void 0));for(let l of n)if(typeof l.validExample=="object"&&l.validExample!==null){let f=l.validExample;u={...u,...Object.fromEntries(Object.entries(f).filter(([s,o])=>o!==void 0))}}if(Object.keys(u).length===0){let l=n.find(f=>f.validExample!==void 0&&(typeof f.validExample!="object"||f.validExample===null));l&&(u=l.validExample)}return{isValid:a,coerced:!1,validExample:u,errors:[...i.flatMap(({result:l})=>l.errors),...n.flatMap(l=>l.errors)]}}convertSchemaTypeArray({resolvedSchema:t}){if(!Array.isArray(t.type))return{isValid:!1,coerced:!1,validExample:null,errors:[]};if(t.type.length===1)return new e({breadcrumbs:this.breadcrumbs,context:this.context,schema:{...t,type:t.type[0]},example:this.example,depth:this.depth,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy}).convert();let r=t.type.map((u,l)=>new e({breadcrumbs:[...this.breadcrumbs,`type[${l}]`],context:this.context,schema:{...t,type:u},example:this.example,depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy}).convert()),i=r.some(u=>u?.isValid??!1),a=r.find(u=>u.isValid)?.validExample??r[0]?.validExample??null;return{isValid:i,coerced:!1,validExample:a,errors:i?[]:r.flatMap(u=>u?.errors??[])}}convertOneOf({resolvedSchema:t}){if(!("oneOf"in t)||t.oneOf==null)return{isValid:!1,coerced:!1,validExample:null,errors:[]};let r=t.oneOf.map((u,l)=>new e({breadcrumbs:[...this.breadcrumbs,`oneOf[${l}]`],context:this.context,schema:{...t,...u,oneOf:void 0},example:this.example,depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy}).convert()),i=r.filter(u=>u.isValid),n=i.length>0,a;return n?a=i.find(l=>!l.coerced)?.validExample??i[0]?.validExample:a=r[0]?.validExample,{isValid:n,coerced:!1,validExample:a,errors:n?[]:r.flatMap(u=>u.errors)}}convertAnyOf({resolvedSchema:t}){if(!("anyOf"in t)||t.anyOf==null)return{isValid:!1,coerced:!1,validExample:null,errors:[]};let r=t.anyOf.map((u,l)=>new e({breadcrumbs:[...this.breadcrumbs,`anyOf[${l}]`],context:this.context,schema:u,example:this.example,depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy}).convert()),i=r.filter(u=>u.isValid),n=i.length>0,a;return n?a=i.find(l=>!l.coerced)?.validExample??i[0]?.validExample:a=r[0]?.validExample,{isValid:n,coerced:!1,validExample:a,errors:n?[]:r.flatMap(u=>u.errors)}}maybeResolveSchemaExample(t){let r=this.context.resolveMaybeReference({schemaOrReference:t,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0});if(r!=null){if("example"in r)return r.example;if("examples"in r)return Object.values(r.examples??{})[0]}}isDeprecatedProperty(t){return t!=null&&"availability"in t&&t.availability==="deprecated"}isRequiredProperty({key:t,resolvedSchema:r}){return r.required?.includes(t)??!1}};var iZs={};jn(iZs,{ArraySchemaConverter:()=>PMn,EnumSchemaConverter:()=>bMn,ObjectSchemaConverter:()=>gMn,OneOfSchemaConverter:()=>OMn,PrimitiveSchemaConverter:()=>mMn,SchemaConverter:()=>I_i,SchemaOrReferenceConverter:()=>XX});function MXp(e){return U2({type:e,_default:void 0,validation:void 0,visitor:{primitive:t=>{switch(t.v1){case"BASE_64":return Gf.primitive({v1:"BASE_64",v2:th.base64({})});case"BOOLEAN":return Gf.primitive({v1:"BOOLEAN",v2:th.boolean({default:void 0})});case"DATE":return Gf.primitive({v1:"DATE",v2:th.date({})});case"DATE_TIME":return Gf.primitive({v1:"DATE_TIME",v2:th.dateTime({})});case"FLOAT":return Gf.primitive({v1:"FLOAT",v2:th.float({})});case"DOUBLE":return Gf.primitive({v1:"DOUBLE",v2:th.double({default:void 0,validation:void 0})});case"UINT":return Gf.primitive({v1:"UINT",v2:th.uint({})});case"UINT_64":return Gf.primitive({v1:"UINT_64",v2:th.uint64({})});case"INTEGER":return Gf.primitive({v1:"INTEGER",v2:th.integer({default:void 0,validation:void 0})});case"LONG":return Gf.primitive({v1:"LONG",v2:th.long({default:void 0})});case"STRING":return Gf.primitive({v1:"STRING",v2:th.string({default:void 0,validation:void 0})});case"UUID":return Gf.primitive({v1:"UUID",v2:th.uuid({})});case"BIG_INTEGER":return Gf.primitive({v1:"BIG_INTEGER",v2:th.bigInteger({default:void 0})});default:return}},unknown:()=>Gf.unknown(),map:({keyType:t,valueType:r})=>{if(!(t==null||r==null))return Gf.container(Ib.map({keyType:t,valueType:r}))},list:t=>{if(t!=null)return Gf.container(Ib.list(t))},optional:t=>{if(t!=null)return Gf.container(Ib.optional(t))},nullable:t=>{if(t!=null)return Gf.container(Ib.nullable(t))},set:t=>{if(t!=null)return Gf.container(Ib.set(t))},literal:t=>Gf.container(Ib.literal(t._visit({string:r=>A5.string(r),boolean:r=>A5.boolean(r),_other:()=>{throw new Error("Unexpected literal type")}}))),named:()=>{}}})}var bMn=class extends M0{schema;maybeFernEnum;constructor({context:t,breadcrumbs:r,schema:i,maybeFernEnum:n}){super({context:t,breadcrumbs:r}),this.schema=i,this.maybeFernEnum=n}convert(){if(!this.schema.enum)return;let r=this.schema.enum.filter(n=>typeof n=="string"||typeof n=="number").map(n=>{let a=n.toString(),u=this.maybeFernEnum?.[a],l=u?.name??a;return{name:this.context.casingsGenerator.generateNameAndWireValue({name:l,wireValue:a}),docs:u?.description,availability:void 0,casing:u?.casing}});if(r.length===0){this.context.errorCollector.collect({message:`Received enum schema with no valid values: ${JSON.stringify(this.schema)}`,path:this.breadcrumbs});return}let i=this.context.getAsString(this.schema.default);return{type:NO.enum({default:i!=null?r.find(n=>n.name.wireValue===i):void 0,values:r})}}};var UFo=class extends M0{schema;constructor({context:t,breadcrumbs:r,schema:i}){super({context:t,breadcrumbs:r}),this.schema=i}convert(){let r=new XX({context:this.context,breadcrumbs:this.breadcrumbs,schemaOrReference:this.schema}).convert();if(r!=null){let i=Gf.container(Ib.map({keyType:M0.STRING,valueType:r.type})),n=new Set;for(let a of r.schema?.typeDeclaration.referencedTypes??[])n.add(a);for(let a of Object.keys(r.inlinedTypes))n.add(a);return{type:NO.alias({aliasOf:i,resolvedType:i}),referencedTypes:n,inlinedTypes:r.inlinedTypes}}}};function c0a({properties:e,required:t,breadcrumbs:r,context:i,errorCollector:n}){let a=[],u={},l={},f=new Set;for(let[s,o]of Object.entries(e??{})){let c=[...r,"properties",s];if(typeof o!="object"){n.collect({message:`Schema property ${s} should be an object`,path:c});continue}let b=kQD(r,o,i)??i.convertBreadcrumbsToName(c),g="nullable"in o?o.nullable:!1,m=new XX({context:i,breadcrumbs:c,schemaOrReference:o,schemaIdOverride:b,wrapAsOptional:!t.includes(s),wrapAsNullable:g}).convert();if(m!=null){a.push({name:i.casingsGenerator.generateNameAndWireValue({name:s,wireValue:s}),valueType:m.type,docs:o.description,availability:m.availability,propertyAccess:i.getPropertyAccess(o),v2Examples:m.schema?.typeDeclaration?.v2Examples??{userSpecifiedExamples:{},autogeneratedExamples:{}}}),u={...u,...m.inlinedTypes},m.schema?.typeDeclaration.referencedTypes!=null&&m.schema.typeDeclaration.referencedTypes.forEach(P=>{f.add(P)});for(let P of m.schema?.audiences??[])l[P]==null&&(l[P]=new Set),l[P].add(s)}}for(let s of Object.keys(u))f.add(s);return{convertedProperties:a,propertiesByAudience:l,inlinedTypesFromProperties:u,referencedTypes:f}}function kQD(e,t,r){return r.isReferenceObject(t)?void 0:new eW.FernTypeNameExtension({breadcrumbs:e,schema:t,context:r}).convert()}var gMn=class extends M0{schema;constructor({context:t,breadcrumbs:r,schema:i}){super({context:t,breadcrumbs:r}),this.schema=i}convert(){let t=typeof this.schema.additionalProperties=="boolean"&&this.schema.additionalProperties;if(!this.schema.properties&&!this.schema.allOf)return{type:NO.object({properties:[],extends:[],extendedProperties:[],extraProperties:t}),propertiesByAudience:{},inlinedTypes:{},referencedTypes:new Set};let{convertedProperties:r,inlinedTypesFromProperties:i,referencedTypes:n,propertiesByAudience:a}=c0a({properties:this.schema.properties??{},required:this.schema.required??[],breadcrumbs:this.breadcrumbs,context:this.context,errorCollector:this.context.errorCollector}),u=[],l=n,f=i,s=a;for(let[o,c]of(this.schema.allOf??[]).entries()){let b=[...this.breadcrumbs,"allOf",o.toString()];if(this.context.isReferenceObject(c)){let E=this.context.convertReferenceToTypeReference({reference:c,breadcrumbs:b});E.ok&&u.push(E.reference);let A=this.context.getTypeIdFromSchemaReference(c);A!=null&&l.add(A);continue}let{convertedProperties:g,inlinedTypesFromProperties:O,referencedTypes:m,propertiesByAudience:P}=c0a({properties:c.properties??{},required:[...this.schema.required??[],...c.required??[]],breadcrumbs:b,context:this.context,errorCollector:this.context.errorCollector});r.push(...g),f={...f,...O},s={...s,...P},m.forEach(E=>{l.add(E)})}for(let o of Object.keys(f))l.add(o);return{type:NO.object({properties:r,extends:u.map(o=>this.context.typeReferenceToDeclaredTypeName(o)).filter(j0),extendedProperties:[],extraProperties:t}),propertiesByAudience:s,referencedTypes:l,inlinedTypes:f}}};var OMn=class extends M0{schema;id;constructor({context:t,breadcrumbs:r,schema:i,id:n,inlinedTypes:a}){super({context:t,breadcrumbs:r}),this.schema=i,this.id=n}convert(){return this.shouldConvertAsNullableSchemaOrReference()?this.convertAsNullableSchemaOrReference():this.schema.discriminator!=null&&!this.unionVariantsContainLiteral({discriminantProperty:this.schema.discriminator.propertyName})?this.convertAsDiscriminatedUnion():this.convertAsUndiscriminatedUnion()}unionVariantsContainLiteral({discriminantProperty:t}){for(let[r,i]of Object.entries(this.schema.discriminator?.mapping??{})){let n=this.context.resolveReference({reference:{$ref:i},breadcrumbs:this.breadcrumbs});if(n.resolved&&!Object.keys(n.value.properties??{}).includes(t))return!1}return!0}convertAsDiscriminatedUnion(){if(this.schema.discriminator==null)return;let t=[],r=new Set,i={};for(let[l,f]of Object.entries(this.schema.discriminator.mapping??{})){let s=new XX({context:this.context,schemaOrReference:{$ref:f},breadcrumbs:[...this.breadcrumbs,"discriminator","mapping",l]}),o=this.context.getTypeIdFromSchemaReference({$ref:f});o!=null&&r.add(o);let c=s.convert();if(c?.type!=null&&o!=null){for(let g of Object.keys(c?.inlinedTypes??{}))r.add(g);for(let g of c.schema?.typeDeclaration.referencedTypes??[])r.add(g);let b=this.context.casingsGenerator.generateNameAndWireValue({name:l,wireValue:l});t.push({docs:void 0,discriminantValue:b,availability:c.availability,displayName:l,shape:OG.samePropertiesAsObject({typeId:o,name:this.context.casingsGenerator.generateName(o),fernFilepath:{allParts:[],packagePath:[],file:void 0},displayName:l})}),i={...i,...c.inlinedTypes}}}let{convertedProperties:n,referencedTypes:a,inlinedTypesFromProperties:u}=c0a({properties:this.schema.properties??{},required:this.schema.required??[],breadcrumbs:this.breadcrumbs,context:this.context,errorCollector:this.context.errorCollector});r=new Set([...r,...a]);for(let l of Object.keys({...i,...u}))r.add(l);return{type:NO.union({baseProperties:n,discriminant:this.context.casingsGenerator.generateNameAndWireValue({name:this.schema.discriminator.propertyName,wireValue:this.schema.discriminator.propertyName}),extends:[],types:t}),referencedTypes:r,inlinedTypes:{...i,...u}}}convertAsUndiscriminatedUnion(){if(!this.schema.oneOf&&!this.schema.anyOf||this.schema.anyOf?.length===0&&this.schema.oneOf?.length===0)return;let t=[],r=new Set,i={};for(let[n,a]of[...(this.schema.oneOf??[]).entries(),...(this.schema.anyOf??[]).entries()]){if(this.context.isReferenceObject(a)){let c;if(this.context.isReferenceObjectWithTitle(a))c=this.context.convertReferenceToTypeReference({reference:a,displayNameOverride:a.title,displayNameOverrideType:"TITLE"});else if(this.getDiscriminatorKeyForRef(a)!=null){let g=this.getDiscriminatorKeyForRef(a);c=this.context.convertReferenceToTypeReference({reference:a,displayNameOverride:g,displayNameOverrideType:"DISCRIMINATOR_KEY"})}else c=this.context.convertReferenceToTypeReference({reference:a});c.ok&&t.push({type:c.reference,docs:a.description});let b=this.context.getTypeIdFromSchemaReference(a);b!=null&&r.add(b);continue}let u=this.extendSubSchema(a),l=this.context.convertBreadcrumbsToName([`${this.id}_${n}`]),f=a.title,o=new I_i({context:this.context,id:l,nameOverride:f,breadcrumbs:[...this.breadcrumbs,`oneOf[${n}]`],schema:u??a}).convert();if(o!=null){let c=o.convertedSchema.typeDeclaration.shape;c.type==="alias"&&this.typeReferenceIsWrappedPrimitive(c.aliasOf)?t.push({type:c.aliasOf,docs:a.description}):(t.push({type:this.context.createNamedTypeReference(l,f),docs:a.description}),i={...i,...o.inlinedTypes,[l]:o.convertedSchema}),o.convertedSchema.typeDeclaration.referencedTypes.forEach(b=>{r.add(b)})}}return{type:NO.undiscriminatedUnion({members:t}),referencedTypes:r,inlinedTypes:i}}shouldConvertAsNullableSchemaOrReference(){return this.schema.oneOf!=null?this.schema.oneOf.some(t=>t&&typeof t=="object"&&"type"in t&&t.type==="null"):this.schema.anyOf!=null?this.schema.anyOf.some(t=>t&&typeof t=="object"&&"type"in t&&t.type==="null"):!1}removeNullFromOneOfOrAnyOf(){let t=this.schema.oneOf??this.schema.anyOf,r=this.schema.oneOf!=null?"oneOf":"anyOf";if(t==null)return;let i=t.filter(n=>!("type"in n&&n.type==="null"));if(i.length===0){this.context.errorCollector.collect({message:`Received ${r} schema with no valid non-null types`,path:this.breadcrumbs});return}return i.length===1?{...this.schema,[r]:void 0,...i[0]}:{...this.schema,[r]:i}}convertAsNullableSchemaOrReference(){let t=this.removeNullFromOneOfOrAnyOf();if(t==null)return;let i=new XX({context:this.context,breadcrumbs:this.breadcrumbs,schemaOrReference:t}).convert();if(i==null)return;let n=this.wrapInNullable(i.type);return{type:NO.alias({aliasOf:n,resolvedType:n}),referencedTypes:i.schema?.typeDeclaration.referencedTypes??new Set,inlinedTypes:i.inlinedTypes}}typeReferenceIsWrappedPrimitive(t){switch(t.type){case"container":return this.containerTypeIsWrappedPrimitive(t.container);case"named":return!1;case"primitive":return!0;case"unknown":return!1;default:return!1}}containerTypeIsWrappedPrimitive(t){switch(t.type){case"list":return this.typeReferenceIsWrappedPrimitive(t.list);case"map":return this.typeReferenceIsWrappedPrimitive(t.keyType)&&this.typeReferenceIsWrappedPrimitive(t.valueType);case"nullable":return this.typeReferenceIsWrappedPrimitive(t.nullable);case"optional":return this.typeReferenceIsWrappedPrimitive(t.optional);case"set":return this.typeReferenceIsWrappedPrimitive(t.set);case"literal":return!0;default:return!1}}wrapInNullable(t){return Gf.container(Ib.nullable(t))}mergeIntoObjectSchema(t,r){return{...t,properties:{...r,...t.properties??{}}}}extendSubSchema(t){if(Object.entries(this.schema.properties??{}).length===0)return t;if(t.type==="object")return this.mergeIntoObjectSchema(t,this.schema.properties??{});this.context.isObjectSchemaType(t)||this.context.errorCollector.collect({message:"Received additional object properties for oneOf/anyOf that are not objects",path:this.breadcrumbs})}getDiscriminatorKeyForRef(t){return Object.entries(this.schema.discriminator?.mapping??{}).find(([r,i])=>i===t.$ref)?.[0]}};var mMn=class extends M0{schema;constructor({context:t,breadcrumbs:r,schema:i}){super({context:t,breadcrumbs:r}),this.schema=i}convert(){switch(this.schema.type){case"string":{let t=this.context.getAsString(this.schema.const);return t!=null?Gf.container(Ib.literal(A5.string(t))):Gf.primitive({v1:"STRING",v2:th.string({default:this.context.getAsString(this.schema.default),validation:this.getStringValidation(this.schema)})})}case"number":case"integer":switch(this.schema.format){case"double":return Gf.primitive({v1:"DOUBLE",v2:th.double({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"float":return Gf.primitive({v1:"FLOAT",v2:th.float({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"int32":return Gf.primitive({v1:"INTEGER",v2:th.integer({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"int64":return Gf.primitive({v1:"LONG",v2:th.long({default:this.context.getAsNumber(this.schema.default)})});case"uint32":return Gf.primitive({v1:"UINT",v2:th.uint({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"uint64":return Gf.primitive({v1:"UINT_64",v2:th.uint64({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});default:return Gf.primitive({v1:"INTEGER",v2:th.integer({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})})}case"boolean":{let t=this.context.getAsBoolean(this.schema.const);return t!=null?Gf.container(Ib.literal(A5.boolean(t))):Gf.primitive({v1:"BOOLEAN",v2:th.boolean({default:this.schema.default})})}default:return}}getNumberValidation(t){return{max:t.maximum,min:t.minimum,exclusiveMax:typeof t.exclusiveMaximum=="boolean"?t.exclusiveMaximum:void 0,exclusiveMin:typeof t.exclusiveMinimum=="boolean"?t.exclusiveMinimum:void 0,multipleOf:t.multipleOf}}getStringValidation(t){return{minLength:t.minLength,maxLength:t.maxLength,pattern:t.pattern,format:t.format}}};var eJD=["description","example","title","default","deprecated","readOnly","writeOnly","xml","externalDocs","extensions"],I_i=class e extends M0{schema;id;inlined;audiences;nameOverride;constructor({context:t,breadcrumbs:r,schema:i,id:n,inlined:a=!1,nameOverride:u}){super({context:t,breadcrumbs:r}),this.schema=i,this.id=n,this.inlined=a,this.nameOverride=u,this.audiences=this.context.getAudiences({operation:this.schema,breadcrumbs:this.breadcrumbs})??[]}convert(){let t=this.tryConvertFernTypeDeclaration();if(t!=null)return t;let r=this.tryConvertEnumSchema();if(r!=null)return r;let i=this.tryConvertSingularAllOfSchema();if(i!=null)return i;let n=this.tryConvertPrimitiveSchema();if(n!=null)return n;let a=this.tryConvertArraySchema();if(a!=null)return a;let u=this.tryConvertTypeArraySchema();if(u!=null)return u;let l=this.tryConvertOneOfAnyOfSchema();if(l!=null)return l;let f=this.tryConvertMapSchema();if(f!=null)return f;let s=this.tryConvertObjectAllOfSchema();if(s!=null)return s;let o=this.tryConvertUntypedSchema();if(o!=null)return o;this.context.errorCollector.collect({message:`Failed to convert schema object: ${JSON.stringify(this.schema,null,2)}`,path:this.breadcrumbs})}tryConvertEnumSchema(){if(!this.schema.enum?.length)return;let r=new eW.FernEnumExtension({breadcrumbs:this.breadcrumbs,schema:this.schema,context:this.context}).convert(),n=new bMn({context:this.context,breadcrumbs:this.breadcrumbs,schema:this.schema,maybeFernEnum:r}).convert();if(n!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:n.type,referencedTypes:new Set}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:{}}}tryConvertSingularAllOfSchema(){if(this.schemaOnlyHasAllowedKeys(["allOf"])&&this.schema.allOf?.length===1&&this.schema.allOf[0]!=null){let t=this.context.resolveMaybeReference({schemaOrReference:this.schema.allOf[0],breadcrumbs:this.breadcrumbs});if(t!=null){let i=new e({context:this.context,breadcrumbs:[...this.breadcrumbs,"allOf","0"],schema:t,id:this.id,inlined:!0}).convert();if(i?.convertedSchema.typeDeclaration?.shape.type!=="object")return i}}}tryConvertPrimitiveSchema(){let r=new mMn({context:this.context,schema:this.schema}).convert();if(r!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:NO.alias({aliasOf:r,resolvedType:r}),referencedTypes:new Set}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:{}}}tryConvertArraySchema(){if(this.schema.type==="array"){let r=new PMn({context:this.context,breadcrumbs:this.breadcrumbs,schema:this.schema}).convert();if(r!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:NO.alias({aliasOf:r.typeReference,resolvedType:r.typeReference}),referencedTypes:r.referencedTypes}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:r.inlinedTypes}}}tryConvertTypeArraySchema(){if(Array.isArray(this.schema.type)&&this.schema.type.length>0)return this.schema.type.length===1?this.schema.type=this.schema.type[0]:(this.schema.oneOf=this.schema.type.map(t=>({type:t})),this.schema.type=void 0),this.convert()}tryConvertOneOfAnyOfSchema(){if(this.schema.oneOf!=null||this.schema.anyOf!=null){let r=new OMn({id:this.id,context:this.context,breadcrumbs:this.breadcrumbs,schema:this.schema,inlinedTypes:{}}).convert();if(r!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:r.type,referencedTypes:r.referencedTypes}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:r.inlinedTypes}}}tryConvertMapSchema(){if(typeof this.schema.additionalProperties=="object"&&this.schema.additionalProperties!=null&&!this.schema.properties&&!this.schema.allOf){let r=new UFo({context:this.context,breadcrumbs:this.breadcrumbs,schema:this.schema.additionalProperties}).convert();if(r!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:r.type,referencedTypes:r.referencedTypes}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:r.inlinedTypes}}}tryConvertObjectAllOfSchema(){if(this.schema.type==="object"||this.schema.properties!=null||this.schema.allOf!=null){let r=new gMn({context:this.context,breadcrumbs:this.breadcrumbs,schema:this.schema}).convert();if(r!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:r.type,referencedTypes:r.referencedTypes}),audiences:this.audiences,propertiesByAudience:r.propertiesByAudience},inlinedTypes:r.inlinedTypes}}}tryConvertUntypedSchema(){if(this.isUntypedSchema())return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:NO.alias({aliasOf:Gf.unknown(),resolvedType:Gf.unknown()}),referencedTypes:new Set}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:{}}}tryConvertFernTypeDeclaration(){let r=new eW.FernTypeExtension({breadcrumbs:this.breadcrumbs,schema:this.schema,context:this.context}).convert();if(r==null)return;let i=MXp(r);if(i!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:NO.alias({aliasOf:i,resolvedType:i}),referencedTypes:new Set,omitV2Examples:!0}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:{}}}createTypeDeclaration({shape:t,referencedTypes:r,omitV2Examples:i}){return{name:this.convertDeclaredTypeName(),shape:t,autogeneratedExamples:[],userProvidedExamples:[],encoding:void 0,availability:this.context.getAvailability({node:this.schema,breadcrumbs:this.breadcrumbs}),docs:this.schema.description,referencedTypes:r,source:void 0,inline:this.inlined,v2Examples:i?void 0:this.convertSchemaExamples()}}convertDeclaredTypeName(){return{typeId:this.id,fernFilepath:this.context.createFernFilepath(),name:this.context.casingsGenerator.generateName(this.id),displayName:this.nameOverride}}schemaOnlyHasAllowedKeys(t){let r=[...eJD,...t];return Object.keys(this.schema).every(n=>r.includes(n))}isUntypedSchema(){return!!(this.schema&&typeof this.schema=="object"&&!("type"in this.schema)&&!("oneOf"in this.schema)&&!("anyOf"in this.schema)&&!("allOf"in this.schema)&&!("items"in this.schema)&&!("properties"in this.schema))}convertSchemaExamples(){let t={userSpecifiedExamples:{},autogeneratedExamples:{}},r=this.context.getExamplesFromSchema({schema:this.schema,breadcrumbs:this.breadcrumbs});if(r.length===0){let i=this.generateOrValidateExample({example:void 0,ignoreErrors:!0});return t.autogeneratedExamples={[`${this.id}_example_autogenerated`]:i},t}return t.userSpecifiedExamples=this.convertUserSpecifiedExamples(r),t}convertUserSpecifiedExamples(t){let r={};for(let[i,n]of t.entries()){let a=this.context.resolveExample(n),u=this.generateOrValidateExample({example:a});r[`${this.id}_example_${i}`]=u}return r}generateOrValidateExample({example:t,ignoreErrors:r}){let i=new FZt({breadcrumbs:this.breadcrumbs,context:this.context,schema:this.schema,example:t}),{validExample:n,errors:a}=i.convert();return r||a.forEach(u=>{this.context.errorCollector.collect({message:u.message,path:u.path})}),n}};var XX=class extends M0{schemaOrReference;schemaIdOverride;wrapAsOptional;wrapAsNullable;constructor({context:t,breadcrumbs:r,schemaOrReference:i,schemaIdOverride:n,wrapAsOptional:a=!1,wrapAsNullable:u=!1}){super({context:t,breadcrumbs:r}),this.schemaOrReference=i,this.schemaIdOverride=n,this.wrapAsOptional=a,this.wrapAsNullable=u}convert(){let t=this.maybeConvertReferenceObject({schemaOrReference:this.schemaOrReference});if(t!=null)return t;let r=this.maybeConvertSingularAllOfReferenceObject();return r??this.convertSchemaObject({schema:this.schemaOrReference})}maybeConvertReferenceObject({schemaOrReference:t}){if(this.context.isReferenceObject(t)){let r=this.context.convertReferenceToTypeReference({reference:t,breadcrumbs:this.breadcrumbs});if(r.ok)return{type:this.wrapTypeReference(r.reference),inlinedTypes:{}}}}maybeConvertSingularAllOfReferenceObject(){if(this.context.isReferenceObject(this.schemaOrReference)||this.schemaOrReference.allOf==null||this.schemaOrReference.allOf.length!==1)return;let t=this.schemaOrReference.allOf[0];if(this.context.isReferenceObject(t)){let r=this.context.convertReferenceToTypeReference({reference:t,breadcrumbs:this.breadcrumbs});if(r.ok)return{type:this.wrapTypeReference(r.reference),inlinedTypes:{}}}}convertSchemaObject({schema:t}){let r=this.schemaIdOverride??this.context.convertBreadcrumbsToName(this.breadcrumbs),i=new I_i({context:this.context,breadcrumbs:this.breadcrumbs,schema:t,id:r}),n=this.context.getAvailability({node:t,breadcrumbs:this.breadcrumbs}),a=i.convert();if(a!=null){let u=a.convertedSchema.typeDeclaration.shape;return u.type==="alias"?{type:this.wrapTypeReference(u.aliasOf),schema:a.convertedSchema,inlinedTypes:a.inlinedTypes,availability:n}:{type:this.wrapTypeReference(this.context.createNamedTypeReference(r)),schema:a.convertedSchema,inlinedTypes:{...a.inlinedTypes,[r]:a.convertedSchema},availability:n}}}wrapTypeReference(t){return this.wrapAsOptional&&this.wrapAsNullable?this.wrapInOptional(this.wrapInNullable(t)):this.wrapAsOptional?this.wrapInOptional(t):this.wrapAsNullable?this.wrapInNullable(t):t}wrapInOptional(t){return Gf.container(Ib.optional(t))}wrapInNullable(t){return Gf.container(Ib.nullable(t))}};var PMn=class e extends M0{static LIST_UNKNOWN=Gf.container(Ib.list(Gf.unknown()));schema;constructor({context:t,breadcrumbs:r,schema:i}){super({context:t,breadcrumbs:r}),this.schema=i}convert(){if(this.schema.items!=null){Array.isArray(this.schema.items)&&(this.schema.items={oneOf:this.schema.items});let r=new XX({context:this.context,breadcrumbs:[...this.breadcrumbs,"items"],schemaOrReference:this.schema.items}).convert();if(r!=null){let i=new Set;for(let n of r.schema?.typeDeclaration.referencedTypes??[])i.add(n);return r.inlinedTypes!=null&&Object.values(r.inlinedTypes).forEach(n=>{n.typeDeclaration.referencedTypes.forEach(a=>{i.add(a)})}),{typeReference:Gf.container(Ib.list(r.type)),referencedTypes:i,inlinedTypes:r.inlinedTypes}}}return{typeReference:e.LIST_UNKNOWN,referencedTypes:new Set,inlinedTypes:{}}}};var VFo=class extends M0{group;method;constructor({context:t,breadcrumbs:r,group:i,method:n}){super({context:t,breadcrumbs:r}),this.group=i,this.method=n}parseMediaTypeObject({mediaTypeObject:t,resolveSchema:r,contentType:i,schemaId:n}){if(t==null||t.schema==null)return;if(r){let f=this.context.resolveMaybeReference({schemaOrReference:t.schema,breadcrumbs:[...this.breadcrumbs,"content",i]});if(f==null)return;t.schema=f}let u=new XX({context:this.context,breadcrumbs:[...this.breadcrumbs,"content",i,"schema"],schemaOrReference:t.schema,schemaIdOverride:n}).convert();if(u==null)return;let l=t.examples!=null?Object.fromEntries(Object.entries(t.examples).map(([f,s])=>{if(this.context.isReferenceObject(s)){let o=this.context.resolveReference({reference:s,breadcrumbs:[...this.breadcrumbs,"content",i,"examples"],skipErrorCollector:!0});return o.resolved?[f,o.value]:null}return[f,s]}).filter(f=>f!=null)):void 0;return{...u,examples:l}}convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:r,exampleGenerationStrategy:i}){let n={userSpecifiedExamples:{},autogeneratedExamples:{}},a=t?.schema,u=this.context.getNamedExamplesFromMediaTypeObject({mediaTypeObject:t,breadcrumbs:this.breadcrumbs,defaultExampleName:`${[...this.group,this.method].join("_")}_example`});for(let[l,f]of u){let s=this.context.resolveExampleWithValue(f),o=this.context.isExampleWithSummary(f)?f.summary:l;s!=null&&(a!=null?n.userSpecifiedExamples[o]=this.generateOrValidateExample({schema:a,example:s,exampleGenerationStrategy:i}):n.userSpecifiedExamples[o]=s)}if(Object.keys(n.userSpecifiedExamples).length===0&&a!=null){let l=L_(`${[...this.group,this.method].join("_")}_example`);n.autogeneratedExamples[l]=this.generateOrValidateExample({schema:a,example:void 0,ignoreErrors:!0,generateOptionalProperties:r,exampleGenerationStrategy:i})}return n}generateOrValidateExample({schema:t,example:r,ignoreErrors:i,generateOptionalProperties:n,exampleGenerationStrategy:a}){let u=this.context.resolveMaybeReference({schemaOrReference:t,breadcrumbs:this.breadcrumbs,skipErrorCollector:!0});if(u==null)return;let l=this.context.getExamplesFromSchema({schema:u,breadcrumbs:this.breadcrumbs}),f=new FZt({breadcrumbs:this.breadcrumbs,context:this.context,schema:u,example:r??l[0],generateOptionalProperties:n??!1,exampleGenerationStrategy:a}),{validExample:s,errors:o}=f.convert();return i||o.forEach(c=>{this.context.errorCollector.collect({message:c.message,path:c.path})}),s}};var WFo=class extends M0{parameter;constructor({context:t,breadcrumbs:r,parameter:i}){super({context:t,breadcrumbs:r}),this.parameter=i}convertToOutput({schema:t,typeReference:r,inlinedTypes:i}){let n=this.context.getAvailability({node:this.parameter,breadcrumbs:this.breadcrumbs}),a=this.context.resolveMaybeReference({schemaOrReference:t,breadcrumbs:this.breadcrumbs}),u=this.getParameterSchemaWithExampleOverride({schema:a});switch(this.parameter.in){case"query":return{type:"query",parameter:{name:this.context.casingsGenerator.generateNameAndWireValue({name:this.parameter.name,wireValue:this.parameter.name}),docs:this.parameter.description,valueType:r??M0.OPTIONAL_STRING,allowMultiple:this.parameter.explode??!1,v2Examples:this.convertParameterExamples({schema:u??t}),availability:n},inlinedTypes:i};case"header":return{type:"header",parameter:{name:this.context.casingsGenerator.generateNameAndWireValue({name:this.parameter.name,wireValue:this.parameter.name}),docs:this.parameter.description,valueType:r??M0.OPTIONAL_STRING,env:void 0,v2Examples:this.convertParameterExamples({schema:u??t}),availability:n},inlinedTypes:i};case"path":return{type:"path",parameter:{name:this.context.casingsGenerator.generateName(this.parameter.name),docs:this.parameter.description,valueType:r??M0.STRING,location:"ENDPOINT",variable:void 0,v2Examples:this.convertParameterExamples({schema:u??t})},inlinedTypes:i};default:return}}getParameterSchemaWithExampleOverride({schema:t}){if(t!=null)return t.type==="string"&&t.example==null?{...t,example:this.parameter.name}:t}convertParameterExamples({schema:t}){let r={userSpecifiedExamples:{},autogeneratedExamples:{}},i=this.parameter.example,n=this.parameter.examples;for(let[a,u]of Object.entries(n??{})){let l=this.context.resolveExampleWithValue(u);l!=null&&(r.userSpecifiedExamples[a]=this.generateOrValidateExample({schema:t,example:l}))}if(i!=null){let a=this.context.generateUniqueName({prefix:`${this.parameter.name}_example`,existingNames:Object.keys(r.userSpecifiedExamples)});r.userSpecifiedExamples[a]=this.generateOrValidateExample({schema:t,example:i})}if(Object.keys(r.userSpecifiedExamples).length===0){let a=`${this.parameter.name}_example`;r.autogeneratedExamples[a]=this.generateOrValidateExample({schema:t,example:void 0,ignoreErrors:!0})}return r}generateOrValidateExample({schema:t,ignoreErrors:r,example:i}){let n=new FZt({breadcrumbs:this.breadcrumbs,context:this.context,schema:t,example:i}),{validExample:a,errors:u}=n.convert();return r||u.forEach(l=>{this.context.errorCollector.collect({message:l.message,path:l.path})}),a}};var HFo=class extends oj{server;key="x-fern-server-name";constructor({breadcrumbs:t,server:r,context:i}){super({breadcrumbs:t,context:i}),this.server=r}convert(){let t=this.getExtensionValue(this.server,"x-name");if(!(t==null||typeof t!="string"))return t}};var AXp="Base",LZt=class e extends M0{servers;endpointLevelServers;constructor({breadcrumbs:t,context:r,servers:i,endpointLevelServers:n}){super({breadcrumbs:t,context:r}),this.servers=i,this.endpointLevelServers=n}convert(){if(this.servers==null||this.servers.length===0||this.servers[0]==null)return;if(this.endpointLevelServers!=null&&this.endpointLevelServers.length>0){let r=this.getDefaultBaseUrlName(),i={id:r,name:this.context.casingsGenerator.generateName(r)},n=this.endpointLevelServers.map(l=>{let f=e.getServerName({server:l,context:this.context});return{id:f,name:this.context.casingsGenerator.generateName(f)}}).filter((l,f,s)=>s.findIndex(o=>o.id===l.id)===f),a=[i,...n],u=this.servers.map(l=>{let f=e.getServerName({server:l,context:this.context}),s=this.endpointLevelServers?.map(o=>[e.getServerName({server:o,context:this.context}),this.getServerUrl(o)]);return{id:f,name:this.context.casingsGenerator.generateName(f),urls:{[r]:this.getServerUrl(l),...Object.fromEntries(s??[])},docs:l.description}});return{value:{defaultEnvironment:u[0]?.id,environments:mI.multipleBaseUrls({baseUrls:a,environments:u})},defaultUrl:i.id}}let t=this.withExplodedServers(this.servers).map(r=>{let i=e.getServerName({server:r,context:this.context});return{id:i,name:this.context.casingsGenerator.generateName(i),url:this.getServerUrl(r),docs:r.description}}).filter(j0);return{value:{defaultEnvironment:t[0]?.id,environments:mI.singleBaseUrl({environments:t})},defaultUrl:t[0]?.id}}static getServerExtensionName({server:t,context:r}){return new HFo({breadcrumbs:[],server:t,context:r}).convert()}static getServerName({server:t,context:r}){return e.getServerExtensionName({server:t,context:r})??t.description??t.url}getServerUrl(t){if(t.variables==null)return t.url;let r=t.url;for(let[i,n]of Object.entries(t.variables))n.default!=null&&(r=r.replace(`{${i}}`,n.default));return r}withExplodedServers(t){return t.flatMap(r=>{if(r.variables==null)return[r];let i=Object.entries(r.variables).filter(([l,f])=>f.enum!=null&&f.enum.length>0);if(i.length===0)return[r];let n=i[0];if(n==null)return[r];let[a,u]=n;return u.enum==null?[r]:u.enum.map(l=>{let f=r.url.replace(`{${a}}`,l),s={};for(let[c,b]of Object.entries(r.variables??{}))c!==a&&(s[c]=b);let o={...r,url:f,variables:Object.keys(s).length>0?s:void 0,"x-fern-server-name":r.description?`${r.description}_${l}`:`${l}`,description:r.description};return this.withExplodedServers([o])[0]})}).filter(j0)}getDefaultBaseUrlName(){return this.servers==null||this.servers.length===0||this.servers[0]==null?AXp:e.getServerExtensionName({server:this.servers[0],context:this.context})??AXp}};var l0a={400:"BadRequestError",401:"UnauthorizedError",402:"PaymentRequiredError",403:"ForbiddenError",404:"NotFoundError",405:"MethodNotAllowedError",406:"NotAcceptableError",407:"ProxyAuthenticationRequiredError",408:"RequestTimeoutError",409:"ConflictError",410:"GoneError",411:"LengthRequiredError",412:"PreconditionFailedError",413:"ContentTooLargeError",414:"URITooLongError",415:"UnsupportedMediaTypeError",416:"RangeNotSatisfiableError",417:"ExpectationFailedError",418:"ImATeapotError",419:"AuthenticationTimeoutError",420:"MethodFailureError",421:"MisdirectedRequestError",422:"UnprocessableEntityError",423:"LockedError",424:"FailedDependencyError",425:"TooEarlyError",426:"UpgradeRequiredError",428:"PreconditionError",429:"TooManyRequestsError",430:"RequestHeaderFieldsTooLargeError",431:"RequestHeaderFieldsTooLargeError",444:"NoResponseError",449:"RetryWithError",450:"BlockedByWindowsParentalControlsError",451:"UnavailableForLegalReasonsError",498:"InvalidTokenError",499:"ClientClosedRequestError",500:"InternalServerError",501:"NotImplementedError",502:"BadGatewayError",503:"ServiceUnavailableError",504:"GatewayTimeoutError",505:"HTTPVersionNotSupportedError",506:"VariantAlsoNegotiatesError",507:"InsufficientStorageError",508:"LoopDetectedError",509:"BandwidthLimitExceededError",510:"NotExtendedError",511:"NetworkAuthenticationRequiredError"},tJD=new Set(Object.values(l0a));var rJD=pu.object({type:pu.string(),channelId:pu.string().optional(),messageId:pu.string(),value:pu.any()}),iJD=pu.object({summary:pu.string().optional(),description:pu.string().optional(),"query-parameters":pu.record(pu.string()).optional(),headers:pu.record(pu.string()).optional(),messages:pu.array(rJD)}),qXp=pu.array(iJD);var $Fo=class extends oj{channel;key="x-fern-examples";constructor({breadcrumbs:t,channel:r,context:i}){super({breadcrumbs:t??[],context:i}),this.channel=r}convert(){let t=this.getExtensionValue(this.channel);if(t==null)return;let r=qXp.safeParse(t);if(!r.success){this.context.errorCollector.collect({message:`Invalid x-fern-examples extension: ${r.error.message}`,path:this.breadcrumbs});return}return r.data.map(i=>({summary:i.summary,description:i.description,queryParameters:i["query-parameters"],headers:i.headers,messages:i.messages.map(n=>({type:n.type,channelId:n.channelId,messageId:n.messageId,value:n.value}))}))}};var jMn=class extends M0{channel;channelPath;inlinedTypes={};websocketGroup;constructor({context:t,breadcrumbs:r,websocketGroup:i,channel:n,channelPath:a}){super({context:t,breadcrumbs:r}),this.websocketGroup=i,this.channel=n,this.channelPath=a}convertExamples({fullPath:t,baseUrl:r,asyncApiVersion:i}){let a=new $Fo({context:this.context,breadcrumbs:this.breadcrumbs,channel:this.channel}).convert();return a==null?{}:Object.fromEntries(a.map((u,l)=>[l.toString(),{channel:{method:"GET",path:t},baseUrl:t,environment:r,auth:void 0,pathParameters:{},queryParameters:u.queryParameters,headers:u.headers,messages:u.messages.map(f=>({type:i==="v2"?f.type:f.messageId,body:f.value}))}]))}transformToValidPath(t){return t.startsWith("/")?t:"/"+t}};var z_i=class extends bA.AbstractConverters.AbstractParameterConverter{parameterNamePrefix;constructor({context:t,breadcrumbs:r,parameter:i,parameterNamePrefix:n}){super({context:t,breadcrumbs:r,parameter:i}),this.parameterNamePrefix=n}convert(){let t,r={},n=new eW.FernOptionalExtension({breadcrumbs:this.breadcrumbs,parameter:this.parameter,context:this.context}).convert()??this.parameter.required===!1,a=this.parameter.schema??{...this.parameter,type:"string",enum:this.parameter.enum,default:this.parameter.default,example:this.parameter.example??this.parameter.name,examples:Object.values(this.parameter.examples??{}),deprecated:this.parameter.deprecated,required:void 0},l=new bA.SchemaConverters.SchemaOrReferenceConverter({context:this.context,breadcrumbs:[...this.breadcrumbs,"schema"],schemaIdOverride:this.parameterNamePrefix?`${this.parameterNamePrefix}_${this.parameter.name}`:this.parameter.name,schemaOrReference:a,wrapAsOptional:n}).convert();return l!=null&&(t=l.type,r=l.inlinedTypes??{}),this.convertToOutput({schema:a,typeReference:t,inlinedTypes:r})}};var GFo=class extends oj{channel;key="x-fern-address";constructor({breadcrumbs:t,channel:r,context:i}){super({breadcrumbs:t,context:i}),this.channel=r}convert(){let t=this.getExtensionValue(this.channel);if(!(t==null||typeof t!="string"))return t}};var wMn=class extends oj{channel;key="x-fern-display-name";constructor({breadcrumbs:t,channel:r,context:i}){super({breadcrumbs:t,context:i}),this.channel=r}convert(){let t=this.getExtensionValue(this.channel);if(!(t==null||typeof t!="string"))return t}};var QFo=class extends jMn{inlinedTypes={};constructor({context:t,breadcrumbs:r,websocketGroup:i,channel:n,channelPath:a}){super({context:t,breadcrumbs:r,websocketGroup:i,channel:n,channelPath:a})}convert(){let t=[],r=[],i=[],a=new wMn({breadcrumbs:this.breadcrumbs,channel:this.channel,context:this.context}).convert()??this.websocketGroup?.join(".");this.channel.parameters&&this.convertPathParameters({context:this.context,pathParameters:t}),this.channel.bindings?.ws!=null&&(this.convertHeaders({context:this.context,headers:i}),this.convertBindingQueryParameters({context:this.context,queryParameters:r}));let u;this.channel.subscribe!=null&&(u=this.convertMessage({context:this.context,operation:this.channel.subscribe,origin:"server"}));let l;this.channel.publish!=null&&(l=this.convertMessage({context:this.context,operation:this.channel.publish,origin:"client"}));let f=[];u!=null&&f.push(u),l!=null&&f.push(l);let o=new GFo({breadcrumbs:this.breadcrumbs,channel:this.channel,context:this.context}).convert(),c=this.transformToValidPath(o??this.channelPath),b=this.channel.servers?.[0]??Object.keys(this.context.spec.servers??{})[0],g=pN(c),O=L_(this.channelPath),m=this.context.getAudiences({operation:this.channel,breadcrumbs:this.breadcrumbs})??[];return{channel:{name:this.context.casingsGenerator.generateName(O),displayName:a,baseUrl:b,path:g,auth:!1,headers:i,queryParameters:r,pathParameters:t,messages:f,availability:this.context.getAvailability({node:this.channel,breadcrumbs:this.breadcrumbs}),docs:this.channel.description,examples:[],v2Examples:{autogeneratedExamples:{},userSpecifiedExamples:this.convertExamples({fullPath:c,baseUrl:b,asyncApiVersion:"v2"})}},audiences:m,inlinedTypes:this.inlinedTypes}}convertMessage({context:t,operation:r,origin:i}){let n,a=i==="server"?"subscribe":"publish",u=[...this.breadcrumbs,a],l=t.resolveMaybeReference({schemaOrReference:r.message,breadcrumbs:u});l!=null&&(r.message=l);let f=eBi(L_(`${this.channelPath}_${a}`)).replace(/ /g,"");if("oneOf"in r.message){let o=new bA.SchemaConverters.SchemaOrReferenceConverter({context:this.context,breadcrumbs:u,schemaOrReference:r.message,schemaIdOverride:f}).convert();o!=null&&o.schema!=null&&(n=o.schema,this.inlinedTypes={...this.inlinedTypes,...o.inlinedTypes})}else if(t.isMessageWithPayload(r.message)){let s=t.resolveMaybeReference({schemaOrReference:r.message.payload,breadcrumbs:u});if(s!=null){let c=new bA.SchemaConverters.SchemaOrReferenceConverter({context:this.context,breadcrumbs:u,schemaOrReference:s,schemaIdOverride:f}).convert();c!=null&&c.schema!=null&&(n=c.schema,this.inlinedTypes={...this.inlinedTypes,...c.inlinedTypes})}}if(n!=null){let s=n,o=Gf.named({fernFilepath:t.createFernFilepath(),name:s.typeDeclaration.name.name,typeId:s.typeDeclaration.name.typeId,displayName:void 0,default:void 0,inline:!1}),c=q5.reference({bodyType:o,docs:r.description}),b=i==="server"?"subscribe":"publish";return{type:b,displayName:b,origin:i,body:c,availability:t.getAvailability({node:r,breadcrumbs:this.breadcrumbs}),docs:r.description}}}convertPathParameters({context:t,pathParameters:r}){for(let[i,n]of Object.entries(this.channel.parameters??{})){let a=t.resolveMaybeReference({schemaOrReference:n,breadcrumbs:this.breadcrumbs});if(a==null)continue;let l=new z_i({context:this.context,breadcrumbs:this.breadcrumbs,parameter:{...a,name:i,in:"path",description:n.description,required:n.required??!0}}).convert();l!=null&&(this.inlinedTypes={...this.inlinedTypes,...l.inlinedTypes},l.type==="path"&&r.push(l.parameter))}}convertHeaders({context:t,headers:r}){if(this.channel.bindings?.ws?.headers!=null){let i=this.channel.bindings.ws.headers.required??[];for(let[n,a]of Object.entries(this.channel.bindings.ws.headers.properties??{})){let u=t.resolveMaybeReference({schemaOrReference:a,breadcrumbs:[...this.breadcrumbs,n]});if(u==null)continue;let f=new z_i({context:this.context,breadcrumbs:[...this.breadcrumbs,n],parameter:{name:n,in:"header",required:i.includes(n),schema:u,description:"description"in u?u.description:void 0}}).convert();f!=null&&f.type==="header"&&(this.inlinedTypes={...this.inlinedTypes,...f.inlinedTypes},r.push(f.parameter))}}}convertBindingQueryParameters({context:t,queryParameters:r}){if(this.channel.bindings?.ws?.query!=null){let i=this.channel.bindings.ws.query.required??[];for(let[n,a]of Object.entries(this.channel.bindings.ws.query.properties??{})){let u=t.resolveMaybeReference({schemaOrReference:a,breadcrumbs:[...this.breadcrumbs,n]});if(u==null)continue;let f=new z_i({context:this.context,breadcrumbs:[...this.breadcrumbs,n],parameter:{name:n,in:"query",required:i.includes(n),schema:u,description:"description"in u?u.description:void 0,deprecated:u.deprecated??!1}}).convert();f!=null&&f.type==="query"&&(this.inlinedTypes={...this.inlinedTypes,...f.inlinedTypes},r.push(f.parameter))}}}};var SMn=class extends M0{servers;constructor({context:t,breadcrumbs:r,servers:i}){super({context:t,breadcrumbs:r}),this.servers=i}convert(){if(this.servers==null||Object.keys(this.servers).length===0)return;let t=[],r;for(let[i,n]of Object.entries(this.servers)){let a=this.buildSingleBaseUrlEnvironment(this.context,i,n);t.push(a),r==null&&(r=a.id)}return{defaultEnvironment:r,environments:mI.singleBaseUrl({environments:t})}}constructServerUrl(t,r){return r.includes("://")?r:`${t}://${r}`}};var JFo=class extends SMn{constructor({context:t,breadcrumbs:r,servers:i}){super({context:t,breadcrumbs:r,servers:i})}buildSingleBaseUrlEnvironment(t,r,i){return{id:r,name:t.casingsGenerator.generateName(r),url:this.constructServerUrl(i.protocol,i.url),docs:void 0}}};var aZs="$message.",TXp="#/channels/",CXp="#/servers/",KFo=class extends jMn{operations;inlinedTypes={};constructor({context:t,breadcrumbs:r,websocketGroup:i,channel:n,channelPath:a,operations:u}){super({context:t,breadcrumbs:r,websocketGroup:i,channel:n,channelPath:a}),this.operations=u}convert(){let t=[],r=[],i=[],a=new wMn({breadcrumbs:this.breadcrumbs,channel:this.channel,context:this.context}).convert()??this.websocketGroup?.join(".")??this.channelPath;this.channel.parameters&&this.convertChannelParameters({pathParameters:t,queryParameters:r,headers:i,channelPath:this.channelPath});let u=Object.entries(this.operations).reduce((b,[g,O])=>{try{this.getChannelPathFromOperation(O)===this.channelPath&&(b[g]=O)}catch{}return b},{}),l=[];for(let[b,g]of Object.entries(u))for(let O of g.messages){let m=this.context.convertReferenceToTypeReference({reference:O});if(m.ok){let P=q5.reference({bodyType:m.reference,docs:g.description});l.push({type:b,displayName:b,origin:g.action==="send"?"client":"server",body:P,availability:this.context.getAvailability({node:g,breadcrumbs:this.breadcrumbs}),docs:g.description})}}let f=this.resolveChannelServersFromReference(this.channel.servers??[])??Object.keys(this.context.spec.servers??{})[0],s=this.transformToValidPath(this.channel.address??this.channelPath),o=pN(s),c=this.context.getAudiences({operation:this.channel,breadcrumbs:this.breadcrumbs})??[];return{channel:{name:this.context.casingsGenerator.generateName(a),displayName:a,baseUrl:f,path:o,auth:!1,headers:i,queryParameters:r,pathParameters:t,messages:l,availability:this.context.getAvailability({node:this.channel,breadcrumbs:this.breadcrumbs}),docs:this.channel.description,examples:[],v2Examples:{autogeneratedExamples:{},userSpecifiedExamples:this.convertExamples({fullPath:s,baseUrl:f,asyncApiVersion:"v3"})}},audiences:c,inlinedTypes:this.inlinedTypes}}convertChannelParameters({pathParameters:t,queryParameters:r,headers:i,channelPath:n}){for(let a of Object.values(this.channel.parameters??{})){let u=this.context.resolveMaybeReference({schemaOrReference:a,breadcrumbs:[...this.breadcrumbs,"parameters"]});if(u==null)continue;let l=this.convertChannelParameterLocation(a.location);if(l==null)continue;let{type:f,parameterKey:s}=l,c=new z_i({context:this.context,breadcrumbs:this.breadcrumbs,parameter:{...u,name:s,in:f},parameterNamePrefix:this.channelPath}).convert();if(c!=null)switch(this.inlinedTypes={...this.inlinedTypes,...c.inlinedTypes},c.type){case"path":t.push(c.parameter);break;case"query":r.push(c.parameter);break;case"header":i.push(c.parameter);break}}}convertChannelParameterLocation(t){try{let[r,i]=t.split("#/");if(r==null||i==null){this.context.errorCollector.collect({message:`Invalid location format: ${t}; unable to parse message type and parameter key`,path:this.breadcrumbs});return}if(!r.startsWith(aZs)){this.context.errorCollector.collect({message:`Invalid location format: ${t}; expected ${aZs} prefix`,path:this.breadcrumbs});return}let n=r.substring(aZs.length);if(n!=="header"&&n!=="path"&&n!=="payload"){this.context.errorCollector.collect({message:`Invalid message type: ${n}. Must be one of: header, path, payload`,path:this.breadcrumbs});return}return n==="payload"?{type:"query",parameterKey:i}:{type:n,parameterKey:i}}catch{this.context.errorCollector.collect({message:`Invalid location format: ${t}; see here for more details: https://www.asyncapi.com/docs/reference/specification/v3.0.0#runtimeExpression`,path:this.breadcrumbs});return}}resolveChannelServersFromReference(t){if(t==null||t.length===0||t[0]==null)return;let r=t[0];if(!r.$ref.startsWith(CXp)){this.context.errorCollector.collect({message:`Failed to resolve server name from server ref ${r.$ref}`,path:this.breadcrumbs});return}let i=r.$ref.substring(CXp.length);if(i==null){this.context.errorCollector.collect({message:`Failed to find server with name ${i}`,path:this.breadcrumbs});return}return i}getChannelPathFromOperation(t){if(!t.channel.$ref.startsWith(TXp))throw new Error(`Failed to resolve channel path from operation ${t.channel.$ref}`);return t.channel.$ref.substring(TXp.length)}};var YFo=class extends SMn{constructor({context:t,breadcrumbs:r,servers:i}){super({context:t,breadcrumbs:r,servers:i})}buildSingleBaseUrlEnvironment(t,r,i){return{id:r,name:t.casingsGenerator.generateName(r),url:this.constructServerUrl(i.protocol,i.host),docs:void 0}}};var f0a=class extends RYr{constructor({context:t,breadcrumbs:r,audiences:i}){super({context:t,breadcrumbs:r,audiences:i})}async convert(){return this.context.spec=this.removeXFernIgnores({document:this.context.spec}),this.context.spec=await this.resolveAllExternalRefs({spec:this.context.spec}),this.isAsyncAPIV3(this.context)?this.convertChannelMessages():this.convertComponentMessages(),this.convertSchemas(),this.convertServers(),this.convertChannels(),this.finalizeIr()}isAsyncAPIV3(t){return parseFloat(t.spec.asyncapi)>=3}convertChannelMessages(){let t=this.context.spec;for(let[r,i]of Object.entries(t.channels??{}))for(let[n,a]of Object.entries(i.messages??{})){if(!this.context.isMessageWithPayload(a)&&!this.context.isReferenceObject(a))continue;let u=["channels",r,"messages",n],l=this.context.resolveMaybeReference({schemaOrReference:a,breadcrumbs:u});if(!this.context.isMessageWithPayload(l))continue;let f=this.context.resolveMaybeReference({schemaOrReference:l.payload,breadcrumbs:u});if(f==null)continue;let s=`${r}_${n}`;this.convertSchema({id:s,breadcrumbs:u,schema:f})}}convertComponentMessages(){for(let[t,r]of Object.entries(this.context.spec.components?.messages??{})){if(r.payload==null)continue;let i=["components","messages",t],n=this.context.resolveMaybeReference({schemaOrReference:r.payload,breadcrumbs:i});n!=null&&this.convertSchema({id:t,breadcrumbs:i,schema:n})}}convertSchemas(){for(let[t,r]of Object.entries(this.context.spec.components?.schemas??{}))this.convertSchema({id:t,breadcrumbs:["components","schemas",t],schema:r})}convertSchema({id:t,breadcrumbs:r,schema:i}){let a=new bA.SchemaConverters.SchemaConverter({context:this.context,id:t,breadcrumbs:r,schema:i}).convert();a!=null&&(this.addTypeToRootPackage(t),this.addTypesToIr({...a.inlinedTypes,[t]:a.convertedSchema}))}convertServers(){let t;if(this.isAsyncAPIV3(this.context)){let r=this.context.spec.servers;t=new YFo({context:this.context,breadcrumbs:["servers"],servers:r}).convert()}else{let r=this.context.spec.servers;t=new JFo({context:this.context,breadcrumbs:["servers"],servers:r}).convert()}this.addEnvironmentsToIr({environmentConfig:t})}convertChannels(){for(let[t,r]of Object.entries(this.context.spec.channels??{})){let n=new eW.SdkGroupNameExtension({breadcrumbs:["channels",t],operation:r,context:this.context}).convert()?.groups,a;if(this.isAsyncAPIV3(this.context)){let l=this.context.spec.operations??{};a=new KFo({context:this.context,breadcrumbs:["channels",t],websocketGroup:n,channel:r,channelPath:t,operations:l}).convert()}else a=new QFo({context:this.context,breadcrumbs:["channels",t],websocketGroup:n,channel:r,channelPath:t}).convert();a!=null&&(this.addWebsocketChannelToIr({websocketChannel:a.channel,channelPath:t,audiences:a.audiences,websocketGroup:n}),this.addTypesToIr(a.inlinedTypes))}}};var d0a=class extends o4{isReferenceObject(t){return t!=null&&typeof t=="object"&&"$ref"in t}isMessageWithPayload(t){return t!=null&&typeof t=="object"&&"payload"in t}getTypeIdFromMessageReference(t){let r=t.$ref.match(/\/messages\/(.+)$/);if(!(!r||!r[1]))return r[1]}convertReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:i,displayNameOverrideType:n}){let a,u=t.$ref.match(/^.*\/schemas\/(.+)$/),l=t.$ref.match(/^.*\/channels\/([^/]+)\/messages\/(.+)$/),f=t.$ref.match(/^.*\/messages\/(.+)$/);if(u&&u[1])a=u[1];else if(l&&l[2]){let c=l[1],b=l[2];a=`${c}_${b}`}else f&&f[1]&&(a=f[1]);if(a==null)return{ok:!1};let s=this.resolveReference({reference:t,breadcrumbs:r});if(!s.resolved)return{ok:!1};let o;return n==="TITLE"?o=i??s.value.title:n==="DISCRIMINATOR_KEY"&&(o=s.value.title??i),{ok:!0,reference:Gf.named({fernFilepath:this.createFernFilepath(),name:this.casingsGenerator.generateName(a),typeId:a,displayName:o,default:void 0,inline:!1})}}};var IXp=oi(oZs(),1);var lZs=oi(oZs(),1);var BXp=["get","post","put","delete","patch"];var XFo=class extends oj{operation;key="x-fern-idempotent";constructor({breadcrumbs:t,operation:r,context:i}){super({breadcrumbs:t,context:i}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t!=null){if(typeof t!="boolean"){this.context.errorCollector.collect({message:"Received unexpected non-boolean value for x-fern-idempotent",path:this.breadcrumbs});return}return t}}};var oJD=pu.object({cursor:pu.string(),next_cursor:pu.string(),results:pu.string()}),uJD=pu.object({offset:pu.string(),results:pu.string(),step:pu.string().optional(),"has-next-page":pu.string().optional()}),uZs=pu.union([pu.boolean(),oJD,uJD]);var sZs="$request.",ZFo="$response.",kFo=class extends oj{operation;document;key="x-fern-pagination";constructor({breadcrumbs:t,operation:r,document:i,context:n}){super({breadcrumbs:t,context:n}),this.operation=r,this.document=i}convert(){let t=this.getExtensionValue(this.operation);if(t==null)return;let r=uZs.safeParse(t);if(!r.success){this.context.errorCollector.collect({message:`Invalid x-fern-pagination extension: ${r.error.message}`,path:this.breadcrumbs});return}if(typeof r.data=="boolean"){let i=this.getExtensionValue(this.document);if(i==null)return;if(typeof i=="boolean"){this.context.errorCollector.collect({message:"Global pagination extension is a boolean, expected an object. Only endpoints may declare a boolean for x-fern-pagination.",path:this.breadcrumbs});return}let n=uZs.safeParse(i);if(!n.success){this.context.errorCollector.collect({message:`Invalid x-fern-pagination extension: ${n.error.message}`,path:this.breadcrumbs});return}if(typeof n.data=="boolean"){this.context.errorCollector.collect({message:"Global pagination extension is a boolean, expected an object.",path:this.breadcrumbs});return}return this.convertPaginationConfig({config:n.data})}if(typeof r.data=="boolean"){this.context.errorCollector.collect({message:"Pagination extension is a boolean with no global configuration.",path:this.breadcrumbs});return}return this.convertPaginationConfig({config:r.data})}convertPaginationConfig({config:t}){let r=t;if("cursor"in r)return{type:"cursor",cursor:o4.maybeTrimPrefix(r.cursor,sZs),nextCursor:o4.maybeTrimPrefix(r.next_cursor,ZFo),results:o4.maybeTrimPrefix(r.results,ZFo)};let i=t;return{type:"offset",offset:o4.maybeTrimPrefix(i.offset,sZs),results:o4.maybeTrimPrefix(i.results,ZFo),step:i.step!=null?o4.maybeTrimPrefix(i.step,sZs):void 0,hasNextPage:i["has-next-page"]!=null?o4.maybeTrimPrefix(i["has-next-page"],ZFo):void 0}}};var sJD="$request.",cJD=pu.object({"stream-condition":pu.string().optional(),format:pu.enum(["sse","json"]).optional(),"stream-description":pu.string().optional(),"response-stream":pu.any(),response:pu.any()}),lJD=pu.union([pu.boolean(),cJD]),DMn=class extends oj{operation;key="x-fern-streaming";constructor({breadcrumbs:t,operation:r,context:i}){super({breadcrumbs:t,context:i}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t==null)return;let r=lJD.safeParse(t);if(!r.success){this.context.errorCollector.collect({message:`Invalid x-fern-streaming extension: ${r.error.message}`,path:this.breadcrumbs});return}if(typeof r.data=="boolean")return r.data?{type:"stream",format:"json"}:void 0;if(r.data["stream-condition"]==null&&r.data.format!=null)return{type:"stream",format:r.data.format};if(r.data["stream-condition"]==null){this.context.errorCollector.collect({message:"Missing stream-condition property without specified format.",path:this.breadcrumbs});return}return{type:"streamCondition",format:r.data.format??"json",streamDescription:r.data["stream-description"],streamConditionProperty:o4.maybeTrimPrefix(r.data["stream-condition"],sJD),responseStream:r.data["response-stream"],response:r.data.response}}};var e3o=class extends oj{operation;key="x-fern-webhook";constructor({breadcrumbs:t,operation:r,context:i}){super({breadcrumbs:t,context:i}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t!=null){if(typeof t!="boolean"){this.context.errorCollector.collect({message:"Received unexpected non-boolean value for x-fern-webhook",path:this.breadcrumbs});return}return t}}};var t3o=class extends oj{operation;key="x-fern-examples";constructor({context:t,breadcrumbs:r,operation:i}){super({breadcrumbs:r,context:t}),this.operation=i}convert(){let t=this.getExtensionValue(this.operation);return t==null?void 0:(Array.isArray(t)?t:[]).filter(n=>{let a=gF.serialization.ExampleEndpointCallSchema.parse(n);return a.ok||this.context.errorCollector.collect({message:`Failed to parse x-fern-example in ${this.breadcrumbs.join(".")}`,path:this.breadcrumbs}),a.ok})}};var r3o=class extends bA.AbstractConverters.AbstractParameterConverter{constructor({context:t,breadcrumbs:r,parameter:i}){super({context:t,breadcrumbs:r,parameter:i})}convert(){let t,r={};if(this.parameter.schema!=null){let n=new bA.SchemaConverters.SchemaOrReferenceConverter({context:this.context,breadcrumbs:[...this.breadcrumbs,"schema"],schemaOrReference:this.parameter.schema,wrapAsOptional:this.parameter.required==null||!this.parameter.required}).convert();n!=null&&(t=n.type,r=n.inlinedTypes??{})}return this.convertToOutput({schema:this.parameter.schema??{type:"string"},typeReference:t,inlinedTypes:r})}};var i3o=class extends bA.AbstractConverters.AbstractMediaTypeObjectConverter{requestBody;constructor({context:t,breadcrumbs:r,requestBody:i,group:n,method:a}){super({context:t,breadcrumbs:r,group:n,method:a}),this.requestBody=i}convert(){if(!this.requestBody.content)return;let t=Object.keys(this.requestBody.content).filter(u=>JE.parse(u)?.isJSON());for(let u of t){let l=this.handleJsonOrFormContent({contentType:u});if(l!=null)return l}let r=Object.keys(this.requestBody.content).filter(u=>JE.parse(u)?.isURLEncoded());for(let u of r){let l=this.handleJsonOrFormContent({contentType:u});if(l!=null)return l}let i=Object.keys(this.requestBody.content).filter(u=>JE.parse(u)?.isPlainText());for(let u of i){let l=this.handleJsonOrFormContent({contentType:u});if(l!=null)return l}let n=Object.keys(this.requestBody.content).filter(u=>JE.parse(u)?.isMultipart());for(let u of n){let l=this.handleMultipartContent({contentType:u});if(l!=null)return l}let a=Object.keys(this.requestBody.content).filter(u=>JE.parse(u)?.isOctetStream());for(let u of a){let l=this.handleOctetStreamContent({contentType:u});if(l!=null)return l}}handleJsonOrFormContent({contentType:t}){let r=[...this.group,this.method,"Request"].join("_"),i=this.requestBody.content[t],n=this.parseMediaTypeObject({mediaTypeObject:i,schemaId:r,contentType:t});if(n!=null)return n.schema?.typeDeclaration.shape.type==="object"?{requestBody:pC.inlinedRequestBody({contentType:t,docs:this.requestBody.description,name:this.context.casingsGenerator.generateName(r),extendedProperties:n.schema?.typeDeclaration.shape.extendedProperties,extends:n.schema?.typeDeclaration.shape.extends,properties:n.schema?.typeDeclaration.shape.properties,extraProperties:n.schema?.typeDeclaration.shape.extraProperties,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:i,exampleGenerationStrategy:"request"})}),inlinedTypes:this.context.removeSchemaFromInlinedTypes({id:r,inlinedTypes:n.inlinedTypes})}:{requestBody:pC.reference({contentType:t,docs:this.requestBody.description,requestBodyType:n.type,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:i,exampleGenerationStrategy:"request"})}),inlinedTypes:n.inlinedTypes??{}}}handleMultipartContent({contentType:t}){let r=this.requestBody.content[t],i=[...this.group,this.method,"Request"].join("_");if(r==null||r.schema==null)return;let n=this.parseMediaTypeObject({mediaTypeObject:r,schemaId:i,resolveSchema:!0,contentType:t});if(n!=null&&n.schema?.typeDeclaration.shape.type==="object")return{requestBody:pC.fileUpload({contentType:t,docs:this.requestBody.description,name:this.context.casingsGenerator.generateName(i),properties:n.schema?.typeDeclaration.shape.properties.map(u=>this.convertRequestBodyProperty({property:u,contentType:t})),v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:r,exampleGenerationStrategy:"request"})}),inlinedTypes:this.context.removeSchemaFromInlinedTypes({id:i,inlinedTypes:n.inlinedTypes}),examples:n.examples}}handleOctetStreamContent({contentType:t}){let r=this.requestBody.content[t],i=[...this.group,this.method,"Request"].join("_"),n=this.parseMediaTypeObject({mediaTypeObject:r,schemaId:i,contentType:t});return{requestBody:pC.bytes({contentType:t,isOptional:this.requestBody.required===!1,docs:this.requestBody.description,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:r,exampleGenerationStrategy:"request"})}),inlinedTypes:n?.inlinedTypes??{}}}convertRequestBodyProperty({property:t,contentType:r}){let{isFile:i,isOptional:n,isArray:a}=this.recursivelyCheckTypeReferenceIsFile({typeReference:t.valueType});return i?a?M5.file(_ie.fileArray({key:t.name,isOptional:n,contentType:r,docs:t.docs})):M5.file(_ie.file({key:t.name,isOptional:n,contentType:r,docs:t.docs})):M5.bodyProperty({...t,contentType:r,style:void 0,name:t.name})}recursivelyCheckTypeReferenceIsFile({typeReference:t,isOptional:r,isArray:i}){return this.context.isList(t)?this.recursivelyCheckTypeReferenceIsFile({typeReference:t.container.list,isOptional:r,isArray:!0}):this.context.isOptional(t)?this.recursivelyCheckTypeReferenceIsFile({typeReference:t.container.optional,isOptional:!0,isArray:i}):this.context.isNullable(t)?this.recursivelyCheckTypeReferenceIsFile({typeReference:t.container.nullable,isOptional:r,isArray:i}):this.context.isFile(t)?{isFile:!0,isOptional:r??!1,isArray:i??!1}:{isFile:!1,isOptional:r??!1,isArray:i??!1}}};var n3o=class extends bA.AbstractConverters.AbstractMediaTypeObjectConverter{responseBody;statusCode;streamingExtension;constructor({context:t,breadcrumbs:r,responseBody:i,group:n,method:a,statusCode:u,streamingExtension:l}){super({context:t,breadcrumbs:r,group:n,method:a}),this.responseBody=i,this.statusCode=u,this.streamingExtension=l}convert(){let t=[...this.group,this.method,"Response",this.statusCode].join("_"),r=Object.keys(this.responseBody.content??{}).filter(n=>n.includes("json"));for(let n of r){let a=this.responseBody.content?.[n],u=this.parseMediaTypeObject({mediaTypeObject:a,schemaId:t,contentType:n});if(u!=null){if(this.streamingExtension!=null)return this.convertStreamingResponse({mediaTypeObject:a,convertedSchema:u});if(n.includes("json"))return this.returnJsonResponse({mediaTypeObject:a,convertedSchema:u})}}let i=Object.keys(this.responseBody.content??{}).filter(n=>!n.includes("json"));for(let n of i){let a=this.responseBody.content?.[n],u=this.parseMediaTypeObject({mediaTypeObject:a,schemaId:t,contentType:n});if(u!=null){if(this.isBinarySchema(u))return this.context.settings?.useBytesForBinaryResponse&&this.streamingExtension==null?this.returnBytesResponse({mediaTypeObject:a}):this.returnFileDownloadResponse({mediaTypeObject:a});if(JE.parse(n)?.isText())return this.returnTextResponse({mediaTypeObject:a})}}}convertStreamingResponse({mediaTypeObject:t,convertedSchema:r}){if(this.streamingExtension==null)return;switch(this.streamingExtension.format){case"json":return{responseBody:GD.streaming(pV.json({docs:this.responseBody.description,payload:r.type,terminator:void 0,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})})),streamResponseBody:void 0,inlinedTypes:{},examples:{}};case"sse":return{responseBody:GD.streaming(pV.sse({docs:this.responseBody.description,payload:r.type,terminator:void 0,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})})),streamResponseBody:void 0,inlinedTypes:{},examples:{}};default:return}}returnJsonResponse({mediaTypeObject:t,convertedSchema:r}){return{responseBody:GD.json(uX.response({responseBodyType:r.type,docs:this.responseBody.description,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})})),streamResponseBody:void 0,inlinedTypes:r.inlinedTypes,examples:r.examples}}returnBytesResponse({mediaTypeObject:t}){return{responseBody:GD.bytes({docs:this.responseBody.description,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})}),streamResponseBody:void 0,inlinedTypes:{}}}returnFileDownloadResponse({mediaTypeObject:t}){return{responseBody:GD.fileDownload({docs:this.responseBody.description,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})}),streamResponseBody:void 0,inlinedTypes:{}}}returnTextResponse({mediaTypeObject:t}){return{responseBody:GD.text({docs:this.responseBody.description,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})}),streamResponseBody:void 0,inlinedTypes:{}}}isBinarySchema(t){let r=t.type;switch(r.type){case"container":case"named":case"unknown":return!1;case"primitive":return r.primitive.v2==null?!1:r.primitive.v2.type==="string"&&r.primitive.v2.validation?.format==="binary";default:return!1}}};var a3o=class extends bA.AbstractConverters.AbstractMediaTypeObjectConverter{responseError;statusCode;methodName;constructor({context:t,breadcrumbs:r,responseError:i,group:n,method:a,methodName:u,statusCode:l}){super({context:t,breadcrumbs:r,group:n,method:a}),this.responseError=i,this.statusCode=l,this.methodName=u}convert(){if(!this.responseError.content){let i=l0a[this.statusCode];if(i==null){this.context.logger.warn(`No error name found for status code ${this.statusCode}`);return}let n=this.context.enableUniqueErrorsPerEndpoint?cZs(`${this.methodName}Request${i}`):i;return{error:{error:{name:this.context.casingsGenerator.generateName(n),fernFilepath:{allParts:[],packagePath:[],file:void 0},errorId:n},docs:this.responseError.description},errorType:Gf.unknown(),displayName:i,statusCode:this.statusCode,inlinedTypes:{},examples:{}}}let t=Object.keys(this.responseError.content).filter(i=>i.includes("json")),r=l0a[this.statusCode];if(r==null){this.context.logger.warn(`No error name found for status code ${this.statusCode}`);return}for(let i of[...t]){let n=this.responseError.content?.[i],a=this.parseMediaTypeObject({mediaTypeObject:n,schemaId:cZs(`${this.methodName}Request${r}`),contentType:i});if(a==null)continue;let u=this.context.enableUniqueErrorsPerEndpoint?cZs(`${this.methodName}Request${r}`):r;if(a.schema!=null)return{error:{error:{name:this.context.casingsGenerator.generateName(u),fernFilepath:a.schema.typeDeclaration.name.fernFilepath,errorId:u},docs:this.responseError.description},errorType:a.type,displayName:r,statusCode:this.statusCode,inlinedTypes:a.inlinedTypes,examples:a.examples};if(a.type.type==="named")return{error:{error:{name:this.context.casingsGenerator.generateName(u),fernFilepath:a.type.fernFilepath,errorId:u},docs:this.responseError.description},errorType:a.type,displayName:r,statusCode:this.statusCode,inlinedTypes:a.inlinedTypes,examples:a.examples}}}};function cZs(e){return e.length===0?e:e.charAt(0).toUpperCase()+e.slice(1)}var fJD=/{([^}]+)}/g,dJD=new Set(["user-agent","content-length","content-type","x-forwarded-for","cookie","origin","content-disposition","x-ping-custom-domain"]),EMn=class extends M0{operation;method;path;inlinedTypes={};constructor({context:t,breadcrumbs:r,operation:i,method:n,path:a}){super({context:t,breadcrumbs:r}),this.operation=i,this.method=n,this.path=a}convertHttpMethod(){switch(this.method){case"get":return B7.Get;case"post":return B7.Post;case"put":return B7.Put;case"delete":return B7.Delete;case"patch":return B7.Patch;default:return}}convertParameters({breadcrumbs:t}){let r=[],i=[],n=[];if(!this.operation.parameters)return this.checkMissingPathParameters(r),{pathParameters:r,queryParameters:i,headers:n};for(let a of this.operation.parameters){let u=this.context.resolveMaybeReference({schemaOrReference:a,breadcrumbs:t});if(u==null)continue;let f=new r3o({context:this.context,breadcrumbs:t,parameter:u}).convert();if(f!=null)switch(this.inlinedTypes={...this.inlinedTypes,...f.inlinedTypes},f.type){case"path":r.push(f.parameter);break;case"query":i.push(f.parameter);break;case"header":{let s=f.parameter.name.name.originalName,o=f.parameter.name.wireValue,c=!1,b=this.context.authOverrides?.["auth-schemes"];if(b!=null){for(let g of Object.values(b))if(yJD(g)&&g.header.toLowerCase()===o.toLowerCase()){c=!0;break}}!dJD.has(s.toLowerCase())&&!c&&n.push(f.parameter);break}}}return this.checkMissingPathParameters(r),{pathParameters:r,queryParameters:i,headers:n}}checkMissingPathParameters(t){let i=[...this.path.matchAll(fJD)].map(n=>n[1]).filter(n=>!t.some(a=>a.name.originalName===n));for(let n of i){if(n==null)continue;let a=`${n}_example`;t.push({name:this.context.casingsGenerator.generateName(n),valueType:M0.STRING,docs:void 0,location:"ENDPOINT",variable:void 0,v2Examples:{userSpecifiedExamples:{},autogeneratedExamples:{[a]:this.generateStringParameterExample({example:n})}}})}}convertRequestBody({breadcrumbs:t,group:r,method:i}){if(this.operation.requestBody==null)return;let n=this.context.resolveMaybeReference({schemaOrReference:this.operation.requestBody,breadcrumbs:t});if(n==null)return null;let u=new i3o({context:this.context,breadcrumbs:t,requestBody:n,group:r??[],method:i}).convert();if(u!=null)return this.inlinedTypes={...this.inlinedTypes,...u.inlinedTypes},{value:u.requestBody,examples:u.examples}}convertResponseBody({breadcrumbs:t,group:r,method:i,streamingExtension:n}){if(this.operation.responses==null)return;let a,u=!1;for(let[l,f]of Object.entries(this.operation.responses)){let s=parseInt(l);if(!(isNaN(s)||s<200||s>=300&&s<400)){if(a==null&&(a={response:void 0,streamResponse:void 0,errors:[],examples:{}}),s>=200&&s<300&&!u){let o=this.context.resolveMaybeReference({schemaOrReference:f,breadcrumbs:[...t,l]});if(o==null)continue;let b=new n3o({context:this.context,breadcrumbs:[...t,l],responseBody:o,group:r??[],method:i,statusCode:l,streamingExtension:n}).convert();b!=null&&(u=!0,this.inlinedTypes={...this.inlinedTypes,...b.inlinedTypes},a.response={statusCode:s,body:b.responseBody},a.streamResponse={statusCode:s,body:b.streamResponseBody})}if(s>=400&&s<600){let o=this.context.resolveMaybeReference({schemaOrReference:f,breadcrumbs:[...t,l]});if(o==null)continue;let b=new a3o({context:this.context,breadcrumbs:[...t,l],responseError:o,group:r??[],method:i,methodName:this.evaluateMethodNameFromOperation(),statusCode:s}).convert();b!=null&&(this.inlinedTypes={...this.inlinedTypes,...b.inlinedTypes},a.errors.push(b))}}}return a}computeGroupNameAndLocationFromExtensions(){let r=new eW.SdkMethodNameExtension({breadcrumbs:this.breadcrumbs,operation:this.operation,context:this.context}).convert()?.methodName,n=new eW.SdkGroupNameExtension({breadcrumbs:this.breadcrumbs,operation:this.operation,context:this.context}).convert()?.groups??[];if(r!=null)return{group:n,method:r}}evaluateMethodNameFromOperation(){let t=this.operation.operationId;return t??(this.operation.summary!=null?L_(this.operation.summary):L_(`${this.method}_${this.path.split("/").join("_")}`))}computeGroupNameFromTagAndOperationId(){let t=this.operation.tags?.[0],r=this.evaluateMethodNameFromOperation();if(t==null)return{method:r};let i=xXp(t),n=xXp(r);return ESe(i,n)?{method:t}:this.computeGroupAndMethodFromTokens({tag:t,tagTokens:i,methodName:r,methodNameTokens:n})}computeGroupAndMethodFromTokens({tag:t,tagTokens:r,methodName:i,methodNameTokens:n}){if(r.some((l,f)=>l!==n[f]))return{group:[t],method:i};let u=n.slice(r.length);return{group:[t],method:L_(u.join("_"))}}generateStringParameterExample({example:t}){let r=new bA.ExampleConverter({breadcrumbs:this.breadcrumbs,context:this.context,schema:{type:"string"},example:t}),{validExample:i}=r.convert();return i}};function xXp(e){let t=pJD(e)?_JD(e):hJD(e);return t=t.map(r=>r.toLowerCase()),t=_xe(t),t}function pJD(e){return/^[a-z]+(?:[A-Z][a-z]+)*$/.test(e)}function _JD(e){return e.split(/(?=[A-Z])/)}function hJD(e){return e.split(/[^a-zA-Z0-9]+/)}function yJD(e){return e?.header!=null}var o3o=class e extends EMn{idempotent;streamingExtensionConverter;idToAuthScheme;topLevelServers;static AUTHORIZATION_HEADER="Authorization";constructor({context:t,breadcrumbs:r,operation:i,method:n,path:a,idempotent:u,idToAuthScheme:l,topLevelServers:f}){super({context:t,breadcrumbs:r,operation:i,method:n,path:a}),this.idempotent=u,this.idToAuthScheme=l,this.topLevelServers=f,this.streamingExtensionConverter=new DMn({breadcrumbs:this.breadcrumbs,operation:this.operation,context:this.context})}convert(){let t=this.convertHttpMethod();if(t==null)return;let{group:r,method:i}=this.computeGroupNameAndLocationFromExtensions()??this.computeGroupNameFromTagAndOperationId(),n=this.streamingExtensionConverter.convert(),{headers:a,pathParameters:u,queryParameters:l}=this.convertParameters({breadcrumbs:[...this.breadcrumbs,"parameters"]}),f=this.convertRequestBody({breadcrumbs:[...this.breadcrumbs,"requestBody"],group:r,method:i}),s=f?.value,o=this.convertResponseBody({breadcrumbs:[...this.breadcrumbs,"responses"],group:r,method:i,streamingExtension:n}),c=o?.response,b=o?.streamResponse,g=o!=null?o.errors:[],O={},m=g.map(x=>x.error),P=pN(this.path),E=this.getEndpointBaseUrl(),A=this.convertExamples({httpPath:P,httpMethod:t,baseUrl:E}),M=new Set(this.operation.security?.flatMap(x=>Object.keys(x))??[]),D=this.authSchemeToHeaders(Array.from(M));D.length>0&&a.push(...D);for(let x of g){let L=x.error,V=x.errorType,X=L.error.errorId;O[X]={name:L.error,displayName:x.displayName,discriminantValue:{name:L.error.name,wireValue:X},type:V,statusCode:x.statusCode,docs:L.docs,examples:[],v2Examples:void 0}}let T={displayName:this.operation.summary,method:t,name:this.context.casingsGenerator.generateName(i),baseUrl:E,path:P,pathParameters:u,queryParameters:l,headers:a.filter((x,L,V)=>L===V.findIndex(X=>X.name.wireValue===x.name.wireValue)),requestBody:s,sdkRequest:void 0,errors:m,auth:this.operation.security!=null||this.context.spec.security!=null,availability:this.context.getAvailability({node:this.operation,breadcrumbs:this.breadcrumbs}),docs:this.operation.description,userSpecifiedExamples:[],autogeneratedExamples:[],idempotent:this.idempotent??!1,basePath:void 0,fullPath:P,allPathParameters:u,pagination:void 0,transport:void 0,v2Examples:{autogeneratedExamples:{},userSpecifiedExamples:A},source:pie.openapi()},z=this.context.namespace!=null?[this.context.namespace]:[],$=r?.map(x=>L_(x));return z.push(...$??[]),{audiences:this.context.getAudiences({operation:this.operation,breadcrumbs:this.breadcrumbs})??[],group:r,errors:O,endpoint:{id:`endpoint_${z.join("/")}.${i}`,...T,response:c},streamEndpoint:b!=null&&b.body!=null?{id:`endpoint_${z.join("/")}.${i}_stream`,...T,response:b}:void 0,inlinedTypes:this.inlinedTypes,servers:this.filterOutTopLevelServers(this.operation.servers??[])}}authSchemeToHeaders(t){let r=[];for(let i of t){let n=this.idToAuthScheme?.[i];if(n==null)continue;let a={valueType:M0.STRING,availability:void 0,docs:void 0,env:void 0,v2Examples:void 0};switch(n.type){case"bearer":r.push({name:{name:this.context.casingsGenerator.generateName(e.AUTHORIZATION_HEADER),wireValue:e.AUTHORIZATION_HEADER},...a});break;case"basic":r.push({name:{name:this.context.casingsGenerator.generateName(e.AUTHORIZATION_HEADER),wireValue:e.AUTHORIZATION_HEADER},...a});break;case"header":r.push({name:n.name,...a});break}}return r}convertExamples({httpPath:t,httpMethod:r,baseUrl:i}){let a=new t3o({context:this.context,breadcrumbs:this.breadcrumbs,operation:this.operation}).convert();return a==null?{}:Object.fromEntries(a.map((u,l)=>[u.id??l.toString(),{request:{docs:void 0,endpoint:{method:r,path:this.buildExamplePath(t,u["path-parameters"]??{})},baseUrl:void 0,environment:i,auth:void 0,pathParameters:u["path-parameters"]??{},queryParameters:u["query-parameters"]??{},headers:u.headers??{},requestBody:u.request},response:{docs:void 0,statusCode:void 0,body:Hs.V2HttpEndpointResponseBody.json(u.response)},codeSamples:u["code-samples"]?.map(f=>({docs:void 0,language:("language"in f?f.language:f.sdk)??void 0,code:f.code}))}]))}getEndpointBaseUrl(){let t=this.operation.servers?.[0];if(t==null)return;let i=this.topLevelServers?.find(n=>n.url===t.url)??t;return LZt.getServerName({server:i,context:this.context})}buildExamplePath(t,r){return t.head+t.parts.map(i=>`${r[i.pathParameter]??i.pathParameter}${i.tail}`).join("")}filterOutTopLevelServers(t){return t.filter(r=>!this.topLevelServers?.some(i=>i.url===r.url))}};var MMn=class extends EMn{constructor({context:t,breadcrumbs:r,operation:i,method:n,path:a}){super({context:t,breadcrumbs:r,operation:i,method:n,path:a})}convert(){if(this.operation.requestBody==null){this.context.errorCollector.collect({message:"Skipping webhook because no request body present",path:this.breadcrumbs});return}let t=this.convertHttpMethod();if(t==null)return;if(t!=="POST"&&t!=="GET"){this.context.errorCollector.collect({message:"Skipping webhook because non-POST or GET method",path:this.breadcrumbs});return}let{group:r,method:i}=this.computeGroupNameAndLocationFromExtensions()??this.computeGroupNameFromTagAndOperationId(),n=[...this.breadcrumbs,"Payload"],{headers:a}=this.convertParameters({breadcrumbs:n}),u=this.convertRequestBody({breadcrumbs:n,group:r,method:i}),l;if(u?.value.type==="inlinedRequestBody")l=hV.inlinedPayload({name:u.value.name,extends:u.value.extends,properties:u.value.properties});else if(u?.value.type==="reference")l=hV.reference({payloadType:u.value.requestBodyType,docs:u.value.docs});else return;return{audiences:this.context.getAudiences({operation:this.operation,breadcrumbs:this.breadcrumbs})??[],group:r,webhook:{id:`${r?.join(".")??""}.${i}`,name:this.context.casingsGenerator.generateName(i),displayName:this.operation.summary,method:t,headers:a,payload:l,examples:[],availability:this.context.getAvailability({node:this.operation,breadcrumbs:this.breadcrumbs}),docs:this.operation.description,v2Examples:void 0},inlinedTypes:this.inlinedTypes}}};var u3o=class extends M0{pathItem;path;idToAuthScheme;topLevelServers;constructor({context:t,breadcrumbs:r,pathItem:i,path:n,idToAuthScheme:a,topLevelServers:u}){super({context:t,breadcrumbs:r}),this.pathItem=i,this.path=n,this.idToAuthScheme=a,this.topLevelServers=u}convert(){let t=[],r=[],i={};for(let n of BXp){let a=this.pathItem[n];if(a==null)continue;let u=[...this.breadcrumbs,n],l=this.tryParseAsWebhook({operationBreadcrumbs:u,operation:a,method:n,context:this.context});if(l!=null){r.push(l),Object.assign(i,l.inlinedTypes);continue}new DMn({breadcrumbs:u,operation:a,context:this.context}).convert()!=null;let o=this.tryParseAsHttpEndpoint({operationBreadcrumbs:u,operation:a,method:n});o!=null&&(t.push(o),Object.assign(i,o.inlinedTypes))}return{endpoints:t,webhooks:r,inlinedTypes:i}}tryParseAsWebhook({operation:t,method:r,operationBreadcrumbs:i,context:n}){return new e3o({breadcrumbs:i,operation:t,context:n}).convert()?new MMn({context:this.context,breadcrumbs:i,operation:t,method:lZs.OpenAPIV3.HttpMethods[r.toUpperCase()],path:this.path}).convert():void 0}tryParseAsHttpEndpoint({operation:t,method:r,operationBreadcrumbs:i}){new kFo({breadcrumbs:i,operation:t,document:this.context.spec,context:this.context}).convert()!=null;let l=new XFo({breadcrumbs:i,operation:t,context:this.context}).convert();return new o3o({context:this.context,breadcrumbs:i,operation:t,method:lZs.OpenAPIV3.HttpMethods[r.toUpperCase()],path:this.path,idempotent:l,idToAuthScheme:this.idToAuthScheme,topLevelServers:this.topLevelServers}).convert()}};var s3o=class extends M0{securityScheme;constructor({context:t,breadcrumbs:r,securityScheme:i}){super({context:t,breadcrumbs:r}),this.securityScheme=i}convert(){switch(this.securityScheme.type){case"http":{if(this.securityScheme.scheme==="bearer")return GC.bearer({token:this.context.casingsGenerator.generateName("token"),tokenEnvVar:void 0,docs:this.securityScheme.description});if(this.securityScheme.scheme==="basic")return GC.basic({username:this.context.casingsGenerator.generateName("username"),password:this.context.casingsGenerator.generateName("password"),usernameEnvVar:void 0,passwordEnvVar:void 0,docs:this.securityScheme.description});break}case"apiKey":{if(this.securityScheme.in==="header")return GC.header({name:{name:this.context.casingsGenerator.generateName(this.securityScheme.name),wireValue:this.securityScheme.name},valueType:M0.OPTIONAL_STRING,prefix:void 0,headerEnvVar:void 0,docs:this.securityScheme.description});break}case"oauth2":return GC.bearer({token:this.context.casingsGenerator.generateName("token"),tokenEnvVar:void 0,docs:this.securityScheme.description})}}};var p0a=class extends RYr{constructor({breadcrumbs:t,context:r,audiences:i}){super({breadcrumbs:t,context:r,audiences:i})}async convert(){this.context.spec=this.removeXFernIgnores({document:this.context.spec}),this.context.spec=await this.resolveAllExternalRefs({spec:this.context.spec});let t=this.convertSecuritySchemes();this.convertSchemas(),this.convertWebhooks();let{endpointLevelServers:r,errors:i}=this.convertPaths({idToAuthScheme:t});this.addErrorsToIr(i);let{defaultUrl:n}=this.convertServers({endpointLevelServers:r});return this.updateEndpointsWithDefaultUrl(n),this.finalizeIr()}convertSecuritySchemes(){if(this.context.authOverrides)return this.addAuthToIR(ZXs({rawApiFileSchema:this.context.authOverrides,casingsGenerator:this.context.casingsGenerator})),{};let t={},r=[];for(let[i,n]of Object.entries(this.context.spec.components?.securitySchemes??{})){let a=this.context.resolveMaybeReference({schemaOrReference:n,breadcrumbs:["components","securitySchemes",i]});if(a==null)continue;let l=new s3o({context:this.context,breadcrumbs:["components","securitySchemes",i],securityScheme:a}).convert();l!=null&&(this.shouldAddSchemeToApi({authScheme:l,schemeId:i,currentSecuritySchemes:r})?r.push(l):t[i]=l)}return r.length>0&&this.addAuthToIR({requirement:r.length===1?"ALL":"ANY",schemes:r,docs:void 0}),t}convertServers({endpointLevelServers:t}){if(this.context.environmentOverrides){let n=u0a({rawApiFileSchema:this.context.environmentOverrides,casingsGenerator:this.context.casingsGenerator});return n!=null&&this.addEnvironmentsToIr({environmentConfig:n.environmentsConfig,audiences:n.audiences}),{defaultUrl:this.context.environmentOverrides["default-url"]}}let i=new LZt({context:this.context,breadcrumbs:["servers"],servers:this.context.spec.servers,endpointLevelServers:t}).convert();return this.addEnvironmentsToIr({environmentConfig:i?.value}),{defaultUrl:i?.defaultUrl}}convertSchemas(){for(let[t,r]of Object.entries(this.context.spec.components?.schemas??{})){let n=new bA.SchemaConverters.SchemaConverter({context:this.context,id:t,breadcrumbs:["components","schemas",t],schema:r}).convert();n!=null&&(this.addTypeToPackage(t),this.addTypesToIr({...n.inlinedTypes,[t]:n.convertedSchema}))}}convertWebhooks(){for(let[,t]of Object.entries(this.context.spec.webhooks??{})){if(t==null){this.context.errorCollector.collect({message:"Skipping empty webhook",path:this.breadcrumbs});continue}if(!("post"in t)){this.context.errorCollector.collect({message:"Skipping webhook as it is not a POST method",path:this.breadcrumbs});continue}if(t.post?.operationId==null){this.context.errorCollector.collect({message:"Skipping webhook as no operationId is present",path:this.breadcrumbs});continue}let r=t.post.operationId,n=new MMn({context:this.context,breadcrumbs:["webhooks",r],operation:t.post,method:IXp.OpenAPIV3.HttpMethods.POST,path:r}).convert();n!=null&&(this.addWebhookToIr({webhook:n.webhook,operationId:r,audiences:n.audiences,group:n.group}),this.addTypesToIr(n.inlinedTypes))}}convertPaths({idToAuthScheme:t}){let r=[],i={};for(let[n,a]of Object.entries(this.context.spec.paths??{})){if(a==null)continue;let l=new u3o({context:this.context,breadcrumbs:["paths",n],topLevelServers:this.context.spec.servers,pathItem:a,path:n}).convert();if(l!=null){for(let f of l.endpoints)if(this.addEndpointToIr({endpoint:f.endpoint,audiences:f.audiences,endpointGroup:f.group}),f.streamEndpoint!=null&&this.addEndpointToIr({endpoint:f.streamEndpoint,audiences:f.audiences,endpointGroup:f.group}),f.servers&&f.servers[0]!=null&&r.push(f.servers[0]),f.errors)for(let[s,o]of Object.entries(f.errors))i[s]=o;for(let f of l.webhooks){let s=this.context.getGroup({groupParts:f.group,namespace:this.context.namespace});this.addWebhookToIr({webhook:f.webhook,operationId:s.join("."),group:s,audiences:f.audiences})}this.addTypesToIr(l.inlinedTypes)}}return{endpointLevelServers:r,errors:i}}shouldAddSchemeToApi({authScheme:t,schemeId:r,currentSecuritySchemes:i}){let n=i.some(u=>u.type===t.type&&u.type==="bearer"&&t.type==="bearer"?u.token===t.token:!1),a=new Set(this.context.spec.security?.flatMap(u=>Object.keys(u))??[]);return(a.size===0||a.has(r))&&!n}};var _0a=class extends o4{isReferenceObject(t){return t!=null&&typeof t=="object"&&"$ref"in t}convertReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:i,displayNameOverrideType:n}){let a=this.getTypeIdFromSchemaReference(t);if(a==null)return{ok:!1};let u=this.resolveReference({reference:t,breadcrumbs:r});if(!u.resolved)return{ok:!1};let l;return n==="TITLE"?l=i??u.value.title:n==="DISCRIMINATOR_KEY"&&(l=u.value.title??i),{ok:!0,reference:Gf.named({fernFilepath:{allParts:[],packagePath:[],file:void 0},name:this.casingsGenerator.generateName(a),typeId:a,default:void 0,inline:!1,displayName:l})}}};var c3o=class extends bA.AbstractConverters.AbstractParameterConverter{constructor({context:t,breadcrumbs:r,parameter:i}){super({context:t,breadcrumbs:r,parameter:i})}convert(){let t,r={};if(this.parameter.schema!=null){let n=new bA.SchemaConverters.SchemaOrReferenceConverter({context:this.context,breadcrumbs:[...this.breadcrumbs,"schema"],schemaOrReference:this.parameter.schema,wrapAsOptional:this.parameter.required==null||!this.parameter.required}).convert();n!=null&&(t=n.type,r=n.inlinedTypes??{})}return this.convertToOutput({schema:this.parameter.schema??{type:"string"},typeReference:t,inlinedTypes:r})}};var vJD=pu.object({description:pu.string().optional(),required:pu.boolean().optional(),deprecated:pu.boolean().optional(),allowEmptyValue:pu.boolean().optional(),style:pu.string().optional(),explode:pu.boolean().optional(),allowReserved:pu.boolean().optional(),schema:pu.any().optional(),example:pu.any().optional(),examples:pu.record(pu.string(),pu.any()).optional(),content:pu.record(pu.string(),pu.any()).optional()}),bJD=vJD.extend({name:pu.string(),in:pu.string()}),gJD=pu.array(bJD),l3o=class extends oj{operation;key="x-fern-parameters";constructor({breadcrumbs:t,operation:r,context:i}){super({breadcrumbs:t,context:i}),this.operation=r}convert(){let t=this.getExtensionValue(this.operation);if(t!=null)try{return gJD.parse(t)}catch(r){this.context.errorCollector.collect({message:`Failed to parse x-fern-parameters extension: ${r instanceof Error?r.message:String(r)}`,path:this.breadcrumbs});return}}};var f3o=class extends M0{method;pathParameters;queryParameters;headers;constructor({context:t,breadcrumbs:r,method:i,pathParameters:n=[],queryParameters:a=[],headers:u=[]}){super({context:t,breadcrumbs:r}),this.method=i,this.pathParameters=n,this.queryParameters=a,this.headers=u}convert(){let t={},r="";for(let f of this.pathParameters)r+=`/{${f.name.originalName}}`;let i=pN(r),n=[];for(let[f,s]of this.method.params.entries()){let o;if(this.context.isReferenceObject(s)){let O=this.context.resolveReference({reference:s});if(O.resolved)o=O.value;else continue}else o=s;let c=[this.method.name,"Param",o.name].join("_"),g=new bA.SchemaConverters.SchemaOrReferenceConverter({breadcrumbs:[this.method.name,"Param",o.name],schemaIdOverride:c,context:this.context,schemaOrReference:o.schema,wrapAsOptional:!o.required}).convert();g!=null&&(n.push({docs:o.description,availability:this.context.getAvailability({node:s,breadcrumbs:[...this.breadcrumbs,"parameters"]}),name:this.context.casingsGenerator.generateNameAndWireValue({name:o.name,wireValue:o.name}),valueType:g.type,v2Examples:g.schema?.typeDeclaration.v2Examples}),t={...g.inlinedTypes,...t,...g.schema!=null?{[c]:g.schema}:{}})}let a;if(this.method.result!=null){let f=this.context.resolveMaybeReference({schemaOrReference:this.method.result,breadcrumbs:[...this.breadcrumbs,"result"]});if(f!=null){let s=new bA.SchemaConverters.SchemaOrReferenceConverter({breadcrumbs:[this.method.name,"result"],context:this.context,schemaOrReference:f.schema}),o=[this.method.name,"Result"].join("_"),c=s.convert();c!=null&&(a={docs:f.description,v2Examples:c.schema?.typeDeclaration.v2Examples,responseBodyType:c.type},t={...c.inlinedTypes,...t,...c.schema!=null?{[o]:c.schema}:{}})}}let u=this.context.getAudiences({operation:this.method,breadcrumbs:this.breadcrumbs})??[];return{endpoint:{baseUrl:void 0,basePath:void 0,auth:!1,method:"POST",id:this.method.name,docs:this.method.description,name:this.context.casingsGenerator.generateName(this.method.name),headers:this.headers,displayName:this.method.name,pathParameters:this.pathParameters,queryParameters:this.queryParameters,allPathParameters:this.pathParameters,path:i,fullPath:i,requestBody:n.length>0?pC.inlinedRequestBody({name:this.context.casingsGenerator.generateName([this.method.name,"Request"].join("_")),docs:void 0,properties:n,extends:[],extendedProperties:[],contentType:"application/json",extraProperties:!1,v2Examples:void 0}):void 0,sdkRequest:void 0,response:a!=null?{body:GD.json(uX.response(a)),statusCode:void 0}:void 0,errors:[],idempotent:!1,pagination:void 0,userSpecifiedExamples:[],autogeneratedExamples:[],v2Examples:{autogeneratedExamples:{},userSpecifiedExamples:this.convertExamples()},transport:void 0,availability:void 0,source:pie.openrpc()},audiences:u,inlinedTypes:t}}convertExamples(){let t={},r=0;if(this.method.examples&&this.method.examples.length>0){for(let i of this.method.examples??[]){let n;if(this.context.isReferenceObject(i)){let f=this.context.resolveReference({reference:i});if(f.resolved)n=f.value;else continue}else n=i;let a;if(n.result)if(this.context.isReferenceObject(n.result)){let f=this.context.resolveReference({reference:n.result});f.resolved&&(a=f.value)}else a=n.result;let u=n.name??`Example ${r+1}`,l=[];if(n.params&&Array.isArray(n.params)){l=[];for(let f of n.params)if(this.context.isReferenceObject(f)){let s=this.context.resolveReference({reference:f});if(s.resolved)l.push(s.value);else continue}else l.push(f)}t[u]={request:{docs:void 0,endpoint:{method:"POST",path:"/{apiKey}"},baseUrl:void 0,environment:void 0,auth:void 0,pathParameters:{},queryParameters:{},headers:{},requestBody:l.map(f=>f.value)??void 0},response:{docs:void 0,statusCode:void 0,body:a?.value?Hs.V2HttpEndpointResponseBody.json({jsonrpc:"2.0",id:n.examplePairedRequest?.id||"1",result:a.value}):void 0},codeSamples:[]}}++r}return t}};var h0a=class extends RYr{constructor({context:t,breadcrumbs:r,audiences:i}){super({context:t,breadcrumbs:r,audiences:i})}async convert(){return this.context.spec=this.removeXFernIgnores({document:this.context.spec}),this.convertServers({}),this.convertSchemas(),this.convertMethods(),this.finalizeIr()}convertServers({endpointLevelServers:t}){let i=new LZt({context:this.context,breadcrumbs:["servers"],servers:this.context.spec.servers,endpointLevelServers:t}).convert();this.addEnvironmentsToIr({environmentConfig:i?.value})}convertSchemas(){for(let[t,r]of Object.entries(this.context.spec.components?.schemas??{})){let n=new bA.SchemaConverters.SchemaConverter({context:this.context,id:t,breadcrumbs:["components","schemas",t],schema:r}).convert();n!=null&&(this.addTypeToPackage(t),this.addTypesToIr({...n.inlinedTypes,[t]:n.convertedSchema}))}}convertMethods(){let r=new l3o({context:this.context,breadcrumbs:["methods"],operation:this.context.spec}).convert(),i=[],n=[],a=[];if(r&&r.length>0)for(let[l,f]of r.entries()){let o=new c3o({context:this.context,breadcrumbs:[...this.breadcrumbs,`x-fern-parameters[${l}]`],parameter:f}).convert();if(o!=null)switch(o.type){case"path":{i.push(o.parameter);break}case"query":{n.push(o.parameter);break}case"header":{a.push(o.parameter);break}}}let u=this.context.getGroup({groupParts:[],namespace:this.context.namespace});for(let l of this.context.spec.methods??[]){let f=this.context.resolveMaybeReference({schemaOrReference:l,breadcrumbs:["methods"]});if(f==null)continue;let o=new f3o({context:this.context,breadcrumbs:["methods"],method:f,pathParameters:i,queryParameters:n,headers:a}).convert();o!=null&&(this.addEndpointToIr({endpoint:o.endpoint,audiences:o.audiences,endpointGroup:u,serviceName:"service_root"}),this.addTypesToIr(o.inlinedTypes))}}};var y0a=class extends o4{isReferenceObject(t){return t!=null&&"$ref"in t}convertReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:i,displayNameOverrideType:n}){let a=this.getTypeIdFromSchemaReference(t);if(a==null)return{ok:!1};let u=this.resolveReference({reference:t,breadcrumbs:r});if(!u.resolved)return{ok:!1};let l;return n==="TITLE"?l=i??u.value.title:n==="DISCRIMINATOR_KEY"&&(l=u.value.title??i),{ok:!0,reference:Gf.named({fernFilepath:{allParts:[],packagePath:[],file:void 0},name:this.casingsGenerator.generateName(a),typeId:a,displayName:l,default:void 0,inline:!1})}}};var zXp={[kh.GenerationLanguage.PHP]:new Set(["abstract","and","as","break","callable","case","catch","class","clone","const","continue","declare","default","do","echo","else","elseif","enddeclare","endfor","endforeach","endif","endswitch","endwhile","extends","final","finally","fn","for","foreach","function","global","goto","list","if","implements","include","include_once","instanceof","insteadof","interface","match","namespace","new","or","parent","Parent","print","private","protected","public","readonly","require","require_once","return","static","switch","throw","trait","try","use","var","while","xor","yield"].flatMap(e=>[e,bx(e)])),[kh.GenerationLanguage.TYPESCRIPT]:new Set(["any","as","boolean","break","case","catch","class","const","constructor","continue","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","instanceof","interface","let","module","new","null","number","of","package","private","protected","public","require","return","set","static","string","super","switch","symbol","this","throw","true","try","type","typeof","var","void","while","with","yield","Date","Error","File","Object","Record"]),[kh.GenerationLanguage.JAVA]:new Set(["abstract","assert","boolean","break","byte","case","catch","char","class","const","continue","default","do","double","else","enum","extends","false","final","finally","float","for","goto","if","implements","import","instanceof","int","interface","long","native","new","null","package","private","protected","public","return","short","static","strictfp","super","switch","synchronized","this","throw","throws","transient","true","try","void","volatile","while"]),[kh.GenerationLanguage.PYTHON]:new Set(["False","None","True","and","as","assert","async","","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","nonlocal","not","or","pass","raise","return","try","while","with","yield","float","int","complex","bool","uuid","list","set","map","long","self","all"]),[kh.GenerationLanguage.GO]:new Set(["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var","any","bool","byte","complex64","complex128","error","float32","float64","int","int8","int16","int32","int64","make","new","rune","string","uint","uint8","uint16","uint32","uint64","uintptr"]),[kh.GenerationLanguage.RUBY]:new Set(["__ENCODING__","__LINE__","__FILE__","alias","and","begin","break","case","class","def","defined","do","else","elsif","end","ensure","false","for","if","in","module","next","nil","not","or","redo","rescue","retry","return","self","super","then","true","undef","unless","until","when","while","yield","Object","JSON","Date","DateTime"]),[kh.GenerationLanguage.CSHARP]:new Set(["abstract","as","base","bool","break","byte","case","catch","char","checked","class","const","continue","decimal","default","delegate","do","double","else","enum","event","explicit","extern","false","finally","fixed","float","for","foreach","goto","if","implicit","in","int","interface","internal","is","lock","long","namespace","new","null","object","operator","out","override","params","private","protected","public","readonly","ref","return","sbyte","sealed","short","sizeof","stackalloc","static","string","struct","switch","this","throw","true","try","typeof","uint","ulong","unchecked","unsafe","ushort","using","virtual","void","volatile","while","add","and","alias","ascending","args","async","","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","managed","nameof","nint","not","notnull","nuint","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value","var","when","where","with","yield"]),[kh.GenerationLanguage.SWIFT]:new Set([])};var OJD=["go","ruby"];function fZs({generationLanguage:e,keywords:t,smartCasing:r}){let i={generateName:(n,a)=>{let u=c=>({unsafeName:c,safeName:mJD({name:c,keywords:PJD({generationLanguage:e,keywords:t})})}),l=L_(n),f=bx(l),s=kCi(n),o=KCi(l);return r&&(!SJD(o)&&(e==null||OJD.includes(e))&&(l=o.map((c,b)=>{if(b>0){let g=d3o(c);if(g!=null)return g;if(p3o(c))return c.toUpperCase()}return c}).join(""),f=o.map((c,b)=>{let g=d3o(c);return g??(p3o(c)?c.toUpperCase():b===0?bx(c):c)}).join("")),s=n.split(" ").map(c=>c.split(/(\d+)/).map(kCi).join("")).join("_")),{originalName:n,camelCase:u(a?.casingOverrides?.camel??l),snakeCase:u(a?.casingOverrides?.snake??s),screamingSnakeCase:u(a?.casingOverrides?.["screaming-snake"]??s.toUpperCase()),pascalCase:u(a?.casingOverrides?.pascal??f)}},generateNameAndWireValue:({name:n,wireValue:a,opts:u})=>({name:i.generateName(n,u),wireValue:a})};return i}function mJD({name:e,keywords:t}){return t==null?e:t.has(e)?e+"_":wJD(e)?"_"+e:e}function PJD({generationLanguage:e,keywords:t}){if(t!=null)return new Set(t);if(e!=null)return zXp[e]}var jJD=/^[0-9]/;function wJD(e){return jJD.test(e)}function SJD(e){return e.some((t,r)=>{if(r===0)return!1;let i=e[r-1];if(i==null)return!1;let n=d3o(i)!=null||p3o(i),a=d3o(t)!=null||p3o(t);return n&&a})}function d3o(e){return EJD.get(e.toUpperCase())}function p3o(e){return DJD.has(e.toUpperCase())}var DJD=new Set(["ACL","API","ASCII","CPU","CSS","DNS","EOF","GUID","HTML","HTTP","HTTPS","ID","IP","JSON","LHS","QPS","RAM","RHS","RPC","SAML","SCIM","SLA","SMTP","SQL","SSH","SSO","TCP","TLS","TTL","UDP","UI","UID","UUID","URI","URL","UTF8","VM","XML","XMPP","XSRF","XSS"]),EJD=new Map([["ACLS","ACLs"],["APIS","APIs"],["CPUS","CPUs"],["GUIDS","GUIDs"],["IDS","IDs"],["UIDS","UIDs"],["UUIDS","UUIDs"],["URIS","URIs"],["URLS","URLs"]]);var RXp=require("fs/promises");async function dZs({context:e,absoluteFilePath:t,absoluteFilePathToOverrides:r}){let i=(await(0,RXp.readFile)(t)).toString(),n;try{n=JSON.parse(i)}catch{n=Ed.load(i)}return r!=null?await IEn({absoluteFilePathToOverrides:r,context:e,data:n}):n}var xz=class extends Eya{type="oss";allSpecs;specs;sources;loader;constructor({allSpecs:t,specs:r,...i}){super({...i,respectReadonlySchemas:r.every(n=>n.settings?.respectReadonlySchemas),respectNullableSchemas:r.every(n=>n.settings?.respectNullableSchemas),onlyIncludeReferencedSchemas:r.every(n=>n.settings?.onlyIncludeReferencedSchemas),inlinePathParameters:r.every(n=>n.settings?.inlinePathParameters),objectQueryParameters:r.every(n=>n.settings?.objectQueryParameters),useBytesForBinaryResponse:r.filter(n=>n.type==="openapi"&&n.source.type==="openapi").some(n=>n.settings?.useBytesForBinaryResponse),respectForwardCompatibleEnums:r.filter(n=>n.type==="openapi"&&n.source.type==="openapi").some(n=>n.settings?.respectForwardCompatibleEnums),exampleGeneration:r[0]?.settings?.exampleGeneration}),this.specs=r,this.allSpecs=t,this.sources=this.convertSpecsToIdentifiableSources(r),this.loader=new B9t(this.absoluteFilePath)}async getOpenAPIIr({context:t,relativePathToDependency:r},i){let n=await mRe({context:t,specs:this.specs,relativePathToDependency:r});return PFi({context:t,documents:await this.loader.loadDocuments({context:t,specs:n}),options:{...i,respectReadonlySchemas:i?.respectReadonlySchemas??this.respectReadonlySchemas,respectNullableSchemas:i?.respectNullableSchemas??this.respectNullableSchemas,onlyIncludeReferencedSchemas:i?.onlyIncludeReferencedSchemas??this.onlyIncludeReferencedSchemas,inlinePathParameters:i?.inlinePathParameters??this.inlinePathParameters,objectQueryParameters:i?.objectQueryParameters??this.objectQueryParameters,exampleGeneration:i?.exampleGeneration??this.exampleGeneration,useBytesForBinaryResponse:i?.useBytesForBinaryResponse??this.useBytesForBinaryResponse}})}async getIntermediateRepresentation({context:t,audiences:r,enableUniqueErrorsPerEndpoint:i}){let n=await mRe({context:t,specs:this.specs}),a=await this.loader.loadDocuments({context:t,specs:n}),u=this.generatorsConfiguration?.api?.auth!=null?{...this.generatorsConfiguration?.api}:void 0;u&&t.logger.trace("Using auth overrides from generators configuration");let l=this.generatorsConfiguration?.api?.environments!=null?{...this.generatorsConfiguration?.api}:void 0;l&&t.logger.trace("Using environment overrides from generators configuration");let f=this.generatorsConfiguration?.api?.headers!=null?{...this.generatorsConfiguration?.api}:void 0;f&&t.logger.trace("Using global header overrides from generators configuration");let s,o=[];for(let c of a){let b=Lu(this.absoluteFilePath,Ja.of(c.source?.file??"")),g=qre(hz(),b),O=new pMn({logger:t.logger,relativeFilepathToSpec:g});o.push(O);let m;switch(c.type){case"openapi":{let E=new _0a({namespace:c.namespace,generationLanguage:"typescript",logger:t.logger,smartCasing:!1,spec:c.value,exampleGenerationArgs:{disabled:!1},errorCollector:O,authOverrides:u,environmentOverrides:l,globalHeaderOverrides:f,enableUniqueErrorsPerEndpoint:i});m=await new p0a({context:E,audiences:r}).convert();break}case"asyncapi":{let E=new d0a({namespace:c.namespace,generationLanguage:"typescript",logger:t.logger,smartCasing:!1,spec:c.value,exampleGenerationArgs:{disabled:!1},errorCollector:O,enableUniqueErrorsPerEndpoint:i});m=await new f0a({context:E,audiences:r}).convert();break}default:O.collect({message:`Unsupported document type: ${c}`,path:[]});break}let P=fZs({generationLanguage:"typescript",keywords:void 0,smartCasing:!1});m!=null&&(s=s===void 0?m:qFo(s,m,P))}for(let c of this.allSpecs)if(c.type==="openrpc"){let b=c.absoluteFilepath,g=qre(hz(),b),O=new pMn({logger:t.logger,relativeFilepathToSpec:g});o.push(O);let m=new y0a({namespace:c.namespace,generationLanguage:"typescript",logger:t.logger,smartCasing:!1,spec:await dZs({context:t,absoluteFilePath:c.absoluteFilepath,absoluteFilePathToOverrides:c.absoluteFilepathToOverrides}),exampleGenerationArgs:{disabled:!1},errorCollector:O,enableUniqueErrorsPerEndpoint:i}),E=await new h0a({context:m,audiences:r}).convert(),A=fZs({generationLanguage:"typescript",keywords:void 0,smartCasing:!1});E!=null&&(s=s===void 0?E:qFo(s,E,A))}for(let c of o)if(c.hasErrors()){let b=c.getErrorStats(),g=c.relativeFilepathToSpec?` for ${c.relativeFilepathToSpec}`:"";b.numErrors>0?t.logger.log("error",`API validation${g} completed with ${b.numErrors} errors and ${b.numWarnings} warnings.`):b.numWarnings>0?t.logger.log("warn",`API validation${g} completed with ${b.numWarnings} warnings.`):t.logger.log("info",`All checks passed when parsing OpenAPI${g}.`),t.logger.log("info",""),await c.logErrors({logWarnings:!1})}if(s===void 0)throw new Error("Failed to generate intermediate representation");return s}async toFernWorkspace({context:t},r){let i=await this.getDefinition({context:t},r);return new BDe({absoluteFilePath:this.absoluteFilePath,workspaceName:this.workspaceName,generatorsConfiguration:this.generatorsConfiguration,dependenciesConfiguration:{dependencies:{}},definition:i,cliVersion:this.cliVersion,sources:this.sources})}getAbsoluteFilePaths(){return[this.absoluteFilePath,...this.specs.flatMap(t=>[t.type==="protobuf"?t.absoluteFilepathToProtobufTarget:t.absoluteFilepath,t.absoluteFilepathToOverrides]).filter(j0)]}getSources(){return this.sources}convertSpecsToIdentifiableSources(t){let r=new Set,i=[];return t.reduce((n,a)=>{let u=a.type==="protobuf"?a.absoluteFilepathToProtobufRoot:a.absoluteFilepath;return r.has(u)||(r.add(u),n.push({type:a.type,id:rne(),absoluteFilePath:u})),n},i)}};var NXp={None:"none",Header:"header"};var z3o={};jn(z3o,{ConjureAliasDeclaration:()=>O3o,ConjureArgument:()=>B3o,ConjureArgumentWithParamType:()=>C3o,ConjureAuthDefinition:()=>CMn,ConjureAuthDefinitionType:()=>q3o,ConjureDefinitions:()=>M3o,ConjureEndpointDefinition:()=>x3o,ConjureEnumDeclaration:()=>D3o,ConjureEnumVariant:()=>S3o,ConjureEnumWithDocs:()=>w3o,ConjureObjectDeclaration:()=>j3o,ConjureParamType:()=>T3o,ConjurePrimitive:()=>g3o,ConjureService:()=>I3o,ConjureServiceName:()=>b3o,ConjureType:()=>L_i,ConjureTypeDeclaration:()=>E3o,ConjureTypeReference:()=>U_i,ConjureTypeWithDocs:()=>m3o,ConjureTypes:()=>A3o,ConjureUnionDeclaration:()=>P3o,DefinitionFile:()=>dZp,WithDocs:()=>UZt,commons:()=>vZs,conjure:()=>bZs,services:()=>gZs,types:()=>OZs});var vZs={};jn(vZs,{WithDocs:()=>UZt});var ep={};jn(ep,{JsonError:()=>AMn,ParseError:()=>qMn,any:()=>kXp,bigint:()=>LXp,boolean:()=>eZp,booleanLiteral:()=>ZXp,date:()=>UXp,discriminant:()=>cZp,enum_:()=>h3o,getObjectLikeUtils:()=>z9t,getObjectUtils:()=>XFi,getSchemaUtils:()=>dq,isProperty:()=>F_i,lazy:()=>VXp,lazyObject:()=>KXp,list:()=>v3o,number:()=>tZp,object:()=>y3o,objectWithoutOptionalProperties:()=>JXp,optional:()=>pZs,property:()=>HXp,record:()=>aZp,set:()=>oZp,string:()=>rZp,stringLiteral:()=>XXp,transform:()=>_Zs,undiscriminatedUnion:()=>sZp,union:()=>fZp,unknown:()=>iZp,withParsedProperties:()=>yZs});var uj={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 UM(e,t){return`Expected ${t}. Received ${MJD(e)}.`}function MJD(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 o9(e){return{...e,json:FXp(e.json),parse:FXp(e.parse)}}function FXp(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(`
1958
1958
  `)),{ok:!0,value:t}):i}}function _3o(e){return e.path.length===0?e.message:`${e.path.join(" -> ")}: ${e.message}`}var AMn=class e extends Error{errors;constructor(t){super(t.map(_3o).join("; ")),this.errors=t,Object.setPrototypeOf(this,e.prototype)}};var qMn=class e extends Error{errors;constructor(t){super(t.map(_3o).join("; ")),this.errors=t,Object.setPrototypeOf(this,e.prototype)}};function dq(e){return{optional:()=>pZs(e),transform:t=>_Zs(e,t),parseOrThrow:(t,r)=>{let i=e.parse(t,r);if(i.ok)return i.value;throw new qMn(i.errors)},jsonOrThrow:(t,r)=>{let i=e.json(t,r);if(i.ok)return i.value;throw new AMn(i.errors)}}}function pZs(e){let t={parse:(r,i)=>r==null?{ok:!0,value:void 0}:e.parse(r,i),json:(r,i)=>i?.omitUndefined&&r===void 0?{ok:!0,value:void 0}:r==null?{ok:!0,value:null}:e.json(r,i),getType:()=>uj.OPTIONAL};return{...t,...dq(t)}}function _Zs(e,t){let r={parse:(i,n)=>{let a=e.parse(i,n);return a.ok?{ok:!0,value:t.transform(a.value)}:a},json:(i,n)=>{let a=t.untransform(i);return e.json(a,n)},getType:()=>e.getType()};return{...r,...dq(r)}}function LXp(){let e={parse:(t,{breadcrumbsPrefix:r=[]}={})=>typeof t!="string"?{ok:!1,errors:[{path:r,message:UM(t,"string")}]}:{ok:!0,value:BigInt(t)},json:(t,{breadcrumbsPrefix:r=[]}={})=>typeof t=="bigint"?{ok:!0,value:t.toString()}:{ok:!1,errors:[{path:r,message:UM(t,"bigint")}]},getType:()=>uj.BIGINT};return{...o9(e),...dq(e)}}var AJD=/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([.,]\d+(?!:))?)?(\17[0-5]\d([.,]\d+)?)?([zZ]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/;function UXp(){let e={parse:(t,{breadcrumbsPrefix:r=[]}={})=>typeof t!="string"?{ok:!1,errors:[{path:r,message:UM(t,"string")}]}:AJD.test(t)?{ok:!0,value:new Date(t)}:{ok:!1,errors:[{path:r,message:UM(t,"ISO 8601 date string")}]},json:(t,{breadcrumbsPrefix:r=[]}={})=>t instanceof Date?{ok:!0,value:t.toISOString()}:{ok:!1,errors:[{path:r,message:UM(t,"Date object")}]},getType:()=>uj.DATE};return{...o9(e),...dq(e)}}function cQ(e,t){return()=>{let r={parse:t,json:t,getType:()=>e};return{...o9(r),...dq(r)}}}function h3o(e){let t=new Set(e);return cQ(uj.ENUM,(i,{allowUnrecognizedEnumValues:n,breadcrumbsPrefix:a=[]}={})=>typeof i!="string"?{ok:!1,errors:[{path:a,message:UM(i,"string")}]}:!t.has(i)&&!n?{ok:!1,errors:[{path:a,message:UM(i,"enum")}]}:{ok:!0,value:i})()}function VXp(e){let t=hZs(e);return{...t,...dq(t)}}function hZs(e){return{parse:(t,r)=>TMn(e).parse(t,r),json:(t,r)=>TMn(e).json(t,r),getType:()=>TMn(e).getType()}}function TMn(e){let t=e;return t.__zurg_memoized==null&&(t.__zurg_memoized=e()),t.__zurg_memoized}function v0a(e){return Object.entries(e)}function b0a(e,t){let r=new Set(t);return Object.entries(e).reduce((i,[n,a])=>(r.has(n)&&(i[n]=a),i),{})}function N_i(e){if(typeof e!="object"||e===null)return!1;if(Object.getPrototypeOf(e)===null)return!0;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function g0a(e){return Object.keys(e)}function WXp(e,t){let r=[],i=[];for(let n of e)t(n)?r.push(n):i.push(n);return[r,i]}function z9t(e){return{withParsedProperties:t=>yZs(e,t)}}function yZs(e,t){let r={parse:(i,n)=>{let a=e.parse(i,n);if(!a.ok)return a;let u=Object.entries(t).reduce((l,[f,s])=>({...l,[f]:typeof s=="function"?s(a.value):s}),{});return{ok:!0,value:{...a.value,...u}}},json:(i,n)=>{if(!N_i(i))return{ok:!1,errors:[{path:n?.breadcrumbsPrefix??[],message:UM(i,"object")}]};let a=new Set(Object.keys(t)),u=b0a(i,Object.keys(i).filter(l=>!a.has(l)));return e.json(u,n)},getType:()=>e.getType()};return{...r,...dq(r),...z9t(r)}}function HXp(e,t){return{rawKey:e,valueSchema:t,isProperty:!0}}function F_i(e){return e.isProperty}function y3o(e){let t={_getRawProperties:()=>Object.entries(e).map(([r,i])=>F_i(i)?i.rawKey:r),_getParsedProperties:()=>g0a(e),parse:(r,i)=>{let n={},a=[];for(let[u,l]of v0a(e)){let f=F_i(l)?l.rawKey:u,s=F_i(l)?l.valueSchema:l,o={rawKey:f,parsedKey:u,valueSchema:s};n[f]=o,QXp(s)&&a.push(f)}return $Xp({value:r,requiredKeys:a,getProperty:u=>{let l=n[u];if(l!=null)return{transformedKey:l.parsedKey,transform:f=>l.valueSchema.parse(f,{...i,breadcrumbsPrefix:[...i?.breadcrumbsPrefix??[],u]})}},unrecognizedObjectKeys:i?.unrecognizedObjectKeys,skipValidation:i?.skipValidation,breadcrumbsPrefix:i?.breadcrumbsPrefix,omitUndefined:i?.omitUndefined})},json:(r,i)=>{let n=[];for(let[a,u]of v0a(e)){let l=F_i(u)?u.valueSchema:u;QXp(l)&&n.push(a)}return $Xp({value:r,requiredKeys:n,getProperty:a=>{let u=e[a];if(u!=null)return F_i(u)?{transformedKey:u.rawKey,transform:l=>u.valueSchema.json(l,{...i,breadcrumbsPrefix:[...i?.breadcrumbsPrefix??[],a]})}:{transformedKey:a,transform:l=>u.json(l,{...i,breadcrumbsPrefix:[...i?.breadcrumbsPrefix??[],a]})}},unrecognizedObjectKeys:i?.unrecognizedObjectKeys,skipValidation:i?.skipValidation,breadcrumbsPrefix:i?.breadcrumbsPrefix,omitUndefined:i?.omitUndefined})},getType:()=>uj.OBJECT};return{...o9(t),...dq(t),...z9t(t),...XFi(t)}}function $Xp({value:e,requiredKeys:t,getProperty:r,unrecognizedObjectKeys:i="fail",skipValidation:n=!1,breadcrumbsPrefix:a=[]}){if(!N_i(e))return{ok:!1,errors:[{path:a,message:UM(e,"object")}]};let u=new Set(t),l=[],f={};for(let[s,o]of Object.entries(e)){let c=r(s);if(c!=null){u.delete(s);let b=c.transform(o);b.ok?f[c.transformedKey]=b.value:(f[s]=o,l.push(...b.errors))}else switch(i){case"fail":l.push({path:[...a,s],message:`Unexpected key "${s}"`});break;case"strip":break;case"passthrough":f[s]=o;break}}return l.push(...t.filter(s=>u.has(s)).map(s=>({path:a,message:`Missing required key "${s}"`}))),l.length===0||n?{ok:!0,value:f}:{ok:!1,errors:l}}function XFi(e){return{extend:t=>{let r={_getParsedProperties:()=>[...e._getParsedProperties(),...t._getParsedProperties()],_getRawProperties:()=>[...e._getRawProperties(),...t._getRawProperties()],parse:(i,n)=>GXp({extensionKeys:t._getRawProperties(),value:i,transformBase:a=>e.parse(a,n),transformExtension:a=>t.parse(a,n)}),json:(i,n)=>GXp({extensionKeys:t._getParsedProperties(),value:i,transformBase:a=>e.json(a,n),transformExtension:a=>t.json(a,n)}),getType:()=>uj.OBJECT};return{...r,...dq(r),...z9t(r),...XFi(r)}},passthrough:()=>{let t={_getParsedProperties:()=>e._getParsedProperties(),_getRawProperties:()=>e._getRawProperties(),parse:(r,i)=>{let n=e.parse(r,{...i,unrecognizedObjectKeys:"passthrough"});return n.ok?{ok:!0,value:{...r,...n.value}}:n},json:(r,i)=>{let n=e.json(r,{...i,unrecognizedObjectKeys:"passthrough"});return n.ok?{ok:!0,value:{...r,...n.value}}:n},getType:()=>uj.OBJECT};return{...t,...dq(t),...z9t(t),...XFi(t)}}}}function GXp({extensionKeys:e,value:t,transformBase:r,transformExtension:i}){let n=new Set(e),[a,u]=WXp(g0a(t),s=>n.has(s)),l=r(b0a(t,u)),f=i(b0a(t,a));return l.ok&&f.ok?{ok:!0,value:{...l.value,...f.value}}:{ok:!1,errors:[...l.ok?[]:l.errors,...f.ok?[]:f.errors]}}function QXp(e){return!qJD(e)}function qJD(e){switch(e.getType()){case uj.ANY:case uj.UNKNOWN:case uj.OPTIONAL:return!0;default:return!1}}function JXp(e){return y3o(e)}function KXp(e){let t={...hZs(e),_getRawProperties:()=>TMn(e)._getRawProperties(),_getParsedProperties:()=>TMn(e)._getParsedProperties()};return{...t,...dq(t),...z9t(t),...XFi(t)}}function v3o(e){let t={parse:(r,i)=>YXp(r,(n,a)=>e.parse(n,{...i,breadcrumbsPrefix:[...i?.breadcrumbsPrefix??[],`[${a}]`]})),json:(r,i)=>YXp(r,(n,a)=>e.json(n,{...i,breadcrumbsPrefix:[...i?.breadcrumbsPrefix??[],`[${a}]`]})),getType:()=>uj.LIST};return{...o9(t),...dq(t)}}function YXp(e,t){return Array.isArray(e)?e.map((i,n)=>t(i,n)).reduce((i,n)=>{if(i.ok&&n.ok)return{ok:!0,value:[...i.value,n.value]};let a=[];return i.ok||a.push(...i.errors),n.ok||a.push(...n.errors),{ok:!1,errors:a}},{ok:!0,value:[]}):{ok:!1,errors:[{message:UM(e,"list"),path:[]}]}}function XXp(e){return cQ(uj.STRING_LITERAL,(r,{breadcrumbsPrefix:i=[]}={})=>r===e?{ok:!0,value:e}:{ok:!1,errors:[{path:i,message:UM(r,`"${e}"`)}]})()}function ZXp(e){return cQ(uj.BOOLEAN_LITERAL,(r,{breadcrumbsPrefix:i=[]}={})=>r===e?{ok:!0,value:e}:{ok:!1,errors:[{path:i,message:UM(r,`${e.toString()}`)}]})()}var kXp=cQ(uj.ANY,e=>({ok:!0,value:e}));var eZp=cQ(uj.BOOLEAN,(e,{breadcrumbsPrefix:t=[]}={})=>typeof e=="boolean"?{ok:!0,value:e}:{ok:!1,errors:[{path:t,message:UM(e,"boolean")}]});var tZp=cQ(uj.NUMBER,(e,{breadcrumbsPrefix:t=[]}={})=>typeof e=="number"?{ok:!0,value:e}:{ok:!1,errors:[{path:t,message:UM(e,"number")}]});var rZp=cQ(uj.STRING,(e,{breadcrumbsPrefix:t=[]}={})=>typeof e=="string"?{ok:!0,value:e}:{ok:!1,errors:[{path:t,message:UM(e,"string")}]});var iZp=cQ(uj.UNKNOWN,e=>({ok:!0,value:e}));function aZp(e,t){let r={parse:(i,n)=>nZp({value:i,isKeyNumeric:e.getType()===uj.NUMBER,transformKey:a=>e.parse(a,{...n,breadcrumbsPrefix:[...n?.breadcrumbsPrefix??[],`${a} (key)`]}),transformValue:(a,u)=>t.parse(a,{...n,breadcrumbsPrefix:[...n?.breadcrumbsPrefix??[],`${u}`]}),breadcrumbsPrefix:n?.breadcrumbsPrefix}),json:(i,n)=>nZp({value:i,isKeyNumeric:e.getType()===uj.NUMBER,transformKey:a=>e.json(a,{...n,breadcrumbsPrefix:[...n?.breadcrumbsPrefix??[],`${a} (key)`]}),transformValue:(a,u)=>t.json(a,{...n,breadcrumbsPrefix:[...n?.breadcrumbsPrefix??[],`${u}`]}),breadcrumbsPrefix:n?.breadcrumbsPrefix}),getType:()=>uj.RECORD};return{...o9(r),...dq(r)}}function nZp({value:e,isKeyNumeric:t,transformKey:r,transformValue:i,breadcrumbsPrefix:n=[]}){return N_i(e)?v0a(e).reduce((a,[u,l])=>{if(l==null)return a;let f=a,s=u;if(t){let g=u.length>0?Number(u):NaN;isNaN(g)||(s=g)}let o=r(s),c=i(l,s);if(f.ok&&o.ok&&c.ok)return{ok:!0,value:{...f.value,[o.value]:c.value}};let b=[];return f.ok||b.push(...f.errors),o.ok||b.push(...o.errors),c.ok||b.push(...c.errors),{ok:!1,errors:b}},{ok:!0,value:{}}):{ok:!1,errors:[{path:n,message:UM(e,"object")}]}}function oZp(e){let t=v3o(e),r={parse:(i,n)=>{let a=t.parse(i,n);return a.ok?{ok:!0,value:new Set(a.value)}:a},json:(i,n)=>i instanceof Set?t.json([...i],n):{ok:!1,errors:[{path:n?.breadcrumbsPrefix??[],message:UM(i,"Set")}]},getType:()=>uj.SET};return{...o9(r),...dq(r)}}function sZp(e){let t={parse:(r,i)=>uZp((n,a)=>n.parse(r,a),e,i),json:(r,i)=>uZp((n,a)=>n.json(r,a),e,i),getType:()=>uj.UNDISCRIMINATED_UNION};return{...o9(t),...dq(t)}}function uZp(e,t,r){let i=[];for(let[n,a]of t.entries()){let u=e(a,{...r,skipValidation:!1});if(u.ok)return u;for(let l of u.errors)i.push({path:l.path,message:`[Variant ${n}] ${l.message}`})}return{ok:!1,errors:i}}function cZp(e,t){return{parsedDiscriminant:e,rawDiscriminant:t}}function fZp(e,t){let r=typeof e=="string"?e:e.rawDiscriminant,i=typeof e=="string"?e:e.parsedDiscriminant,n=h3o(g0a(t)),a={parse:(u,l)=>lZp({value:u,discriminant:r,transformedDiscriminant:i,transformDiscriminantValue:f=>n.parse(f,{allowUnrecognizedEnumValues:l?.allowUnrecognizedUnionMembers,breadcrumbsPrefix:[...l?.breadcrumbsPrefix??[],r]}),getAdditionalPropertiesSchema:f=>t[f],allowUnrecognizedUnionMembers:l?.allowUnrecognizedUnionMembers,transformAdditionalProperties:(f,s)=>s.parse(f,l),breadcrumbsPrefix:l?.breadcrumbsPrefix}),json:(u,l)=>lZp({value:u,discriminant:i,transformedDiscriminant:r,transformDiscriminantValue:f=>n.json(f,{allowUnrecognizedEnumValues:l?.allowUnrecognizedUnionMembers,breadcrumbsPrefix:[...l?.breadcrumbsPrefix??[],i]}),getAdditionalPropertiesSchema:f=>t[f],allowUnrecognizedUnionMembers:l?.allowUnrecognizedUnionMembers,transformAdditionalProperties:(f,s)=>s.json(f,l),breadcrumbsPrefix:l?.breadcrumbsPrefix}),getType:()=>uj.UNION};return{...o9(a),...dq(a),...z9t(a)}}function lZp({value:e,discriminant:t,transformedDiscriminant:r,transformDiscriminantValue:i,getAdditionalPropertiesSchema:n,allowUnrecognizedUnionMembers:a=!1,transformAdditionalProperties:u,breadcrumbsPrefix:l=[]}){if(!N_i(e))return{ok:!1,errors:[{path:l,message:UM(e,"object")}]};let{[t]:f,...s}=e;if(f==null)return{ok:!1,errors:[{path:l,message:`Missing discriminant ("${t}")`}]};let o=i(f);if(!o.ok)return{ok:!1,errors:o.errors};let c=n(o.value);if(c==null)return a?{ok:!0,value:{[r]:o.value,...s}}:{ok:!1,errors:[{path:[...l,t],message:"Unexpected discriminant value"}]};let b=u(s,c);return b.ok?{ok:!0,value:{[r]:f,...b.value}}:b}var UZt=ep.objectWithoutOptionalProperties({docs:ep.string().optional()});var bZs={};jn(bZs,{ConjureServiceName:()=>b3o,DefinitionFile:()=>dZp});var b3o=ep.string();var g3o=ep.enum_(["rid","string","safelong","integer","double","boolean"]);var L_i=ep.undiscriminatedUnion([g3o,ep.string()]);var O3o=ep.objectWithoutOptionalProperties({alias:L_i,docs:ep.string().optional()});var m3o=ep.objectWithoutOptionalProperties({type:L_i,docs:ep.string().optional()});var U_i=ep.undiscriminatedUnion([L_i,m3o]);var P3o=ep.objectWithoutOptionalProperties({union:ep.record(ep.string(),U_i)});var j3o=ep.objectWithoutOptionalProperties({fields:ep.record(ep.string(),U_i)});var w3o=ep.objectWithoutOptionalProperties({value:ep.string()}).extend(UZt);var S3o=ep.undiscriminatedUnion([ep.string(),w3o]);var D3o=ep.objectWithoutOptionalProperties({values:ep.list(S3o)});var E3o=ep.undiscriminatedUnion([O3o,P3o,j3o,D3o]);var M3o=ep.objectWithoutOptionalProperties({objects:ep.record(ep.string(),E3o).optional()});var A3o=ep.objectWithoutOptionalProperties({conjureImports:ep.property("conjure-imports",ep.record(ep.string(),ep.string()).optional()),definitions:M3o.optional()});var q3o=ep.enum_(["none","header"]);var CMn=ep.undiscriminatedUnion([q3o,ep.string()]);var T3o=ep.enum_(["path","query","body"]);var C3o=ep.objectWithoutOptionalProperties({paramType:ep.property("param-type",T3o),type:ep.string()}).extend(UZt);var B3o=ep.undiscriminatedUnion([ep.string(),C3o]);var x3o=ep.objectWithoutOptionalProperties({http:ep.string(),auth:CMn.optional(),args:ep.record(ep.string(),B3o).optional(),returns:U_i.optional()}).extend(UZt);var I3o=ep.objectWithoutOptionalProperties({name:ep.string().optional(),package:ep.string().optional(),basePath:ep.property("base-path",ep.string().optional()),defaultAuth:ep.property("default-auth",CMn.optional()),endpoints:ep.record(ep.string(),x3o).optional()}).extend(UZt);var dZp=ep.objectWithoutOptionalProperties({types:A3o.optional(),services:ep.record(b3o,I3o).optional()});var gZs={};jn(gZs,{ConjureArgument:()=>B3o,ConjureArgumentWithParamType:()=>C3o,ConjureAuthDefinition:()=>CMn,ConjureAuthDefinitionType:()=>q3o,ConjureEndpointDefinition:()=>x3o,ConjureParamType:()=>T3o,ConjureService:()=>I3o});var OZs={};jn(OZs,{ConjureAliasDeclaration:()=>O3o,ConjureDefinitions:()=>M3o,ConjureEnumDeclaration:()=>D3o,ConjureEnumVariant:()=>S3o,ConjureEnumWithDocs:()=>w3o,ConjureObjectDeclaration:()=>j3o,ConjurePrimitive:()=>g3o,ConjureType:()=>L_i,ConjureTypeDeclaration:()=>E3o,ConjureTypeReference:()=>U_i,ConjureTypeWithDocs:()=>m3o,ConjureTypes:()=>A3o,ConjureUnionDeclaration:()=>P3o});var pZp=require("fs/promises");async function _Zp(e,t){let r=[];for(let i of await Mxe(e,t))r.push(await TJD({relativeFilepath:tq(e,i),absoluteFilepath:i}));return r}async function TJD({relativeFilepath:e,absoluteFilepath:t}){let r=(await(0,pZp.readFile)(t)).toString().replaceAll(/: rid(?:$|\s)/g,`: string
1959
1959
  `).replaceAll("<rid>","<string>").replaceAll("rid>","string>").replaceAll(": safelong",": long").replaceAll("<safelong>","<long>").replaceAll("safelong>","long>").replaceAll(": any",": unknown").replaceAll("<any>","<unknown>").replaceAll("any>","unknown>");return{relativeFilepath:e,absoluteFilepath:t,fileContents:z3o.DefinitionFile.parseOrThrow(Ed.load(r),{unrecognizedObjectKeys:"passthrough",allowUnrecognizedEnumValues:!0,allowUnrecognizedUnionMembers:!0})}}function hZp(e,t){if(CJD(e))return t.alias(e);if(BJD(e))return t.enum(e);if(xJD(e))return t.object(e);if(IJD(e))return t.union(e);Oo(e)}function CJD(e){return e?.alias!=null}function BJD(e){return e?.values!=null}function xJD(e){return e?.fields!=null}function IJD(e){return e?.union!=null}var O0a=class extends vya{fernDefinitionBuilder=new VNi(!1);conjureFilepathToFernFilepath={};async import({absolutePathToConjureFolder:t,authOverrides:r,environmentOverrides:i,globalHeaderOverrides:n}){if(r!=null){for(let[a,u]of Object.entries(r["auth-schemes"]??{}))this.fernDefinitionBuilder.addAuthScheme({name:a,schema:u});r.auth!=null&&this.fernDefinitionBuilder.setAuth(r.auth)}if(i!=null){for(let[a,u]of Object.entries(i.environments??{}))this.fernDefinitionBuilder.addEnvironment({name:a,schema:u});i["default-environment"]!=null&&this.fernDefinitionBuilder.setDefaultEnvironment(i["default-environment"]),i["default-url"]!=null&&this.fernDefinitionBuilder.setDefaultUrl(i["default-url"])}return await yZp(t,(a,u,l)=>{for(let[o,c]of Object.entries(l.services??{})){let b=Eka({value:o,suffix:"Service"});this.conjureFilepathToFernFilepath[u]=Ja.of(`${b}/__package__.yml`);return}let s=jgs(u)?.split(".")[0];s!=null&&(this.conjureFilepathToFernFilepath[u]=Ja.of(`${s}/__package__.yml`))}),await yZp(t,(a,u,l)=>{if(l.services==null||Object.keys(l.services??{}).length===0){let f=this.conjureFilepathToFernFilepath[u];if(f==null)throw new Error(`Failed to find corresponding fern filepath for conjure file ${u}`);for(let[s,o]of Object.entries(l.types?.conjureImports??{})){let c=this.getFernFileToImport({absoluteFilePathToConjureFile:a,absoluteFilePathToConjureFolder:t,importFilePath:Ja.of(o)});this.fernDefinitionBuilder.addImport({file:f,fileToImport:Ja.of(c),alias:s})}this.importAllTypes({conjureFile:l,fernFilePath:f});return}for(let[f,s]of Object.entries(l.services)){let o=Eka({value:f,suffix:"Service"}),c=Ja.of(`${o}/__package__.yml`),b={};s.basePath!=null&&(b["base-path"]=s.basePath),s.docs!=null&&(b.docs=s.docs),this.fernDefinitionBuilder.setServiceInfo(c,b),this.importAllTypes({conjureFile:l,fernFilePath:c});for(let[g,O]of Object.entries(l.types?.conjureImports??{})){let m=this.getFernFileToImport({absoluteFilePathToConjureFile:a,absoluteFilePathToConjureFolder:t,importFilePath:Ja.of(O)});this.fernDefinitionBuilder.addImport({file:c,fileToImport:Ja.of(m),alias:g})}for(let[g,O]of Object.entries(s.endpoints??{})){let m=Cys(O.http);if(m.type==="failure"){this.context?.logger.error(`Failed to parse ${O.http}. Skipping.`);continue}let E={auth:(O.auth??s.defaultAuth)!==NXp.None,path:m.path,method:m.method,response:O.returns==="binary"?"file":O.returns};O.docs!=null&&(E.docs=O.docs);let A={};if(O.args!=null)for(let M of m.pathParameters){let D=O.args[M];if(D==null)throw new Error(`Failed to find path parameter ${M} in ${O.http}`);A[M]=typeof D=="string"?D:{type:D.type}}Object.entries(A).length>0&&(E["path-parameters"]=A);for(let[M,D]of Object.entries(O.args??{}))if(A[M]==null)if(typeof D=="string")E.request?typeof E.request=="string"&&(E.request={body:E.request}):E.request={},E.request.body=D==="binary"?"bytes":D;else switch(D.paramType){case"body":E.request={body:D.type==="binary"?"bytes":D.type};break;case"query":E.request==null?E.request={"query-parameters":{[M]:D.type}}:typeof E.request!="string"&&E.request?.["query-parameters"]==null?E.request["query-parameters"]={[M]:D.type}:typeof E.request!="string"&&E.request?.["query-parameters"]!=null&&(E.request["query-parameters"][M]=D.type)}E.request!=null&&typeof E.request!="string"&&E.request?.["query-parameters"]!=null&&(E.request.name=`${g}Request`),this.fernDefinitionBuilder.addEndpoint(c,{name:g,schema:E,source:void 0})}}}),this.fernDefinitionBuilder.build()}importAllTypes({conjureFile:t,fernFilePath:r}){for(let[i,n]of Object.entries(t.types?.definitions?.objects??{}))hZp(n,{alias:a=>{this.fernDefinitionBuilder.addType(r,{name:i,schema:{type:a.alias,docs:a.docs}})},object:a=>{this.fernDefinitionBuilder.addType(r,{name:i,schema:{properties:a.fields}})},enum:a=>{this.fernDefinitionBuilder.addType(r,{name:i,schema:{enum:a.values}})},union:a=>{this.fernDefinitionBuilder.addType(r,{name:i,schema:{union:Object.fromEntries(Object.entries(a.union).map(([u,l])=>[u,{type:typeof l=="string"?l:l.type,docs:typeof l=="string"?void 0:l.docs,key:u}]))}})}})}getFernFileToImport({absoluteFilePathToConjureFile:t,importFilePath:r,absoluteFilePathToConjureFolder:i}){let n=Lu(Jd(t),Ja.of(r)),a=qre(i,n),u=this.conjureFilepathToFernFilepath[a];if(u==null)throw new Error(`Failed to find corresponding fern filepath for conjure file ${a}`);return u}};async function yZp(e,t){for(let r of await _Zp(e,"{yml,yaml}"))await t(r.absoluteFilepath,r.relativeFilepath,r.fileContents)}function vZp(e,t){return ad(e,t)}var R3o=class extends v9t{type="conjure";absolutePathToConjureFolder;constructor({relativePathToConjureDirectory:t,...r}){super(r),this.absolutePathToConjureFolder=Lu(r.absoluteFilePath,t)}async toFernWorkspace({context:t},r){let i=await this.getDefinition({context:t},r);return new BDe({absoluteFilePath:this.absoluteFilePath,workspaceName:this.workspaceName,generatorsConfiguration:this.generatorsConfiguration,dependenciesConfiguration:{dependencies:{}},definition:i,cliVersion:this.cliVersion,sources:void 0})}async getDefinition({context:t},r){let n=await new O0a(t).import({absolutePathToConjureFolder:this.absolutePathToConjureFolder,authOverrides:this.generatorsConfiguration?.api?.auth!=null?{...this.generatorsConfiguration?.api}:void 0,environmentOverrides:this.generatorsConfiguration?.api?.environments!=null?{...this.generatorsConfiguration?.api}:void 0,globalHeaderOverrides:this.generatorsConfiguration?.api?.headers!=null?{...this.generatorsConfiguration?.api}:void 0});return{absoluteFilePath:Vl.of("/DUMMY_PATH"),rootApiFile:{defaultUrl:n.rootApiFile["default-url"],contents:n.rootApiFile,rawContents:Ed.dump(n.rootApiFile)},namedDefinitionFiles:{...vZp(n.definitionFiles,a=>({absoluteFilepath:Vl.of("/DUMMY_PATH"),rawContents:Ed.dump(a),contents:a})),[Ja.of(lS)]:{absoluteFilepath:Vl.of("/DUMMY_PATH"),rawContents:Ed.dump(n.packageMarkerFile),contents:n.packageMarkerFile}},packageMarkers:{},importedDefinitions:{}}}getAbsoluteFilePaths(){return[this.absolutePathToConjureFolder]}};function mZs(e,t){for(let[r,i]of aF(e.failures))zJD({relativeFilepath:r,failure:i,logger:t})}function zJD({relativeFilepath:e,failure:t,logger:r}){switch(t.type){case hP.MISCONFIGURED_DIRECTORY:r.error("Misconfigured fern directory: please see the docs at https://buildwithfern.com/learn/api-definition/introduction/what-is-the-fern-folder");break;case hP.FILE_READ:r.error("Failed to open file: "+e);break;case hP.FILE_MISSING:r.error("Missing file: "+e);break;case hP.FILE_PARSE:t.error instanceof Joa?r.error(oRe({title:`Failed to parse ${e}: ${t.error.reason}`,subtitle:t.error.mark.snippet})):r.error("Failed to parse file: "+e);break;case hP.STRUCTURE_VALIDATION:for(let i of t.error.issues)for(let{title:n,subtitle:a}of RJD(i))r.error(oRe({title:n,subtitle:a,breadcrumbs:[e,...i.path]}));break;case hP.FAILED_TO_LOAD_DEPENDENCY:r.error("Failed to load dependency: "+t.dependencyName);break;case hP.DEPENDENCY_NOT_LISTED:r.error(`Dependency is not listed in ${peo}: `+t.dependencyName);break;case hP.EXPORT_PACKAGE_HAS_DEFINITIONS:r.error("Exported package contains API definitions: "+t.pathToPackage);break;case hP.EXPORTING_PACKAGE_MARKER_OTHER_KEYS:r.error(`${t.pathOfPackageMarker} has an export so it cannot define other keys.`);break;case hP.JSONSCHEMA_VALIDATION:t.error.error!=null&&r.error(oRe({title:t.error.error.message??"Unknown error",breadcrumbs:[e,...t.error.error.instancePath.split("/").filter(i=>i!=="")]}));break;default:Oo(t)}}function RJD(e){switch(e.code){case $l.invalid_type:return[{title:"Incorrect type",subtitle:`Expected ${$s.underline(e.expected)} but received ${$s.underline(e.received)}`}];case $l.unrecognized_keys:return e.keys.map(t=>({title:"Unexpected key",subtitle:`Encountered unexpected key ${$s.underline(t)}`}));case $l.invalid_enum_value:return[{title:"Unrecognized value",subtitle:`Allowed values: ${e.options.map(t=>$s.underline(t)).join(", ")}`}];case $l.invalid_union:case $l.invalid_arguments:case $l.invalid_return_type:case $l.invalid_date:case $l.invalid_string:case $l.too_small:case $l.too_big:case $l.invalid_intersection_types:case $l.not_multiple_of:case $l.custom:default:return[{title:e.message}]}}var bZp=require("fs/promises");async function gZp(e,t){let r=[];for(let i of await Mxe(e,t))r.push(await NJD({relativeFilepath:tq(e,i),absoluteFilepath:i}));return r}async function NJD({relativeFilepath:e,absoluteFilepath:t}){return{relativeFilepath:e,absoluteFilepath:t,fileContents:(await(0,bZp.readFile)(t)).toString()}}async function OZp({absolutePathToWorkspace:e}){let t=Lu(e,Ja.of(qJf));if(!await Mf(t))return;let i=await gZp(t,"{md,mdx}");return{files:await Promise.all(i.map(n=>({absoluteFilepath:n.absoluteFilepath,contents:n.fileContents})))}}async function PZs({absolutePathToWorkspace:e,namespace:t,definitions:r}){let i=[];for(let n of r){let a=n.overrides!=null?Lu(e,Ja.of(n.overrides)):void 0;if(n.schema.type==="protobuf"){let l=Ja.of(n.schema.root),f=Lu(e,l);if(!await Mf(f))return{didSucceed:!1,failures:{[Ja.of(n.schema.root)]:{type:hP.FILE_MISSING}}};let s=Lu(e,Ja.of(n.schema.target));if(!await Mf(s))return{didSucceed:!1,failures:{[Ja.of(n.schema.target)]:{type:hP.FILE_MISSING}}};i.push({type:"protobuf",absoluteFilepathToProtobufRoot:f,absoluteFilepathToProtobufTarget:s,absoluteFilepathToOverrides:a,relativeFilepathToProtobufRoot:l,generateLocally:n.schema.localGeneration,settings:{audiences:n.audiences??[],useTitlesAsName:n.settings?.shouldUseTitleAsName??!0,shouldUseUndiscriminatedUnionsWithLiterals:n.settings?.shouldUseUndiscriminatedUnionsWithLiterals??!1,shouldUseIdiomaticRequestNames:n.settings?.shouldUseIdiomaticRequestNames??!1,optionalAdditionalProperties:n.settings?.shouldUseOptionalAdditionalProperties??!0,coerceEnumsToLiterals:n.settings?.coerceEnumsToLiterals??!0,objectQueryParameters:n.settings?.objectQueryParameters??!1,respectReadonlySchemas:n.settings?.respectReadonlySchemas??!1,respectNullableSchemas:n.settings?.respectNullableSchemas??!1,onlyIncludeReferencedSchemas:n.settings?.onlyIncludeReferencedSchemas??!1,inlinePathParameters:n.settings?.inlinePathParameters??!1,disableExamples:!1,discriminatedUnionV2:n.settings?.shouldUseUndiscriminatedUnionsWithLiterals??!1,preserveSchemaIds:!1,asyncApiNaming:n.settings?.asyncApiMessageNaming??"v1",filter:n.settings?.filter,exampleGeneration:void 0,defaultFormParameterEncoding:n.settings?.defaultFormParameterEncoding,useBytesForBinaryResponse:n.settings?.useBytesForBinaryResponse??!1,respectForwardCompatibleEnums:n.settings?.respectForwardCompatibleEnums??!1,additionalPropertiesDefaultsTo:n.settings?.additionalPropertiesDefaultsTo??!1,typeDatesAsStrings:n.settings?.typeDatesAsStrings??!0}});continue}if(n.schema.type==="openrpc"){let l=Ja.of(n.schema.path),f=Lu(e,l);i.push({type:"openrpc",absoluteFilepath:f,absoluteFilepathToOverrides:a,namespace:t});continue}let u=Lu(e,Ja.of(n.schema.path));if(!await Mf(u))return{didSucceed:!1,failures:{[Ja.of(n.schema.path)]:{type:hP.FILE_MISSING}}};if(n.overrides!=null&&a!=null&&!await Mf(a))return{didSucceed:!1,failures:{[Ja.of(n.overrides)]:{type:hP.FILE_MISSING}}};i.push({type:"openapi",absoluteFilepath:u,absoluteFilepathToOverrides:a,settings:{audiences:n.audiences??[],useTitlesAsName:n.settings?.shouldUseTitleAsName??!0,shouldUseUndiscriminatedUnionsWithLiterals:n.settings?.shouldUseUndiscriminatedUnionsWithLiterals??!1,shouldUseIdiomaticRequestNames:n.settings?.shouldUseIdiomaticRequestNames??!1,optionalAdditionalProperties:n.settings?.shouldUseOptionalAdditionalProperties??!0,coerceEnumsToLiterals:n.settings?.coerceEnumsToLiterals??!0,objectQueryParameters:n.settings?.objectQueryParameters??!1,respectReadonlySchemas:n.settings?.respectReadonlySchemas??!1,respectNullableSchemas:n.settings?.respectNullableSchemas??!1,onlyIncludeReferencedSchemas:n.settings?.onlyIncludeReferencedSchemas??!1,inlinePathParameters:n.settings?.inlinePathParameters??!1,disableExamples:!1,discriminatedUnionV2:n.settings?.shouldUseUndiscriminatedUnionsWithLiterals??!1,preserveSchemaIds:!1,asyncApiNaming:n.settings?.asyncApiMessageNaming??"v1",filter:n.settings?.filter,exampleGeneration:n.settings?.exampleGeneration,defaultFormParameterEncoding:n.settings?.defaultFormParameterEncoding,useBytesForBinaryResponse:n.settings?.useBytesForBinaryResponse??!1,respectForwardCompatibleEnums:n.settings?.respectForwardCompatibleEnums??!1,additionalPropertiesDefaultsTo:n.settings?.additionalPropertiesDefaultsTo??!1,typeDatesAsStrings:n.settings?.typeDatesAsStrings??!0},source:{type:"openapi",file:u},namespace:t})}return i}async function m0a({absolutePathToWorkspace:e,context:t,cliVersion:r,workspaceName:i}){let n=await s5t({absolutePathToWorkspace:e,context:t}),a;try{a=await OZp({absolutePathToWorkspace:e})}catch{}if(n?.api!=null&&n?.api.type==="conjure")return{didSucceed:!0,workspace:new R3o({workspaceName:i,absoluteFilePath:e,generatorsConfiguration:n,changelog:a,cliVersion:r,context:t,relativePathToConjureDirectory:Ja.of(n.api.pathToConjureDefinition)})};if(n?.api!=null&&(n.api.type==="singleNamespace"&&n.api.definitions.length>0||n.api.type==="multiNamespace")){let u=[];if(n.api.type==="singleNamespace"){let l=await PZs({absolutePathToWorkspace:e,namespace:void 0,definitions:n.api.definitions});if(!Array.isArray(l))return l;u.push(...l)}else{for(let[l,f]of Object.entries(n.api.definitions)){let s=await PZs({absolutePathToWorkspace:e,namespace:l,definitions:f});if(!Array.isArray(s))return s;u.push(...s)}if(n.api.rootDefinitions!=null){let l=await PZs({absolutePathToWorkspace:e,namespace:void 0,definitions:n.api.rootDefinitions});if(!Array.isArray(l))return l;u.push(...l)}}return{didSucceed:!0,workspace:new xz({specs:u.filter(l=>l.type!=="openrpc"),allSpecs:u,workspaceName:i,absoluteFilePath:e,generatorsConfiguration:n,changelog:a,cliVersion:r})}}return await Mf(Lu(e,Ja.of(l5)))?{didSucceed:!0,workspace:new IZt({absoluteFilePath:e,generatorsConfiguration:n,workspaceName:i,changelog:a,context:t,cliVersion:r,loadAPIWorkspace:m0a})}:{didSucceed:!1,failures:{[Ja.of(deo)]:{type:hP.MISCONFIGURED_DIRECTORY}}}}var mZp=require("fs/promises");var jZs={};jn(jZs,{additionalProperties:()=>VJD,default:()=>HJD,definitions:()=>WJD,properties:()=>LJD,required:()=>UJD,type:()=>FJD});var FJD="object",LJD={instances:{type:"array",items:{$ref:"#/definitions/docs.DocsInstance"}},title:{oneOf:[{type:"string"},{type:"null"}]},analytics:{oneOf:[{$ref:"#/definitions/docs.AnalyticsConfig"},{type:"null"}]},announcement:{oneOf:[{$ref:"#/definitions/docs.AnnouncementConfig"},{type:"null"}]},roles:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.RoleId"}},{type:"null"}]},tabs:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/docs.TabConfig"}},{type:"null"}]},versions:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.VersionConfig"}},{type:"null"}]},products:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.ProductConfig"}},{type:"null"}]},"landing-page":{oneOf:[{$ref:"#/definitions/docs.PageConfiguration"},{type:"null"}]},navigation:{oneOf:[{$ref:"#/definitions/docs.NavigationConfig"},{type:"null"}]},"navbar-links":{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.NavbarLink"}},{type:"null"}]},"footer-links":{oneOf:[{$ref:"#/definitions/docs.FooterLinksConfig"},{type:"null"}]},experimental:{oneOf:[{$ref:"#/definitions/docs.ExperimentalConfig"},{type:"null"}]},"default-language":{oneOf:[{$ref:"#/definitions/docs.ProgrammingLanguage"},{type:"null"}]},"ai-chat":{oneOf:[{$ref:"#/definitions/docs.AIChatConfig"},{type:"null"}]},"ai-search":{oneOf:[{$ref:"#/definitions/docs.AIChatConfig"},{type:"null"}]},metadata:{oneOf:[{$ref:"#/definitions/docs.MetadataConfig"},{type:"null"}]},redirects:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.RedirectConfig"}},{type:"null"}]},logo:{oneOf:[{$ref:"#/definitions/docs.LogoConfiguration"},{type:"null"}]},favicon:{oneOf:[{type:"string"},{type:"null"}]},"background-image":{oneOf:[{$ref:"#/definitions/docs.BackgroundImageConfiguration"},{type:"null"}]},colors:{oneOf:[{$ref:"#/definitions/docs.ColorsConfiguration"},{type:"null"}]},typography:{oneOf:[{$ref:"#/definitions/docs.DocsTypographyConfig"},{type:"null"}]},layout:{oneOf:[{$ref:"#/definitions/docs.LayoutConfig"},{type:"null"}]},integrations:{oneOf:[{$ref:"#/definitions/docs.IntegrationsConfig"},{type:"null"}]},css:{oneOf:[{$ref:"#/definitions/docs.CssConfig"},{type:"null"}]},js:{oneOf:[{$ref:"#/definitions/docs.JsConfig"},{type:"null"}]}},UJD=["instances"],VJD=!1,WJD={"docs.CustomDomain":{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]},"docs.GithubEditThisPageConfig":{type:"object",properties:{host:{oneOf:[{type:"string"},{type:"null"}]},owner:{type:"string"},repo:{type:"string"},branch:{oneOf:[{type:"string"},{type:"null"}]}},required:["owner","repo"],additionalProperties:!1},"docs.EditThisPageConfig":{type:"object",properties:{github:{oneOf:[{$ref:"#/definitions/docs.GithubEditThisPageConfig"},{type:"null"}]}},additionalProperties:!1},"docs.DocsInstance":{type:"object",properties:{url:{type:"string"},"custom-domain":{oneOf:[{$ref:"#/definitions/docs.CustomDomain"},{type:"null"}]},private:{oneOf:[{type:"boolean"},{type:"null"}]},"edit-this-page":{oneOf:[{$ref:"#/definitions/docs.EditThisPageConfig"},{type:"null"}]}},required:["url"],additionalProperties:!1},"docs.SegmentConfig":{type:"object",properties:{"write-key":{type:"string"}},required:["write-key"],additionalProperties:!1},"docs.FullStoryAnalyticsConfig":{type:"object",properties:{"org-id":{type:"string"}},required:["org-id"],additionalProperties:!1},"docs.IntercomConfig":{type:"object",properties:{"app-id":{type:"string"},"api-base":{oneOf:[{type:"string"},{type:"null"}]}},required:["app-id"],additionalProperties:!1},"docs.PostHogConfig":{type:"object",properties:{"api-key":{type:"string"},endpoint:{oneOf:[{type:"string"},{type:"null"}]}},required:["api-key"],additionalProperties:!1},"docs.GTMConfig":{type:"object",properties:{"container-id":{type:"string"}},required:["container-id"],additionalProperties:!1},"docs.GoogleAnalytics4Config":{type:"object",properties:{"measurement-id":{type:"string"}},required:["measurement-id"],additionalProperties:!1},"docs.AnalyticsConfig":{type:"object",properties:{segment:{oneOf:[{$ref:"#/definitions/docs.SegmentConfig"},{type:"null"}]},fullstory:{oneOf:[{$ref:"#/definitions/docs.FullStoryAnalyticsConfig"},{type:"null"}]},intercom:{oneOf:[{$ref:"#/definitions/docs.IntercomConfig"},{type:"null"}]},posthog:{oneOf:[{$ref:"#/definitions/docs.PostHogConfig"},{type:"null"}]},gtm:{oneOf:[{$ref:"#/definitions/docs.GTMConfig"},{type:"null"}]},ga4:{oneOf:[{$ref:"#/definitions/docs.GoogleAnalytics4Config"},{type:"null"}]}},additionalProperties:!1},"docs.AnnouncementConfig":{type:"object",properties:{message:{type:"string"}},required:["message"],additionalProperties:!1},"docs.RoleId":{type:"string"},"docs.Role":{anyOf:[{$ref:"#/definitions/docs.RoleId"},{type:"array",items:{$ref:"#/definitions/docs.RoleId"}}]},"docs.FeatureFlag":{type:"object",properties:{flag:{type:"string"},"fallback-value":{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},match:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]}},required:["flag"],additionalProperties:!1},"docs.FeatureFlagConfiguration":{anyOf:[{type:"string",description:"The name of the feature flag, We assume that it is a boolean feature flag that needs to be evaluated to true."},{$ref:"#/definitions/docs.FeatureFlag",description:"A single feature flag with a configurable name, fallback value, and match value. Especially useful for non boolean feature flags."},{type:"array",items:{$ref:"#/definitions/docs.FeatureFlag"},description:"A list of feature flags. If any of the feature flags are satisfied, we will show all content."}]},"docs.ChangelogFolderRelativePath":{type:"string"},"docs.TabConfig":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},"display-name":{type:"string"},icon:{oneOf:[{type:"string"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},href:{oneOf:[{type:"string"},{type:"null"}]},changelog:{oneOf:[{$ref:"#/definitions/docs.ChangelogFolderRelativePath"},{type:"null"}]}},required:["display-name"],additionalProperties:!1},"docs.VersionAvailability":{type:"string",enum:["deprecated","ga","stable","beta"]},"docs.VersionConfig":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},"display-name":{type:"string"},path:{type:"string"},slug:{oneOf:[{type:"string"},{type:"null"}]},availability:{oneOf:[{$ref:"#/definitions/docs.VersionAvailability"},{type:"null"}]}},required:["display-name","path"],additionalProperties:!1},"docs.ProductConfig":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},"display-name":{type:"string"},path:{type:"string"},subtitle:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},image:{oneOf:[{type:"string"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},versions:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.VersionConfig"}},{type:"null"}]}},required:["display-name","path"],additionalProperties:!1},"docs.PageConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},page:{type:"string"},path:{type:"string"},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},noindex:{oneOf:[{type:"boolean"},{type:"null"}]}},required:["page","path"],additionalProperties:!1},"docs.SectionConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},section:{type:"string"},path:{oneOf:[{type:"string"},{type:"null"}]},contents:{type:"array",items:{$ref:"#/definitions/docs.NavigationItem"}},collapsed:{oneOf:[{type:"boolean"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]}},required:["section","contents"],additionalProperties:!1},"docs.AudienceId":{type:"string"},"docs.VersionedSnippetLanguageConfiguration":{type:"object",properties:{version:{type:"string"},package:{type:"string"}},required:["version","package"],additionalProperties:!1},"docs.SnippetLanguageConfiguration":{anyOf:[{type:"string"},{$ref:"#/definitions/docs.VersionedSnippetLanguageConfiguration"}]},"docs.SnippetsConfiguration":{type:"object",properties:{python:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},typescript:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},go:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},java:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},ruby:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},csharp:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]}},additionalProperties:!1},"docs.PlaygroundButtonSettings":{type:"object",properties:{href:{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"docs.PlaygroundSettings":{type:"object",properties:{environments:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},button:{oneOf:[{$ref:"#/definitions/docs.PlaygroundButtonSettings"},{type:"null"}]},oauth:{oneOf:[{type:"boolean"},{type:"null"}]},"limit-websocket-messages-per-connection":{oneOf:[{type:"integer"},{type:"null"}]}},additionalProperties:!1},"docs.ApiReferencePackageConfigurationWithOptions":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},title:{oneOf:[{type:"string"},{type:"null"}]},summary:{oneOf:[{type:"string"},{type:"null"}]},contents:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.ApiReferenceLayoutItem"}},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]},playground:{oneOf:[{$ref:"#/definitions/docs.PlaygroundSettings"},{type:"null"}]}},additionalProperties:!1},"docs.ApiReferencePackageConfiguration":{anyOf:[{type:"array",items:{$ref:"#/definitions/docs.ApiReferenceLayoutItem"}},{$ref:"#/definitions/docs.ApiReferencePackageConfigurationWithOptions"}]},"docs.ApiReferenceSectionConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},section:{type:"string"},"referenced-packages":{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},summary:{oneOf:[{type:"string"},{type:"null"}]},contents:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.ApiReferenceLayoutItem"}},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]},playground:{oneOf:[{$ref:"#/definitions/docs.PlaygroundSettings"},{type:"null"}]}},required:["section"],additionalProperties:!1},"docs.ApiReferenceEndpointConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},endpoint:{type:"string"},title:{oneOf:[{type:"string"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},playground:{oneOf:[{$ref:"#/definitions/docs.PlaygroundSettings"},{type:"null"}]}},required:["endpoint"],additionalProperties:!1},"docs.LinkConfiguration":{type:"object",properties:{link:{type:"string"},href:{type:"string"},icon:{oneOf:[{type:"string"},{type:"null"}]}},required:["link","href"],additionalProperties:!1},"docs.ApiReferenceLayoutItem":{anyOf:[{type:"string",description:"This should be either an endpoint, websocket, webhook, or subpackage ID"},{type:"object",additionalProperties:{$ref:"#/definitions/docs.ApiReferencePackageConfiguration"},description:"Keyed by subpackage name, this object allows you to group endpoints and pages together."},{$ref:"#/definitions/docs.ApiReferenceSectionConfiguration"},{$ref:"#/definitions/docs.ApiReferenceEndpointConfiguration"},{$ref:"#/definitions/docs.PageConfiguration"},{$ref:"#/definitions/docs.LinkConfiguration"}]},"docs.ApiReferenceConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},api:{type:"string"},"api-name":{oneOf:[{type:"string"},{type:"null"}]},openrpc:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.AudienceId"}},{type:"null"}]},"display-errors":{oneOf:[{type:"boolean"},{type:"null"}]},snippets:{oneOf:[{$ref:"#/definitions/docs.SnippetsConfiguration"},{type:"null"}]},summary:{oneOf:[{type:"string"},{type:"null"}]},layout:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.ApiReferenceLayoutItem"}},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]},alphabetized:{oneOf:[{type:"boolean"},{type:"null"}]},flattened:{oneOf:[{type:"boolean"},{type:"null"}]},paginated:{oneOf:[{type:"boolean"},{type:"null"}]},playground:{oneOf:[{$ref:"#/definitions/docs.PlaygroundSettings"},{type:"null"}]}},required:["api"],additionalProperties:!1},"docs.ChangelogConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},changelog:{$ref:"#/definitions/docs.ChangelogFolderRelativePath"},title:{oneOf:[{type:"string"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]}},required:["changelog"],additionalProperties:!1},"docs.NavigationItem":{anyOf:[{$ref:"#/definitions/docs.PageConfiguration"},{$ref:"#/definitions/docs.SectionConfiguration"},{$ref:"#/definitions/docs.ApiReferenceConfiguration"},{$ref:"#/definitions/docs.LinkConfiguration"},{$ref:"#/definitions/docs.ChangelogConfiguration"}]},"docs.UntabbedNavigationConfig":{type:"array",items:{$ref:"#/definitions/docs.NavigationItem"}},"docs.TabId":{type:"string"},"docs.TabbedNavigationItem":{type:"object",properties:{tab:{$ref:"#/definitions/docs.TabId"},layout:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.NavigationItem"}},{type:"null"}]}},required:["tab"],additionalProperties:!1},"docs.TabbedNavigationConfig":{type:"array",items:{$ref:"#/definitions/docs.TabbedNavigationItem"}},"docs.NavigationConfig":{anyOf:[{$ref:"#/definitions/docs.UntabbedNavigationConfig"},{$ref:"#/definitions/docs.TabbedNavigationConfig"}]},"docs.NavbarGithubConfig":{type:"string"},"docs.NavbarLink":{type:"object",properties:{type:{type:"string",enum:["filled","outlined","minimal","github","primary","secondary"]}},required:["type"],oneOf:[{properties:{type:{const:"filled"},href:{oneOf:[{type:"string"},{type:"null"}]},url:{oneOf:[{type:"string"},{type:"null"}]},text:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},rightIcon:{oneOf:[{type:"string"},{type:"null"}]},rounded:{oneOf:[{type:"boolean"},{type:"null"}]}},required:["type"]},{properties:{type:{const:"outlined"},href:{oneOf:[{type:"string"},{type:"null"}]},url:{oneOf:[{type:"string"},{type:"null"}]},text:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},rightIcon:{oneOf:[{type:"string"},{type:"null"}]},rounded:{oneOf:[{type:"boolean"},{type:"null"}]}},required:["type"]},{properties:{type:{const:"minimal"},href:{oneOf:[{type:"string"},{type:"null"}]},url:{oneOf:[{type:"string"},{type:"null"}]},text:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},rightIcon:{oneOf:[{type:"string"},{type:"null"}]},rounded:{oneOf:[{type:"boolean"},{type:"null"}]}},required:["type"]},{properties:{type:{const:"github"},value:{$ref:"#/definitions/docs.NavbarGithubConfig"}},required:["type"]},{properties:{type:{const:"primary"},href:{oneOf:[{type:"string"},{type:"null"}]},url:{oneOf:[{type:"string"},{type:"null"}]},text:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},rightIcon:{oneOf:[{type:"string"},{type:"null"}]},rounded:{oneOf:[{type:"boolean"},{type:"null"}]}},required:["type"]},{properties:{type:{const:"secondary"},href:{oneOf:[{type:"string"},{type:"null"}]},url:{oneOf:[{type:"string"},{type:"null"}]},text:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},rightIcon:{oneOf:[{type:"string"},{type:"null"}]},rounded:{oneOf:[{type:"boolean"},{type:"null"}]}},required:["type"]}]},"docs.FooterLinksConfig":{type:"object",properties:{github:{oneOf:[{type:"string"},{type:"null"}]},twitter:{oneOf:[{type:"string"},{type:"null"}]},x:{oneOf:[{type:"string"},{type:"null"}]},linkedin:{oneOf:[{type:"string"},{type:"null"}]},youtube:{oneOf:[{type:"string"},{type:"null"}]},instagram:{oneOf:[{type:"string"},{type:"null"}]},facebook:{oneOf:[{type:"string"},{type:"null"}]},discord:{oneOf:[{type:"string"},{type:"null"}]},slack:{oneOf:[{type:"string"},{type:"null"}]},hackernews:{oneOf:[{type:"string"},{type:"null"}]},medium:{oneOf:[{type:"string"},{type:"null"}]},website:{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"docs.ExperimentalConfig":{type:"object",properties:{"mdx-components":{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"disable-stream-toggle":{oneOf:[{type:"boolean"},{type:"null"}]},"openapi-parser-v2":{oneOf:[{type:"boolean"},{type:"null"}]},"openapi-parser-v3":{oneOf:[{type:"boolean"},{type:"null"}]}},additionalProperties:!1},"docs.ProgrammingLanguage":{type:"string",enum:["typescript","javascript","python","java","go","ruby","csharp","nodets","nodejs","dotnet","curl","jvm","ts","js"]},"docs.AIChatModel":{type:"string",enum:["claude-3.5","claude-3.7","command-a"]},"docs.AIChatConfig":{type:"object",properties:{model:{oneOf:[{$ref:"#/definitions/docs.AIChatModel"},{type:"null"}]},"system-prompt":{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"docs.TwitterCardSetting":{type:"string",enum:["summary","summary_large_image","app","player"]},"docs.MetadataConfig":{type:"object",properties:{"og:site_name":{oneOf:[{type:"string"},{type:"null"}]},"og:title":{oneOf:[{type:"string"},{type:"null"}]},"og:description":{oneOf:[{type:"string"},{type:"null"}]},"og:url":{oneOf:[{type:"string"},{type:"null"}]},"og:image":{oneOf:[{type:"string"},{type:"null"}]},"og:image:width":{oneOf:[{type:"number"},{type:"null"}]},"og:image:height":{oneOf:[{type:"number"},{type:"null"}]},"og:locale":{oneOf:[{type:"string"},{type:"null"}]},"og:logo":{oneOf:[{type:"string"},{type:"null"}]},"twitter:title":{oneOf:[{type:"string"},{type:"null"}]},"twitter:description":{oneOf:[{type:"string"},{type:"null"}]},"twitter:handle":{oneOf:[{type:"string"},{type:"null"}]},"twitter:image":{oneOf:[{type:"string"},{type:"null"}]},"twitter:site":{oneOf:[{type:"string"},{type:"null"}]},"twitter:url":{oneOf:[{type:"string"},{type:"null"}]},"twitter:card":{oneOf:[{$ref:"#/definitions/docs.TwitterCardSetting"},{type:"null"}]}},additionalProperties:!1},"docs.RedirectConfig":{type:"object",properties:{source:{type:"string"},destination:{type:"string"},permanent:{oneOf:[{type:"boolean"},{type:"null"}]}},required:["source","destination"],additionalProperties:!1},"docs.LogoConfiguration":{type:"object",properties:{dark:{oneOf:[{type:"string"},{type:"null"}]},light:{oneOf:[{type:"string"},{type:"null"}]},height:{oneOf:[{type:"number"},{type:"null"}]},href:{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"docs.BackgroundImageThemedConfig":{type:"object",properties:{dark:{oneOf:[{type:"string"},{type:"null"}]},light:{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"docs.BackgroundImageConfiguration":{anyOf:[{type:"string"},{$ref:"#/definitions/docs.BackgroundImageThemedConfig"}]},"docs.ColorThemedConfig":{type:"object",properties:{dark:{oneOf:[{type:"string"},{type:"null"}]},light:{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"docs.ColorConfig":{anyOf:[{type:"string"},{$ref:"#/definitions/docs.ColorThemedConfig"}]},"docs.ColorsConfiguration":{type:"object",properties:{"accent-primary":{oneOf:[{$ref:"#/definitions/docs.ColorConfig"},{type:"null"}]},accentPrimary:{oneOf:[{$ref:"#/definitions/docs.ColorConfig"},{type:"null"}]},background:{oneOf:[{$ref:"#/definitions/docs.ColorConfig"},{type:"null"}]},border:{oneOf:[{$ref:"#/definitions/docs.ColorConfig"},{type:"null"}]},"sidebar-background":{oneOf:[{$ref:"#/definitions/docs.ColorConfig"},{type:"null"}]},"header-background":{oneOf:[{$ref:"#/definitions/docs.ColorConfig"},{type:"null"}]},"card-background":{oneOf:[{$ref:"#/definitions/docs.ColorConfig"},{type:"null"}]}},additionalProperties:!1},"docs.FontWeight":{anyOf:[{type:"string"},{type:"integer"}]},"docs.FontStyle":{type:"string",enum:["normal","italic"]},"docs.FontConfigVariant":{type:"object",properties:{path:{type:"string"},weight:{oneOf:[{$ref:"#/definitions/docs.FontWeight"},{type:"null"}]},style:{oneOf:[{$ref:"#/definitions/docs.FontStyle"},{type:"null"}]}},required:["path"],additionalProperties:!1},"docs.FontConfigPath":{anyOf:[{type:"string"},{$ref:"#/definitions/docs.FontConfigVariant"}]},"docs.FontDisplay":{type:"string",enum:["auto","block","swap","fallback","optional"]},"docs.FontConfig":{type:"object",properties:{name:{oneOf:[{type:"string"},{type:"null"}]},path:{oneOf:[{type:"string"},{type:"null"}]},weight:{oneOf:[{$ref:"#/definitions/docs.FontWeight"},{type:"null"}]},style:{oneOf:[{$ref:"#/definitions/docs.FontStyle"},{type:"null"}]},paths:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.FontConfigPath"}},{type:"null"}]},display:{oneOf:[{$ref:"#/definitions/docs.FontDisplay"},{type:"null"}]},fallback:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},"font-variation-settings":{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"docs.DocsTypographyConfig":{type:"object",properties:{headingsFont:{oneOf:[{$ref:"#/definitions/docs.FontConfig"},{type:"null"}]},bodyFont:{oneOf:[{$ref:"#/definitions/docs.FontConfig"},{type:"null"}]},codeFont:{oneOf:[{$ref:"#/definitions/docs.FontConfig"},{type:"null"}]}},additionalProperties:!1},"docs.SearchbarPlacement":{type:"string",enum:["header","header-tabs","sidebar"]},"docs.TabsPlacement":{type:"string",enum:["header","sidebar"]},"docs.ContentAlignment":{type:"string",enum:["center","left"]},"docs.HeaderPosition":{type:"string",enum:["fixed","static"]},"docs.LayoutConfig":{type:"object",properties:{"page-width":{oneOf:[{type:"string"},{type:"null"}]},"content-width":{oneOf:[{type:"string"},{type:"null"}]},"sidebar-width":{oneOf:[{type:"string"},{type:"null"}]},"header-height":{oneOf:[{type:"string"},{type:"null"}]},"searchbar-placement":{oneOf:[{$ref:"#/definitions/docs.SearchbarPlacement"},{type:"null"}]},"tabs-placement":{oneOf:[{$ref:"#/definitions/docs.TabsPlacement"},{type:"null"}]},"content-alignment":{oneOf:[{$ref:"#/definitions/docs.ContentAlignment"},{type:"null"}]},"header-position":{oneOf:[{$ref:"#/definitions/docs.HeaderPosition"},{type:"null"}]},"disable-header":{oneOf:[{type:"boolean"},{type:"null"}]}},additionalProperties:!1},"docs.IntegrationsConfig":{type:"object",properties:{intercom:{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"docs.CssConfig":{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}]},"docs.JsScriptStrategy":{type:"string",enum:["beforeInteractive","afterInteractive","lazyOnload"]},"docs.JsRemoteConfig":{type:"object",properties:{url:{type:"string"},strategy:{oneOf:[{$ref:"#/definitions/docs.JsScriptStrategy"},{type:"null"}]}},required:["url"],additionalProperties:!1},"docs.JsFileConfigSettings":{type:"object",properties:{path:{type:"string"},strategy:{oneOf:[{$ref:"#/definitions/docs.JsScriptStrategy"},{type:"null"}]}},required:["path"],additionalProperties:!1},"docs.JsFileConfig":{anyOf:[{type:"string"},{$ref:"#/definitions/docs.JsFileConfigSettings"}]},"docs.JsConfigOptions":{anyOf:[{$ref:"#/definitions/docs.JsRemoteConfig"},{$ref:"#/definitions/docs.JsFileConfig"}]},"docs.JsConfig":{anyOf:[{$ref:"#/definitions/docs.JsConfigOptions"},{type:"array",items:{$ref:"#/definitions/docs.JsConfigOptions"}}]}},HJD={type:FJD,properties:LJD,required:UJD,additionalProperties:VJD,definitions:WJD};async function wZs({fernDirectory:e,context:t}){let r=Lu(e,Ja.of(j8t));if(!await Mf(r))return;let i=await $JD({absolutePathToDocsDefinition:e,context:t});if(i!=null)return{type:"docs",absoluteFilePath:e,config:i,workspaceName:void 0,absoluteFilepathToDocsConfig:Lu(e,Ja.of(j8t))}}async function $JD({absolutePathToDocsDefinition:e,context:t}){if(!await Mf(e))return;let r=Lu(e,Ja.of(j8t));return await GJD({absolutePathOfConfiguration:r,context:t})}async function GJD({absolutePathOfConfiguration:e,context:t}){let r=await(0,mZp.readFile)(e),i=Ed.load(r.toString()),n=P8t(i,jZs);if(n.success)return Are.RawSchemas.Serializer.DocsConfiguration.parseOrThrow(i);throw new Error(`Failed to parse docs.yml because of ${n.error?.message??"Unknown error"}`)}async function SZs({context:e,nameOverride:t,...r}){let i=await x8t(t);return i==null?e.failAndThrow(`Directory "${t??YU}" not found.`):await jZp({absolutePathToFernDirectory:i,context:e,nameOverride:t,...r})}async function jZp({absolutePathToFernDirectory:e,cliName:t,cliVersion:r,commandLineApiWorkspace:i,defaultToAllApiWorkspaces:n,context:a}){let u=[];return(await Mf(Lu(e,Ja.of(fsi)))||await Mf(Lu(e,Ja.of(l5)))||await Mf(Lu(e,Ja.of(sF)))||await Mf(Lu(e,Ja.of(deo)))||await Mf(Lu(e,Ja.of(TJf))))&&(u=await wZp({cliName:t,fernDirectory:e,cliVersion:r,context:a,commandLineApiWorkspace:i,defaultToAllApiWorkspaces:n})),{config:await uJr({directory:e,context:a}),apiWorkspaces:u,docsWorkspaces:await wZs({fernDirectory:e,context:a}),loadAPIWorkspace:l=>l==null?u[0]:u.find(f=>f.workspaceName===l)}}async function wZp({cliName:e,fernDirectory:t,context:r,cliVersion:i,commandLineApiWorkspace:n,defaultToAllApiWorkspaces:a}){let u=Lu(t,Ja.of(fsi));if(await Mf(u)){let o=(await(0,PZp.readdir)(u,{withFileTypes:!0})).reduce((g,O)=>(O.isDirectory()&&g.push(O.name),g),[]);if(n!=null){if(!o.includes(n))return r.failAndThrow("API does not exist: "+n)}else{if(o.length===0)return r.failAndThrow("No APIs found.");if(o.length>1&&!a){let g=`There are multiple workspaces. You must specify one with --api:
1960
1960
  `,O=Math.max(...o.map(m=>m.length));return g+=o.map(m=>{let P=`${e} ${process.argv.slice(2).join(" ")} --api ${m}`;return` \u203A ${$s.bold(m.padEnd(O))} ${$s.dim(P)}`}).join(`
@@ -2025,7 +2025,7 @@ ${fe.stack}`)),D}};D=await x();let L=M.apiWorkspaces.flatMap(J=>J.getAbsoluteFil
2025
2025
  `});++i<e.length;)i&&r.push({type:"text",value:`
2026
2026
  `}),r.push(e[i]);return t&&e.length>0&&r.push({type:"text",value:`
2027
2027
  `}),r}function ym_(e){let t=0,r=e.charCodeAt(t);for(;r===9||r===32;)t++,r=e.charCodeAt(t);return e.slice(t)}function Toc(e,t){let r=vm_(e,t),i=r.one(e,void 0),n=hm_(r),a=Array.isArray(i)?{type:"root",children:i}:i||{type:"root",children:[]};return n&&("children"in a,a.children.push({type:"text",value:`
2028
- `},n)),a}var bm_=require("fs");var k_E=["mdxFlowExpression","mdxJsxFlowElement","mdxJsxTextElement","mdxTextExpression","mdxjsEsm"];function ehE({readFile:e=r=>(0,bm_.readFileSync)(r,"utf-8"),...t}){let r=new Set,i=[t],n=[],a=[],u=1e3,l=0;do{if(l++,l>u)throw new Error("Infinite loop detected while collecting links and sources");let f=i.shift();if(f==null)break;let{content:s,absoluteFilepath:o}=f;if(o!=null){if(r.has(o))throw new Error(`Circular import detected: ${o}`);r.add(o)}let c=KMn(s),b=Toc(c,{allowDangerousHtml:!0,passThrough:[...k_E]});xf(b,g=>{if(g.type==="mdxjsEsm"&&o!=null)return g.data?.estree&&JZt(g.data.estree,{enter:m=>{if(m.type==="ImportDeclaration"&&m.source.type==="Literal"&&typeof m.source.value=="string"){let P=Ja.of(m.source.value),E=xb(Jd(o),P);(E.endsWith(".mdx")||E.endsWith(".md"))&&i.push({content:e(E),absoluteFilepath:E})}}}),"skip";if(g.type==="element"){let m=g.properties.href;typeof m=="string"&&n.push({href:m,sourceFilepath:o,position:g.position});let P=g.properties.src;typeof P=="string"&&a.push({src:P,sourceFilepath:o,position:g.position})}function O(m,P){YMn(m,{src:E=>{let A=UYr(E.value);typeof A=="string"&&a.push({src:A,sourceFilepath:o,position:P})},href:E=>{let A=UYr(E.value);typeof A=="string"&&n.push({href:A,sourceFilepath:o,position:P})}})}if(g.type==="mdxJsxFlowElement"||g.type==="mdxJsxTextElement"){let m=K_i(g.attributes.filter(VYr).find(E=>E.name==="href")?.value),P=K_i(g.attributes.filter(VYr).find(E=>E.name==="src")?.value);if(g.name==="Markdown"){if(o&&typeof P=="string"){let E=xb(Jd(o),P);i.push({content:e(E),absoluteFilepath:E})}return"skip"}typeof m=="string"&&n.push({href:m,sourceFilepath:o,position:g.position}),typeof P=="string"&&a.push({src:P,sourceFilepath:o,position:g.position}),g.attributes.forEach(E=>{E.type==="mdxJsxAttribute"&&typeof E.value!="string"&&E.value!=null&&E.value.data?.estree?O(E.value.data.estree,E.position):E.type==="mdxJsxExpressionAttribute"&&E.data?.estree&&O(E.data.estree,E.position)})}(g.type==="mdxFlowExpression"||g.type==="mdxTextExpression")&&g.data?.estree&&O(g.data.estree,g.position)})}while(i.length>0);return{links:n,sources:a}}function gm_({content:e,absoluteFilepath:t}){try{return ehE({content:e,absoluteFilepath:t})}catch{return{links:[],sources:[]}}}function Om_({relativeFilepath:e,allRuleVisitors:t,addViolations:r}){function i(n){let a=async(u,l)=>{for(let f of t){let s=f[n];if(s!=null){let o=await s(u);r(o.map(c=>({name:c.name,severity:c.severity,relativeFilepath:c.relativeFilepath??Ja.of(""),nodePath:l,message:c.message})))}}};return{[n]:a}}return{...i("file"),...i("filepath"),...i("markdownPage"),...i("versionFile"),...i("apiSection"),...i("permissions"),...i("productFile")}}var Ioc=require("fs/promises");var Coc={};jn(Coc,{additionalProperties:()=>nhE,default:()=>ohE,definitions:()=>ahE,properties:()=>rhE,required:()=>ihE,type:()=>thE});var thE="object",rhE={tabs:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/docs.TabConfig"}},{type:"null"}]},"landing-page":{oneOf:[{$ref:"#/definitions/docs.PageConfiguration"},{type:"null"}]},navigation:{$ref:"#/definitions/docs.NavigationConfig"}},ihE=["navigation"],nhE=!1,ahE={"docs.RoleId":{type:"string"},"docs.Role":{anyOf:[{$ref:"#/definitions/docs.RoleId"},{type:"array",items:{$ref:"#/definitions/docs.RoleId"}}]},"docs.FeatureFlag":{type:"object",properties:{flag:{type:"string"},"fallback-value":{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},match:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]}},required:["flag"],additionalProperties:!1},"docs.FeatureFlagConfiguration":{anyOf:[{type:"string",description:"The name of the feature flag, We assume that it is a boolean feature flag that needs to be evaluated to true."},{$ref:"#/definitions/docs.FeatureFlag",description:"A single feature flag with a configurable name, fallback value, and match value. Especially useful for non boolean feature flags."},{type:"array",items:{$ref:"#/definitions/docs.FeatureFlag"},description:"A list of feature flags. If any of the feature flags are satisfied, we will show all content."}]},"docs.ChangelogFolderRelativePath":{type:"string"},"docs.TabConfig":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},"display-name":{type:"string"},icon:{oneOf:[{type:"string"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},href:{oneOf:[{type:"string"},{type:"null"}]},changelog:{oneOf:[{$ref:"#/definitions/docs.ChangelogFolderRelativePath"},{type:"null"}]}},required:["display-name"],additionalProperties:!1},"docs.PageConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},page:{type:"string"},path:{type:"string"},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},noindex:{oneOf:[{type:"boolean"},{type:"null"}]}},required:["page","path"],additionalProperties:!1},"docs.SectionConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},section:{type:"string"},path:{oneOf:[{type:"string"},{type:"null"}]},contents:{type:"array",items:{$ref:"#/definitions/docs.NavigationItem"}},collapsed:{oneOf:[{type:"boolean"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]}},required:["section","contents"],additionalProperties:!1},"docs.AudienceId":{type:"string"},"docs.VersionedSnippetLanguageConfiguration":{type:"object",properties:{version:{type:"string"},package:{type:"string"}},required:["version","package"],additionalProperties:!1},"docs.SnippetLanguageConfiguration":{anyOf:[{type:"string"},{$ref:"#/definitions/docs.VersionedSnippetLanguageConfiguration"}]},"docs.SnippetsConfiguration":{type:"object",properties:{python:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},typescript:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},go:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},java:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},ruby:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},csharp:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]}},additionalProperties:!1},"docs.PlaygroundButtonSettings":{type:"object",properties:{href:{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"docs.PlaygroundSettings":{type:"object",properties:{environments:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},button:{oneOf:[{$ref:"#/definitions/docs.PlaygroundButtonSettings"},{type:"null"}]},oauth:{oneOf:[{type:"boolean"},{type:"null"}]},"limit-websocket-messages-per-connection":{oneOf:[{type:"integer"},{type:"null"}]}},additionalProperties:!1},"docs.ApiReferencePackageConfigurationWithOptions":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},title:{oneOf:[{type:"string"},{type:"null"}]},summary:{oneOf:[{type:"string"},{type:"null"}]},contents:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.ApiReferenceLayoutItem"}},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]},playground:{oneOf:[{$ref:"#/definitions/docs.PlaygroundSettings"},{type:"null"}]}},additionalProperties:!1},"docs.ApiReferencePackageConfiguration":{anyOf:[{type:"array",items:{$ref:"#/definitions/docs.ApiReferenceLayoutItem"}},{$ref:"#/definitions/docs.ApiReferencePackageConfigurationWithOptions"}]},"docs.ApiReferenceSectionConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},section:{type:"string"},"referenced-packages":{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},summary:{oneOf:[{type:"string"},{type:"null"}]},contents:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.ApiReferenceLayoutItem"}},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]},playground:{oneOf:[{$ref:"#/definitions/docs.PlaygroundSettings"},{type:"null"}]}},required:["section"],additionalProperties:!1},"docs.ApiReferenceEndpointConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},endpoint:{type:"string"},title:{oneOf:[{type:"string"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},playground:{oneOf:[{$ref:"#/definitions/docs.PlaygroundSettings"},{type:"null"}]}},required:["endpoint"],additionalProperties:!1},"docs.LinkConfiguration":{type:"object",properties:{link:{type:"string"},href:{type:"string"},icon:{oneOf:[{type:"string"},{type:"null"}]}},required:["link","href"],additionalProperties:!1},"docs.ApiReferenceLayoutItem":{anyOf:[{type:"string",description:"This should be either an endpoint, websocket, webhook, or subpackage ID"},{type:"object",additionalProperties:{$ref:"#/definitions/docs.ApiReferencePackageConfiguration"},description:"Keyed by subpackage name, this object allows you to group endpoints and pages together."},{$ref:"#/definitions/docs.ApiReferenceSectionConfiguration"},{$ref:"#/definitions/docs.ApiReferenceEndpointConfiguration"},{$ref:"#/definitions/docs.PageConfiguration"},{$ref:"#/definitions/docs.LinkConfiguration"}]},"docs.ApiReferenceConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},api:{type:"string"},"api-name":{oneOf:[{type:"string"},{type:"null"}]},openrpc:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.AudienceId"}},{type:"null"}]},"display-errors":{oneOf:[{type:"boolean"},{type:"null"}]},snippets:{oneOf:[{$ref:"#/definitions/docs.SnippetsConfiguration"},{type:"null"}]},summary:{oneOf:[{type:"string"},{type:"null"}]},layout:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.ApiReferenceLayoutItem"}},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]},alphabetized:{oneOf:[{type:"boolean"},{type:"null"}]},flattened:{oneOf:[{type:"boolean"},{type:"null"}]},paginated:{oneOf:[{type:"boolean"},{type:"null"}]},playground:{oneOf:[{$ref:"#/definitions/docs.PlaygroundSettings"},{type:"null"}]}},required:["api"],additionalProperties:!1},"docs.ChangelogConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},changelog:{$ref:"#/definitions/docs.ChangelogFolderRelativePath"},title:{oneOf:[{type:"string"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]}},required:["changelog"],additionalProperties:!1},"docs.NavigationItem":{anyOf:[{$ref:"#/definitions/docs.PageConfiguration"},{$ref:"#/definitions/docs.SectionConfiguration"},{$ref:"#/definitions/docs.ApiReferenceConfiguration"},{$ref:"#/definitions/docs.LinkConfiguration"},{$ref:"#/definitions/docs.ChangelogConfiguration"}]},"docs.UntabbedNavigationConfig":{type:"array",items:{$ref:"#/definitions/docs.NavigationItem"}},"docs.TabId":{type:"string"},"docs.TabbedNavigationItem":{type:"object",properties:{tab:{$ref:"#/definitions/docs.TabId"},layout:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.NavigationItem"}},{type:"null"}]}},required:["tab"],additionalProperties:!1},"docs.TabbedNavigationConfig":{type:"array",items:{$ref:"#/definitions/docs.TabbedNavigationItem"}},"docs.NavigationConfig":{anyOf:[{$ref:"#/definitions/docs.UntabbedNavigationConfig"},{$ref:"#/definitions/docs.TabbedNavigationConfig"}]}},ohE={type:thE,properties:rhE,required:ihE,additionalProperties:nhE,definitions:ahE};async function A8o({value:e}){let t=P8t(e,Coc);if(t.success)return{type:"success",contents:Are.RawSchemas.Serializer.ProductFileConfig.parseOrThrow(e)};let r=t.error?.instancePath?` at ${t?.error.instancePath}`:"";return{type:"failure",message:`${t.error?.message??"Failed to parse because JSON schema validation failed"}${r}`}}async function _9({absoluteFilepathToConfiguration:e,rawUnresolvedFilepath:t,visitor:r,nodePath:i,willBeUploaded:n=!0}){let a=xb(Jd(e),t);await r.filepath?.({absoluteFilepath:a,value:t,willBeUploaded:n},[a])}var IOa=require("fs/promises");async function q8o({absolutePathToFernFolder:e,navigation:t,apiWorkspaces:r,visitor:i,absoluteFilepathToConfiguration:n,context:a,nodePath:u}){lhE(t)?await Promise.all(t.map(async(l,f)=>{l.layout!=null&&await Promise.all(l.layout.map(async(s,o)=>{await Boc({absolutePathToFernFolder:e,navigationItem:s,visitor:i,nodePath:[...u,`${f}`,"layout",`${o}`],absoluteFilepathToConfiguration:n,apiWorkspaces:r,context:a})}))})):await Promise.all(t.map(async(l,f)=>{await Boc({absolutePathToFernFolder:e,navigationItem:l,visitor:i,nodePath:[...u,`${f}`],absoluteFilepathToConfiguration:n,apiWorkspaces:r,context:a})}))}async function Boc({absolutePathToFernFolder:e,navigationItem:t,visitor:r,nodePath:i,absoluteFilepathToConfiguration:n,apiWorkspaces:a,context:u}){if(await jGt(t,{alphabetized:Ho,api:Ho,apiName:Ho,audiences:Ho,openrpc:async l=>{l!=null&&await _9({absoluteFilepathToConfiguration:n,rawUnresolvedFilepath:l,visitor:r,nodePath:[...i,"openrpc"],willBeUploaded:!1})},displayErrors:Ho,snippets:Ho,summary:Ho,title:Ho,layout:Ho,icon:Ho,slug:Ho,hidden:Ho,skipSlug:Ho,paginated:Ho,playground:Ho,flattened:Ho,featureFlag:Ho,path:async l=>{l!=null&&await _9({absoluteFilepathToConfiguration:n,rawUnresolvedFilepath:l,visitor:r,nodePath:[...i,"path"],willBeUploaded:!1})},page:Ho,contents:async l=>{l!=null&&await Promise.all(l.map(async(f,s)=>{await Boc({absolutePathToFernFolder:e,navigationItem:f,visitor:r,nodePath:[...i,"contents",`${s}`],absoluteFilepathToConfiguration:n,apiWorkspaces:a,context:u})}))},viewers:async l=>{l!=null&&l.length>0&&await r.permissions?.({viewers:l},[...i,"viewers"])},orphaned:Ho}),shE(t)){let l=xb(Jd(n),t.path);if(await Mf(l)){let f=(await(0,IOa.readFile)(l)).toString();await r.markdownPage?.({title:t.page,content:f,absoluteFilepath:l},[...i,t.path]);try{let{filepaths:s}=nga(f,{absolutePathToFernFolder:e,absolutePathToMarkdownFile:l});for(let o of s)await r.filepath?.({absoluteFilepath:o,value:tq(e,o),willBeUploaded:!0},[...i,t.path])}catch{}}}if(chE(t)){let l=a.find(f=>f.workspaceName===t.apiName);l!=null&&await r.apiSection?.({config:t,workspace:l,context:u},[...i,"api"])}if(uhE(t)){let l=xb(Jd(n),t.changelog);if(u.logger.trace(`Starting changelog processing for directory: ${l}`),await Mf(l)){let f=await(0,IOa.readdir)(l);u.logger.trace(`Validating ${f.length} files in changelog directory ${l}`),await Promise.all(f.filter(s=>s.endsWith(".md")||s.endsWith(".mdx")).map(async s=>{let o=xb(l,s),c=(await(0,IOa.readFile)(o)).toString();u.logger.trace(`Validating markdown file: ${o}`),await r.markdownPage?.({title:s,content:c,absoluteFilepath:o},[...i,"changelog",s])}))}else u.logger.trace(`Changelog directory does not exist: ${l}`)}}function uhE(e){return e?.changelog!=null}function shE(e){return e?.page!=null}function chE(e){return e?.api!=null}function lhE(e){return e[0]?.tab!=null}async function Pm_({contents:e,visitor:t,absoluteFilepathToConfiguration:r,context:i,apiWorkspaces:n,absolutePathToFernFolder:a}){await t.file?.({config:e},[]),await jGt(e,{instances:Ho,analytics:Ho,aiChat:Ho,aiSearch:Ho,announcement:Ho,backgroundImage:async u=>{u!=null&&(typeof u=="string"?await _9({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:u,visitor:t,nodePath:["background-image"]}):(u.dark!=null&&await _9({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:u.dark,visitor:t,nodePath:["background-image","dark"]}),u.light!=null&&await _9({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:u.light,visitor:t,nodePath:["background-image","light"]})))},colors:Ho,css:async u=>{u!=null&&(Array.isArray(u)?await Promise.all(u.map((l,f)=>_9({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:l,visitor:t,nodePath:["css",`${f}`],willBeUploaded:!1}))):await _9({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:u,visitor:t,nodePath:["css"],willBeUploaded:!1}))},defaultLanguage:Ho,experimental:Ho,favicon:async u=>{u!=null&&await _9({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:u,visitor:t,nodePath:["favicon"]})},footerLinks:Ho,integrations:Ho,js:async u=>{u!=null&&(Array.isArray(u)?await Promise.all(u.map((l,f)=>mm_({absoluteFilepathToConfiguration:r,visitor:t,script:l,nodePath:["js",`${f}`]}))):await mm_({absoluteFilepathToConfiguration:r,visitor:t,script:u,nodePath:["js"]}))},landingPage:Ho,layout:Ho,logo:async u=>{e.logo?.dark!=null&&await _9({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:e.logo.dark,visitor:t,nodePath:["logo","dark"]}),e.logo?.light!=null&&await _9({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:e.logo.light,visitor:t,nodePath:["logo","light"]})},metadata:Ho,navbarLinks:Ho,navigation:async u=>{u!=null&&await q8o({absolutePathToFernFolder:a,navigation:u,visitor:t,nodePath:["navigation"],absoluteFilepathToConfiguration:r,apiWorkspaces:n,context:i})},products:async u=>{u!=null&&await Promise.all(u.map(async(l,f)=>{await _9({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:l.path,visitor:t,nodePath:["products",`${f}`],willBeUploaded:!1});let s=xb(Jd(r),l.path),o=Ed.load((await(0,Ioc.readFile)(s)).toString());await Mf(s)&&await t.productFile?.({path:l.path,content:o},[l.path]);let c=await A8o({value:o});c.type==="success"&&await q8o({absolutePathToFernFolder:a,navigation:c.contents.navigation,visitor:t,nodePath:["navigation"],absoluteFilepathToConfiguration:s,apiWorkspaces:n,context:i})}))},redirects:Ho,tabs:Ho,title:Ho,typography:async u=>{u!=null&&await jGt(u,{bodyFont:async l=>{l!=null&&await xoc({absoluteFilepathToConfiguration:r,visitor:t,font:l,nodePath:["typography","bodyFont"]})},codeFont:async l=>{l!=null&&await xoc({absoluteFilepathToConfiguration:r,visitor:t,font:l,nodePath:["typography","codeFont"]})},headingsFont:async l=>{l!=null&&await xoc({absoluteFilepathToConfiguration:r,visitor:t,font:l,nodePath:["typography","headingsFont"]})}})},versions:async u=>{u!=null&&await Promise.all(u.map(async(l,f)=>{await _9({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:l.path,visitor:t,nodePath:["versions",`${f}`],willBeUploaded:!1});let s=xb(Jd(r),l.path),o=Ed.load((await(0,Ioc.readFile)(s)).toString());await Mf(s)&&await t.versionFile?.({path:l.path,content:o},[l.path]);let c=await D8o({value:o});c.type==="success"&&await q8o({absolutePathToFernFolder:a,navigation:c.contents.navigation,visitor:t,nodePath:["navigation"],absoluteFilepathToConfiguration:s,apiWorkspaces:n,context:i})}))},roles:Ho})}async function xoc({absoluteFilepathToConfiguration:e,visitor:t,font:r,nodePath:i}){r.path!=null&&await _9({absoluteFilepathToConfiguration:e,rawUnresolvedFilepath:r.path,visitor:t,nodePath:i,willBeUploaded:!0});for(let n of r.paths??[])typeof n=="string"?await _9({absoluteFilepathToConfiguration:e,rawUnresolvedFilepath:n,visitor:t,nodePath:i,willBeUploaded:!0}):await _9({absoluteFilepathToConfiguration:e,rawUnresolvedFilepath:n.path,visitor:t,nodePath:i,willBeUploaded:!0})}async function mm_({absoluteFilepathToConfiguration:e,visitor:t,script:r,nodePath:i}){let n=typeof r=="string"?r:"path"in r?r.path:null;n&&await _9({absoluteFilepathToConfiguration:e,rawUnresolvedFilepath:n,visitor:t,nodePath:i,willBeUploaded:!0})}var jm_={name:"accent-color-contrast",create:()=>({file:async({config:e})=>{if(e.colors==null)return[];let t=kio(e.colors);return t==="dark"?T8o(e.colors,"dark"):t==="light"?T8o(e.colors,"light"):t==="darkAndLight"?[...T8o(e.colors,"dark"),...T8o(e.colors,"light")]:[]}})};function T8o(e,t){let r=Yoa(e.accentPrimary??e.accentPrimaryDeprecated,"accent-primary",t),i=Yoa(e.background,"background",t)??(t==="dark"?"#000":"#FFF"),n=[];if(!s_(i).isValid())n.push({severity:"fatal",message:`Invalid background color provided for colors.background.${t}: ${i}.`});else{let a=fhE(s_(i),t);s_(i).toHexString()!==a.toHexString()&&n.push({severity:"warning",message:`The provided background color for ${t} mode is not ${t} enough. It will be adjusted to ${a.toHexString()}.`}),i=a.toHexString()}if(r==null)n.push({severity:"warning",message:`No accent-color provided for ${t} mode. A random color will be used.`});else if(!s_(r).isValid())n.push({severity:"fatal",message:`Invalid accent-color provided for colors.accent-primary.${t}: ${r}.`});else{let a=s_.readability(r,i),u=`${a.toFixed(2)}:1`;a<3?n.push({severity:"warning",message:`The contrast ratio between the accent color and the background color for ${t} mode is ${u}. It should be at least 3:1.`}):a<4.5?n.push({severity:"warning",message:`The contrast ratio between the accent color and the background color for ${t} mode is ${u}. Fern will adjust the color to meet the minimum contrast ratio of 4.5:1 for WCAG AA and 7:1 for WCAG AAA.`}):a<7&&n.push({severity:"warning",message:`The contrast ratio between the accent color and the background color for ${t} mode is ${u}. Fern will adjust the color to meet the minimum contrast ratio of 7:1 for WCAG AAA.`})}return n}function fhE(e,t){return t==="dark"&&e.isDark()||t==="light"&&e.isLight()?e:dhE(e)}function dhE(e){if(e==null)return;let{h:t,s:r,v:i}=e.toHsv();return s_({h:t,s:r,v:1-i})}var wm_={name:"all-roles-must-be-declared",create:e=>{let t=e.workspace.config.roles;return{permissions:r=>{let i=[...r.viewers??[]],n=[];for(let a of i)(t==null||!t.includes(a))&&n.push({severity:"fatal",message:`Role "${a}" is used but not declared at the top level of the docs.yml file.`});return n}}}};var zoc={name:"filepaths-exist",create:()=>({filepath:async({absoluteFilepath:e,value:t})=>await Mf(e)?[]:[{severity:"fatal",message:`Path ${t} does not exist`}]})};var Roc={name:"only-versioned-navigation",create:()=>({file:async({config:e})=>e.navigation!=null&&e.versions!=null?[{severity:"fatal",message:"Cannot contain both navigation and versions. If you want versioned docs, use versions. Otherwise use navigation."}]:[]})};var Noc={name:"valid-docs-endpoints",create:()=>({file:async({config:e})=>!e.analytics||!Object.keys(e.analytics).length?[]:[[e.analytics.intercom?.apiBase,"Intercom API Base"],[e.analytics.posthog?.endpoint,"Posthog Host Endpoint"]].filter(([i])=>i&&!phE(i)).map(([i,n])=>({severity:"warning",message:`${n} <${i}> is malformed. Make sure it includes a protocol (e.g. 'https://')!`}))})};function phE(e){try{return!!new URL(e).protocol}catch{return!1}}var tP_=oi(Rm_(),1);var RhE="End-Of-Stream",Rz=class extends Error{constructor(){super(RhE)}};var N8o=class{constructor(){this.resolve=()=>null,this.reject=()=>null,this.promise=new Promise((t,r)=>{this.reject=r,this.resolve=t})}};var NhE=1*1024*1024,LOa=class{constructor(t){if(this.s=t,this.deferred=null,this.endOfStream=!1,this.peekQueue=[],!t.read||!t.once)throw new Error("Expected an instance of stream.Readable");this.s.once("end",()=>this.reject(new Rz)),this.s.once("error",r=>this.reject(r)),this.s.once("close",()=>this.reject(new Error("Stream closed")))}async peek(t,r,i){let n=await this.read(t,r,i);return this.peekQueue.push(t.subarray(r,r+n)),n}async read(t,r,i){if(i===0)return 0;if(this.peekQueue.length===0&&this.endOfStream)throw new Rz;let n=i,a=0;for(;this.peekQueue.length>0&&n>0;){let u=this.peekQueue.pop();if(!u)throw new Error("peekData should be defined");let l=Math.min(u.length,n);t.set(u.subarray(0,l),r+a),a+=l,n-=l,l<u.length&&this.peekQueue.push(u.subarray(l))}for(;n>0&&!this.endOfStream;){let u=Math.min(n,NhE),l=await this.readFromStream(t,r+a,u);if(a+=l,l<u)break;n-=l}return a}async readFromStream(t,r,i){let n=this.s.read(i);if(n)return t.set(n,r),n.length;{let a={buffer:t,offset:r,length:i,deferred:new N8o};return this.deferred=a.deferred,this.s.once("readable",()=>{this.readDeferred(a)}),a.deferred.promise}}readDeferred(t){let r=this.s.read(t.length);r?(t.buffer.set(r,t.offset),t.deferred.resolve(r.length),this.deferred=null):this.s.once("readable",()=>{this.readDeferred(t)})}reject(t){this.endOfStream=!0,this.deferred&&(this.deferred.reject(t),this.deferred=null)}};var yuc=require("buffer"),eqn=class{constructor(t){this.position=0,this.numBuffer=new Uint8Array(8),this.fileInfo=t||{}}async readToken(t,r=this.position){let i=yuc.Buffer.alloc(t.len);if(await this.readBuffer(i,{position:r})<t.len)throw new Rz;return t.get(i,0)}async peekToken(t,r=this.position){let i=yuc.Buffer.alloc(t.len);if(await this.peekBuffer(i,{position:r})<t.len)throw new Rz;return t.get(i,0)}async readNumber(t){if(await this.readBuffer(this.numBuffer,{length:t.len})<t.len)throw new Rz;return t.get(this.numBuffer,0)}async peekNumber(t){if(await this.peekBuffer(this.numBuffer,{length:t.len})<t.len)throw new Rz;return t.get(this.numBuffer,0)}async ignore(t){if(this.fileInfo.size!==void 0){let r=this.fileInfo.size-this.position;if(t>r)return this.position+=r,r}return this.position+=t,t}async close(){}normalizeOptions(t,r){if(r&&r.position!==void 0&&r.position<this.position)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");return r?{mayBeLess:r.mayBeLess===!0,offset:r.offset?r.offset:0,length:r.length?r.length:t.length-(r.offset?r.offset:0),position:r.position?r.position:this.position}:{mayBeLess:!1,offset:0,length:t.length,position:this.position}}};var FhE=256e3,F8o=class extends eqn{constructor(t,r){super(r),this.streamReader=new LOa(t)}async getFileInfo(){return this.fileInfo}async readBuffer(t,r){let i=this.normalizeOptions(t,r),n=i.position-this.position;if(n>0)return await this.ignore(n),this.readBuffer(t,r);if(n<0)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");if(i.length===0)return 0;let a=await this.streamReader.read(t,i.offset,i.length);if(this.position+=a,(!r||!r.mayBeLess)&&a<i.length)throw new Rz;return a}async peekBuffer(t,r){let i=this.normalizeOptions(t,r),n=0;if(i.position){let a=i.position-this.position;if(a>0){let u=new Uint8Array(i.length+a);return n=await this.peekBuffer(u,{mayBeLess:i.mayBeLess}),t.set(u.subarray(a),i.offset),n-a}else if(a<0)throw new Error("Cannot peek from a negative offset in a stream")}if(i.length>0){try{n=await this.streamReader.peek(t,i.offset,i.length)}catch(a){if(r&&r.mayBeLess&&a instanceof Rz)return 0;throw a}if(!i.mayBeLess&&n<i.length)throw new Rz}return n}async ignore(t){let r=Math.min(FhE,t),i=new Uint8Array(r),n=0;for(;n<t;){let a=t-n,u=await this.readBuffer(i,{length:Math.min(r,a)});if(u<0)return u;n+=u}return n}};var L8o=class extends eqn{constructor(t,r){super(r),this.uint8Array=t,this.fileInfo.size=this.fileInfo.size?this.fileInfo.size:t.length}async readBuffer(t,r){if(r&&r.position){if(r.position<this.position)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");this.position=r.position}let i=await this.peekBuffer(t,r);return this.position+=i,i}async peekBuffer(t,r){let i=this.normalizeOptions(t,r),n=Math.min(this.uint8Array.length-i.position,i.length);if(!i.mayBeLess&&n<i.length)throw new Rz;return t.set(this.uint8Array.subarray(i.position,i.position+n),i.offset),n}async close(){}};function Nm_(e,t){return t=t||{},new F8o(e,t)}function Fm_(e,t){return new L8o(e,t)}var hXr=require("buffer");var Um_=oi(Lm_(),1),Vm_=require("buffer");function zne(e){return new DataView(e.buffer,e.byteOffset)}var Wm_={len:1,get(e,t){return zne(e).getUint8(t)},put(e,t,r){return zne(e).setUint8(t,r),t+1}},U8o={len:2,get(e,t){return zne(e).getUint16(t,!0)},put(e,t,r){return zne(e).setUint16(t,r,!0),t+2}},V8o={len:2,get(e,t){return zne(e).getUint16(t)},put(e,t,r){return zne(e).setUint16(t,r),t+2}};var Hm_={len:4,get(e,t){return zne(e).getUint32(t,!0)},put(e,t,r){return zne(e).setUint32(t,r,!0),t+4}},$m_={len:4,get(e,t){return zne(e).getUint32(t)},put(e,t,r){return zne(e).setUint32(t,r),t+4}};var Gm_={len:4,get(e,t){return zne(e).getInt32(t)},put(e,t,r){return zne(e).setInt32(t,r),t+4}};var Qm_={len:8,get(e,t){return zne(e).getBigUint64(t,!0)},put(e,t,r){return zne(e).setBigUint64(t,r,!0),t+8}};var _Xr=class{constructor(t,r){this.len=t,this.encoding=r}get(t,r){return Vm_.Buffer.from(t).toString(this.encoding,r,r+this.len)}},buc=class e{constructor(t){this.len=t}static decode(t,r,i){let n="";for(let a=r;a<i;++a)n+=e.codePointToString(e.singleByteDecoder(t[a]));return n}static inRange(t,r,i){return r<=t&&t<=i}static codePointToString(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode((t>>10)+55296,(t&1023)+56320))}static singleByteDecoder(t){if(e.inRange(t,0,127))return t;let r=e.windows1252[t-128];if(r===null)throw Error("invaliding encoding");return r}get(t,r=0){return e.decode(t,r,r+this.len)}};buc.windows1252=[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255];function Jm_(e){return[...e].map(t=>t.charCodeAt(0))}function Km_(e,t=0){let r=Number.parseInt(e.toString("utf8",148,154).replace(/\0.*$/,"").trim(),8);if(Number.isNaN(r))return!1;let i=8*32;for(let n=t;n<t+148;n++)i+=e[n];for(let n=t+156;n<t+512;n++)i+=e[n];return r===i}var Ym_={get:(e,t)=>e[t+3]&127|e[t+2]<<7|e[t+1]<<14|e[t]<<21,len:4};var Xm_=["jpg","png","apng","gif","webp","flif","xcf","cr2","cr3","orf","arw","dng","nef","rw2","raf","tif","bmp","icns","jxr","psd","indd","zip","tar","rar","gz","bz2","7z","dmg","mp4","mid","mkv","webm","mov","avi","mpg","mp2","mp3","m4a","oga","ogg","ogv","opus","flac","wav","spx","amr","pdf","epub","elf","macho","exe","swf","rtf","wasm","woff","woff2","eot","ttf","otf","ico","flv","ps","xz","sqlite","nes","crx","xpi","cab","deb","ar","rpm","Z","lz","cfb","mxf","mts","blend","bpg","docx","pptx","xlsx","3gp","3g2","j2c","jp2","jpm","jpx","mj2","aif","qcp","odt","ods","odp","xml","mobi","heic","cur","ktx","ape","wv","dcm","ics","glb","pcap","dsf","lnk","alias","voc","ac3","m4v","m4p","m4b","f4v","f4p","f4b","f4a","mie","asf","ogm","ogx","mpc","arrow","shp","aac","mp1","it","s3m","xm","ai","skp","avif","eps","lzh","pgp","asar","stl","chm","3mf","zst","jxl","vcf","jls","pst","dwg","parquet","class","arj","cpio","ace","avro","icc","fbx"],Zm_=["image/jpeg","image/png","image/gif","image/webp","image/flif","image/x-xcf","image/x-canon-cr2","image/x-canon-cr3","image/tiff","image/bmp","image/vnd.ms-photo","image/vnd.adobe.photoshop","application/x-indesign","application/epub+zip","application/x-xpinstall","application/vnd.oasis.opendocument.text","application/vnd.oasis.opendocument.spreadsheet","application/vnd.oasis.opendocument.presentation","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/zip","application/x-tar","application/x-rar-compressed","application/gzip","application/x-bzip2","application/x-7z-compressed","application/x-apple-diskimage","application/x-apache-arrow","video/mp4","audio/midi","video/x-matroska","video/webm","video/quicktime","video/vnd.avi","audio/wav","audio/qcelp","audio/x-ms-asf","video/x-ms-asf","application/vnd.ms-asf","video/mpeg","video/3gpp","audio/mpeg","audio/mp4","audio/opus","video/ogg","audio/ogg","application/ogg","audio/x-flac","audio/ape","audio/wavpack","audio/amr","application/pdf","application/x-elf","application/x-mach-binary","application/x-msdownload","application/x-shockwave-flash","application/rtf","application/wasm","font/woff","font/woff2","application/vnd.ms-fontobject","font/ttf","font/otf","image/x-icon","video/x-flv","application/postscript","application/eps","application/x-xz","application/x-sqlite3","application/x-nintendo-nes-rom","application/x-google-chrome-extension","application/vnd.ms-cab-compressed","application/x-deb","application/x-unix-archive","application/x-rpm","application/x-compress","application/x-lzip","application/x-cfb","application/x-mie","application/mxf","video/mp2t","application/x-blender","image/bpg","image/j2c","image/jp2","image/jpx","image/jpm","image/mj2","audio/aiff","application/xml","application/x-mobipocket-ebook","image/heif","image/heif-sequence","image/heic","image/heic-sequence","image/icns","image/ktx","application/dicom","audio/x-musepack","text/calendar","text/vcard","model/gltf-binary","application/vnd.tcpdump.pcap","audio/x-dsf","application/x.ms.shortcut","application/x.apple.alias","audio/x-voc","audio/vnd.dolby.dd-raw","audio/x-m4a","image/apng","image/x-olympus-orf","image/x-sony-arw","image/x-adobe-dng","image/x-nikon-nef","image/x-panasonic-rw2","image/x-fujifilm-raf","video/x-m4v","video/3gpp2","application/x-esri-shape","audio/aac","audio/x-it","audio/x-s3m","audio/x-xm","video/MP1S","video/MP2P","application/vnd.sketchup.skp","image/avif","application/x-lzh-compressed","application/pgp-encrypted","application/x-asar","model/stl","application/vnd.ms-htmlhelp","model/3mf","image/jxl","application/zstd","image/jls","application/vnd.ms-outlook","image/vnd.dwg","application/x-parquet","application/java-vm","application/x-arj","application/x-cpio","application/x-ace-compressed","application/avro","application/vnd.iccprofile","application/x.autodesk.fbx"];var km_=4100;async function eP_(e){return new guc().fromBuffer(e)}function bkt(e,t,r){r={offset:0,...r};for(let[i,n]of t.entries())if(r.mask){if(n!==(r.mask[i]&e[i+r.offset]))return!1}else if(n!==e[i+r.offset])return!1;return!0}var guc=class{constructor(t){this.detectors=t?.customDetectors,this.fromTokenizer=this.fromTokenizer.bind(this),this.fromBuffer=this.fromBuffer.bind(this),this.parse=this.parse.bind(this)}async fromTokenizer(t){let r=t.position;for(let i of this.detectors||[]){let n=await i(t);if(n)return n;if(r!==t.position)return}return this.parse(t)}async fromBuffer(t){if(!(t instanceof Uint8Array||t instanceof ArrayBuffer))throw new TypeError(`Expected the \`input\` argument to be of type \`Uint8Array\` or \`Buffer\` or \`ArrayBuffer\`, got \`${typeof t}\``);let r=t instanceof Uint8Array?t:new Uint8Array(t);if(r?.length>1)return this.fromTokenizer(Fm_(r))}async fromBlob(t){let r=await t.arrayBuffer();return this.fromBuffer(new Uint8Array(r))}async fromStream(t){let r=await Nm_(t);try{return await this.fromTokenizer(r)}finally{await r.close()}}async toDetectionStream(t,r={}){let{default:i}=await import("stream"),{sampleSize:n=km_}=r;return new Promise((a,u)=>{t.on("error",u),t.once("readable",()=>{(async()=>{try{let l=new i.PassThrough,f=i.pipeline?i.pipeline(t,l,()=>{}):t.pipe(l),s=t.read(n)??t.read()??hXr.Buffer.alloc(0);try{l.fileType=await this.fromBuffer(s)}catch(o){o instanceof Rz?l.fileType=void 0:u(o)}a(f)}catch(l){u(l)}})()})})}check(t,r){return bkt(this.buffer,t,r)}checkString(t,r){return this.check(Jm_(t),r)}async parse(t){if(this.buffer=hXr.Buffer.alloc(km_),t.fileInfo.size===void 0&&(t.fileInfo.size=Number.MAX_SAFE_INTEGER),this.tokenizer=t,await t.peekBuffer(this.buffer,{length:12,mayBeLess:!0}),this.check([66,77]))return{ext:"bmp",mime:"image/bmp"};if(this.check([11,119]))return{ext:"ac3",mime:"audio/vnd.dolby.dd-raw"};if(this.check([120,1]))return{ext:"dmg",mime:"application/x-apple-diskimage"};if(this.check([77,90]))return{ext:"exe",mime:"application/x-msdownload"};if(this.check([37,33]))return await t.peekBuffer(this.buffer,{length:24,mayBeLess:!0}),this.checkString("PS-Adobe-",{offset:2})&&this.checkString(" EPSF-",{offset:14})?{ext:"eps",mime:"application/eps"}:{ext:"ps",mime:"application/postscript"};if(this.check([31,160])||this.check([31,157]))return{ext:"Z",mime:"application/x-compress"};if(this.check([199,113]))return{ext:"cpio",mime:"application/x-cpio"};if(this.check([96,234]))return{ext:"arj",mime:"application/x-arj"};if(this.check([239,187,191]))return this.tokenizer.ignore(3),this.parse(t);if(this.check([71,73,70]))return{ext:"gif",mime:"image/gif"};if(this.check([73,73,188]))return{ext:"jxr",mime:"image/vnd.ms-photo"};if(this.check([31,139,8]))return{ext:"gz",mime:"application/gzip"};if(this.check([66,90,104]))return{ext:"bz2",mime:"application/x-bzip2"};if(this.checkString("ID3")){await t.ignore(6);let r=await t.readToken(Ym_);return t.position+r>t.fileInfo.size?{ext:"mp3",mime:"audio/mpeg"}:(await t.ignore(r),this.fromTokenizer(t))}if(this.checkString("MP+"))return{ext:"mpc",mime:"audio/x-musepack"};if((this.buffer[0]===67||this.buffer[0]===70)&&this.check([87,83],{offset:1}))return{ext:"swf",mime:"application/x-shockwave-flash"};if(this.check([255,216,255]))return this.check([247],{offset:3})?{ext:"jls",mime:"image/jls"}:{ext:"jpg",mime:"image/jpeg"};if(this.check([79,98,106,1]))return{ext:"avro",mime:"application/avro"};if(this.checkString("FLIF"))return{ext:"flif",mime:"image/flif"};if(this.checkString("8BPS"))return{ext:"psd",mime:"image/vnd.adobe.photoshop"};if(this.checkString("WEBP",{offset:8}))return{ext:"webp",mime:"image/webp"};if(this.checkString("MPCK"))return{ext:"mpc",mime:"audio/x-musepack"};if(this.checkString("FORM"))return{ext:"aif",mime:"audio/aiff"};if(this.checkString("icns",{offset:0}))return{ext:"icns",mime:"image/icns"};if(this.check([80,75,3,4])){try{for(;t.position+30<t.fileInfo.size;){await t.readBuffer(this.buffer,{length:30});let r={compressedSize:this.buffer.readUInt32LE(18),uncompressedSize:this.buffer.readUInt32LE(22),filenameLength:this.buffer.readUInt16LE(26),extraFieldLength:this.buffer.readUInt16LE(28)};if(r.filename=await t.readToken(new _Xr(r.filenameLength,"utf-8")),await t.ignore(r.extraFieldLength),r.filename==="META-INF/mozilla.rsa")return{ext:"xpi",mime:"application/x-xpinstall"};if(r.filename.endsWith(".rels")||r.filename.endsWith(".xml"))switch(r.filename.split("/")[0]){case"_rels":break;case"word":return{ext:"docx",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"};case"ppt":return{ext:"pptx",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"};case"xl":return{ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"};default:break}if(r.filename.startsWith("xl/"))return{ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"};if(r.filename.startsWith("3D/")&&r.filename.endsWith(".model"))return{ext:"3mf",mime:"model/3mf"};if(r.filename==="mimetype"&&r.compressedSize===r.uncompressedSize){let i=await t.readToken(new _Xr(r.compressedSize,"utf-8"));switch(i=i.trim(),i){case"application/epub+zip":return{ext:"epub",mime:"application/epub+zip"};case"application/vnd.oasis.opendocument.text":return{ext:"odt",mime:"application/vnd.oasis.opendocument.text"};case"application/vnd.oasis.opendocument.spreadsheet":return{ext:"ods",mime:"application/vnd.oasis.opendocument.spreadsheet"};case"application/vnd.oasis.opendocument.presentation":return{ext:"odp",mime:"application/vnd.oasis.opendocument.presentation"};default:}}if(r.compressedSize===0){let i=-1;for(;i<0&&t.position<t.fileInfo.size;)await t.peekBuffer(this.buffer,{mayBeLess:!0}),i=this.buffer.indexOf("504B0304",0,"hex"),await t.ignore(i>=0?i:this.buffer.length)}else await t.ignore(r.compressedSize)}}catch(r){if(!(r instanceof Rz))throw r}return{ext:"zip",mime:"application/zip"}}if(this.checkString("OggS")){await t.ignore(28);let r=hXr.Buffer.alloc(8);return await t.readBuffer(r),bkt(r,[79,112,117,115,72,101,97,100])?{ext:"opus",mime:"audio/opus"}:bkt(r,[128,116,104,101,111,114,97])?{ext:"ogv",mime:"video/ogg"}:bkt(r,[1,118,105,100,101,111,0])?{ext:"ogm",mime:"video/ogg"}:bkt(r,[127,70,76,65,67])?{ext:"oga",mime:"audio/ogg"}:bkt(r,[83,112,101,101,120,32,32])?{ext:"spx",mime:"audio/ogg"}:bkt(r,[1,118,111,114,98,105,115])?{ext:"ogg",mime:"audio/ogg"}:{ext:"ogx",mime:"application/ogg"}}if(this.check([80,75])&&(this.buffer[2]===3||this.buffer[2]===5||this.buffer[2]===7)&&(this.buffer[3]===4||this.buffer[3]===6||this.buffer[3]===8))return{ext:"zip",mime:"application/zip"};if(this.checkString("ftyp",{offset:4})&&this.buffer[8]&96){let r=this.buffer.toString("binary",8,12).replace("\0"," ").trim();switch(r){case"avif":case"avis":return{ext:"avif",mime:"image/avif"};case"mif1":return{ext:"heic",mime:"image/heif"};case"msf1":return{ext:"heic",mime:"image/heif-sequence"};case"heic":case"heix":return{ext:"heic",mime:"image/heic"};case"hevc":case"hevx":return{ext:"heic",mime:"image/heic-sequence"};case"qt":return{ext:"mov",mime:"video/quicktime"};case"M4V":case"M4VH":case"M4VP":return{ext:"m4v",mime:"video/x-m4v"};case"M4P":return{ext:"m4p",mime:"video/mp4"};case"M4B":return{ext:"m4b",mime:"audio/mp4"};case"M4A":return{ext:"m4a",mime:"audio/x-m4a"};case"F4V":return{ext:"f4v",mime:"video/mp4"};case"F4P":return{ext:"f4p",mime:"video/mp4"};case"F4A":return{ext:"f4a",mime:"audio/mp4"};case"F4B":return{ext:"f4b",mime:"audio/mp4"};case"crx":return{ext:"cr3",mime:"image/x-canon-cr3"};default:return r.startsWith("3g")?r.startsWith("3g2")?{ext:"3g2",mime:"video/3gpp2"}:{ext:"3gp",mime:"video/3gpp"}:{ext:"mp4",mime:"video/mp4"}}}if(this.checkString("MThd"))return{ext:"mid",mime:"audio/midi"};if(this.checkString("wOFF")&&(this.check([0,1,0,0],{offset:4})||this.checkString("OTTO",{offset:4})))return{ext:"woff",mime:"font/woff"};if(this.checkString("wOF2")&&(this.check([0,1,0,0],{offset:4})||this.checkString("OTTO",{offset:4})))return{ext:"woff2",mime:"font/woff2"};if(this.check([212,195,178,161])||this.check([161,178,195,212]))return{ext:"pcap",mime:"application/vnd.tcpdump.pcap"};if(this.checkString("DSD "))return{ext:"dsf",mime:"audio/x-dsf"};if(this.checkString("LZIP"))return{ext:"lz",mime:"application/x-lzip"};if(this.checkString("fLaC"))return{ext:"flac",mime:"audio/x-flac"};if(this.check([66,80,71,251]))return{ext:"bpg",mime:"image/bpg"};if(this.checkString("wvpk"))return{ext:"wv",mime:"audio/wavpack"};if(this.checkString("%PDF")){try{await t.ignore(1350);let r=10*1024*1024,i=hXr.Buffer.alloc(Math.min(r,t.fileInfo.size));if(await t.readBuffer(i,{mayBeLess:!0}),i.includes(hXr.Buffer.from("AIPrivateData")))return{ext:"ai",mime:"application/postscript"}}catch(r){if(!(r instanceof Rz))throw r}return{ext:"pdf",mime:"application/pdf"}}if(this.check([0,97,115,109]))return{ext:"wasm",mime:"application/wasm"};if(this.check([73,73])){let r=await this.readTiffHeader(!1);if(r)return r}if(this.check([77,77])){let r=await this.readTiffHeader(!0);if(r)return r}if(this.checkString("MAC "))return{ext:"ape",mime:"audio/ape"};if(this.check([26,69,223,163])){async function r(){let l=await t.peekNumber(Wm_),f=128,s=0;for(;!(l&f)&&f!==0;)++s,f>>=1;let o=hXr.Buffer.alloc(s+1);return await t.readBuffer(o),o}async function i(){let l=await r(),f=await r();f[0]^=128>>f.length-1;let s=Math.min(6,f.length);return{id:l.readUIntBE(0,l.length),len:f.readUIntBE(f.length-s,s)}}async function n(l){for(;l>0;){let f=await i();if(f.id===17026)return(await t.readToken(new _Xr(f.len,"utf-8"))).replaceAll(/\00.*$/g,"");await t.ignore(f.len),--l}}let a=await i();switch(await n(a.len)){case"webm":return{ext:"webm",mime:"video/webm"};case"matroska":return{ext:"mkv",mime:"video/x-matroska"};default:return}}if(this.check([82,73,70,70])){if(this.check([65,86,73],{offset:8}))return{ext:"avi",mime:"video/vnd.avi"};if(this.check([87,65,86,69],{offset:8}))return{ext:"wav",mime:"audio/wav"};if(this.check([81,76,67,77],{offset:8}))return{ext:"qcp",mime:"audio/qcelp"}}if(this.checkString("SQLi"))return{ext:"sqlite",mime:"application/x-sqlite3"};if(this.check([78,69,83,26]))return{ext:"nes",mime:"application/x-nintendo-nes-rom"};if(this.checkString("Cr24"))return{ext:"crx",mime:"application/x-google-chrome-extension"};if(this.checkString("MSCF")||this.checkString("ISc("))return{ext:"cab",mime:"application/vnd.ms-cab-compressed"};if(this.check([237,171,238,219]))return{ext:"rpm",mime:"application/x-rpm"};if(this.check([197,208,211,198]))return{ext:"eps",mime:"application/eps"};if(this.check([40,181,47,253]))return{ext:"zst",mime:"application/zstd"};if(this.check([127,69,76,70]))return{ext:"elf",mime:"application/x-elf"};if(this.check([33,66,68,78]))return{ext:"pst",mime:"application/vnd.ms-outlook"};if(this.checkString("PAR1"))return{ext:"parquet",mime:"application/x-parquet"};if(this.check([207,250,237,254]))return{ext:"macho",mime:"application/x-mach-binary"};if(this.check([79,84,84,79,0]))return{ext:"otf",mime:"font/otf"};if(this.checkString("#!AMR"))return{ext:"amr",mime:"audio/amr"};if(this.checkString("{\\rtf"))return{ext:"rtf",mime:"application/rtf"};if(this.check([70,76,86,1]))return{ext:"flv",mime:"video/x-flv"};if(this.checkString("IMPM"))return{ext:"it",mime:"audio/x-it"};if(this.checkString("-lh0-",{offset:2})||this.checkString("-lh1-",{offset:2})||this.checkString("-lh2-",{offset:2})||this.checkString("-lh3-",{offset:2})||this.checkString("-lh4-",{offset:2})||this.checkString("-lh5-",{offset:2})||this.checkString("-lh6-",{offset:2})||this.checkString("-lh7-",{offset:2})||this.checkString("-lzs-",{offset:2})||this.checkString("-lz4-",{offset:2})||this.checkString("-lz5-",{offset:2})||this.checkString("-lhd-",{offset:2}))return{ext:"lzh",mime:"application/x-lzh-compressed"};if(this.check([0,0,1,186])){if(this.check([33],{offset:4,mask:[241]}))return{ext:"mpg",mime:"video/MP1S"};if(this.check([68],{offset:4,mask:[196]}))return{ext:"mpg",mime:"video/MP2P"}}if(this.checkString("ITSF"))return{ext:"chm",mime:"application/vnd.ms-htmlhelp"};if(this.check([202,254,186,190]))return{ext:"class",mime:"application/java-vm"};if(this.check([253,55,122,88,90,0]))return{ext:"xz",mime:"application/x-xz"};if(this.checkString("<?xml "))return{ext:"xml",mime:"application/xml"};if(this.check([55,122,188,175,39,28]))return{ext:"7z",mime:"application/x-7z-compressed"};if(this.check([82,97,114,33,26,7])&&(this.buffer[6]===0||this.buffer[6]===1))return{ext:"rar",mime:"application/x-rar-compressed"};if(this.checkString("solid "))return{ext:"stl",mime:"model/stl"};if(this.checkString("AC")){let r=this.buffer.toString("binary",2,6);if(r.match("^d*")&&r>=1e3&&r<=1050)return{ext:"dwg",mime:"image/vnd.dwg"}}if(this.checkString("070707"))return{ext:"cpio",mime:"application/x-cpio"};if(this.checkString("BLENDER"))return{ext:"blend",mime:"application/x-blender"};if(this.checkString("!<arch>"))return await t.ignore(8),await t.readToken(new _Xr(13,"ascii"))==="debian-binary"?{ext:"deb",mime:"application/x-deb"}:{ext:"ar",mime:"application/x-unix-archive"};if(this.checkString("**ACE",{offset:7})&&(await t.peekBuffer(this.buffer,{length:14,mayBeLess:!0}),this.checkString("**",{offset:12})))return{ext:"ace",mime:"application/x-ace-compressed"};if(this.check([137,80,78,71,13,10,26,10])){await t.ignore(8);async function r(){return{length:await t.readToken(Gm_),type:await t.readToken(new _Xr(4,"binary"))}}do{let i=await r();if(i.length<0)return;switch(i.type){case"IDAT":return{ext:"png",mime:"image/png"};case"acTL":return{ext:"apng",mime:"image/apng"};default:await t.ignore(i.length+4)}}while(t.position+8<t.fileInfo.size);return{ext:"png",mime:"image/png"}}if(this.check([65,82,82,79,87,49,0,0]))return{ext:"arrow",mime:"application/x-apache-arrow"};if(this.check([103,108,84,70,2,0,0,0]))return{ext:"glb",mime:"model/gltf-binary"};if(this.check([102,114,101,101],{offset:4})||this.check([109,100,97,116],{offset:4})||this.check([109,111,111,118],{offset:4})||this.check([119,105,100,101],{offset:4}))return{ext:"mov",mime:"video/quicktime"};if(this.check([73,73,82,79,8,0,0,0,24]))return{ext:"orf",mime:"image/x-olympus-orf"};if(this.checkString("gimp xcf "))return{ext:"xcf",mime:"image/x-xcf"};if(this.check([73,73,85,0,24,0,0,0,136,231,116,216]))return{ext:"rw2",mime:"image/x-panasonic-rw2"};if(this.check([48,38,178,117,142,102,207,17,166,217])){async function r(){let i=hXr.Buffer.alloc(16);return await t.readBuffer(i),{id:i,size:Number(await t.readToken(Qm_))}}for(await t.ignore(30);t.position+24<t.fileInfo.size;){let i=await r(),n=i.size-24;if(bkt(i.id,[145,7,220,183,183,169,207,17,142,230,0,192,12,32,83,101])){let a=hXr.Buffer.alloc(16);if(n-=await t.readBuffer(a),bkt(a,[64,158,105,248,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:"asf",mime:"audio/x-ms-asf"};if(bkt(a,[192,239,25,188,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:"asf",mime:"video/x-ms-asf"};break}await t.ignore(n)}return{ext:"asf",mime:"application/vnd.ms-asf"}}if(this.check([171,75,84,88,32,49,49,187,13,10,26,10]))return{ext:"ktx",mime:"image/ktx"};if((this.check([126,16,4])||this.check([126,24,4]))&&this.check([48,77,73,69],{offset:4}))return{ext:"mie",mime:"application/x-mie"};if(this.check([39,10,0,0,0,0,0,0,0,0,0,0],{offset:2}))return{ext:"shp",mime:"application/x-esri-shape"};if(this.check([255,79,255,81]))return{ext:"j2c",mime:"image/j2c"};if(this.check([0,0,0,12,106,80,32,32,13,10,135,10]))switch(await t.ignore(20),await t.readToken(new _Xr(4,"ascii"))){case"jp2 ":return{ext:"jp2",mime:"image/jp2"};case"jpx ":return{ext:"jpx",mime:"image/jpx"};case"jpm ":return{ext:"jpm",mime:"image/jpm"};case"mjp2":return{ext:"mj2",mime:"image/mj2"};default:return}if(this.check([255,10])||this.check([0,0,0,12,74,88,76,32,13,10,135,10]))return{ext:"jxl",mime:"image/jxl"};if(this.check([254,255]))return this.check([0,60,0,63,0,120,0,109,0,108],{offset:2})?{ext:"xml",mime:"application/xml"}:void 0;if(this.check([0,0,1,186])||this.check([0,0,1,179]))return{ext:"mpg",mime:"video/mpeg"};if(this.check([0,1,0,0,0]))return{ext:"ttf",mime:"font/ttf"};if(this.check([0,0,1,0]))return{ext:"ico",mime:"image/x-icon"};if(this.check([0,0,2,0]))return{ext:"cur",mime:"image/x-icon"};if(this.check([208,207,17,224,161,177,26,225]))return{ext:"cfb",mime:"application/x-cfb"};if(await t.peekBuffer(this.buffer,{length:Math.min(256,t.fileInfo.size),mayBeLess:!0}),this.check([97,99,115,112],{offset:36}))return{ext:"icc",mime:"application/vnd.iccprofile"};if(this.checkString("BEGIN:")){if(this.checkString("VCARD",{offset:6}))return{ext:"vcf",mime:"text/vcard"};if(this.checkString("VCALENDAR",{offset:6}))return{ext:"ics",mime:"text/calendar"}}if(this.checkString("FUJIFILMCCD-RAW"))return{ext:"raf",mime:"image/x-fujifilm-raf"};if(this.checkString("Extended Module:"))return{ext:"xm",mime:"audio/x-xm"};if(this.checkString("Creative Voice File"))return{ext:"voc",mime:"audio/x-voc"};if(this.check([4,0,0,0])&&this.buffer.length>=16){let r=this.buffer.readUInt32LE(12);if(r>12&&this.buffer.length>=r+16)try{let i=this.buffer.slice(16,r+16).toString();if(JSON.parse(i).files)return{ext:"asar",mime:"application/x-asar"}}catch{}}if(this.check([6,14,43,52,2,5,1,1,13,1,2,1,1,2]))return{ext:"mxf",mime:"application/mxf"};if(this.checkString("SCRM",{offset:44}))return{ext:"s3m",mime:"audio/x-s3m"};if(this.check([71])&&this.check([71],{offset:188}))return{ext:"mts",mime:"video/mp2t"};if(this.check([71],{offset:4})&&this.check([71],{offset:196}))return{ext:"mts",mime:"video/mp2t"};if(this.check([66,79,79,75,77,79,66,73],{offset:60}))return{ext:"mobi",mime:"application/x-mobipocket-ebook"};if(this.check([68,73,67,77],{offset:128}))return{ext:"dcm",mime:"application/dicom"};if(this.check([76,0,0,0,1,20,2,0,0,0,0,0,192,0,0,0,0,0,0,70]))return{ext:"lnk",mime:"application/x.ms.shortcut"};if(this.check([98,111,111,107,0,0,0,0,109,97,114,107,0,0,0,0]))return{ext:"alias",mime:"application/x.apple.alias"};if(this.checkString("Kaydara FBX Binary \0"))return{ext:"fbx",mime:"application/x.autodesk.fbx"};if(this.check([76,80],{offset:34})&&(this.check([0,0,1],{offset:8})||this.check([1,0,2],{offset:8})||this.check([2,0,2],{offset:8})))return{ext:"eot",mime:"application/vnd.ms-fontobject"};if(this.check([6,6,237,245,216,29,70,229,189,49,239,231,254,116,183,29]))return{ext:"indd",mime:"application/x-indesign"};if(await t.peekBuffer(this.buffer,{length:Math.min(512,t.fileInfo.size),mayBeLess:!0}),Km_(this.buffer))return{ext:"tar",mime:"application/x-tar"};if(this.check([255,254]))return this.check([60,0,63,0,120,0,109,0,108,0],{offset:2})?{ext:"xml",mime:"application/xml"}:this.check([255,14,83,0,107,0,101,0,116,0,99,0,104,0,85,0,112,0,32,0,77,0,111,0,100,0,101,0,108,0],{offset:2})?{ext:"skp",mime:"application/vnd.sketchup.skp"}:void 0;if(this.checkString("-----BEGIN PGP MESSAGE-----"))return{ext:"pgp",mime:"application/pgp-encrypted"};if(this.buffer.length>=2&&this.check([255,224],{offset:0,mask:[255,224]})){if(this.check([16],{offset:1,mask:[22]}))return this.check([8],{offset:1,mask:[8]})?{ext:"aac",mime:"audio/aac"}:{ext:"aac",mime:"audio/aac"};if(this.check([2],{offset:1,mask:[6]}))return{ext:"mp3",mime:"audio/mpeg"};if(this.check([4],{offset:1,mask:[6]}))return{ext:"mp2",mime:"audio/mpeg"};if(this.check([6],{offset:1,mask:[6]}))return{ext:"mp1",mime:"audio/mpeg"}}}async readTiffTag(t){let r=await this.tokenizer.readToken(t?V8o:U8o);switch(this.tokenizer.ignore(10),r){case 50341:return{ext:"arw",mime:"image/x-sony-arw"};case 50706:return{ext:"dng",mime:"image/x-adobe-dng"};default:}}async readTiffIFD(t){let r=await this.tokenizer.readToken(t?V8o:U8o);for(let i=0;i<r;++i){let n=await this.readTiffTag(t);if(n)return n}}async readTiffHeader(t){let r=(t?V8o:U8o).get(this.buffer,2),i=(t?$m_:Hm_).get(this.buffer,4);if(r===42){if(i>=6){if(this.checkString("CR",{offset:8}))return{ext:"cr2",mime:"image/x-canon-cr2"};if(i>=8&&(this.check([28,0,254,0],{offset:8})||this.check([31,0,11,0],{offset:8})))return{ext:"nef",mime:"image/x-nikon-nef"}}return await this.tokenizer.ignore(i),await this.readTiffIFD(t)??{ext:"tif",mime:"image/tiff"}}if(r===43)return{ext:"tif",mime:"image/tiff"}}};var zd8=new Set(Xm_),Rd8=new Set(Zm_);var rP_=require("fs/promises"),iP_=oi(require("path"),1);var VhE=new Set(["image/jpeg","image/png","image/gif","image/webp","image/tiff","image/x-icon","video/quicktime","video/mp4","video/webm","audio/mpeg","audio/ogg","audio/wav","application/pdf","application/xml","font/woff","font/woff2","font/otf","font/ttf"]),WhE=new Set(["ASCII","UTF-8","UTF-16","ISO-8859-1","ISO-8859-2","ISO-8859-3","ISO-8859-4","ISO-8859-5","ISO-8859-6","ISO-8859-7","ISO-8859-8","ISO-8859-9","ISO-8859-10","ISO-8859-13","ISO-8859-14","ISO-8859-15","ISO-8859-16","WINDOWS-1250","WINDOWS-1251","WINDOWS-1252","WINDOWS-1253","WINDOWS-1254","WINDOWS-1255","WINDOWS-1256","WINDOWS-1257","WINDOWS-1258","SHIFT_JIS","SHIFT-JIS","EUC-JP","ISO-2022-JP","BIG5","GB2312","GB18030","KOI8-R"]),Ouc={name:"valid-file-types",create:()=>({filepath:async({absoluteFilepath:e,willBeUploaded:t})=>t?await Mf(e)?HhE(e):[]:[]})},HhE=async e=>{let t=new Uint8Array(await(0,rP_.readFile)(e)),r=await eP_(t);if(r!=null)return VhE.has(r.mime)?[]:[{severity:"fatal",message:`The file type of ${r.mime} is not allowed: ${e}`}];let i=iP_.default.extname(e).toLowerCase();i.startsWith(".")&&(i=i.substring(1));let n=tP_.default.detect(t);return n==null?[{severity:"fatal",message:`The encoding of the file could not be detected: ${e}`}]:WhE.has(n.toUpperCase())?[]:[{severity:"fatal",message:`The encoding of ${n} is not allowed: ${e}`}]};var nP_=require("fs/promises"),aP_=oi(wXt(),1),muc={name:"valid-frontmatter",create:()=>({filepath:async({absoluteFilepath:e})=>{if(!e.endsWith(".md")&&!e.endsWith(".mdx"))return[];try{let t=await(0,nP_.readFile)(e,"utf-8");return(0,aP_.default)(t),[]}catch(t){return[{severity:"fatal",message:`Failed to parse frontmatter${t instanceof Error?`: ${t.message}`:""}`}]}}})};var Tj_=require("crypto"),flc=oi(require("path"),1);var Dhi={};jn(Dhi,{ApiDefinitionId:()=>tqn,ApiDefinitionV1ToLatest:()=>Zuc,ApiId:()=>aqn,AuthSchemeId:()=>Puc,Availability:()=>yQ,DocsConfigId:()=>oqn,EndpointId:()=>sqn,EndpointPathLiteral:()=>bqn,EnvironmentId:()=>uqn,FileId:()=>pqn,HttpMethod:()=>gqn,JqString:()=>hqn,ObjectPropertyAccess:()=>Suc,OrgId:()=>iqn,PageId:()=>dqn,PropertyKey:()=>yqn,RoleId:()=>vqn,STATUS_CODE_MESSAGES:()=>hP_,STATUS_CODE_MESSAGES_METHOD_OVERRIDES:()=>yP_,SubpackageId:()=>UOa,TokenId:()=>nqn,Transformer:()=>kuc,TypeId:()=>fqn,Url:()=>_qn,VersionId:()=>rqn,WebSocketId:()=>cqn,WebhookHttpMethod:()=>Duc,WebhookId:()=>lqn,auth:()=>W8o,backfillSnippets:()=>jyE,buildEndpointUrl:()=>esc,buildRequestUrl:()=>vP_,cleanLanguage:()=>Huc,collectTypeDefinitionTree:()=>lP_,collectTypeDefinitionTreeForObjectProperty:()=>eyE,commons:()=>juc,convertToCurl:()=>$Oa,createEndpointContext:()=>tyE,createWebSocketContext:()=>ryE,createWebhookContext:()=>iyE,endpoint:()=>wuc,getApiLatest:()=>G8o,getMessageForStatus:()=>Yuc,getUrlQueriesGetString:()=>pP_,joiner:()=>uyE,prune:()=>WOa,toColonEndpointPathLiteral:()=>ayE,toCurlyBraceEndpointPathLiteral:()=>oyE,toSnippetHttpRequest:()=>HOa,type_:()=>H8o,unwrapDiscriminatedUnionVariant:()=>Nuc,unwrapObjectType:()=>l7i,unwrapReference:()=>gkt,webhook:()=>$8o,websocket:()=>Euc,wrapOpenRPCRequest:()=>Guc});var Muc={};jn(Muc,{AuthSchemeId:()=>Puc,ObjectPropertyAccess:()=>Suc,WebhookHttpMethod:()=>Duc,auth:()=>W8o,commons:()=>juc,endpoint:()=>wuc,getApiLatest:()=>G8o,type_:()=>H8o,webhook:()=>$8o,websocket:()=>Euc});var W8o={};jn(W8o,{AuthSchemeId:()=>Puc});function Puc(e){return e}var juc={};var wuc={};var H8o={};jn(H8o,{ObjectPropertyAccess:()=>Suc});var Suc={ReadOnly:"READ_ONLY",WriteOnly:"WRITE_ONLY"};var $8o={};jn($8o,{WebhookHttpMethod:()=>Duc});var Duc={Get:"GET",Post:"POST"};var Euc={};var G8o={};jn(G8o,{Error:()=>$hE});var $hE={apiDoesNotExistError:()=>({error:"ApiDoesNotExistError"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"ApiDoesNotExistError":return t.apiDoesNotExistError();default:return t._other(e)}}};var Cuc={};jn(Cuc,{SubpackageId:()=>UOa,WebSocketMessageId:()=>Auc,WebSocketMessageOrigin:()=>quc,WebhookHttpMethod:()=>Tuc});function UOa(e){return e}function Auc(e){return e}var quc={Client:"client",Server:"server"};var Tuc={Get:"GET",Post:"POST"};var Buc={};jn(Buc,{ApiDefinitionId:()=>tqn,ApiId:()=>aqn,Availability:()=>yQ,DocsConfigId:()=>oqn,EndpointId:()=>sqn,EndpointPathLiteral:()=>bqn,EnvironmentId:()=>uqn,FileId:()=>pqn,HttpMethod:()=>gqn,JqString:()=>hqn,OrgId:()=>iqn,PageId:()=>dqn,PropertyKey:()=>yqn,RoleId:()=>vqn,TokenId:()=>nqn,TypeId:()=>fqn,Url:()=>_qn,VersionId:()=>rqn,WebSocketId:()=>cqn,WebhookId:()=>lqn});function tqn(e){return e}function rqn(e){return e}function iqn(e){return e}function nqn(e){return e}function aqn(e){return e}function oqn(e){return e}function uqn(e){return e}function sqn(e){return e}function cqn(e){return e}function lqn(e){return e}function fqn(e){return e}function dqn(e){return e}function pqn(e){return e}function _qn(e){return e}function hqn(e){return e}function yqn(e){return e}function vqn(e){return e}function bqn(e){return e}var gqn={Get:"GET",Post:"POST",Put:"PUT",Patch:"PATCH",Delete:"DELETE"};var yQ={Stable:"Stable",GenerallyAvailable:"GenerallyAvailable",InDevelopment:"InDevelopment",PreRelease:"PreRelease",Deprecated:"Deprecated",Beta:"Beta"};var Q8o=[yQ.Stable,yQ.GenerallyAvailable,yQ.Beta,yQ.PreRelease,yQ.InDevelopment,yQ.Deprecated];function c7i(e){for(let t of[...Q8o].reverse())if(e.includes(t))return t}function xuc(e){throw new Error("Unexpected value: "+JSON.stringify(e))}var Iuc=xuc;var zuc=Object.freeze([]),GhE=Object.freeze({});function QhE(e){return e}var wA=QhE;function whi(e){return e!=null}function Oqn(e){if(!JhE(e)||String(e)!=="[object Object]")return!1;if(Object.getPrototypeOf(e)==null)return!0;let t=e;for(;Object.getPrototypeOf(t)!=null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function JhE(e){return typeof e=="object"&&e!=null}var mqn=Oqn;var sP_=oi(evn(),1);var uP_=["PII","PHI","PCI","GDPR","CCPA","HIPAA","COPPA","FERPA","GLBA","SOX","FISMA","NIST","CIS","ISO","IEC","ITAR","EAR","CMMC","CUI","CDI","FTC","FCC","SEC","FINRA","XSS","CSRF","SSRF","XSRF","TLS","SSL","SSH","API","OAuth","OAuth1","OAuth1.0","OAuth2","OAuth2.0","SAML","OpenID","OpenID Connect","CAPTCHA","reCAPTCHA","2FA","MFA","OTP","TOTP","HOTP","U2F","FIDO","FIDO2","PKI","HMAC","AES","RSA","SHA","MD5","BCrypt","PBKDF2","Argon2","SCrypt","JWT","JWE","JWS","JWK","JWA","JOSE","SKU","SKUs","UPC","EAN","ISBN","ASIN","MPN","MSRP","MAP","RRP","MSRP","AM","PM","UTC","GMT","PST","PDT","EST","EDT","CST","CDT","MST","MDT","USA","UK","EU","UAE","APAC","EMEA","LATAM","ANZ","SEA","MEA","MENA","NATO","NA","SA","CA","EU","AU","NZ","JP","KR","CN","HK","TW","SG","MY","TH","ID","PH","VN","IN","PK","BD","LK","NP","MM","KH","LA","MM","BT","MV","USD","EUR","GBP","JPY","CNY","RUB","INR","AUD","CAD","CHF","SGD","MYR","THB","IDR","KRW","PHP","VND","HKD","TWD","MXN","BRL","ARS","CLP","COP","PEN","ZAR","NGN","EGP","AED","SAR","ILS","TRY","SEK","NOK","DKK","ISK","HUF","PLN","CZK","RON","BGN","API","APIs","SDK","SDKs","AI","OCR","REST","SOAP","JSON","XML","HTTP","HTTPS","URI","URL","CRUD","RESTful","KYB","KYC","AML","HTML","CSS","JS","SQL","DB","UI","UX","SaaS","PaaS","IaaS","IP","TCP","UDP","DNS","FTP","SMTP","IMAP","POP3","CSV","MVC","MVP","MVVM","DOM","SPA","SSR","CSR","DDoS","CDN","IoT","ML","DL","NLP","CLI","GUI","BI","ETL","RDBMS","NoSQL","IDE","CMS","CCPA","POSIX","ABI","API","AST","COBOL","DDL","DML","NN","CNN","RNN","LSTM","GRU","ANN","GAN","RL","DL","ML","NLP","NLG","NLU","BERT","GPT","SVM","PCA","AI","CV","TF","TTS","ASR","HMM","DNN","MLP","RBM","CRF","PDF","PDFs","RTF","TXT","XLS","XLSX","PPT","JPG","JPEG","PNG","GIF","GIFs","SVG","TIFF","BMP","ICO","PSD","WebP","AVIF","HEIF","HEIC","EPS","MP3","WAV","AIFF","FLAC","WMA","AAC","OGG","AVI","WMV","MOV","M4V","MP4","MPG","MPEG","FLV","SWF","MKV","WebM","GCP","AWS","VM","VPC","S3","EC2","DynamoDB","CosmosDB","BigQuery","CI/CD","SOC1","SOC2","SOC3","PCI DSS","WAF","IAM","SDN","MPLS","BGP","Vue.js","Node.js",".NET"];function KhE(e){return e=e.replace(/([a-z])([A-Z])/g,"$1 $2"),e=e.replace(/_/g," "),e=e.replace(/-/g," "),(0,sP_.default)(e,{special:uP_}).replace(/V\s(\d)/g,"V$1")}var VOa=KhE;function tEe(e,{renderNull:t=!1}={}){return e==null||typeof e=="function"?t?"null":"":typeof e=="string"?e:JSON.stringify(e)}function Pqn(e,t="type"){return{_visit:r=>{let i=r[e[t]];return i!=null?i(e):(r._other==null&&xuc(e),r._other(e))}}}var Iy=Pqn;var cP_=new WeakMap;function gkt(e,t){if(e==null)return;let r=cP_.get(e);if(r!=null)return r;let i=!1,n=!1,a=[],u=[],l=[],f=new Set,s=e,o=0,c=!1;for(;s!=null;){if(o>100){s=void 0;break}if(s.type==="nullable")n=!0,s=s.shape;else if(s.type==="optional")i=!0,s.default!=null&&a.push({type:"unknown",value:s.default}),s=s.shape;else if(s.type==="alias")s=s.value;else if(s.type==="id"){if(f.has(s.id)){s=void 0,c=!0;break}s.default!=null&&a.push({type:"typeReferenceId",value:s.default});let g=t[s.id];f.add(s.id),s=g?.shape,g!=null&&(g.availability&&l.push(g.availability),g.description!=null&&u.push(g.description))}else break;o++}s==null&&console.error(c?`Circular reference detected. Falling back to unknown type. types=[${[...f].join(", ")}]`:`Type reference is invalid. Falling back to unknown type. types=[${[...f].join(", ")}]`);let b={shape:s??{type:"unknown",displayName:void 0},availability:c7i(l),visitedTypeIds:f,isOptional:i,isNullable:n,default:XhE(s,a),descriptions:u};return cP_.set(e,b),b}function XhE(e,t){if(e?.type==="literal")return e.value.value;let r=t.find(i=>e==null?!0:i.type==="typeReferenceId"?Iy(i.value)._visit({enum:()=>e?.type==="enum"}):!0);return r?.type==="unknown"?r.value:r?.type==="typeReferenceId"?r.value.value:e?.type==="primitive"?ZhE(e.value):e?.type==="enum"?e.default:void 0}var Ruc=new WeakMap;function l7i(e,t,r){let i=Ruc.get(e);if(i!=null)return i;let n=e.properties,a=e.extraProperties,u=[],l=new Set,f=e.extends.flatMap(g=>{if(r?.has(g))return console.error(`Circular reference detected. Cannot extend type=${g}`),[];let O=t[g];l.add(g),O?.description&&u.push(O.description);let m=gkt(O?.shape,t);if(m?.descriptions.forEach(E=>u.push(E)),m?.visitedTypeIds.forEach(E=>l.add(E)),m?.shape.type!=="object")return console.error("Object extends non-object",g),[];let P=l7i(m.shape,t,l);return P.visitedTypeIds.forEach(E=>l.add(E)),P.properties=P.properties.map(E=>({...E,availability:c7i(QDe([O?.availability,m.availability,E.availability]))})),u.push(...P.descriptions),m.isOptional?P.properties.map(E=>{let A=Oqn(m.default)?m.default[E.key]:void 0,M=E.valueShape.type==="alias"&&E.valueShape.value.type==="optional"?{...E.valueShape.value,default:A??E.valueShape.value.default}:{type:"optional",shape:E.valueShape,default:A};return{...E,valueShape:{type:"alias",value:M}}}):P.properties});if(f.length===0){let O={properties:E3i([...n],[m=>gkt(m.valueShape,t)?.isOptional,m=>Q8o.indexOf(m.availability??yQ.Stable)]),descriptions:u,extraProperties:a,visitedTypeIds:l};return Ruc.set(e,O),O}let s=new Set(e.properties.map(g=>g.key)),o=f.filter(g=>!s.has(g.key)),b={properties:E3i([...n,...o],[g=>gkt(g.valueShape,t)?.isOptional,g=>Q8o.indexOf(g.availability??yQ.Stable),g=>g.key]),descriptions:u,extraProperties:a,visitedTypeIds:l};return Ruc.set(e,b),b}function Nuc(e,t,r){let{properties:i,descriptions:n,visitedTypeIds:a}=l7i(t,r);return{properties:[{key:e.discriminant,valueShape:{type:"alias",value:{type:"literal",value:{type:"stringLiteral",value:t.discriminantValue}}},propertyAccess:void 0,description:void 0,availability:void 0},...i],extraProperties:void 0,descriptions:n,visitedTypeIds:a}}function ZhE(e){return Iy(e,"type")._visit({string:t=>t.default,integer:t=>t.default,double:t=>t.default,uint:()=>{},uint64:()=>{},boolean:t=>t.default,long:t=>t.default,datetime:t=>t.default,uuid:t=>t.default,base64:t=>t.default,date:t=>t.default,bigInteger:t=>t.default})}function lP_(e,t,{availability:r,maxDepth:i=5,path:n=[]}={}){let a=[],u=[{type:e,path:n,availability:r,descriptions:[],visitedTypeIds:new Set}],l=0;for(;u.length>0;){if(l++>1e4){console.error("Infinite loop detected when traversing type definitions");break}let{type:f,path:s,descriptions:o,visitedTypeIds:c,availability:b}=u.pop();if(s.length>i)continue;let g=gkt(f,t),O=c7i([b,g.availability]),m=[...o,...g.descriptions],P=!1;if(g.visitedTypeIds.forEach(A=>{c.has(A)&&(P=!0)}),P)continue;let E=new Set([...c,...g.visitedTypeIds]);if(g.shape.type==="object"){let A=l7i(g.shape,t);m.push(...A.descriptions),A.visitedTypeIds.forEach(M=>E.add(M)),A.properties.forEach(M=>{u.push({type:M.valueShape,path:[...s,{type:"objectProperty",key:M.key,optional:gkt(M.valueShape,t).isOptional}],descriptions:M.description?[M.description]:[],visitedTypeIds:E,availability:O})}),A.extraProperties&&u.push({type:A.extraProperties,path:[...s,{type:"extra"}],descriptions:[],visitedTypeIds:E,availability:O})}if(a.push({path:s,descriptions:m,availability:O}),g.shape.type==="undiscriminatedUnion")g.shape.variants.forEach((A,M)=>{u.push({type:A.shape,path:[...s,{type:"undiscriminatedUnionVariant",displayName:A.displayName,idx:M}],descriptions:A.description?[A.description]:[],visitedTypeIds:E,availability:c7i([O,A.availability])})});else if(g.shape.type==="discriminatedUnion"){let A=g.shape.discriminant;g.shape.variants.forEach(M=>{let D=[...s,{type:"discriminatedUnionVariant",discriminant:A,discriminantDisplayName:M.displayName,discriminantValue:M.discriminantValue}];u.push({type:{...M,type:"object"},path:D,descriptions:M.description?[M.description]:[],visitedTypeIds:E,availability:c7i([O,M.availability])})})}else g.shape.type==="list"||g.shape.type==="set"?u.push({type:g.shape.itemShape,path:[...s,{type:g.shape.type}],descriptions:m,visitedTypeIds:E,availability:O}):g.shape.type==="map"?u.push({type:g.shape.valueShape,path:[...s,{type:"mapValue"}],descriptions:[...m,...gkt(g.shape.keyShape,t).descriptions],visitedTypeIds:E,availability:O}):g.shape.type==="enum"&&g.shape.values.forEach(A=>{a.push({path:[...s,{type:"enumValue",value:A.value}],descriptions:A.description?[A.description]:[],availability:O})})}return a}function eyE(e,t,r=[],i=5){return[{path:[...r,{type:"objectProperty",key:e.key,optional:gkt(e.valueShape,t).isOptional}],descriptions:e.description?[e.description]:[],availability:e.availability},...lP_(e.valueShape,t,{maxDepth:i-1,availability:e.availability,path:[...r,{type:"objectProperty",key:e.key,optional:gkt(e.valueShape,t).isOptional}]})]}var tLt=oi(yS(),1);var Shi=class e{static visitEndpointDefinition(t,r){t.pathParameters?.forEach(i=>{e.visitTypeShape(i.valueShape,r)}),t.queryParameters?.forEach(i=>{e.visitTypeShape(i.valueShape,r)}),t.requestHeaders?.forEach(i=>{e.visitTypeShape(i.valueShape,r)}),t.responseHeaders?.forEach(i=>{e.visitTypeShape(i.valueShape,r)}),t.requests?.forEach(i=>{i.body!=null&&e.visitHttpRequestBodyShape(i.body,r)}),t.responses?.forEach(i=>{i.body!=null&&e.visitHttpResponseBodyShape(i.body,r)}),t.errors?.forEach(i=>{i.shape!=null&&e.visitTypeShape(i.shape,r)})}static visitWebSocketChannel(t,r){t.requestHeaders?.forEach(i=>{e.visitTypeShape(i.valueShape,r)}),t.pathParameters?.forEach(i=>{e.visitTypeShape(i.valueShape,r)}),t.queryParameters?.forEach(i=>{e.visitTypeShape(i.valueShape,r)}),t.messages.forEach(i=>{e.visitTypeShape(i.body,r)})}static visitWebhookDefinition(t,r){t.headers?.forEach(i=>{e.visitTypeShape(i.valueShape,r)}),t.payloads?.[0]!=null&&e.visitTypeShape(t.payloads[0].shape,r)}static visitHttpRequestBodyShape(t,r){return Iy(t)._visit({object:i=>e.visitObjectType(i,r),alias:i=>e.visitTypeReference(i.value,r),bytes:tLt.noop,formData:i=>e.visitFormDataRequest(i,r)})}static visitHttpResponseBodyShape(t,r){return Iy(t)._visit({object:i=>e.visitObjectType(i,r),alias:i=>e.visitTypeReference(i.value,r),fileDownload:tLt.noop,streamingText:tLt.noop,stream:i=>e.visitTypeShape(i.shape,r),empty:tLt.noop})}static visitFormDataRequest(t,r){return t.fields.forEach(i=>Iy(i)._visit({file:tLt.noop,files:tLt.noop,property:n=>e.visitTypeShape(n.valueShape,r)}))}static visitTypeDefinition(t,r){return e.visitTypeShape(t.shape,r)}static visitTypeShape(t,r){return Iy(t)._visit({object:i=>e.visitObjectType(i,r),alias:i=>e.visitTypeReference(i.value,r),enum:tLt.noop,undiscriminatedUnion:i=>i.variants.forEach(n=>e.visitTypeShape(n.shape,r)),discriminatedUnion:i=>i.variants.forEach(n=>e.visitObjectType(n,r))})}static visitObjectType(t,r){t.extends.forEach(r),t.properties.forEach(i=>{e.visitTypeShape(i.valueShape,r)})}static visitTypeReference(t,r){return Iy(t)._visit({id:i=>r(i.id),primitive:tLt.noop,optional:i=>e.visitTypeShape(i.shape,r),nullable:i=>e.visitTypeShape(i.shape,r),list:i=>e.visitTypeShape(i.itemShape,r),set:i=>e.visitTypeShape(i.itemShape,r),map:i=>{e.visitTypeShape(i.keyShape,r),e.visitTypeShape(i.valueShape,r)},literal:tLt.noop,unknown:tLt.noop})}};var Fuc=class e{api;static instances=new WeakMap;static from(t){let r=e.instances.get(t)??new e(t);return e.instances.set(t,r),r}constructor(t){this.api=t}prune(...t){let r={...this.api,endpoints:{},websockets:{},webhooks:{},types:{},subpackages:{},auths:{}},i=new Set,n=new Set;for(let a of t)if(a.type==="endpoint"){let u=this.api.endpoints[a.endpointId];u&&(r.endpoints[a.endpointId]=u,u.namespace?.forEach(l=>i.add(l)),u.auth?.forEach(l=>n.add(l)))}else if(a.type==="webSocket"){let u=this.api.websockets[a.webSocketId];u&&(r.websockets[a.webSocketId]=u,u.namespace?.forEach(l=>i.add(l)),u.auth?.forEach(l=>n.add(l)))}else if(a.type==="webhook"){let u=this.api.webhooks[a.webhookId];u&&(r.webhooks[a.webhookId]=u,u.namespace?.forEach(l=>i.add(l)))}return r.types=this.pruneTypes(r),i.forEach(a=>{let u=this.api.subpackages[a];u&&(r.subpackages[a]=u)}),n.forEach(a=>{let u=this.api.auths[a];u&&(r.auths[a]=u)}),r}pruneTypes(t){let r=new Set;t.globalHeaders?.forEach(n=>{Shi.visitTypeShape(n.valueShape,a=>r.add(a))});for(let n of Object.values(t.endpoints))Shi.visitEndpointDefinition(n,a=>r.add(a));for(let n of Object.values(t.websockets))Shi.visitWebSocketChannel(n,a=>r.add(a));for(let n of Object.values(t.webhooks))Shi.visitWebhookDefinition(n,a=>r.add(a));r=this.expandTypeIds(r);let i={};return r.forEach(n=>{let a=this.api.types[n];a!=null&&(i[n]=a)}),i}expandTypeIds(t){let r=new Set,i=Array.from(t),n=0;for(;i.length>0;){if(n>1e4+t.size)throw new Error("Infinite loop detected while expanding type references.");let a=i.pop();if(a!=null&&!r.has(a)){r.add(a);let u=this.api.types[a];u&&Shi.visitTypeDefinition(u,l=>{i.push(l)})}n++}return r}};function WOa(e,...t){return Fuc.from(e).prune(...t)}function tyE(e,t){if(!e)return;let r=t!=null?WOa(t,e):void 0,i=r?.endpoints[e.endpointId];if(i)return{node:e,endpoint:i,auth:i.auth?.map(n=>r.auths[n])[0],globalHeaders:r.globalHeaders??[],types:r.types}}function ryE(e,t){if(!e)return;let r=t!=null?WOa(t,e):void 0,i=r?.websockets[e.webSocketId];if(i)return{node:e,channel:i,auth:i.auth?.map(n=>r.auths[n])[0],globalHeaders:r.globalHeaders??[],types:r.types}}function iyE(e,t){if(!e)return;let r=t!=null?WOa(t,e):void 0,i=r?.webhooks[e.webhookId];if(i)return{node:e,webhook:i,types:r.types}}var f7i={};jn(f7i,{ApiDefinitionId:()=>tqn,ApiId:()=>aqn,Availability:()=>yQ,DocsConfigId:()=>oqn,EndpointId:()=>sqn,EndpointPathLiteral:()=>bqn,EnvironmentId:()=>uqn,FileId:()=>pqn,HttpMethod:()=>gqn,JqString:()=>hqn,ObjectPropertyAccess:()=>Luc,OrgId:()=>iqn,PageId:()=>dqn,PropertyKey:()=>yqn,RoleId:()=>vqn,SubpackageId:()=>UOa,SupportedLanguage:()=>dB,TokenId:()=>nqn,TypeId:()=>fqn,Url:()=>_qn,VersionId:()=>rqn,WebSocketId:()=>cqn,WebSocketMessageId:()=>Auc,WebSocketMessageOrigin:()=>quc,WebhookHttpMethod:()=>Tuc,WebhookId:()=>lqn,endpoint:()=>J8o,getApi:()=>Y8o,type_:()=>K8o,webhook:()=>Uuc,websocket:()=>Vuc});var Wuc={};jn(Wuc,{ObjectPropertyAccess:()=>Luc,SupportedLanguage:()=>dB,endpoint:()=>J8o,getApi:()=>Y8o,type_:()=>K8o,webhook:()=>Uuc,websocket:()=>Vuc});var J8o={};jn(J8o,{SupportedLanguage:()=>dB});var dB={Curl:"curl",Python:"python",Javascript:"javascript",Js:"js",Node:"node",Typescript:"typescript",Ts:"ts",Go:"go",Ruby:"ruby",Csharp:"csharp"};var K8o={};jn(K8o,{ObjectPropertyAccess:()=>Luc});var Luc={ReadOnly:"READ_ONLY",WriteOnly:"WRITE_ONLY"};var Uuc={};var Vuc={};var Y8o={};jn(Y8o,{Error:()=>nyE});var nyE={apiDoesNotExistError:()=>({error:"ApiDoesNotExistError"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"ApiDoesNotExistError":return t.apiDoesNotExistError();default:return t._other(e)}}};function ayE(e){return e.map(t=>t.type==="literal"?t.value:`:${t.value}`).join("")}function oyE(e){return e.map(t=>t.type==="literal"?t.value:`{${t.value}}`).join("")}function uyE(e=!1){return(t,...r)=>{let i={id:t.id,endpoints:{...t.endpoints},websockets:{...t.websockets},webhooks:{...t.webhooks},types:{...t.types},subpackages:{...t.subpackages},auths:{...t.auths},globalHeaders:t.globalHeaders?[...t.globalHeaders]:void 0,snippetsConfiguration:t.snippetsConfiguration?{...t.snippetsConfiguration}:void 0},n=!1;for(let a of r){if(a.id!==i.id)throw new Error("Cannot join API definitions with different IDs");for(let[l,f]of Object.entries(a.endpoints))!n&&!t.endpoints[l]&&(n=!0),i.endpoints[l]=f;for(let[l,f]of Object.entries(a.websockets))!n&&!t.websockets[l]&&(n=!0),i.websockets[l]=f;for(let[l,f]of Object.entries(a.webhooks))!n&&!t.webhooks[l]&&(n=!0),i.webhooks[l]=f;for(let[l,f]of Object.entries(a.types))!n&&!t.types[l]&&(n=!0),i.types[l]=f;for(let[l,f]of Object.entries(a.subpackages))!n&&!t.subpackages[l]&&(n=!0),i.subpackages[l]=f;for(let[l,f]of Object.entries(a.auths))!n&&!t.auths[l]&&(n=!0),i.auths[l]=f;let u=i.globalHeaders??=[];a.globalHeaders?.forEach(l=>{u.find(f=>f.key===l.key)||(n=!0,u.push(l))})}return!n&&!e?t:i}}function Huc(e){return e=e.toLowerCase().trim(),["node","nodejs","js","javascript"].includes(e)?dB.Javascript:["py","python"].includes(e)?dB.Python:["ts","typescript","ts-node"].includes(e)?dB.Typescript:["go","golang"].includes(e)?dB.Go:e}var RRe="__package__";var $uc=oi(yS(),1);function HOa(e,t,r){let i=(e.environments?.find(f=>f.id===e.defaultEnvironment)??e.environments?.[0])?.baseUrl,n=Dh(QDe([i,t.path])),a={...t.headers},u;e.auth&&e.auth.length>0&&r&&Iy(r,"type")._visit({basicAuth:({usernameName:f="username",passwordName:s="password"})=>{u={username:`<${f}>`,password:`<${s}>`}},bearerAuth:({tokenName:f="token"})=>{a.Authorization=`Bearer <${f}>`},header:({headerWireValue:f,nameOverride:s=f,prefix:o})=>{a[f]=o!=null?`${o} <${s}>`:`<${s}>`},oAuth:({value:f})=>{Iy(f,"type")._visit({clientCredentials:()=>{a.Authorization="Bearer <token>"},_other:$uc.noop})},_other:$uc.noop});let l=t.requestBody;return e.requests?.[0]?.contentType!=null&&(a["Content-Type"]=e.requests?.[0]?.contentType),l!=null&&a["Content-Type"]==null&&(l.type==="json"?a["Content-Type"]="application/json":l.type==="form"&&(a["Content-Type"]="multipart/form-data")),e.protocol?.type==="openrpc"&&(a["Content-Type"]="application/json"),{method:e.method,url:n,searchParams:t.queryParameters??{},headers:JSON.parse(JSON.stringify(a)),basicAuth:u,protocol:e.protocol,body:l==null?void 0:Iy(l)._visit({json:f=>f,form:f=>{let s={};for(let[o,c]of Object.entries(f.value))s[o]=Iy(c)._visit({exploded:b=>b,json:b=>b,filename:b=>({type:"filename",filename:b.value,contentType:void 0}),filenames:b=>({type:"filenames",files:b.value.map(g=>({filename:g,contentType:void 0}))}),filenameWithData:b=>({type:"filename",filename:b.filename,contentType:void 0}),filenamesWithData:b=>({type:"filenames",files:b.value.map(({filename:g})=>({filename:g,contentType:void 0}))})});return{type:"form",value:s}},bytes:()=>({type:"bytes",filename:"<filename>"}),_other:()=>{}})}}var Quc=oi(yS(),1);function Guc(e,t){let r=[];return e&&typeof e=="object"&&(r=Object.values(e)),{jsonrpc:"2.0",method:t,params:r,id:1}}function syE(e){return encodeURIComponent(e)!==e}function $Oa(e,t){try{return byE(e,t)}catch(r){return console.error(r),""}}function cyE(e,t,r){let i=_P_(r).map(([n,a])=>`${n}=${encodeURIComponent(tEe(a))}`).join("&");return e!=="GET"?i.length>0?`-X ${e} "${t}?${i}"`:`-X ${e} ${t}`:i.length>0?`-G ${t}`:t}function lyE(e){return Object.entries(e).map(([t,r])=>`-H "${t}: ${tEe(r)}"`)}function fyE(e,t){return t?[`-u "${e.username}:${Juc(e.password)}"`]:[`-u "${e.username}:${e.password}"`]}function pP_(e){return _P_(e).map(([t,r])=>`${syE(r)?"--data-urlencode":"-d"} ${t.includes("[")?`"${t}"`:t}=${r.includes(" ")?`"${r}"`:r}`)}function fP_(e,t){if(t?.type==="openrpc"){let i=Guc(e,t.methodName);return[`-d '${JSON.stringify(i,null,2).replace(/'/g,"\\'")}'`]}return e==null?[]:typeof e=="string"?[`-d "${e.replace(/"/g,'\\"')}"`]:[`-d '${JSON.stringify(e,null,2).replace(/'/g,"\\'")}'`]}function dyE(e){return[`--data-binary @${e.includes(" ")?`"${e}"`:e}`]}function dP_(e,t,r){if(e==null)return[];if(typeof e=="string")return[`-F ${t}="${e.replace(/"/g,'\\"')}"`];let i=JSON.stringify(e,null,2);return[`-F ${t}='${i.replace(/'/g,"'\\''")}${r?";type=application/json":""}'`]}function pyE({files:e},t){return e.filter(r=>r.filename!=null).map(({filename:r,contentType:i})=>`-F "${t}[]"=@${r.includes(" ")||i!=null?`"${r}${i!=null?`;type=${i}`:""}"`:r}`)}function _yE({filename:e,contentType:t},r){return e==null?[]:[`-F ${r}=@${e.includes(" ")||t!=null?`"${e}${t!=null?`;type=${t}`:""}"`:e}`]}function hyE(e,t,r){switch(e.type){case"json":return dP_(e.value,t,r);case"filename":return _yE(e,t);case"filenames":return pyE(e,t);case"exploded":return(e.value??[]).flatMap(i=>dP_(i,t,r));default:throw new Quc.UnreachableCaseError(e)}}function yyE(e,t){return Object.entries(e).flatMap(([r,i])=>hyE(i,r,t))}function vyE(e,t,r,i){if(e==="GET")return[];if(t==null)return i?.type==="openrpc"?fP_(void 0,i):[];switch(t.type){case"json":return fP_(t.value,i);case"bytes":return dyE(t.filename);case"form":return yyE(t.value,r);default:throw new Quc.UnreachableCaseError(t)}}function byE({method:e,url:t,searchParams:r,headers:i,basicAuth:n,body:a,protocol:u,redacted:l},{usesApplicationJsonInFormDataValue:f}){let s=cyE(e,t,r),o=lyE(n!=null?Object.fromEntries(Object.entries(i).filter(([E])=>E.toLowerCase()!=="authorization")):i),c=n!=null?fyE(n,l):[],b=e!=="GET"&&tEe(i["Content-Type"]??i["content-type"]).toLowerCase().includes("form-urlencoded"),g=pP_({...e==="GET"?r:{},...b&&a?.type==="json"&&Oqn(a.value)?a.value:{}}),O=b?[]:vyE(e,a,f,u),m=QDe([...o,...c,...g,...O]);function P(E){return` \\
2028
+ `},n)),a}var bm_=require("fs");var k_E=["mdxFlowExpression","mdxJsxFlowElement","mdxJsxTextElement","mdxTextExpression","mdxjsEsm"];function ehE({readFile:e=r=>(0,bm_.readFileSync)(r,"utf-8"),...t}){let r=new Set,i=[t],n=[],a=[],u=1e3,l=0;do{if(l++,l>u)throw new Error("Infinite loop detected while collecting links and sources");let f=i.shift();if(f==null)break;let{content:s,absoluteFilepath:o}=f;if(o!=null){if(r.has(o))throw new Error(`Circular import detected: ${o}`);r.add(o)}let c=KMn(s),b=Toc(c,{allowDangerousHtml:!0,passThrough:[...k_E]});xf(b,g=>{if(g.type==="mdxjsEsm"&&o!=null)return g.data?.estree&&JZt(g.data.estree,{enter:m=>{if(m.type==="ImportDeclaration"&&m.source.type==="Literal"&&typeof m.source.value=="string"){let P=Ja.of(m.source.value),E=xb(Jd(o),P);(E.endsWith(".mdx")||E.endsWith(".md"))&&i.push({content:e(E),absoluteFilepath:E})}}}),"skip";if(g.type==="element"){let m=g.properties.href;typeof m=="string"&&n.push({href:m,sourceFilepath:o,position:g.position});let P=g.properties.src;typeof P=="string"&&a.push({src:P,sourceFilepath:o,position:g.position})}function O(m,P){YMn(m,{src:E=>{let A=UYr(E.value);typeof A=="string"&&a.push({src:A,sourceFilepath:o,position:P})},href:E=>{let A=UYr(E.value);typeof A=="string"&&n.push({href:A,sourceFilepath:o,position:P})}})}if(g.type==="mdxJsxFlowElement"||g.type==="mdxJsxTextElement"){let m=K_i(g.attributes.filter(VYr).find(E=>E.name==="href")?.value),P=K_i(g.attributes.filter(VYr).find(E=>E.name==="src")?.value);if(g.name==="Markdown"){if(o&&typeof P=="string"){let E=xb(Jd(o),P);i.push({content:e(E),absoluteFilepath:E})}return"skip"}typeof m=="string"&&n.push({href:m,sourceFilepath:o,position:g.position}),typeof P=="string"&&a.push({src:P,sourceFilepath:o,position:g.position}),g.attributes.forEach(E=>{E.type==="mdxJsxAttribute"&&typeof E.value!="string"&&E.value!=null&&E.value.data?.estree?O(E.value.data.estree,E.position):E.type==="mdxJsxExpressionAttribute"&&E.data?.estree&&O(E.data.estree,E.position)})}(g.type==="mdxFlowExpression"||g.type==="mdxTextExpression")&&g.data?.estree&&O(g.data.estree,g.position)})}while(i.length>0);return{links:n,sources:a}}function gm_({content:e,absoluteFilepath:t}){try{return ehE({content:e,absoluteFilepath:t})}catch{return{links:[],sources:[]}}}function Om_({relativeFilepath:e,allRuleVisitors:t,addViolations:r}){function i(n){let a=async(u,l)=>{for(let f of t){let s=f[n];if(s!=null){let o=await s(u);r(o.map(c=>({name:c.name,severity:c.severity,relativeFilepath:c.relativeFilepath??Ja.of(""),nodePath:l,message:c.message})))}}};return{[n]:a}}return{...i("file"),...i("filepath"),...i("markdownPage"),...i("versionFile"),...i("apiSection"),...i("permissions"),...i("productFile")}}var Ioc=require("fs/promises");var Coc={};jn(Coc,{additionalProperties:()=>nhE,default:()=>ohE,definitions:()=>ahE,properties:()=>rhE,required:()=>ihE,type:()=>thE});var thE="object",rhE={tabs:{oneOf:[{type:"object",additionalProperties:{$ref:"#/definitions/docs.TabConfig"}},{type:"null"}]},"landing-page":{oneOf:[{$ref:"#/definitions/docs.PageConfiguration"},{type:"null"}]},navigation:{$ref:"#/definitions/docs.NavigationConfig"}},ihE=["navigation"],nhE=!1,ahE={"docs.RoleId":{type:"string"},"docs.Role":{anyOf:[{$ref:"#/definitions/docs.RoleId"},{type:"array",items:{$ref:"#/definitions/docs.RoleId"}}]},"docs.FeatureFlag":{type:"object",properties:{flag:{type:"string"},"fallback-value":{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]},match:{oneOf:[{type:["string","number","boolean","object","array","null"]},{type:"null"}]}},required:["flag"],additionalProperties:!1},"docs.FeatureFlagConfiguration":{anyOf:[{type:"string",description:"The name of the feature flag, We assume that it is a boolean feature flag that needs to be evaluated to true."},{$ref:"#/definitions/docs.FeatureFlag",description:"A single feature flag with a configurable name, fallback value, and match value. Especially useful for non boolean feature flags."},{type:"array",items:{$ref:"#/definitions/docs.FeatureFlag"},description:"A list of feature flags. If any of the feature flags are satisfied, we will show all content."}]},"docs.ChangelogFolderRelativePath":{type:"string"},"docs.TabConfig":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},"display-name":{type:"string"},icon:{oneOf:[{type:"string"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},href:{oneOf:[{type:"string"},{type:"null"}]},changelog:{oneOf:[{$ref:"#/definitions/docs.ChangelogFolderRelativePath"},{type:"null"}]}},required:["display-name"],additionalProperties:!1},"docs.PageConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},page:{type:"string"},path:{type:"string"},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},noindex:{oneOf:[{type:"boolean"},{type:"null"}]}},required:["page","path"],additionalProperties:!1},"docs.SectionConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},section:{type:"string"},path:{oneOf:[{type:"string"},{type:"null"}]},contents:{type:"array",items:{$ref:"#/definitions/docs.NavigationItem"}},collapsed:{oneOf:[{type:"boolean"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]}},required:["section","contents"],additionalProperties:!1},"docs.AudienceId":{type:"string"},"docs.VersionedSnippetLanguageConfiguration":{type:"object",properties:{version:{type:"string"},package:{type:"string"}},required:["version","package"],additionalProperties:!1},"docs.SnippetLanguageConfiguration":{anyOf:[{type:"string"},{$ref:"#/definitions/docs.VersionedSnippetLanguageConfiguration"}]},"docs.SnippetsConfiguration":{type:"object",properties:{python:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},typescript:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},go:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},java:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},ruby:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]},csharp:{oneOf:[{$ref:"#/definitions/docs.SnippetLanguageConfiguration"},{type:"null"}]}},additionalProperties:!1},"docs.PlaygroundButtonSettings":{type:"object",properties:{href:{oneOf:[{type:"string"},{type:"null"}]}},additionalProperties:!1},"docs.PlaygroundSettings":{type:"object",properties:{environments:{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},button:{oneOf:[{$ref:"#/definitions/docs.PlaygroundButtonSettings"},{type:"null"}]},oauth:{oneOf:[{type:"boolean"},{type:"null"}]},"limit-websocket-messages-per-connection":{oneOf:[{type:"integer"},{type:"null"}]}},additionalProperties:!1},"docs.ApiReferencePackageConfigurationWithOptions":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},title:{oneOf:[{type:"string"},{type:"null"}]},summary:{oneOf:[{type:"string"},{type:"null"}]},contents:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.ApiReferenceLayoutItem"}},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]},playground:{oneOf:[{$ref:"#/definitions/docs.PlaygroundSettings"},{type:"null"}]}},additionalProperties:!1},"docs.ApiReferencePackageConfiguration":{anyOf:[{type:"array",items:{$ref:"#/definitions/docs.ApiReferenceLayoutItem"}},{$ref:"#/definitions/docs.ApiReferencePackageConfigurationWithOptions"}]},"docs.ApiReferenceSectionConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},section:{type:"string"},"referenced-packages":{oneOf:[{type:"array",items:{type:"string"}},{type:"null"}]},summary:{oneOf:[{type:"string"},{type:"null"}]},contents:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.ApiReferenceLayoutItem"}},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]},playground:{oneOf:[{$ref:"#/definitions/docs.PlaygroundSettings"},{type:"null"}]}},required:["section"],additionalProperties:!1},"docs.ApiReferenceEndpointConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},endpoint:{type:"string"},title:{oneOf:[{type:"string"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},playground:{oneOf:[{$ref:"#/definitions/docs.PlaygroundSettings"},{type:"null"}]}},required:["endpoint"],additionalProperties:!1},"docs.LinkConfiguration":{type:"object",properties:{link:{type:"string"},href:{type:"string"},icon:{oneOf:[{type:"string"},{type:"null"}]}},required:["link","href"],additionalProperties:!1},"docs.ApiReferenceLayoutItem":{anyOf:[{type:"string",description:"This should be either an endpoint, websocket, webhook, or subpackage ID"},{type:"object",additionalProperties:{$ref:"#/definitions/docs.ApiReferencePackageConfiguration"},description:"Keyed by subpackage name, this object allows you to group endpoints and pages together."},{$ref:"#/definitions/docs.ApiReferenceSectionConfiguration"},{$ref:"#/definitions/docs.ApiReferenceEndpointConfiguration"},{$ref:"#/definitions/docs.PageConfiguration"},{$ref:"#/definitions/docs.LinkConfiguration"}]},"docs.ApiReferenceConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},api:{type:"string"},"api-name":{oneOf:[{type:"string"},{type:"null"}]},openrpc:{oneOf:[{type:"string"},{type:"null"}]},audiences:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.AudienceId"}},{type:"null"}]},"display-errors":{oneOf:[{type:"boolean"},{type:"null"}]},snippets:{oneOf:[{$ref:"#/definitions/docs.SnippetsConfiguration"},{type:"null"}]},summary:{oneOf:[{type:"string"},{type:"null"}]},layout:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.ApiReferenceLayoutItem"}},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]},"skip-slug":{oneOf:[{type:"boolean"},{type:"null"}]},alphabetized:{oneOf:[{type:"boolean"},{type:"null"}]},flattened:{oneOf:[{type:"boolean"},{type:"null"}]},paginated:{oneOf:[{type:"boolean"},{type:"null"}]},playground:{oneOf:[{$ref:"#/definitions/docs.PlaygroundSettings"},{type:"null"}]}},required:["api"],additionalProperties:!1},"docs.ChangelogConfiguration":{type:"object",properties:{viewers:{oneOf:[{$ref:"#/definitions/docs.Role"},{type:"null"}]},orphaned:{oneOf:[{type:"boolean"},{type:"null"}]},"feature-flag":{oneOf:[{$ref:"#/definitions/docs.FeatureFlagConfiguration"},{type:"null"}]},changelog:{$ref:"#/definitions/docs.ChangelogFolderRelativePath"},title:{oneOf:[{type:"string"},{type:"null"}]},slug:{oneOf:[{type:"string"},{type:"null"}]},icon:{oneOf:[{type:"string"},{type:"null"}]},hidden:{oneOf:[{type:"boolean"},{type:"null"}]}},required:["changelog"],additionalProperties:!1},"docs.NavigationItem":{anyOf:[{$ref:"#/definitions/docs.PageConfiguration"},{$ref:"#/definitions/docs.SectionConfiguration"},{$ref:"#/definitions/docs.ApiReferenceConfiguration"},{$ref:"#/definitions/docs.LinkConfiguration"},{$ref:"#/definitions/docs.ChangelogConfiguration"}]},"docs.UntabbedNavigationConfig":{type:"array",items:{$ref:"#/definitions/docs.NavigationItem"}},"docs.TabId":{type:"string"},"docs.TabbedNavigationItem":{type:"object",properties:{tab:{$ref:"#/definitions/docs.TabId"},layout:{oneOf:[{type:"array",items:{$ref:"#/definitions/docs.NavigationItem"}},{type:"null"}]}},required:["tab"],additionalProperties:!1},"docs.TabbedNavigationConfig":{type:"array",items:{$ref:"#/definitions/docs.TabbedNavigationItem"}},"docs.NavigationConfig":{anyOf:[{$ref:"#/definitions/docs.UntabbedNavigationConfig"},{$ref:"#/definitions/docs.TabbedNavigationConfig"}]}},ohE={type:thE,properties:rhE,required:ihE,additionalProperties:nhE,definitions:ahE};async function A8o({value:e}){let t=P8t(e,Coc);if(t.success)return{type:"success",contents:Are.RawSchemas.Serializer.ProductFileConfig.parseOrThrow(e)};let r=t.error?.instancePath?` at ${t?.error.instancePath}`:"";return{type:"failure",message:`${t.error?.message??"Failed to parse because JSON schema validation failed"}${r}`}}async function _9({absoluteFilepathToConfiguration:e,rawUnresolvedFilepath:t,visitor:r,nodePath:i,willBeUploaded:n=!0}){let a=xb(Jd(e),t);await r.filepath?.({absoluteFilepath:a,value:t,willBeUploaded:n},[a])}var IOa=require("fs/promises");async function q8o({absolutePathToFernFolder:e,navigation:t,apiWorkspaces:r,visitor:i,absoluteFilepathToConfiguration:n,context:a,nodePath:u}){lhE(t)?await Promise.all(t.map(async(l,f)=>{l.layout!=null&&await Promise.all(l.layout.map(async(s,o)=>{await Boc({absolutePathToFernFolder:e,navigationItem:s,visitor:i,nodePath:[...u,`${f}`,"layout",`${o}`],absoluteFilepathToConfiguration:n,apiWorkspaces:r,context:a})}))})):await Promise.all(t.map(async(l,f)=>{await Boc({absolutePathToFernFolder:e,navigationItem:l,visitor:i,nodePath:[...u,`${f}`],absoluteFilepathToConfiguration:n,apiWorkspaces:r,context:a})}))}async function Boc({absolutePathToFernFolder:e,navigationItem:t,visitor:r,nodePath:i,absoluteFilepathToConfiguration:n,apiWorkspaces:a,context:u}){if(await jGt(t,{alphabetized:Ho,api:Ho,apiName:Ho,audiences:Ho,openrpc:async l=>{l!=null&&await _9({absoluteFilepathToConfiguration:n,rawUnresolvedFilepath:l,visitor:r,nodePath:[...i,"openrpc"],willBeUploaded:!1})},displayErrors:Ho,snippets:Ho,summary:Ho,title:Ho,layout:Ho,icon:Ho,slug:Ho,hidden:Ho,skipSlug:Ho,paginated:Ho,playground:Ho,flattened:Ho,featureFlag:Ho,path:async l=>{l!=null&&await _9({absoluteFilepathToConfiguration:n,rawUnresolvedFilepath:l,visitor:r,nodePath:[...i,"path"],willBeUploaded:!1})},page:Ho,contents:async l=>{l!=null&&await Promise.all(l.map(async(f,s)=>{await Boc({absolutePathToFernFolder:e,navigationItem:f,visitor:r,nodePath:[...i,"contents",`${s}`],absoluteFilepathToConfiguration:n,apiWorkspaces:a,context:u})}))},viewers:async l=>{l!=null&&l.length>0&&await r.permissions?.({viewers:l},[...i,"viewers"])},orphaned:Ho}),shE(t)){let l=xb(Jd(n),t.path);if(await Mf(l)){let f=(await(0,IOa.readFile)(l)).toString();await r.markdownPage?.({title:t.page,content:f,absoluteFilepath:l},[...i,t.path]);try{let{filepaths:s}=nga(f,{absolutePathToFernFolder:e,absolutePathToMarkdownFile:l});for(let o of s)await r.filepath?.({absoluteFilepath:o,value:tq(e,o),willBeUploaded:!0},[...i,t.path])}catch{}}}if(chE(t)){let l=a.find(f=>f.workspaceName===t.apiName);l!=null&&await r.apiSection?.({config:t,workspace:l,context:u},[...i,"api"])}if(uhE(t)){let l=xb(Jd(n),t.changelog);if(u.logger.trace(`Starting changelog processing for directory: ${l}`),await Mf(l)){let f=await(0,IOa.readdir)(l);u.logger.trace(`Validating ${f.length} files in changelog directory ${l}`),await Promise.all(f.filter(s=>s.endsWith(".md")||s.endsWith(".mdx")).map(async s=>{let o=xb(l,s),c=(await(0,IOa.readFile)(o)).toString();u.logger.trace(`Validating markdown file: ${o}`),await r.markdownPage?.({title:s,content:c,absoluteFilepath:o},[...i,"changelog",s])}))}else u.logger.trace(`Changelog directory does not exist: ${l}`)}}function uhE(e){return e?.changelog!=null}function shE(e){return e?.page!=null}function chE(e){return e?.api!=null}function lhE(e){return e[0]?.tab!=null}async function Pm_({contents:e,visitor:t,absoluteFilepathToConfiguration:r,context:i,apiWorkspaces:n,absolutePathToFernFolder:a}){await t.file?.({config:e},[]),await jGt(e,{instances:Ho,analytics:Ho,aiChat:Ho,aiSearch:Ho,announcement:Ho,backgroundImage:async u=>{u!=null&&(typeof u=="string"?await _9({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:u,visitor:t,nodePath:["background-image"]}):(u.dark!=null&&await _9({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:u.dark,visitor:t,nodePath:["background-image","dark"]}),u.light!=null&&await _9({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:u.light,visitor:t,nodePath:["background-image","light"]})))},colors:Ho,css:async u=>{u!=null&&(Array.isArray(u)?await Promise.all(u.map((l,f)=>_9({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:l,visitor:t,nodePath:["css",`${f}`],willBeUploaded:!1}))):await _9({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:u,visitor:t,nodePath:["css"],willBeUploaded:!1}))},defaultLanguage:Ho,experimental:Ho,favicon:async u=>{u!=null&&await _9({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:u,visitor:t,nodePath:["favicon"]})},footerLinks:Ho,integrations:Ho,js:async u=>{u!=null&&(Array.isArray(u)?await Promise.all(u.map((l,f)=>mm_({absoluteFilepathToConfiguration:r,visitor:t,script:l,nodePath:["js",`${f}`]}))):await mm_({absoluteFilepathToConfiguration:r,visitor:t,script:u,nodePath:["js"]}))},landingPage:Ho,layout:Ho,logo:async u=>{e.logo?.dark!=null&&await _9({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:e.logo.dark,visitor:t,nodePath:["logo","dark"]}),e.logo?.light!=null&&await _9({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:e.logo.light,visitor:t,nodePath:["logo","light"]})},metadata:Ho,navbarLinks:Ho,navigation:async u=>{u!=null&&await q8o({absolutePathToFernFolder:a,navigation:u,visitor:t,nodePath:["navigation"],absoluteFilepathToConfiguration:r,apiWorkspaces:n,context:i})},products:async u=>{u!=null&&await Promise.all(u.map(async(l,f)=>{await _9({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:l.path,visitor:t,nodePath:["products",`${f}`],willBeUploaded:!1});let s=xb(Jd(r),l.path),o=Ed.load((await(0,Ioc.readFile)(s)).toString());await Mf(s)&&await t.productFile?.({path:l.path,content:o},[l.path]);let c=await A8o({value:o});c.type==="success"&&await q8o({absolutePathToFernFolder:a,navigation:c.contents.navigation,visitor:t,nodePath:["navigation"],absoluteFilepathToConfiguration:s,apiWorkspaces:n,context:i})}))},redirects:Ho,tabs:Ho,title:Ho,typography:async u=>{u!=null&&await jGt(u,{bodyFont:async l=>{l!=null&&await xoc({absoluteFilepathToConfiguration:r,visitor:t,font:l,nodePath:["typography","bodyFont"]})},codeFont:async l=>{l!=null&&await xoc({absoluteFilepathToConfiguration:r,visitor:t,font:l,nodePath:["typography","codeFont"]})},headingsFont:async l=>{l!=null&&await xoc({absoluteFilepathToConfiguration:r,visitor:t,font:l,nodePath:["typography","headingsFont"]})}})},versions:async u=>{u!=null&&await Promise.all(u.map(async(l,f)=>{await _9({absoluteFilepathToConfiguration:r,rawUnresolvedFilepath:l.path,visitor:t,nodePath:["versions",`${f}`],willBeUploaded:!1});let s=xb(Jd(r),l.path),o=Ed.load((await(0,Ioc.readFile)(s)).toString());await Mf(s)&&await t.versionFile?.({path:l.path,content:o},[l.path]);let c=await D8o({value:o});c.type==="success"&&await q8o({absolutePathToFernFolder:a,navigation:c.contents.navigation,visitor:t,nodePath:["navigation"],absoluteFilepathToConfiguration:s,apiWorkspaces:n,context:i})}))},roles:Ho})}async function xoc({absoluteFilepathToConfiguration:e,visitor:t,font:r,nodePath:i}){r.path!=null&&await _9({absoluteFilepathToConfiguration:e,rawUnresolvedFilepath:r.path,visitor:t,nodePath:i,willBeUploaded:!0});for(let n of r.paths??[])typeof n=="string"?await _9({absoluteFilepathToConfiguration:e,rawUnresolvedFilepath:n,visitor:t,nodePath:i,willBeUploaded:!0}):await _9({absoluteFilepathToConfiguration:e,rawUnresolvedFilepath:n.path,visitor:t,nodePath:i,willBeUploaded:!0})}async function mm_({absoluteFilepathToConfiguration:e,visitor:t,script:r,nodePath:i}){let n=typeof r=="string"?r:"path"in r?r.path:null;n&&await _9({absoluteFilepathToConfiguration:e,rawUnresolvedFilepath:n,visitor:t,nodePath:i,willBeUploaded:!0})}var jm_={name:"accent-color-contrast",create:()=>({file:async({config:e})=>{if(e.colors==null)return[];let t=kio(e.colors);return t==="dark"?T8o(e.colors,"dark"):t==="light"?T8o(e.colors,"light"):t==="darkAndLight"?[...T8o(e.colors,"dark"),...T8o(e.colors,"light")]:[]}})};function T8o(e,t){let r=Yoa(e.accentPrimary??e.accentPrimaryDeprecated,"accent-primary",t),i=Yoa(e.background,"background",t)??(t==="dark"?"#000":"#FFF"),n=[];if(!s_(i).isValid())n.push({severity:"fatal",message:`Invalid background color provided for colors.background.${t}: ${i}.`});else{let a=fhE(s_(i),t);s_(i).toHexString()!==a.toHexString()&&n.push({severity:"warning",message:`The provided background color for ${t} mode is not ${t} enough. It will be adjusted to ${a.toHexString()}.`}),i=a.toHexString()}if(r==null)n.push({severity:"warning",message:`No accent-color provided for ${t} mode. A random color will be used.`});else if(!s_(r).isValid())n.push({severity:"fatal",message:`Invalid accent-color provided for colors.accent-primary.${t}: ${r}.`});else{let a=s_.readability(r,i),u=`${a.toFixed(2)}:1`;a<3?n.push({severity:"warning",message:`The contrast ratio between the accent color and the background color for ${t} mode is ${u}. It should be at least 3:1.`}):a<4.5?n.push({severity:"warning",message:`The contrast ratio between the accent color and the background color for ${t} mode is ${u}. Fern will adjust the color to meet the minimum contrast ratio of 4.5:1 for WCAG AA and 7:1 for WCAG AAA.`}):a<7&&n.push({severity:"warning",message:`The contrast ratio between the accent color and the background color for ${t} mode is ${u}. Fern will adjust the color to meet the minimum contrast ratio of 7:1 for WCAG AAA.`})}return n}function fhE(e,t){return t==="dark"&&e.isDark()||t==="light"&&e.isLight()?e:dhE(e)}function dhE(e){if(e==null)return;let{h:t,s:r,v:i}=e.toHsv();return s_({h:t,s:r,v:1-i})}var wm_={name:"all-roles-must-be-declared",create:e=>{let t=e.workspace.config.roles;return{permissions:r=>{let i=[...r.viewers??[]],n=[];for(let a of i)(t==null||!t.includes(a))&&n.push({severity:"fatal",message:`Role "${a}" is used but not declared at the top level of the docs.yml file.`});return n}}}};var zoc={name:"filepaths-exist",create:()=>({filepath:async({absoluteFilepath:e,value:t})=>await Mf(e)?[]:[{severity:"fatal",message:`Path ${t} does not exist`}]})};var Roc={name:"only-versioned-navigation",create:()=>({file:async({config:e})=>e.navigation!=null&&e.versions!=null?[{severity:"fatal",message:"Cannot contain both navigation and versions. If you want versioned docs, use versions. Otherwise use navigation."}]:[]})};var Noc={name:"valid-docs-endpoints",create:()=>({file:async({config:e})=>!e.analytics||!Object.keys(e.analytics).length?[]:[[e.analytics.intercom?.apiBase,"Intercom API Base"],[e.analytics.posthog?.endpoint,"Posthog Host Endpoint"]].filter(([i])=>i&&!phE(i)).map(([i,n])=>({severity:"warning",message:`${n} <${i}> is malformed. Make sure it includes a protocol (e.g. 'https://')!`}))})};function phE(e){try{return!!new URL(e).protocol}catch{return!1}}var tP_=oi(Rm_(),1);var RhE="End-Of-Stream",Rz=class extends Error{constructor(){super(RhE)}};var N8o=class{constructor(){this.resolve=()=>null,this.reject=()=>null,this.promise=new Promise((t,r)=>{this.reject=r,this.resolve=t})}};var NhE=1*1024*1024,LOa=class{constructor(t){if(this.s=t,this.deferred=null,this.endOfStream=!1,this.peekQueue=[],!t.read||!t.once)throw new Error("Expected an instance of stream.Readable");this.s.once("end",()=>this.reject(new Rz)),this.s.once("error",r=>this.reject(r)),this.s.once("close",()=>this.reject(new Error("Stream closed")))}async peek(t,r,i){let n=await this.read(t,r,i);return this.peekQueue.push(t.subarray(r,r+n)),n}async read(t,r,i){if(i===0)return 0;if(this.peekQueue.length===0&&this.endOfStream)throw new Rz;let n=i,a=0;for(;this.peekQueue.length>0&&n>0;){let u=this.peekQueue.pop();if(!u)throw new Error("peekData should be defined");let l=Math.min(u.length,n);t.set(u.subarray(0,l),r+a),a+=l,n-=l,l<u.length&&this.peekQueue.push(u.subarray(l))}for(;n>0&&!this.endOfStream;){let u=Math.min(n,NhE),l=await this.readFromStream(t,r+a,u);if(a+=l,l<u)break;n-=l}return a}async readFromStream(t,r,i){let n=this.s.read(i);if(n)return t.set(n,r),n.length;{let a={buffer:t,offset:r,length:i,deferred:new N8o};return this.deferred=a.deferred,this.s.once("readable",()=>{this.readDeferred(a)}),a.deferred.promise}}readDeferred(t){let r=this.s.read(t.length);r?(t.buffer.set(r,t.offset),t.deferred.resolve(r.length),this.deferred=null):this.s.once("readable",()=>{this.readDeferred(t)})}reject(t){this.endOfStream=!0,this.deferred&&(this.deferred.reject(t),this.deferred=null)}};var yuc=require("buffer"),eqn=class{constructor(t){this.position=0,this.numBuffer=new Uint8Array(8),this.fileInfo=t||{}}async readToken(t,r=this.position){let i=yuc.Buffer.alloc(t.len);if(await this.readBuffer(i,{position:r})<t.len)throw new Rz;return t.get(i,0)}async peekToken(t,r=this.position){let i=yuc.Buffer.alloc(t.len);if(await this.peekBuffer(i,{position:r})<t.len)throw new Rz;return t.get(i,0)}async readNumber(t){if(await this.readBuffer(this.numBuffer,{length:t.len})<t.len)throw new Rz;return t.get(this.numBuffer,0)}async peekNumber(t){if(await this.peekBuffer(this.numBuffer,{length:t.len})<t.len)throw new Rz;return t.get(this.numBuffer,0)}async ignore(t){if(this.fileInfo.size!==void 0){let r=this.fileInfo.size-this.position;if(t>r)return this.position+=r,r}return this.position+=t,t}async close(){}normalizeOptions(t,r){if(r&&r.position!==void 0&&r.position<this.position)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");return r?{mayBeLess:r.mayBeLess===!0,offset:r.offset?r.offset:0,length:r.length?r.length:t.length-(r.offset?r.offset:0),position:r.position?r.position:this.position}:{mayBeLess:!1,offset:0,length:t.length,position:this.position}}};var FhE=256e3,F8o=class extends eqn{constructor(t,r){super(r),this.streamReader=new LOa(t)}async getFileInfo(){return this.fileInfo}async readBuffer(t,r){let i=this.normalizeOptions(t,r),n=i.position-this.position;if(n>0)return await this.ignore(n),this.readBuffer(t,r);if(n<0)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");if(i.length===0)return 0;let a=await this.streamReader.read(t,i.offset,i.length);if(this.position+=a,(!r||!r.mayBeLess)&&a<i.length)throw new Rz;return a}async peekBuffer(t,r){let i=this.normalizeOptions(t,r),n=0;if(i.position){let a=i.position-this.position;if(a>0){let u=new Uint8Array(i.length+a);return n=await this.peekBuffer(u,{mayBeLess:i.mayBeLess}),t.set(u.subarray(a),i.offset),n-a}else if(a<0)throw new Error("Cannot peek from a negative offset in a stream")}if(i.length>0){try{n=await this.streamReader.peek(t,i.offset,i.length)}catch(a){if(r&&r.mayBeLess&&a instanceof Rz)return 0;throw a}if(!i.mayBeLess&&n<i.length)throw new Rz}return n}async ignore(t){let r=Math.min(FhE,t),i=new Uint8Array(r),n=0;for(;n<t;){let a=t-n,u=await this.readBuffer(i,{length:Math.min(r,a)});if(u<0)return u;n+=u}return n}};var L8o=class extends eqn{constructor(t,r){super(r),this.uint8Array=t,this.fileInfo.size=this.fileInfo.size?this.fileInfo.size:t.length}async readBuffer(t,r){if(r&&r.position){if(r.position<this.position)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");this.position=r.position}let i=await this.peekBuffer(t,r);return this.position+=i,i}async peekBuffer(t,r){let i=this.normalizeOptions(t,r),n=Math.min(this.uint8Array.length-i.position,i.length);if(!i.mayBeLess&&n<i.length)throw new Rz;return t.set(this.uint8Array.subarray(i.position,i.position+n),i.offset),n}async close(){}};function Nm_(e,t){return t=t||{},new F8o(e,t)}function Fm_(e,t){return new L8o(e,t)}var hXr=require("buffer");var Um_=oi(Lm_(),1),Vm_=require("buffer");function zne(e){return new DataView(e.buffer,e.byteOffset)}var Wm_={len:1,get(e,t){return zne(e).getUint8(t)},put(e,t,r){return zne(e).setUint8(t,r),t+1}},U8o={len:2,get(e,t){return zne(e).getUint16(t,!0)},put(e,t,r){return zne(e).setUint16(t,r,!0),t+2}},V8o={len:2,get(e,t){return zne(e).getUint16(t)},put(e,t,r){return zne(e).setUint16(t,r),t+2}};var Hm_={len:4,get(e,t){return zne(e).getUint32(t,!0)},put(e,t,r){return zne(e).setUint32(t,r,!0),t+4}},$m_={len:4,get(e,t){return zne(e).getUint32(t)},put(e,t,r){return zne(e).setUint32(t,r),t+4}};var Gm_={len:4,get(e,t){return zne(e).getInt32(t)},put(e,t,r){return zne(e).setInt32(t,r),t+4}};var Qm_={len:8,get(e,t){return zne(e).getBigUint64(t,!0)},put(e,t,r){return zne(e).setBigUint64(t,r,!0),t+8}};var _Xr=class{constructor(t,r){this.len=t,this.encoding=r}get(t,r){return Vm_.Buffer.from(t).toString(this.encoding,r,r+this.len)}},buc=class e{constructor(t){this.len=t}static decode(t,r,i){let n="";for(let a=r;a<i;++a)n+=e.codePointToString(e.singleByteDecoder(t[a]));return n}static inRange(t,r,i){return r<=t&&t<=i}static codePointToString(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode((t>>10)+55296,(t&1023)+56320))}static singleByteDecoder(t){if(e.inRange(t,0,127))return t;let r=e.windows1252[t-128];if(r===null)throw Error("invaliding encoding");return r}get(t,r=0){return e.decode(t,r,r+this.len)}};buc.windows1252=[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255];function Jm_(e){return[...e].map(t=>t.charCodeAt(0))}function Km_(e,t=0){let r=Number.parseInt(e.toString("utf8",148,154).replace(/\0.*$/,"").trim(),8);if(Number.isNaN(r))return!1;let i=8*32;for(let n=t;n<t+148;n++)i+=e[n];for(let n=t+156;n<t+512;n++)i+=e[n];return r===i}var Ym_={get:(e,t)=>e[t+3]&127|e[t+2]<<7|e[t+1]<<14|e[t]<<21,len:4};var Xm_=["jpg","png","apng","gif","webp","flif","xcf","cr2","cr3","orf","arw","dng","nef","rw2","raf","tif","bmp","icns","jxr","psd","indd","zip","tar","rar","gz","bz2","7z","dmg","mp4","mid","mkv","webm","mov","avi","mpg","mp2","mp3","m4a","oga","ogg","ogv","opus","flac","wav","spx","amr","pdf","epub","elf","macho","exe","swf","rtf","wasm","woff","woff2","eot","ttf","otf","ico","flv","ps","xz","sqlite","nes","crx","xpi","cab","deb","ar","rpm","Z","lz","cfb","mxf","mts","blend","bpg","docx","pptx","xlsx","3gp","3g2","j2c","jp2","jpm","jpx","mj2","aif","qcp","odt","ods","odp","xml","mobi","heic","cur","ktx","ape","wv","dcm","ics","glb","pcap","dsf","lnk","alias","voc","ac3","m4v","m4p","m4b","f4v","f4p","f4b","f4a","mie","asf","ogm","ogx","mpc","arrow","shp","aac","mp1","it","s3m","xm","ai","skp","avif","eps","lzh","pgp","asar","stl","chm","3mf","zst","jxl","vcf","jls","pst","dwg","parquet","class","arj","cpio","ace","avro","icc","fbx"],Zm_=["image/jpeg","image/png","image/gif","image/webp","image/flif","image/x-xcf","image/x-canon-cr2","image/x-canon-cr3","image/tiff","image/bmp","image/vnd.ms-photo","image/vnd.adobe.photoshop","application/x-indesign","application/epub+zip","application/x-xpinstall","application/vnd.oasis.opendocument.text","application/vnd.oasis.opendocument.spreadsheet","application/vnd.oasis.opendocument.presentation","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/zip","application/x-tar","application/x-rar-compressed","application/gzip","application/x-bzip2","application/x-7z-compressed","application/x-apple-diskimage","application/x-apache-arrow","video/mp4","audio/midi","video/x-matroska","video/webm","video/quicktime","video/vnd.avi","audio/wav","audio/qcelp","audio/x-ms-asf","video/x-ms-asf","application/vnd.ms-asf","video/mpeg","video/3gpp","audio/mpeg","audio/mp4","audio/opus","video/ogg","audio/ogg","application/ogg","audio/x-flac","audio/ape","audio/wavpack","audio/amr","application/pdf","application/x-elf","application/x-mach-binary","application/x-msdownload","application/x-shockwave-flash","application/rtf","application/wasm","font/woff","font/woff2","application/vnd.ms-fontobject","font/ttf","font/otf","image/x-icon","video/x-flv","application/postscript","application/eps","application/x-xz","application/x-sqlite3","application/x-nintendo-nes-rom","application/x-google-chrome-extension","application/vnd.ms-cab-compressed","application/x-deb","application/x-unix-archive","application/x-rpm","application/x-compress","application/x-lzip","application/x-cfb","application/x-mie","application/mxf","video/mp2t","application/x-blender","image/bpg","image/j2c","image/jp2","image/jpx","image/jpm","image/mj2","audio/aiff","application/xml","application/x-mobipocket-ebook","image/heif","image/heif-sequence","image/heic","image/heic-sequence","image/icns","image/ktx","application/dicom","audio/x-musepack","text/calendar","text/vcard","model/gltf-binary","application/vnd.tcpdump.pcap","audio/x-dsf","application/x.ms.shortcut","application/x.apple.alias","audio/x-voc","audio/vnd.dolby.dd-raw","audio/x-m4a","image/apng","image/x-olympus-orf","image/x-sony-arw","image/x-adobe-dng","image/x-nikon-nef","image/x-panasonic-rw2","image/x-fujifilm-raf","video/x-m4v","video/3gpp2","application/x-esri-shape","audio/aac","audio/x-it","audio/x-s3m","audio/x-xm","video/MP1S","video/MP2P","application/vnd.sketchup.skp","image/avif","application/x-lzh-compressed","application/pgp-encrypted","application/x-asar","model/stl","application/vnd.ms-htmlhelp","model/3mf","image/jxl","application/zstd","image/jls","application/vnd.ms-outlook","image/vnd.dwg","application/x-parquet","application/java-vm","application/x-arj","application/x-cpio","application/x-ace-compressed","application/avro","application/vnd.iccprofile","application/x.autodesk.fbx"];var km_=4100;async function eP_(e){return new guc().fromBuffer(e)}function bkt(e,t,r){r={offset:0,...r};for(let[i,n]of t.entries())if(r.mask){if(n!==(r.mask[i]&e[i+r.offset]))return!1}else if(n!==e[i+r.offset])return!1;return!0}var guc=class{constructor(t){this.detectors=t?.customDetectors,this.fromTokenizer=this.fromTokenizer.bind(this),this.fromBuffer=this.fromBuffer.bind(this),this.parse=this.parse.bind(this)}async fromTokenizer(t){let r=t.position;for(let i of this.detectors||[]){let n=await i(t);if(n)return n;if(r!==t.position)return}return this.parse(t)}async fromBuffer(t){if(!(t instanceof Uint8Array||t instanceof ArrayBuffer))throw new TypeError(`Expected the \`input\` argument to be of type \`Uint8Array\` or \`Buffer\` or \`ArrayBuffer\`, got \`${typeof t}\``);let r=t instanceof Uint8Array?t:new Uint8Array(t);if(r?.length>1)return this.fromTokenizer(Fm_(r))}async fromBlob(t){let r=await t.arrayBuffer();return this.fromBuffer(new Uint8Array(r))}async fromStream(t){let r=await Nm_(t);try{return await this.fromTokenizer(r)}finally{await r.close()}}async toDetectionStream(t,r={}){let{default:i}=await import("stream"),{sampleSize:n=km_}=r;return new Promise((a,u)=>{t.on("error",u),t.once("readable",()=>{(async()=>{try{let l=new i.PassThrough,f=i.pipeline?i.pipeline(t,l,()=>{}):t.pipe(l),s=t.read(n)??t.read()??hXr.Buffer.alloc(0);try{l.fileType=await this.fromBuffer(s)}catch(o){o instanceof Rz?l.fileType=void 0:u(o)}a(f)}catch(l){u(l)}})()})})}check(t,r){return bkt(this.buffer,t,r)}checkString(t,r){return this.check(Jm_(t),r)}async parse(t){if(this.buffer=hXr.Buffer.alloc(km_),t.fileInfo.size===void 0&&(t.fileInfo.size=Number.MAX_SAFE_INTEGER),this.tokenizer=t,await t.peekBuffer(this.buffer,{length:12,mayBeLess:!0}),this.check([66,77]))return{ext:"bmp",mime:"image/bmp"};if(this.check([11,119]))return{ext:"ac3",mime:"audio/vnd.dolby.dd-raw"};if(this.check([120,1]))return{ext:"dmg",mime:"application/x-apple-diskimage"};if(this.check([77,90]))return{ext:"exe",mime:"application/x-msdownload"};if(this.check([37,33]))return await t.peekBuffer(this.buffer,{length:24,mayBeLess:!0}),this.checkString("PS-Adobe-",{offset:2})&&this.checkString(" EPSF-",{offset:14})?{ext:"eps",mime:"application/eps"}:{ext:"ps",mime:"application/postscript"};if(this.check([31,160])||this.check([31,157]))return{ext:"Z",mime:"application/x-compress"};if(this.check([199,113]))return{ext:"cpio",mime:"application/x-cpio"};if(this.check([96,234]))return{ext:"arj",mime:"application/x-arj"};if(this.check([239,187,191]))return this.tokenizer.ignore(3),this.parse(t);if(this.check([71,73,70]))return{ext:"gif",mime:"image/gif"};if(this.check([73,73,188]))return{ext:"jxr",mime:"image/vnd.ms-photo"};if(this.check([31,139,8]))return{ext:"gz",mime:"application/gzip"};if(this.check([66,90,104]))return{ext:"bz2",mime:"application/x-bzip2"};if(this.checkString("ID3")){await t.ignore(6);let r=await t.readToken(Ym_);return t.position+r>t.fileInfo.size?{ext:"mp3",mime:"audio/mpeg"}:(await t.ignore(r),this.fromTokenizer(t))}if(this.checkString("MP+"))return{ext:"mpc",mime:"audio/x-musepack"};if((this.buffer[0]===67||this.buffer[0]===70)&&this.check([87,83],{offset:1}))return{ext:"swf",mime:"application/x-shockwave-flash"};if(this.check([255,216,255]))return this.check([247],{offset:3})?{ext:"jls",mime:"image/jls"}:{ext:"jpg",mime:"image/jpeg"};if(this.check([79,98,106,1]))return{ext:"avro",mime:"application/avro"};if(this.checkString("FLIF"))return{ext:"flif",mime:"image/flif"};if(this.checkString("8BPS"))return{ext:"psd",mime:"image/vnd.adobe.photoshop"};if(this.checkString("WEBP",{offset:8}))return{ext:"webp",mime:"image/webp"};if(this.checkString("MPCK"))return{ext:"mpc",mime:"audio/x-musepack"};if(this.checkString("FORM"))return{ext:"aif",mime:"audio/aiff"};if(this.checkString("icns",{offset:0}))return{ext:"icns",mime:"image/icns"};if(this.check([80,75,3,4])){try{for(;t.position+30<t.fileInfo.size;){await t.readBuffer(this.buffer,{length:30});let r={compressedSize:this.buffer.readUInt32LE(18),uncompressedSize:this.buffer.readUInt32LE(22),filenameLength:this.buffer.readUInt16LE(26),extraFieldLength:this.buffer.readUInt16LE(28)};if(r.filename=await t.readToken(new _Xr(r.filenameLength,"utf-8")),await t.ignore(r.extraFieldLength),r.filename==="META-INF/mozilla.rsa")return{ext:"xpi",mime:"application/x-xpinstall"};if(r.filename.endsWith(".rels")||r.filename.endsWith(".xml"))switch(r.filename.split("/")[0]){case"_rels":break;case"word":return{ext:"docx",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"};case"ppt":return{ext:"pptx",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"};case"xl":return{ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"};default:break}if(r.filename.startsWith("xl/"))return{ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"};if(r.filename.startsWith("3D/")&&r.filename.endsWith(".model"))return{ext:"3mf",mime:"model/3mf"};if(r.filename==="mimetype"&&r.compressedSize===r.uncompressedSize){let i=await t.readToken(new _Xr(r.compressedSize,"utf-8"));switch(i=i.trim(),i){case"application/epub+zip":return{ext:"epub",mime:"application/epub+zip"};case"application/vnd.oasis.opendocument.text":return{ext:"odt",mime:"application/vnd.oasis.opendocument.text"};case"application/vnd.oasis.opendocument.spreadsheet":return{ext:"ods",mime:"application/vnd.oasis.opendocument.spreadsheet"};case"application/vnd.oasis.opendocument.presentation":return{ext:"odp",mime:"application/vnd.oasis.opendocument.presentation"};default:}}if(r.compressedSize===0){let i=-1;for(;i<0&&t.position<t.fileInfo.size;)await t.peekBuffer(this.buffer,{mayBeLess:!0}),i=this.buffer.indexOf("504B0304",0,"hex"),await t.ignore(i>=0?i:this.buffer.length)}else await t.ignore(r.compressedSize)}}catch(r){if(!(r instanceof Rz))throw r}return{ext:"zip",mime:"application/zip"}}if(this.checkString("OggS")){await t.ignore(28);let r=hXr.Buffer.alloc(8);return await t.readBuffer(r),bkt(r,[79,112,117,115,72,101,97,100])?{ext:"opus",mime:"audio/opus"}:bkt(r,[128,116,104,101,111,114,97])?{ext:"ogv",mime:"video/ogg"}:bkt(r,[1,118,105,100,101,111,0])?{ext:"ogm",mime:"video/ogg"}:bkt(r,[127,70,76,65,67])?{ext:"oga",mime:"audio/ogg"}:bkt(r,[83,112,101,101,120,32,32])?{ext:"spx",mime:"audio/ogg"}:bkt(r,[1,118,111,114,98,105,115])?{ext:"ogg",mime:"audio/ogg"}:{ext:"ogx",mime:"application/ogg"}}if(this.check([80,75])&&(this.buffer[2]===3||this.buffer[2]===5||this.buffer[2]===7)&&(this.buffer[3]===4||this.buffer[3]===6||this.buffer[3]===8))return{ext:"zip",mime:"application/zip"};if(this.checkString("ftyp",{offset:4})&&this.buffer[8]&96){let r=this.buffer.toString("binary",8,12).replace("\0"," ").trim();switch(r){case"avif":case"avis":return{ext:"avif",mime:"image/avif"};case"mif1":return{ext:"heic",mime:"image/heif"};case"msf1":return{ext:"heic",mime:"image/heif-sequence"};case"heic":case"heix":return{ext:"heic",mime:"image/heic"};case"hevc":case"hevx":return{ext:"heic",mime:"image/heic-sequence"};case"qt":return{ext:"mov",mime:"video/quicktime"};case"M4V":case"M4VH":case"M4VP":return{ext:"m4v",mime:"video/x-m4v"};case"M4P":return{ext:"m4p",mime:"video/mp4"};case"M4B":return{ext:"m4b",mime:"audio/mp4"};case"M4A":return{ext:"m4a",mime:"audio/x-m4a"};case"F4V":return{ext:"f4v",mime:"video/mp4"};case"F4P":return{ext:"f4p",mime:"video/mp4"};case"F4A":return{ext:"f4a",mime:"audio/mp4"};case"F4B":return{ext:"f4b",mime:"audio/mp4"};case"crx":return{ext:"cr3",mime:"image/x-canon-cr3"};default:return r.startsWith("3g")?r.startsWith("3g2")?{ext:"3g2",mime:"video/3gpp2"}:{ext:"3gp",mime:"video/3gpp"}:{ext:"mp4",mime:"video/mp4"}}}if(this.checkString("MThd"))return{ext:"mid",mime:"audio/midi"};if(this.checkString("wOFF")&&(this.check([0,1,0,0],{offset:4})||this.checkString("OTTO",{offset:4})))return{ext:"woff",mime:"font/woff"};if(this.checkString("wOF2")&&(this.check([0,1,0,0],{offset:4})||this.checkString("OTTO",{offset:4})))return{ext:"woff2",mime:"font/woff2"};if(this.check([212,195,178,161])||this.check([161,178,195,212]))return{ext:"pcap",mime:"application/vnd.tcpdump.pcap"};if(this.checkString("DSD "))return{ext:"dsf",mime:"audio/x-dsf"};if(this.checkString("LZIP"))return{ext:"lz",mime:"application/x-lzip"};if(this.checkString("fLaC"))return{ext:"flac",mime:"audio/x-flac"};if(this.check([66,80,71,251]))return{ext:"bpg",mime:"image/bpg"};if(this.checkString("wvpk"))return{ext:"wv",mime:"audio/wavpack"};if(this.checkString("%PDF")){try{await t.ignore(1350);let r=10*1024*1024,i=hXr.Buffer.alloc(Math.min(r,t.fileInfo.size));if(await t.readBuffer(i,{mayBeLess:!0}),i.includes(hXr.Buffer.from("AIPrivateData")))return{ext:"ai",mime:"application/postscript"}}catch(r){if(!(r instanceof Rz))throw r}return{ext:"pdf",mime:"application/pdf"}}if(this.check([0,97,115,109]))return{ext:"wasm",mime:"application/wasm"};if(this.check([73,73])){let r=await this.readTiffHeader(!1);if(r)return r}if(this.check([77,77])){let r=await this.readTiffHeader(!0);if(r)return r}if(this.checkString("MAC "))return{ext:"ape",mime:"audio/ape"};if(this.check([26,69,223,163])){async function r(){let l=await t.peekNumber(Wm_),f=128,s=0;for(;!(l&f)&&f!==0;)++s,f>>=1;let o=hXr.Buffer.alloc(s+1);return await t.readBuffer(o),o}async function i(){let l=await r(),f=await r();f[0]^=128>>f.length-1;let s=Math.min(6,f.length);return{id:l.readUIntBE(0,l.length),len:f.readUIntBE(f.length-s,s)}}async function n(l){for(;l>0;){let f=await i();if(f.id===17026)return(await t.readToken(new _Xr(f.len,"utf-8"))).replaceAll(/\00.*$/g,"");await t.ignore(f.len),--l}}let a=await i();switch(await n(a.len)){case"webm":return{ext:"webm",mime:"video/webm"};case"matroska":return{ext:"mkv",mime:"video/x-matroska"};default:return}}if(this.check([82,73,70,70])){if(this.check([65,86,73],{offset:8}))return{ext:"avi",mime:"video/vnd.avi"};if(this.check([87,65,86,69],{offset:8}))return{ext:"wav",mime:"audio/wav"};if(this.check([81,76,67,77],{offset:8}))return{ext:"qcp",mime:"audio/qcelp"}}if(this.checkString("SQLi"))return{ext:"sqlite",mime:"application/x-sqlite3"};if(this.check([78,69,83,26]))return{ext:"nes",mime:"application/x-nintendo-nes-rom"};if(this.checkString("Cr24"))return{ext:"crx",mime:"application/x-google-chrome-extension"};if(this.checkString("MSCF")||this.checkString("ISc("))return{ext:"cab",mime:"application/vnd.ms-cab-compressed"};if(this.check([237,171,238,219]))return{ext:"rpm",mime:"application/x-rpm"};if(this.check([197,208,211,198]))return{ext:"eps",mime:"application/eps"};if(this.check([40,181,47,253]))return{ext:"zst",mime:"application/zstd"};if(this.check([127,69,76,70]))return{ext:"elf",mime:"application/x-elf"};if(this.check([33,66,68,78]))return{ext:"pst",mime:"application/vnd.ms-outlook"};if(this.checkString("PAR1"))return{ext:"parquet",mime:"application/x-parquet"};if(this.check([207,250,237,254]))return{ext:"macho",mime:"application/x-mach-binary"};if(this.check([79,84,84,79,0]))return{ext:"otf",mime:"font/otf"};if(this.checkString("#!AMR"))return{ext:"amr",mime:"audio/amr"};if(this.checkString("{\\rtf"))return{ext:"rtf",mime:"application/rtf"};if(this.check([70,76,86,1]))return{ext:"flv",mime:"video/x-flv"};if(this.checkString("IMPM"))return{ext:"it",mime:"audio/x-it"};if(this.checkString("-lh0-",{offset:2})||this.checkString("-lh1-",{offset:2})||this.checkString("-lh2-",{offset:2})||this.checkString("-lh3-",{offset:2})||this.checkString("-lh4-",{offset:2})||this.checkString("-lh5-",{offset:2})||this.checkString("-lh6-",{offset:2})||this.checkString("-lh7-",{offset:2})||this.checkString("-lzs-",{offset:2})||this.checkString("-lz4-",{offset:2})||this.checkString("-lz5-",{offset:2})||this.checkString("-lhd-",{offset:2}))return{ext:"lzh",mime:"application/x-lzh-compressed"};if(this.check([0,0,1,186])){if(this.check([33],{offset:4,mask:[241]}))return{ext:"mpg",mime:"video/MP1S"};if(this.check([68],{offset:4,mask:[196]}))return{ext:"mpg",mime:"video/MP2P"}}if(this.checkString("ITSF"))return{ext:"chm",mime:"application/vnd.ms-htmlhelp"};if(this.check([202,254,186,190]))return{ext:"class",mime:"application/java-vm"};if(this.check([253,55,122,88,90,0]))return{ext:"xz",mime:"application/x-xz"};if(this.checkString("<?xml "))return{ext:"xml",mime:"application/xml"};if(this.check([55,122,188,175,39,28]))return{ext:"7z",mime:"application/x-7z-compressed"};if(this.check([82,97,114,33,26,7])&&(this.buffer[6]===0||this.buffer[6]===1))return{ext:"rar",mime:"application/x-rar-compressed"};if(this.checkString("solid "))return{ext:"stl",mime:"model/stl"};if(this.checkString("AC")){let r=this.buffer.toString("binary",2,6);if(r.match("^d*")&&r>=1e3&&r<=1050)return{ext:"dwg",mime:"image/vnd.dwg"}}if(this.checkString("070707"))return{ext:"cpio",mime:"application/x-cpio"};if(this.checkString("BLENDER"))return{ext:"blend",mime:"application/x-blender"};if(this.checkString("!<arch>"))return await t.ignore(8),await t.readToken(new _Xr(13,"ascii"))==="debian-binary"?{ext:"deb",mime:"application/x-deb"}:{ext:"ar",mime:"application/x-unix-archive"};if(this.checkString("**ACE",{offset:7})&&(await t.peekBuffer(this.buffer,{length:14,mayBeLess:!0}),this.checkString("**",{offset:12})))return{ext:"ace",mime:"application/x-ace-compressed"};if(this.check([137,80,78,71,13,10,26,10])){await t.ignore(8);async function r(){return{length:await t.readToken(Gm_),type:await t.readToken(new _Xr(4,"binary"))}}do{let i=await r();if(i.length<0)return;switch(i.type){case"IDAT":return{ext:"png",mime:"image/png"};case"acTL":return{ext:"apng",mime:"image/apng"};default:await t.ignore(i.length+4)}}while(t.position+8<t.fileInfo.size);return{ext:"png",mime:"image/png"}}if(this.check([65,82,82,79,87,49,0,0]))return{ext:"arrow",mime:"application/x-apache-arrow"};if(this.check([103,108,84,70,2,0,0,0]))return{ext:"glb",mime:"model/gltf-binary"};if(this.check([102,114,101,101],{offset:4})||this.check([109,100,97,116],{offset:4})||this.check([109,111,111,118],{offset:4})||this.check([119,105,100,101],{offset:4}))return{ext:"mov",mime:"video/quicktime"};if(this.check([73,73,82,79,8,0,0,0,24]))return{ext:"orf",mime:"image/x-olympus-orf"};if(this.checkString("gimp xcf "))return{ext:"xcf",mime:"image/x-xcf"};if(this.check([73,73,85,0,24,0,0,0,136,231,116,216]))return{ext:"rw2",mime:"image/x-panasonic-rw2"};if(this.check([48,38,178,117,142,102,207,17,166,217])){async function r(){let i=hXr.Buffer.alloc(16);return await t.readBuffer(i),{id:i,size:Number(await t.readToken(Qm_))}}for(await t.ignore(30);t.position+24<t.fileInfo.size;){let i=await r(),n=i.size-24;if(bkt(i.id,[145,7,220,183,183,169,207,17,142,230,0,192,12,32,83,101])){let a=hXr.Buffer.alloc(16);if(n-=await t.readBuffer(a),bkt(a,[64,158,105,248,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:"asf",mime:"audio/x-ms-asf"};if(bkt(a,[192,239,25,188,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:"asf",mime:"video/x-ms-asf"};break}await t.ignore(n)}return{ext:"asf",mime:"application/vnd.ms-asf"}}if(this.check([171,75,84,88,32,49,49,187,13,10,26,10]))return{ext:"ktx",mime:"image/ktx"};if((this.check([126,16,4])||this.check([126,24,4]))&&this.check([48,77,73,69],{offset:4}))return{ext:"mie",mime:"application/x-mie"};if(this.check([39,10,0,0,0,0,0,0,0,0,0,0],{offset:2}))return{ext:"shp",mime:"application/x-esri-shape"};if(this.check([255,79,255,81]))return{ext:"j2c",mime:"image/j2c"};if(this.check([0,0,0,12,106,80,32,32,13,10,135,10]))switch(await t.ignore(20),await t.readToken(new _Xr(4,"ascii"))){case"jp2 ":return{ext:"jp2",mime:"image/jp2"};case"jpx ":return{ext:"jpx",mime:"image/jpx"};case"jpm ":return{ext:"jpm",mime:"image/jpm"};case"mjp2":return{ext:"mj2",mime:"image/mj2"};default:return}if(this.check([255,10])||this.check([0,0,0,12,74,88,76,32,13,10,135,10]))return{ext:"jxl",mime:"image/jxl"};if(this.check([254,255]))return this.check([0,60,0,63,0,120,0,109,0,108],{offset:2})?{ext:"xml",mime:"application/xml"}:void 0;if(this.check([0,0,1,186])||this.check([0,0,1,179]))return{ext:"mpg",mime:"video/mpeg"};if(this.check([0,1,0,0,0]))return{ext:"ttf",mime:"font/ttf"};if(this.check([0,0,1,0]))return{ext:"ico",mime:"image/x-icon"};if(this.check([0,0,2,0]))return{ext:"cur",mime:"image/x-icon"};if(this.check([208,207,17,224,161,177,26,225]))return{ext:"cfb",mime:"application/x-cfb"};if(await t.peekBuffer(this.buffer,{length:Math.min(256,t.fileInfo.size),mayBeLess:!0}),this.check([97,99,115,112],{offset:36}))return{ext:"icc",mime:"application/vnd.iccprofile"};if(this.checkString("BEGIN:")){if(this.checkString("VCARD",{offset:6}))return{ext:"vcf",mime:"text/vcard"};if(this.checkString("VCALENDAR",{offset:6}))return{ext:"ics",mime:"text/calendar"}}if(this.checkString("FUJIFILMCCD-RAW"))return{ext:"raf",mime:"image/x-fujifilm-raf"};if(this.checkString("Extended Module:"))return{ext:"xm",mime:"audio/x-xm"};if(this.checkString("Creative Voice File"))return{ext:"voc",mime:"audio/x-voc"};if(this.check([4,0,0,0])&&this.buffer.length>=16){let r=this.buffer.readUInt32LE(12);if(r>12&&this.buffer.length>=r+16)try{let i=this.buffer.slice(16,r+16).toString();if(JSON.parse(i).files)return{ext:"asar",mime:"application/x-asar"}}catch{}}if(this.check([6,14,43,52,2,5,1,1,13,1,2,1,1,2]))return{ext:"mxf",mime:"application/mxf"};if(this.checkString("SCRM",{offset:44}))return{ext:"s3m",mime:"audio/x-s3m"};if(this.check([71])&&this.check([71],{offset:188}))return{ext:"mts",mime:"video/mp2t"};if(this.check([71],{offset:4})&&this.check([71],{offset:196}))return{ext:"mts",mime:"video/mp2t"};if(this.check([66,79,79,75,77,79,66,73],{offset:60}))return{ext:"mobi",mime:"application/x-mobipocket-ebook"};if(this.check([68,73,67,77],{offset:128}))return{ext:"dcm",mime:"application/dicom"};if(this.check([76,0,0,0,1,20,2,0,0,0,0,0,192,0,0,0,0,0,0,70]))return{ext:"lnk",mime:"application/x.ms.shortcut"};if(this.check([98,111,111,107,0,0,0,0,109,97,114,107,0,0,0,0]))return{ext:"alias",mime:"application/x.apple.alias"};if(this.checkString("Kaydara FBX Binary \0"))return{ext:"fbx",mime:"application/x.autodesk.fbx"};if(this.check([76,80],{offset:34})&&(this.check([0,0,1],{offset:8})||this.check([1,0,2],{offset:8})||this.check([2,0,2],{offset:8})))return{ext:"eot",mime:"application/vnd.ms-fontobject"};if(this.check([6,6,237,245,216,29,70,229,189,49,239,231,254,116,183,29]))return{ext:"indd",mime:"application/x-indesign"};if(await t.peekBuffer(this.buffer,{length:Math.min(512,t.fileInfo.size),mayBeLess:!0}),Km_(this.buffer))return{ext:"tar",mime:"application/x-tar"};if(this.check([255,254]))return this.check([60,0,63,0,120,0,109,0,108,0],{offset:2})?{ext:"xml",mime:"application/xml"}:this.check([255,14,83,0,107,0,101,0,116,0,99,0,104,0,85,0,112,0,32,0,77,0,111,0,100,0,101,0,108,0],{offset:2})?{ext:"skp",mime:"application/vnd.sketchup.skp"}:void 0;if(this.checkString("-----BEGIN PGP MESSAGE-----"))return{ext:"pgp",mime:"application/pgp-encrypted"};if(this.buffer.length>=2&&this.check([255,224],{offset:0,mask:[255,224]})){if(this.check([16],{offset:1,mask:[22]}))return this.check([8],{offset:1,mask:[8]})?{ext:"aac",mime:"audio/aac"}:{ext:"aac",mime:"audio/aac"};if(this.check([2],{offset:1,mask:[6]}))return{ext:"mp3",mime:"audio/mpeg"};if(this.check([4],{offset:1,mask:[6]}))return{ext:"mp2",mime:"audio/mpeg"};if(this.check([6],{offset:1,mask:[6]}))return{ext:"mp1",mime:"audio/mpeg"}}}async readTiffTag(t){let r=await this.tokenizer.readToken(t?V8o:U8o);switch(this.tokenizer.ignore(10),r){case 50341:return{ext:"arw",mime:"image/x-sony-arw"};case 50706:return{ext:"dng",mime:"image/x-adobe-dng"};default:}}async readTiffIFD(t){let r=await this.tokenizer.readToken(t?V8o:U8o);for(let i=0;i<r;++i){let n=await this.readTiffTag(t);if(n)return n}}async readTiffHeader(t){let r=(t?V8o:U8o).get(this.buffer,2),i=(t?$m_:Hm_).get(this.buffer,4);if(r===42){if(i>=6){if(this.checkString("CR",{offset:8}))return{ext:"cr2",mime:"image/x-canon-cr2"};if(i>=8&&(this.check([28,0,254,0],{offset:8})||this.check([31,0,11,0],{offset:8})))return{ext:"nef",mime:"image/x-nikon-nef"}}return await this.tokenizer.ignore(i),await this.readTiffIFD(t)??{ext:"tif",mime:"image/tiff"}}if(r===43)return{ext:"tif",mime:"image/tiff"}}};var zd8=new Set(Xm_),Rd8=new Set(Zm_);var rP_=require("fs/promises"),iP_=oi(require("path"),1);var VhE=new Set(["image/jpeg","image/png","image/gif","image/webp","image/tiff","image/x-icon","image/avif","video/quicktime","video/mp4","video/webm","audio/mpeg","audio/ogg","audio/wav","application/pdf","application/xml","font/woff","font/woff2","font/otf","font/ttf"]),WhE=new Set(["ASCII","UTF-8","UTF-16","ISO-8859-1","ISO-8859-2","ISO-8859-3","ISO-8859-4","ISO-8859-5","ISO-8859-6","ISO-8859-7","ISO-8859-8","ISO-8859-9","ISO-8859-10","ISO-8859-13","ISO-8859-14","ISO-8859-15","ISO-8859-16","WINDOWS-1250","WINDOWS-1251","WINDOWS-1252","WINDOWS-1253","WINDOWS-1254","WINDOWS-1255","WINDOWS-1256","WINDOWS-1257","WINDOWS-1258","SHIFT_JIS","SHIFT-JIS","EUC-JP","ISO-2022-JP","BIG5","GB2312","GB18030","KOI8-R"]),Ouc={name:"valid-file-types",create:()=>({filepath:async({absoluteFilepath:e,willBeUploaded:t})=>t?await Mf(e)?HhE(e):[]:[]})},HhE=async e=>{let t=new Uint8Array(await(0,rP_.readFile)(e)),r=await eP_(t);if(r!=null)return VhE.has(r.mime)?[]:[{severity:"fatal",message:`The file type of ${r.mime} is not allowed: ${e}`}];let i=iP_.default.extname(e).toLowerCase();i.startsWith(".")&&(i=i.substring(1));let n=tP_.default.detect(t);return n==null?[{severity:"fatal",message:`The encoding of the file could not be detected: ${e}`}]:WhE.has(n.toUpperCase())?[]:[{severity:"fatal",message:`The encoding of ${n} is not allowed: ${e}`}]};var nP_=require("fs/promises"),aP_=oi(wXt(),1),muc={name:"valid-frontmatter",create:()=>({filepath:async({absoluteFilepath:e})=>{if(!e.endsWith(".md")&&!e.endsWith(".mdx"))return[];try{let t=await(0,nP_.readFile)(e,"utf-8");return(0,aP_.default)(t),[]}catch(t){return[{severity:"fatal",message:`Failed to parse frontmatter${t instanceof Error?`: ${t.message}`:""}`}]}}})};var Tj_=require("crypto"),flc=oi(require("path"),1);var Dhi={};jn(Dhi,{ApiDefinitionId:()=>tqn,ApiDefinitionV1ToLatest:()=>Zuc,ApiId:()=>aqn,AuthSchemeId:()=>Puc,Availability:()=>yQ,DocsConfigId:()=>oqn,EndpointId:()=>sqn,EndpointPathLiteral:()=>bqn,EnvironmentId:()=>uqn,FileId:()=>pqn,HttpMethod:()=>gqn,JqString:()=>hqn,ObjectPropertyAccess:()=>Suc,OrgId:()=>iqn,PageId:()=>dqn,PropertyKey:()=>yqn,RoleId:()=>vqn,STATUS_CODE_MESSAGES:()=>hP_,STATUS_CODE_MESSAGES_METHOD_OVERRIDES:()=>yP_,SubpackageId:()=>UOa,TokenId:()=>nqn,Transformer:()=>kuc,TypeId:()=>fqn,Url:()=>_qn,VersionId:()=>rqn,WebSocketId:()=>cqn,WebhookHttpMethod:()=>Duc,WebhookId:()=>lqn,auth:()=>W8o,backfillSnippets:()=>jyE,buildEndpointUrl:()=>esc,buildRequestUrl:()=>vP_,cleanLanguage:()=>Huc,collectTypeDefinitionTree:()=>lP_,collectTypeDefinitionTreeForObjectProperty:()=>eyE,commons:()=>juc,convertToCurl:()=>$Oa,createEndpointContext:()=>tyE,createWebSocketContext:()=>ryE,createWebhookContext:()=>iyE,endpoint:()=>wuc,getApiLatest:()=>G8o,getMessageForStatus:()=>Yuc,getUrlQueriesGetString:()=>pP_,joiner:()=>uyE,prune:()=>WOa,toColonEndpointPathLiteral:()=>ayE,toCurlyBraceEndpointPathLiteral:()=>oyE,toSnippetHttpRequest:()=>HOa,type_:()=>H8o,unwrapDiscriminatedUnionVariant:()=>Nuc,unwrapObjectType:()=>l7i,unwrapReference:()=>gkt,webhook:()=>$8o,websocket:()=>Euc,wrapOpenRPCRequest:()=>Guc});var Muc={};jn(Muc,{AuthSchemeId:()=>Puc,ObjectPropertyAccess:()=>Suc,WebhookHttpMethod:()=>Duc,auth:()=>W8o,commons:()=>juc,endpoint:()=>wuc,getApiLatest:()=>G8o,type_:()=>H8o,webhook:()=>$8o,websocket:()=>Euc});var W8o={};jn(W8o,{AuthSchemeId:()=>Puc});function Puc(e){return e}var juc={};var wuc={};var H8o={};jn(H8o,{ObjectPropertyAccess:()=>Suc});var Suc={ReadOnly:"READ_ONLY",WriteOnly:"WRITE_ONLY"};var $8o={};jn($8o,{WebhookHttpMethod:()=>Duc});var Duc={Get:"GET",Post:"POST"};var Euc={};var G8o={};jn(G8o,{Error:()=>$hE});var $hE={apiDoesNotExistError:()=>({error:"ApiDoesNotExistError"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"ApiDoesNotExistError":return t.apiDoesNotExistError();default:return t._other(e)}}};var Cuc={};jn(Cuc,{SubpackageId:()=>UOa,WebSocketMessageId:()=>Auc,WebSocketMessageOrigin:()=>quc,WebhookHttpMethod:()=>Tuc});function UOa(e){return e}function Auc(e){return e}var quc={Client:"client",Server:"server"};var Tuc={Get:"GET",Post:"POST"};var Buc={};jn(Buc,{ApiDefinitionId:()=>tqn,ApiId:()=>aqn,Availability:()=>yQ,DocsConfigId:()=>oqn,EndpointId:()=>sqn,EndpointPathLiteral:()=>bqn,EnvironmentId:()=>uqn,FileId:()=>pqn,HttpMethod:()=>gqn,JqString:()=>hqn,OrgId:()=>iqn,PageId:()=>dqn,PropertyKey:()=>yqn,RoleId:()=>vqn,TokenId:()=>nqn,TypeId:()=>fqn,Url:()=>_qn,VersionId:()=>rqn,WebSocketId:()=>cqn,WebhookId:()=>lqn});function tqn(e){return e}function rqn(e){return e}function iqn(e){return e}function nqn(e){return e}function aqn(e){return e}function oqn(e){return e}function uqn(e){return e}function sqn(e){return e}function cqn(e){return e}function lqn(e){return e}function fqn(e){return e}function dqn(e){return e}function pqn(e){return e}function _qn(e){return e}function hqn(e){return e}function yqn(e){return e}function vqn(e){return e}function bqn(e){return e}var gqn={Get:"GET",Post:"POST",Put:"PUT",Patch:"PATCH",Delete:"DELETE"};var yQ={Stable:"Stable",GenerallyAvailable:"GenerallyAvailable",InDevelopment:"InDevelopment",PreRelease:"PreRelease",Deprecated:"Deprecated",Beta:"Beta"};var Q8o=[yQ.Stable,yQ.GenerallyAvailable,yQ.Beta,yQ.PreRelease,yQ.InDevelopment,yQ.Deprecated];function c7i(e){for(let t of[...Q8o].reverse())if(e.includes(t))return t}function xuc(e){throw new Error("Unexpected value: "+JSON.stringify(e))}var Iuc=xuc;var zuc=Object.freeze([]),GhE=Object.freeze({});function QhE(e){return e}var wA=QhE;function whi(e){return e!=null}function Oqn(e){if(!JhE(e)||String(e)!=="[object Object]")return!1;if(Object.getPrototypeOf(e)==null)return!0;let t=e;for(;Object.getPrototypeOf(t)!=null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function JhE(e){return typeof e=="object"&&e!=null}var mqn=Oqn;var sP_=oi(evn(),1);var uP_=["PII","PHI","PCI","GDPR","CCPA","HIPAA","COPPA","FERPA","GLBA","SOX","FISMA","NIST","CIS","ISO","IEC","ITAR","EAR","CMMC","CUI","CDI","FTC","FCC","SEC","FINRA","XSS","CSRF","SSRF","XSRF","TLS","SSL","SSH","API","OAuth","OAuth1","OAuth1.0","OAuth2","OAuth2.0","SAML","OpenID","OpenID Connect","CAPTCHA","reCAPTCHA","2FA","MFA","OTP","TOTP","HOTP","U2F","FIDO","FIDO2","PKI","HMAC","AES","RSA","SHA","MD5","BCrypt","PBKDF2","Argon2","SCrypt","JWT","JWE","JWS","JWK","JWA","JOSE","SKU","SKUs","UPC","EAN","ISBN","ASIN","MPN","MSRP","MAP","RRP","MSRP","AM","PM","UTC","GMT","PST","PDT","EST","EDT","CST","CDT","MST","MDT","USA","UK","EU","UAE","APAC","EMEA","LATAM","ANZ","SEA","MEA","MENA","NATO","NA","SA","CA","EU","AU","NZ","JP","KR","CN","HK","TW","SG","MY","TH","ID","PH","VN","IN","PK","BD","LK","NP","MM","KH","LA","MM","BT","MV","USD","EUR","GBP","JPY","CNY","RUB","INR","AUD","CAD","CHF","SGD","MYR","THB","IDR","KRW","PHP","VND","HKD","TWD","MXN","BRL","ARS","CLP","COP","PEN","ZAR","NGN","EGP","AED","SAR","ILS","TRY","SEK","NOK","DKK","ISK","HUF","PLN","CZK","RON","BGN","API","APIs","SDK","SDKs","AI","OCR","REST","SOAP","JSON","XML","HTTP","HTTPS","URI","URL","CRUD","RESTful","KYB","KYC","AML","HTML","CSS","JS","SQL","DB","UI","UX","SaaS","PaaS","IaaS","IP","TCP","UDP","DNS","FTP","SMTP","IMAP","POP3","CSV","MVC","MVP","MVVM","DOM","SPA","SSR","CSR","DDoS","CDN","IoT","ML","DL","NLP","CLI","GUI","BI","ETL","RDBMS","NoSQL","IDE","CMS","CCPA","POSIX","ABI","API","AST","COBOL","DDL","DML","NN","CNN","RNN","LSTM","GRU","ANN","GAN","RL","DL","ML","NLP","NLG","NLU","BERT","GPT","SVM","PCA","AI","CV","TF","TTS","ASR","HMM","DNN","MLP","RBM","CRF","PDF","PDFs","RTF","TXT","XLS","XLSX","PPT","JPG","JPEG","PNG","GIF","GIFs","SVG","TIFF","BMP","ICO","PSD","WebP","AVIF","HEIF","HEIC","EPS","MP3","WAV","AIFF","FLAC","WMA","AAC","OGG","AVI","WMV","MOV","M4V","MP4","MPG","MPEG","FLV","SWF","MKV","WebM","GCP","AWS","VM","VPC","S3","EC2","DynamoDB","CosmosDB","BigQuery","CI/CD","SOC1","SOC2","SOC3","PCI DSS","WAF","IAM","SDN","MPLS","BGP","Vue.js","Node.js",".NET"];function KhE(e){return e=e.replace(/([a-z])([A-Z])/g,"$1 $2"),e=e.replace(/_/g," "),e=e.replace(/-/g," "),(0,sP_.default)(e,{special:uP_}).replace(/V\s(\d)/g,"V$1")}var VOa=KhE;function tEe(e,{renderNull:t=!1}={}){return e==null||typeof e=="function"?t?"null":"":typeof e=="string"?e:JSON.stringify(e)}function Pqn(e,t="type"){return{_visit:r=>{let i=r[e[t]];return i!=null?i(e):(r._other==null&&xuc(e),r._other(e))}}}var Iy=Pqn;var cP_=new WeakMap;function gkt(e,t){if(e==null)return;let r=cP_.get(e);if(r!=null)return r;let i=!1,n=!1,a=[],u=[],l=[],f=new Set,s=e,o=0,c=!1;for(;s!=null;){if(o>100){s=void 0;break}if(s.type==="nullable")n=!0,s=s.shape;else if(s.type==="optional")i=!0,s.default!=null&&a.push({type:"unknown",value:s.default}),s=s.shape;else if(s.type==="alias")s=s.value;else if(s.type==="id"){if(f.has(s.id)){s=void 0,c=!0;break}s.default!=null&&a.push({type:"typeReferenceId",value:s.default});let g=t[s.id];f.add(s.id),s=g?.shape,g!=null&&(g.availability&&l.push(g.availability),g.description!=null&&u.push(g.description))}else break;o++}s==null&&console.error(c?`Circular reference detected. Falling back to unknown type. types=[${[...f].join(", ")}]`:`Type reference is invalid. Falling back to unknown type. types=[${[...f].join(", ")}]`);let b={shape:s??{type:"unknown",displayName:void 0},availability:c7i(l),visitedTypeIds:f,isOptional:i,isNullable:n,default:XhE(s,a),descriptions:u};return cP_.set(e,b),b}function XhE(e,t){if(e?.type==="literal")return e.value.value;let r=t.find(i=>e==null?!0:i.type==="typeReferenceId"?Iy(i.value)._visit({enum:()=>e?.type==="enum"}):!0);return r?.type==="unknown"?r.value:r?.type==="typeReferenceId"?r.value.value:e?.type==="primitive"?ZhE(e.value):e?.type==="enum"?e.default:void 0}var Ruc=new WeakMap;function l7i(e,t,r){let i=Ruc.get(e);if(i!=null)return i;let n=e.properties,a=e.extraProperties,u=[],l=new Set,f=e.extends.flatMap(g=>{if(r?.has(g))return console.error(`Circular reference detected. Cannot extend type=${g}`),[];let O=t[g];l.add(g),O?.description&&u.push(O.description);let m=gkt(O?.shape,t);if(m?.descriptions.forEach(E=>u.push(E)),m?.visitedTypeIds.forEach(E=>l.add(E)),m?.shape.type!=="object")return console.error("Object extends non-object",g),[];let P=l7i(m.shape,t,l);return P.visitedTypeIds.forEach(E=>l.add(E)),P.properties=P.properties.map(E=>({...E,availability:c7i(QDe([O?.availability,m.availability,E.availability]))})),u.push(...P.descriptions),m.isOptional?P.properties.map(E=>{let A=Oqn(m.default)?m.default[E.key]:void 0,M=E.valueShape.type==="alias"&&E.valueShape.value.type==="optional"?{...E.valueShape.value,default:A??E.valueShape.value.default}:{type:"optional",shape:E.valueShape,default:A};return{...E,valueShape:{type:"alias",value:M}}}):P.properties});if(f.length===0){let O={properties:E3i([...n],[m=>gkt(m.valueShape,t)?.isOptional,m=>Q8o.indexOf(m.availability??yQ.Stable)]),descriptions:u,extraProperties:a,visitedTypeIds:l};return Ruc.set(e,O),O}let s=new Set(e.properties.map(g=>g.key)),o=f.filter(g=>!s.has(g.key)),b={properties:E3i([...n,...o],[g=>gkt(g.valueShape,t)?.isOptional,g=>Q8o.indexOf(g.availability??yQ.Stable),g=>g.key]),descriptions:u,extraProperties:a,visitedTypeIds:l};return Ruc.set(e,b),b}function Nuc(e,t,r){let{properties:i,descriptions:n,visitedTypeIds:a}=l7i(t,r);return{properties:[{key:e.discriminant,valueShape:{type:"alias",value:{type:"literal",value:{type:"stringLiteral",value:t.discriminantValue}}},propertyAccess:void 0,description:void 0,availability:void 0},...i],extraProperties:void 0,descriptions:n,visitedTypeIds:a}}function ZhE(e){return Iy(e,"type")._visit({string:t=>t.default,integer:t=>t.default,double:t=>t.default,uint:()=>{},uint64:()=>{},boolean:t=>t.default,long:t=>t.default,datetime:t=>t.default,uuid:t=>t.default,base64:t=>t.default,date:t=>t.default,bigInteger:t=>t.default})}function lP_(e,t,{availability:r,maxDepth:i=5,path:n=[]}={}){let a=[],u=[{type:e,path:n,availability:r,descriptions:[],visitedTypeIds:new Set}],l=0;for(;u.length>0;){if(l++>1e4){console.error("Infinite loop detected when traversing type definitions");break}let{type:f,path:s,descriptions:o,visitedTypeIds:c,availability:b}=u.pop();if(s.length>i)continue;let g=gkt(f,t),O=c7i([b,g.availability]),m=[...o,...g.descriptions],P=!1;if(g.visitedTypeIds.forEach(A=>{c.has(A)&&(P=!0)}),P)continue;let E=new Set([...c,...g.visitedTypeIds]);if(g.shape.type==="object"){let A=l7i(g.shape,t);m.push(...A.descriptions),A.visitedTypeIds.forEach(M=>E.add(M)),A.properties.forEach(M=>{u.push({type:M.valueShape,path:[...s,{type:"objectProperty",key:M.key,optional:gkt(M.valueShape,t).isOptional}],descriptions:M.description?[M.description]:[],visitedTypeIds:E,availability:O})}),A.extraProperties&&u.push({type:A.extraProperties,path:[...s,{type:"extra"}],descriptions:[],visitedTypeIds:E,availability:O})}if(a.push({path:s,descriptions:m,availability:O}),g.shape.type==="undiscriminatedUnion")g.shape.variants.forEach((A,M)=>{u.push({type:A.shape,path:[...s,{type:"undiscriminatedUnionVariant",displayName:A.displayName,idx:M}],descriptions:A.description?[A.description]:[],visitedTypeIds:E,availability:c7i([O,A.availability])})});else if(g.shape.type==="discriminatedUnion"){let A=g.shape.discriminant;g.shape.variants.forEach(M=>{let D=[...s,{type:"discriminatedUnionVariant",discriminant:A,discriminantDisplayName:M.displayName,discriminantValue:M.discriminantValue}];u.push({type:{...M,type:"object"},path:D,descriptions:M.description?[M.description]:[],visitedTypeIds:E,availability:c7i([O,M.availability])})})}else g.shape.type==="list"||g.shape.type==="set"?u.push({type:g.shape.itemShape,path:[...s,{type:g.shape.type}],descriptions:m,visitedTypeIds:E,availability:O}):g.shape.type==="map"?u.push({type:g.shape.valueShape,path:[...s,{type:"mapValue"}],descriptions:[...m,...gkt(g.shape.keyShape,t).descriptions],visitedTypeIds:E,availability:O}):g.shape.type==="enum"&&g.shape.values.forEach(A=>{a.push({path:[...s,{type:"enumValue",value:A.value}],descriptions:A.description?[A.description]:[],availability:O})})}return a}function eyE(e,t,r=[],i=5){return[{path:[...r,{type:"objectProperty",key:e.key,optional:gkt(e.valueShape,t).isOptional}],descriptions:e.description?[e.description]:[],availability:e.availability},...lP_(e.valueShape,t,{maxDepth:i-1,availability:e.availability,path:[...r,{type:"objectProperty",key:e.key,optional:gkt(e.valueShape,t).isOptional}]})]}var tLt=oi(yS(),1);var Shi=class e{static visitEndpointDefinition(t,r){t.pathParameters?.forEach(i=>{e.visitTypeShape(i.valueShape,r)}),t.queryParameters?.forEach(i=>{e.visitTypeShape(i.valueShape,r)}),t.requestHeaders?.forEach(i=>{e.visitTypeShape(i.valueShape,r)}),t.responseHeaders?.forEach(i=>{e.visitTypeShape(i.valueShape,r)}),t.requests?.forEach(i=>{i.body!=null&&e.visitHttpRequestBodyShape(i.body,r)}),t.responses?.forEach(i=>{i.body!=null&&e.visitHttpResponseBodyShape(i.body,r)}),t.errors?.forEach(i=>{i.shape!=null&&e.visitTypeShape(i.shape,r)})}static visitWebSocketChannel(t,r){t.requestHeaders?.forEach(i=>{e.visitTypeShape(i.valueShape,r)}),t.pathParameters?.forEach(i=>{e.visitTypeShape(i.valueShape,r)}),t.queryParameters?.forEach(i=>{e.visitTypeShape(i.valueShape,r)}),t.messages.forEach(i=>{e.visitTypeShape(i.body,r)})}static visitWebhookDefinition(t,r){t.headers?.forEach(i=>{e.visitTypeShape(i.valueShape,r)}),t.payloads?.[0]!=null&&e.visitTypeShape(t.payloads[0].shape,r)}static visitHttpRequestBodyShape(t,r){return Iy(t)._visit({object:i=>e.visitObjectType(i,r),alias:i=>e.visitTypeReference(i.value,r),bytes:tLt.noop,formData:i=>e.visitFormDataRequest(i,r)})}static visitHttpResponseBodyShape(t,r){return Iy(t)._visit({object:i=>e.visitObjectType(i,r),alias:i=>e.visitTypeReference(i.value,r),fileDownload:tLt.noop,streamingText:tLt.noop,stream:i=>e.visitTypeShape(i.shape,r),empty:tLt.noop})}static visitFormDataRequest(t,r){return t.fields.forEach(i=>Iy(i)._visit({file:tLt.noop,files:tLt.noop,property:n=>e.visitTypeShape(n.valueShape,r)}))}static visitTypeDefinition(t,r){return e.visitTypeShape(t.shape,r)}static visitTypeShape(t,r){return Iy(t)._visit({object:i=>e.visitObjectType(i,r),alias:i=>e.visitTypeReference(i.value,r),enum:tLt.noop,undiscriminatedUnion:i=>i.variants.forEach(n=>e.visitTypeShape(n.shape,r)),discriminatedUnion:i=>i.variants.forEach(n=>e.visitObjectType(n,r))})}static visitObjectType(t,r){t.extends.forEach(r),t.properties.forEach(i=>{e.visitTypeShape(i.valueShape,r)})}static visitTypeReference(t,r){return Iy(t)._visit({id:i=>r(i.id),primitive:tLt.noop,optional:i=>e.visitTypeShape(i.shape,r),nullable:i=>e.visitTypeShape(i.shape,r),list:i=>e.visitTypeShape(i.itemShape,r),set:i=>e.visitTypeShape(i.itemShape,r),map:i=>{e.visitTypeShape(i.keyShape,r),e.visitTypeShape(i.valueShape,r)},literal:tLt.noop,unknown:tLt.noop})}};var Fuc=class e{api;static instances=new WeakMap;static from(t){let r=e.instances.get(t)??new e(t);return e.instances.set(t,r),r}constructor(t){this.api=t}prune(...t){let r={...this.api,endpoints:{},websockets:{},webhooks:{},types:{},subpackages:{},auths:{}},i=new Set,n=new Set;for(let a of t)if(a.type==="endpoint"){let u=this.api.endpoints[a.endpointId];u&&(r.endpoints[a.endpointId]=u,u.namespace?.forEach(l=>i.add(l)),u.auth?.forEach(l=>n.add(l)))}else if(a.type==="webSocket"){let u=this.api.websockets[a.webSocketId];u&&(r.websockets[a.webSocketId]=u,u.namespace?.forEach(l=>i.add(l)),u.auth?.forEach(l=>n.add(l)))}else if(a.type==="webhook"){let u=this.api.webhooks[a.webhookId];u&&(r.webhooks[a.webhookId]=u,u.namespace?.forEach(l=>i.add(l)))}return r.types=this.pruneTypes(r),i.forEach(a=>{let u=this.api.subpackages[a];u&&(r.subpackages[a]=u)}),n.forEach(a=>{let u=this.api.auths[a];u&&(r.auths[a]=u)}),r}pruneTypes(t){let r=new Set;t.globalHeaders?.forEach(n=>{Shi.visitTypeShape(n.valueShape,a=>r.add(a))});for(let n of Object.values(t.endpoints))Shi.visitEndpointDefinition(n,a=>r.add(a));for(let n of Object.values(t.websockets))Shi.visitWebSocketChannel(n,a=>r.add(a));for(let n of Object.values(t.webhooks))Shi.visitWebhookDefinition(n,a=>r.add(a));r=this.expandTypeIds(r);let i={};return r.forEach(n=>{let a=this.api.types[n];a!=null&&(i[n]=a)}),i}expandTypeIds(t){let r=new Set,i=Array.from(t),n=0;for(;i.length>0;){if(n>1e4+t.size)throw new Error("Infinite loop detected while expanding type references.");let a=i.pop();if(a!=null&&!r.has(a)){r.add(a);let u=this.api.types[a];u&&Shi.visitTypeDefinition(u,l=>{i.push(l)})}n++}return r}};function WOa(e,...t){return Fuc.from(e).prune(...t)}function tyE(e,t){if(!e)return;let r=t!=null?WOa(t,e):void 0,i=r?.endpoints[e.endpointId];if(i)return{node:e,endpoint:i,auth:i.auth?.map(n=>r.auths[n])[0],globalHeaders:r.globalHeaders??[],types:r.types}}function ryE(e,t){if(!e)return;let r=t!=null?WOa(t,e):void 0,i=r?.websockets[e.webSocketId];if(i)return{node:e,channel:i,auth:i.auth?.map(n=>r.auths[n])[0],globalHeaders:r.globalHeaders??[],types:r.types}}function iyE(e,t){if(!e)return;let r=t!=null?WOa(t,e):void 0,i=r?.webhooks[e.webhookId];if(i)return{node:e,webhook:i,types:r.types}}var f7i={};jn(f7i,{ApiDefinitionId:()=>tqn,ApiId:()=>aqn,Availability:()=>yQ,DocsConfigId:()=>oqn,EndpointId:()=>sqn,EndpointPathLiteral:()=>bqn,EnvironmentId:()=>uqn,FileId:()=>pqn,HttpMethod:()=>gqn,JqString:()=>hqn,ObjectPropertyAccess:()=>Luc,OrgId:()=>iqn,PageId:()=>dqn,PropertyKey:()=>yqn,RoleId:()=>vqn,SubpackageId:()=>UOa,SupportedLanguage:()=>dB,TokenId:()=>nqn,TypeId:()=>fqn,Url:()=>_qn,VersionId:()=>rqn,WebSocketId:()=>cqn,WebSocketMessageId:()=>Auc,WebSocketMessageOrigin:()=>quc,WebhookHttpMethod:()=>Tuc,WebhookId:()=>lqn,endpoint:()=>J8o,getApi:()=>Y8o,type_:()=>K8o,webhook:()=>Uuc,websocket:()=>Vuc});var Wuc={};jn(Wuc,{ObjectPropertyAccess:()=>Luc,SupportedLanguage:()=>dB,endpoint:()=>J8o,getApi:()=>Y8o,type_:()=>K8o,webhook:()=>Uuc,websocket:()=>Vuc});var J8o={};jn(J8o,{SupportedLanguage:()=>dB});var dB={Curl:"curl",Python:"python",Javascript:"javascript",Js:"js",Node:"node",Typescript:"typescript",Ts:"ts",Go:"go",Ruby:"ruby",Csharp:"csharp"};var K8o={};jn(K8o,{ObjectPropertyAccess:()=>Luc});var Luc={ReadOnly:"READ_ONLY",WriteOnly:"WRITE_ONLY"};var Uuc={};var Vuc={};var Y8o={};jn(Y8o,{Error:()=>nyE});var nyE={apiDoesNotExistError:()=>({error:"ApiDoesNotExistError"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"ApiDoesNotExistError":return t.apiDoesNotExistError();default:return t._other(e)}}};function ayE(e){return e.map(t=>t.type==="literal"?t.value:`:${t.value}`).join("")}function oyE(e){return e.map(t=>t.type==="literal"?t.value:`{${t.value}}`).join("")}function uyE(e=!1){return(t,...r)=>{let i={id:t.id,endpoints:{...t.endpoints},websockets:{...t.websockets},webhooks:{...t.webhooks},types:{...t.types},subpackages:{...t.subpackages},auths:{...t.auths},globalHeaders:t.globalHeaders?[...t.globalHeaders]:void 0,snippetsConfiguration:t.snippetsConfiguration?{...t.snippetsConfiguration}:void 0},n=!1;for(let a of r){if(a.id!==i.id)throw new Error("Cannot join API definitions with different IDs");for(let[l,f]of Object.entries(a.endpoints))!n&&!t.endpoints[l]&&(n=!0),i.endpoints[l]=f;for(let[l,f]of Object.entries(a.websockets))!n&&!t.websockets[l]&&(n=!0),i.websockets[l]=f;for(let[l,f]of Object.entries(a.webhooks))!n&&!t.webhooks[l]&&(n=!0),i.webhooks[l]=f;for(let[l,f]of Object.entries(a.types))!n&&!t.types[l]&&(n=!0),i.types[l]=f;for(let[l,f]of Object.entries(a.subpackages))!n&&!t.subpackages[l]&&(n=!0),i.subpackages[l]=f;for(let[l,f]of Object.entries(a.auths))!n&&!t.auths[l]&&(n=!0),i.auths[l]=f;let u=i.globalHeaders??=[];a.globalHeaders?.forEach(l=>{u.find(f=>f.key===l.key)||(n=!0,u.push(l))})}return!n&&!e?t:i}}function Huc(e){return e=e.toLowerCase().trim(),["node","nodejs","js","javascript"].includes(e)?dB.Javascript:["py","python"].includes(e)?dB.Python:["ts","typescript","ts-node"].includes(e)?dB.Typescript:["go","golang"].includes(e)?dB.Go:e}var RRe="__package__";var $uc=oi(yS(),1);function HOa(e,t,r){let i=(e.environments?.find(f=>f.id===e.defaultEnvironment)??e.environments?.[0])?.baseUrl,n=Dh(QDe([i,t.path])),a={...t.headers},u;e.auth&&e.auth.length>0&&r&&Iy(r,"type")._visit({basicAuth:({usernameName:f="username",passwordName:s="password"})=>{u={username:`<${f}>`,password:`<${s}>`}},bearerAuth:({tokenName:f="token"})=>{a.Authorization=`Bearer <${f}>`},header:({headerWireValue:f,nameOverride:s=f,prefix:o})=>{a[f]=o!=null?`${o} <${s}>`:`<${s}>`},oAuth:({value:f})=>{Iy(f,"type")._visit({clientCredentials:()=>{a.Authorization="Bearer <token>"},_other:$uc.noop})},_other:$uc.noop});let l=t.requestBody;return e.requests?.[0]?.contentType!=null&&(a["Content-Type"]=e.requests?.[0]?.contentType),l!=null&&a["Content-Type"]==null&&(l.type==="json"?a["Content-Type"]="application/json":l.type==="form"&&(a["Content-Type"]="multipart/form-data")),e.protocol?.type==="openrpc"&&(a["Content-Type"]="application/json"),{method:e.method,url:n,searchParams:t.queryParameters??{},headers:JSON.parse(JSON.stringify(a)),basicAuth:u,protocol:e.protocol,body:l==null?void 0:Iy(l)._visit({json:f=>f,form:f=>{let s={};for(let[o,c]of Object.entries(f.value))s[o]=Iy(c)._visit({exploded:b=>b,json:b=>b,filename:b=>({type:"filename",filename:b.value,contentType:void 0}),filenames:b=>({type:"filenames",files:b.value.map(g=>({filename:g,contentType:void 0}))}),filenameWithData:b=>({type:"filename",filename:b.filename,contentType:void 0}),filenamesWithData:b=>({type:"filenames",files:b.value.map(({filename:g})=>({filename:g,contentType:void 0}))})});return{type:"form",value:s}},bytes:()=>({type:"bytes",filename:"<filename>"}),_other:()=>{}})}}var Quc=oi(yS(),1);function Guc(e,t){let r=[];return e&&typeof e=="object"&&(r=Object.values(e)),{jsonrpc:"2.0",method:t,params:r,id:1}}function syE(e){return encodeURIComponent(e)!==e}function $Oa(e,t){try{return byE(e,t)}catch(r){return console.error(r),""}}function cyE(e,t,r){let i=_P_(r).map(([n,a])=>`${n}=${encodeURIComponent(tEe(a))}`).join("&");return e!=="GET"?i.length>0?`-X ${e} "${t}?${i}"`:`-X ${e} ${t}`:i.length>0?`-G ${t}`:t}function lyE(e){return Object.entries(e).map(([t,r])=>`-H "${t}: ${tEe(r)}"`)}function fyE(e,t){return t?[`-u "${e.username}:${Juc(e.password)}"`]:[`-u "${e.username}:${e.password}"`]}function pP_(e){return _P_(e).map(([t,r])=>`${syE(r)?"--data-urlencode":"-d"} ${t.includes("[")?`"${t}"`:t}=${r.includes(" ")?`"${r}"`:r}`)}function fP_(e,t){if(t?.type==="openrpc"){let i=Guc(e,t.methodName);return[`-d '${JSON.stringify(i,null,2).replace(/'/g,"\\'")}'`]}return e==null?[]:typeof e=="string"?[`-d "${e.replace(/"/g,'\\"')}"`]:[`-d '${JSON.stringify(e,null,2).replace(/'/g,"\\'")}'`]}function dyE(e){return[`--data-binary @${e.includes(" ")?`"${e}"`:e}`]}function dP_(e,t,r){if(e==null)return[];if(typeof e=="string")return[`-F ${t}="${e.replace(/"/g,'\\"')}"`];let i=JSON.stringify(e,null,2);return[`-F ${t}='${i.replace(/'/g,"'\\''")}${r?";type=application/json":""}'`]}function pyE({files:e},t){return e.filter(r=>r.filename!=null).map(({filename:r,contentType:i})=>`-F "${t}[]"=@${r.includes(" ")||i!=null?`"${r}${i!=null?`;type=${i}`:""}"`:r}`)}function _yE({filename:e,contentType:t},r){return e==null?[]:[`-F ${r}=@${e.includes(" ")||t!=null?`"${e}${t!=null?`;type=${t}`:""}"`:e}`]}function hyE(e,t,r){switch(e.type){case"json":return dP_(e.value,t,r);case"filename":return _yE(e,t);case"filenames":return pyE(e,t);case"exploded":return(e.value??[]).flatMap(i=>dP_(i,t,r));default:throw new Quc.UnreachableCaseError(e)}}function yyE(e,t){return Object.entries(e).flatMap(([r,i])=>hyE(i,r,t))}function vyE(e,t,r,i){if(e==="GET")return[];if(t==null)return i?.type==="openrpc"?fP_(void 0,i):[];switch(t.type){case"json":return fP_(t.value,i);case"bytes":return dyE(t.filename);case"form":return yyE(t.value,r);default:throw new Quc.UnreachableCaseError(t)}}function byE({method:e,url:t,searchParams:r,headers:i,basicAuth:n,body:a,protocol:u,redacted:l},{usesApplicationJsonInFormDataValue:f}){let s=cyE(e,t,r),o=lyE(n!=null?Object.fromEntries(Object.entries(i).filter(([E])=>E.toLowerCase()!=="authorization")):i),c=n!=null?fyE(n,l):[],b=e!=="GET"&&tEe(i["Content-Type"]??i["content-type"]).toLowerCase().includes("form-urlencoded"),g=pP_({...e==="GET"?r:{},...b&&a?.type==="json"&&Oqn(a.value)?a.value:{}}),O=b?[]:vyE(e,a,f,u),m=QDe([...o,...c,...g,...O]);function P(E){return` \\
2029
2029
  ${E}`}return`curl ${s}${m.map(P).join("")}`}function _P_(e){return Object.entries(e).flatMap(([t,r])=>Array.isArray(r)?r.filter(whi).map(i=>[t,tEe(i)]):r==null?[]:[[t,tEe(r)]])}function Kuc(e,t){return uT(uga([...t,...oga(Object.keys(e),t)],r=>r),r=>e[r])}function cW(e,t,r){return!mqn(e)&&!Array.isArray(e)||t==null?e:Iy(t,"type")._visit({id:({id:i})=>cW(e,r[i]?.shape,r),primitive:()=>e,literal:()=>e,optional:({shape:i})=>cW(e,i,r),nullable:({shape:i})=>cW(e,i,r),list:({itemShape:i})=>Array.isArray(e)?e.map(n=>cW(n,i,r)):e,set:({itemShape:i})=>Array.isArray(e)?e.map(n=>cW(n,i,r)):e,map:({valueShape:i})=>mqn(e)?uT(e,n=>cW(n,i,r)):e,unknown:()=>e,object:i=>{let n=l7i(i,r).properties;return mqn(e)?uT(Kuc(e,n.map(a=>a.key)),(a,u)=>{let l=n.find(f=>f.key===u);return l==null?a:cW(a,l?.valueShape,r)}):e},undiscriminatedUnion:()=>e,discriminatedUnion:i=>{let{discriminant:n,variants:a}=i;if(!mqn(e))return e;let u=e[n];if(u==null)return e;let l=a.find(s=>s.discriminantValue===u);if(l==null)return e;let f=Nuc(i,l,r).properties;return uT(Kuc(e,[n,...f.map(s=>s.key)]),(s,o)=>{if(o===n)return s;let c=f.find(b=>b.key===o);return c==null?s:cW(s,c.valueShape,r)})},enum:()=>e,alias:({value:i})=>cW(e,i,r),formData:({fields:i})=>mqn(e)?uT(Kuc(e,i.map(n=>n.key)),(n,a)=>{let u=i.find(l=>l.key===a);if(u==null)return n;if(u.type==="property")return cW(n,u.valueShape,r)}):e,bytes:()=>e,fileDownload:()=>e,streamingText:()=>e,stream:()=>e,empty:()=>e,_other:()=>e})}var hP_={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"},yP_={200:{GET:"Retrieved",POST:"Successful",PUT:"Updated",PATCH:"Updated",DELETE:"Deleted"}};function Yuc(e,t){if(t!=null){let i=yP_[e];if(i!=null){let n=i[t];if(n!=null)return n}}let r=hP_[e];return r??(e>=100&&e<200?"Informational":e>=200&&e<300?"Success":e>=300&&e<400?"Redirection":e>=400&&e<500?"Client Error":e>=500&&e<600?"Server Error":"Unknown Status")}function gyE(e){return typeof e.subpackageId=="string"}var Xuc="default",Zuc=class e{v1;flags;static from(t,r){return new e(t,r)}auth;constructor(t,r){this.v1=t,this.flags=r,this.auth=t.auth}static createEndpointId(t,r=RRe){return t.originalEndpointId??`${r}.${t.id}`}static createWebSocketId(t,r=RRe){return`${r}.${t.id}`}static createWebhookId(t,r=RRe){return`${r}.${t.id}`}endpoints={};websockets={};webhooks={};subpackages={};types={};migrate=()=>(Object.entries(this.v1.types).forEach(([t,r])=>{this.types[t]={name:r.name,description:r.description,availability:r.availability,shape:this.migrateTypeShape(r.shape)}}),[this.v1.rootPackage,...Object.values(this.v1.subpackages)].forEach(t=>{let[r,i]=this.collectNamespace(t,this.v1.subpackages);t.endpoints.forEach(n=>{let a=e.createEndpointId(n,r);this.endpoints[a]=this.migrateEndpoint(a,n,i)}),t.websockets.forEach(n=>{let a=e.createWebSocketId(n,r);this.websockets[a]=this.migrateWebSocket(a,n,i)}),t.webhooks.forEach(n=>{let a=e.createWebhookId(n,r);this.webhooks[a]=this.migrateWebhook(a,n,i)})}),Object.values(this.v1.subpackages).forEach(t=>{this.subpackages[t.subpackageId]=this.migrateSubpackage(t)}),{id:this.v1.id,endpoints:this.endpoints,websockets:this.websockets,webhooks:this.webhooks,types:this.types,subpackages:this.subpackages,auths:this.v1.auth?{[Xuc]:this.v1.auth}:{},globalHeaders:this.migrateParameters(this.v1.globalHeaders),snippetsConfiguration:void 0});collectNamespace=(t,r)=>{if(!gyE(t))return[RRe,[]];let i=[t.subpackageId],n=t,a=0;for(;n.parent!=null;){if(a>100)throw new Error("Circular subpackage reference detected");let u=r[n.parent];if(u==null)break;i.unshift(n.parent),n=u,a++}return[t.subpackageId,i]};migrateEndpoint=(t,r,i)=>{let n={id:t,namespace:i,displayName:r.name,operationId:r.urlSlug.split("/").pop(),description:r.description,availability:r.availability,method:r.method,path:r.path.parts.filter(a=>a.value!==""),auth:r.authed?[Xuc]:void 0,defaultEnvironment:r.defaultEnvironment,environments:r.environments,pathParameters:this.migrateParameters(r.path.pathParameters),queryParameters:this.migrateParameters(r.queryParameters),requestHeaders:this.migrateParameters(r.headers),responseHeaders:void 0,requests:[this.migrateHttpRequest(r.request)].filter(whi),responses:[this.migrateHttpResponse(r.response)].filter(whi),errors:this.migrateHttpErrors(r.errorsV2),examples:void 0,snippetTemplates:r.snippetTemplates,protocol:r.protocol};return n.examples=this.migrateHttpExamples(r.examples,n),n};migrateWebSocket=(t,r,i)=>{let n=this.migrateChannelMessages(r.messages);return{id:t,namespace:i,displayName:r.name,operationId:r.urlSlug.split("/").pop(),description:r.description,availability:r.availability,path:r.path.parts.filter(a=>a.value!==""),messages:n,auth:r.auth?[Xuc]:void 0,defaultEnvironment:r.defaultEnvironment,environments:r.environments,pathParameters:this.migrateParameters(r.path.pathParameters),queryParameters:this.migrateParameters(r.queryParameters),requestHeaders:this.migrateParameters(r.headers),examples:this.migrateChannelExamples(r.examples,n)}};migrateWebhook=(t,r,i)=>{let n=this.migrateWebhookPayload(r.payload);return{id:t,namespace:i,displayName:r.name,operationId:r.urlSlug.split("/").pop(),description:r.description,availability:void 0,method:r.method,path:r.path,headers:this.migrateParameters(r.headers),payloads:[n],examples:r.examples.map(a=>({...a,payload:cW(a.payload,n.shape,this.types)}))}};migrateSubpackage=t=>({id:t.subpackageId,name:t.name,displayName:t.displayName});migrateParameters=t=>{if(!(t==null||t.length===0))return t.map(r=>({key:r.key,valueShape:{type:"alias",value:this.migrateTypeReference(r.type)},propertyAccess:void 0,description:r.description,availability:r.availability}))};migrateTypeReference=t=>Iy(t)._visit({map:r=>({type:"map",keyShape:{type:"alias",value:this.migrateTypeReference(r.keyType)},valueShape:{type:"alias",value:this.migrateTypeReference(r.valueType)}}),id:r=>({type:"id",id:r.value,default:r.default}),primitive:r=>r,optional:r=>({type:"optional",shape:{type:"alias",value:this.migrateTypeReference(r.itemType)},default:r.defaultValue}),list:r=>({type:"list",itemShape:{type:"alias",value:this.migrateTypeReference(r.itemType)}}),set:r=>({type:"set",itemShape:{type:"alias",value:this.migrateTypeReference(r.itemType)}}),literal:r=>r,unknown:()=>({type:"unknown",displayName:void 0})});migrateTypeShape=t=>Iy(t)._visit({object:r=>({type:"object",extends:r.extends,properties:this.migrateObjectProperties(r.properties),extraProperties:r.extraProperties!=null?this.migrateTypeReference(r.extraProperties):void 0}),alias:r=>({type:"alias",value:this.migrateTypeReference(r.value)}),enum:r=>r,undiscriminatedUnion:r=>({type:"undiscriminatedUnion",variants:r.variants.map(i=>({displayName:i.displayName,shape:{type:"alias",value:this.migrateTypeReference(i.type)},description:i.description,availability:i.availability}))}),discriminatedUnion:r=>({type:"discriminatedUnion",discriminant:r.discriminant,variants:r.variants.map(i=>({discriminantValue:i.discriminantValue,displayName:i.displayName,description:i.description,availability:i.availability,extends:i.additionalProperties.extends,properties:this.migrateObjectProperties(i.additionalProperties.properties),extraProperties:void 0}))})});migrateObjectProperties=t=>t.map(r=>({key:r.key,valueShape:{type:"alias",value:this.migrateTypeReference(r.valueType)},propertyAccess:r.propertyAccess,description:r.description,availability:r.availability}));migrateJsonShape=t=>Iy(t)._visit({object:this.migrateTypeShape,reference:r=>({type:"alias",value:this.migrateTypeReference(r.value)})});migrateWebhookPayload=t=>({description:t.description,shape:this.migrateJsonShape(t.type)});migrateChannelExamples=(t,r)=>{if(t.length!==0)return t.map(i=>({description:i.description,path:i.path,name:i.name,pathParameters:i.pathParameters,queryParameters:i.queryParameters,requestHeaders:i.headers,messages:i.messages.map(n=>({...n,body:cW(n.body,r.find(a=>a.type===n.type)?.body,this.types)}))}))};migrateChannelMessages=t=>t.map(r=>({type:r.type,displayName:r.displayName,origin:r.origin,body:this.migrateJsonShape(r.body),description:r.description,availability:r.availability}));migrateHttpExamples=(t,r)=>{if(t.length!==0)return t.map(i=>{let n={path:i.path,responseStatusCode:i.responseStatusCode,name:i.name,description:i.description,pathParameters:i.pathParameters,queryParameters:i.queryParameters,headers:i.headers,requestBody:i.requestBodyV3,responseBody:i.responseBodyV3,snippets:void 0};return i.requestBodyV3&&(n.requestBody=Iy(i.requestBodyV3)._visit({bytes:a=>a,json:a=>({type:"json",value:cW(a.value,r.requests?.[0]?.body,this.types)}),form:a=>({type:"form",value:uT(a.value,(u,l)=>{if(u.type==="json"){let f=r.requests?.[0]?.body.type==="formData"?r.requests?.[0]?.body.fields.find(s=>s.key===l&&s.type==="property")?.valueShape:void 0;return{type:"json",value:cW(u.value,f,this.types)}}else return u})})})),n.responseBody&&(n.responseBody.value=cW(n.responseBody.value,r.responses?.[0]?.body,this.types)),n.snippets=this.migrateEndpointSnippets(r,n,i.codeSamples,i.codeExamples,this.flags),n})};migrateHttpErrors=t=>{if(!(t==null||t.length===0))return t.map(r=>{let i=r.type!=null?this.migrateTypeShape(r.type):void 0;return{description:r.description,availability:r.availability,name:(r.name!=null?VOa(r.name):void 0)??Yuc(r.statusCode),statusCode:r.statusCode,shape:i,examples:r.examples?.map(n=>({description:n.description,name:n.name,responseBody:{type:"json",value:cW(n.responseBody.value,i,this.types)}}))}})};migrateHttpResponse=t=>{if(t!=null)return{description:t.description,statusCode:t.statusCode??200,body:Iy(t.type)._visit({object:r=>({type:"object",extends:r.extends,properties:this.migrateObjectProperties(r.properties),extraProperties:void 0}),reference:r=>({type:"alias",value:this.migrateTypeReference(r.value)}),fileDownload:r=>r,streamingText:r=>r,stream:r=>({type:"stream",terminator:r.terminator,shape:this.migrateJsonShape(r.shape)}),streamCondition:r=>({type:"stream",terminator:void 0,shape:this.migrateJsonShape(r.streamResponse.shape)})})}};migrateHttpRequest=t=>{if(t!=null)return{description:t.description,contentType:t.contentType,body:Iy(t.type)._visit({object:r=>({type:"object",extends:r.extends,properties:this.migrateObjectProperties(r.properties),extraProperties:void 0}),reference:r=>({type:"alias",value:this.migrateTypeReference(r.value)}),bytes:r=>({type:"bytes",isOptional:r.isOptional,contentType:r.contentType}),formData:r=>({type:"formData",description:r.description,availability:r.availability,fields:this.migrateFormDataProperties(r.properties)}),fileUpload:r=>({type:"formData",description:r.value?.description,availability:r.value?.availability,fields:this.migrateFormDataProperties(r.value?.properties??[])})})}};migrateFormDataProperties=t=>t.map(r=>Iy(r)._visit({file:i=>Iy(i.value)._visit({file:n=>({type:"file",key:n.key,isOptional:n.isOptional,contentType:n.contentType,description:n.description,availability:n.availability}),fileArray:n=>({type:"files",key:n.key,isOptional:n.isOptional,contentType:n.contentType,description:n.description,availability:n.availability})}),bodyProperty:i=>({type:"property",key:i.key,contentType:i.contentType,description:i.description,availability:i.availability,exploded:i.exploded,valueShape:{type:"alias",value:this.migrateTypeReference(i.valueType)},propertyAccess:i.propertyAccess})}));migrateEndpointSnippets(t,r,i,n,a){let u={};function l(o,c){(u[o]??=[]).push(c)}let f=new Set;if(i.forEach(o=>{let c=Huc(o.language);f.add(c),l(c,{name:o.name,language:c,install:o.install,code:o.code,generated:!1,description:o.description})}),!f.has(dB.Curl)){let o=$Oa(HOa(t,r,this.auth),a);l(dB.Curl,{language:dB.Curl,code:o,name:void 0,install:void 0,generated:!0,description:void 0})}!f.has(dB.Python)&&n.pythonSdk!=null&&l(dB.Python,{name:void 0,language:dB.Python,install:n.pythonSdk.install,code:n.pythonSdk.sync_client,generated:!0,description:void 0});let s=a.useJavaScriptAsTypeScript?dB.Javascript:dB.Typescript;return!a.alwaysEnableJavaScriptFetch&&!f.has(s)&&n.typescriptSdk!=null&&l(s,{name:void 0,language:s,install:n.typescriptSdk.install,code:n.typescriptSdk.client,generated:!0,description:void 0}),!f.has(dB.Go)&&n.goSdk!=null&&l(dB.Go,{name:void 0,language:dB.Go,install:n.goSdk.install,code:n.goSdk.client,generated:!0,description:void 0}),!f.has(dB.Ruby)&&n.rubySdk!=null&&l(dB.Ruby,{name:void 0,language:dB.Ruby,install:n.rubySdk.install,code:n.rubySdk.client,generated:!0,description:void 0}),!f.has(dB.Csharp)&&n.csharpSdk!=null&&l(dB.Csharp,{name:void 0,language:dB.Csharp,install:n.csharpSdk.install,code:n.csharpSdk.client,generated:!0,description:void 0}),u}};var kuc=class e{static with(t){return new e({EndpointDefinition:t.EndpointDefinition??wA,HttpRequest:t.HttpRequest??wA,HttpResponse:t.HttpResponse??wA,ErrorResponse:t.ErrorResponse??wA,ExampleEndpointCall:t.ExampleEndpointCall??wA,CodeSnippet:t.CodeSnippet??wA,ErrorExample:t.ErrorExample??wA,WebhookDefinition:t.WebhookDefinition??wA,WebhookPayload:t.WebhookPayload??wA,WebSocketChannel:t.WebSocketChannel??wA,WebSocketMessage:t.WebSocketMessage??wA,ExampleWebSocketSession:t.ExampleWebSocketSession??wA,TypeDefinition:t.TypeDefinition??wA,TypeShape:t.TypeShape??wA,ObjectType:t.ObjectType??wA,ObjectProperty:t.ObjectProperty??wA,EnumValue:t.EnumValue??wA,UndiscriminatedUnionVariant:t.UndiscriminatedUnionVariant??wA,DiscriminatedUnionVariant:t.DiscriminatedUnionVariant??wA,FormDataRequest:t.FormDataRequest??wA,FormDataField:t.FormDataField??wA,FormDataFile:t.FormDataFile??wA,FormDataFiles:t.FormDataFiles??wA})}static descriptions(t){function r(i,n){let a=i.description!=null?t(i.description,n):void 0;return{...i,description:a}}return e.with({EndpointDefinition:r,HttpRequest:r,HttpResponse:r,ErrorResponse:r,ExampleEndpointCall:r,CodeSnippet:r,ErrorExample:r,WebhookDefinition:r,WebhookPayload:r,WebSocketChannel:r,WebSocketMessage:r,ExampleWebSocketSession:r,TypeDefinition:r,ObjectProperty:r,EnumValue:r,UndiscriminatedUnionVariant:r,DiscriminatedUnionVariant:r,FormDataRequest:r,FormDataField:r,FormDataFile:r,FormDataFiles:r})}static keys(t){function r(i,n){return t(n),i}return e.with({EndpointDefinition:r,HttpRequest:r,HttpResponse:r,ErrorResponse:r,ExampleEndpointCall:r,CodeSnippet:r,ErrorExample:r,WebhookDefinition:r,WebhookPayload:r,WebSocketChannel:r,WebSocketMessage:r,ExampleWebSocketSession:r,TypeDefinition:r,TypeShape:r,ObjectType:r,ObjectProperty:r,EnumValue:r,UndiscriminatedUnionVariant:r,DiscriminatedUnionVariant:r,FormDataRequest:r,FormDataField:r,FormDataFile:r,FormDataFiles:r})}visitor;constructor(t){this.visitor=this.#e(t)}apiDefinition=t=>{let r=Object.entries(t.endpoints).map(([l,f])=>[l,this.visitor.EndpointDefinition(f,`${t.id}/endpoint/${l}`)]),i=Object.entries(t.websockets).map(([l,f])=>[l,this.visitor.WebSocketChannel(f,`${t.id}/websocket/${l}`)]),n=Object.entries(t.webhooks).map(([l,f])=>[l,this.visitor.WebhookDefinition(f,`${t.id}/webhoook/${l}`)]),a=Object.entries(t.types).map(([l,f])=>[l,this.visitor.TypeDefinition(f,`${t.id}/type-definition/${l}`)]),u=t.globalHeaders?.map(l=>this.visitor.ObjectProperty(l,`${t.id}/global-headers/${l.key}`))??[];return{id:t.id,endpoints:Object.fromEntries(r),websockets:Object.fromEntries(i),webhooks:Object.fromEntries(n),types:Object.fromEntries(a),globalHeaders:u,auths:t.auths,subpackages:t.subpackages,snippetsConfiguration:t.snippetsConfiguration}};#e=t=>({CodeSnippet:t.CodeSnippet,ErrorExample:t.ErrorExample,ExampleWebSocketSession:t.ExampleWebSocketSession,ObjectProperty:t.ObjectProperty,EnumValue:t.EnumValue,UndiscriminatedUnionVariant:t.UndiscriminatedUnionVariant,FormDataFile:t.FormDataFile,FormDataFiles:t.FormDataFiles,EndpointDefinition:(i,n)=>t.EndpointDefinition(this.endpoint(i,n),n),HttpRequest:(i,n)=>t.HttpRequest(this.httpRequest(i,n),n),HttpResponse:(i,n)=>t.HttpResponse(this.httpResponse(i,n),n),ErrorResponse:(i,n)=>t.ErrorResponse(this.errorResponse(i,n),n),ExampleEndpointCall:(i,n)=>t.ExampleEndpointCall(this.exampleEndpointCall(i,n),n),WebhookDefinition:(i,n)=>t.WebhookDefinition(this.webhookDefinition(i,n),n),WebhookPayload:(i,n)=>t.WebhookPayload(this.webhookPayload(i,n),n),WebSocketChannel:(i,n)=>t.WebSocketChannel(this.webSocketChannel(i,n),n),WebSocketMessage:(i,n)=>t.WebSocketMessage(this.webSocketMessage(i,n),n),TypeDefinition:(i,n)=>t.TypeDefinition(this.typeDefinition(i,n),n),TypeShape:(i,n)=>t.TypeShape(this.typeShape(i,n),n),ObjectType:(i,n)=>t.ObjectType(this.objectType(i,n),n),DiscriminatedUnionVariant:(i,n)=>t.DiscriminatedUnionVariant(this.objectType(i,n),n),FormDataRequest:(i,n)=>t.FormDataRequest(this.formDataRequest(i,n),n),FormDataField:(i,n)=>t.FormDataField(this.formDataField(i,n),n)});endpoint=(t,r)=>{let i=t.pathParameters?.map(c=>this.visitor.ObjectProperty(c,`${r}/path/${c.key}`))??[],n=t.queryParameters?.map(c=>this.visitor.ObjectProperty(c,`${r}/query/${c.key}`))??[],a=t.requestHeaders?.map(c=>this.visitor.ObjectProperty(c,`${r}/requestHeader/${c.key}`))??[],u=t.responseHeaders?.map(c=>this.visitor.ObjectProperty(c,`${r}/responseHeader/${c.key}`))??[],l=t.requests?.map((c,b)=>this.visitor.HttpRequest(c,`${r}/request/${b}`)),f=t.responses?.map((c,b)=>this.visitor.HttpResponse(c,`${r}/response/${b}/${c.statusCode}`)),s=t.errors?.map((c,b)=>this.visitor.ErrorResponse(c,`${r}/error/${b}/${c.statusCode}`))??[],o=t.examples?.map((c,b)=>this.visitor.ExampleEndpointCall(c,`${r}/example/${b}`))??[];return{...t,pathParameters:i.length>0?i:void 0,queryParameters:n.length>0?n:void 0,requestHeaders:a.length>0?a:void 0,responseHeaders:u.length>0?u:void 0,requests:l,responses:f,errors:s.length>0?s:void 0,examples:o.length>0?o:void 0}};httpRequest=(t,r)=>{let i=Iy(t.body)._visit({object:n=>({...n,...this.visitor.ObjectType(n,`${r}/object`)}),alias:wA,bytes:wA,formData:n=>({...n,...this.visitor.FormDataRequest(n,`${r}/formdata`)})});return{...t,body:i}};formDataField=(t,r)=>Iy(t)._visit({file:i=>({...i,...this.visitor.FormDataFile(i,`${r}/file/${i.key}`)}),files:i=>({...i,...this.visitor.FormDataFiles(i,`${r}/files/${i.key}`)}),property:i=>({...i,...this.visitor.ObjectProperty(i,`${r}/property/${i.key}`)})});httpResponse=(t,r)=>{let i=Iy(t.body)._visit({object:n=>({...n,...this.visitor.ObjectType(n,`${r}/object`)}),alias:wA,fileDownload:wA,streamingText:wA,stream:n=>({...n,shape:this.visitor.TypeShape(n.shape,`${r}/stream/shape`)}),empty:wA});return{...t,body:i}};objectType=(t,r)=>{let i=t.properties.map(n=>this.visitor.ObjectProperty(n,`${r}/property/${n.key}`));return{...t,properties:i}};errorResponse=(t,r)=>{let i=t.shape?this.visitor.TypeShape(t.shape,`${r}/error/shape`):void 0,n=t.examples?.map((a,u)=>this.visitor.ErrorExample(a,`${r}/example/${u}`))??[];return{...t,shape:i,examples:n.length>0?n:void 0}};exampleEndpointCall=(t,r)=>{let i=Object.entries(t.snippets??{}).map(([a,u])=>[a,u.map((l,f)=>this.visitor.CodeSnippet(l,`${r}/snippet/${a}/${f}`))]).filter(([,a])=>a.length>0),n=Object.fromEntries(i);return{...t,snippets:i.length>0?n:void 0}};webhookDefinition=(t,r)=>{let i=t.payloads?.[0]!=null?this.visitor.WebhookPayload(t.payloads[0],`${r}/payload`):void 0,n=t.headers?.map(a=>this.visitor.ObjectProperty(a,`${r}/header/${a.key}`))??[];return{...t,payloads:i!=null?[i]:void 0,headers:n.length>0?n:void 0}};webhookPayload=(t,r)=>{let i=this.visitor.TypeShape(t.shape,`${r}/shape`);return{...t,shape:i}};webSocketChannel=(t,r)=>{let i=t.pathParameters?.map(f=>this.visitor.ObjectProperty(f,`${r}/path/${f.key}`))??[],n=t.queryParameters?.map(f=>this.visitor.ObjectProperty(f,`${r}/query/${f.key}`))??[],a=t.requestHeaders?.map(f=>this.visitor.ObjectProperty(f,`${r}/requestHeader/${f.key}`))??[],u=t.messages.map(f=>this.visitor.WebSocketMessage(f,`${r}/message/${f.origin}/${f.type}`)),l=t.examples?.map((f,s)=>this.visitor.ExampleWebSocketSession(f,`${r}/example/${s}`))??[];return{...t,pathParameters:i.length>0?i:void 0,queryParameters:n.length>0?n:void 0,requestHeaders:a.length>0?a:void 0,messages:u,examples:l.length>0?l:void 0}};webSocketMessage=(t,r)=>{let i=this.visitor.TypeShape(t.body,`${r}/body`);return{...t,body:i}};typeShape=(t,r)=>Iy(t)._visit({object:i=>({...i,...this.visitor.ObjectType(i,`${r}/object`)}),alias:wA,enum:i=>({...i,values:i.values.map(n=>this.visitor.EnumValue(n,`${r}/enum/value/${n.value}`))}),undiscriminatedUnion:i=>({...i,variants:i.variants.map((n,a)=>this.visitor.UndiscriminatedUnionVariant(n,`${r}/undiscriminatedUnion/variant/${a}`))}),discriminatedUnion:i=>({...i,variants:i.variants.map(n=>this.visitor.DiscriminatedUnionVariant(n,`${r}/discriminatedUnion/variant/${n.discriminantValue}`))})});formDataRequest=(t,r)=>({...t,fields:t.fields.map(i=>this.visitor.FormDataField(i,`${r}/field/${i.key}`))});typeDefinition=(t,r)=>({...t,shape:this.visitor.TypeShape(t.shape,`${r}/shape`)})};function OyE(e){if(e==null)return"";let t=new URLSearchParams;return Object.entries(e).forEach(([r,i])=>{i!=null&&t.set(r,tEe(i))}),t.size>0?"?"+t.toString():""}function myE(e=[],t){return e.map(r=>{if(r.type==="pathParameter"){let i=r.value,n=tEe(t?.[i]);return n.length>0?encodeURIComponent(n):":"+i}return r.value}).join("")}function vP_({baseUrl:e="",path:t,pathParameters:r,queryParameters:i}){return e+myE(t,r)+OyE(i)}function esc({endpoint:e,pathParameters:t,queryParameters:r,baseUrl:i}){return vP_({baseUrl:i??(e?.environments?.find(n=>n.id===e.defaultEnvironment)??e?.environments?.[0])?.baseUrl,path:e?.path,pathParameters:t,queryParameters:r})}function bP_(e,t,r,i){let n={httpVersion:"1.1",method:"GET",url:"",headers:[],headersSize:-1,queryString:[],cookies:[],bodySize:-1};n.url=esc({endpoint:e,pathParameters:t.pathParameters}),n.method=e.method,n.queryString=Object.entries(t.queryParameters??{}).map(([l,f])=>({name:l,value:tEe(f)})),n.headers=Object.entries(t.headers??{}).map(([l,f])=>({name:l,value:tEe(f)}));let a=e.requests?.[0]?.contentType;if(i!=null)if(a==null&&(a=i.type==="json"?"application/json":"multipart/form-data"),n.postData={mimeType:a},i.value&&typeof i.value=="object"&&(i.value=Object.fromEntries(Object.entries(i.value).filter(([l,f])=>typeof f=="object"&&f!=null?"value"in f:!0))),i.type==="json")n.postData.text=JSON.stringify(i.value,null,2);else if(i.type==="form"){n.postData.params=[];for(let[l,f]of Object.entries(i.value))if(f.type==="json")n.postData.params.push({name:l,value:typeof f.value=="string"?f.value:JSON.stringify(f.value,null,2)});else if(f.type==="filename")n.postData.params.push({name:l,fileName:f.value});else if(f.type==="filenameWithData")n.postData.params.push({name:l,fileName:f.filename});else if(f.type==="filenames")for(let s of f.value)n.postData.params.push({name:l,fileName:s});else if(f.type==="filenamesWithData")for(let{filename:s}of f.value)n.postData.params.push({name:l,fileName:s})}else i.type==="bytes"&&(n.postData.params=[{name:"file",value:i.value.value}]);let u=e.auth?.[0]!=null?r[e.auth[0]]:void 0;return u!=null&&Pqn(u)._visit({basicAuth:({usernameName:l="username",passwordName:f="password"})=>{n.headers.push({name:"Authorization",value:`Basic <${l}>:<${f}>`})},bearerAuth:({tokenName:l="token"})=>{n.headers.push({name:"Authorization",value:`Bearer <${l}>`})},header:({headerWireValue:l,nameOverride:f=l,prefix:s})=>{n.headers.push({name:l,value:s!=null?`${s} <${f}>`:`<${f}>`})},oAuth:l=>{Pqn(l.value,"type")._visit({clientCredentials:f=>{Pqn(f.value,"type")._visit({referencedEndpoint:()=>{n.headers.push({name:f.value.headerName||"Authorization",value:`${f.value.tokenPrefix?`${f.value.tokenPrefix??"Bearer"} `:""}<token>.`})}})}})}}),a!=null&&n.headers.push({name:"Content-Type",value:a}),n}var PyE=[{targetId:"python",clientId:"requests"},{targetId:"javascript",clientId:"fetch"},{targetId:"go",clientId:"native"},{targetId:"ruby",clientId:"native"},{targetId:"java",clientId:"unirest"},{targetId:"php",clientId:"guzzle"},{targetId:"csharp",clientId:"restsharp"},{targetId:"swift",clientId:"nsurlsession"}];async function jyE(e,t){return{...e,endpoints:await Promise.all(Object.entries(e.endpoints).map(async([r,i])=>[r,{...i,examples:await Promise.all(i.examples?.map(n=>wyE(e,i,n,t))??[])}])).then(r=>Object.fromEntries(r))}}async function wyE(e,t,r,{usesApplicationJsonInFormDataValue:i,isHttpSnippetsEnabled:n,alwaysEnableJavaScriptFetch:a}){let u={...r.snippets},l=f=>{(u[f.language]??=[]).push(f)};if(!u.curl?.length){let f=t.auth?.[0],s=$Oa(HOa(t,r,f!=null?e.auths[f]:void 0),{usesApplicationJsonInFormDataValue:i});l({name:void 0,language:"curl",install:void 0,code:s,generated:!0,description:void 0})}if(n){let f=new lAn(bP_(t,r,e.auths,r.requestBody));for(let{clientId:s,targetId:o}of PyE){if(u[o]?.length||o==="javascript"&&u.typescript?.length&&!a)continue;let c=await f.convert(o,s),b=typeof c=="string"?c:c?.[0];b!=null&&l({name:void 0,language:o,install:void 0,code:b,generated:!0,description:void 0})}}return{...r,snippets:u}}var osc={};jn(osc,{latest:()=>Muc,v1:()=>asc});var asc={};jn(asc,{SubpackageId:()=>UOa,WebSocketMessageId:()=>Auc,WebSocketMessageOrigin:()=>quc,WebhookHttpMethod:()=>Tuc,commons:()=>Cuc,db:()=>tsc,read:()=>Wuc,register:()=>nsc});var tsc={};jn(tsc,{endpoint:()=>gP_});var gP_={};var nsc={};jn(nsc,{ObjectPropertyAccess:()=>mP_,SourceId:()=>SyE,endpoint:()=>OP_,registerApiDefinition:()=>isc,type_:()=>rsc,webhook:()=>PP_,websocket:()=>jP_});function SyE(e){return e}var OP_={};var rsc={};jn(rsc,{ObjectPropertyAccess:()=>mP_});var mP_={ReadOnly:"READ_ONLY",WriteOnly:"WRITE_ONLY"};var PP_={};var jP_={};var isc={};jn(isc,{Error:()=>DyE});var DyE={unauthorizedError:e=>({content:e,error:"UnauthorizedError"}),userNotInOrgError:e=>({content:e,error:"UserNotInOrgError"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"UnauthorizedError":return t.unauthorizedError(e.content);case"UserNotInOrgError":return t.userNotInOrgError(e.content);default:return t._other(e)}}};var ssc={};jn(ssc,{getDocsSitesForOrg:()=>usc});var usc={};jn(usc,{Error:()=>EyE});var EyE={unauthorizedError:e=>({content:e,error:"UnauthorizedError"}),userNotInOrgError:e=>({content:e,error:"UserNotInOrgError"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"UnauthorizedError":return t.unauthorizedError(e.content);case"UserNotInOrgError":return t.userNotInOrgError(e.content);default:return t._other(e)}}};var zsc={};jn(zsc,{latest:()=>fsc,v1:()=>Osc,v2:()=>Isc});var fsc={};jn(fsc,{Layout:()=>SP_,TwitterCardSetting:()=>DP_,commons:()=>wP_,frontmatter:()=>csc,seo:()=>lsc});var wP_={};var csc={};jn(csc,{Layout:()=>SP_});var SP_={Guide:"guide",Overview:"overview",Reference:"reference",Page:"page",Custom:"custom"};var lsc={};jn(lsc,{TwitterCardSetting:()=>DP_});var DP_={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var Osc={};jn(Osc,{commons:()=>gsc,db:()=>EP_,read:()=>_sc,write:()=>vsc});var EP_={};var _sc={};jn(_sc,{getDocsForDomain:()=>psc,getDocsForDomainLegacy:()=>dsc});var dsc={};jn(dsc,{Error:()=>MyE});var MyE={domainNotRegisteredError:()=>({error:"DomainNotRegisteredError"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"DomainNotRegisteredError":return t.domainNotRegisteredError();default:return t._other(e)}}};var psc={};jn(psc,{Error:()=>AyE});var AyE={domainNotRegisteredError:()=>({error:"DomainNotRegisteredError"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"DomainNotRegisteredError":return t.domainNotRegisteredError();default:return t._other(e)}}};var vsc={};jn(vsc,{DocsRegistrationId:()=>TyE,FilePath:()=>qyE,finishDocsRegister:()=>ysc,startDocsRegister:()=>hsc});function qyE(e){return e}function TyE(e){return e}var hsc={};jn(hsc,{Error:()=>CyE});var CyE={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var ysc={};jn(ysc,{Error:()=>ByE});var ByE={unauthorizedError:e=>({content:e,error:"UnauthorizedError"}),userNotInOrgError:e=>({content:e,error:"UserNotInOrgError"}),docsRegistrationIdNotFound:()=>({error:"DocsRegistrationIdNotFound"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"UnauthorizedError":return t.unauthorizedError(e.content);case"UserNotInOrgError":return t.userNotInOrgError(e.content);case"DocsRegistrationIdNotFound":return t.docsRegistrationIdNotFound();default:return t._other(e)}}};var gsc={};jn(gsc,{AiModel:()=>MP_,ContentAlignment:()=>CP_,FontDisplay:()=>RP_,FontStyle:()=>zP_,HeaderPosition:()=>BP_,JsScriptStrategy:()=>IP_,ProgrammingLanguage:()=>AP_,SearchbarPlacement:()=>qP_,TabsPlacement:()=>TP_,TwitterCardSetting:()=>xP_,commons:()=>bsc});var bsc={};jn(bsc,{AiModel:()=>MP_,ContentAlignment:()=>CP_,FontDisplay:()=>RP_,FontStyle:()=>zP_,HeaderPosition:()=>BP_,JsScriptStrategy:()=>IP_,ProgrammingLanguage:()=>AP_,SearchbarPlacement:()=>qP_,TabsPlacement:()=>TP_,TwitterCardSetting:()=>xP_});var MP_={Claude35:"claude-3.5",Claude37:"claude-3.7",CommandA:"command-a"};var AP_={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 qP_={Header:"HEADER",HeaderTabs:"HEADER_TABS",Sidebar:"SIDEBAR"};var TP_={Header:"HEADER",Sidebar:"SIDEBAR"};var CP_={Center:"CENTER",Left:"LEFT"};var BP_={Fixed:"FIXED",Absolute:"ABSOLUTE"};var xP_={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var IP_={BeforeInteractive:"beforeInteractive",AfterInteractive:"afterInteractive",LazyOnload:"lazyOnload"};var zP_={Normal:"normal",Italic:"italic"};var RP_={Auto:"auto",Block:"block",Swap:"swap",Fallback:"fallback",Optional:"optional"};var Isc={};jn(Isc,{read:()=>X8o,write:()=>Z8o});var X8o={};jn(X8o,{getDocsConfigById:()=>Dsc,getDocsForUrl:()=>jsc,getDocsUrlMetadata:()=>Psc,getOrganizationForUrl:()=>msc,getPrivateDocsForUrl:()=>wsc,getSearchApiKeyForIndexSegment:()=>Esc,listAllDocsUrls:()=>Ssc,prepopulateFdrReadS3Bucket:()=>Msc});var msc={};jn(msc,{Error:()=>xyE});var xyE={domainNotRegisteredError:()=>({error:"DomainNotRegisteredError"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"DomainNotRegisteredError":return t.domainNotRegisteredError();default:return t._other(e)}}};var Psc={};jn(Psc,{Error:()=>IyE});var IyE={domainNotRegisteredError:()=>({error:"DomainNotRegisteredError"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"DomainNotRegisteredError":return t.domainNotRegisteredError();default:return t._other(e)}}};var jsc={};jn(jsc,{Error:()=>zyE});var zyE={domainNotRegisteredError:()=>({error:"DomainNotRegisteredError"}),unauthorizedError:e=>({content:e,error:"UnauthorizedError"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"DomainNotRegisteredError":return t.domainNotRegisteredError();case"UnauthorizedError":return t.unauthorizedError(e.content);default:return t._other(e)}}};var wsc={};jn(wsc,{Error:()=>RyE});var RyE={domainNotRegisteredError:()=>({error:"DomainNotRegisteredError"}),unauthorizedError:e=>({content:e,error:"UnauthorizedError"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"DomainNotRegisteredError":return t.domainNotRegisteredError();case"UnauthorizedError":return t.unauthorizedError(e.content);default:return t._other(e)}}};var Ssc={};jn(Ssc,{Error:()=>NyE});var NyE={unauthorizedError:e=>({content:e,error:"UnauthorizedError"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"UnauthorizedError":return t.unauthorizedError(e.content);default:return t._other(e)}}};var Dsc={};jn(Dsc,{Error:()=>FyE});var FyE={docsDefinitionNotFoundError:()=>({error:"DocsDefinitionNotFoundError"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"DocsDefinitionNotFoundError":return t.docsDefinitionNotFoundError();default:return t._other(e)}}};var Esc={};jn(Esc,{Error:()=>LyE});var LyE={indexSegmentNotFoundError:()=>({error:"IndexSegmentNotFoundError"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"IndexSegmentNotFoundError":return t.indexSegmentNotFoundError();default:return t._other(e)}}};var Msc={};jn(Msc,{Error:()=>UyE});var UyE={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var Z8o={};jn(Z8o,{finishDocsRegister:()=>Tsc,reindexAlgoliaSearchRecords:()=>Csc,setIsArchived:()=>xsc,startDocsPreviewRegister:()=>qsc,startDocsRegister:()=>Asc,transferOwnershipOfDomain:()=>Bsc});var Asc={};jn(Asc,{Error:()=>VyE});var VyE={unauthorizedError:e=>({content:e,error:"UnauthorizedError"}),unavailableError:e=>({content:e,error:"UnavailableError"}),userNotInOrgError:e=>({content:e,error:"UserNotInOrgError"}),invalidDomainError:()=>({error:"InvalidDomainError"}),invalidCustomDomainError:()=>({error:"InvalidCustomDomainError"}),domainBelongsToAnotherOrgError:e=>({content:e,error:"DomainBelongsToAnotherOrgError"}),invalidUrlError:e=>({content:e,error:"InvalidURLError"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"UnauthorizedError":return t.unauthorizedError(e.content);case"UnavailableError":return t.unavailableError(e.content);case"UserNotInOrgError":return t.userNotInOrgError(e.content);case"InvalidDomainError":return t.invalidDomainError();case"InvalidCustomDomainError":return t.invalidCustomDomainError();case"DomainBelongsToAnotherOrgError":return t.domainBelongsToAnotherOrgError(e.content);case"InvalidURLError":return t.invalidUrlError(e.content);default:return t._other(e)}}};var qsc={};jn(qsc,{Error:()=>WyE});var WyE={unauthorizedError:e=>({content:e,error:"UnauthorizedError"}),unavailableError:e=>({content:e,error:"UnavailableError"}),userNotInOrgError:e=>({content:e,error:"UserNotInOrgError"}),invalidDomainError:()=>({error:"InvalidDomainError"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"UnauthorizedError":return t.unauthorizedError(e.content);case"UnavailableError":return t.unavailableError(e.content);case"UserNotInOrgError":return t.userNotInOrgError(e.content);case"InvalidDomainError":return t.invalidDomainError();default:return t._other(e)}}};var Tsc={};jn(Tsc,{Error:()=>HyE});var HyE={unauthorizedError:e=>({content:e,error:"UnauthorizedError"}),userNotInOrgError:e=>({content:e,error:"UserNotInOrgError"}),docsRegistrationIdNotFound:()=>({error:"DocsRegistrationIdNotFound"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"UnauthorizedError":return t.unauthorizedError(e.content);case"UserNotInOrgError":return t.userNotInOrgError(e.content);case"DocsRegistrationIdNotFound":return t.docsRegistrationIdNotFound();default:return t._other(e)}}};var Csc={};jn(Csc,{Error:()=>$yE});var $yE={docsNotFoundError:()=>({error:"DocsNotFoundError"}),reindexNotAllowedError:()=>({error:"ReindexNotAllowedError"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"DocsNotFoundError":return t.docsNotFoundError();case"ReindexNotAllowedError":return t.reindexNotAllowedError();default:return t._other(e)}}};var Bsc={};jn(Bsc,{Error:()=>GyE});var GyE={docsNotFoundError:()=>({error:"DocsNotFoundError"}),unauthorizedError:e=>({content:e,error:"UnauthorizedError"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"DocsNotFoundError":return t.docsNotFoundError();case"UnauthorizedError":return t.unauthorizedError(e.content);default:return t._other(e)}}};var xsc={};jn(xsc,{Error:()=>QyE});var QyE={docsNotFoundError:()=>({error:"DocsNotFoundError"}),unauthorizedError:e=>({content:e,error:"UnauthorizedError"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"DocsNotFoundError":return t.docsNotFoundError();case"UnauthorizedError":return t.unauthorizedError(e.content);default:return t._other(e)}}};var tcc={};jn(tcc,{ChangelogEntryType:()=>NP_,GeneratorId:()=>JyE,GeneratorLanguage:()=>KyE,ReleaseType:()=>FP_,cli:()=>Wsc,commons:()=>Hsc,getGenerator:()=>ksc,getGeneratorByImage:()=>Zsc,listGenerators:()=>ecc,upsertGenerator:()=>Xsc,versions:()=>Ysc});function JyE(e){return e}var KyE={Python:"python",Go:"go",Java:"java",Typescript:"typescript",Ruby:"ruby",Csharp:"csharp",Php:"php",Swift:"swift",Rust:"rust"};var Wsc={};jn(Wsc,{getChangelog:()=>Nsc,getCliRelease:()=>Usc,getLatestCliRelease:()=>Rsc,getMinCliForIr:()=>Fsc,listCliReleases:()=>Vsc,upsertCliRelease:()=>Lsc});var Rsc={};jn(Rsc,{Error:()=>YyE});var YyE={noValidClisFoundError:()=>({error:"NoValidClisFoundError"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"NoValidClisFoundError":return t.noValidClisFoundError();default:return t._other(e)}}};var Nsc={};jn(Nsc,{Error:()=>XyE});var XyE={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var Fsc={};jn(Fsc,{Error:()=>ZyE});var ZyE={noValidClisFoundError:()=>({error:"NoValidClisFoundError"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"NoValidClisFoundError":return t.noValidClisFoundError();default:return t._other(e)}}};var Lsc={};jn(Lsc,{Error:()=>kyE});var kyE={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var Usc={};jn(Usc,{Error:()=>evE});var evE={cliVersionNotFoundError:e=>({content:e,error:"CliVersionNotFoundError"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"CliVersionNotFoundError":return t.cliVersionNotFoundError(e.content);default:return t._other(e)}}};var Vsc={};jn(Vsc,{Error:()=>tvE});var tvE={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var Hsc={};jn(Hsc,{ChangelogEntryType:()=>NP_,ReleaseType:()=>FP_});var NP_={Fix:"fix",Feat:"feat",Chore:"chore",Break:"break",Internal:"internal"};var FP_={Ga:"GA",Rc:"RC"};var Ysc={};jn(Ysc,{getChangelog:()=>Gsc,getGeneratorRelease:()=>Jsc,getLatestGeneratorRelease:()=>$sc,listGeneratorReleases:()=>Ksc,upsertGeneratorRelease:()=>Qsc});var $sc={};jn($sc,{Error:()=>rvE});var rvE={noValidGeneratorsFoundError:()=>({error:"NoValidGeneratorsFoundError"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"NoValidGeneratorsFoundError":return t.noValidGeneratorsFoundError();default:return t._other(e)}}};var Gsc={};jn(Gsc,{Error:()=>ivE});var ivE={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var Qsc={};jn(Qsc,{Error:()=>nvE});var nvE={invalidVersionError:e=>({content:e,error:"InvalidVersionError"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"InvalidVersionError":return t.invalidVersionError(e.content);default:return t._other(e)}}};var Jsc={};jn(Jsc,{Error:()=>avE});var avE={generatorVersionNotFoundError:e=>({content:e,error:"GeneratorVersionNotFoundError"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"GeneratorVersionNotFoundError":return t.generatorVersionNotFoundError(e.content);default:return t._other(e)}}};var Ksc={};jn(Ksc,{Error:()=>ovE});var ovE={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var Xsc={};jn(Xsc,{Error:()=>uvE});var uvE={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var Zsc={};jn(Zsc,{Error:()=>svE});var svE={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var ksc={};jn(ksc,{Error:()=>cvE});var cvE={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var ecc={};jn(ecc,{Error:()=>lvE});var lvE={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var ncc={};jn(ncc,{latest:()=>rcc,v1:()=>icc});var rcc={};jn(rcc,{NodeId:()=>VP_,ProductId:()=>WP_,Slug:()=>LP_,TabId:()=>UP_});function LP_(e){return e}function UP_(e){return e}function VP_(e){return e}function WP_(e){return e}var icc={};jn(icc,{NavigationV1Availability:()=>JP_,NodeId:()=>GP_,ProductId:()=>QP_,Slug:()=>HP_,TabId:()=>$P_});function HP_(e){return e}function $P_(e){return e}function GP_(e){return e}function QP_(e){return e}var JP_={Stable:"stable",GenerallyAvailable:"generally-available",InDevelopment:"in-development",PreRelease:"pre-release",Beta:"beta",Deprecated:"deprecated"};var k8o={};jn(k8o,{AlgoliaSearchIndex:()=>KP_,IndexSegmentId:()=>YP_});function KP_(e){return e}function YP_(e){return e}var occ={};jn(occ,{diff:()=>acc});var acc={};jn(acc,{Error:()=>fvE});var fvE={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var hcc={};jn(hcc,{PullRequestState:()=>XP_,deletePullRequest:()=>_cc,deleteRepository:()=>lcc,getPullRequest:()=>fcc,getRepository:()=>ucc,listPullRequests:()=>dcc,listRepositories:()=>scc,upsertPullRequest:()=>pcc,upsertRepository:()=>ccc});var XP_={Open:"open",Closed:"closed",Merged:"merged"};var ucc={};jn(ucc,{Error:()=>dvE});var dvE={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var scc={};jn(scc,{Error:()=>pvE});var pvE={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var ccc={};jn(ccc,{Error:()=>_vE});var _vE={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var lcc={};jn(lcc,{Error:()=>hvE});var hvE={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var fcc={};jn(fcc,{Error:()=>yvE});var yvE={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var dcc={};jn(dcc,{Error:()=>vvE});var vvE={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var pcc={};jn(pcc,{Error:()=>bvE});var bvE={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var _cc={};jn(_cc,{Error:()=>gvE});var gvE={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var bcc={};jn(bcc,{Language:()=>ZP_,VersionBump:()=>kP_,versions:()=>vcc});var vcc={};jn(vcc,{Language:()=>ZP_,VersionBump:()=>kP_,computeSemanticVersion:()=>ycc});var ZP_={Go:"Go",TypeScript:"TypeScript",Java:"Java",Python:"Python",Csharp:"Csharp",Ruby:"Ruby"};var kP_={Major:"MAJOR",Minor:"MINOR",Patch:"PATCH"};var ycc={};jn(ycc,{Error:()=>OvE});var OvE={failedToComputeExistingVersion:()=>({error:"FailedToComputeExistingVersion"}),failedToIncrementVersion:()=>({error:"FailedToIncrementVersion"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"FailedToComputeExistingVersion":return t.failedToComputeExistingVersion();case"FailedToIncrementVersion":return t.failedToIncrementVersion();default:return t._other(e)}}};var Occ={};jn(Occ,{createSnippetsForSdk:()=>gcc});var gcc={};jn(gcc,{Error:()=>mvE});var mvE={unauthorizedError:e=>({content:e,error:"UnauthorizedError"}),userNotInOrgError:e=>({content:e,error:"UserNotInOrgError"}),orgIdNotFound:e=>({content:e,error:"OrgIdNotFound"}),sdkNotFound:e=>({content:e,error:"SDKNotFound"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"UnauthorizedError":return t.unauthorizedError(e.content);case"UserNotInOrgError":return t.userNotInOrgError(e.content);case"OrgIdNotFound":return t.orgIdNotFound(e.content);case"SDKNotFound":return t.sdkNotFound(e.content);default:return t._other(e)}}};var jcc={};jn(jcc,{get:()=>mcc,load:()=>Pcc});var mcc={};jn(mcc,{Error:()=>PvE});var PvE={unauthorizedError:e=>({content:e,error:"UnauthorizedError"}),userNotInOrgError:e=>({content:e,error:"UserNotInOrgError"}),unavailableError:e=>({content:e,error:"UnavailableError"}),apiIdRequiredError:e=>({content:e,error:"ApiIdRequiredError"}),orgIdRequiredError:e=>({content:e,error:"OrgIdRequiredError"}),orgIdAndApiIdNotFound:e=>({content:e,error:"OrgIdAndApiIdNotFound"}),orgIdNotFound:e=>({content:e,error:"OrgIdNotFound"}),endpointNotFound:e=>({content:e,error:"EndpointNotFound"}),sdkNotFound:e=>({content:e,error:"SDKNotFound"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"UnauthorizedError":return t.unauthorizedError(e.content);case"UserNotInOrgError":return t.userNotInOrgError(e.content);case"UnavailableError":return t.unavailableError(e.content);case"ApiIdRequiredError":return t.apiIdRequiredError(e.content);case"OrgIdRequiredError":return t.orgIdRequiredError(e.content);case"OrgIdAndApiIdNotFound":return t.orgIdAndApiIdNotFound(e.content);case"OrgIdNotFound":return t.orgIdNotFound(e.content);case"EndpointNotFound":return t.endpointNotFound(e.content);case"SDKNotFound":return t.sdkNotFound(e.content);default:return t._other(e)}}};var Pcc={};jn(Pcc,{Error:()=>jvE});var jvE={unauthorizedError:e=>({content:e,error:"UnauthorizedError"}),userNotInOrgError:e=>({content:e,error:"UserNotInOrgError"}),unavailableError:e=>({content:e,error:"UnavailableError"}),invalidPageError:e=>({content:e,error:"InvalidPageError"}),apiIdRequiredError:e=>({content:e,error:"ApiIdRequiredError"}),orgIdRequiredError:e=>({content:e,error:"OrgIdRequiredError"}),orgIdAndApiIdNotFound:e=>({content:e,error:"OrgIdAndApiIdNotFound"}),orgIdNotFound:e=>({content:e,error:"OrgIdNotFound"}),sdkNotFound:e=>({content:e,error:"SDKNotFound"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"UnauthorizedError":return t.unauthorizedError(e.content);case"UserNotInOrgError":return t.userNotInOrgError(e.content);case"UnavailableError":return t.unavailableError(e.content);case"InvalidPageError":return t.invalidPageError(e.content);case"ApiIdRequiredError":return t.apiIdRequiredError(e.content);case"OrgIdRequiredError":return t.orgIdRequiredError(e.content);case"OrgIdAndApiIdNotFound":return t.orgIdAndApiIdNotFound(e.content);case"OrgIdNotFound":return t.orgIdNotFound(e.content);case"SDKNotFound":return t.sdkNotFound(e.content);default:return t._other(e)}}};var Ecc={};jn(Ecc,{PayloadLocation:()=>ej_,get:()=>Dcc,register:()=>wcc,registerBatch:()=>Scc});var ej_={Body:"BODY",Query:"QUERY",Path:"PATH",Headers:"HEADERS",Relative:"RELATIVE",Auth:"AUTH"};var wcc={};jn(wcc,{Error:()=>wvE});var wvE={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var Scc={};jn(Scc,{Error:()=>SvE});var SvE={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var Dcc={};jn(Dcc,{Error:()=>DvE});var DvE={unauthorizedError:e=>({content:e,error:"UnauthorizedError"}),snippetNotFound:e=>({content:e,error:"SnippetNotFound"}),_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){case"UnauthorizedError":return t.unauthorizedError(e.content);case"SnippetNotFound":return t.snippetNotFound(e.content);default:return t._other(e)}}};var qcc={};jn(qcc,{generate:()=>Mcc,revoke:()=>Acc});var Mcc={};jn(Mcc,{Error:()=>EvE});var EvE={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var Acc={};jn(Acc,{Error:()=>MvE});var MvE={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var Ccc={};jn(Ccc,{invalidate:()=>Tcc});var Tcc={};jn(Tcc,{Error:()=>AvE});var AvE={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var yXr={};jn(yXr,{AlgoliaSearchIndex:()=>KP_,ApiDefinitionId:()=>tqn,ApiId:()=>aqn,Availability:()=>yQ,DocsConfigId:()=>oqn,EndpointId:()=>sqn,EndpointPathLiteral:()=>bqn,EnvironmentId:()=>uqn,FileId:()=>pqn,HttpMethod:()=>gqn,IndexSegmentId:()=>YP_,JqString:()=>hqn,OrgId:()=>iqn,PageId:()=>dqn,PayloadLocation:()=>ej_,PropertyKey:()=>yqn,PullRequestState:()=>XP_,RoleId:()=>vqn,TokenId:()=>nqn,TypeId:()=>fqn,Url:()=>_qn,VersionId:()=>rqn,WebSocketId:()=>cqn,WebhookId:()=>lqn,algolia:()=>k8o,api:()=>osc,commons:()=>Buc,dashboard:()=>ssc,diff:()=>occ,docs:()=>zsc,docsCache:()=>Ccc,generators:()=>tcc,git:()=>hcc,navigation:()=>ncc,sdks:()=>bcc,snippets:()=>jcc,snippetsFactory:()=>Occ,templates:()=>Ecc,tokens:()=>qcc});function tj_(e,t){return qvE(e)?t.versioned(e):t.unversioned(e)}function rj_(e,t){return TvE(e)?t.tabbed(e):t.untabbed(e)}function qvE(e){return Array.isArray(e.versions)}function TvE(e){return Array.isArray(e.tabs)}var ts={};jn(ts,{ApiDefinitionHolder:()=>vQ,ApiDefinitionId:()=>tqn,ApiDefinitionPruner:()=>o5o,ApiId:()=>aqn,ApiTypeIdVisitor:()=>Okt,Availability:()=>yQ,DocsConfigId:()=>oqn,EndpointId:()=>sqn,EndpointPathLiteral:()=>bqn,EnvironmentId:()=>uqn,FileId:()=>pqn,HttpMethod:()=>gqn,JqString:()=>hqn,NodeCollector:()=>wqn,NodeId:()=>VP_,OrgId:()=>iqn,PageId:()=>dqn,ProductId:()=>WP_,PropertyKey:()=>yqn,Pruner:()=>ilc,RoleId:()=>vqn,Slug:()=>LP_,TabId:()=>UP_,TokenId:()=>nqn,TypeId:()=>fqn,Url:()=>_qn,V1:()=>Xcc,VersionId:()=>rqn,WebSocketId:()=>cqn,WebhookId:()=>lqn,getChildren:()=>JOa,getPageId:()=>zcc,hasMarkdown:()=>Vcc,hasMetadata:()=>xvE,hasPointsTo:()=>nj_,hasRedirect:()=>IvE,isApiLeaf:()=>d7i,isApiReferenceNode:()=>Rcc,isLeaf:()=>Bcc,isMarkdownLeaf:()=>QOa,isNeighbor:()=>CvE,isPage:()=>BvE,isProductGroupNode:()=>Lcc,isProductNode:()=>KOa,isSection:()=>Ucc,isSectionOverview:()=>YOa,isSidebarRootNode:()=>t5o,isTabbedNode:()=>r5o,isUnversionedNode:()=>Ncc,isVersionNode:()=>Fcc,migrate:()=>Zcc,slugjoin:()=>zvE,toDefaultSlug:()=>RvE,traverseBF:()=>NvE,traverseDF:()=>FvE,utils:()=>tlc});function GOa(e){return typeof e.subpackageId=="string"}var ij_=oi(yS(),1);function d7i(e){return e.type==="endpoint"||e.type==="webSocket"||e.type==="webhook"}function QOa(e){return e.type==="page"||e.type==="landingPage"||e.type==="changelogEntry"}function Bcc(e){return d7i(e)||QOa(e)||e.type==="link"}function JOa(e){if(Bcc(e))return[];switch(e.type){case"apiPackage":case"changelog":case"changelogMonth":case"changelogYear":case"section":case"sidebarGroup":case"sidebarRoot":case"tabbed":case"versioned":return e.children;case"product":case"root":case"tab":return[e.child];case"apiReference":return[...e.children,...e.changelog?[e.changelog]:[]];case"endpointPair":return[e.nonStream,e.stream];case"productgroup":return[...e.landingPage?[e.landingPage]:[],...e.children];case"unversioned":case"version":return[...e.landingPage?[e.landingPage]:[],e.child];default:throw new ij_.UnreachableCaseError(e)}}var xcc=e=>e.pageId,e5o=e=>e.overviewPageId,Icc=()=>{};function zcc(e){return Iy(e)._visit({section:e5o,apiReference:e5o,changelog:e5o,apiPackage:e5o,changelogEntry:xcc,page:xcc,landingPage:xcc,endpoint:Icc,webSocket:Icc,webhook:Icc})}function Rcc(e){return e.type==="apiReference"}function t5o(e){return e.type==="sidebarRoot"}function r5o(e){return e.type==="tabbed"}function Ncc(e){return e.type==="unversioned"}function Fcc(e){return e.type==="version"}function KOa(e){return e.type==="product"}function Lcc(e){return e.type==="productgroup"}function Ucc(e){return e.type==="section"||e.type==="apiReference"||e.type==="changelog"||e.type==="apiPackage"}function YOa(e){return Ucc(e)&&e.overviewPageId!=null}function Vcc(e){return QOa(e)||YOa(e)}function CvE(e){return d7i(e)||e.type==="page"||e.type==="changelog"||e.type==="changelogEntry"||YOa(e)}function BvE(e){return d7i(e)||e.type==="changelog"||Vcc(e)}function xvE(e){return typeof e.title=="string"&&typeof e.slug=="string"}function nj_(e){return e.type==="root"||e.type==="product"||e.type==="version"||e.type==="tab"||e.type==="section"||e.type==="apiReference"||e.type==="apiPackage"}function IvE(e){return nj_(e)?e.pointsTo!=null:!1}function zvE(...e){let t=e.filter(whi).flatMap(r=>typeof r=="string"?[r.trim()]:r.map(i=>i.trim())).map(r=>decodeURIComponent(r));return Dh(t).replaceAll("//*","/").replace(/^\//,"").replace(/\/$/,"")}function RvE(e,t,r){if(e!=null)return e.startsWith(r)?e.replace(new RegExp(`^${nW(r)}`),t).replace(/^\//,""):e}var i5o="skip";function n5o(e,t,r,i=n=>!0){let n=[[e,[]]];for(;n.length>0;){let[a,u]=n.shift()??[];if(!a)continue;let l=t(a,u??[]);if(l!==i5o){if(l===!1)return;if(i(a))for(let f of[...r(a)])n.push([f,[...u??[],a]])}}}function NvE(e,t){return n5o(e,t,JOa)}function a5o(e,t,r,i=n=>!0){let n=[[e,[]]];for(;n.length>0;){let[a,u]=n.pop()??[];if(!a)continue;let l=t(a,u??[]);if(l!==i5o){if(l===!1)return;if(i(a))for(let f of[...r(a)].reverse())n.push([f,[...u??[],a]])}}}function FvE(e,t){return a5o(e,t,JOa)}var vQ=class e{api;static create(t){return new e(t)}#e=new Map;#t=new Map;#r=new Map;constructor(t){this.api=t,[t.rootPackage,...Object.values(t.subpackages)].forEach(r=>{let i=GOa(r)?r.subpackageId:RRe;r.endpoints.forEach(n=>{this.#e.set(e.createEndpointId(n,i),n)}),r.websockets.forEach(n=>{this.#t.set(e.createWebSocketId(n,i),n)}),r.webhooks.forEach(n=>{this.#r.set(e.createWebhookId(n,i),n)})})}get endpoints(){return this.#e}get webSockets(){return this.#t}get webhooks(){return this.#r}static createEndpointId(t,r=RRe){return t.originalEndpointId??`${r}.${t.id}`}static createWebSocketId(t,r=RRe){return`${r}.${t.id}`}static createWebhookId(t,r=RRe){return`${r}.${t.id}`}};var vXr=oi(yS(),1);var Okt=class e{static visitEndpointDefinition(t,r){t.path.pathParameters.forEach(i=>{e.visitTypeReference(i.type,r)}),t.queryParameters.forEach(i=>{e.visitTypeReference(i.type,r)}),t.headers.forEach(i=>{e.visitTypeReference(i.type,r)}),t.request!=null&&e.visitHttpRequestBodyShape(t.request.type,r),t.response!=null&&e.visitHttpResponseBodyShape(t.response.type,r),t.errorsV2!=null&&t.errorsV2.forEach(i=>{i.type!=null&&e.visitTypeShape(i.type,r)})}static visitWebSocketChannel(t,r){t.headers.forEach(i=>{e.visitTypeReference(i.type,r)}),t.path.pathParameters.forEach(i=>{e.visitTypeReference(i.type,r)}),t.queryParameters.forEach(i=>{e.visitTypeReference(i.type,r)}),t.messages.forEach(i=>{e.visitObjectOrReference(i.body,r)})}static visitWebhookDefinition(t,r){t.headers.forEach(i=>{e.visitTypeReference(i.type,r)}),e.visitObjectOrReference(t.payload.type,r)}static visitHttpRequestBodyShape(t,r){return Iy(t)._visit({object:i=>e.visitObjectType(i,r),reference:i=>e.visitTypeReference(i.value,r),bytes:vXr.noop,formData:i=>e.visitFormDataRequest(i,r),fileUpload:i=>i.value!=null?e.visitFormDataRequest(i.value,r):void 0})}static visitHttpResponseBodyShape(t,r){return Iy(t)._visit({object:i=>e.visitObjectType(i,r),reference:i=>e.visitTypeReference(i.value,r),fileDownload:vXr.noop,streamingText:vXr.noop,stream:i=>e.visitObjectOrReference(i.shape,r),streamCondition:i=>{e.visitObjectOrReference(i.response.shape,r),e.visitObjectOrReference(i.streamResponse.shape,r)}})}static visitObjectOrReference(t,r){return Iy(t)._visit({object:i=>e.visitObjectType(i,r),reference:i=>e.visitTypeReference(i.value,r)})}static visitFormDataRequest(t,r){return t.properties.forEach(i=>Iy(i)._visit({file:vXr.noop,bodyProperty:n=>e.visitTypeReference(n.valueType,r)}))}static visitTypeDefinition(t,r){return e.visitTypeShape(t.shape,r)}static visitTypeShape(t,r){return Iy(t)._visit({object:i=>e.visitObjectType(i,r),alias:i=>e.visitTypeReference(i.value,r),enum:vXr.noop,undiscriminatedUnion:i=>i.variants.forEach(n=>e.visitTypeReference(n.type,r)),discriminatedUnion:i=>i.variants.forEach(n=>e.visitObjectType(n.additionalProperties,r))})}static visitObjectType(t,r){t.extends.forEach(r),t.properties.forEach(i=>{e.visitTypeReference(i.valueType,r)})}static visitTypeReference(t,r){return Iy(t)._visit({id:i=>r(i.value),primitive:vXr.noop,optional:i=>e.visitTypeReference(i.itemType,r),list:i=>e.visitTypeReference(i.itemType,r),set:i=>e.visitTypeReference(i.itemType,r),map:i=>{e.visitTypeReference(i.keyType,r),e.visitTypeReference(i.valueType,r)},literal:vXr.noop,unknown:vXr.noop})}};var o5o=class{api;constructor(t){this.api=t}prune(t){let r=this.pruneRootPackage(t),i=this.pruneSubpackages(t),n=this.pruneTypes(r,i,this.api.globalHeaders);return{id:this.api.id,rootPackage:r,subpackages:i,types:n,auth:this.api.auth,hasMultipleBaseUrls:this.api.hasMultipleBaseUrls,navigation:void 0,globalHeaders:this.api.globalHeaders}}pruneTypes(t,r,i){let n=new Set;i?.forEach(u=>{Okt.visitTypeReference(u.type,l=>n.add(l))}),n=this.expandTypeIds(n),[t,...Object.values(r)].forEach(u=>{u.types.forEach(l=>n.add(l))});let a={};return n.forEach(u=>{let l=this.api.types[u];l!=null&&(a[u]=l)}),a}expandTypeIds(t){let r=new Set,i=Array.from(t);for(;i.length>0;){let n=i.pop();if(n!=null&&!r.has(n)){r.add(n);let a=this.api.types[n];a&&Okt.visitTypeDefinition(a,u=>{i.push(u)})}}return r}pruneRootPackage(t){return this.prunePackage(t,this.api.rootPackage)}pruneSubpackages(t){let r={};for(let[i,n]of Object.entries(this.api.subpackages))r[i]=this.prunePackage(t,n,i);return r}prunePackage(t,r,i){let n=this.pruneEndpoints(t,r.endpoints,i),a=this.pruneWebSockets(t,r.websockets,i),u=this.pruneWebhooks(t,r.webhooks,i),l=new Set;n.forEach(s=>{Okt.visitEndpointDefinition(s,o=>l.add(o))}),a.forEach(s=>{Okt.visitWebSocketChannel(s,o=>l.add(o))}),u.forEach(s=>{Okt.visitWebhookDefinition(s,o=>l.add(o))});let f=this.expandTypeIds(l);return{...r,endpoints:n,websockets:a,webhooks:u,types:Array.from(f)}}pruneEndpoints(t,r,i){if(t.type!=="endpoint"&&t.type!=="endpointPair")return[];if(t.type==="endpointPair")return[...this.pruneEndpoints(t.stream,r,i),...this.pruneEndpoints(t.nonStream,r,i)];let n=t.endpointId,a=r.find(u=>vQ.createEndpointId(u,i)===n);return a?[a]:[]}pruneWebSockets(t,r,i){if(t.type!=="webSocket")return[];let n=t.webSocketId,a=r.find(u=>vQ.createWebSocketId(u,i)===n);return a?[a]:[]}pruneWebhooks(t,r,i){if(t.type!=="webhook")return[];let n=t.webhookId,a=r.find(u=>vQ.createWebhookId(u,i)===n);return a?[a]:[]}};function aj_(e,t,r){if(e!=null)return ts.traverseDF(e,i=>{if(ts.hasMetadata(i)){let n=ts.toDefaultSlug(i.slug,t,r);if(i.slug===n)return"skip";i.canonicalSlug=i.canonicalSlug??i.slug,i.slug=n}ts.hasRedirect(i)&&(i.pointsTo=ts.toDefaultSlug(i.pointsTo,t,r))}),e}var Xcc={};jn(Xcc,{ApiDefinitionId:()=>tqn,ApiId:()=>aqn,ApiReferenceNavigationConverter:()=>XOa,Availability:()=>yQ,DocsConfigId:()=>oqn,EndpointId:()=>sqn,EndpointPathLiteral:()=>bqn,EnvironmentId:()=>uqn,FileId:()=>pqn,HttpMethod:()=>gqn,JqString:()=>hqn,NavigationV1Availability:()=>JP_,NodeId:()=>GP_,OrgId:()=>iqn,PageId:()=>dqn,ProductId:()=>QP_,PropertyKey:()=>yqn,RoleId:()=>vqn,Slug:()=>HP_,SlugGenerator:()=>h7i,TabId:()=>$P_,TokenId:()=>nqn,TypeId:()=>fqn,Url:()=>_qn,VersionId:()=>rqn,WebSocketId:()=>cqn,WebhookId:()=>lqn,convertAvailability:()=>LvE,followRedirect:()=>mkt,followRedirects:()=>y7i,getPageId:()=>QvE,hasMarkdown:()=>Ycc,hasMetadata:()=>Gcc,hasRedirect:()=>YvE,isApiLeaf:()=>v7i,isLeaf:()=>Jcc,isMarkdownLeaf:()=>kOa,isNeighbor:()=>JvE,isPage:()=>KvE,isSection:()=>Kcc,isSectionOverview:()=>ema,slugjoin:()=>XvE,toDefaultSlug:()=>ZvE,toRootNode:()=>WvE,traverseDF:()=>kvE});var oj_=oi(yS(),1);function LvE(e){if(e!=null)switch(e){case yXr.Availability.Beta:return ts.V1.NavigationV1Availability.Beta;case yXr.Availability.Stable:return ts.V1.NavigationV1Availability.Stable;case yXr.Availability.GenerallyAvailable:return ts.V1.NavigationV1Availability.GenerallyAvailable;case yXr.Availability.Deprecated:return ts.V1.NavigationV1Availability.Deprecated;case yXr.Availability.InDevelopment:return ts.V1.NavigationV1Availability.InDevelopment;case yXr.Availability.PreRelease:return ts.V1.NavigationV1Availability.PreRelease;default:throw new oj_.UnreachableCaseError(e)}}var sj_=oi(yS(),1);function u5o(e){return Dh("/",...e.map(t=>t.type==="literal"?t.value:`:${t.value}`))}var jqn=oi(X0a(),1),uj_=oi(Z0a(),1);jqn.default.extend(uj_.default);var p7i=class e{fullSlugMap;noindexMap;static convert(t,r,i,n,a){return new e(a,r,i).convert(t,n)}#e;constructor(t,r,i){this.fullSlugMap=r,this.noindexMap=i,this.#e=t}convert(t,r){return this.#e.with("log",i=>{let n=r.apply(t),a=t.pageId!=null?ts.V1.PageId(t.pageId):void 0,u=a!=null?this.noindexMap[a]:void 0,l=a!=null?this.fullSlugMap[a]:void 0;return l!=null&&(n=r.set(l)),{id:i,type:"changelog",title:t.title??"Changelog",overviewPageId:a,noindex:u,slug:n.get(),icon:t.icon,hidden:t.hidden,children:this.convertYear(t.items,n),authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}})}convertYear(t,r){let i=Hcc(t.map(n=>this.convertChangelogEntry(n,r)),n=>n.date,"desc");return this.groupByYear(i,r)}groupByYear(t,r){let i=UvE(t);return Hcc(Array.from(i.entries()).map(([n,a])=>this.#e.with(n.toString(),u=>{let l=r.append(n.toString());return{id:u,type:"changelogYear",title:n.toString(),year:n,slug:l.get(),icon:void 0,hidden:void 0,children:this.groupByMonth(a,l),authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}})),"year","desc")}groupByMonth(t,r){let i=VvE(t);return Hcc(Array.from(i.entries()).map(([n,[a,u]])=>this.#e.with(n.toString(),l=>({id:l,type:"changelogMonth",title:(0,jqn.default)(new Date(a,n-1)).format("MMMM YYYY"),month:n,slug:r.append(n.toString()).get(),icon:void 0,hidden:void 0,children:u,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}))),"month","desc")}convertChangelogEntry(t,r){let i=jqn.default.utc(t.date);return this.#e.with(i.format("YYYY-M-D"),n=>{let a=ts.V1.PageId(t.pageId),u=this.noindexMap[a];return{id:n,type:"changelogEntry",title:i.format("MMMM D, YYYY"),date:t.date,pageId:a,noindex:u,slug:r.append(i.format("YYYY/M/D")).get(),icon:void 0,hidden:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}})}};function Hcc(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 UvE(e){let t=new Map;for(let r of e){let i=jqn.default.utc(r.date).year(),n=t.get(i)??[];n.push(r),t.set(i,n)}return t}function VvE(e){let t=new Map;for(let r of e){let i=jqn.default.utc(r.date),n=i.month()+1,a=i.year(),u=t.get(n)??[a,[]];u[1].push(r),t.set(n,u)}return t}var _7i=class{#e=[];with(t,r){this.#e.push(t);let i=r(this.#r());return this.#e.pop(),i}#t=new Set;#r(){let t=this.#e.join("."),r=t,i=0;for(;this.#t.has(r);)r=`${t}-${i}`,i++;return this.#t.add(r),ts.V1.NodeId(r)}};var h7i=class e{baseSlug;productSlug;versionSlug;slug;static init(t){return new e(t,void 0,void 0,t)}constructor(t,r,i,n){this.baseSlug=t,this.productSlug=r,this.versionSlug=i,this.slug=n}get(){return ts.V1.Slug(ts.V1.slugjoin(this.slug))}setProductSlug(t){if(this.productSlug!=null){if(this.productSlug===ts.V1.slugjoin(this.baseSlug,t))return this;throw new Error("Product already set")}let r=ts.V1.slugjoin(this.baseSlug,t);if(this.baseSlug===t)throw new Error("Product slug is the same as base slug");return new e(this.baseSlug,r,this.versionSlug,r)}setVersionSlug(t){if(this.versionSlug!=null){if(this.productSlug){let i=ts.V1.slugjoin(this.productSlug,t);if(this.versionSlug===i)return this}else if(this.versionSlug===ts.V1.slugjoin(this.baseSlug,t))return this;throw new Error("Version already set")}let r=this.productSlug?ts.V1.slugjoin(this.productSlug,t):ts.V1.slugjoin(this.baseSlug,t);if(this.baseSlug===t)throw new Error("Version slug is the same as base slug");return new e(this.baseSlug,this.productSlug,r,r)}append(t){return new e(this.baseSlug,this.productSlug,this.versionSlug,ts.V1.slugjoin(this.slug,t))}set(t){t=ts.V1.slugjoin(t);let r=a=>new e(this.baseSlug,this.productSlug,this.versionSlug,a),i=a=>a.substring(this.baseSlug.length),n=a=>this.productSlug&&a.startsWith(this.productSlug)?a.substring(this.productSlug.length):a;if(this.productSlug!=null&&this.versionSlug!=null){if(t.startsWith(this.productSlug)){let a=n(t);return r(ts.V1.slugjoin(this.versionSlug,a))}if(this.baseSlug.length>0&&t.startsWith(this.baseSlug)){let a=i(t);return r(ts.V1.slugjoin(this.baseSlug,a))}return r(ts.V1.slugjoin(this.versionSlug,t))}return this.versionSlug!=null?t.startsWith(this.versionSlug)?r(t):this.baseSlug.length>0&&t.startsWith(this.baseSlug)?r(ts.V1.slugjoin(this.versionSlug,i(t))):r(ts.V1.slugjoin(this.versionSlug,t)):this.productSlug!=null?t.startsWith(this.productSlug)?r(t):this.baseSlug.length>0&&t.startsWith(this.baseSlug)?r(ts.V1.slugjoin(i(t))):r(ts.V1.slugjoin(this.productSlug,t)):this.baseSlug.length>0?t.startsWith(this.baseSlug)?r(t):r(ts.V1.slugjoin(this.baseSlug,t)):r(t)}apply({fullSlug:t,urlSlug:r,skipUrlSlug:i}){return t!=null?this.set(t.join("/")):i?this:this.append(r)}};var XOa=class e{apiSection;api;fullSlugMap;noindexMap;parentSlug;lexicographic;disableEndpointPairs;paginated;static convert(t,r,i,n,a,u,l,f,s){return new e(t,r,i,n,a,u??new _7i,l,f,s).convert()}apiDefinitionId;#e;#t=new Set;#r=new Set;#n=new Set;#i=new Set;#a;constructor(t,r,i={},n={},a=h7i.init(""),u=new _7i,l=!1,f=!1,s){this.apiSection=t,this.api=r,this.fullSlugMap=i,this.noindexMap=n,this.parentSlug=a,this.lexicographic=l,this.disableEndpointPairs=f,this.paginated=s,this.apiDefinitionId=ts.V1.ApiDefinitionId(r.id),this.#e=vQ.create(r),this.#a=u}convert(){return this.#a.with(this.apiSection.urlSlug,t=>{let r=this.apiSection.navigation?.summaryPageId!=null?ts.V1.PageId(this.apiSection.navigation.summaryPageId):void 0,i=r!=null?this.noindexMap[r]:void 0,n=this.parentSlug.apply(this.apiSection),a=r!=null?this.fullSlugMap[r]:void 0;a!=null&&(n=this.parentSlug.set(a));let u=this.convertChildren(n),l=this.apiSection.changelog!=null?p7i.convert(this.apiSection.changelog,this.fullSlugMap,this.noindexMap,n,this.#a):void 0,f=ts.V1.followRedirects(u)??l?.slug;return{id:t,type:"apiReference",title:this.apiSection.title,apiDefinitionId:ts.V1.ApiDefinitionId(this.apiSection.api),overviewPageId:r,noindex:i,paginated:this.paginated??(this.apiSection.longScrolling===!1?!0:void 0),slug:n.get(),icon:this.apiSection.icon,hidden:this.apiSection.hidden,hideTitle:this.apiSection.flattened,showErrors:this.apiSection.showErrors,changelog:l,children:u,availability:void 0,pointsTo:f,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}})}convertChildren(t){return this.apiSection.navigation!=null?this.convertApiNavigationItems(this.apiSection.navigation.items,t,f7i.SubpackageId("root")):this.convertPackageToChildren(this.api.rootPackage,t)}convertEndpointNode(t,r,i){return this.#a.with(t,n=>({id:n,type:"endpoint",title:r.name??u5o(r.path.parts),endpointId:t,slug:i.apply(r).get(),icon:void 0,hidden:void 0,method:r.method,apiDefinitionId:this.apiDefinitionId,availability:ts.V1.convertAvailability(r.availability),isResponseStream:r.response?.type.type==="stream",playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}))}convertWebSocketNode(t,r,i){return this.#a.with(t,n=>({id:n,type:"webSocket",title:r.name??u5o(r.path.parts),webSocketId:t,slug:i.apply(r).get(),icon:void 0,hidden:void 0,apiDefinitionId:this.apiDefinitionId,availability:ts.V1.convertAvailability(r.availability),playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}))}convertWebhookNode(t,r,i){return this.#a.with(t,n=>({id:n,type:"webhook",title:r.name??Dh("/",...r.path),webhookId:t,slug:i.apply(r).get(),icon:void 0,hidden:void 0,method:r.method,apiDefinitionId:this.apiDefinitionId,availability:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}))}convertPackageToChildren(t,r){let i=[],n=GOa(t)?t.subpackageId:"__package__";for(;t.pointsTo!=null;){n=t.pointsTo;let u=this.api.subpackages[t.pointsTo];if(u==null)return[];t=u}if(this.#i.has(n))return i;t.endpoints.forEach(u=>{let l=vQ.createEndpointId(u,n);this.#t.has(l)||(i.push(this.convertEndpointNode(l,u,r)),this.#t.add(l))}),t.websockets.forEach(u=>{let l=vQ.createWebSocketId(u,n);this.#r.has(l)||(i.push(this.convertWebSocketNode(l,u,r)),this.#r.add(l))}),t.webhooks.forEach(u=>{let l=vQ.createWebhookId(u,n);this.#n.has(l)||(i.push(this.convertWebhookNode(l,u,r)),this.#n.add(l))}),t.subpackages.forEach(u=>{let l=this.api.subpackages[u];if(l==null){console.error(`Subpackage ${u} not found in ${this.apiDefinitionId}`);return}let f=this.#a.with(u,s=>{let o=r.apply(l),c=this.convertPackageToChildren(l,o);if(c.length===0)return;let b=ts.V1.followRedirects(c);return{id:s,type:"apiPackage",children:c,title:l.displayName??VOa(l.name),slug:o.get(),icon:void 0,hidden:void 0,overviewPageId:void 0,noindex:void 0,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:b,playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}});f!=null&&i.push(f)}),this.#i.add(n);let a=this.mergeEndpointPairs(i);return this.lexicographic&&a.sort((u,l)=>{let f=u.type==="endpointPair"?u.nonStream.title:u.title,s=l.type==="endpointPair"?l.nonStream.title:l.title;return f.localeCompare(s)}),a}convertApiNavigationItems(t,r,i){let n=[],a=i==="root"?this.api.rootPackage:this.api.subpackages[i];if(a==null)throw new Error(`${i} is not present within known subpackages: ${Object.keys(this.api.subpackages).join(", ")}`);for(;a.pointsTo!=null;)if(a=this.api.subpackages[a.pointsTo],a==null)return[];let u=GOa(a)?a.subpackageId:RRe,l=new Map,f=new Map,s=new Map;return a.endpoints.forEach(o=>{l.set(o.id,o)}),a.websockets.forEach(o=>{f.set(o.id,o)}),a.webhooks.forEach(o=>{s.set(o.id,o)}),t.forEach(o=>{Iy(o,"type")._visit({page:c=>{n.push(this.#a.with(c.urlSlug,b=>{let g=ts.V1.PageId(c.id),O=this.noindexMap[g];return{id:b,type:"page",title:c.title,pageId:g,noindex:O,slug:r.apply(c).get(),icon:c.icon,hidden:c.hidden,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}}))},endpointId:c=>{let b=l.get(c.value);if(b==null){console.error(`Endpoint ${c.value} not found in ${u}`);return}let g=vQ.createEndpointId(b,u);n.push(this.convertEndpointNode(g,b,r)),this.#t.add(g)},websocketId:c=>{let b=f.get(c.value);if(b==null){console.error(`WebSocket ${c.value} not found in ${u}`);return}let g=vQ.createWebSocketId(b,u);n.push(this.convertWebSocketNode(g,b,r)),this.#r.add(g)},webhookId:c=>{let b=s.get(c.value);if(b==null){console.error(`Webhook ${c.value} not found in ${u}`);return}let g=vQ.createWebhookId(b,u);n.push(this.convertWebhookNode(g,b,r)),this.#n.add(g)},subpackage:({subpackageId:c,items:b,summaryPageId:g})=>{let O=this.api.subpackages[c];if(O==null){console.error(`Subpackage ${c} not found in ${u}`);return}let m=r.apply(O),P=g!=null?ts.V1.PageId(g):void 0,E=P!=null?this.noindexMap[P]:void 0,A=P!=null?this.fullSlugMap[P]:void 0;A!=null&&(m=this.parentSlug.set(A)),this.#a.with(c,M=>{let D=this.convertApiNavigationItems(b,m,c);n.push({id:M,type:"apiPackage",children:D,title:O.displayName??VOa(O.name),slug:m.get(),icon:void 0,hidden:void 0,overviewPageId:P,noindex:E,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:ts.V1.followRedirects(D),playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0})})},_other:sj_.noop})}),n.push(...this.convertPackageToChildren(a,r)),this.mergeEndpointPairs(n)}mergeEndpointPairs(t){if(this.disableEndpointPairs)return t;let r=[],i=new Map;return t.forEach(n=>{if(n.type!=="endpoint"){r.push(n);return}let a=this.#e.endpoints.get(n.endpointId);if(a==null)throw new Error(`Endpoint ${n.endpointId} not found`);let u=`${a.method} ${u5o(a.path.parts)}`,l=i.get(u);if(i.set(u,n),l==null||r.indexOf(l)===-1||l.isResponseStream===n.isResponseStream){r.push(n);return}let f=r.indexOf(l),s=this.#a.with("endpoint-pair",o=>({id:o,type:"endpointPair",stream:n.isResponseStream?n:l,nonStream:n.isResponseStream?l:n}));r[f]=s}),r}};function cj_(e){let t=/^---\s*([\s\S]*?)\s*---/.exec(e.trimStart());if(!(!t||t[1]==null))return t[1]}function $cc(e){if(/noindex:\s*true/.test(e))return!0;if(/noindex:\s*false/.test(e))return!1}var s5o=class e{title;config;fullSlugMap;noindexMap;apis;basePath;lexicographic;disableEndpointPairs;paginated;constructor(t,r,i,n,a,u,l,f,s){this.title=t,this.config=r,this.fullSlugMap=i,this.noindexMap=n,this.apis=a,this.basePath=u,this.lexicographic=l,this.disableEndpointPairs=f,this.paginated=s}static convert(t,r,i,n,a,u,l,f,s){return new e(t,r,i,n,a,u,l,f,s).convert()}#e=new _7i;convert(){return this.#e.with("root",t=>{let r=h7i.init(this.basePath??""),i=tj_(this.config,{versioned:u=>this.convertVersionedNavigationConfig(u,r),unversioned:u=>this.convertUnversionedNavigationConfig(u,r)}),n=ts.V1.followRedirect(i);if(n!=null&&i.type==="versioned"){let u=i.children.find(l=>l.default);u!=null&&(n=ts.V1.toDefaultSlug(n,r.get(),u.slug))}let a={id:t,type:"root",version:"v1",child:i,slug:r.get(),title:this.title??"Documentation",hidden:!1,icon:void 0,pointsTo:n,authed:void 0,viewers:void 0,orphaned:void 0,roles:void 0,featureFlags:void 0};return ts.V1.traverseDF(a,(u,l)=>{ts.V1.hasMetadata(u)&&l.some(f=>ts.V1.hasMetadata(f)&&f.hidden)&&(u.hidden=!0)}),a})}convertVersionedNavigationConfig(t,r){return this.#e.with("",i=>{let n=t.versions.map((a,u)=>{let l=r.setVersionSlug(a.urlSlug);return this.#e.with(a.urlSlug,f=>{let s=this.convertUnversionedNavigationConfig(a.config,l),o=ts.V1.followRedirect(s);return{id:f,type:"version",title:a.version,default:u===0,versionId:ts.V1.VersionId(a.version),slug:l.get(),icon:void 0,hidden:!1,child:s.child,availability:ts.V1.convertAvailability(a.availability),pointsTo:o,landingPage:s.landingPage,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}})});return{id:i,type:"versioned",children:n}})}convertUnversionedNavigationConfig(t,r){return this.#e.with("uv",i=>{let n=rj_(t,{tabbed:a=>({id:i,type:"tabbed",children:a.tabs.map(u=>{if(u.type==="group"||u.type==null)return this.#e.with(u.urlSlug,l=>{let f=r.apply(u),s=this.#e.with(u.urlSlug,c=>({id:c,type:"sidebarRoot",children:this.groupSidebarRootChildren(u.items.map(b=>this.convertNavigationItem(b,f)))})),o=ts.V1.followRedirect(s);return{id:l,type:"tab",title:u.title,slug:f.get(),icon:u.icon,hidden:u.hidden,child:s,pointsTo:o,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}});if(u.type==="link")return this.#e.with("link",l=>({id:l,type:"link",title:u.title,url:ts.V1.Url(u.url),icon:u.icon}));if(u.type==="changelog"){let l=r.apply(u);return p7i.convert(u,this.fullSlugMap,this.noindexMap,l,this.#e)}else{if(u.type==="changelogV3")return u.node;Iuc(u)}})}),untabbed:a=>({id:i,type:"sidebarRoot",children:this.groupSidebarRootChildren(a.items.map(u=>this.convertNavigationItem(u,r)))})});return{id:i,type:"unversioned",child:n,landingPage:this.#e.with("landing-page",a=>{if(t.landingPage==null)return;let u=ts.V1.PageId(t.landingPage.id);return{id:a,type:"landingPage",pageId:u,title:t.landingPage.title,slug:r.apply(t.landingPage).get(),icon:t.landingPage.icon,hidden:t.landingPage.hidden,noindex:this.noindexMap[u],authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}}),authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}})}groupSidebarRootChildren(t){let r=[];return t.forEach(i=>{if(i.type==="apiReference"){r.push(i);return}if(i.type==="section"&&!i.collapsed){r.push(i);return}let n=r.length>0?r[r.length-1]:void 0,a;n?.type==="sidebarGroup"?a=n:(a=this.#e.with("group",u=>({id:u,type:"sidebarGroup",children:[]})),r.push(a)),a.children.push(i)}),r}convertNavigationItem(t,r){return Iy(t,"type")._visit({page:i=>this.#e.with(i.urlSlug,n=>{let a=ts.V1.PageId(i.id);return{id:n,type:"page",pageId:a,title:i.title,slug:r.apply(i).get(),icon:i.icon,hidden:i.hidden,noindex:this.noindexMap[a],authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}}),link:i=>this.#e.with(hN(i.title),n=>({id:n,type:"link",title:i.title,url:ts.V1.Url(i.url),icon:i.icon})),section:i=>this.#e.with(i.urlSlug,n=>{let a=r.apply(i),u=i.items.map(c=>this.convertNavigationItem(c,a)),l=ts.V1.followRedirects(u),f=i.overviewPageId!=null?ts.V1.PageId(i.overviewPageId):void 0,s=f!=null?this.noindexMap[f]:void 0,o=f!=null?this.fullSlugMap[f]:void 0;return o!=null&&(a=r.set(o)),{id:n,type:"section",collapsed:i.collapsed,title:i.title,icon:i.icon,hidden:i.hidden,overviewPageId:f,noindex:s,slug:a.get(),children:u,pointsTo:l,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0}}),api:i=>{let n=this.apis[i.api];if(n==null)throw new Error(`API ${i.api} not found}`);return XOa.convert(i,n,this.fullSlugMap,this.noindexMap,r,this.#e,this.lexicographic,this.disableEndpointPairs,this.paginated)},changelog:i=>p7i.convert(i,this.fullSlugMap,this.noindexMap,r,this.#e),apiV2:i=>{let n=i.node;return this.paginated&&(n.paginated=!0),n},changelogV3:i=>i.node,_other:i=>Iuc(i)})}};function lj_(e){let t=e.match(/slug:\s*"?([^"\n\s]+)"?/);if(t!=null&&t[1]!=null)return ts.V1.slugjoin(t[1])}function WvE(e,t=!1,r){let i={},n={};return Object.entries(e.definition.pages).forEach(([a,u])=>{let l=cj_(u.markdown);if(l==null)return;let f=$cc(l);f!=null&&(i[ts.V1.PageId(a)]=f);let s=lj_(l);s!=null&&(n[ts.V1.PageId(a)]=s)}),e.definition.config.root?e.definition.config.root:e.definition.config.navigation?s5o.convert(e.definition.config.title,e.definition.config.navigation,n,i,$vE(e.definition.apis,e.baseUrl.domain),e.baseUrl.basePath,HvE(e.baseUrl.domain),t,r):(console.error("No root node found"),{type:"root",version:"v1",child:{type:"unversioned",id:ts.V1.NodeId("root-unversioned"),child:{type:"sidebarRoot",id:ts.V1.NodeId("root-sidebar"),children:[]},landingPage:void 0},title:e.definition.config.title??"",slug:ts.V1.Slug(""),icon:void 0,hidden:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0,id:ts.V1.NodeId("root"),pointsTo:void 0,roles:void 0})}function HvE(e){return e.toLowerCase().includes("aia.docs.buildwithfern.com")}function $vE(e,t){return t.includes("assemblyai")?uT(e,r=>GvE(r)):e}function GvE(e){let t=f7i.SubpackageId("subpackage_realtime"),r=f7i.SubpackageId("subpackage_streaming"),i=e.subpackages[t],n=e.subpackages[r];return i==null||n==null||(n.endpoints=[...i.endpoints,...n.endpoints],n.websockets=[...i.websockets,...n.websockets],n.webhooks=[...i.webhooks,...n.webhooks],delete e.subpackages[t],e.rootPackage.subpackages=e.rootPackage.subpackages.filter(a=>a!==t)),e}function Gcc(e){return typeof e.title=="string"&&typeof e.slug=="string"}function mkt(e){if(e!=null)return Iy(e)._visit({link:()=>{},page:t=>t.slug,changelog:t=>t.slug,changelogYear:t=>t.slug,changelogMonth:t=>t.slug,changelogEntry:t=>t.slug,endpoint:t=>t.slug,webSocket:t=>t.slug,webhook:t=>t.slug,landingPage:t=>t.slug,apiPackage:t=>t.overviewPageId!=null?t.slug:y7i(t.children),section:t=>t.overviewPageId!=null?t.slug:y7i(t.children),apiReference:t=>t.overviewPageId!=null?t.slug:y7i(t.children),product:t=>mkt(t.child),productgroup:t=>mkt(t.children.filter(r=>!r.hidden)[0]),versioned:t=>mkt(t.children.filter(r=>!r.hidden)[0]),unversioned:t=>mkt(t.landingPage??t.child),tabbed:t=>y7i(t.children),sidebarRoot:t=>y7i(t.children),endpointPair:t=>mkt(t.nonStream),root:t=>mkt(t.child),version:t=>mkt(t.child),tab:t=>mkt(t.child),sidebarGroup:t=>y7i(t.children)})}function y7i(e){for(let t of e){if(Gcc(t)&&t.hidden)continue;let r=mkt(t);if(r!=null)return r}}var Qcc=e=>e.pageId,c5o=e=>e.overviewPageId,ZOa=()=>{};function QvE(e){return Iy(e)._visit({section:c5o,apiReference:c5o,changelog:c5o,apiPackage:c5o,changelogEntry:Qcc,page:Qcc,landingPage:Qcc,endpoint:ZOa,webSocket:ZOa,webhook:ZOa,changelogYear:ZOa,changelogMonth:ZOa})}function v7i(e){return e.type==="endpoint"||e.type==="webSocket"||e.type==="webhook"}function kOa(e){return e.type==="page"||e.type==="landingPage"||e.type==="changelogEntry"}function Jcc(e){return v7i(e)||kOa(e)||e.type==="link"}function Kcc(e){return e.type==="section"||e.type==="apiReference"||e.type==="changelog"||e.type==="apiPackage"}function ema(e){return Kcc(e)&&e.overviewPageId!=null}function Ycc(e){return kOa(e)||ema(e)}function JvE(e){return v7i(e)||e.type==="page"||e.type==="changelog"||e.type==="changelogEntry"||ema(e)}function KvE(e){return v7i(e)||e.type==="changelog"||Ycc(e)}function YvE(e){return typeof e.pointsTo=="string"}function XvE(...e){return Dh(e.map(t=>t.trim())).replaceAll("//*","/").replace(/^\//,"").replace(/\/$/,"")}function ZvE(e,t,r){if(e!=null)return e.startsWith(r)?e.replace(new RegExp(`^${nW(r)}`),t).replace(/^\//,""):e}var fj_=oi(yS(),1);function dj_(e){if(Jcc(e))return[];switch(e.type){case"apiPackage":case"changelog":case"changelogMonth":case"changelogYear":case"section":case"sidebarGroup":case"sidebarRoot":case"tabbed":case"versioned":return e.children;case"product":case"root":case"tab":return[e.child];case"apiReference":return[...e.children,...e.changelog?[e.changelog]:[]];case"endpointPair":return[e.nonStream,e.stream];case"productgroup":return[...e.landingPage?[e.landingPage]:[],...e.children];case"unversioned":case"version":return[...e.landingPage?[e.landingPage]:[],e.child];default:throw new fj_.UnreachableCaseError(e)}}function kvE(e,t){return a5o(e,t,dj_)}var pj_=new WeakMap,wqn=class e{static EMPTY=new e(void 0);nodesInOrder=[];idToNode=new Map;idToNodeParents=new Map;slugToNode=new Map;orphanedNodes=[];static collect(t){if(t==null)return e.EMPTY;let r=pj_.get(t);if(r!=null)return r;let i=new e(t);return pj_.set(t,i),i}#e;#t;#r(t,r,i){let n={node:r,parents:i,prev:this.#t,next:void 0};this.slugToNode.set(t,n),ts.isNeighbor(r)&&(this.#t=r,this.#e!=null&&(this.#e.next=r),this.#e=n)}versionNodes=[];defaultVersion;productNodes=[];defaultProduct;constructor(t){t!=null&&ts.traverseDF(t,(r,i)=>{if(r.type==="product"&&this.productNodes.push(r),r.type==="version"&&this.versionNodes.push(r),r.type==="version"&&r.default&&t.type==="root"){let n=i.find(KOa),a=JSON.parse(JSON.stringify(r));this.defaultVersion=aj_(a,n?.slug??t.slug,r.slug),ts.traverseDF(this.defaultVersion,(u,l)=>{this.visitNode(u,[...i,...l],!0)})}this.visitNode(r,i)})}visitNode(t,r,i=!1){if((!this.idToNode.has(t.id)||i)&&(this.idToNode.set(t.id,t),this.idToNodeParents.set(t.id,r),this.nodesInOrder.push(t)),t.type==="sidebarRoot"&&(this.#e=void 0,this.#t=void 0),!ts.hasMetadata(t)||t.type==="changelogMonth"||t.type==="changelogYear")return;let n=this.slugToNode.get(t.slug);n==null?this.#r(t.slug,t,r):!t.hidden&&ts.isPage(t)&&(n.node.hidden||!ts.isPage(n.node))?(this.orphanedNodes.push(n.node),this.#r(t.slug,t,r)):this.orphanedNodes.push(t)}getOrphanedNodes(){return this.orphanedNodes}getOrphanedPages=iZ(()=>this.orphanedNodes.filter(ts.isPage));getSlugMap=iZ(()=>new Map([...this.slugToNode.entries()].map(([t,{node:r}])=>[t,r])));get slugMap(){return this.getSlugMap()}get defaultVersionNode(){return this.defaultVersion}get defaultProductNode(){return this.defaultProduct}get(t){return this.idToNode.get(t)}getParents(t){return this.idToNodeParents.get(t)??zuc}getSlugMapWithParents=()=>this.slugToNode;#n=iZ(()=>[...this.slugToNode.keys()]);get slugs(){return this.#n()}#i=iZ(()=>Array.from(new Set([...this.slugToNode.values()].filter(({node:t})=>ts.isPage(t)).filter(({node:t})=>!t.authed).map(({node:t})=>t.slug))));get staticPageSlugs(){return this.#i()}#a=iZ(()=>Array.from(new Set([...this.slugToNode.values()].filter(({node:t})=>ts.isPage(t)).filter(({node:t})=>!t.hidden&&!t.authed).filter(({node:t})=>ts.hasMarkdown(t)?!t.noindex:!0).map(({node:t})=>t.canonicalSlug??t.slug))));get indexablePageSlugs(){return this.#a()}#o=iZ(()=>{let t={};return[...this.slugToNode.values()].filter(({node:r})=>ts.isPage(r)).filter(({node:r})=>!r.hidden).filter(({node:r})=>ts.hasMarkdown(r)?!r.noindex:!0).forEach(r=>{let i=r.node.canonicalSlug??r.node.slug;i in t||(t[i]=r.node)}),Object.values(t)});get indexablePageNodesWithAuth(){return this.#o()}getProductNodes=()=>this.productNodes;getVersionNodes=()=>this.versionNodes;getNodesInOrder=()=>this.nodesInOrder};var Zcc={};jn(Zcc,{FernNavigationV1ToLatest:()=>tma});var _j_=oi(yS(),1);var tma=class e{static create(){return new e}constructor(){}root=t=>({type:"root",child:Iy(t.child)._visit({versioned:i=>this.versioned(i,[t]),unversioned:i=>this.unversioned(i,[t]),productgroup:i=>this.productGroup(i,[t])}),version:"v2",title:t.title,id:ts.NodeId(t.id),pointsTo:t.pointsTo?ts.Slug(t.pointsTo):void 0,slug:ts.Slug(t.slug),canonicalSlug:void 0,icon:t.icon,hidden:t.hidden,authed:t.authed,viewers:t.viewers,orphaned:t.orphaned,roles:t.roles,featureFlags:t.featureFlags});versioned=(t,r)=>{if(t.children.length===0)return{type:"versioned",id:ts.NodeId(t.id),children:[]};let i=t.children.findIndex(f=>f.default);i===-1&&(i=0);let n=t.children[i];if(!n)throw new Error("default version is undefined");let a=this.version(n,[...r,t]),u=[...t.children.slice(0,i).map(f=>this.version(f,[...r,t])),a,...t.children.slice(i+1).map(f=>this.version(f,[...r,t]))];return{type:"versioned",id:ts.NodeId(t.id),children:u}};version=(t,r)=>{let i=t.landingPage?this.landingPage(t.landingPage,[...r,t]):void 0;return{type:"version",default:t.default,versionId:t.versionId,landingPage:i,child:Iy(t.child)._visit({tabbed:a=>this.tabbed(a,[...r,t]),sidebarRoot:a=>this.sidebarRoot(a,[...r,t])}),availability:this.#r(t.availability),title:t.title,slug:ts.Slug(t.slug),canonicalSlug:void 0,icon:t.icon,hidden:t.hidden,authed:t.authed,id:ts.NodeId(t.id),pointsTo:t.pointsTo?ts.Slug(t.pointsTo):void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}};landingPage=(t,r)=>{let i=ts.Slug(t.slug),n=this.#i([t.pageId,this.#a(t,r)],i);return{type:"landingPage",title:t.title,slug:i,canonicalSlug:n,icon:t.icon,hidden:t.hidden,authed:t.authed,id:ts.NodeId(t.id),pageId:ts.PageId(t.pageId),noindex:t.noindex,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}};tabbed=(t,r)=>({type:"tabbed",id:ts.NodeId(t.id),children:t.children.map(n=>Iy(n)._visit({tab:a=>this.tab(a,[...r,t]),link:a=>this.link(a,[...r,t]),changelog:a=>this.changelog(a,[...r,t])}))});tab=(t,r)=>({type:"tab",child:this.sidebarRoot(t.child,[...r,t]),title:t.title,slug:ts.Slug(t.slug),canonicalSlug:void 0,icon:t.icon,hidden:t.hidden,authed:t.authed,id:ts.NodeId(t.id),pointsTo:t.pointsTo?ts.Slug(t.pointsTo):void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags});link=(t,r)=>({type:"link",id:ts.NodeId(t.id),title:t.title,url:t.url,icon:t.icon});unversioned=(t,r)=>({type:"unversioned",child:Iy(t.child)._visit({tabbed:n=>this.tabbed(n,[...r,t]),sidebarRoot:n=>this.sidebarRoot(n,[...r,t])}),landingPage:t.landingPage?this.landingPage(t.landingPage,[...r,t]):void 0,id:ts.NodeId(t.id)});productGroup=(t,r)=>{let i=t.landingPage?this.landingPage(t.landingPage,[...r,t]):void 0;if(t.children.length===0)return{type:"productgroup",landingPage:i,id:ts.NodeId(t.id),children:[]};let n=t.children.findIndex(s=>s.default);n===-1&&(n=0);let a=t.children[n];if(!a)throw new Error("default product is undefined");let u=this.product(a,[...r,t]),l=[...t.children.slice(0,n).map(s=>this.product(s,[...r,t])),u,...t.children.slice(n+1).map(s=>this.product(s,[...r,t]))];return{type:"productgroup",landingPage:i,children:l,id:ts.NodeId(t.id)}};product=(t,r)=>({type:"product",id:ts.NodeId(t.id),title:t.title,slug:ts.Slug(t.slug),canonicalSlug:void 0,icon:t.icon,image:t.image,hidden:t.hidden,authed:t.authed,pointsTo:t.pointsTo?ts.Slug(t.pointsTo):void 0,default:t.default,productId:ts.ProductId(t.productId),child:Iy(t.child)._visit({unversioned:n=>this.unversioned(n,[...r,t]),versioned:n=>this.versioned(n,[...r,t])}),subtitle:t.subtitle,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags});sidebarRoot=(t,r)=>({type:"sidebarRoot",id:ts.NodeId(t.id),children:t.children.map(n=>Iy(n)._visit({sidebarGroup:a=>this.sidebarGroup(a,[...r,t]),apiReference:a=>this.apiReference(a,[...r,t]),section:a=>this.section(a,[...r,t])}))});sidebarGroup=(t,r)=>({type:"sidebarGroup",id:ts.NodeId(t.id),children:t.children.map(n=>this.#e(n,[...r,t]))});page=(t,r)=>{let i=ts.Slug(t.slug),n=this.#i([t.pageId,this.#a(t,r)],i);return{type:"page",id:ts.NodeId(t.id),title:t.title,slug:i,canonicalSlug:n,icon:t.icon,hidden:t.hidden,authed:t.authed,pageId:ts.PageId(t.pageId),noindex:t.noindex,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}};section=(t,r)=>{let i=ts.Slug(t.slug),n=t.overviewPageId?ts.PageId(t.overviewPageId):void 0,a=n!=null?this.#i([n,this.#a(t,r)],i):void 0;return{type:"section",id:ts.NodeId(t.id),children:t.children.map(l=>this.#e(l,[...r,t])),title:t.title,slug:i,canonicalSlug:a,icon:t.icon,hidden:t.hidden,authed:t.authed,pointsTo:t.pointsTo?ts.Slug(t.pointsTo):void 0,collapsed:t.collapsed,overviewPageId:n,noindex:t.noindex,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}};apiReference=(t,r)=>{let i=ts.Slug(t.slug),n=t.overviewPageId?ts.PageId(t.overviewPageId):void 0,a=n!=null?this.#i([n,this.#a(t,r)],i):void 0;return{type:"apiReference",paginated:t.paginated,showErrors:t.showErrors,hideTitle:t.hideTitle,children:t.children.map(l=>this.#t(l,[...r,t])),changelog:t.changelog?this.changelog(t.changelog,[...r,t]):void 0,playground:t.playground,title:t.title,slug:i,canonicalSlug:a,icon:t.icon,hidden:t.hidden,authed:t.authed,id:ts.NodeId(t.id),overviewPageId:n,noindex:t.noindex,apiDefinitionId:t.apiDefinitionId,availability:this.#r(t.availability),pointsTo:t.pointsTo?ts.Slug(t.pointsTo):void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}};changelog=(t,r)=>{let i=ts.Slug(t.slug),n=t.overviewPageId?ts.PageId(t.overviewPageId):void 0,a=n!=null?this.#i(n,i):void 0;return{type:"changelog",id:ts.NodeId(t.id),children:t.children.map(l=>this.changelogYear(l,[...r,t])),title:t.title,slug:i,canonicalSlug:a,icon:t.icon,hidden:t.hidden,authed:t.authed,overviewPageId:n,noindex:t.noindex,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}};changelogYear=(t,r)=>({type:"changelogYear",id:ts.NodeId(t.id),children:t.children.map(n=>this.changelogMonth(n,[...r,t])),title:t.title,slug:ts.Slug(t.slug),canonicalSlug:void 0,icon:t.icon,hidden:t.hidden,authed:t.authed,year:t.year,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags});changelogMonth=(t,r)=>({type:"changelogMonth",id:ts.NodeId(t.id),children:t.children.map(n=>this.changelogEntry(n,[...r,t])),title:t.title,slug:ts.Slug(t.slug),canonicalSlug:void 0,icon:t.icon,hidden:t.hidden,authed:t.authed,month:t.month,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags});changelogEntry=(t,r)=>{let i=ts.Slug(t.slug),n=this.#i(t.pageId,i);return{type:"changelogEntry",id:ts.NodeId(t.id),title:t.title,slug:i,canonicalSlug:n,icon:t.icon,hidden:t.hidden,authed:t.authed,date:t.date,pageId:ts.PageId(t.pageId),noindex:t.noindex,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}};apiPackage=(t,r)=>{let i=ts.Slug(t.slug),n=t.overviewPageId?ts.PageId(t.overviewPageId):void 0,a=n!=null?this.#i([n,this.#a(t,r)],i):void 0;return{type:"apiPackage",id:ts.NodeId(t.id),children:t.children.map(l=>this.#t(l,[...r,t])),title:t.title,slug:i,canonicalSlug:a,icon:t.icon,hidden:t.hidden,authed:t.authed,pointsTo:t.pointsTo?ts.Slug(t.pointsTo):void 0,playground:t.playground,overviewPageId:n,noindex:t.noindex,apiDefinitionId:t.apiDefinitionId,availability:this.#r(t.availability),viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}};endpoint=(t,r)=>{let i=this.#o(r),n=ts.Slug(t.slug),a=this.#i([`${i}:api:endpoint:${t.method}:${t.endpointId}`,this.#a(t,r)],n);return{type:"endpoint",id:ts.NodeId(t.id),title:t.title,slug:n,canonicalSlug:a,icon:t.icon,hidden:t.hidden,authed:t.authed,playground:t.playground,apiDefinitionId:t.apiDefinitionId,availability:this.#r(t.availability),method:t.method,endpointId:t.endpointId,isResponseStream:t.isResponseStream,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}};endpointPair=(t,r)=>({type:"endpointPair",id:ts.NodeId(t.id),nonStream:this.endpoint(t.nonStream,[...r,t]),stream:this.endpoint(t.stream,[...r,t])});webSocket=(t,r)=>{let i=this.#o(r),n=ts.Slug(t.slug),a=this.#i([`${i}:api:websocket:${t.webSocketId}`,this.#a(t,r)],n);return{type:"webSocket",id:ts.NodeId(t.id),title:t.title,slug:n,canonicalSlug:a,icon:t.icon,hidden:t.hidden,authed:t.authed,playground:t.playground,apiDefinitionId:t.apiDefinitionId,availability:this.#r(t.availability),webSocketId:t.webSocketId,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}};webhook=(t,r)=>{let i=this.#o(r),n=ts.Slug(t.slug),a=this.#i([`${i}:api:webhook:${t.method}:${t.webhookId}`,this.#a(t,r)],n);return{type:"webhook",id:ts.NodeId(t.id),title:t.title,slug:n,canonicalSlug:a,icon:t.icon,hidden:t.hidden,authed:t.authed,apiDefinitionId:t.apiDefinitionId,availability:this.#r(t.availability),method:t.method,webhookId:t.webhookId,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}};#e=(t,r)=>Iy(t)._visit({apiReference:i=>this.apiReference(i,r),section:i=>this.section(i,r),link:i=>this.link(i,r),page:i=>this.page(i,r),changelog:i=>this.changelog(i,r)});#t=(t,r)=>Iy(t)._visit({page:i=>this.page(i,r),link:i=>this.link(i,r),apiPackage:i=>this.apiPackage(i,r),endpoint:i=>this.endpoint(i,r),endpointPair:i=>this.endpointPair(i,r),webSocket:i=>this.webSocket(i,r),webhook:i=>this.webhook(i,r)});#r(t){if(t!=null)switch(t){case"beta":return ts.Availability.Beta;case"deprecated":return ts.Availability.Deprecated;case"generally-available":return ts.Availability.GenerallyAvailable;case"in-development":return ts.Availability.InDevelopment;case"pre-release":return ts.Availability.PreRelease;case"stable":return ts.Availability.Stable;default:throw new _j_.UnreachableCaseError(t)}}#n=new Map;#i=(t,r)=>{if(t==null)return;if(Array.isArray(t))return t.map(n=>this.#i(n,r)).find(n=>n!=null);let i=this.#n.get(t);if(i!=null)return i;this.#n.set(t,r)};#a=(t,r)=>[...this.#s(r).filter(ts.V1.hasMetadata).map(a=>a.title),t.title].join("###");#o=t=>[...this.#s(t).filter(n=>n.type==="apiReference").map(n=>n.title.replaceAll(" ",""))].join(":");#s=t=>{let r=t.findIndex(n=>n.type==="version");return r>=0?t.slice(r+1):t}};var tlc={};jn(tlc,{collectApiReferences:()=>ebE,collectPageIds:()=>tbE,createBreadcrumb:()=>kcc,findNode:()=>rbE,getApiReferenceId:()=>ibE,getNoIndexFromFrontmatter:()=>$cc,mutableUpdatePointsTo:()=>nma,toApis:()=>nbE,toPages:()=>abE,toRootNode:()=>ubE,toUnversionedSlug:()=>sbE});function ebE(e){let t=[];return ts.traverseDF(e,r=>r.type==="apiReference"?(t.push(r),"skip"):!0),t}function tbE(e){let t=new Set;return ts.traverseDF(e,r=>{if(ts.isPage(r)){let i=zcc(r);i!=null&&t.add(i)}}),t}var rma=oi(yS(),1);function kcc(e){let t=[];return e.forEach(r=>{!ts.hasMetadata(r)||ts.isLeaf(r)||Iy(r)._visit({root:rma.noop,version:rma.noop,tab:rma.noop,product:rma.noop,section:i=>{t.push({title:i.title,pointsTo:i.overviewPageId!=null?i.slug:i.pointsTo})},apiReference:i=>{i.hideTitle||t.push({title:i.title,pointsTo:i.overviewPageId!=null?i.slug:i.pointsTo})},changelog:i=>{t.push({title:i.title,pointsTo:i.slug})},changelogYear:i=>{t.push({title:i.title,pointsTo:i.slug})},changelogMonth:i=>{t.push({title:i.title,pointsTo:i.slug})},apiPackage:i=>{t.push({title:i.title,pointsTo:i.overviewPageId!=null?i.slug:i.pointsTo})}})}),t.filter(r=>r.title.trim().length>0)}function rbE(e,t){let r=wqn.collect(e),i=r.getSlugMapWithParents().get(t);if(i==null){let g=e,O=!1;for(let m of r.getProductNodes())if(t.startsWith(m.slug)){g=m,O=!0;break}if(!O){for(let m of r.getVersionNodes())if(t.startsWith(m.slug)){g=m;break}}return{type:"notFound",redirect:g.pointsTo,authed:g.authed}}let n=i.parents.find(t5o),a=i.parents.find(Lcc),u=i.parents.find(KOa),l=i.parents.find(Fcc),f=i.parents.find(Ncc),s=(l??f)?.child;!n&&l!=null&&t5o(l.child)&&(n=l.child);let o=(a??l??f)?.landingPage,c=i.parents.find(r5o)??(s!=null&&r5o(s)?s:void 0),b=i.parents.find(Rcc)??(i.node.type==="apiReference"?i.node:void 0);if(ts.isPage(i.node)){let g=[...i.parents,i.node],O=g.findIndex(T=>T===c),m=O!==-1?g[O+1]:void 0,P=r.getProductNodes().map(T=>T.default?T.id===u?.id?u:r.defaultProductNode??T:T),E=r.getVersionNodes().map(T=>T.default?T.id===l?.id?l:r.defaultVersionNode??T:T),A=m?.type==="tab"||m?.type==="changelog"?m:void 0,M=u?.slug??l?.slug??e.slug,D=ts.Slug(i.node.slug.replace(new RegExp(`^${nW(M)}/`),""));return{type:"found",node:i.node,breadcrumb:kcc(i.parents),parents:i.parents,root:e,versions:E,tabs:c?.children??[],products:P,currentProduct:u,currentVersion:l,isCurrentProductDefault:u?.default?u===r.defaultProductNode:!1,isCurrentVersionDefault:l?.default?l===r.defaultVersionNode:!1,currentTab:A,sidebar:n,apiReference:b,landingPage:o,next:i.next,prev:i.prev,collector:r,unversionedSlug:D}}return e.type==="root"&&e.slug===t&&e.pointsTo!=null?{type:"redirect",redirect:e.pointsTo}:ts.hasRedirect(i.node)&&i.node.pointsTo!=null?{type:"redirect",redirect:i.node.pointsTo}:{type:"notFound",redirect:l?.pointsTo??e.pointsTo,authed:i.node.authed}}var y9=()=>{},ima=e=>e.apiDefinitionId;function ibE(e){if(e!=null)return Iy(e)._visit({root:y9,versioned:y9,tabbed:y9,sidebarRoot:y9,sidebarGroup:y9,version:y9,tab:y9,link:y9,page:y9,section:y9,changelog:y9,changelogYear:y9,changelogMonth:y9,changelogEntry:y9,product:y9,productgroup:y9,apiReference:ima,endpoint:ima,endpointPair:t=>t.nonStream.apiDefinitionId,webSocket:ima,webhook:ima,apiPackage:ima,unversioned:y9,landingPage:y9})}function nbE(e){return{...uT(e.definition.apis,t=>Dhi.ApiDefinitionV1ToLatest.from(t,{useJavaScriptAsTypeScript:!1,alwaysEnableJavaScriptFetch:!1,usesApplicationJsonInFormDataValue:!1}).migrate()),...e.definition.apisV2}}function abE(e){return uT(e.definition.pages,t=>t.markdown)}var vj_=oi(yS(),1);function elc(e){if(e!=null){if(ts.isPage(e)&&!e.authed)return e.slug;if(!ts.isLeaf(e))switch(e.type){case"productgroup":case"versioned":return hj_([...e.children].sort(obE));case"apiReference":case"apiPackage":case"changelogMonth":case"changelogYear":case"endpointPair":case"product":case"root":case"section":case"sidebarRoot":case"sidebarGroup":case"tab":case"tabbed":case"unversioned":case"version":case"changelog":return hj_(ts.getChildren(e));default:throw new vj_.UnreachableCaseError(e)}}}function hj_(e){for(let t of e){if(ts.hasMetadata(t)&&t.hidden)continue;let r=elc(t);if(r!=null)return r}}function yj_(e){return e.default&&!e.hidden?1:e.hidden?-1:0}function obE(e,t){return yj_(t)-yj_(e)}function nma(e){ts.traverseDF(e,t=>{if(ts.hasPointsTo(t)){let r=elc(t);t.pointsTo=t.slug===r?void 0:r}})}function ubE(e,t=!1,r){let i=ts.V1.toRootNode(e,t,r),n=tma.create().root(i);return nma(n),n}function sbE(e,t){return e.replace(new RegExp(`^${nW(t)}(/|$)`),"")}function bj_(e,t){let{predicate:r,getChildren:i,deleter:n,getPointer:a=f=>f}=t,u=new Set,l=[];return n5o(e,(f,s)=>{l.unshift([f,s])},i),l.forEach(([f,s])=>{let o=[...s,f],c=o.findIndex(P=>u.has(a(P)));if(c!==-1){o.slice(c).forEach(P=>u.add(a(P)));return}if(r(f,s))return;let b=[...s],g=b.pop(),O=n(g,f),m=f;for(;O==="should-delete-parent"&&g!=null;)u.add(a(m)),m=g,O=n(b.pop(),g);O==="deleted"&&u.add(a(m))}),u.has(a(e))?[void 0,u]:[e,u]}var rlc=oi(yS(),1);function gj_(e,t){if(!ts.isLeaf(t)&&ts.isPage(t)&&ts.getChildren(t).length>0&&t.type!=="changelog"){if(ts.isSectionOverview(t))return t.overviewPageId=void 0,t.children.length===0?"deleted":"noop";throw new rlc.UnreachableCaseError(t)}if(!ts.isLeaf(t)&&ts.getChildren(t).length>0)return"noop";if(e==null)return"deleted";switch(e.type){case"apiPackage":e.children=e.children.filter(r=>r.id!==t.id);break;case"apiReference":e.children=e.children.filter(r=>r.id!==t.id),e.changelog=e.changelog?.id===t.id?void 0:e.changelog;break;case"changelog":e.children=e.children.filter(r=>r.id!==t.id);break;case"changelogYear":e.children=e.children.filter(r=>r.id!==t.id);break;case"changelogMonth":e.children=e.children.filter(r=>r.id!==t.id);break;case"endpointPair":return"should-delete-parent";case"productgroup":e.children=e.children.filter(r=>r.id!==t.id),e.landingPage=e.landingPage?.id===t.id?void 0:e.landingPage;break;case"product":case"root":return"should-delete-parent";case"unversioned":t.id===e.landingPage?.id&&(e.landingPage=void 0);break;case"section":e.children=e.children.filter(r=>r.id!==t.id);break;case"sidebarGroup":e.children=e.children.filter(r=>r.id!==t.id);break;case"tab":return"should-delete-parent";case"sidebarRoot":e.children=e.children.filter(r=>r.id!==t.id);break;case"tabbed":e.children=e.children.filter(r=>r.id!==t.id);break;case"version":t.id===e.landingPage?.id&&(e.landingPage=void 0);break;case"versioned":e.children=e.children.filter(r=>r.id!==t.id);break;default:throw new rlc.UnreachableCaseError(e)}return ts.isPage(e)?"noop":ts.getChildren(e).length>0?"deleted":"should-delete-parent"}var ilc=class e{static from(t){return new e(t)}tree;constructor(t){this.tree=k6o(t)}keep(t){if(this.tree==null)return this;let[r]=bj_(this.tree,{predicate:t,getChildren:ts.getChildren,getPointer:i=>i.id,deleter:gj_});return this.tree=r,this}remove(t){return this.keep((r,i)=>!t(r,i))}hide(t){return this.tree==null?this:(ts.traverseBF(this.tree,(r,i)=>{ts.hasMetadata(r)&&(r.hidden=t(r,i))}),this)}authed(t){if(this.tree==null)return this;let r=new Set;ts.traverseBF(this.tree,(i,n)=>{if(ts.hasMetadata(i)&&(i.authed=t(i,n)?!0:void 0,!i.authed))for(let a of n)r.add(a)});for(let i of r)ts.hasMetadata(i)&&!ts.isPage(i)&&(i.authed=void 0);return this}get(){if(this.tree!=null)return nma(this.tree),this.tree}};function Juc(e){return e.trimEnd().length===0?e:e.length<28?e.slice(0,1)+"*".repeat(25)+e.slice(-2):e.slice(0,12)+"...."+e.slice(-12)}var Oj_=require("fs"),l5o=class{parse({absoluteFilePath:t}){let r=(0,Oj_.readFileSync)(t,"utf-8"),i=r.match(/option\s+csharp_namespace\s*=\s*"([^"]+)";/),n=r.match(/package\s+([a-zA-Z_][\w.]*);/),a=r.match(/service\s+([a-zA-Z_]\w*)\s*{/);return{csharpNamespace:i?.[1],packageName:n?.[1],serviceName:a?.[1]}}};var f5o=class{context;workspace;sourceCache;constructor(t,r){this.context=t,this.workspace=r,this.sourceCache=new Map}resolveSourceOrThrow({source:t,relativeFilepath:r}){let i=this.resolveSource({source:t});if(i==null){if(TJt(t))throw new Error(`Cannot resolve source ${t.proto} from file ${r}`);this.context.logger.warn(`Cannot resolve source ${t.openapi} from file ${r}`)}return i}resolveSource({source:t}){return TJt(t)?this.resolveProtobufSource({source:t}):this.resolveOpenAPISource({source:t})}resolveProtobufSource({source:t}){let r=Lu(this.workspace.absoluteFilePath,Ja.of(t.proto));if(this.sourceCache.has(r))return this.sourceCache.get(r);if(!VQr(r))return;let n=new l5o().parse({absoluteFilePath:r}),a={type:"protobuf",absoluteFilePath:r,relativeFilePath:Ja.of(t.proto),csharpNamespace:n.csharpNamespace,packageName:n.packageName,serviceName:n.serviceName};return this.sourceCache.set(r,a),a}resolveOpenAPISource({source:t}){let r=Lu(this.workspace.absoluteFilePath,Ja.of(t.openapi));if(this.sourceCache.has(r))return this.sourceCache.get(r);if(!VQr(r))return;let i={type:"openapi",absoluteFilePath:r,relativeFilePath:Ja.of(t.openapi)};return this.sourceCache.set(r,i),i}};function cbE(e){for(var t=[],r=0;r<e.length;){var i=e[r];if(i==="*"||i==="+"||i==="?"){t.push({type:"MODIFIER",index:r,value:e[r++]});continue}if(i==="\\"){t.push({type:"ESCAPED_CHAR",index:r++,value:e[r++]});continue}if(i==="{"){t.push({type:"OPEN",index:r,value:e[r++]});continue}if(i==="}"){t.push({type:"CLOSE",index:r,value:e[r++]});continue}if(i===":"){for(var n="",a=r+1;a<e.length;){var u=e.charCodeAt(a);if(u>=48&&u<=57||u>=65&&u<=90||u>=97&&u<=122||u===95){n+=e[a++];continue}break}if(!n)throw new TypeError("Missing parameter name at ".concat(r));t.push({type:"NAME",index:r,value:n}),r=a;continue}if(i==="("){var l=1,f="",a=r+1;if(e[a]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(a));for(;a<e.length;){if(e[a]==="\\"){f+=e[a++]+e[a++];continue}if(e[a]===")"){if(l--,l===0){a++;break}}else if(e[a]==="("&&(l++,e[a+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(a));f+=e[a++]}if(l)throw new TypeError("Unbalanced pattern at ".concat(r));if(!f)throw new TypeError("Missing pattern at ".concat(r));t.push({type:"PATTERN",index:r,value:f}),r=a;continue}t.push({type:"CHAR",index:r,value:e[r++]})}return t.push({type:"END",index:r,value:""}),t}function mj_(e,t){t===void 0&&(t={});for(var r=cbE(e),i=t.prefixes,n=i===void 0?"./":i,a=t.delimiter,u=a===void 0?"/#?":a,l=[],f=0,s=0,o="",c=function(L){if(s<r.length&&r[s].type===L)return r[s++].value},b=function(L){var V=c(L);if(V!==void 0)return V;var X=r[s],J=X.type,Z=X.index;throw new TypeError("Unexpected ".concat(J," at ").concat(Z,", expected ").concat(L))},g=function(){for(var L="",V;V=c("CHAR")||c("ESCAPED_CHAR");)L+=V;return L},O=function(L){for(var V=0,X=u;V<X.length;V++){var J=X[V];if(L.indexOf(J)>-1)return!0}return!1},m=function(L){var V=l[l.length-1],X=L||(V&&typeof V=="string"?V:"");if(V&&!X)throw new TypeError('Must have text between two parameters, missing text after "'.concat(V.name,'"'));return!X||O(X)?"[^".concat(Ehi(u),"]+?"):"(?:(?!".concat(Ehi(X),")[^").concat(Ehi(u),"])+?")};s<r.length;){var P=c("CHAR"),E=c("NAME"),A=c("PATTERN");if(E||A){var M=P||"";n.indexOf(M)===-1&&(o+=M,M=""),o&&(l.push(o),o=""),l.push({name:E||f++,prefix:M,suffix:"",pattern:A||m(M),modifier:c("MODIFIER")||""});continue}var D=P||c("ESCAPED_CHAR");if(D){o+=D;continue}o&&(l.push(o),o="");var T=c("OPEN");if(T){var M=g(),z=c("NAME")||"",$=c("PATTERN")||"",x=g();b("CLOSE"),l.push({name:z||($?f++:""),pattern:z&&!$?m(M):$,prefix:M,suffix:x,modifier:c("MODIFIER")||""});continue}b("END")}return l}function Pj_(e,t){return lbE(mj_(e,t),t)}function lbE(e,t){t===void 0&&(t={});var r=nlc(t),i=t.encode,n=i===void 0?function(f){return f}:i,a=t.validate,u=a===void 0?!0:a,l=e.map(function(f){if(typeof f=="object")return new RegExp("^(?:".concat(f.pattern,")$"),r)});return function(f){for(var s="",o=0;o<e.length;o++){var c=e[o];if(typeof c=="string"){s+=c;continue}var b=f?f[c.name]:void 0,g=c.modifier==="?"||c.modifier==="*",O=c.modifier==="*"||c.modifier==="+";if(Array.isArray(b)){if(!O)throw new TypeError('Expected "'.concat(c.name,'" to not repeat, but got an array'));if(b.length===0){if(g)continue;throw new TypeError('Expected "'.concat(c.name,'" to not be empty'))}for(var m=0;m<b.length;m++){var P=n(b[m],c);if(u&&!l[o].test(P))throw new TypeError('Expected all "'.concat(c.name,'" to match "').concat(c.pattern,'", but got "').concat(P,'"'));s+=c.prefix+P+c.suffix}continue}if(typeof b=="string"||typeof b=="number"){var P=n(String(b),c);if(u&&!l[o].test(P))throw new TypeError('Expected "'.concat(c.name,'" to match "').concat(c.pattern,'", but got "').concat(P,'"'));s+=c.prefix+P+c.suffix;continue}if(!g){var E=O?"an array":"a string";throw new TypeError('Expected "'.concat(c.name,'" to be ').concat(E))}}return s}}function jj_(e,t){var r=[],i=wj_(e,r,t);return fbE(i,r,t)}function fbE(e,t,r){r===void 0&&(r={});var i=r.decode,n=i===void 0?function(a){return a}:i;return function(a){var u=e.exec(a);if(!u)return!1;for(var l=u[0],f=u.index,s=Object.create(null),o=function(b){if(u[b]===void 0)return"continue";var g=t[b-1];g.modifier==="*"||g.modifier==="+"?s[g.name]=u[b].split(g.prefix+g.suffix).map(function(O){return n(O,g)}):s[g.name]=n(u[b],g)},c=1;c<u.length;c++)o(c);return{path:l,index:f,params:s}}}function Ehi(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function nlc(e){return e&&e.sensitive?"":"i"}function dbE(e,t){if(!t)return e;for(var r=/\((?:\?<(.*?)>)?(?!\?)/g,i=0,n=r.exec(e.source);n;)t.push({name:n[1]||i++,prefix:"",suffix:"",modifier:"",pattern:""}),n=r.exec(e.source);return e}function pbE(e,t,r){var i=e.map(function(n){return wj_(n,t,r).source});return new RegExp("(?:".concat(i.join("|"),")"),nlc(r))}function _bE(e,t,r){return hbE(mj_(e,r),t,r)}function hbE(e,t,r){r===void 0&&(r={});for(var i=r.strict,n=i===void 0?!1:i,a=r.start,u=a===void 0?!0:a,l=r.end,f=l===void 0?!0:l,s=r.encode,o=s===void 0?function(V){return V}:s,c=r.delimiter,b=c===void 0?"/#?":c,g=r.endsWith,O=g===void 0?"":g,m="[".concat(Ehi(O),"]|$"),P="[".concat(Ehi(b),"]"),E=u?"^":"",A=0,M=e;A<M.length;A++){var D=M[A];if(typeof D=="string")E+=Ehi(o(D));else{var T=Ehi(o(D.prefix)),z=Ehi(o(D.suffix));if(D.pattern)if(t&&t.push(D),T||z)if(D.modifier==="+"||D.modifier==="*"){var $=D.modifier==="*"?"?":"";E+="(?:".concat(T,"((?:").concat(D.pattern,")(?:").concat(z).concat(T,"(?:").concat(D.pattern,"))*)").concat(z,")").concat($)}else E+="(?:".concat(T,"(").concat(D.pattern,")").concat(z,")").concat(D.modifier);else{if(D.modifier==="+"||D.modifier==="*")throw new TypeError('Can not repeat "'.concat(D.name,'" without a prefix and suffix'));E+="(".concat(D.pattern,")").concat(D.modifier)}else E+="(?:".concat(T).concat(z,")").concat(D.modifier)}}if(f)n||(E+="".concat(P,"?")),E+=r.endsWith?"(?=".concat(m,")"):"$";else{var x=e[e.length-1],L=typeof x=="string"?P.indexOf(x[x.length-1])>-1:x===void 0;n||(E+="(?:".concat(P,"(?=").concat(m,"))?")),L||(E+="(?=".concat(P,"|").concat(m,")"))}return new RegExp(E,nlc(r))}function wj_(e,t,r){return e instanceof RegExp?dbE(e,t):Array.isArray(e)?pbE(e,t,r):_bE(e,t,r)}function Sj_(e){return e.split(/[?#]/)[0]??""}function b7i(e){return e.startsWith("/")?e.slice(1):e}function alc(e){return e.startsWith("/")?e:`/${e}`}function d5o(e){return e.endsWith("/")?e.slice(0,-1):e}function Dj_(e){let t=[];return e.config.instances.forEach(r=>{t.push(r.url),typeof r.customDomain=="string"?t.push(r.customDomain):Array.isArray(r.customDomain)&&t.push(...r.customDomain)}),t}function Ej_(e){let t=new URL(aZ(e));return{domain:t.host,basePath:t.pathname==="/"||t.pathname===""?void 0:t.pathname}}function ybE(e,t){if(e===t)return{params:{},path:t,index:0};try{return jj_(e)(t)}catch(r){return console.error(r,{pattern:e,path:t}),!1}}function vbE(e,t){try{return Pj_(e)(t.params)}catch(r){return console.error(r,{match:t,destination:e}),e}}function Mj_(e,t,r=[]){for(let i of r){let n=d5o(bbE(i.source,t.basePath)),a=ybE(n,e);if(a){let u=vbE(i.destination,a);if(!u.startsWith("/"))try{new URL(u)}catch{console.error("Invalid redirect destination:",u);return}return{redirect:{destination:encodeURI(u),permanent:i.permanent??!1}}}}}function bbE(e,t){return t==null||e.startsWith(t)?e:Dh(t,e)}async function slc({pathname:e,markdown:t,absoluteFilepath:r,workspaceAbsoluteFilePath:i,pageSlugs:n,absoluteFilePathsToSlugs:a,redirects:u=[],baseUrl:l}){e=d5o(e);let f=r!=null?a.get(r)??[]:[];if(e.trim()==="")return!0;if(e=ulc(e),e.startsWith("/")){let o=ulc(olc(e,l,u));for(let b=0;b<5;++b){let g=ulc(olc(o,l,u));if(o===g)break;o=g}if(t&&n.has(b7i(o)))return!0;let c=Lu(i,Ja.of(b7i(e)));return await Mf(c,"file")?!0:f.map(b=>alc(b))}if(r!=null){if(e==="."){let c=Jd(r);if(await Mf(c,"directory"))return!0}let o=Lu(Jd(r),Ja.of(e));if(await Mf(o,"file"))return!0}if(!t)return f.map(o=>alc(o));let s=[];for(let o of f){let c=new URL(`/${o}`,aZ(l.domain)),b=olc(new URL(e,c).pathname,l,u);n.has(b7i(b))||s.push(o)}return s.length>0?s:!0}function olc(e,t,r){let i=Mj_(e,t,r);return i==null?e:i.redirect.destination}function ulc(e){let t=e.indexOf("#");return t===-1?e:e.substring(0,t)}var Aj_=/^(?:[a-z+]+:)/gi;function gbE(e){let t=/^---\n([\s\S]*?)\n---/,r=e.match(t);return r?(r[0].match(/\n/g)||[]).length+1:0}function clc(e,t){return e&&{...e,start:{...e.start,line:e.start.line+t},end:{...e.end,line:e.end.line+t}}}function llc(e,{absoluteFilepath:t,instanceUrls:r}){let i=[],n=[],a=gbE(e),{links:u,sources:l}=gm_({content:e,absoluteFilepath:t});return u.forEach(f=>{if(f.href.trimStart().match(Aj_)){if(!f.href.trimStart().startsWith("http"))return;try{let o=new URL(f.href);if(!r.some(c=>f.href.includes(c)))return;n.push({pathname:o.pathname,sourceFilepath:f.sourceFilepath,position:clc(f.position,a),markdown:!0})}catch{i.push({severity:"warning",message:`Invalid URL: ${f.href}`})}return}let s=Sj_(f.href);s.trim()!==""&&n.push({pathname:s,sourceFilepath:f.sourceFilepath,position:clc(f.position,a),markdown:!0})}),l.forEach(f=>{if(f.src.match(Aj_))try{new URL(f.src)}catch{i.push({severity:"warning",message:`Invalid URL: ${f.src}`});return}else n.push({pathname:f.src,sourceFilepath:f.sourceFilepath,position:clc(f.position,a),markdown:!1})}),{pathnamesToCheck:n,violations:i}}var p5o=Egs({logger:HGt(Ho)}),g7i={name:"valid-markdown-links",create:async({workspace:e,apiWorkspaces:t,ossWorkspaces:r})=>{let i=Dj_(e),n=i[0]??"http://localhost",a=Ej_(i[0]??"http://localhost"),l=await new eLt(n,e,r,t,p5o).resolve();if(!l.config.root)throw new Error("Root node not found");let f=ts.migrate.FernNavigationV1ToLatest.create().root(l.config.root),s=ts.NodeCollector.collect(f),o=new Set,c=new Map,b=[];s.slugMap.forEach((O,m)=>{if(o.add(m),O==null||!ts.isPage(O))return;ts.isApiLeaf(O)&&b.push(O);let P=ts.getPageId(O);if(P==null)return;let E=Lu(e.absoluteFilePath,Ja.of(P)),A=c.get(E)??[];A.push(m),c.set(E,A)});let g=["/llms-full.txt","/llms.txt"];for(let O of g){let m=a.basePath?`${b7i(a.basePath)}${O}`:b7i(O);o.add(m)}return{markdownPage:async({content:O,absoluteFilepath:m})=>{let P=c.get(m);if(!P||P.length===0)return[];let{pathnamesToCheck:E,violations:A}=llc(O,{absoluteFilepath:m,instanceUrls:i}),M=await Promise.all(E.map(async D=>{let T=await slc({pathname:D.pathname,markdown:D.markdown,absoluteFilepath:m,workspaceAbsoluteFilePath:e.absoluteFilePath,pageSlugs:o,absoluteFilePathsToSlugs:c,redirects:e.config.redirects,baseUrl:a});return T===!0?[]:T.map(z=>{let[$,x]=qj_({pathnameToCheck:D,targetPathname:z,absoluteFilepathToWorkspace:e.absoluteFilePath});return{name:g7i.name,severity:"error",message:$,relativeFilepath:x}})}));return[...A,...M.flat()]},apiSection:async({workspace:O,config:m})=>{let P=await O.toFernWorkspace({context:p5o},{enableUniqueErrorsPerEndpoint:!0,detectGlobalHeaders:!1}),E=KF({workspace:P,audiences:m.audiences?{type:"select",audiences:m.audiences}:{type:"all"},generationLanguage:void 0,keywords:void 0,smartCasing:!1,exampleGeneration:{disabled:!1},readme:void 0,version:void 0,packageName:void 0,context:p5o,sourceResolver:new f5o(p5o,P)}),A=ObE(sOa(E,(0,Tj_.randomUUID)())),M=[];for(let D of b){let T=await mbE(Dhi.prune(A,D));for(let z of T){let{pathnamesToCheck:$,violations:x}=llc(z,{instanceUrls:i});M.push(...x);let L=await Promise.all($.map(async V=>{let X=await slc({pathname:V.pathname,markdown:V.markdown,workspaceAbsoluteFilePath:e.absoluteFilePath,pageSlugs:o,absoluteFilePathsToSlugs:c,redirects:e.config.redirects,baseUrl:a});return X===!0?[]:X.map(J=>{let[Z,fe]=qj_({pathnameToCheck:V,targetPathname:J,absoluteFilepathToWorkspace:e.absoluteFilePath});return{name:g7i.name,severity:"error",message:Z,relFilepath:fe}})}));M.push(...L.flat())}}return M}}}};function qj_({pathnameToCheck:e,targetPathname:t,absoluteFilepathToWorkspace:r}){let i=`${t} links to non-existent page ${$s.bold(e.pathname)}`,{position:n,sourceFilepath:a}=e;if(a==null||n==null)return[i,Ja.of("")];i=`broken link to ${$s.bold(e.pathname)}`,e.pathname.length>0&&!flc.default.isAbsolute(e.pathname)&&(i+=` (resolved path: ${flc.default.join(t,e.pathname)})`);let u=tq(r,a);return i+=`
2030
2030
  fix here: ${u}:${n.start.line}:${n.start.column}`,[i,u]}function ObE(e){return Dhi.ApiDefinitionV1ToLatest.from(e,{useJavaScriptAsTypeScript:!1,alwaysEnableJavaScriptFetch:!1,usesApplicationJsonInFormDataValue:!1}).migrate()}async function mbE(e){let t=[];return Dhi.Transformer.descriptions(r=>(typeof r=="string"&&t.push(r),r)).apiDefinition(e),t}var dlc={name:"validate-product-file",create:()=>({productFile:async({path:e,content:t})=>{let r=await A8o({value:t});return r.type==="success"?[]:[{severity:"fatal",message:`${r.message}`}]}})};var plc={name:"validate-version-file",create:()=>({versionFile:async({path:e,content:t})=>{let r=await D8o({value:t});return r.type==="success"?[]:[{severity:"fatal",message:`${r.message}`}]}})};var Cj_=[zoc,Roc,plc,dlc,jm_,g7i,Ouc,Noc,wm_,muc];function Bj_(e){if(!e)return Cj_;let t=new Set(e);return Cj_.filter(r=>!t.has(r.name))}async function ama(e,t,r,i,n,a){let u=n?[g7i]:Bj_(a);return PbE({workspace:e,rules:u,context:t,apiWorkspaces:r,ossWorkspaces:i})}async function PbE({workspace:e,rules:t,context:r,apiWorkspaces:i,ossWorkspaces:n}){let a=[],u=await Promise.all(t.map(f=>f.create({workspace:e,apiWorkspaces:i,ossWorkspaces:n,logger:r.logger}))),l=Om_({relativeFilepath:Ja.of(j8t),allRuleVisitors:u,addViolations:f=>{a.push(...f)}});return await Pm_({contents:e.config,visitor:l,absoluteFilepathToConfiguration:Lu(e.absoluteFilePath,Ja.of(j8t)),absolutePathToFernFolder:e.absoluteFilePath,context:r,apiWorkspaces:i}),a}function Sqn({context:e,violations:t,logWarnings:r,logSummary:i=!0,logBreadcrumbs:n=!0,elapsedMillis:a=0}){let u=[],l={};for(let o of t){let c=JSON.stringify(o.nodePath),b=l[c]??[];b.some(O=>O.message===o.message&&O.nodePath.length===o.nodePath.length&&O.nodePath.every((m,P)=>DSe(m,o.nodePath[P]))&&O.relativeFilepath===o.relativeFilepath&&O.severity===o.severity)||(u.push(o),l[c]=[...b,o])}t=u;let f=MbE(t),s=jbE(t);for(let o of Array.from(s.keys()).sort()){let c=s.get(o);if(c){let b=c[0]?.relativeFilepath??"";wbE({logWarnings:r,logBreadcrumbs:n,configRelativeFilepath:b,nodePath:o,violations:c,context:e})}}return i&&EbE({context:e,stats:f,logWarnings:r,elapsedMillis:a}),{hasErrors:f.numFatal>0}}function jbE(e){let t={};for(let r of e){let i=JSON.stringify(r.nodePath),n=t[i]??[];t[i]=[...n,r]}return new Map(Object.entries(t).map(([r,i])=>[JSON.parse(r),i]))}function wbE({logWarnings:e,logBreadcrumbs:t,configRelativeFilepath:r,nodePath:i,violations:n,context:a}){let u=SbE(n);if(u==="warning"&&!e)return;let l="",f=n.map(s=>s.severity==="warning"&&!e?null:(l===""&&(l=s.relativeFilepath),s.message)).filter(s=>s!=null).join(`
2031
2031
  `);a.logger.log(DbE(u),oRe({breadcrumbs:t?[r,...i.map(s=>{let o=typeof s=="string"?s:s.key;return typeof s!="string"&&s.arrayIndex!=null&&(o+=`[${s.arrayIndex}]`),o})]:[],title:l,subtitle:f})+`