fern-api 0.63.11-rc0 → 0.63.14

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
@@ -1704,7 +1704,7 @@ ${c.indent}`:""}${RBd(o)}:${l.indent?" ":""}`;return u=!1,s=!0,l.objectItem=void
1704
1704
  `}),r.replaceAll(/\n$/g,"")}function t5D(e){return e?Fh.green(R6.radioOn):R6.radioOff}var M4o=ci(nMe(),1);function X9p(e,t){return e=String(e),t=typeof t=="string"?t:"*",e.length===0?"":Array.from({length:e.length+1}).join(t)}var cAa=class extends X2{_run(t){this.done=t;let r=LW(this.rl),i=r.line.pipe((0,M4o.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,M4o.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=`
1705
1705
  `+Fh.red(">> ")+t),this.screen.render(r,i)}getMaskedValue(t){return this.status==="answered"?this.opt.mask?Fh.cyan(X9p(t,this.opt.mask)):Fh.italic.dim("[hidden]"):this.opt.mask?X9p(t,this.opt.mask):Fh.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 mUp=ci(Hec(),1),PUp=ci(nMe(),1);var gAa=class extends X2{_run(t){this.done=t,this.editorResult=new PUp.Subject;let r=LW(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"?Fh.dim("Received"):Fh.dim("Press <enter> to launch your preferred editor."),t&&(r=Fh.red(">> ")+t),this.screen.render(i,r)}startExternalEditor(){this.rl.pause(),(0,mUp.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 nVp=ci(kUp(),1);var rVp=ci(require("readline"),1),iVp=ci(tVp(),1),aGi=class{constructor(t){this.rl||=rVp.default.createInterface(v9D(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 v9D(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 iVp.default;return r.pipe(e.output||process.stdout),{terminal:!0,...e,input:t,output:r}}var PAa=class extends aGi{constructor(t={}){super(t),this.log=(0,nVp.default)(this.writeLog.bind(this)),this.bottomBar=t.bottomBar||"",this.render()}render(){return this.write(this.bottomBar),this}clean(){return tAa(this.rl,this.bottomBar.split(`
1706
1706
  `).length),this}updateBottomBar(t){return tAa(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+`
1707
- `}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&&w4o(this.rl,t.length+this.rl.line.length),this.rl.output.write(t)}};var _Vp=ci(uVp(),1),hVp=ci(ZZs(),1),yVp=ci(dVp(),1),Uq=ci(nMe(),1),vVp=ci(lMa(),1);var Z4o=ci(nMe(),1),pVp=ci(lMa(),1),k4o=function(e,t,r){return typeof e[t]!="function"?(0,Z4o.of)(e):(0,Z4o.from)((0,pVp.default)(e[t])(r).then(i=>(e[t]=i,e)))};var jAa={isPlainObject:_Vp.default,set:yVp.default,get:hVp.default},X3n=class extends aGi{constructor(t,r){super(r),this.prompts=t}run(t,r){this.answers=jAa.isPlainObject(r)?{...r}:{},jAa.isPlainObject(t)&&(t=Object.values(t).every(n=>jAa.isPlainObject(n)&&n.name===void 0)?Object.entries(t).map(([n,a])=>({name:n,...a})):[t]);let i=Array.isArray(t)?(0,Uq.from)(t):t;return this.process=i.pipe((0,Uq.concatMap)(this.processQuestion.bind(this)),(0,Uq.publish)()),this.process.connect(),this.process.pipe((0,Uq.reduce)((n,a)=>(jAa.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,Uq.defer)(()=>(0,Uq.of)(t).pipe((0,Uq.concatMap)(this.setDefaultType.bind(this)),(0,Uq.concatMap)(this.filterIfRunnable.bind(this)),(0,Uq.concatMap)(()=>k4o(t,"message",this.answers)),(0,Uq.concatMap)(()=>k4o(t,"default",this.answers)),(0,Uq.concatMap)(()=>k4o(t,"choices",this.answers)),(0,Uq.concatMap)(this.fetchAnswer.bind(this))))}fetchAnswer(t){let r=this.prompts[t.type];return this.activePrompt=new r(t,this.rl,this.answers),(0,Uq.defer)(()=>(0,Uq.from)(this.activePrompt.run().then(i=>({name:t.name,answer:i}))))}setDefaultType(t){return this.prompts[t.type]||(t.type="input"),(0,Uq.defer)(()=>(0,Uq.of)(t))}filterIfRunnable(t){if(t.askAnswered!==!0&&jAa.get(this.answers,t.name)!==void 0)return(0,Uq.empty)();if(t.when===!1)return(0,Uq.empty)();if(typeof t.when!="function")return(0,Uq.of)(t);let{answers:r}=this;return(0,Uq.defer)(()=>(0,Uq.from)((0,vVp.default)(t.when)(r).then(i=>{if(i)return t})).pipe((0,Uq.filter)(i=>i!=null)))}};function bVp(e){let t=function(r,i){let n;try{n=new X3n(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",iAa),this.registerPrompt("input",Y$i),this.registerPrompt("number",nAa),this.registerPrompt("confirm",aAa),this.registerPrompt("rawlist",oAa),this.registerPrompt("expand",uAa),this.registerPrompt("checkbox",sAa),this.registerPrompt("password",cAa),this.registerPrompt("editor",gAa)},t.restoreDefaultPrompts(),t}var ttc=bVp();function z9D(e,t){ttc.registerPrompt(e,t)}function x9D(){ttc.restoreDefaultPrompts()}var R9D={prompt:ttc,ui:{BottomBar:PAa,Prompt:X3n},createPromptModule:bVp,registerPrompt:z9D,restoreDefaultPrompts:x9D,Separator:Aae},e2o=R9D;var MWp=ci(gVp()),lVD="4.2.1",AWt;(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"})(AWt||(AWt={}));function fVD(e,t){if(!e)throw new Error(t)}function dVD(e){return e?.replace(/\/+$/,"")}async function pVD(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 _VD(){return new Date().getTime()}function OWp(){return new Date().toISOString()}function AWp(e,t){let r=setTimeout(e,t);return r?.unref&&r?.unref(),r}var IAa=String.fromCharCode,mWp="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",h2o={};function hVD(e,t){if(!h2o[e]){h2o[e]={};for(let r=0;r<e.length;r++)h2o[e][e.charAt(r)]=r}return h2o[e][t]}var zAa={compressToBase64:function(e){if(e==null)return"";let t=zAa._compress(e,6,function(r){return mWp.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:zAa._decompress(e.length,32,function(t){return hVD(mWp,e.charAt(t))})},compress:function(e){return zAa._compress(e,16,function(t){return IAa(t)})},_compress:function(e,t,r){if(e==null)return"";let i={},n={},a=[],u,l,d="",s="",o="",c=2,b=3,g=2,O=0,m=0,P;for(P=0;P<e.length;P+=1)if(d=e.charAt(P),Object.prototype.hasOwnProperty.call(i,d)||(i[d]=b++,n[d]=!0),s=o+d,Object.prototype.hasOwnProperty.call(i,s))o=s;else{if(Object.prototype.hasOwnProperty.call(n,o)){if(o.charCodeAt(0)<256){for(u=0;u<g;u++)O=O<<1,m==t-1?(m=0,a.push(r(O)),O=0):m++;for(l=o.charCodeAt(0),u=0;u<8;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1}else{for(l=1,u=0;u<g;u++)O=O<<1|l,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=0;for(l=o.charCodeAt(0),u=0;u<16;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1}c--,c==0&&(c=Math.pow(2,g),g++),delete n[o]}else for(l=i[o],u=0;u<g;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1;c--,c==0&&(c=Math.pow(2,g),g++),i[s]=b++,o=String(d)}if(o!==""){if(Object.prototype.hasOwnProperty.call(n,o)){if(o.charCodeAt(0)<256){for(u=0;u<g;u++)O=O<<1,m==t-1?(m=0,a.push(r(O)),O=0):m++;for(l=o.charCodeAt(0),u=0;u<8;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1}else{for(l=1,u=0;u<g;u++)O=O<<1|l,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=0;for(l=o.charCodeAt(0),u=0;u<16;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1}c--,c==0&&(c=Math.pow(2,g),g++),delete n[o]}else for(l=i[o],u=0;u<g;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1;c--,c==0&&(c=Math.pow(2,g),g++)}for(l=2,u=0;u<g;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1;for(;;)if(O=O<<1,m==t-1){a.push(r(O));break}else m++;return a.join("")},decompress:function(e){return e==null?"":e==""?null:zAa._decompress(e.length,32768,function(t){return e.charCodeAt(t)})},_decompress:function(e,t,r){let i=[],n=[],a={val:r(0),position:t,index:1},u=4,l=4,d=3,s="",o,c,b,g,O,m,P;for(o=0;o<3;o+=1)i[o]=o;for(b=0,O=Math.pow(2,2),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;switch(b){case 0:for(b=0,O=Math.pow(2,8),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;P=IAa(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=IAa(b);break;case 2:return""}for(i[3]=P,c=P,n.push(P);;){if(a.index>e)return"";for(b=0,O=Math.pow(2,d),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;switch(P=b){case 0:for(b=0,O=Math.pow(2,8),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;i[l++]=IAa(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++]=IAa(b),P=l-1,u--;break;case 2:return n.join("")}if(u==0&&(u=Math.pow(2,d),d++),i[P])s=i[P];else if(P===l)s=c+c.charAt(0);else return null;n.push(s),i[l++]=c+s.charAt(0),u--,c=s,u==0&&(u=Math.pow(2,d),d++)}}},Ftc=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 y2o="0123456789abcdef",v2o=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+=y2o.charAt(this.bytes[r]>>>4),t+=y2o.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+=y2o.charAt(this.bytes[r]>>>4),t+=y2o.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}},Ltc=class{constructor(t){this.timestamp=0,this.counter=0,this.random=t??yVD()}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 v2o.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,v2o.ofInner(t)}},yVD=()=>({nextUint32:()=>Math.trunc(Math.random()*65536)*65536+Math.trunc(Math.random()*65536)}),PWp,jWp=()=>vVD().toString(),vVD=()=>(PWp||(PWp=new Ltc)).generate(),b2o=class extends Error{constructor(t){super("HTTP error while fetching PostHog: "+t.status),this.response=t,this.name="PostHogFetchHttpError"}},xAa=class extends Error{constructor(t){super("Network error while fetching PostHog",t instanceof Error?{cause:t}:{}),this.error=t,this.name="PostHogFetchNetworkError"}};function wWp(e){return typeof e=="object"&&(e instanceof b2o||e instanceof xAa)}var Utc=class{constructor(t,r){this.flushPromise=null,this.disableGeoip=!0,this.historicalMigration=!1,this.disabled=!1,this.defaultOptIn=!0,this.pendingPromises={},this._events=new Ftc,this._isInitialized=!1,fVD(t,"You must pass your PostHog project's api key."),this.apiKey=t,this.host=dVD(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:wWp},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(AWt.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty(AWt.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty(AWt.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=jWp();return this.pendingPromises[r]=t,t.catch(()=>{}).finally(()=>{delete this.pendingPromises[r]}),t}identifyStateless(t,r,i){this.wrap(()=>{let n={...this.buildPayload({distinct_id:t,event:"$identify",properties:r})};this.enqueue("identify",n,i)})}captureStateless(t,r,i,n){this.wrap(()=>{let a=this.buildPayload({distinct_id:t,event:r,properties:i});this.enqueue("capture",a,n)})}aliasStateless(t,r,i,n){this.wrap(()=>{let a=this.buildPayload({event:"$create_alias",distinct_id:r,properties:{...i||{},distinct_id:r,alias:t}});this.enqueue("alias",a,n)})}groupIdentifyStateless(t,r,i,n,a,u){this.wrap(()=>{let l=this.buildPayload({distinct_id:a||`$${t}_${r}`,event:"$groupidentify",properties:{$group_type:t,$group_key:r,$group_set:i||{},...u||{}}});this.enqueue("capture",l,n)})}async getDecide(t,r={},i={},n={},a={}){await this._initPromise;let u=`${this.host}/decide/?v=3`,l={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:JSON.stringify({token:this.apiKey,distinct_id:t,groups:r,person_properties:i,group_properties:n,...a})};return this.fetchWithRetry(u,l,{retryCount:0},this.featureFlagsRequestTimeoutMs).then(d=>d.json()).catch(d=>{this._events.emit("error",d)})}async getFeatureFlagStateless(t,r,i={},n={},a={},u){await this._initPromise;let l=await this.getFeatureFlagsStateless(r,i,n,a,u);if(!l)return;let d=l[t];return d===void 0&&(d=!1),d}async getFeatureFlagPayloadStateless(t,r,i={},n={},a={},u){await this._initPromise;let l=await this.getFeatureFlagPayloadsStateless(r,i,n,a,u);if(!l)return;let d=l[t];return d===void 0?null:d}async getFeatureFlagPayloadsStateless(t,r={},i={},n={},a){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless(t,r,i,n,a)).payloads}_parsePayload(t){try{return JSON.parse(t)}catch{return t}}async getFeatureFlagsStateless(t,r={},i={},n={},a){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless(t,r,i,n,a)).flags}async getFeatureFlagsAndPayloadsStateless(t,r={},i={},n={},a){await this._initPromise;let u={};(a??this.disableGeoip)&&(u.geoip_disable=!0);let l=await this.getDecide(t,r,i,n,u),d=l?.featureFlags,s=l?.featureFlagPayloads,o=s;return s&&(o=Object.fromEntries(Object.entries(s).map(([c,b])=>[c,this._parsePayload(b)]))),{flags:d,payloads:o}}enqueue(t,r,i){this.wrap(()=>{if(this.optedOut){this._events.emit(t,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");return}let n={...r,type:t,library:this.getLibraryId(),library_version:this.getLibraryVersion(),timestamp:i?.timestamp?i?.timestamp:OWp(),uuid:i?.uuid?i.uuid:jWp()};(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(AWt.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(AWt.Queue,u),this._events.emit(t,n),u.length>=this.flushAt&&this.flushBackground(),this.flushInterval&&!this._flushTimer&&(this._flushTimer=AWp(()=>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(AWt.Queue)||[];if(!t.length)return[];let r=t.slice(0,this.maxBatchSize),i=r.map(s=>s.message),n=()=>{let s=this.getPersistedProperty(AWt.Queue)||[];this.setPersistedProperty(AWt.Queue,s.slice(r.length))},a={api_key:this.apiKey,batch:i,sent_at:OWp()};this.historicalMigration&&(a.historical_migration=!0);let u=JSON.stringify(a),l=this.captureMode==="form"?`${this.host}/e/?ip=1&_=${_VD()}&v=${this.getLibraryVersion()}`:`${this.host}/batch/`,d=this.captureMode==="form"?{method:"POST",mode:"no-cors",credentials:"omit",headers:{...this.getCustomHeaders(),"Content-Type":"application/x-www-form-urlencoded"},body:`data=${encodeURIComponent(zAa.compressToBase64(u))}&compression=lz64`}:{method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:u};try{await this.fetchWithRetry(l,d)}catch(s){throw s instanceof xAa||n(),this._events.emit("error",s),s}return n(),this._events.emit("flush",i),i}async fetchWithRetry(t,r,i,n){var a;return(a=AbortSignal).timeout??(a.timeout=function(l){let d=new AbortController;return setTimeout(()=>d.abort(),l),d.signal}),await pVD(async()=>{let u=null;try{u=await this.fetch(t,{signal:AbortSignal.timeout(n??this.requestTimeout),...r})}catch(d){throw new xAa(d)}if(!(r.mode==="no-cors")&&(u.status<200||u.status>=400))throw new b2o(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(AWt.Queue)||[]).length!==0;){await this.flush();let n=Date.now();if(r<n)break}}catch(r){if(!wWp(r))throw r;this.logMsgIfDebug(()=>console.error("Error while shutting down PostHog",r))}}},Vtc=class{constructor(){this._memoryStorage={}}getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}},Wtc=typeof fetch<"u"?fetch:typeof global.fetch<"u"?global.fetch:void 0;if(!Wtc){let e=gWp();Wtc=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 qWp=Wtc,bVD=1152921504606847e3,gVD=["is_not"],g2o=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},Z2=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},Htc=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||qWp,this.onError=l.onError,this.customHeaders=u,this.loadFeatureFlags()}debug(t=!0){this.debugMode=t}logMsgIfDebug(t){this.debugMode&&t()}async getFeatureFlag(t,r,i={},n={},a={}){await this.loadFeatureFlags();let u,l;if(!this.loadedSuccessfullyOnce)return u;for(let d of this.featureFlags)if(t===d.key){l=d;break}if(l!==void 0)try{u=this.computeFlagLocally(l,r,i,n,a),this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${t} -> ${u}`))}catch(d){d instanceof Z2?this.logMsgIfDebug(()=>console.debug(`InconclusiveMatchError when computing flag locally: ${t}: ${d}`)):d instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${t}: ${d}`))}return u}async computeFeatureFlagPayloadLocally(t,r){await this.loadFeatureFlags();let i;if(this.loadedSuccessfullyOnce){if(typeof r=="boolean"?i=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r.toString()]:typeof r=="string"&&(i=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r]),i==null)return null;try{return JSON.parse(i)}catch{return i}}}async getAllFlagsAndPayloads(t,r={},i={},n={}){await this.loadFeatureFlags();let a={},u={},l=this.featureFlags.length==0;return this.featureFlags.map(async d=>{try{let s=this.computeFlagLocally(d,t,r,i,n);a[d.key]=s;let o=await this.computeFeatureFlagPayloadLocally(d.key,s);o&&(u[d.key]=o)}catch(s){s instanceof Z2||s instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${d.key}: ${s}`)),l=!0}}),{response:a,payloads:u,fallbackToDecide:l}}computeFlagLocally(t,r,i={},n={},a={}){if(t.ensure_experience_continuity)throw new Z2("Flag has experience continuity enabled");if(!t.active)return!1;let l=(t.filters||{}).aggregation_group_type_index;if(l!=null){let d=this.groupTypeMapping[String(l)];if(!d)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Unknown group type index ${l} for feature flag ${t.key}`)),new Z2("Flag has unknown group type index");if(!(d in i))return this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${t.key} without group names passed in`)),!1;let s=a[d];return this.matchFeatureFlagProperties(t,i[d],s)}else return this.matchFeatureFlagProperties(t,r,n)}matchFeatureFlagProperties(t,r,i){let n=t.filters||{},a=n.groups||[],u=!1,l,d=[...a].sort((s,o)=>{let c=!!s.variant,b=!!o.variant;return c&&b?0:c?-1:b?1:0});for(let s of d)try{if(this.isConditionMatch(t,r,s,i)){let o=s.variant,c=n.multivariate?.variants||[];o&&c.some(b=>b.key===o)?l=o:l=this.getMatchingVariant(t,r)||!0;break}}catch(o){if(o instanceof Z2)u=!0;else throw o}if(l!==void 0)return l;if(u)throw new Z2("Can't determine if feature flag is enabled or not with given properties");return!1}isConditionMatch(t,r,i,n){let a=i.rollout_percentage,u=l=>{this.logMsgIfDebug(()=>console.warn(l))};if((i.properties||[]).length>0){for(let l of i.properties){let d=l.type,s=!1;if(d==="cohort"?s=CWp(l,n,this.cohorts,this.debugMode):s=TWp(l,n,u),!s)return!1}if(a==null)return!0}return!(a!=null&&SWp(t.key,r)>a/100)}getMatchingVariant(t,r){let i=SWp(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 g2o("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 g2o&&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=AWp(()=>{n.abort()},this.timeout),r.signal=n.signal}try{return await this.fetch(t,r)}finally{clearTimeout(i)}}stopPoller(){clearTimeout(this.poller)}};function SWp(e,t,r=""){let i=(0,MWp.createHash)();return i.update(`${e}.${t}${r}`),parseInt(i.digest("hex").slice(0,15),16)/bVD}function TWp(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 Z2("Operator is_not_set is not supported")}else throw new Z2(`Property ${i} not found in propertyValues`);let u=t[i];if(u==null&&!gVD.includes(a))return r&&r(`Property ${i} cannot have a value of null/undefined with the ${a} operator`),!1;function l(s,o){return Array.isArray(s)?s.map(c=>String(c).toLowerCase()).includes(String(o).toLowerCase()):String(s).toLowerCase()===String(o).toLowerCase()}function d(s,o,c){if(c==="gt")return s>o;if(c==="gte")return s>=o;if(c==="lt")return s<o;if(c==="lte")return s<=o;throw new Error(`Invalid operator: ${c}`)}switch(a){case"exact":return l(n,u);case"is_not":return!l(n,u);case"is_set":return i in t;case"icontains":return String(u).toLowerCase().includes(String(n).toLowerCase());case"not_icontains":return!String(u).toLowerCase().includes(String(n).toLowerCase());case"regex":return DWp(String(n))&&String(u).match(String(n))!==null;case"not_regex":return DWp(String(n))&&String(u).match(String(n))===null;case"gt":case"gte":case"lt":case"lte":{let s=typeof n=="number"?n:null;if(typeof n=="string")try{s=parseFloat(n)}catch{}return s!=null&&u!=null?typeof u=="string"?d(u,String(n),a):d(u,s,a):d(String(u),String(n),a)}case"is_date_after":case"is_date_before":{let s=OVD(String(n));if(s==null&&(s=EWp(n)),s==null)throw new Z2(`Invalid date: ${n}`);let o=EWp(u);return["is_date_before"].includes(a)?o<s:o>s}default:throw new Z2(`Unknown operator: ${a}`)}}function CWp(e,t,r,i=!1){let n=String(e.value);if(!(n in r))throw new Z2("can't match cohort without a given cohort property value");let a=r[n];return BWp(a,t,r,i)}function BWp(e,t,r,i=!1){if(!e)return!0;let n=e.type,a=e.values;if(!a||a.length===0)return!0;let u=!1;if("values"in a[0]){for(let l of a)try{let d=BWp(l,t,r,i);if(n==="AND"){if(!d)return!1}else if(d)return!0}catch(d){if(d instanceof Z2)i&&console.debug(`Failed to compute property ${l} locally: ${d}`),u=!0;else throw d}if(u)throw new Z2("Can't match cohort without a given cohort property value");return n==="AND"}else{for(let l of a)try{let d;l.type==="cohort"?d=CWp(l,t,r,i):d=TWp(l,t);let s=l.negation||!1;if(n==="AND"){if(!d&&!s||d&&s)return!1}else if(d&&!s||!d&&s)return!0}catch(d){if(d instanceof Z2)i&&console.debug(`Failed to compute property ${l} locally: ${d}`),u=!0;else throw d}if(u)throw new Z2("can't match cohort without a given cohort property value");return n==="AND"}}function DWp(e){try{return new RegExp(e),!0}catch{return!1}}function EWp(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 Z2(`${e} is in an invalid date format`)}else throw new Z2(`The date provided ${e} must be a string, number, or date object`)}function OVD(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 mVD=30*1e3,PVD=50*1e3,n7n=class extends Utc{constructor(t,r={}){super(t,r),this._memoryStorage=new Vtc,this.options=r,r.personalApiKey&&(this.featureFlagsPoller=new Htc({pollingInterval:typeof r.featureFlagsPollingInterval=="number"?r.featureFlagsPollingInterval:mVD,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||PVD}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):qWp(t,r)}getLibraryId(){return"posthog-node"}getLibraryVersion(){return lVD}getCustomUserAgent(){return`${this.getLibraryId()}/${this.getLibraryVersion()}`}enable(){return super.optIn()}disable(){return super.optOut()}debug(t=!0){super.debug(t),this.featureFlagsPoller?.debug(t)}capture({distinctId:t,event:r,properties:i,groups:n,sendFeatureFlags:a,timestamp:u,disableGeoip:l,uuid:d}){let s=b=>{super.captureStateless(t,r,b,{timestamp:u,disableGeoip:l,uuid:d})},o=(b,g,O)=>super.getFeatureFlagsStateless(b,g,void 0,void 0,O),c=Promise.resolve().then(async()=>{if(a)return await o(t,n,l);if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let b={};for(let[g,O]of Object.entries(n||{}))b[g]=String(O);return await this.getAllFlags(t,{groups:b,disableGeoip:l,onlyEvaluateLocally:!0})}return{}}).then(b=>{let g={};if(b)for(let[m,P]of Object.entries(b))g[`$feature/${m}`]=P;let O=Object.keys(b||{}).filter(m=>b?.[m]!==!1);return O.length>0&&(g.$active_feature_flags=O),g}).catch(()=>({})).then(b=>{s({...b,...i,$groups:n})});this.addPendingPromise(c)}identify({distinctId:t,properties:r,disableGeoip:i}){let n=r?.$set||r;super.identifyStateless(t,{$set:n},{disableGeoip:i})}alias(t){super.aliasStateless(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}async getFeatureFlag(t,r,i){let{groups:n,disableGeoip:a}=i||{},{onlyEvaluateLocally:u,sendFeatureFlagEvents:l,personProperties:d,groupProperties:s}=i||{},o=this.addLocalPersonAndGroupProperties(r,n,d,s);d=o.allPersonProperties,s=o.allGroupProperties,u==null&&(u=!1),l==null&&(l=!0);let c=await this.featureFlagsPoller?.getFeatureFlag(t,r,n,d,s),b=c!==void 0;!b&&!u&&(c=await super.getFeatureFlagStateless(t,r,n,d,s,a));let g=`${t}_${c}`;return l&&(!(r in this.distinctIdHasSentFlagCalls)||!this.distinctIdHasSentFlagCalls[r].includes(g))&&(Object.keys(this.distinctIdHasSentFlagCalls).length>=this.maxCacheSize&&(this.distinctIdHasSentFlagCalls={}),Array.isArray(this.distinctIdHasSentFlagCalls[r])?this.distinctIdHasSentFlagCalls[r].push(g):this.distinctIdHasSentFlagCalls[r]=[g],this.capture({distinctId:r,event:"$feature_flag_called",properties:{$feature_flag:t,$feature_flag_response:c,locally_evaluated:b,[`$feature/${t}`]:c},groups:n,disableGeoip:a})),c}async getFeatureFlagPayload(t,r,i,n){let{groups:a,disableGeoip:u}=n||{},{onlyEvaluateLocally:l,sendFeatureFlagEvents:d,personProperties:s,groupProperties:o}=n||{},c=this.addLocalPersonAndGroupProperties(r,a,s,o);s=c.allPersonProperties,o=c.allGroupProperties;let b;return i||(i=await this.getFeatureFlag(t,r,{...n,onlyEvaluateLocally:!0})),i&&(b=await this.featureFlagsPoller?.computeFeatureFlagPayloadLocally(t,i)),l==null&&(l=!1),d==null&&(d=!0),l==null&&(l=!1),!(b!==void 0)&&!l&&(b=await super.getFeatureFlagPayloadStateless(t,r,a,s,o,u)),b}async isFeatureEnabled(t,r,i){let n=await this.getFeatureFlag(t,r,i);if(n!==void 0)return!!n||!1}async getAllFlags(t,r){return(await this.getAllFlagsAndPayloads(t,r)).featureFlags}async getAllFlagsAndPayloads(t,r){let{groups:i,disableGeoip:n}=r||{},{onlyEvaluateLocally:a,personProperties:u,groupProperties:l}=r||{},d=this.addLocalPersonAndGroupProperties(t,i,u,l);u=d.allPersonProperties,l=d.allGroupProperties,a==null&&(a=!1);let s=await this.featureFlagsPoller?.getAllFlagsAndPayloads(t,i,u,l),o={},c={},b=!0;if(s&&(o=s.response,c=s.payloads,b=s.fallbackToDecide),b&&!a){let g=await super.getFeatureFlagsAndPayloadsStateless(t,i,u,l,n);o={...o,...g.flags||{}},c={...c,...g.payloads||{}}}return{featureFlags:o,featureFlagPayloads:c}}groupIdentify({groupType:t,groupKey:r,properties:i,distinctId:n,disableGeoip:a}){super.groupIdentifyStateless(t,r,i,{disableGeoip:a},n)}async reloadFeatureFlags(){await this.featureFlagsPoller?.loadFeatureFlags(!0)}async shutdown(t){return this.featureFlagsPoller?.stopPoller(),super.shutdown(t)}addLocalPersonAndGroupProperties(t,r,i,n){let a={distinct_id:t,...i||{}},u={};if(r)for(let l of Object.keys(r))u[l]={$group_key:r[l],...n?.[l]||{}};return{allPersonProperties:a,allGroupProperties:u}}},$tc=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})}};$tc.POSTHOG_ID_TAG="posthog_distinct_id";var O2o=class{posthog;constructor({posthogApiKey:t}){this.posthog=new n7n(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"0.63.11-rc0",usingAccessToken:!0}})}async flush(){await this.posthog.flush()}};var RAa=class{async sendEvent(){}async identify(){}async flush(){}};var a7n=require("fs/promises"),RWp=require("os"),NWp=require("path");var IWp=ci(require("crypto")),P2o=new Uint8Array(256),m2o=P2o.length;function Gtc(){return m2o>P2o.length-16&&(IWp.default.randomFillSync(P2o),m2o=0),P2o.slice(m2o,m2o+=16)}var WW=[];for(let e=0;e<256;++e)WW.push((e+256).toString(16).slice(1));function zWp(e,t=0){return WW[e[t+0]]+WW[e[t+1]]+WW[e[t+2]]+WW[e[t+3]]+"-"+WW[e[t+4]]+WW[e[t+5]]+"-"+WW[e[t+6]]+WW[e[t+7]]+"-"+WW[e[t+8]]+WW[e[t+9]]+"-"+WW[e[t+10]]+WW[e[t+11]]+WW[e[t+12]]+WW[e[t+13]]+WW[e[t+14]]+WW[e[t+15]]}var xWp=ci(require("crypto")),Qtc={randomUUID:xWp.default.randomUUID};function jVD(e,t,r){if(Qtc.randomUUID&&!t&&!e)return Qtc.randomUUID();e=e||{};let i=e.random||(e.rng||Gtc)();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 zWp(i)}var Iae=jVD;var wVD="id",SVD=".fern",NAa=class{posthog;userId;constructor({token:t,posthogApiKey:r}){this.posthog=new n7n(r),this.userId=t==null?void 0:tJs(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.63.11-rc0",...t,...t.properties}})}async flush(){await this.posthog.flush()}persistedDistinctId;async getPersistedDistinctId(){if(this.persistedDistinctId==null){let t=Vu($l.of((0,RWp.homedir)()),Qa.of(SVD),Qa.of(wVD));await Cf(t)||(await(0,a7n.mkdir)((0,NWp.dirname)(t),{recursive:!0}),await(0,a7n.writeFile)(t,Iae())),this.persistedDistinctId=(await(0,a7n.readFile)(t)).toString()}return this.persistedDistinctId}};var Jtc;async function o7n(){return Jtc==null&&(Jtc=await DVD()),Jtc}async function DVD(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new RAa;let r=await wRo();return r!=null?new NAa({token:r,posthogApiKey:e}):await QNn()!=null?new O2o({posthogApiKey:e}):new NAa({token:void 0,posthogApiKey:e})}catch{return new RAa}}function FAa(e,t){return function(){return e.apply(t,arguments)}}var{toString:EVD}=Object.prototype,{getPrototypeOf:Ytc}=Object,w2o=(e=>t=>{let r=EVD.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),qWt=e=>(e=e.toLowerCase(),t=>w2o(t)===e),S2o=e=>t=>typeof t===e,{isArray:u7n}=Array,LAa=S2o("undefined");function MVD(e){return e!==null&&!LAa(e)&&e.constructor!==null&&!LAa(e.constructor)&&oMe(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var LWp=qWt("ArrayBuffer");function AVD(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&LWp(e.buffer),t}var qVD=S2o("string"),oMe=S2o("function"),UWp=S2o("number"),D2o=e=>e!==null&&typeof e=="object",TVD=e=>e===!0||e===!1,j2o=e=>{if(w2o(e)!=="object")return!1;let t=Ytc(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},CVD=qWt("Date"),BVD=qWt("File"),IVD=qWt("Blob"),zVD=qWt("FileList"),xVD=e=>D2o(e)&&oMe(e.pipe),RVD=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||oMe(e.append)&&((t=w2o(e))==="formdata"||t==="object"&&oMe(e.toString)&&e.toString()==="[object FormData]"))},NVD=qWt("URLSearchParams"),[FVD,LVD,UVD,VVD]=["ReadableStream","Request","Response","Headers"].map(qWt),WVD=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function UAa(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let i,n;if(typeof e!="object"&&(e=[e]),u7n(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 VWp(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 lGi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,WWp=e=>!LAa(e)&&e!==lGi;function Ktc(){let{caseless:e}=WWp(this)&&this||{},t={},r=(i,n)=>{let a=e&&VWp(t,n)||n;j2o(t[a])&&j2o(i)?t[a]=Ktc(t[a],i):j2o(i)?t[a]=Ktc({},i):u7n(i)?t[a]=i.slice():t[a]=i};for(let i=0,n=arguments.length;i<n;i++)arguments[i]&&UAa(arguments[i],r);return t}var HVD=(e,t,r,{allOwnKeys:i}={})=>(UAa(t,(n,a)=>{r&&oMe(n)?e[a]=FAa(n,r):e[a]=n},{allOwnKeys:i}),e),$VD=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),GVD=(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)},QVD=(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&&Ytc(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},JVD=(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},KVD=e=>{if(!e)return null;if(u7n(e))return e;let t=e.length;if(!UWp(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},YVD=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Ytc(Uint8Array)),XVD=(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])}},ZVD=(e,t)=>{let r,i=[];for(;(r=e.exec(t))!==null;)i.push(r);return i},kVD=qWt("HTMLFormElement"),eWD=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,i,n){return i.toUpperCase()+n}),FWp=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),tWD=qWt("RegExp"),HWp=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),i={};UAa(r,(n,a)=>{let u;(u=t(n,a,e))!==!1&&(i[a]=u||n)}),Object.defineProperties(e,i)},rWD=e=>{HWp(e,(t,r)=>{if(oMe(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let i=e[r];if(oMe(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+"'")})}})},iWD=(e,t)=>{let r={},i=n=>{n.forEach(a=>{r[a]=!0})};return u7n(e)?i(e):i(String(e).split(t)),r},nWD=()=>{},aWD=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function oWD(e){return!!(e&&oMe(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}var uWD=e=>{let t=new Array(10),r=(i,n)=>{if(D2o(i)){if(t.indexOf(i)>=0)return;if(!("toJSON"in i)){t[n]=i;let a=u7n(i)?[]:{};return UAa(i,(u,l)=>{let d=r(u,n+1);!LAa(d)&&(a[l]=d)}),t[n]=void 0,a}}return i};return r(e,0)},sWD=qWt("AsyncFunction"),cWD=e=>e&&(D2o(e)||oMe(e))&&oMe(e.then)&&oMe(e.catch),$Wp=((e,t)=>e?setImmediate:t?((r,i)=>(lGi.addEventListener("message",({source:n,data:a})=>{n===lGi&&a===r&&i.length&&i.shift()()},!1),n=>{i.push(n),lGi.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",oMe(lGi.postMessage)),lWD=typeof queueMicrotask<"u"?queueMicrotask.bind(lGi):typeof process<"u"&&process.nextTick||$Wp,_s={isArray:u7n,isArrayBuffer:LWp,isBuffer:MVD,isFormData:RVD,isArrayBufferView:AVD,isString:qVD,isNumber:UWp,isBoolean:TVD,isObject:D2o,isPlainObject:j2o,isReadableStream:FVD,isRequest:LVD,isResponse:UVD,isHeaders:VVD,isUndefined:LAa,isDate:CVD,isFile:BVD,isBlob:IVD,isRegExp:tWD,isFunction:oMe,isStream:xVD,isURLSearchParams:NVD,isTypedArray:YVD,isFileList:zVD,forEach:UAa,merge:Ktc,extend:HVD,trim:WVD,stripBOM:$VD,inherits:GVD,toFlatObject:QVD,kindOf:w2o,kindOfTest:qWt,endsWith:JVD,toArray:KVD,forEachEntry:XVD,matchAll:ZVD,isHTMLForm:kVD,hasOwnProperty:FWp,hasOwnProp:FWp,reduceDescriptors:HWp,freezeMethods:rWD,toObjectSet:iWD,toCamelCase:eWD,noop:nWD,toFiniteNumber:aWD,findKey:VWp,global:lGi,isContextDefined:WWp,isSpecCompliantForm:oWD,toJSONObject:uWD,isAsyncFn:sWD,isThenable:cWD,setImmediate:$Wp,asap:lWD};function s7n(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)}_s.inherits(s7n,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:_s.toJSONObject(this.config),code:this.code,status:this.status}}});var GWp=s7n.prototype,QWp={};["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=>{QWp[e]={value:e}});Object.defineProperties(s7n,QWp);Object.defineProperty(GWp,"isAxiosError",{value:!0});s7n.from=(e,t,r,i,n,a)=>{let u=Object.create(GWp);return _s.toFlatObject(e,u,function(d){return d!==Error.prototype},l=>l!=="isAxiosError"),s7n.call(u,e.message,t,r,i,n),u.cause=e,u.name=e.name,a&&Object.assign(u,a),u};var xp=s7n;var JWp=ci(uwa(),1),E2o=JWp.default;function Xtc(e){return _s.isPlainObject(e)||_s.isArray(e)}function YWp(e){return _s.endsWith(e,"[]")?e.slice(0,-2):e}function KWp(e,t,r){return e?e.concat(t).map(function(n,a){return n=YWp(n),!r&&a?"["+n+"]":n}).join(r?".":""):t}function fWD(e){return _s.isArray(e)&&!e.some(Xtc)}var dWD=_s.toFlatObject(_s,{},null,function(t){return/^is[A-Z]/.test(t)});function pWD(e,t,r){if(!_s.isObject(e))throw new TypeError("target must be an object");t=t||new(E2o||FormData),r=_s.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,P){return!_s.isUndefined(P[m])});let i=r.metaTokens,n=r.visitor||o,a=r.dots,u=r.indexes,d=(r.Blob||typeof Blob<"u"&&Blob)&&_s.isSpecCompliantForm(t);if(!_s.isFunction(n))throw new TypeError("visitor must be a function");function s(O){if(O===null)return"";if(_s.isDate(O))return O.toISOString();if(!d&&_s.isBlob(O))throw new xp("Blob is not supported. Use a Buffer instead.");return _s.isArrayBuffer(O)||_s.isTypedArray(O)?d&&typeof Blob=="function"?new Blob([O]):Buffer.from(O):O}function o(O,m,P){let E=O;if(O&&!P&&typeof O=="object"){if(_s.endsWith(m,"{}"))m=i?m:m.slice(0,-2),O=JSON.stringify(O);else if(_s.isArray(O)&&fWD(O)||(_s.isFileList(O)||_s.endsWith(m,"[]"))&&(E=_s.toArray(O)))return m=YWp(m),E.forEach(function(M,D){!(_s.isUndefined(M)||M===null)&&t.append(u===!0?KWp([m],D,a):u===null?m:m+"[]",s(M))}),!1}return Xtc(O)?!0:(t.append(KWp(P,m,a),s(O)),!1)}let c=[],b=Object.assign(dWD,{defaultVisitor:o,convertValue:s,isVisitable:Xtc});function g(O,m){if(!_s.isUndefined(O)){if(c.indexOf(O)!==-1)throw Error("Circular reference detected in "+m.join("."));c.push(O),_s.forEach(O,function(E,q){(!(_s.isUndefined(E)||E===null)&&n.call(t,E,_s.isString(q)?q.trim():q,m,b))===!0&&g(E,m?m.concat(q):[q])}),c.pop()}}if(!_s.isObject(e))throw new TypeError("data must be an object");return g(e),t}var YDi=pWD;function XWp(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(i){return t[i]})}function ZWp(e,t){this._pairs=[],e&&YDi(e,this,t)}var kWp=ZWp.prototype;kWp.append=function(t,r){this._pairs.push([t,r])};kWp.toString=function(t){let r=t?function(i){return t.call(this,i,XWp)}:XWp;return this._pairs.map(function(n){return r(n[0])+"="+r(n[1])},"").join("&")};var eHp=ZWp;function _WD(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function fGi(e,t,r){if(!t)return e;let i=r&&r.encode||_WD;_s.isFunction(r)&&(r={serialize:r});let n=r&&r.serialize,a;if(n?a=n(t,r):a=_s.isURLSearchParams(t)?t.toString():new eHp(t,r).toString(i),a){let u=e.indexOf("#");u!==-1&&(e=e.slice(0,u)),e+=(e.indexOf("?")===-1?"?":"&")+a}return e}var Ztc=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){_s.forEach(this.handlers,function(i){i!==null&&t(i)})}},ktc=Ztc;var c7n={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var nHp=ci(require("crypto"),1);var tHp=ci(require("url"),1),rHp=tHp.default.URLSearchParams;var erc="abcdefghijklmnopqrstuvwxyz",iHp="0123456789",aHp={DIGIT:iHp,ALPHA:erc,ALPHA_DIGIT:erc+erc.toUpperCase()+iHp},hWD=(e=16,t=aHp.ALPHA_DIGIT)=>{let r="",{length:i}=t,n=new Uint32Array(e);nHp.default.randomFillSync(n);for(let a=0;a<e;a++)r+=t[n[a]%i];return r},oHp={isNode:!0,classes:{URLSearchParams:rHp,FormData:E2o,Blob:typeof Blob<"u"&&Blob||null},ALPHABET:aHp,generateString:hWD,protocols:["http","https","file","data"]};var irc={};jo(irc,{hasBrowserEnv:()=>rrc,hasStandardBrowserEnv:()=>yWD,hasStandardBrowserWebWorkerEnv:()=>vWD,navigator:()=>trc,origin:()=>bWD});var rrc=typeof window<"u"&&typeof document<"u",trc=typeof navigator=="object"&&navigator||void 0,yWD=rrc&&(!trc||["ReactNative","NativeScript","NS"].indexOf(trc.product)<0),vWD=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",bWD=rrc&&window.location.href||"http://localhost";var sA={...irc,...oHp};function nrc(e,t){return YDi(e,new sA.classes.URLSearchParams,Object.assign({visitor:function(r,i,n,a){return sA.isNode&&_s.isBuffer(r)?(this.append(i,r.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)}},t))}function gWD(e){return _s.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function OWD(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 mWD(e){function t(r,i,n,a){let u=r[a++];if(u==="__proto__")return!0;let l=Number.isFinite(+u),d=a>=r.length;return u=!u&&_s.isArray(n)?n.length:u,d?(_s.hasOwnProp(n,u)?n[u]=[n[u],i]:n[u]=i,!l):((!n[u]||!_s.isObject(n[u]))&&(n[u]=[]),t(r,i,n[u],a)&&_s.isArray(n[u])&&(n[u]=OWD(n[u])),!l)}if(_s.isFormData(e)&&_s.isFunction(e.entries)){let r={};return _s.forEachEntry(e,(i,n)=>{t(gWD(i),n,r,0)}),r}return null}var M2o=mWD;function PWD(e,t,r){if(_s.isString(e))try{return(t||JSON.parse)(e),_s.trim(e)}catch(i){if(i.name!=="SyntaxError")throw i}return(r||JSON.stringify)(e)}var arc={transitional:c7n,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){let i=r.getContentType()||"",n=i.indexOf("application/json")>-1,a=_s.isObject(t);if(a&&_s.isHTMLForm(t)&&(t=new FormData(t)),_s.isFormData(t))return n?JSON.stringify(M2o(t)):t;if(_s.isArrayBuffer(t)||_s.isBuffer(t)||_s.isStream(t)||_s.isFile(t)||_s.isBlob(t)||_s.isReadableStream(t))return t;if(_s.isArrayBufferView(t))return t.buffer;if(_s.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 nrc(t,this.formSerializer).toString();if((l=_s.isFileList(t))||i.indexOf("multipart/form-data")>-1){let d=this.env&&this.env.FormData;return YDi(l?{"files[]":t}:t,d&&new d,this.formSerializer)}}return a||n?(r.setContentType("application/json",!1),PWD(t)):t}],transformResponse:[function(t){let r=this.transitional||arc.transitional,i=r&&r.forcedJSONParsing,n=this.responseType==="json";if(_s.isResponse(t)||_s.isReadableStream(t))return t;if(t&&_s.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"?xp.from(l,xp.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:sA.classes.FormData,Blob:sA.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};_s.forEach(["delete","get","head","post","put","patch"],e=>{arc.headers[e]={}});var l7n=arc;var jWD=_s.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"]),uHp=e=>{let t={},r,i,n;return e&&e.split(`
1707
+ `}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&&w4o(this.rl,t.length+this.rl.line.length),this.rl.output.write(t)}};var _Vp=ci(uVp(),1),hVp=ci(ZZs(),1),yVp=ci(dVp(),1),Uq=ci(nMe(),1),vVp=ci(lMa(),1);var Z4o=ci(nMe(),1),pVp=ci(lMa(),1),k4o=function(e,t,r){return typeof e[t]!="function"?(0,Z4o.of)(e):(0,Z4o.from)((0,pVp.default)(e[t])(r).then(i=>(e[t]=i,e)))};var jAa={isPlainObject:_Vp.default,set:yVp.default,get:hVp.default},X3n=class extends aGi{constructor(t,r){super(r),this.prompts=t}run(t,r){this.answers=jAa.isPlainObject(r)?{...r}:{},jAa.isPlainObject(t)&&(t=Object.values(t).every(n=>jAa.isPlainObject(n)&&n.name===void 0)?Object.entries(t).map(([n,a])=>({name:n,...a})):[t]);let i=Array.isArray(t)?(0,Uq.from)(t):t;return this.process=i.pipe((0,Uq.concatMap)(this.processQuestion.bind(this)),(0,Uq.publish)()),this.process.connect(),this.process.pipe((0,Uq.reduce)((n,a)=>(jAa.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,Uq.defer)(()=>(0,Uq.of)(t).pipe((0,Uq.concatMap)(this.setDefaultType.bind(this)),(0,Uq.concatMap)(this.filterIfRunnable.bind(this)),(0,Uq.concatMap)(()=>k4o(t,"message",this.answers)),(0,Uq.concatMap)(()=>k4o(t,"default",this.answers)),(0,Uq.concatMap)(()=>k4o(t,"choices",this.answers)),(0,Uq.concatMap)(this.fetchAnswer.bind(this))))}fetchAnswer(t){let r=this.prompts[t.type];return this.activePrompt=new r(t,this.rl,this.answers),(0,Uq.defer)(()=>(0,Uq.from)(this.activePrompt.run().then(i=>({name:t.name,answer:i}))))}setDefaultType(t){return this.prompts[t.type]||(t.type="input"),(0,Uq.defer)(()=>(0,Uq.of)(t))}filterIfRunnable(t){if(t.askAnswered!==!0&&jAa.get(this.answers,t.name)!==void 0)return(0,Uq.empty)();if(t.when===!1)return(0,Uq.empty)();if(typeof t.when!="function")return(0,Uq.of)(t);let{answers:r}=this;return(0,Uq.defer)(()=>(0,Uq.from)((0,vVp.default)(t.when)(r).then(i=>{if(i)return t})).pipe((0,Uq.filter)(i=>i!=null)))}};function bVp(e){let t=function(r,i){let n;try{n=new X3n(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",iAa),this.registerPrompt("input",Y$i),this.registerPrompt("number",nAa),this.registerPrompt("confirm",aAa),this.registerPrompt("rawlist",oAa),this.registerPrompt("expand",uAa),this.registerPrompt("checkbox",sAa),this.registerPrompt("password",cAa),this.registerPrompt("editor",gAa)},t.restoreDefaultPrompts(),t}var ttc=bVp();function z9D(e,t){ttc.registerPrompt(e,t)}function x9D(){ttc.restoreDefaultPrompts()}var R9D={prompt:ttc,ui:{BottomBar:PAa,Prompt:X3n},createPromptModule:bVp,registerPrompt:z9D,restoreDefaultPrompts:x9D,Separator:Aae},e2o=R9D;var MWp=ci(gVp()),lVD="4.2.1",AWt;(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"})(AWt||(AWt={}));function fVD(e,t){if(!e)throw new Error(t)}function dVD(e){return e?.replace(/\/+$/,"")}async function pVD(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 _VD(){return new Date().getTime()}function OWp(){return new Date().toISOString()}function AWp(e,t){let r=setTimeout(e,t);return r?.unref&&r?.unref(),r}var IAa=String.fromCharCode,mWp="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",h2o={};function hVD(e,t){if(!h2o[e]){h2o[e]={};for(let r=0;r<e.length;r++)h2o[e][e.charAt(r)]=r}return h2o[e][t]}var zAa={compressToBase64:function(e){if(e==null)return"";let t=zAa._compress(e,6,function(r){return mWp.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:zAa._decompress(e.length,32,function(t){return hVD(mWp,e.charAt(t))})},compress:function(e){return zAa._compress(e,16,function(t){return IAa(t)})},_compress:function(e,t,r){if(e==null)return"";let i={},n={},a=[],u,l,d="",s="",o="",c=2,b=3,g=2,O=0,m=0,P;for(P=0;P<e.length;P+=1)if(d=e.charAt(P),Object.prototype.hasOwnProperty.call(i,d)||(i[d]=b++,n[d]=!0),s=o+d,Object.prototype.hasOwnProperty.call(i,s))o=s;else{if(Object.prototype.hasOwnProperty.call(n,o)){if(o.charCodeAt(0)<256){for(u=0;u<g;u++)O=O<<1,m==t-1?(m=0,a.push(r(O)),O=0):m++;for(l=o.charCodeAt(0),u=0;u<8;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1}else{for(l=1,u=0;u<g;u++)O=O<<1|l,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=0;for(l=o.charCodeAt(0),u=0;u<16;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1}c--,c==0&&(c=Math.pow(2,g),g++),delete n[o]}else for(l=i[o],u=0;u<g;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1;c--,c==0&&(c=Math.pow(2,g),g++),i[s]=b++,o=String(d)}if(o!==""){if(Object.prototype.hasOwnProperty.call(n,o)){if(o.charCodeAt(0)<256){for(u=0;u<g;u++)O=O<<1,m==t-1?(m=0,a.push(r(O)),O=0):m++;for(l=o.charCodeAt(0),u=0;u<8;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1}else{for(l=1,u=0;u<g;u++)O=O<<1|l,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=0;for(l=o.charCodeAt(0),u=0;u<16;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1}c--,c==0&&(c=Math.pow(2,g),g++),delete n[o]}else for(l=i[o],u=0;u<g;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1;c--,c==0&&(c=Math.pow(2,g),g++)}for(l=2,u=0;u<g;u++)O=O<<1|l&1,m==t-1?(m=0,a.push(r(O)),O=0):m++,l=l>>1;for(;;)if(O=O<<1,m==t-1){a.push(r(O));break}else m++;return a.join("")},decompress:function(e){return e==null?"":e==""?null:zAa._decompress(e.length,32768,function(t){return e.charCodeAt(t)})},_decompress:function(e,t,r){let i=[],n=[],a={val:r(0),position:t,index:1},u=4,l=4,d=3,s="",o,c,b,g,O,m,P;for(o=0;o<3;o+=1)i[o]=o;for(b=0,O=Math.pow(2,2),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;switch(b){case 0:for(b=0,O=Math.pow(2,8),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;P=IAa(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=IAa(b);break;case 2:return""}for(i[3]=P,c=P,n.push(P);;){if(a.index>e)return"";for(b=0,O=Math.pow(2,d),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;switch(P=b){case 0:for(b=0,O=Math.pow(2,8),m=1;m!=O;)g=a.val&a.position,a.position>>=1,a.position==0&&(a.position=t,a.val=r(a.index++)),b|=(g>0?1:0)*m,m<<=1;i[l++]=IAa(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++]=IAa(b),P=l-1,u--;break;case 2:return n.join("")}if(u==0&&(u=Math.pow(2,d),d++),i[P])s=i[P];else if(P===l)s=c+c.charAt(0);else return null;n.push(s),i[l++]=c+s.charAt(0),u--,c=s,u==0&&(u=Math.pow(2,d),d++)}}},Ftc=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 y2o="0123456789abcdef",v2o=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+=y2o.charAt(this.bytes[r]>>>4),t+=y2o.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+=y2o.charAt(this.bytes[r]>>>4),t+=y2o.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}},Ltc=class{constructor(t){this.timestamp=0,this.counter=0,this.random=t??yVD()}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 v2o.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,v2o.ofInner(t)}},yVD=()=>({nextUint32:()=>Math.trunc(Math.random()*65536)*65536+Math.trunc(Math.random()*65536)}),PWp,jWp=()=>vVD().toString(),vVD=()=>(PWp||(PWp=new Ltc)).generate(),b2o=class extends Error{constructor(t){super("HTTP error while fetching PostHog: "+t.status),this.response=t,this.name="PostHogFetchHttpError"}},xAa=class extends Error{constructor(t){super("Network error while fetching PostHog",t instanceof Error?{cause:t}:{}),this.error=t,this.name="PostHogFetchNetworkError"}};function wWp(e){return typeof e=="object"&&(e instanceof b2o||e instanceof xAa)}var Utc=class{constructor(t,r){this.flushPromise=null,this.disableGeoip=!0,this.historicalMigration=!1,this.disabled=!1,this.defaultOptIn=!0,this.pendingPromises={},this._events=new Ftc,this._isInitialized=!1,fVD(t,"You must pass your PostHog project's api key."),this.apiKey=t,this.host=dVD(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:wWp},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(AWt.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty(AWt.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty(AWt.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=jWp();return this.pendingPromises[r]=t,t.catch(()=>{}).finally(()=>{delete this.pendingPromises[r]}),t}identifyStateless(t,r,i){this.wrap(()=>{let n={...this.buildPayload({distinct_id:t,event:"$identify",properties:r})};this.enqueue("identify",n,i)})}captureStateless(t,r,i,n){this.wrap(()=>{let a=this.buildPayload({distinct_id:t,event:r,properties:i});this.enqueue("capture",a,n)})}aliasStateless(t,r,i,n){this.wrap(()=>{let a=this.buildPayload({event:"$create_alias",distinct_id:r,properties:{...i||{},distinct_id:r,alias:t}});this.enqueue("alias",a,n)})}groupIdentifyStateless(t,r,i,n,a,u){this.wrap(()=>{let l=this.buildPayload({distinct_id:a||`$${t}_${r}`,event:"$groupidentify",properties:{$group_type:t,$group_key:r,$group_set:i||{},...u||{}}});this.enqueue("capture",l,n)})}async getDecide(t,r={},i={},n={},a={}){await this._initPromise;let u=`${this.host}/decide/?v=3`,l={method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:JSON.stringify({token:this.apiKey,distinct_id:t,groups:r,person_properties:i,group_properties:n,...a})};return this.fetchWithRetry(u,l,{retryCount:0},this.featureFlagsRequestTimeoutMs).then(d=>d.json()).catch(d=>{this._events.emit("error",d)})}async getFeatureFlagStateless(t,r,i={},n={},a={},u){await this._initPromise;let l=await this.getFeatureFlagsStateless(r,i,n,a,u);if(!l)return;let d=l[t];return d===void 0&&(d=!1),d}async getFeatureFlagPayloadStateless(t,r,i={},n={},a={},u){await this._initPromise;let l=await this.getFeatureFlagPayloadsStateless(r,i,n,a,u);if(!l)return;let d=l[t];return d===void 0?null:d}async getFeatureFlagPayloadsStateless(t,r={},i={},n={},a){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless(t,r,i,n,a)).payloads}_parsePayload(t){try{return JSON.parse(t)}catch{return t}}async getFeatureFlagsStateless(t,r={},i={},n={},a){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless(t,r,i,n,a)).flags}async getFeatureFlagsAndPayloadsStateless(t,r={},i={},n={},a){await this._initPromise;let u={};(a??this.disableGeoip)&&(u.geoip_disable=!0);let l=await this.getDecide(t,r,i,n,u),d=l?.featureFlags,s=l?.featureFlagPayloads,o=s;return s&&(o=Object.fromEntries(Object.entries(s).map(([c,b])=>[c,this._parsePayload(b)]))),{flags:d,payloads:o}}enqueue(t,r,i){this.wrap(()=>{if(this.optedOut){this._events.emit(t,"Library is disabled. Not sending event. To re-enable, call posthog.optIn()");return}let n={...r,type:t,library:this.getLibraryId(),library_version:this.getLibraryVersion(),timestamp:i?.timestamp?i?.timestamp:OWp(),uuid:i?.uuid?i.uuid:jWp()};(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(AWt.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(AWt.Queue,u),this._events.emit(t,n),u.length>=this.flushAt&&this.flushBackground(),this.flushInterval&&!this._flushTimer&&(this._flushTimer=AWp(()=>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(AWt.Queue)||[];if(!t.length)return[];let r=t.slice(0,this.maxBatchSize),i=r.map(s=>s.message),n=()=>{let s=this.getPersistedProperty(AWt.Queue)||[];this.setPersistedProperty(AWt.Queue,s.slice(r.length))},a={api_key:this.apiKey,batch:i,sent_at:OWp()};this.historicalMigration&&(a.historical_migration=!0);let u=JSON.stringify(a),l=this.captureMode==="form"?`${this.host}/e/?ip=1&_=${_VD()}&v=${this.getLibraryVersion()}`:`${this.host}/batch/`,d=this.captureMode==="form"?{method:"POST",mode:"no-cors",credentials:"omit",headers:{...this.getCustomHeaders(),"Content-Type":"application/x-www-form-urlencoded"},body:`data=${encodeURIComponent(zAa.compressToBase64(u))}&compression=lz64`}:{method:"POST",headers:{...this.getCustomHeaders(),"Content-Type":"application/json"},body:u};try{await this.fetchWithRetry(l,d)}catch(s){throw s instanceof xAa||n(),this._events.emit("error",s),s}return n(),this._events.emit("flush",i),i}async fetchWithRetry(t,r,i,n){var a;return(a=AbortSignal).timeout??(a.timeout=function(l){let d=new AbortController;return setTimeout(()=>d.abort(),l),d.signal}),await pVD(async()=>{let u=null;try{u=await this.fetch(t,{signal:AbortSignal.timeout(n??this.requestTimeout),...r})}catch(d){throw new xAa(d)}if(!(r.mode==="no-cors")&&(u.status<200||u.status>=400))throw new b2o(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(AWt.Queue)||[]).length!==0;){await this.flush();let n=Date.now();if(r<n)break}}catch(r){if(!wWp(r))throw r;this.logMsgIfDebug(()=>console.error("Error while shutting down PostHog",r))}}},Vtc=class{constructor(){this._memoryStorage={}}getProperty(t){return this._memoryStorage[t]}setProperty(t,r){this._memoryStorage[t]=r!==null?r:void 0}},Wtc=typeof fetch<"u"?fetch:typeof global.fetch<"u"?global.fetch:void 0;if(!Wtc){let e=gWp();Wtc=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 qWp=Wtc,bVD=1152921504606847e3,gVD=["is_not"],g2o=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name="ClientError",this.message=t,Object.setPrototypeOf(this,e.prototype)}},Z2=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},Htc=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||qWp,this.onError=l.onError,this.customHeaders=u,this.loadFeatureFlags()}debug(t=!0){this.debugMode=t}logMsgIfDebug(t){this.debugMode&&t()}async getFeatureFlag(t,r,i={},n={},a={}){await this.loadFeatureFlags();let u,l;if(!this.loadedSuccessfullyOnce)return u;for(let d of this.featureFlags)if(t===d.key){l=d;break}if(l!==void 0)try{u=this.computeFlagLocally(l,r,i,n,a),this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${t} -> ${u}`))}catch(d){d instanceof Z2?this.logMsgIfDebug(()=>console.debug(`InconclusiveMatchError when computing flag locally: ${t}: ${d}`)):d instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${t}: ${d}`))}return u}async computeFeatureFlagPayloadLocally(t,r){await this.loadFeatureFlags();let i;if(this.loadedSuccessfullyOnce){if(typeof r=="boolean"?i=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r.toString()]:typeof r=="string"&&(i=this.featureFlagsByKey?.[t]?.filters?.payloads?.[r]),i==null)return null;try{return JSON.parse(i)}catch{return i}}}async getAllFlagsAndPayloads(t,r={},i={},n={}){await this.loadFeatureFlags();let a={},u={},l=this.featureFlags.length==0;return this.featureFlags.map(async d=>{try{let s=this.computeFlagLocally(d,t,r,i,n);a[d.key]=s;let o=await this.computeFeatureFlagPayloadLocally(d.key,s);o&&(u[d.key]=o)}catch(s){s instanceof Z2||s instanceof Error&&this.onError?.(new Error(`Error computing flag locally: ${d.key}: ${s}`)),l=!0}}),{response:a,payloads:u,fallbackToDecide:l}}computeFlagLocally(t,r,i={},n={},a={}){if(t.ensure_experience_continuity)throw new Z2("Flag has experience continuity enabled");if(!t.active)return!1;let l=(t.filters||{}).aggregation_group_type_index;if(l!=null){let d=this.groupTypeMapping[String(l)];if(!d)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Unknown group type index ${l} for feature flag ${t.key}`)),new Z2("Flag has unknown group type index");if(!(d in i))return this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${t.key} without group names passed in`)),!1;let s=a[d];return this.matchFeatureFlagProperties(t,i[d],s)}else return this.matchFeatureFlagProperties(t,r,n)}matchFeatureFlagProperties(t,r,i){let n=t.filters||{},a=n.groups||[],u=!1,l,d=[...a].sort((s,o)=>{let c=!!s.variant,b=!!o.variant;return c&&b?0:c?-1:b?1:0});for(let s of d)try{if(this.isConditionMatch(t,r,s,i)){let o=s.variant,c=n.multivariate?.variants||[];o&&c.some(b=>b.key===o)?l=o:l=this.getMatchingVariant(t,r)||!0;break}}catch(o){if(o instanceof Z2)u=!0;else throw o}if(l!==void 0)return l;if(u)throw new Z2("Can't determine if feature flag is enabled or not with given properties");return!1}isConditionMatch(t,r,i,n){let a=i.rollout_percentage,u=l=>{this.logMsgIfDebug(()=>console.warn(l))};if((i.properties||[]).length>0){for(let l of i.properties){let d=l.type,s=!1;if(d==="cohort"?s=CWp(l,n,this.cohorts,this.debugMode):s=TWp(l,n,u),!s)return!1}if(a==null)return!0}return!(a!=null&&SWp(t.key,r)>a/100)}getMatchingVariant(t,r){let i=SWp(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 g2o("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 g2o&&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=AWp(()=>{n.abort()},this.timeout),r.signal=n.signal}try{return await this.fetch(t,r)}finally{clearTimeout(i)}}stopPoller(){clearTimeout(this.poller)}};function SWp(e,t,r=""){let i=(0,MWp.createHash)();return i.update(`${e}.${t}${r}`),parseInt(i.digest("hex").slice(0,15),16)/bVD}function TWp(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 Z2("Operator is_not_set is not supported")}else throw new Z2(`Property ${i} not found in propertyValues`);let u=t[i];if(u==null&&!gVD.includes(a))return r&&r(`Property ${i} cannot have a value of null/undefined with the ${a} operator`),!1;function l(s,o){return Array.isArray(s)?s.map(c=>String(c).toLowerCase()).includes(String(o).toLowerCase()):String(s).toLowerCase()===String(o).toLowerCase()}function d(s,o,c){if(c==="gt")return s>o;if(c==="gte")return s>=o;if(c==="lt")return s<o;if(c==="lte")return s<=o;throw new Error(`Invalid operator: ${c}`)}switch(a){case"exact":return l(n,u);case"is_not":return!l(n,u);case"is_set":return i in t;case"icontains":return String(u).toLowerCase().includes(String(n).toLowerCase());case"not_icontains":return!String(u).toLowerCase().includes(String(n).toLowerCase());case"regex":return DWp(String(n))&&String(u).match(String(n))!==null;case"not_regex":return DWp(String(n))&&String(u).match(String(n))===null;case"gt":case"gte":case"lt":case"lte":{let s=typeof n=="number"?n:null;if(typeof n=="string")try{s=parseFloat(n)}catch{}return s!=null&&u!=null?typeof u=="string"?d(u,String(n),a):d(u,s,a):d(String(u),String(n),a)}case"is_date_after":case"is_date_before":{let s=OVD(String(n));if(s==null&&(s=EWp(n)),s==null)throw new Z2(`Invalid date: ${n}`);let o=EWp(u);return["is_date_before"].includes(a)?o<s:o>s}default:throw new Z2(`Unknown operator: ${a}`)}}function CWp(e,t,r,i=!1){let n=String(e.value);if(!(n in r))throw new Z2("can't match cohort without a given cohort property value");let a=r[n];return BWp(a,t,r,i)}function BWp(e,t,r,i=!1){if(!e)return!0;let n=e.type,a=e.values;if(!a||a.length===0)return!0;let u=!1;if("values"in a[0]){for(let l of a)try{let d=BWp(l,t,r,i);if(n==="AND"){if(!d)return!1}else if(d)return!0}catch(d){if(d instanceof Z2)i&&console.debug(`Failed to compute property ${l} locally: ${d}`),u=!0;else throw d}if(u)throw new Z2("Can't match cohort without a given cohort property value");return n==="AND"}else{for(let l of a)try{let d;l.type==="cohort"?d=CWp(l,t,r,i):d=TWp(l,t);let s=l.negation||!1;if(n==="AND"){if(!d&&!s||d&&s)return!1}else if(d&&!s||!d&&s)return!0}catch(d){if(d instanceof Z2)i&&console.debug(`Failed to compute property ${l} locally: ${d}`),u=!0;else throw d}if(u)throw new Z2("can't match cohort without a given cohort property value");return n==="AND"}}function DWp(e){try{return new RegExp(e),!0}catch{return!1}}function EWp(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 Z2(`${e} is in an invalid date format`)}else throw new Z2(`The date provided ${e} must be a string, number, or date object`)}function OVD(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 mVD=30*1e3,PVD=50*1e3,n7n=class extends Utc{constructor(t,r={}){super(t,r),this._memoryStorage=new Vtc,this.options=r,r.personalApiKey&&(this.featureFlagsPoller=new Htc({pollingInterval:typeof r.featureFlagsPollingInterval=="number"?r.featureFlagsPollingInterval:mVD,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||PVD}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):qWp(t,r)}getLibraryId(){return"posthog-node"}getLibraryVersion(){return lVD}getCustomUserAgent(){return`${this.getLibraryId()}/${this.getLibraryVersion()}`}enable(){return super.optIn()}disable(){return super.optOut()}debug(t=!0){super.debug(t),this.featureFlagsPoller?.debug(t)}capture({distinctId:t,event:r,properties:i,groups:n,sendFeatureFlags:a,timestamp:u,disableGeoip:l,uuid:d}){let s=b=>{super.captureStateless(t,r,b,{timestamp:u,disableGeoip:l,uuid:d})},o=(b,g,O)=>super.getFeatureFlagsStateless(b,g,void 0,void 0,O),c=Promise.resolve().then(async()=>{if(a)return await o(t,n,l);if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let b={};for(let[g,O]of Object.entries(n||{}))b[g]=String(O);return await this.getAllFlags(t,{groups:b,disableGeoip:l,onlyEvaluateLocally:!0})}return{}}).then(b=>{let g={};if(b)for(let[m,P]of Object.entries(b))g[`$feature/${m}`]=P;let O=Object.keys(b||{}).filter(m=>b?.[m]!==!1);return O.length>0&&(g.$active_feature_flags=O),g}).catch(()=>({})).then(b=>{s({...b,...i,$groups:n})});this.addPendingPromise(c)}identify({distinctId:t,properties:r,disableGeoip:i}){let n=r?.$set||r;super.identifyStateless(t,{$set:n},{disableGeoip:i})}alias(t){super.aliasStateless(t.alias,t.distinctId,void 0,{disableGeoip:t.disableGeoip})}async getFeatureFlag(t,r,i){let{groups:n,disableGeoip:a}=i||{},{onlyEvaluateLocally:u,sendFeatureFlagEvents:l,personProperties:d,groupProperties:s}=i||{},o=this.addLocalPersonAndGroupProperties(r,n,d,s);d=o.allPersonProperties,s=o.allGroupProperties,u==null&&(u=!1),l==null&&(l=!0);let c=await this.featureFlagsPoller?.getFeatureFlag(t,r,n,d,s),b=c!==void 0;!b&&!u&&(c=await super.getFeatureFlagStateless(t,r,n,d,s,a));let g=`${t}_${c}`;return l&&(!(r in this.distinctIdHasSentFlagCalls)||!this.distinctIdHasSentFlagCalls[r].includes(g))&&(Object.keys(this.distinctIdHasSentFlagCalls).length>=this.maxCacheSize&&(this.distinctIdHasSentFlagCalls={}),Array.isArray(this.distinctIdHasSentFlagCalls[r])?this.distinctIdHasSentFlagCalls[r].push(g):this.distinctIdHasSentFlagCalls[r]=[g],this.capture({distinctId:r,event:"$feature_flag_called",properties:{$feature_flag:t,$feature_flag_response:c,locally_evaluated:b,[`$feature/${t}`]:c},groups:n,disableGeoip:a})),c}async getFeatureFlagPayload(t,r,i,n){let{groups:a,disableGeoip:u}=n||{},{onlyEvaluateLocally:l,sendFeatureFlagEvents:d,personProperties:s,groupProperties:o}=n||{},c=this.addLocalPersonAndGroupProperties(r,a,s,o);s=c.allPersonProperties,o=c.allGroupProperties;let b;return i||(i=await this.getFeatureFlag(t,r,{...n,onlyEvaluateLocally:!0})),i&&(b=await this.featureFlagsPoller?.computeFeatureFlagPayloadLocally(t,i)),l==null&&(l=!1),d==null&&(d=!0),l==null&&(l=!1),!(b!==void 0)&&!l&&(b=await super.getFeatureFlagPayloadStateless(t,r,a,s,o,u)),b}async isFeatureEnabled(t,r,i){let n=await this.getFeatureFlag(t,r,i);if(n!==void 0)return!!n||!1}async getAllFlags(t,r){return(await this.getAllFlagsAndPayloads(t,r)).featureFlags}async getAllFlagsAndPayloads(t,r){let{groups:i,disableGeoip:n}=r||{},{onlyEvaluateLocally:a,personProperties:u,groupProperties:l}=r||{},d=this.addLocalPersonAndGroupProperties(t,i,u,l);u=d.allPersonProperties,l=d.allGroupProperties,a==null&&(a=!1);let s=await this.featureFlagsPoller?.getAllFlagsAndPayloads(t,i,u,l),o={},c={},b=!0;if(s&&(o=s.response,c=s.payloads,b=s.fallbackToDecide),b&&!a){let g=await super.getFeatureFlagsAndPayloadsStateless(t,i,u,l,n);o={...o,...g.flags||{}},c={...c,...g.payloads||{}}}return{featureFlags:o,featureFlagPayloads:c}}groupIdentify({groupType:t,groupKey:r,properties:i,distinctId:n,disableGeoip:a}){super.groupIdentifyStateless(t,r,i,{disableGeoip:a},n)}async reloadFeatureFlags(){await this.featureFlagsPoller?.loadFeatureFlags(!0)}async shutdown(t){return this.featureFlagsPoller?.stopPoller(),super.shutdown(t)}addLocalPersonAndGroupProperties(t,r,i,n){let a={distinct_id:t,...i||{}},u={};if(r)for(let l of Object.keys(r))u[l]={$group_key:r[l],...n?.[l]||{}};return{allPersonProperties:a,allGroupProperties:u}}},$tc=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})}};$tc.POSTHOG_ID_TAG="posthog_distinct_id";var O2o=class{posthog;constructor({posthogApiKey:t}){this.posthog=new n7n(t)}async identify(){}async sendEvent(t){t.orgId!=null&&this.posthog.capture({distinctId:t.orgId,event:"CLI",properties:{...t,...t.properties,version:"0.63.14",usingAccessToken:!0}})}async flush(){await this.posthog.flush()}};var RAa=class{async sendEvent(){}async identify(){}async flush(){}};var a7n=require("fs/promises"),RWp=require("os"),NWp=require("path");var IWp=ci(require("crypto")),P2o=new Uint8Array(256),m2o=P2o.length;function Gtc(){return m2o>P2o.length-16&&(IWp.default.randomFillSync(P2o),m2o=0),P2o.slice(m2o,m2o+=16)}var WW=[];for(let e=0;e<256;++e)WW.push((e+256).toString(16).slice(1));function zWp(e,t=0){return WW[e[t+0]]+WW[e[t+1]]+WW[e[t+2]]+WW[e[t+3]]+"-"+WW[e[t+4]]+WW[e[t+5]]+"-"+WW[e[t+6]]+WW[e[t+7]]+"-"+WW[e[t+8]]+WW[e[t+9]]+"-"+WW[e[t+10]]+WW[e[t+11]]+WW[e[t+12]]+WW[e[t+13]]+WW[e[t+14]]+WW[e[t+15]]}var xWp=ci(require("crypto")),Qtc={randomUUID:xWp.default.randomUUID};function jVD(e,t,r){if(Qtc.randomUUID&&!t&&!e)return Qtc.randomUUID();e=e||{};let i=e.random||(e.rng||Gtc)();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 zWp(i)}var Iae=jVD;var wVD="id",SVD=".fern",NAa=class{posthog;userId;constructor({token:t,posthogApiKey:r}){this.posthog=new n7n(r),this.userId=t==null?void 0:tJs(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.63.14",...t,...t.properties}})}async flush(){await this.posthog.flush()}persistedDistinctId;async getPersistedDistinctId(){if(this.persistedDistinctId==null){let t=Vu($l.of((0,RWp.homedir)()),Qa.of(SVD),Qa.of(wVD));await Cf(t)||(await(0,a7n.mkdir)((0,NWp.dirname)(t),{recursive:!0}),await(0,a7n.writeFile)(t,Iae())),this.persistedDistinctId=(await(0,a7n.readFile)(t)).toString()}return this.persistedDistinctId}};var Jtc;async function o7n(){return Jtc==null&&(Jtc=await DVD()),Jtc}async function DVD(){try{let e="phc_yQgAEdJJkVpI24NdSRID2mor1x1leRpDoC9yZ9mfXal",t=process.env.FERN_DISABLE_TELEMETRY==="true";if(e==null||t)return new RAa;let r=await wRo();return r!=null?new NAa({token:r,posthogApiKey:e}):await QNn()!=null?new O2o({posthogApiKey:e}):new NAa({token:void 0,posthogApiKey:e})}catch{return new RAa}}function FAa(e,t){return function(){return e.apply(t,arguments)}}var{toString:EVD}=Object.prototype,{getPrototypeOf:Ytc}=Object,w2o=(e=>t=>{let r=EVD.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),qWt=e=>(e=e.toLowerCase(),t=>w2o(t)===e),S2o=e=>t=>typeof t===e,{isArray:u7n}=Array,LAa=S2o("undefined");function MVD(e){return e!==null&&!LAa(e)&&e.constructor!==null&&!LAa(e.constructor)&&oMe(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var LWp=qWt("ArrayBuffer");function AVD(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&LWp(e.buffer),t}var qVD=S2o("string"),oMe=S2o("function"),UWp=S2o("number"),D2o=e=>e!==null&&typeof e=="object",TVD=e=>e===!0||e===!1,j2o=e=>{if(w2o(e)!=="object")return!1;let t=Ytc(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},CVD=qWt("Date"),BVD=qWt("File"),IVD=qWt("Blob"),zVD=qWt("FileList"),xVD=e=>D2o(e)&&oMe(e.pipe),RVD=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||oMe(e.append)&&((t=w2o(e))==="formdata"||t==="object"&&oMe(e.toString)&&e.toString()==="[object FormData]"))},NVD=qWt("URLSearchParams"),[FVD,LVD,UVD,VVD]=["ReadableStream","Request","Response","Headers"].map(qWt),WVD=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function UAa(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let i,n;if(typeof e!="object"&&(e=[e]),u7n(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 VWp(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 lGi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,WWp=e=>!LAa(e)&&e!==lGi;function Ktc(){let{caseless:e}=WWp(this)&&this||{},t={},r=(i,n)=>{let a=e&&VWp(t,n)||n;j2o(t[a])&&j2o(i)?t[a]=Ktc(t[a],i):j2o(i)?t[a]=Ktc({},i):u7n(i)?t[a]=i.slice():t[a]=i};for(let i=0,n=arguments.length;i<n;i++)arguments[i]&&UAa(arguments[i],r);return t}var HVD=(e,t,r,{allOwnKeys:i}={})=>(UAa(t,(n,a)=>{r&&oMe(n)?e[a]=FAa(n,r):e[a]=n},{allOwnKeys:i}),e),$VD=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),GVD=(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)},QVD=(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&&Ytc(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},JVD=(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},KVD=e=>{if(!e)return null;if(u7n(e))return e;let t=e.length;if(!UWp(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},YVD=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Ytc(Uint8Array)),XVD=(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])}},ZVD=(e,t)=>{let r,i=[];for(;(r=e.exec(t))!==null;)i.push(r);return i},kVD=qWt("HTMLFormElement"),eWD=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,i,n){return i.toUpperCase()+n}),FWp=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),tWD=qWt("RegExp"),HWp=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),i={};UAa(r,(n,a)=>{let u;(u=t(n,a,e))!==!1&&(i[a]=u||n)}),Object.defineProperties(e,i)},rWD=e=>{HWp(e,(t,r)=>{if(oMe(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let i=e[r];if(oMe(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+"'")})}})},iWD=(e,t)=>{let r={},i=n=>{n.forEach(a=>{r[a]=!0})};return u7n(e)?i(e):i(String(e).split(t)),r},nWD=()=>{},aWD=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function oWD(e){return!!(e&&oMe(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}var uWD=e=>{let t=new Array(10),r=(i,n)=>{if(D2o(i)){if(t.indexOf(i)>=0)return;if(!("toJSON"in i)){t[n]=i;let a=u7n(i)?[]:{};return UAa(i,(u,l)=>{let d=r(u,n+1);!LAa(d)&&(a[l]=d)}),t[n]=void 0,a}}return i};return r(e,0)},sWD=qWt("AsyncFunction"),cWD=e=>e&&(D2o(e)||oMe(e))&&oMe(e.then)&&oMe(e.catch),$Wp=((e,t)=>e?setImmediate:t?((r,i)=>(lGi.addEventListener("message",({source:n,data:a})=>{n===lGi&&a===r&&i.length&&i.shift()()},!1),n=>{i.push(n),lGi.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",oMe(lGi.postMessage)),lWD=typeof queueMicrotask<"u"?queueMicrotask.bind(lGi):typeof process<"u"&&process.nextTick||$Wp,_s={isArray:u7n,isArrayBuffer:LWp,isBuffer:MVD,isFormData:RVD,isArrayBufferView:AVD,isString:qVD,isNumber:UWp,isBoolean:TVD,isObject:D2o,isPlainObject:j2o,isReadableStream:FVD,isRequest:LVD,isResponse:UVD,isHeaders:VVD,isUndefined:LAa,isDate:CVD,isFile:BVD,isBlob:IVD,isRegExp:tWD,isFunction:oMe,isStream:xVD,isURLSearchParams:NVD,isTypedArray:YVD,isFileList:zVD,forEach:UAa,merge:Ktc,extend:HVD,trim:WVD,stripBOM:$VD,inherits:GVD,toFlatObject:QVD,kindOf:w2o,kindOfTest:qWt,endsWith:JVD,toArray:KVD,forEachEntry:XVD,matchAll:ZVD,isHTMLForm:kVD,hasOwnProperty:FWp,hasOwnProp:FWp,reduceDescriptors:HWp,freezeMethods:rWD,toObjectSet:iWD,toCamelCase:eWD,noop:nWD,toFiniteNumber:aWD,findKey:VWp,global:lGi,isContextDefined:WWp,isSpecCompliantForm:oWD,toJSONObject:uWD,isAsyncFn:sWD,isThenable:cWD,setImmediate:$Wp,asap:lWD};function s7n(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)}_s.inherits(s7n,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:_s.toJSONObject(this.config),code:this.code,status:this.status}}});var GWp=s7n.prototype,QWp={};["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=>{QWp[e]={value:e}});Object.defineProperties(s7n,QWp);Object.defineProperty(GWp,"isAxiosError",{value:!0});s7n.from=(e,t,r,i,n,a)=>{let u=Object.create(GWp);return _s.toFlatObject(e,u,function(d){return d!==Error.prototype},l=>l!=="isAxiosError"),s7n.call(u,e.message,t,r,i,n),u.cause=e,u.name=e.name,a&&Object.assign(u,a),u};var xp=s7n;var JWp=ci(uwa(),1),E2o=JWp.default;function Xtc(e){return _s.isPlainObject(e)||_s.isArray(e)}function YWp(e){return _s.endsWith(e,"[]")?e.slice(0,-2):e}function KWp(e,t,r){return e?e.concat(t).map(function(n,a){return n=YWp(n),!r&&a?"["+n+"]":n}).join(r?".":""):t}function fWD(e){return _s.isArray(e)&&!e.some(Xtc)}var dWD=_s.toFlatObject(_s,{},null,function(t){return/^is[A-Z]/.test(t)});function pWD(e,t,r){if(!_s.isObject(e))throw new TypeError("target must be an object");t=t||new(E2o||FormData),r=_s.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,P){return!_s.isUndefined(P[m])});let i=r.metaTokens,n=r.visitor||o,a=r.dots,u=r.indexes,d=(r.Blob||typeof Blob<"u"&&Blob)&&_s.isSpecCompliantForm(t);if(!_s.isFunction(n))throw new TypeError("visitor must be a function");function s(O){if(O===null)return"";if(_s.isDate(O))return O.toISOString();if(!d&&_s.isBlob(O))throw new xp("Blob is not supported. Use a Buffer instead.");return _s.isArrayBuffer(O)||_s.isTypedArray(O)?d&&typeof Blob=="function"?new Blob([O]):Buffer.from(O):O}function o(O,m,P){let E=O;if(O&&!P&&typeof O=="object"){if(_s.endsWith(m,"{}"))m=i?m:m.slice(0,-2),O=JSON.stringify(O);else if(_s.isArray(O)&&fWD(O)||(_s.isFileList(O)||_s.endsWith(m,"[]"))&&(E=_s.toArray(O)))return m=YWp(m),E.forEach(function(M,D){!(_s.isUndefined(M)||M===null)&&t.append(u===!0?KWp([m],D,a):u===null?m:m+"[]",s(M))}),!1}return Xtc(O)?!0:(t.append(KWp(P,m,a),s(O)),!1)}let c=[],b=Object.assign(dWD,{defaultVisitor:o,convertValue:s,isVisitable:Xtc});function g(O,m){if(!_s.isUndefined(O)){if(c.indexOf(O)!==-1)throw Error("Circular reference detected in "+m.join("."));c.push(O),_s.forEach(O,function(E,q){(!(_s.isUndefined(E)||E===null)&&n.call(t,E,_s.isString(q)?q.trim():q,m,b))===!0&&g(E,m?m.concat(q):[q])}),c.pop()}}if(!_s.isObject(e))throw new TypeError("data must be an object");return g(e),t}var YDi=pWD;function XWp(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(i){return t[i]})}function ZWp(e,t){this._pairs=[],e&&YDi(e,this,t)}var kWp=ZWp.prototype;kWp.append=function(t,r){this._pairs.push([t,r])};kWp.toString=function(t){let r=t?function(i){return t.call(this,i,XWp)}:XWp;return this._pairs.map(function(n){return r(n[0])+"="+r(n[1])},"").join("&")};var eHp=ZWp;function _WD(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function fGi(e,t,r){if(!t)return e;let i=r&&r.encode||_WD;_s.isFunction(r)&&(r={serialize:r});let n=r&&r.serialize,a;if(n?a=n(t,r):a=_s.isURLSearchParams(t)?t.toString():new eHp(t,r).toString(i),a){let u=e.indexOf("#");u!==-1&&(e=e.slice(0,u)),e+=(e.indexOf("?")===-1?"?":"&")+a}return e}var Ztc=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){_s.forEach(this.handlers,function(i){i!==null&&t(i)})}},ktc=Ztc;var c7n={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var nHp=ci(require("crypto"),1);var tHp=ci(require("url"),1),rHp=tHp.default.URLSearchParams;var erc="abcdefghijklmnopqrstuvwxyz",iHp="0123456789",aHp={DIGIT:iHp,ALPHA:erc,ALPHA_DIGIT:erc+erc.toUpperCase()+iHp},hWD=(e=16,t=aHp.ALPHA_DIGIT)=>{let r="",{length:i}=t,n=new Uint32Array(e);nHp.default.randomFillSync(n);for(let a=0;a<e;a++)r+=t[n[a]%i];return r},oHp={isNode:!0,classes:{URLSearchParams:rHp,FormData:E2o,Blob:typeof Blob<"u"&&Blob||null},ALPHABET:aHp,generateString:hWD,protocols:["http","https","file","data"]};var irc={};jo(irc,{hasBrowserEnv:()=>rrc,hasStandardBrowserEnv:()=>yWD,hasStandardBrowserWebWorkerEnv:()=>vWD,navigator:()=>trc,origin:()=>bWD});var rrc=typeof window<"u"&&typeof document<"u",trc=typeof navigator=="object"&&navigator||void 0,yWD=rrc&&(!trc||["ReactNative","NativeScript","NS"].indexOf(trc.product)<0),vWD=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",bWD=rrc&&window.location.href||"http://localhost";var sA={...irc,...oHp};function nrc(e,t){return YDi(e,new sA.classes.URLSearchParams,Object.assign({visitor:function(r,i,n,a){return sA.isNode&&_s.isBuffer(r)?(this.append(i,r.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)}},t))}function gWD(e){return _s.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function OWD(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 mWD(e){function t(r,i,n,a){let u=r[a++];if(u==="__proto__")return!0;let l=Number.isFinite(+u),d=a>=r.length;return u=!u&&_s.isArray(n)?n.length:u,d?(_s.hasOwnProp(n,u)?n[u]=[n[u],i]:n[u]=i,!l):((!n[u]||!_s.isObject(n[u]))&&(n[u]=[]),t(r,i,n[u],a)&&_s.isArray(n[u])&&(n[u]=OWD(n[u])),!l)}if(_s.isFormData(e)&&_s.isFunction(e.entries)){let r={};return _s.forEachEntry(e,(i,n)=>{t(gWD(i),n,r,0)}),r}return null}var M2o=mWD;function PWD(e,t,r){if(_s.isString(e))try{return(t||JSON.parse)(e),_s.trim(e)}catch(i){if(i.name!=="SyntaxError")throw i}return(r||JSON.stringify)(e)}var arc={transitional:c7n,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){let i=r.getContentType()||"",n=i.indexOf("application/json")>-1,a=_s.isObject(t);if(a&&_s.isHTMLForm(t)&&(t=new FormData(t)),_s.isFormData(t))return n?JSON.stringify(M2o(t)):t;if(_s.isArrayBuffer(t)||_s.isBuffer(t)||_s.isStream(t)||_s.isFile(t)||_s.isBlob(t)||_s.isReadableStream(t))return t;if(_s.isArrayBufferView(t))return t.buffer;if(_s.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 nrc(t,this.formSerializer).toString();if((l=_s.isFileList(t))||i.indexOf("multipart/form-data")>-1){let d=this.env&&this.env.FormData;return YDi(l?{"files[]":t}:t,d&&new d,this.formSerializer)}}return a||n?(r.setContentType("application/json",!1),PWD(t)):t}],transformResponse:[function(t){let r=this.transitional||arc.transitional,i=r&&r.forcedJSONParsing,n=this.responseType==="json";if(_s.isResponse(t)||_s.isReadableStream(t))return t;if(t&&_s.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"?xp.from(l,xp.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:sA.classes.FormData,Blob:sA.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};_s.forEach(["delete","get","head","post","put","patch"],e=>{arc.headers[e]={}});var l7n=arc;var jWD=_s.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"]),uHp=e=>{let t={},r,i,n;return e&&e.split(`
1708
1708
  `).forEach(function(u){n=u.indexOf(":"),r=u.substring(0,n).trim().toLowerCase(),i=u.substring(n+1).trim(),!(!r||t[r]&&jWD[r])&&(r==="set-cookie"?t[r]?t[r].push(i):t[r]=[i]:t[r]=t[r]?t[r]+", "+i:i)}),t};var sHp=Symbol("internals");function VAa(e){return e&&String(e).trim().toLowerCase()}function A2o(e){return e===!1||e==null?e:_s.isArray(e)?e.map(A2o):String(e)}function wWD(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 SWD=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function orc(e,t,r,i,n){if(_s.isFunction(i))return i.call(this,t,r);if(n&&(t=r),!!_s.isString(t)){if(_s.isString(i))return t.indexOf(i)!==-1;if(_s.isRegExp(i))return i.test(t)}}function DWD(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,i)=>r.toUpperCase()+i)}function EWD(e,t){let r=_s.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 f7n=class{constructor(t){t&&this.set(t)}set(t,r,i){let n=this;function a(l,d,s){let o=VAa(d);if(!o)throw new Error("header name must be a non-empty string");let c=_s.findKey(n,o);(!c||n[c]===void 0||s===!0||s===void 0&&n[c]!==!1)&&(n[c||d]=A2o(l))}let u=(l,d)=>_s.forEach(l,(s,o)=>a(s,o,d));if(_s.isPlainObject(t)||t instanceof this.constructor)u(t,r);else if(_s.isString(t)&&(t=t.trim())&&!SWD(t))u(uHp(t),r);else if(_s.isHeaders(t))for(let[l,d]of t.entries())a(d,l,i);else t!=null&&a(r,t,i);return this}get(t,r){if(t=VAa(t),t){let i=_s.findKey(this,t);if(i){let n=this[i];if(!r)return n;if(r===!0)return wWD(n);if(_s.isFunction(r))return r.call(this,n,i);if(_s.isRegExp(r))return r.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,r){if(t=VAa(t),t){let i=_s.findKey(this,t);return!!(i&&this[i]!==void 0&&(!r||orc(this,this[i],i,r)))}return!1}delete(t,r){let i=this,n=!1;function a(u){if(u=VAa(u),u){let l=_s.findKey(i,u);l&&(!r||orc(i,i[l],l,r))&&(delete i[l],n=!0)}}return _s.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||orc(this,this[a],a,t,!0))&&(delete this[a],n=!0)}return n}normalize(t){let r=this,i={};return _s.forEach(this,(n,a)=>{let u=_s.findKey(i,a);if(u){r[u]=A2o(n),delete r[a];return}let l=t?DWD(a):String(a).trim();l!==a&&delete r[a],r[l]=A2o(n),i[l]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){let r=Object.create(null);return _s.forEach(this,(i,n)=>{i!=null&&i!==!1&&(r[n]=t&&_s.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(`
1709
1709
  `)}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[sHp]=this[sHp]={accessors:{}}).accessors,n=this.prototype;function a(u){let l=VAa(u);i[l]||(EWD(n,u),i[l]=!0)}return _s.isArray(t)?t.forEach(a):a(t),this}};f7n.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);_s.reduceDescriptors(f7n.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(i){this[r]=i}}});_s.freezeMethods(f7n);var hR=f7n;function WAa(e,t){let r=this||l7n,i=t||r,n=hR.from(i.headers),a=i.data;return _s.forEach(e,function(l){a=l.call(r,a,n.normalize(),t?t.status:void 0)}),n.normalize(),a}function HAa(e){return!!(e&&e.__CANCEL__)}function cHp(e,t,r){xp.call(this,e??"canceled",xp.ERR_CANCELED,t,r),this.name="CanceledError"}_s.inherits(cHp,xp,{__CANCEL__:!0});var uMe=cHp;function Prr(e,t,r){let i=r.config.validateStatus;!r.status||!i||i(r.status)?e(r):t(new xp("Request failed with status code "+r.status,[xp.ERR_BAD_REQUEST,xp.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function urc(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function src(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function dGi(e,t,r){let i=!urc(t);return e&&i||r==!1?src(e,t):t}var SHp=ci(SAa(),1),DHp=ci(require("http"),1),EHp=ci(require("https"),1),MHp=ci(require("util"),1),AHp=ci(htc(),1),tdi=ci(require("zlib"),1);var pGi="1.8.2";function $Aa(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}var MWD=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;function crc(e,t,r){let i=r&&r.Blob||sA.classes.Blob,n=$Aa(e);if(t===void 0&&i&&(t=!0),n==="data"){e=n.length?e.slice(n.length+1):e;let a=MWD.exec(e);if(!a)throw new xp("Invalid URL",xp.ERR_INVALID_URL);let u=a[1],l=a[2],d=a[3],s=Buffer.from(decodeURIComponent(d),l?"base64":"utf8");if(t){if(!i)throw new xp("Blob is not supported",xp.ERR_NOT_SUPPORT);return new i([s],{type:u})}return s}throw new xp("Unsupported protocol "+n,xp.ERR_NOT_SUPPORT)}var _Gi=ci(require("stream"),1);var lHp=ci(require("stream"),1);var lrc=Symbol("internals"),frc=class extends lHp.default.Transform{constructor(t){t=_s.toFlatObject(t,{maxRate:0,chunkSize:64*1024,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,(i,n)=>!_s.isUndefined(n[i])),super({readableHighWaterMark:t.chunkSize});let r=this[lrc]={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[lrc];return r.onReadCallback&&r.onReadCallback(),super._read(t)}_transform(t,r,i){let n=this[lrc],a=n.maxRate,u=this.readableHighWaterMark,l=n.timeWindow,d=1e3/l,s=a/d,o=n.minChunkSize!==!1?Math.max(n.minChunkSize,s*.01):0,c=(g,O)=>{let m=Buffer.byteLength(g);n.bytesSeen+=m,n.bytes+=m,n.isCaptured&&this.emit("progress",n.bytesSeen),this.push(g)?process.nextTick(O):n.onReadCallback=()=>{n.onReadCallback=null,process.nextTick(O)}},b=(g,O)=>{let m=Buffer.byteLength(g),P=null,E=u,q,M=0;if(a){let D=Date.now();(!n.ts||(M=D-n.ts)>=l)&&(n.ts=D,q=s-n.bytes,n.bytes=q<0?-q:0,M=0),q=s-n.bytes}if(a){if(q<=0)return setTimeout(()=>{O(null,g)},l-M);q<E&&(E=q)}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)})}},drc=frc;var qHp=require("events");var dHp=ci(require("util"),1),pHp=require("stream");var{asyncIterator:fHp}=Symbol,AWD=async function*(e){e.stream?yield*e.stream():e.arrayBuffer?yield await e.arrayBuffer():e[fHp]?yield*e[fHp]():yield e},q2o=AWD;var qWD=sA.ALPHABET.ALPHA_DIGIT+"-_",GAa=typeof TextEncoder=="function"?new TextEncoder:new dHp.default.TextEncoder,XDi=`\r
1710
1710
  `,TWD=GAa.encode(XDi),CWD=2,prc=class{constructor(t,r){let{escapeName:i}=this.constructor,n=_s.isString(r),a=`Content-Disposition: form-data; name="${i(t)}"${!n&&r.name?`; filename="${i(r.name)}"`:""}${XDi}`;n?r=GAa.encode(String(r).replace(/\r?\n|\r\n?/g,XDi)):a+=`Content-Type: ${r.type||"application/octet-stream"}${XDi}`,this.headers=GAa.encode(a+XDi),this.contentLength=n?r.byteLength:r.size,this.size=this.headers.byteLength+this.contentLength+CWD,this.name=t,this.value=r}async*encode(){yield this.headers;let{value:t}=this;_s.isTypedArray(t)?yield t:yield*q2o(t),yield TWD}static escapeName(t){return String(t).replace(/[\r\n"]/g,r=>({"\r":"%0D","\n":"%0A",'"':"%22"})[r])}},BWD=(e,t,r)=>{let{tag:i="form-data-boundary",size:n=25,boundary:a=i+"-"+sA.generateString(n,qWD)}=r||{};if(!_s.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=GAa.encode("--"+a+XDi),l=GAa.encode("--"+a+"--"+XDi+XDi),d=l.byteLength,s=Array.from(e.entries()).map(([c,b])=>{let g=new prc(c,b);return d+=g.size,g});d+=u.byteLength*s.length,d=_s.toFiniteNumber(d);let o={"Content-Type":`multipart/form-data; boundary=${a}`};return Number.isFinite(d)&&(o["Content-Length"]=d),t&&t(o),pHp.Readable.from(async function*(){for(let c of s)yield u,yield*c.encode();yield l}())},_Hp=BWD;var hHp=ci(require("stream"),1),_rc=class extends hHp.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)}},yHp=_rc;var IWD=(e,t)=>_s.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,vHp=IWD;function zWD(e,t){e=e||10;let r=new Array(e),i=new Array(e),n=0,a=0,u;return t=t!==void 0?t:1e3,function(d){let s=Date.now(),o=i[a];u||(u=s),r[n]=d,i[n]=s;let c=a,b=0;for(;c!==n;)b+=r[c++],c=c%e;if(n=(n+1)%e,n===a&&(a=(a+1)%e),s-u<t)return;let g=o&&s-o;return g?Math.round(b*1e3/g):void 0}}var bHp=zWD;function xWD(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 gHp=xWD;var edi=(e,t,r=3)=>{let i=0,n=bHp(50,250);return gHp(a=>{let u=a.loaded,l=a.lengthComputable?a.total:void 0,d=u-i,s=n(d),o=u<=l;i=u;let c={loaded:u,total:l,progress:l?u/l:void 0,bytes:d,rate:s||void 0,estimated:s&&l&&o?(l-u)/s:void 0,event:a,lengthComputable:l!=null,[t?"download":"upload"]:!0};e(c)},r)},d7n=(e,t)=>{let r=e!=null;return[i=>t[0]({lengthComputable:r,total:e,loaded:i}),t[1]]},p7n=e=>(...t)=>_s.asap(()=>e(...t));var OHp={flush:tdi.default.constants.Z_SYNC_FLUSH,finishFlush:tdi.default.constants.Z_SYNC_FLUSH},RWD={flush:tdi.default.constants.BROTLI_OPERATION_FLUSH,finishFlush:tdi.default.constants.BROTLI_OPERATION_FLUSH},mHp=_s.isFunction(tdi.default.createBrotliDecompress),{http:NWD,https:FWD}=AHp.default,LWD=/https:?/,PHp=sA.protocols.map(e=>e+":"),jHp=(e,[t,r])=>(e.on("end",r).on("error",r),t);function UWD(e,t){e.beforeRedirects.proxy&&e.beforeRedirects.proxy(e),e.beforeRedirects.config&&e.beforeRedirects.config(e,t)}function THp(e,t,r){let i=t;if(!i&&i!==!1){let n=SHp.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){THp(a,t,a.href)}}var VWD=typeof process<"u"&&_s.kindOf(process)==="process",WWD=e=>new Promise((t,r)=>{let i,n,a=(d,s)=>{n||(n=!0,i&&i(d,s))},u=d=>{a(d),t(d)},l=d=>{a(d,!0),r(d)};e(u,l,d=>i=d).catch(l)}),HWD=({address:e,family:t})=>{if(!_s.isString(e))throw TypeError("address must be a string");return{address:e,family:t||(e.indexOf(".")<0?6:4)}},wHp=(e,t)=>HWD(_s.isObject(e)?e:{address:e,family:t}),CHp=VWD&&function(t){return WWD(async function(i,n,a){let{data:u,lookup:l,family:d}=t,{responseType:s,responseEncoding:o}=t,c=t.method.toUpperCase(),b,g=!1,O;if(l){let Se=vHp(l,Qe=>_s.isArray(Qe)?Qe:[Qe]);l=(Qe,Dt,Ee)=>{Se(Qe,Dt,(Te,zt,Pe)=>{if(Te)return Ee(Te);let at=_s.isArray(zt)?zt.map(it=>wHp(it)):[wHp(zt,Pe)];Dt.all?Ee(Te,at):Ee(Te,at[0].address,at[0].family)})}}let m=new qHp.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 uMe(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 q=dGi(t.baseURL,t.url,t.allowAbsoluteUrls),M=new URL(q,sA.hasBrowserEnv?sA.origin:void 0),D=M.protocol||PHp[0];if(D==="data:"){let Se;if(c!=="GET")return Prr(i,n,{status:405,statusText:"method not allowed",headers:{},config:t});try{Se=crc(t.url,s==="blob",{Blob:t.env&&t.env.Blob})}catch(Qe){throw xp.from(Qe,xp.ERR_BAD_REQUEST,t)}return s==="text"?(Se=Se.toString(o),(!o||o==="utf8")&&(Se=_s.stripBOM(Se))):s==="stream"&&(Se=_Gi.default.Readable.from(Se)),Prr(i,n,{data:Se,status:200,statusText:"OK",headers:new hR,config:t})}if(PHp.indexOf(D)===-1)return n(new xp("Unsupported protocol "+D,xp.ERR_BAD_REQUEST,t));let C=hR.from(t.headers).normalize();C.set("User-Agent","axios/"+pGi,!1);let{onUploadProgress:x,onDownloadProgress:$}=t,I=t.maxRate,L,V;if(_s.isSpecCompliantForm(u)){let Se=C.getContentType(/boundary=([-_\w\d]{10,70})/i);u=_Hp(u,Qe=>{C.set(Qe)},{tag:`axios-${pGi}-boundary`,boundary:Se&&Se[1]||void 0})}else if(_s.isFormData(u)&&_s.isFunction(u.getHeaders)){if(C.set(u.getHeaders()),!C.hasContentLength())try{let Se=await MHp.default.promisify(u.getLength).call(u);Number.isFinite(Se)&&Se>=0&&C.setContentLength(Se)}catch{}}else if(_s.isBlob(u)||_s.isFile(u))u.size&&C.setContentType(u.type||"application/octet-stream"),C.setContentLength(u.size||0),u=_Gi.default.Readable.from(q2o(u));else if(u&&!_s.isStream(u)){if(!Buffer.isBuffer(u))if(_s.isArrayBuffer(u))u=Buffer.from(new Uint8Array(u));else if(_s.isString(u))u=Buffer.from(u,"utf-8");else return n(new xp("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",xp.ERR_BAD_REQUEST,t));if(C.setContentLength(u.length,!1),t.maxBodyLength>-1&&u.length>t.maxBodyLength)return n(new xp("Request body larger than maxBodyLength limit",xp.ERR_BAD_REQUEST,t))}let X=_s.toFiniteNumber(C.getContentLength());_s.isArray(I)?(L=I[0],V=I[1]):L=V=I,u&&(x||L)&&(_s.isStream(u)||(u=_Gi.default.Readable.from(u,{objectMode:!1})),u=_Gi.default.pipeline([u,new drc({maxRate:_s.toFiniteNumber(L)})],_s.noop),x&&u.on("progress",jHp(u,d7n(X,edi(p7n(x),!1,3)))));let K;if(t.auth){let Se=t.auth.username||"",Qe=t.auth.password||"";K=Se+":"+Qe}if(!K&&M.username){let Se=M.username,Qe=M.password;K=Se+":"+Qe}K&&C.delete("authorization");let Z;try{Z=fGi(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)}C.set("Accept-Encoding","gzip, compress, deflate"+(mHp?", br":""),!1);let fe={path:Z,method:c,headers:C.toJSON(),agents:{http:t.httpAgent,https:t.httpsAgent},auth:K,protocol:D,family:d,beforeRedirect:UWD,beforeRedirects:{}};!_s.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,THp(fe,t.proxy,D+"//"+M.hostname+(M.port?":"+M.port:"")+fe.path));let me,_e=LWD.test(fe.protocol);if(fe.agent=_e?t.httpsAgent:t.httpAgent,t.transport?me=t.transport:t.maxRedirects===0?me=_e?EHp.default:DHp.default:(t.maxRedirects&&(fe.maxRedirects=t.maxRedirects),t.beforeRedirect&&(fe.beforeRedirects.config=t.beforeRedirect),me=_e?FWD:NWD),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 it=new drc({maxRate:_s.toFiniteNumber(V)});$&&it.on("progress",jHp(it,d7n(Ee,edi(p7n($),!0,3)))),Dt.push(it)}let Te=Qe,zt=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(tdi.default.createUnzip(OHp)),delete Qe.headers["content-encoding"];break;case"deflate":Dt.push(new yHp),Dt.push(tdi.default.createUnzip(OHp)),delete Qe.headers["content-encoding"];break;case"br":mHp&&(Dt.push(tdi.default.createBrotliDecompress(RWD)),delete Qe.headers["content-encoding"])}Te=Dt.length>1?_Gi.default.pipeline(Dt,_s.noop):Dt[0];let Pe=_Gi.default.finished(Te,()=>{Pe(),P()}),at={status:Qe.statusCode,statusText:Qe.statusMessage,headers:new hR(Qe.headers),config:t,request:zt};if(s==="stream")at.data=Te,Prr(i,n,at);else{let it=[],be=0;Te.on("data",function(bt){it.push(bt),be+=bt.length,t.maxContentLength>-1&&be>t.maxContentLength&&(g=!0,Te.destroy(),n(new xp("maxContentLength size of "+t.maxContentLength+" exceeded",xp.ERR_BAD_RESPONSE,t,zt)))}),Te.on("aborted",function(){if(g)return;let bt=new xp("stream has been aborted",xp.ERR_BAD_RESPONSE,t,zt);Te.destroy(bt),n(bt)}),Te.on("error",function(bt){O.destroyed||n(xp.from(bt,null,t,zt))}),Te.on("end",function(){try{let bt=it.length===1?it[0]:Buffer.concat(it);s!=="arraybuffer"&&(bt=bt.toString(o),(!o||o==="utf8")&&(bt=_s.stripBOM(bt))),at.data=bt}catch(bt){return n(xp.from(bt,null,t,at.request,at))}Prr(i,n,at)})}m.once("abort",it=>{Te.destroyed||(Te.emit("error",it),Te.destroy())})}),m.once("abort",Se=>{n(Se),O.destroy(Se)}),O.on("error",function(Qe){n(xp.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 xp("error trying to parse `config.timeout` to int",xp.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||c7n;t.timeoutErrorMessage&&(Dt=t.timeoutErrorMessage),n(new xp(Dt,Ee.clarifyTimeoutError?xp.ETIMEDOUT:xp.ECONNABORTED,t,O)),E()})}if(_s.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 uMe("Request stream has been aborted",t,O))}),u.pipe(O)}else O.end(u)})};var BHp=sA.hasStandardBrowserEnv?((e,t)=>r=>(r=new URL(r,sA.origin),e.protocol===r.protocol&&e.host===r.host&&(t||e.port===r.port)))(new URL(sA.origin),sA.navigator&&/(msie|trident)/i.test(sA.navigator.userAgent)):()=>!0;var IHp=sA.hasStandardBrowserEnv?{write(e,t,r,i,n,a){let u=[e+"="+encodeURIComponent(t)];_s.isNumber(r)&&u.push("expires="+new Date(r).toGMTString()),_s.isString(i)&&u.push("path="+i),_s.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 zHp=e=>e instanceof hR?{...e}:e;function TWt(e,t){t=t||{};let r={};function i(s,o,c,b){return _s.isPlainObject(s)&&_s.isPlainObject(o)?_s.merge.call({caseless:b},s,o):_s.isPlainObject(o)?_s.merge({},o):_s.isArray(o)?o.slice():o}function n(s,o,c,b){if(_s.isUndefined(o)){if(!_s.isUndefined(s))return i(void 0,s,c,b)}else return i(s,o,c,b)}function a(s,o){if(!_s.isUndefined(o))return i(void 0,o)}function u(s,o){if(_s.isUndefined(o)){if(!_s.isUndefined(s))return i(void 0,s)}else return i(void 0,o)}function l(s,o,c){if(c in t)return i(s,o);if(c in e)return i(void 0,s)}let d={url:a,method:a,data:a,baseURL:u,transformRequest:u,transformResponse:u,paramsSerializer:u,timeout:u,timeoutMessage:u,withCredentials:u,withXSRFToken:u,adapter:u,responseType:u,xsrfCookieName:u,xsrfHeaderName:u,onUploadProgress:u,onDownloadProgress:u,decompress:u,maxContentLength:u,maxBodyLength:u,beforeRedirect:u,transport:u,httpAgent:u,httpsAgent:u,cancelToken:u,socketPath:u,responseEncoding:u,validateStatus:l,headers:(s,o,c)=>n(zHp(s),zHp(o),c,!0)};return _s.forEach(Object.keys(Object.assign({},e,t)),function(o){let c=d[o]||n,b=c(e[o],t[o],o);_s.isUndefined(b)&&c!==l||(r[o]=b)}),r}var T2o=e=>{let t=TWt({},e),{data:r,withXSRFToken:i,xsrfHeaderName:n,xsrfCookieName:a,headers:u,auth:l}=t;t.headers=u=hR.from(u),t.url=fGi(dGi(t.baseURL,t.url),e.params,e.paramsSerializer),l&&u.set("Authorization","Basic "+btoa((l.username||"")+":"+(l.password?unescape(encodeURIComponent(l.password)):"")));let d;if(_s.isFormData(r)){if(sA.hasStandardBrowserEnv||sA.hasStandardBrowserWebWorkerEnv)u.setContentType(void 0);else if((d=u.getContentType())!==!1){let[s,...o]=d?d.split(";").map(c=>c.trim()).filter(Boolean):[];u.setContentType([s||"multipart/form-data",...o].join("; "))}}if(sA.hasStandardBrowserEnv&&(i&&_s.isFunction(i)&&(i=i(t)),i||i!==!1&&BHp(t.url))){let s=n&&a&&IHp.read(a);s&&u.set(n,s)}return t};var $WD=typeof XMLHttpRequest<"u",xHp=$WD&&function(e){return new Promise(function(r,i){let n=T2o(e),a=n.data,u=hR.from(n.headers).normalize(),{responseType:l,onUploadProgress:d,onDownloadProgress:s}=n,o,c,b,g,O;function m(){g&&g(),O&&O(),n.cancelToken&&n.cancelToken.unsubscribe(o),n.signal&&n.signal.removeEventListener("abort",o)}let P=new XMLHttpRequest;P.open(n.method.toUpperCase(),n.url,!0),P.timeout=n.timeout;function E(){if(!P)return;let M=hR.from("getAllResponseHeaders"in P&&P.getAllResponseHeaders()),C={data:!l||l==="text"||l==="json"?P.responseText:P.response,status:P.status,statusText:P.statusText,headers:M,config:e,request:P};Prr(function($){r($),m()},function($){i($),m()},C),P=null}"onloadend"in P?P.onloadend=E:P.onreadystatechange=function(){!P||P.readyState!==4||P.status===0&&!(P.responseURL&&P.responseURL.indexOf("file:")===0)||setTimeout(E)},P.onabort=function(){P&&(i(new xp("Request aborted",xp.ECONNABORTED,e,P)),P=null)},P.onerror=function(){i(new xp("Network Error",xp.ERR_NETWORK,e,P)),P=null},P.ontimeout=function(){let D=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded",C=n.transitional||c7n;n.timeoutErrorMessage&&(D=n.timeoutErrorMessage),i(new xp(D,C.clarifyTimeoutError?xp.ETIMEDOUT:xp.ECONNABORTED,e,P)),P=null},a===void 0&&u.setContentType(null),"setRequestHeader"in P&&_s.forEach(u.toJSON(),function(D,C){P.setRequestHeader(C,D)}),_s.isUndefined(n.withCredentials)||(P.withCredentials=!!n.withCredentials),l&&l!=="json"&&(P.responseType=n.responseType),s&&([b,O]=edi(s,!0),P.addEventListener("progress",b)),d&&P.upload&&([c,g]=edi(d),P.upload.addEventListener("progress",c),P.upload.addEventListener("loadend",g)),(n.cancelToken||n.signal)&&(o=M=>{P&&(i(!M||M.type?new uMe(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 q=$Aa(n.url);if(q&&sA.protocols.indexOf(q)===-1){i(new xp("Unsupported protocol "+q+":",xp.ERR_BAD_REQUEST,e));return}P.send(a||null)})};var GWD=(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 xp?o:new uMe(o instanceof Error?o.message:o))}},u=t&&setTimeout(()=>{u=null,a(new xp(`timeout ${t} of ms exceeded`,xp.ETIMEDOUT))},t),l=()=>{e&&(u&&clearTimeout(u),u=null,e.forEach(s=>{s.unsubscribe?s.unsubscribe(a):s.removeEventListener("abort",a)}),e=null)};e.forEach(s=>s.addEventListener("abort",a));let{signal:d}=i;return d.unsubscribe=()=>_s.asap(l),d}},RHp=GWD;var QWD=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},JWD=async function*(e,t){for await(let r of KWD(e))yield*QWD(r,t)},KWD=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()}},hrc=(e,t,r,i)=>{let n=JWD(e,t),a=0,u,l=d=>{u||(u=!0,i&&i(d))};return new ReadableStream({async pull(d){try{let{done:s,value:o}=await n.next();if(s){l(),d.close();return}let c=o.byteLength;if(r){let b=a+=c;r(b)}d.enqueue(new Uint8Array(o))}catch(s){throw l(s),s}},cancel(d){return l(d),n.return()}},{highWaterMark:2})};var B2o=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",FHp=B2o&&typeof ReadableStream=="function",YWD=B2o&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),LHp=(e,...t)=>{try{return!!e(...t)}catch{return!1}},XWD=FHp&&LHp(()=>{let e=!1,t=new Request(sA.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),NHp=64*1024,yrc=FHp&&LHp(()=>_s.isReadableStream(new Response("").body)),C2o={stream:yrc&&(e=>e.body)};B2o&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!C2o[t]&&(C2o[t]=_s.isFunction(e[t])?r=>r[t]():(r,i)=>{throw new xp(`Response type '${t}' is not supported`,xp.ERR_NOT_SUPPORT,i)})})})(new Response);var ZWD=async e=>{if(e==null)return 0;if(_s.isBlob(e))return e.size;if(_s.isSpecCompliantForm(e))return(await new Request(sA.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(_s.isArrayBufferView(e)||_s.isArrayBuffer(e))return e.byteLength;if(_s.isURLSearchParams(e)&&(e=e+""),_s.isString(e))return(await YWD(e)).byteLength},kWD=async(e,t)=>{let r=_s.toFiniteNumber(e.getContentLength());return r??ZWD(t)},UHp=B2o&&(async e=>{let{url:t,method:r,data:i,signal:n,cancelToken:a,timeout:u,onDownloadProgress:l,onUploadProgress:d,responseType:s,headers:o,withCredentials:c="same-origin",fetchOptions:b}=T2o(e);s=s?(s+"").toLowerCase():"text";let g=RHp([n,a&&a.toAbortSignal()],u),O,m=g&&g.unsubscribe&&(()=>{g.unsubscribe()}),P;try{if(d&&XWD&&r!=="get"&&r!=="head"&&(P=await kWD(o,i))!==0){let C=new Request(t,{method:"POST",body:i,duplex:"half"}),x;if(_s.isFormData(i)&&(x=C.headers.get("content-type"))&&o.setContentType(x),C.body){let[$,I]=d7n(P,edi(p7n(d)));i=hrc(C.body,NHp,$,I)}}_s.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 q=await fetch(O),M=yrc&&(s==="stream"||s==="response");if(yrc&&(l||M&&m)){let C={};["status","statusText","headers"].forEach(L=>{C[L]=q[L]});let x=_s.toFiniteNumber(q.headers.get("content-length")),[$,I]=l&&d7n(x,edi(p7n(l),!0))||[];q=new Response(hrc(q.body,NHp,$,()=>{I&&I(),m&&m()}),C)}s=s||"text";let D=await C2o[_s.findKey(C2o,s)||"text"](q,e);return!M&&m&&m(),await new Promise((C,x)=>{Prr(C,x,{data:D,headers:hR.from(q.headers),status:q.status,statusText:q.statusText,config:e,request:O})})}catch(E){throw m&&m(),E&&E.name==="TypeError"&&/fetch/i.test(E.message)?Object.assign(new xp("Network Error",xp.ERR_NETWORK,e,O),{cause:E.cause||E}):xp.from(E,E&&E.code,e,O)}});var vrc={http:CHp,xhr:xHp,fetch:UHp};_s.forEach(vrc,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});var VHp=e=>`- ${e}`,eHD=e=>_s.isFunction(e)||e===null||e===!1,I2o={getAdapter:e=>{e=_s.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,!eHD(r)&&(i=vrc[(u=String(r)).toLowerCase()],i===void 0))throw new xp(`Unknown adapter '${u}'`);if(i)break;n[u||"#"+a]=i}if(!i){let a=Object.entries(n).map(([l,d])=>`adapter ${l} `+(d===!1?"is not supported by the environment":"is not available in the build")),u=t?a.length>1?`since :
@@ -1943,7 +1943,7 @@ ${M}${q}${D}${Rd_.default.cursorHide}`});var jIa=ci(C1i(),1);function opc(e,t){i
1943
1943
  Run ${Gs.cyan("fern generator upgrade")} to upgrade your generators.`),n.length>2&&(r+=`
1944
1944
  Run ${Gs.cyan("fern generator upgrade --list")} to see the full list of generator upgrades available.`),h7n(r,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"})}async function vpc({generatorUpgradeInfo:e,header:t,limit:r,includeBoxen:i=!0}){if(!up_(e))return;let n=t??"",a=e.filter(l=>l.isUpgradeAvailable);r!=null&&(a=a.slice(0,r+1));let u=a.sort((l,d)=>l.generatorName.localeCompare(d.generatorName)||l.currentVersion.localeCompare(d.currentVersion));for(let l of u)n+=`
1945
1945
  ${await WgE(l.generatorName)} (${l.apiName!=null?"API: "+l.apiName+", ":""}Group: ${l.generatorGroup}) `+Gs.dim(l.currentVersion)+Gs.reset(" \u2192 ")+Gs.green(l.latestVersion);return n+=`
1946
- `,i?h7n(n,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):n}async function WgE(e){let r=await new op_.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 HgE({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){if(t.length===1){let l={type:"singleApi",versions:{}};return await cp_({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(d,s,o,c)=>{l.versions[s]==null&&(l.versions[s]={});let b=T1i(o.name,c),g=await Akt({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 cp_({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(l,d,s,o)=>{if(l==null)return;u.versions[l]==null&&(u.versions[l]={}),u.versions[l][d]==null&&(u.versions[l][d]={});let c=T1i(s.name,o),b=await Akt({generatorName:c,cliVersion:e.environment.packageVersion,currentGeneratorVersion:s.version,channel:n,includeMajor:a,context:o});b!=null&&(u.versions[l][d][s.name]={previousVersion:s.version,latestVersion:b})},generatorFilter:r,groupFilter:i}),u}async function cp_({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 kVt({absolutePathToWorkspace:a.absoluteFilePath,context:u});if(!(l==null||l.groups==null)){for(let d of l.groups)if(!(n!=null&&d.groupName!==n))for(let s of d.generators)i!=null&&s.name!==i||await r(a.workspaceName,d.groupName,s,u)}})}))}function lp_(e,t,r){let i=[];for(let[n,a]of Object.entries(e))for(let[u,l]of Object.entries(a)){r.debug(`Checking if ${u} in group ${n} has an upgrade available...`);let d=$ae(l.latestVersion,l.previousVersion);r.debug(`Latest version: ${l.latestVersion}. `+(d?"Upgrade available.":"No upgrade available.")),i.push({generatorName:u,generatorGroup:n,apiName:t,isUpgradeAvailable:d,currentVersion:l.previousVersion,latestVersion:l.latestVersion})}return i}async function zHo({project:e,cliContext:t,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){let u=[];if(e!=null){let l=await HgE({cliContext:t,project:e,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a});if(l.type==="multiApi")for(let[d,s]of Object.entries(l.versions))u.push(...lp_(s,d,t.logger));else u.push(...lp_(l.versions,void 0,t.logger))}return u}var TIa=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 J2n=class extends Error{request;constructor(t){super(`Request timed out: ${t.method} ${t.url}`),this.name="TimeoutError",this.request=t}};var K2n=e=>e!==null&&typeof e=="object";var CIa=(...e)=>{for(let t of e)if((!K2n(t)||Array.isArray(t))&&t!==void 0)throw new TypeError("The `options` argument must be an object");return Opc({},...e)},bpc=(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 xHo(e,t,r){return Object.hasOwn(t,r)&&t[r]===void 0?[]:Opc(e[r]??[],t[r]??[])}var gpc=(e={},t={})=>({beforeRequest:xHo(e,t,"beforeRequest"),beforeRetry:xHo(e,t,"beforeRetry"),afterResponse:xHo(e,t,"afterResponse"),beforeError:xHo(e,t,"beforeError")}),Opc=(...e)=>{let t={},r={},i={};for(let n of e)if(Array.isArray(n))Array.isArray(t)||(t=[]),t=[...t,...n];else if(K2n(n)){for(let[a,u]of Object.entries(n))K2n(u)&&a in t&&(u=Opc(t[a],u)),t={...t,[a]:u};K2n(n.hooks)&&(i=gpc(i,n.hooks),t.hooks=i),K2n(n.headers)&&(r=bpc(r,n.headers),t.headers=r)}return t};var fp_=(()=>{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})(),dp_=typeof globalThis.AbortController=="function",pp_=typeof globalThis.ReadableStream=="function",_p_=typeof globalThis.FormData=="function",RHo=["get","post","put","patch","head","delete"],$gE=()=>{};$gE();var hp_={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},NHo=2147483647,FHo=Symbol("stop"),yp_={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},vp_={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 gp_=e=>RHo.includes(e)?e.toUpperCase():e,GgE=["get","put","head","delete","options","trace"],QgE=[408,413,429,500,502,503,504],JgE=[413,429,503],bp_={limit:2,methods:GgE,statusCodes:QgE,afterStatusCodes:JgE,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:e=>.3*2**(e-1)*1e3},Op_=(e={})=>{if(typeof e=="number")return{...bp_,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{...bp_,...e}};async function mpc(e,t,r,i){return new Promise((n,a)=>{let u=setTimeout(()=>{r&&r.abort(),a(new J2n(e))},i.timeout);i.fetch(e,t).then(n).catch(a).then(()=>{clearTimeout(u)})})}async function Ppc(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 mp_=(e,t)=>{let r={};for(let i in t)!(i in vp_)&&!(i in yp_)&&!(i in e)&&(r[i]=t[i]);return r};var BIa=class e{static create(t,r){let i=new e(t,r),n=async()=>{if(typeof i._options.timeout=="number"&&i._options.timeout>NHo)throw new RangeError(`The \`timeout\` option cannot be greater than ${NHo}`);await Promise.resolve();let l=await i._fetch();for(let d of i._options.hooks.afterResponse){let s=await d(i.request,i._options,i._decorateResponse(l.clone()));s instanceof globalThis.Response&&(l=s)}if(i._decorateResponse(l),!l.ok&&i._options.throwHttpErrors){let d=new TIa(l,i.request,i._options);for(let s of i._options.hooks.beforeError)d=await s(d);throw d}if(i._options.onDownloadProgress){if(typeof i._options.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!pp_)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return i._stream(l.clone(),i._options.onDownloadProgress)}return l},u=i._options.retry.methods.includes(i.request.method.toLowerCase())?i._retry(n):n();for(let[l,d]of Object.entries(hp_))u[l]=async()=>{i.request.headers.set("accept",i.request.headers.get("accept")||d);let o=(await u).clone();if(l==="json"){if(o.status===204||(await o.clone().arrayBuffer()).byteLength===0)return"";if(r.parseJson)return r.parseJson(await o.text())}return o[l]()};return u}request;abortController;_retryCount=0;_input;_options;constructor(t,r={}){if(this._input=t,this._options={...r,headers:bpc(this._input.headers,r.headers),hooks:gpc({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},r.hooks),method:gp_(r.method??this._input.method),prefixUrl:String(r.prefixUrl||""),retry:Op_(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(dp_){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(fp_&&(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);(_p_&&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 J2n)throw t;if(t instanceof TIa){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),NHo);if(this._retryCount<1)throw r;await Ppc(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})===FHo)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=mp_(this.request,this._options),r=this.request;return this.request=r.clone(),this._options.timeout===!1?this._options.fetch(r,t):mpc(r,t,this.abortController,this._options)}_stream(t,r){let i=Number(t.headers.get("content-length"))||0,n=0;return t.status===204?(r&&r({percent:1,totalBytes:i,transferredBytes:n},new Uint8Array),new globalThis.Response(null,{status:t.status,statusText:t.statusText,headers:t.headers})):new globalThis.Response(new globalThis.ReadableStream({async start(a){let u=t.body.getReader();r&&r({percent:0,transferredBytes:0,totalBytes:i},new Uint8Array);async function l(){let{done:d,value:s}=await u.read();if(d){a.close();return}if(r){n+=s.byteLength;let o=i===0?0:n/i;r({percent:o,transferredBytes:n,totalBytes:i},s)}a.enqueue(s),await l()}await l()}}),{status:t.status,statusText:t.statusText,headers:t.headers})}};var jpc=e=>{let t=(r,i)=>BIa.create(r,CIa(e,i));for(let r of RHo)t[r]=(i,n)=>BIa.create(i,CIa(e,n,{method:r}));return t.create=r=>jpc(CIa(r)),t.extend=r=>(typeof r=="function"&&(r=r(e??{})),jpc(CIa(e,r))),t.stop=FHo,t},KgE=jpc(),Pp_=KgE;var $p_=ci(Hp_(),1);function Mpc(e){let t=(0,$p_.default)("npm",{registry:"https://registry.npmjs.org/"}),r=t[`${e}:registry`]||t.config_registry||t.registry;return r.slice(-1)==="/"?r:`${r}/`}var F__=ci(N__(),1),L__=ci(C1i(),1),Vpc=class extends Error{constructor(t){super(`Package \`${t}\` could not be found`),this.name="PackageNotFoundError"}},Wpc=class extends Error{constructor(t,r){super(`Version \`${r}\` for package \`${t}\` could not be found`),this.name="VersionNotFoundError"}};async function Hpc(e,t={}){let{version:r="latest"}=t,{omitDeprecated:i=!0}=t,n=e.split("/")[0],a=t.registryUrl??Mpc(n),u=new URL(encodeURIComponent(e).replace(/^%40/,"@"),a),l=(0,F__.default)(a.toString(),{recursive:!0}),d={accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"};t.fullMetadata&&delete d.accept,l&&(d.authorization=`${l.type} ${l.token}`);let s;try{s=await Pp_(u,{headers:d,keepalive:!0}).json()}catch(c){throw c?.response?.status===404?new Vpc(e):c}if(t.allVersions)return s;let o=new Wpc(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=L__.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 FIa(e,t){let{version:r}=await Hpc(e.toLowerCase(),t);return r}async function mMi({cliEnvironment:e,includePreReleases:t=!1}){return e.packageName!=="fern-api"?e.packageVersion:FIa(e.packageName,{version:t?"prerelease":"latest"})}var U__=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],XHo=class{environment;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=Pb.Info;isLocal;constructor(t,r,{isLocal:i}){this.ttyAwareLogger=new IHo(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.63.11-rc0"}getCliName(){return"fern"}setLogLevel(t){this.logLevel=t}logDebugInfo(){this.logger.debug(`Running ${Gs.bold(`${this.environment.cliName}`)} (${this.environment.packageName}@${this.environment.packageVersion})`)}failAndThrow(t,r){throw this.failWithoutThrowing(t,r),new w9}failWithoutThrowing(t,r){this.didSucceed=!1,qHo({message:t,error:r,logger:this.logger})}async exit({code:t}={}){(!this._suppressUpgradeMessage||!this.isLocal)&&await this.nudgeUpgradeIfAvailable(),this.ttyAwareLogger.finish(),await(await o7n()).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 sp_({cliEnvironment:this.environment,upgradeInfo:t});r!=null&&(r.endsWith(`
1946
+ `,i?h7n(n,{padding:1,float:"center",textAlignment:"center",borderColor:"yellow",borderStyle:"round"}):n}async function WgE(e){let r=await new op_.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 HgE({cliContext:e,project:{apiWorkspaces:t},generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){if(t.length===1){let l={type:"singleApi",versions:{}};return await cp_({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(d,s,o,c)=>{l.versions[s]==null&&(l.versions[s]={});let b=T1i(o.name,c),g=await Akt({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 cp_({cliContext:e,apiWorkspaces:t,perGeneratorAction:async(l,d,s,o)=>{if(l==null)return;u.versions[l]==null&&(u.versions[l]={}),u.versions[l][d]==null&&(u.versions[l][d]={});let c=T1i(s.name,o),b=await Akt({generatorName:c,cliVersion:e.environment.packageVersion,currentGeneratorVersion:s.version,channel:n,includeMajor:a,context:o});b!=null&&(u.versions[l][d][s.name]={previousVersion:s.version,latestVersion:b})},generatorFilter:r,groupFilter:i}),u}async function cp_({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 kVt({absolutePathToWorkspace:a.absoluteFilePath,context:u});if(!(l==null||l.groups==null)){for(let d of l.groups)if(!(n!=null&&d.groupName!==n))for(let s of d.generators)i!=null&&s.name!==i||await r(a.workspaceName,d.groupName,s,u)}})}))}function lp_(e,t,r){let i=[];for(let[n,a]of Object.entries(e))for(let[u,l]of Object.entries(a)){r.debug(`Checking if ${u} in group ${n} has an upgrade available...`);let d=$ae(l.latestVersion,l.previousVersion);r.debug(`Latest version: ${l.latestVersion}. `+(d?"Upgrade available.":"No upgrade available.")),i.push({generatorName:u,generatorGroup:n,apiName:t,isUpgradeAvailable:d,currentVersion:l.previousVersion,latestVersion:l.latestVersion})}return i}async function zHo({project:e,cliContext:t,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a}){let u=[];if(e!=null){let l=await HgE({cliContext:t,project:e,generatorFilter:r,groupFilter:i,channel:n,includeMajor:a});if(l.type==="multiApi")for(let[d,s]of Object.entries(l.versions))u.push(...lp_(s,d,t.logger));else u.push(...lp_(l.versions,void 0,t.logger))}return u}var TIa=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 J2n=class extends Error{request;constructor(t){super(`Request timed out: ${t.method} ${t.url}`),this.name="TimeoutError",this.request=t}};var K2n=e=>e!==null&&typeof e=="object";var CIa=(...e)=>{for(let t of e)if((!K2n(t)||Array.isArray(t))&&t!==void 0)throw new TypeError("The `options` argument must be an object");return Opc({},...e)},bpc=(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 xHo(e,t,r){return Object.hasOwn(t,r)&&t[r]===void 0?[]:Opc(e[r]??[],t[r]??[])}var gpc=(e={},t={})=>({beforeRequest:xHo(e,t,"beforeRequest"),beforeRetry:xHo(e,t,"beforeRetry"),afterResponse:xHo(e,t,"afterResponse"),beforeError:xHo(e,t,"beforeError")}),Opc=(...e)=>{let t={},r={},i={};for(let n of e)if(Array.isArray(n))Array.isArray(t)||(t=[]),t=[...t,...n];else if(K2n(n)){for(let[a,u]of Object.entries(n))K2n(u)&&a in t&&(u=Opc(t[a],u)),t={...t,[a]:u};K2n(n.hooks)&&(i=gpc(i,n.hooks),t.hooks=i),K2n(n.headers)&&(r=bpc(r,n.headers),t.headers=r)}return t};var fp_=(()=>{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})(),dp_=typeof globalThis.AbortController=="function",pp_=typeof globalThis.ReadableStream=="function",_p_=typeof globalThis.FormData=="function",RHo=["get","post","put","patch","head","delete"],$gE=()=>{};$gE();var hp_={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},NHo=2147483647,FHo=Symbol("stop"),yp_={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},vp_={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 gp_=e=>RHo.includes(e)?e.toUpperCase():e,GgE=["get","put","head","delete","options","trace"],QgE=[408,413,429,500,502,503,504],JgE=[413,429,503],bp_={limit:2,methods:GgE,statusCodes:QgE,afterStatusCodes:JgE,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:e=>.3*2**(e-1)*1e3},Op_=(e={})=>{if(typeof e=="number")return{...bp_,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{...bp_,...e}};async function mpc(e,t,r,i){return new Promise((n,a)=>{let u=setTimeout(()=>{r&&r.abort(),a(new J2n(e))},i.timeout);i.fetch(e,t).then(n).catch(a).then(()=>{clearTimeout(u)})})}async function Ppc(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 mp_=(e,t)=>{let r={};for(let i in t)!(i in vp_)&&!(i in yp_)&&!(i in e)&&(r[i]=t[i]);return r};var BIa=class e{static create(t,r){let i=new e(t,r),n=async()=>{if(typeof i._options.timeout=="number"&&i._options.timeout>NHo)throw new RangeError(`The \`timeout\` option cannot be greater than ${NHo}`);await Promise.resolve();let l=await i._fetch();for(let d of i._options.hooks.afterResponse){let s=await d(i.request,i._options,i._decorateResponse(l.clone()));s instanceof globalThis.Response&&(l=s)}if(i._decorateResponse(l),!l.ok&&i._options.throwHttpErrors){let d=new TIa(l,i.request,i._options);for(let s of i._options.hooks.beforeError)d=await s(d);throw d}if(i._options.onDownloadProgress){if(typeof i._options.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!pp_)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return i._stream(l.clone(),i._options.onDownloadProgress)}return l},u=i._options.retry.methods.includes(i.request.method.toLowerCase())?i._retry(n):n();for(let[l,d]of Object.entries(hp_))u[l]=async()=>{i.request.headers.set("accept",i.request.headers.get("accept")||d);let o=(await u).clone();if(l==="json"){if(o.status===204||(await o.clone().arrayBuffer()).byteLength===0)return"";if(r.parseJson)return r.parseJson(await o.text())}return o[l]()};return u}request;abortController;_retryCount=0;_input;_options;constructor(t,r={}){if(this._input=t,this._options={...r,headers:bpc(this._input.headers,r.headers),hooks:gpc({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},r.hooks),method:gp_(r.method??this._input.method),prefixUrl:String(r.prefixUrl||""),retry:Op_(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(dp_){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(fp_&&(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);(_p_&&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 J2n)throw t;if(t instanceof TIa){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),NHo);if(this._retryCount<1)throw r;await Ppc(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})===FHo)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=mp_(this.request,this._options),r=this.request;return this.request=r.clone(),this._options.timeout===!1?this._options.fetch(r,t):mpc(r,t,this.abortController,this._options)}_stream(t,r){let i=Number(t.headers.get("content-length"))||0,n=0;return t.status===204?(r&&r({percent:1,totalBytes:i,transferredBytes:n},new Uint8Array),new globalThis.Response(null,{status:t.status,statusText:t.statusText,headers:t.headers})):new globalThis.Response(new globalThis.ReadableStream({async start(a){let u=t.body.getReader();r&&r({percent:0,transferredBytes:0,totalBytes:i},new Uint8Array);async function l(){let{done:d,value:s}=await u.read();if(d){a.close();return}if(r){n+=s.byteLength;let o=i===0?0:n/i;r({percent:o,transferredBytes:n,totalBytes:i},s)}a.enqueue(s),await l()}await l()}}),{status:t.status,statusText:t.statusText,headers:t.headers})}};var jpc=e=>{let t=(r,i)=>BIa.create(r,CIa(e,i));for(let r of RHo)t[r]=(i,n)=>BIa.create(i,CIa(e,n,{method:r}));return t.create=r=>jpc(CIa(r)),t.extend=r=>(typeof r=="function"&&(r=r(e??{})),jpc(CIa(e,r))),t.stop=FHo,t},KgE=jpc(),Pp_=KgE;var $p_=ci(Hp_(),1);function Mpc(e){let t=(0,$p_.default)("npm",{registry:"https://registry.npmjs.org/"}),r=t[`${e}:registry`]||t.config_registry||t.registry;return r.slice(-1)==="/"?r:`${r}/`}var F__=ci(N__(),1),L__=ci(C1i(),1),Vpc=class extends Error{constructor(t){super(`Package \`${t}\` could not be found`),this.name="PackageNotFoundError"}},Wpc=class extends Error{constructor(t,r){super(`Version \`${r}\` for package \`${t}\` could not be found`),this.name="VersionNotFoundError"}};async function Hpc(e,t={}){let{version:r="latest"}=t,{omitDeprecated:i=!0}=t,n=e.split("/")[0],a=t.registryUrl??Mpc(n),u=new URL(encodeURIComponent(e).replace(/^%40/,"@"),a),l=(0,F__.default)(a.toString(),{recursive:!0}),d={accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"};t.fullMetadata&&delete d.accept,l&&(d.authorization=`${l.type} ${l.token}`);let s;try{s=await Pp_(u,{headers:d,keepalive:!0}).json()}catch(c){throw c?.response?.status===404?new Vpc(e):c}if(t.allVersions)return s;let o=new Wpc(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=L__.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 FIa(e,t){let{version:r}=await Hpc(e.toLowerCase(),t);return r}async function mMi({cliEnvironment:e,includePreReleases:t=!1}){return e.packageName!=="fern-api"?e.packageVersion:FIa(e.packageName,{version:t?"prerelease":"latest"})}var U__=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],XHo=class{environment;didSucceed=!0;numTasks=0;ttyAwareLogger;logLevel=Pb.Info;isLocal;constructor(t,r,{isLocal:i}){this.ttyAwareLogger=new IHo(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.63.14"}getCliName(){return"fern"}setLogLevel(t){this.logLevel=t}logDebugInfo(){this.logger.debug(`Running ${Gs.bold(`${this.environment.cliName}`)} (${this.environment.packageName}@${this.environment.packageVersion})`)}failAndThrow(t,r){throw this.failWithoutThrowing(t,r),new w9}failWithoutThrowing(t,r){this.didSucceed=!1,qHo({message:t,error:r,logger:this.logger})}async exit({code:t}={}){(!this._suppressUpgradeMessage||!this.isLocal)&&await this.nudgeUpgradeIfAvailable(),this.ttyAwareLogger.finish(),await(await o7n()).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 sp_({cliEnvironment:this.environment,upgradeInfo:t});r!=null&&(r.endsWith(`
1947
1947
  `)||(r+=`
1948
1948
  `),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=b3s(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 wIa(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 w9}finally{i.finish()}return n}async instrumentPostHogEvent(t){this.isLocal||(await o7n()).sendEvent(t)}logger=GXt((t,...r)=>this.log(t,...r));stderr=GXt((t,...r)=>this.logStderr(t,...r));constructTaskInitForWorkspace(t){let r=V__(t.type==="docs"?"docs":t.workspaceName??"api"),i=1+(this.longestWorkspaceName!=null?V__(this.longestWorkspaceName):r).length,n=r.padEnd(i),a=U__[this.numTasks++%U__.length],u=Gs.hex(a)(n);return{...this.constructTaskInit(),logPrefix:u}}constructTaskInit(){return{logImmediately:t=>this.logImmediately(t),takeOverTerminal:t=>this.ttyAwareLogger.takeOverTerminal(t),onResult:t=>{t===AB.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=>Jwi.indexOf(n.level)>=Jwi.indexOf(this.logLevel));this.ttyAwareLogger.log(i,{includeDebugInfo:this.logLevel===Pb.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 mMi({cliEnvironment:this.environment,includePreReleases:t}),i=$ae(r,this.environment.packageVersion);this.logger.debug(`Latest version: ${r}. `+(i?"Upgrade available.":"No upgrade available."));let n={isUpgradeAvailable:i,latestVersion:r},a=await zHo({project:this.project,cliContext:this});this._isUpgradeAvailable={cliUpgradeInfo:n,generatorUpgradeInfo:a}}return this._isUpgradeAvailable}async confirmPrompt(t,r=!1){return await epc({message:t,default:r})}async getInput(t){return await tpc({message:t.message,default:t.default})}};function V__(e){return`[${e}]:`}var MI_=require("fs/promises");function vFe({breadcrumbs:e=[],title:t,subtitle:r}){let i=[];return e.length>0&&i.push(Gs.blue(e.join(" -> "))),i.push(t),r!=null&&i.push(Gs.dim(r)),i.join(`
1949
1949
  `)}var bM_=require("fs/promises");var sHt=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 DMe=class extends sHt{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 LIa=class{context;constructor(t){this.context=t}};var ZHo=class e{files={};directories={};getAllFiles(){let t={},r=(i,n)=>{for(let[u,l]of Object.entries(i.files)){let d=n!=null?yy.of(`${n}${bVt}${u}`):yy.of(u);t[d]=l}let a=Object.keys(i.directories).sort();for(let u of a){let l=n!=null?`${n}${bVt}${u}`:u,d=i.directories[u];r(d,l)}};return r(this),t}getOrCreateFile(t){return this.getOrCreateFileRecursive(t.split(bVt))}getOrCreateFileRecursive(t){if(t.length===1)return this.files[yy.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 vJi=class{enableUniqueErrorsPerEndpoint;root;rootApiFile;packageMarkerFile={};basePath=void 0;constructor(t){this.enableUniqueErrorsPerEndpoint=t,this.root=new ZHo,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 $kt(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"]))W__(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(W__(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??T_((zxe(r)+"/"+uWi(r,{stripExtension:!0})).replaceAll("__package__","root"));if(t===yy.of(i3))return this.rootApiFile.imports==null&&(this.rootApiFile.imports={}),this.rootApiFile.imports[n]=zjo(zxe(yzn.of(`/${t}`)),yzn.of(`/${r}`)),n;let a=this.getOrCreateFile(t);return a.imports==null&&(a.imports={}),a.imports[n]=zjo(zxe(yzn.of(`/${t}`)),yzn.of(`/${r}`)),n}addType(t,{name:r,schema:i}){if(t===yy.of(i3))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=>OEe(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=WN(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:WN(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:WN(r,u.path)}]))})}return{rootApiFile:this.rootApiFile,packageMarkerFile:this.packageMarkerFile,definitionFiles:t}}getOrCreateFile(t){return t===zS?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 W__(e){return e?.header!=null}var Gae={openapi:e=>({...e,type:"openapi",_visit:function(t){return Gae._visit(this,t)}}),protobuf:e=>({...e,type:"protobuf",_visit:function(t){return Gae._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 r8n={protobuf:e=>({...e,type:"protobuf",_visit:function(t){return r8n._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"protobuf":return t.protobuf(e);default:return t._other(e)}}};var nL={basic:e=>({...e,type:"basic",_visit:function(t){return nL._visit(this,t)}}),bearer:e=>({...e,type:"bearer",_visit:function(t){return nL._visit(this,t)}}),header:e=>({...e,type:"header",_visit:function(t){return nL._visit(this,t)}}),query:e=>({...e,type:"query",_visit:function(t){return nL._visit(this,t)}}),oauth:e=>({...e,type:"oauth",_visit:function(t){return nL._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 vO={primitive:e=>({value:e,type:"primitive",_visit:function(t){return vO._visit(this,t)}}),object:e=>({...e,type:"object",_visit:function(t){return vO._visit(this,t)}}),array:e=>({value:e,type:"array",_visit:function(t){return vO._visit(this,t)}}),map:e=>({value:e,type:"map",_visit:function(t){return vO._visit(this,t)}}),enum:e=>({value:e,type:"enum",_visit:function(t){return vO._visit(this,t)}}),literal:e=>({value:e,type:"literal",_visit:function(t){return vO._visit(this,t)}}),oneOf:e=>({value:e,type:"oneOf",_visit:function(t){return vO._visit(this,t)}}),unknown:e=>({value:e,type:"unknown",_visit:function(t){return vO._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 w_={int:e=>({value:e,type:"int",_visit:function(t){return w_._visit(this,t)}}),int64:e=>({value:e,type:"int64",_visit:function(t){return w_._visit(this,t)}}),uint:e=>({value:e,type:"uint",_visit:function(t){return w_._visit(this,t)}}),uint64:e=>({value:e,type:"uint64",_visit:function(t){return w_._visit(this,t)}}),float:e=>({value:e,type:"float",_visit:function(t){return w_._visit(this,t)}}),double:e=>({value:e,type:"double",_visit:function(t){return w_._visit(this,t)}}),string:e=>({value:e,type:"string",_visit:function(t){return w_._visit(this,t)}}),datetime:e=>({value:e,type:"datetime",_visit:function(t){return w_._visit(this,t)}}),date:e=>({value:e,type:"date",_visit:function(t){return w_._visit(this,t)}}),base64:e=>({value:e,type:"base64",_visit:function(t){return w_._visit(this,t)}}),boolean:e=>({value:e,type:"boolean",_visit:function(t){return w_._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 i8n={boolean:e=>({value:e,type:"boolean",_visit:function(t){return i8n._visit(this,t)}}),string:e=>({value:e,type:"string",_visit:function(t){return i8n._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 PMi={discriminated:e=>({value:e,type:"discriminated",_visit:function(t){return PMi._visit(this,t)}}),undiscriminated:e=>({value:e,type:"undiscriminated",_visit:function(t){return PMi._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 eH={GenerallyAvailable:"GenerallyAvailable",Beta:"Beta",Deprecated:"Deprecated",_visit:(e,t)=>{switch(e){case eH.GenerallyAvailable:return t.generallyAvailable();case eH.Beta:return t.beta();case eH.Deprecated:return t.deprecated();default:return t._other()}}};var bFe={cursor:e=>({...e,type:"cursor",_visit:function(t){return bFe._visit(this,t)}}),offset:e=>({...e,type:"offset",_visit:function(t){return bFe._visit(this,t)}}),custom:e=>({...e,type:"custom",_visit:function(t){return bFe._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 Hdi={language:e=>({...e,type:"language",_visit:function(t){return Hdi._visit(this,t)}}),sdk:e=>({...e,type:"sdk",_visit:function(t){return Hdi._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 tH={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 tH.Curl:return t.curl();case tH.Python:return t.python();case tH.Javascript:return t.javascript();case tH.Typescript:return t.typescript();case tH.Go:return t.go();case tH.Ruby:return t.ruby();case tH.Csharp:return t.csharp();case tH.Java:return t.java();case tH.Js:return t.js();case tH.Node:return t.node();case tH.Ts:return t.ts();case tH.Nodets:return t.nodets();case tH.Golang:return t.golang();case tH.Dotnet:return t.dotnet();case tH.Jvm:return t.jvm();default:return t._other()}}};var cHt={unknown:e=>({value:e,type:"unknown",_visit:function(t){return cHt._visit(this,t)}}),full:e=>({...e,type:"full",_visit:function(t){return cHt._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 lHt={withStreaming:e=>({...e,type:"withStreaming",_visit:function(t){return lHt._visit(this,t)}}),withoutStreaming:e=>({value:e,type:"withoutStreaming",_visit:function(t){return lHt._visit(this,t)}}),_visit:(e,t)=>{switch(e.type){case"withStreaming":return t.withStreaming(e);case"withoutStreaming":return t.withoutStreaming(e.value);default:return t._other(e)}}};var rH={Get:"GET",Post:"POST",Put:"PUT",Patch:"PATCH",Delete:"DELETE",Head:"HEAD",Options:"OPTIONS",Trace:"TRACE",_visit:(e,t)=>{switch(e){case rH.Get:return t.get();case rH.Post:return t.post();case rH.Put:return t.put();case rH.Patch:return t.patch();case rH.Delete:return t.delete();case rH.Head:return t.head();case rH.Options:return t.options();case rH.Trace:return t.trace();default:return t._other()}}};var jMi={octetStream:e=>({...e,type:"octetStream",_visit:function(t){return jMi._visit(this,t)}}),multipart:e=>({...e,type:"multipart",_visit:function(t){return jMi._visit(this,t)}}),json:e=>({...e,type:"json",_visit:function(t){return jMi._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 $di={file:e=>({...e,type:"file",_visit:function(t){return $di._visit(this,t)}}),json:e=>({value:e,type:"json",_visit:function(t){return $di._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 lJ={file:e=>({...e,type:"file",_visit:function(t){return lJ._visit(this,t)}}),json:e=>({...e,type:"json",_visit:function(t){return lJ._visit(this,t)}}),text:e=>({...e,type:"text",_visit:function(t){return lJ._visit(this,t)}}),bytes:e=>({...e,type:"bytes",_visit:function(t){return lJ._visit(this,t)}}),streamingSse:e=>({...e,type:"streamingSse",_visit:function(t){return lJ._visit(this,t)}}),streamingText:e=>({...e,type:"streamingText",_visit:function(t){return lJ._visit(this,t)}}),streamingJson:e=>({...e,type:"streamingJson",_visit:function(t){return lJ._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 Fy={primitive:e=>({...e,type:"primitive",_visit:function(t){return Fy._visit(this,t)}}),object:e=>({...e,type:"object",_visit:function(t){return Fy._visit(this,t)}}),array:e=>({...e,type:"array",_visit:function(t){return Fy._visit(this,t)}}),map:e=>({...e,type:"map",_visit:function(t){return Fy._visit(this,t)}}),optional:e=>({...e,type:"optional",_visit:function(t){return Fy._visit(this,t)}}),enum:e=>({...e,type:"enum",_visit:function(t){return Fy._visit(this,t)}}),reference:e=>({...e,type:"reference",_visit:function(t){return Fy._visit(this,t)}}),literal:e=>({...e,type:"literal",_visit:function(t){return Fy._visit(this,t)}}),oneOf:e=>({value:e,type:"oneOf",_visit:function(t){return Fy._visit(this,t)}}),nullable:e=>({...e,type:"nullable",_visit:function(t){return Fy._visit(this,t)}}),unknown:e=>({...e,type:"unknown",_visit:function(t){return Fy._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 Xj={int:e=>({...e,type:"int",_visit:function(t){return Xj._visit(this,t)}}),int64:e=>({...e,type:"int64",_visit:function(t){return Xj._visit(this,t)}}),uint:()=>({type:"uint",_visit:function(e){return Xj._visit(this,e)}}),uint64:()=>({type:"uint64",_visit:function(e){return Xj._visit(this,e)}}),float:()=>({type:"float",_visit:function(e){return Xj._visit(this,e)}}),double:e=>({...e,type:"double",_visit:function(t){return Xj._visit(this,t)}}),string:e=>({...e,type:"string",_visit:function(t){return Xj._visit(this,t)}}),datetime:()=>({type:"datetime",_visit:function(e){return Xj._visit(this,e)}}),date:()=>({type:"date",_visit:function(e){return Xj._visit(this,e)}}),base64:()=>({type:"base64",_visit:function(e){return Xj._visit(this,e)}}),boolean:e=>({...e,type:"boolean",_visit:function(t){return Xj._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 vz={boolean:e=>({value:e,type:"boolean",_visit:function(t){return vz._visit(this,t)}}),string:e=>({value:e,type:"string",_visit:function(t){return vz._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 Gdi={discriminated:e=>({...e,type:"discriminated",_visit:function(t){return Gdi._visit(this,t)}}),undiscriminated:e=>({...e,type:"undiscriminated",_visit:function(t){return Gdi._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 EMe={octetStream:e=>({...e,type:"octetStream",_visit:function(t){return EMe._visit(this,t)}}),multipart:e=>({...e,type:"multipart",_visit:function(t){return EMe._visit(this,t)}}),json:e=>({...e,type:"json",_visit:function(t){return EMe._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 vC={file:e=>({...e,type:"file",_visit:function(t){return vC._visit(this,t)}}),json:e=>({...e,type:"json",_visit:function(t){return vC._visit(this,t)}}),text:e=>({...e,type:"text",_visit:function(t){return vC._visit(this,t)}}),bytes:e=>({...e,type:"bytes",_visit:function(t){return vC._visit(this,t)}}),streamingSse:e=>({...e,type:"streamingSse",_visit:function(t){return vC._visit(this,t)}}),streamingText:e=>({...e,type:"streamingText",_visit:function(t){return vC._visit(this,t)}}),streamingJson:e=>({...e,type:"streamingJson",_visit:function(t){return vC._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 zl={primitive:e=>({...e,type:"primitive",_visit:function(t){return zl._visit(this,t)}}),object:e=>({...e,type:"object",_visit:function(t){return zl._visit(this,t)}}),array:e=>({...e,type:"array",_visit:function(t){return zl._visit(this,t)}}),map:e=>({...e,type:"map",_visit:function(t){return zl._visit(this,t)}}),optional:e=>({...e,type:"optional",_visit:function(t){return zl._visit(this,t)}}),enum:e=>({...e,type:"enum",_visit:function(t){return zl._visit(this,t)}}),reference:e=>({...e,type:"reference",_visit:function(t){return zl._visit(this,t)}}),literal:e=>({...e,type:"literal",_visit:function(t){return zl._visit(this,t)}}),oneOf:e=>({value:e,type:"oneOf",_visit:function(t){return zl._visit(this,t)}}),nullable:e=>({...e,type:"nullable",_visit:function(t){return zl._visit(this,t)}}),unknown:e=>({...e,type:"unknown",_visit:function(t){return zl._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 ik={discriminated:e=>({...e,type:"discriminated",_visit:function(t){return ik._visit(this,t)}}),undiscriminated:e=>({...e,type:"undiscriminated",_visit:function(t){return ik._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 up={int:e=>({...e,type:"int",_visit:function(t){return up._visit(this,t)}}),int64:e=>({...e,type:"int64",_visit:function(t){return up._visit(this,t)}}),uint:e=>({...e,type:"uint",_visit:function(t){return up._visit(this,t)}}),uint64:e=>({...e,type:"uint64",_visit:function(t){return up._visit(this,t)}}),float:e=>({...e,type:"float",_visit:function(t){return up._visit(this,t)}}),double:e=>({...e,type:"double",_visit:function(t){return up._visit(this,t)}}),string:e=>({...e,type:"string",_visit:function(t){return up._visit(this,t)}}),datetime:e=>({...e,type:"datetime",_visit:function(t){return up._visit(this,t)}}),date:e=>({...e,type:"date",_visit:function(t){return up._visit(this,t)}}),base64:e=>({...e,type:"base64",_visit:function(t){return up._visit(this,t)}}),boolean:e=>({...e,type:"boolean",_visit:function(t){return up._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 Ev={};jo(Ev,{AllOfPropertyConflict:()=>D8n,ArraySchema:()=>_Go,ArraySchemaWithExample:()=>VGo,Availability:()=>s$o,Base64WithExample:()=>RGo,BasicSecurityScheme:()=>f$o,BearerSecurityScheme:()=>d$o,BooleanSchema:()=>sGo,BooleanWithExample:()=>NGo,BytesResponse:()=>v8n,CasingOverrides:()=>h$o,CommonProperty:()=>PGo,CommonPropertyWithExample:()=>XGo,CursorPagination:()=>$$o,CustomCodeSample:()=>W$o,CustomCodeSampleLanguage:()=>L$o,CustomCodeSampleSdk:()=>V$o,CustomPagination:()=>Q$o,DateWithExample:()=>xGo,DatetimeWithExample:()=>zGo,DiscriminatedOneOfSchema:()=>OGo,DiscriminatedOneOfSchemaWithExample:()=>KGo,DoubleSchema:()=>oGo,DoubleWithExample:()=>BGo,Encoding:()=>u$o,Endpoint:()=>J$o,EndpointExample:()=>m8n,EndpointResponseExample:()=>F$o,EndpointSdkName:()=>cir,EndpointWithExample:()=>gh_,EnumSchema:()=>u8n,EnumSchemaWithExample:()=>LGo,EnumValue:()=>DMi,ErrorExample:()=>I$o,FernExample:()=>x$o,FileResponse:()=>h8n,FileSchema:()=>E$o,FloatWithExample:()=>CGo,FullEndpointExample:()=>H$o,FullExample:()=>Hq,FullObjectExample:()=>P$o,FullOneOfExample:()=>w$o,GlobalHeader:()=>lGo,Header:()=>MMi,HeaderExample:()=>O8n,HeaderSecurityScheme:()=>p$o,HeaderWithExample:()=>TMi,HttpEndpointServer:()=>b8n,HttpError:()=>z$o,HttpErrorWithExample:()=>EGo,HttpMethod:()=>l8n,IdempotencyHeader:()=>fGo,Int64WithExample:()=>AGo,IntSchema:()=>nGo,IntWithExample:()=>MGo,JsonRequest:()=>T$o,JsonRequestWithExample:()=>wGo,JsonResponse:()=>y8n,JsonResponseWithExample:()=>A8n,KeyValuePair:()=>j$o,LiteralExample:()=>m$o,LiteralSchema:()=>S8n,LiteralSchemaValue:()=>dGo,LongSchema:()=>aGo,MapSchema:()=>hGo,MapSchemaWithExample:()=>WGo,MultipartRequest:()=>_8n,MultipartRequestProperty:()=>q$o,MultipartRequestPropertyEncoding:()=>A$o,MultipartSchema:()=>M$o,NamedFullExample:()=>fir,Namespace:()=>y$o,NamespaceId:()=>O$o,NullableSchema:()=>vGo,NullableSchemaWithExample:()=>$Go,OauthSecurityScheme:()=>b$o,ObjectProperty:()=>gGo,ObjectPropertyConflictInfo:()=>E8n,ObjectPropertyWithExample:()=>JGo,ObjectSchema:()=>pGo,ObjectSchemaWithExample:()=>GGo,OctetStreamRequest:()=>p8n,OffsetPagination:()=>G$o,OneOfSchema:()=>bGo,OneOfSchemaWithExample:()=>QGo,OpenApiIntermediateRepresentation:()=>vh_,OpenApiSource:()=>i$o,OptionalSchema:()=>yGo,OptionalSchemaWithExample:()=>HGo,Pagination:()=>P8n,PathParameter:()=>f8n,PathParameterExample:()=>R$o,PathParameterWithExample:()=>jGo,PrimitiveExample:()=>c8n,PrimitiveSchema:()=>qMi,PrimitiveSchemaValue:()=>cGo,PrimitiveSchemaValueWithExample:()=>FGo,PrimitiveSchemaWithExample:()=>q8n,PropertyKey:()=>s8n,ProtobufEncoding:()=>o$o,ProtobufSource:()=>n$o,QueryParameter:()=>d8n,QueryParameterExample:()=>g8n,QueryParameterWithExample:()=>M8n,QuerySecurityScheme:()=>_$o,ReferencedSchema:()=>lir,Request:()=>C$o,RequestWithExample:()=>SGo,Response:()=>B$o,ResponseWithExample:()=>DGo,Schema:()=>Om,SchemaId:()=>nk,SchemaWithExample:()=>pA,Schemas:()=>iGo,SdkGroup:()=>v$o,SdkGroupInfo:()=>S$o,SdkGroupName:()=>EMi,SecurityScheme:()=>g$o,SecuritySchemeId:()=>l$o,Server:()=>HIa,Source:()=>a$o,StatusCode:()=>sir,StreamingResponseExample:()=>N$o,StringSchema:()=>uGo,StringSchemaWithExample:()=>IGo,SupportedSdkLanguage:()=>U$o,Tag:()=>c$o,TagId:()=>ak,Tags:()=>D$o,TextResponse:()=>AMi,Uint64WithExample:()=>TGo,UintWithExample:()=>qGo,UnDiscriminatedOneOfSchema:()=>mGo,UnDiscriminatedOneOfSchemaWithExample:()=>YGo,UnknownSchemaWithExample:()=>UGo,Webhook:()=>K$o,WebhookExampleCall:()=>w8n,WebhookHttpMethod:()=>j8n,WebhookWithExample:()=>Oh_,WebsocketChannel:()=>rGo,WebsocketHandshake:()=>Y$o,WebsocketHandshakeWithExample:()=>bh_,WebsocketMessageExample:()=>eGo,WebsocketMessageOrigin:()=>X$o,WebsocketMessageSchema:()=>Z$o,WebsocketServer:()=>k$o,WebsocketSessionExample:()=>tGo,WithAvailability:()=>Ah,WithDescription:()=>bf,WithEncoding:()=>Qae,WithInline:()=>GE,WithName:()=>C0,WithNamespace:()=>e0,WithSdkGroupName:()=>om,WithSource:()=>Jh,WithStatusCode:()=>gFe,WithTitle:()=>am,commons:()=>Kpc,example:()=>Ypc,finalIr:()=>Xpc,parseIr:()=>Zpc});var Kpc={};jo(Kpc,{BasicSecurityScheme:()=>f$o,BearerSecurityScheme:()=>d$o,Encoding:()=>u$o,HeaderSecurityScheme:()=>p$o,Namespace:()=>y$o,NamespaceId:()=>O$o,OauthSecurityScheme:()=>b$o,OpenApiSource:()=>i$o,ProtobufEncoding:()=>o$o,ProtobufSource:()=>n$o,QuerySecurityScheme:()=>_$o,SchemaId:()=>nk,SdkGroup:()=>v$o,SdkGroupName:()=>EMi,SecurityScheme:()=>g$o,SecuritySchemeId:()=>l$o,Server:()=>HIa,Source:()=>a$o,StatusCode:()=>sir,Tag:()=>c$o,TagId:()=>ak,WithAvailability:()=>Ah,WithDescription:()=>bf,WithEncoding:()=>Qae,WithInline:()=>GE,WithName:()=>C0,WithNamespace:()=>e0,WithSdkGroupName:()=>om,WithSource:()=>Jh,WithStatusCode:()=>gFe,WithTitle:()=>am});var At={};jo(At,{JsonError:()=>n8n,ParseError:()=>a8n,any:()=>nh_,bigint:()=>$__,boolean:()=>ah_,booleanLiteral:()=>ih_,date:()=>G__,discriminant:()=>_h_,enum_:()=>e$o,getObjectLikeUtils:()=>fHt,getObjectUtils:()=>bJi,getSchemaUtils:()=>Wq,isProperty:()=>SMi,lazy:()=>Q__,lazyObject:()=>eh_,list:()=>r$o,number:()=>oh_,object:()=>t$o,objectWithoutOptionalProperties:()=>k__,optional:()=>$pc,property:()=>K__,record:()=>lh_,set:()=>fh_,string:()=>uh_,stringLiteral:()=>rh_,transform:()=>Gpc,undiscriminatedUnion:()=>ph_,union:()=>yh_,unknown:()=>sh_,withParsedProperties:()=>Jpc});var Ej={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 dA(e,t){return`Expected ${t}. Received ${emE(e)}.`}function emE(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 aL(e){return{...e,json:H__(e.json),parse:H__(e.parse)}}function H__(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,7 +1957,7 @@ plugins:
1957
1957
  - enum_type=string
1958
1958
  - default_response=false
1959
1959
  - source_root=${e}
1960
- `}async function CFe({context:e,specs:t,relativePathToDependency:r}){let i=new QXo({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=>AHE({generator:i,protobufSpec:l,relativePathToDependency:r})));return[...n,...u]}async function AHE({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 GC_=require("fs"),C9n=require("fs/promises");var QC_=require("os"),JC_=ci(require("path"),1),KC_=require("stream/promises"),YC_=ci(tko(),1),XC_=ci(fne(),1);var BPc=ci(e$i(),1);var zP;(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"})(zP||(zP={}));var aQE=Efi();async function ZC_({dependencyName:e,dependenciesConfiguration:t,context:r,rootApiFile:i,cliVersion:n,settings:a,loadAPIWorkspace:u}){let l,d={type:zP.FAILED_TO_LOAD_DEPENDENCY,dependencyName:e},s=t.dependencies[e];return s==null?d={type:zP.DEPENDENCY_NOT_LISTED,dependencyName:e}:await r.runInteractiveTask({name:`Download ${dQE(s)}`},async o=>{switch(s.type){case"version":l=await lQE({context:o,dependency:s,cliVersion:n,settings:a,loadAPIWorkspace:u});return;case"local":l=await cQE({context:o,dependency:s,cliVersion:n,settings:a,loadAPIWorkspace:u});return;default:mo(s)}}),l!=null?{didSucceed:!0,definition:l}:{didSucceed:!1,failure:d}}var kC_="dependencies";var oQE="metadata.json",uQE=".fern";function sQE(e){return Vu($l.of((0,QC_.homedir)()),Qa.of(uQE),Qa.of(kC_),Qa.of(e.organization),Qa.of(e.apiName),Qa.of(e.version))}async function cQE({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:Qa.of(e.path)},i);return t.logger.info("Loaded..."),u}async function lQE({dependency:e,context:t,cliVersion:r,settings:i,loadAPIWorkspace:n}){let a=sQE(e),u=Vu(a,Qa.of(kC_)),l=Vu(a,Qa.of(oQE)),d;if(!await Cf(u)||!await Cf(l)){t.logger.info("Downloading manifest...");let c=await aQE.definitionRegistry.get(BPc.FernFiddle.OrganizationId(e.organization),BPc.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=sJi(r),O=sJi(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,C9n.mkdir)(u,{recursive:!0});try{await fQE({s3PreSignedReadUrl:c.body.definitionS3DownloadUrl,absolutePathToLocalOutput:u})}catch(m){t.failWithoutThrowing("Failed to download API",m);return}d=c.body,await(0,C9n.writeFile)(l,JSON.stringify(d))}else d=JSON.parse((await(0,C9n.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:d.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 fQE({s3PreSignedReadUrl:e,absolutePathToLocalOutput:t}){let r=await rF.get(e,{responseType:"stream"}),i=await XC_.default.dir(),n=JC_.default.join(i.path,"api.tgz");await(0,KC_.pipeline)(r.data,(0,GC_.createWriteStream)(n)),await(0,YC_.extract)({file:n,cwd:t})}function dQE(e){switch(e.type){case"version":return`@${e.organization}/${e.apiName}`;case"local":return`${e.path}`;default:mo(e)}}var dB_=ci(aB_(),1);function rko(e,t){for(let[r,i]of t3(e))_QE({relativeFilepath:r,failure:i,logger:t})}function _QE({relativeFilepath:e,failure:t,logger:r}){switch(t.type){case zP.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 zP.FILE_READ:r.error("Failed to open file: "+e);break;case zP.FILE_MISSING:r.error("Missing file: "+e);break;case zP.FILE_PARSE:t.error instanceof vSa?r.error(vFe({title:`Failed to parse ${e}: ${t.error.reason}`,subtitle:t.error.mark.snippet})):r.error("Failed to parse file: "+e);break;case zP.STRUCTURE_VALIDATION:for(let i of t.error.issues)for(let{title:n,subtitle:a}of hQE(i))r.error(vFe({title:n,subtitle:a,breadcrumbs:[e,...i.path]}));break;case zP.FAILED_TO_LOAD_DEPENDENCY:r.error("Failed to load dependency: "+t.dependencyName);break;case zP.DEPENDENCY_NOT_LISTED:r.error(`Dependency is not listed in ${VOo}: `+t.dependencyName);break;case zP.EXPORT_PACKAGE_HAS_DEFINITIONS:r.error("Exported package contains API definitions: "+t.pathToPackage);break;case zP.EXPORTING_PACKAGE_MARKER_OTHER_KEYS:r.error(`${t.pathOfPackageMarker} has an export so it cannot define other keys.`);break;case zP.JSONSCHEMA_VALIDATION:t.error.error!=null&&r.error(vFe({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(vFe({title:i.message??"Unknown error",breadcrumbs:[e,...i.instancePath.split("/").filter(n=>n!=="")]}));break;default:mo(t)}}function hQE(e){switch(e.code){case Jl.invalid_type:return[{title:"Incorrect type",subtitle:`Expected ${Gs.underline(e.expected)} but received ${Gs.underline(e.received)}`}];case Jl.unrecognized_keys:return e.keys.map(t=>({title:"Unexpected key",subtitle:`Encountered unexpected key ${Gs.underline(t)}`}));case Jl.invalid_enum_value:return[{title:"Unrecognized value",subtitle:`Allowed values: ${e.options.map(t=>Gs.underline(t)).join(", ")}`}];case Jl.invalid_union:case Jl.invalid_arguments:case Jl.invalid_return_type:case Jl.invalid_date:case Jl.invalid_string:case Jl.too_small:case Jl.too_big:case Jl.invalid_intersection_types:case Jl.not_multiple_of:case Jl.custom:default:return[{title:e.message}]}}var oB_=require("fs/promises");async function uB_(e,t){let r=[];for(let i of await Fxe(e,t))r.push(await yQE({relativeFilepath:xq(e,i),absoluteFilepath:i}));return r}async function yQE({relativeFilepath:e,absoluteFilepath:t}){return{relativeFilepath:e,absoluteFilepath:t,fileContents:(await(0,oB_.readFile)(t)).toString()}}async function sB_(e){let t={},r={};function i(n){try{t[n.relativeFilepath]={defaultUrl:void 0,contents:qd.load(n.fileContents,{schema:qd.CORE_SCHEMA}),rawContents:n.fileContents}}catch(a){r[n.relativeFilepath]={type:zP.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 cB_({dependenciesConfiguration:e,structuralValidationResult:t,context:r,cliVersion:i,settings:n,loadAPIWorkspace:a}){let u={},l={},d={};return await Promise.all(t3(t.packageMarkers).map(async([s,o])=>{if(o.contents.export==null)u[s]=o;else{let{export:c,...b}=o.contents;if(fZ(b)>0)d[s]={type:zP.EXPORTING_PACKAGE_MARKER_OTHER_KEYS,pathOfPackageMarker:s};else{let g=Xd(s);if(uVt(t.namedDefinitionFiles).some(m=>m!==s&&m.startsWith(g)))d[s]={type:zP.EXPORT_PACKAGE_HAS_DEFINITIONS,pathToPackage:g};else{let m=await ZC_({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[Xd(s)]={definition:m.definition,url:typeof o.contents.export=="object"?o.contents.export.url:void 0}:d[s]=m.failure}}}})),fZ(d)>0?{didSucceed:!1,failures:d}:{didSucceed:!0,packageMarkers:u,importedDefinitions:l}}var lB_=ci(require("path"),1);var xPc={};jo(xPc,{additionalProperties:()=>OQE,default:()=>PQE,definitions:()=>mQE,properties:()=>bQE,required:()=>gQE,type:()=>vQE});var vQE="object",bQE={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"}]}},gQE=["name"],OQE=!1,mQE={"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}},PQE={type:vQE,properties:bQE,required:gQE,additionalProperties:OQE,definitions:mQE};var RPc={};jo(RPc,{additionalProperties:()=>SQE,default:()=>EQE,definitions:()=>DQE,properties:()=>wQE,type:()=>jQE});var jQE="object",wQE={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"}]}},SQE=!1,DQE={"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","HEAD"]},"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}},EQE={type:jQE,properties:wQE,additionalProperties:SQE,definitions:DQE};var NPc={};jo(NPc,{additionalProperties:()=>qQE,default:()=>CQE,definitions:()=>TQE,properties:()=>AQE,type:()=>MQE});var MQE="object",AQE={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"}]}},qQE=!1,TQE={"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","HEAD"]},"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"}]}},CQE={type:MQE,properties:AQE,additionalProperties:qQE,definitions:TQE};function fB_({files:e,absolutePathToDefinition:t}){let r,i={},n={},a={};for(let[u,l]of t3(e)){let d=l.contents,s=o=>{a[u]={type:zP.JSONSCHEMA_VALIDATION,error:o}};if(u===i3){let o=pVt(d,xPc);if(o.success){let c=JN.serialization.RootApiFileSchema.parseOrThrow(d);r={defaultUrl:c["default-url"],contents:c,rawContents:l.rawContents}}else s(o)}else if(lB_.default.basename(u)===zS){let o=pVt(d,NPc);if(o.success){let c=JN.serialization.PackageMarkerFileSchema.parseOrThrow(d);n[u]={defaultUrl:typeof c.export=="object"?c.export.url:void 0,contents:c,rawContents:l.rawContents}}else s(o)}else{let o=pVt(d,RPc);if(o.success){let c=JN.serialization.DefinitionFileSchema.parseOrThrow(d);i[u]={defaultUrl:void 0,contents:c,rawContents:l.rawContents,absoluteFilePath:Vu(t,u)}}else s(o)}}return r==null?{didSucceed:!1,failures:{[Qa.of(i3)]:{type:zP.FILE_MISSING},...a}}:Object.keys(a).length>0?{didSucceed:!1,failures:a}:{didSucceed:!0,namedDefinitionFiles:i,rootApiFile:r,packageMarkers:n}}var Fir=class extends sHt{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,dB_.default)(r??{}),n=this.fernWorkspaces[i];if(n==null){let a=t||this.context,u=Vu(this.absoluteFilePath,Qa.of(v9)),l=await x2s({absolutePathToWorkspace:this.absoluteFilePath,context:a}),d=await uB_(u,"{yml,yaml}"),s=await sB_(d);if(!s.didSucceed)return rko(s.failures,a.logger),a.failAndThrow();let o=fB_({files:s.files,absolutePathToDefinition:u});if(!o.didSucceed)return rko(o.failures,a.logger),a.failAndThrow();let c=await cB_({dependenciesConfiguration:l,structuralValidationResult:o,context:a,cliVersion:this.cliVersion,settings:r,loadAPIWorkspace:this.loadAPIWorkspace});if(!c.didSucceed)return rko(c.failures,a.logger),a.failAndThrow();let b={absoluteFilePath:u,rootApiFile:o.rootApiFile,namedDefinitionFiles:o.namedDefinitionFiles,packageMarkers:c.packageMarkers,importedDefinitions:c.importedDefinitions};r?.auth!=null&&(b={...b,rootApiFile:{...b.rootApiFile,contents:{...b.rootApiFile.contents,auth:r?.auth}}}),n=new DMe({absoluteFilePath:this.absoluteFilePath,generatorsConfiguration:this.generatorsConfiguration,dependenciesConfiguration:l,workspaceName:this.workspaceName,definition:b,cliVersion:this.cliVersion,sources:[]}),this.fernWorkspaces[i]=n}return n}getAbsoluteFilePaths(){return[this.absoluteFilePath]}};var w0=class e{breadcrumbs=[];context;static STRING=Ws.TypeReference.primitive({v1:"STRING",v2:Ws.PrimitiveTypeV2.string({default:void 0,validation:void 0})});static OPTIONAL_STRING=Ws.TypeReference.container(Ws.ContainerType.optional(e.STRING));constructor({breadcrumbs:t=[],context:r}){this.breadcrumbs=t,this.context=r}};var pB_={[hy.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,iz(e)])),[hy.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"]),[hy.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"]),[hy.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"]),[hy.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"]),[hy.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"]),[hy.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"]),[hy.GenerationLanguage.SWIFT]:new Set([])};var BQE=["go","ruby"];function RMe({generationLanguage:e,keywords:t,smartCasing:r}){let i={generateName:(n,a)=>{let u=c=>({unsafeName:c,safeName:IQE({name:c,keywords:zQE({generationLanguage:e,keywords:t})})}),l=T_(n),d=iz(l),s=AVi(n),o=SVi(l);return r&&(!NQE(o)&&(e==null||BQE.includes(e))&&(l=o.map((c,b)=>{if(b>0){let g=iko(c);if(g!=null)return g;if(nko(c))return c.toUpperCase()}return c}).join(""),d=o.map((c,b)=>{let g=iko(c);return g??(nko(c)?c.toUpperCase():b===0?iz(c):c)}).join("")),s=n.split(" ").map(c=>c.split(/(\d+)/).map(AVi).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??d)}},generateNameAndWireValue:({name:n,wireValue:a,opts:u})=>({name:i.generateName(n,u),wireValue:a})};return i}function IQE({name:e,keywords:t}){return t==null?e:t.has(e)?e+"_":RQE(e)?"_"+e:e}function zQE({generationLanguage:e,keywords:t}){if(t!=null)return new Set(t);if(e!=null)return pB_[e]}var xQE=/^[0-9]/;function RQE(e){return xQE.test(e)}function NQE(e){return e.some((t,r)=>{if(r===0)return!1;let i=e[r-1];if(i==null)return!1;let n=iko(i)!=null||nko(i),a=iko(t)!=null||nko(t);return n&&a})}function iko(e){return LQE.get(e.toUpperCase())}function nko(e){return FQE.has(e.toUpperCase())}var FQE=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"]),LQE=new Map([["ACLS","ACLs"],["APIS","APIs"],["CPUS","CPUs"],["GUIDS","GUIDs"],["IDS","IDs"],["UIDS","UIDs"],["UUIDS","UUIDs"],["URIS","URIs"],["URLS","URLs"]]);var hB_=require("fs/promises");var FPc=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:d}=r;this._path.length===0?this._map["."+i]={line:u,position:l,lineStart:d}:this._fragments.push({path:this._path.join(".")+"."+i,line:u,position:l,lineStart:d})}else if(n==="mapping"){let u={path:a,children:[],line:0,position:0,lineStart:0},l=0;this.iterFragments(a,d=>{l++,!((!d.children||d.children.length===0)&&l%2===1)&&(this._path.length===1?this.resolveNode(d,d.path):(u.children.push({...d,path:d.path.slice(a.length+1)}),u.line=d.line,u.position=d.position,u.lineStart=d.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,d=i.length;this.iterFragments(a,s=>{l.has(s.position)||(d--,l.add(s.position),this._path.length===1?this.resolveNode(s,`${a}.${d}`):(u.children.push({...s,path:d.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}}},_B_=FPc;var Lir;(function(e){e.WARNING="warning",e.ERROR="error"})(Lir||(Lir={}));var z9n=class{errors=[];logger;breadcrumbToLineNumberMapper;relativeFilepathToSpec;constructor({logger:t,relativeFilepathToSpec:r}){this.logger=t,this.relativeFilepathToSpec=r,r&&(this.breadcrumbToLineNumberMapper=new LPc({logger:t,relativePathToFile:Qa.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||Lir.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===Lir.ERROR?t++:r++;return{numErrors:t,numWarnings:r}}async logErrors({logWarnings:t}){this.dedupe();for(let r of this.errors)if(!(r.level===Lir.WARNING&&!t)){switch(r.level){case Lir.ERROR:if(this.logger.log(Pb.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(Pb.Error,` - at location (${n})`)}break;case Lir.WARNING:default:if(this.logger.log(Pb.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(Pb.Warn,` - at location (${n})`)}}this.logger.log(Pb.Info,"")}}},LPc=class{logger;relativePathToFile;map=new _B_;initialized=!1;constructor({relativePathToFile:t,logger:r}){this.relativePathToFile=t,this.logger=r}async initialize(){if(!this.initialized)try{let t=await(0,hB_.readFile)(this.relativePathToFile,"utf-8");qd.load(t,{listener:this.map.listen()}),this.initialized=!0}catch(t){this.logger.log(Pb.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 f8=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=RMe({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=T_(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:Lir.ERROR,message:this.getErrorMessageForMissingRef({reference:t}),path:r}),{resolved:!1};n=n[u]}return n==null?(i||this.errorCollector.collect({level:Lir.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 d=t.$ref.split("#"),s=d[0];if(i=d[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=qd.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(d=>d.replace(/~1/g,"/"));for(let d of l){if(typeof r!="object"||r==null)return{resolved:!1};r=r[d]}if(r==null)return{resolved:!1};if(n&&typeof r=="object"&&r!==null){let d=new Set;d.add(t.$ref),r=await this.resolveNestedExternalReferences(r,a,d,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 d=r,s=u.substring(2).split("/").map(o=>o.replace(/~1/g,"/").replace(/~0/g,"~"));for(let o of s){if(typeof d!="object"||d===null)return t;d=d[o]}if(d!=null){let o=await this.resolveNestedExternalReferences(d,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 Rkt.ReadOnly;if(r.writeOnly)return Rkt.WriteOnly}}getAudiences({operation:t,breadcrumbs:r}){let n=new pH.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 pH.FernAvailabilityExtension({node:t,breadcrumbs:r,context:this}).convert();if(n!=null)return{status:n,message:void 0};if(t.deprecated===!0)return{status:B9.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://")}isReferenceObjectWithIdentifier(t){return this.isReferenceObject(t)&&("title"in t||"name"in t||"messageId"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 Aj=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 lF(e){let t=VQE(e),{value:r,done:i}=UPc(t,"{");return i?{head:r,parts:[]}:{head:r,parts:[...UQE(t)]}}function*UQE(e){let t;do{let{value:r}=UPc(e,"}"),i=UPc(e,"{");t=i.done,yield{pathParameter:r,tail:i.value}}while(!t)}function*VQE(e){for(let t of e)yield t}function UPc(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 DRa(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,d)=>{d>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 Uir({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 yB_({fieldName:e,containerType:t,maxDepth:r,currentDepth:i,typeDeclarations:n,skipOptionalProperties:a}){if(i>=r)return Vir({containerType:t});switch(t.type){case"list":{let u=Gq({fieldName:e,typeReference:t.list,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"?Vir({containerType:t}):{type:"success",example:bm.list({list:[u.example,u.example],itemType:t.list}),jsonExample:[u.jsonExample,u.jsonExample]}}case"literal":return{type:"success",example:bm.literal({literal:t.literal._visit({boolean:u=>Rd.boolean(u),string:u=>Rd.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 Vir({containerType:t});let u=Gq({fieldName:e,typeReference:t.optional,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"?Vir({containerType:t}):{type:"success",example:bm.optional({optional:u.example,valueType:t.optional}),jsonExample:u.jsonExample}}case"nullable":{if(a)return Vir({containerType:t});let u=Gq({fieldName:e,typeReference:t.nullable,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"?Vir({containerType:t}):{type:"success",example:bm.nullable({nullable:u.example,valueType:t.nullable}),jsonExample:u.jsonExample}}case"set":{let u=Gq({fieldName:e,typeReference:t.set,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"?Vir({containerType:t}):{type:"success",example:bm.set({set:[u.example],itemType:t.set}),jsonExample:[u.jsonExample]}}case"map":{let u=Gq({fieldName:e,typeReference:t.keyType,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a}),l=Gq({fieldName:e,typeReference:t.valueType,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"||l.type==="failure"?Vir({containerType:t}):{type:"success",example:bm.map({map:[{key:u.example,value:l.example}],keyType:t.keyType,valueType:t.valueType}),jsonExample:{[u.jsonExample]:l.jsonExample}}}default:mo(t)}}function Vir({containerType:e}){switch(e.type){case"list":return{type:"success",example:bm.list({list:[],itemType:e.list}),jsonExample:[]};case"literal":return{type:"success",example:bm.literal({literal:e.literal._visit({boolean:t=>Rd.boolean(t),string:t=>Rd.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:bm.optional({optional:void 0,valueType:e.optional}),jsonExample:void 0};case"nullable":return{type:"success",example:bm.nullable({nullable:void 0,valueType:e.nullable}),jsonExample:void 0};case"set":return{type:"success",example:bm.set({set:[],itemType:e.set}),jsonExample:[]};case"map":return{type:"success",example:bm.map({map:[],keyType:e.keyType,valueType:e.valueType}),jsonExample:{}};default:mo(e)}}function bB_({fieldName:e,primitiveType:t}){switch(t.v1){case"STRING":return QQE({fieldName:e,default_:WQE(t.v2),validation:HQE(t.v2)});case"BASE_64":return{type:"success",example:Rd.base64(Gy.BASE64),jsonExample:Gy.BASE64};case"BOOLEAN":return{type:"success",example:Rd.boolean(Gy.BOOLEAN),jsonExample:Gy.BOOLEAN};case"DATE":return{type:"success",example:Rd.date(Gy.DATE),jsonExample:Gy.DATE};case"DATE_TIME":return{type:"success",example:Rd.datetime({datetime:new Date(Gy.DATE_TIME),raw:Gy.DATE_TIME}),jsonExample:Gy.DATE_TIME};case"DOUBLE":return JQE({fieldName:e,validation:$QE(t.v2)});case"FLOAT":return{type:"success",example:Rd.float(Gy.FLOAT),jsonExample:Gy.FLOAT};case"INTEGER":return KQE({fieldName:e,validation:GQE(t.v2)});case"UINT_64":return{type:"success",example:Rd.uint64(Gy.INT64),jsonExample:Gy.INT64};case"UINT":return{type:"success",example:Rd.uint(Gy.UINT),jsonExample:Gy.UINT};case"BIG_INTEGER":return{type:"success",example:Rd.bigInteger(Gy.INT64.toString()),jsonExample:`${Gy.INT64}`};case"LONG":return{type:"success",example:Rd.long(Gy.INT64),jsonExample:Gy.INT64};case"UUID":return{type:"success",example:Rd.uuid(Gy.UUID),jsonExample:Gy.UUID};default:mo(t.v1)}}function WQE(e){if(e?.type==="string")return e.default}function HQE(e){if(e?.type==="string")return e.validation}function $QE(e){if(e?.type==="double")return e.validation}function GQE(e){if(e?.type==="integer")return e.validation}function vB_(e){if(e<=Gy.SAMPLE_STRINGS.length){let t=Gy.SAMPLE_STRINGS[e-1];if(t)return t;throw new Error(`Unexpected undefined value in SAMPLE_STRINGS at index ${e-1}`)}return Gy.SAMPLE_STRINGS[Gy.SAMPLE_STRINGS.length-1]+".".repeat(e-Gy.SAMPLE_STRINGS.length)}function QQE({fieldName:e,default_:t,validation:r}){if(t!=null)return{type:"success",example:Rd.string({original:t}),jsonExample:t};if(r){let n=r.minLength,a=r.maxLength;if(n){let u=vB_(n);return{type:"success",example:Rd.string({original:u}),jsonExample:u}}else if(a){let u=vB_(a);return{type:"success",example:Rd.string({original:u}),jsonExample:u}}}let i=e??Gy.STRING;return{type:"success",example:Rd.string({original:i}),jsonExample:i}}function JQE({fieldName:e,validation:t}){if(t){let r=t.max,i=t.min;if(r)return{type:"success",example:Rd.double(r),jsonExample:r};if(i)return{type:"success",example:Rd.double(i),jsonExample:i}}return{type:"success",example:Rd.double(Gy.DOUBLE),jsonExample:Gy.DOUBLE}}function KQE({fieldName:e,validation:t}){if(t){let r=t.max,i=t.min;if(r)return{type:"success",example:Rd.integer(r),jsonExample:r};if(i)return{type:"success",example:Rd.integer(i),jsonExample:i}}return{type:"success",example:Rd.integer(Gy.INT),jsonExample:Gy.INT}}function x9n({fieldName:e,typeDeclarations:t,typeDeclaration:r,maxDepth:i,currentDepth:n,skipOptionalProperties:a}){switch(r.shape.type){case"alias":{let u=Gq({fieldName:e,typeDeclarations:t,typeReference:r.shape.aliasOf,maxDepth:i,currentDepth:n,skipOptionalProperties:a});if(u.type==="failure")return u;let{example:l,jsonExample:d}=u;return{type:"success",example:Iw.alias({value:l}),jsonExample:d}}case"enum":{let u=r.shape.values[0];return u==null?{type:"failure",message:"No enum values present"}:{type:"success",example:Iw.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=x9n({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 d=YQE({fieldName:e,typeDeclaration:r,objectTypeDeclaration:r.shape,typeDeclarations:t,currentDepth:n,maxDepth:i,skipOptionalProperties:a});if(d.type==="failure")return d;let{example:s,jsonExample:o}=d;return{type:"success",example:Iw.object({...s,properties:[...l,...s.properties]}),jsonExample:Object.assign({},u,o)}}case"undiscriminatedUnion":{let u=0;for(let l of r.shape.members){let d=Gq({fieldName:e,typeReference:l.type,typeDeclarations:t,currentDepth:n+1,maxDepth:i,skipOptionalProperties:a});if(d.type==="failure"){++u;continue}let{example:s,jsonExample:o}=d;return{type:"success",example:Iw.undiscriminatedUnion({index:u,singleUnionType:s}),jsonExample:o}}break}case"union":{let u=r.shape.discriminant,l={};if(r.shape.baseProperties!=null)for(let d of r.shape.baseProperties){let s=Gq({fieldName:d.name.wireValue,typeReference:d.valueType,typeDeclarations:t,currentDepth:n+1,maxDepth:i,skipOptionalProperties:a});s.type==="success"&&(l[d.name.wireValue]=s.jsonExample)}for(let d of r.shape.types){let s=d.shape._visit({noProperties:()=>({type:"success",example:Iw.union({discriminant:u,singleUnionType:{wireDiscriminantValue:d.discriminantValue,shape:h3.noProperties()}}),jsonExample:{[u.wireValue]:d.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=x9n({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:Iw.union({discriminant:u,singleUnionType:{wireDiscriminantValue:d.discriminantValue,shape:h3.samePropertiesAsObject({typeId:c.name.typeId,object:g.type==="object"?g:{properties:[]}})}}),jsonExample:{[u.wireValue]:d.discriminantValue.wireValue,...typeof O=="object"?O:{},...l}}},singleProperty:o=>{let c=Gq({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:Iw.union({discriminant:u,singleUnionType:{wireDiscriminantValue:d.discriminantValue,shape:h3.singleProperty(b)}}),jsonExample:{[u.wireValue]:d.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 YQE({fieldName:e,typeDeclaration:t,objectTypeDeclaration:r,typeDeclarations:i,maxDepth:n,currentDepth:a,skipOptionalProperties:u}){let l={},d=[];for(let s of[...r.properties??[],...r.extendedProperties??[]]){let o=Gq({fieldName:s.name.wireValue,typeReference:s.valueType,typeDeclarations:i,currentDepth:a+1,maxDepth:n,skipOptionalProperties:u});if(o.type==="failure"&&!Uir({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;d.push({name:s.name,originalTypeDeclaration:t.name,value:c}),l[s.name.wireValue]=b}return{type:"success",example:Iw.object({properties:d}),jsonExample:l}}function Gq({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=x9n({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:d,jsonExample:s}=l;return{type:"success",example:{jsonExample:s,shape:Nh.named({shape:d,typeName:u.name})},jsonExample:s}}case"container":{let u=yB_({fieldName:e,containerType:t.container,typeDeclarations:r,maxDepth:i,currentDepth:n,skipOptionalProperties:a});if(u.type==="failure"){let{example:s,jsonExample:o}=Vir({containerType:t.container});return{type:"success",example:{jsonExample:o,shape:Nh.container(s)},jsonExample:o}}let{example:l,jsonExample:d}=u;return{type:"success",example:{jsonExample:d,shape:Nh.container(l)},jsonExample:d}}case"primitive":{let{jsonExample:u,example:l}=bB_({fieldName:e,primitiveType:t.primitive});return{type:"success",example:{jsonExample:u,shape:Nh.primitive(l)},jsonExample:u}}case"unknown":{let u={key:"value"};return{type:"success",example:{jsonExample:u,shape:Nh.unknown(u)},jsonExample:u}}}}function PKi(e,t){let r=[];for(let i of e){let n=Gq({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 R9n(e,t){let r=[];for(let i of e){if(t.skipOptionalRequestProperties&&Uir({typeDeclarations:t.typeDeclarations,typeReference:i.valueType}))continue;let n=Gq({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 ako(e,t){let r=[];for(let i of e){if(t.skipOptionalRequestProperties&&Uir({typeDeclarations:t.typeDeclarations,typeReference:i.valueType}))continue;let n=Gq({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?$2.exploded():$2.single(),value:n.example})}return{type:"success",example:r,jsonExample:void 0}}var VPc=gf.primitive({v1:O0.String,v2:Lp.string({default:void 0,validation:void 0})});function ERa({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:RT.ok(kC.body(void 0)),docs:void 0},l=PKi(t.pathParameters,{typeDeclarations:i,skipOptionalRequestProperties:n,maxDepth:1});if(l.type==="failure")return l;u.endpointPathParameters=l.example;let d=PKi(r.pathParameters,{typeDeclarations:i,skipOptionalRequestProperties:n,maxDepth:1});if(d.type==="failure")return d;u.servicePathParameters=d.example;let s=PKi(e.pathParameters,{typeDeclarations:i,skipOptionalRequestProperties:n,maxDepth:1});if(s.type==="failure")return s;u.rootPathParameters=s.example;let o=ako(t.queryParameters,{typeDeclarations:i,skipOptionalRequestProperties:n,maxDepth:10});if(o.type==="failure")return o;u.queryParameters=o.example;let c=R9n(t.headers,{typeDeclarations:i,skipOptionalRequestProperties:n,maxDepth:1});if(c.type==="failure")return c;u.endpointHeaders=c.example;let b=R9n(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=x9n({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=Gq({fieldName:m.name.wireValue,typeReference:m.valueType,typeDeclarations:i,currentDepth:1,maxDepth:10,skipOptionalProperties:n});if(P.type==="failure"&&!Uir({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:q}=P;O.push({name:m.name,originalTypeDeclaration:void 0,value:E}),g[m.name.wireValue]=q}u.request=zQ.inlinedRequestBody({jsonExample:g,properties:O});break}case"reference":{let g=Gq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.requestBody.requestBodyType,skipOptionalProperties:n});if(g.type==="failure")return g;let{example:O}=g;u.request=zQ.reference(O);break}default:mo(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=Gq({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=RT.ok(kC.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=Gq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.response.body.nonStreamResponse.value.responseBodyType,skipOptionalProperties:!1});break;case"text":g=Gq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:VPc,skipOptionalProperties:!1});break;default:mo(t.response.body.nonStreamResponse)}if(g.type==="failure")return g;let{example:O,jsonExample:m}=g;u.response=RT.ok(kC.body({...O,jsonExample:m}));break}case"streaming":{let g;switch(t.response.body.value.type){case"sse":{if(g=Gq({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=RT.ok(kC.sse([{data:{...O,jsonExample:m},event:""}]));break}case"json":{if(g=Gq({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=RT.ok(kC.stream([{...O,jsonExample:m}]));break}case"text":{if(g=Gq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:VPc,skipOptionalProperties:!1}),g.type==="failure")return g;let{example:O,jsonExample:m}=g;u.response=RT.ok(kC.stream([{...O,jsonExample:m}]));break}default:mo(t.response.body.value)}break}case"text":{let g=Gq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:VPc,skipOptionalProperties:!1});if(g.type==="failure")return g;let{example:O,jsonExample:m}=g;u.response=RT.ok(kC.body({...O,jsonExample:m}));break}case"bytes":return{type:"failure",message:"Bytes unsupported"};default:mo(t.response.body)}else if(a.type==="error")if(a.declaration.type==null)u.response=RT.error({body:void 0,error:a.declaration.name});else{let g=Gq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:a.declaration.type,skipOptionalProperties:n});if(g.type==="failure")return g;let{example:O}=g;u.response=RT.error({body:O,error:a.declaration.name})}try{return{type:"success",example:{id:DRa(u),url:XQE(t,u),...u},jsonExample:void 0}}catch(g){return{type:"failure",message:`Parse failure with exceptions ${g}`}}}function XQE(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 OB_({ir:e,channel:t,typeDeclarations:r,skipOptionalRequestProperties:i}){let n={name:void 0,pathParameters:[],headers:[],queryParameters:[],messages:[],docs:void 0},a=PKi(t.pathParameters,{typeDeclarations:r,skipOptionalRequestProperties:i,maxDepth:1});if(a.type==="failure")return a;n.pathParameters.push(...a.example);let u=PKi(e.pathParameters,{typeDeclarations:r,skipOptionalRequestProperties:i,maxDepth:1});if(u.type==="failure")return u;n.pathParameters.push(...u.example);let l=ako(t.queryParameters,{typeDeclarations:r,skipOptionalRequestProperties:i,maxDepth:10});if(l.type==="failure")return l;n.queryParameters=l.example;let d=R9n(t.headers,{typeDeclarations:r,skipOptionalRequestProperties:i,maxDepth:1});if(d.type==="failure")return d;n.headers.push(...d.example);let s=R9n(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=gB_({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=gB_({message:g,typeDeclarations:r,skipOptionalRequestProperties:i});O!=null&&n.messages.push({type:g.type,body:O})}return{type:"success",example:{...n,url:ZQE(t,n)},jsonExample:void 0}}function gB_({message:e,typeDeclarations:t,skipOptionalRequestProperties:r}){if(e.body.type==="inlinedBody")return;let i=Gq({currentDepth:0,maxDepth:10,typeDeclarations:t,typeReference:e.body.bodyType,skipOptionalProperties:r});if(i.type==="success")return JEe.reference(i.example)}function ZQE(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 N9n(e){let t=e?.userSpecifiedExamples??{},r=e?.autogeneratedExamples??{},i=Object.values(t)[0],n=Object.values(r)[0];return{userExample:i,autoExample:n}}function VAi(e){let t=e?.userSpecifiedExamples??{},r=e?.autogeneratedExamples??{};return{userExamples:t,autoExamples:r}}function mB_({service:e,endpoint:t,typeDeclarations:r,skipOptionalRequestProperties:i}){let n={pathParameters:{},queryParameters:{},headers:{}};for(let a of t.pathParameters){let{userExample:u,autoExample:l}=N9n(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}=N9n(a.v2Examples);if(u!==void 0)n.queryParameters[a.name.name.originalName]=u;else if(l!==void 0){if(i&&Uir({typeReference:a.valueType,typeDeclarations:r}))continue;n.queryParameters[a.name.name.originalName]=l}}for(let a of t.headers){let{userExample:u,autoExample:l}=N9n(a.v2Examples);if(u!==void 0)n.headers[a.name.name.originalName]=u;else if(l!==void 0){if(i&&Uir({typeReference:a.valueType,typeDeclarations:r}))continue;n.headers[a.name.name.originalName]=l}}return n}function PB_({endpoint:e,service:t,typeDeclarations:r,skipOptionalRequestProperties:i}){let{pathParameters:n,queryParameters:a,headers:u}=mB_({service:t,endpoint:e,typeDeclarations:r,skipOptionalRequestProperties:i}),l={},d={},s={endpoint:{method:e.method,path:kQE(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}=VAi(e.requestBody.v2Examples);for(let[b,g]of Object.entries(o))l[b]={...s,requestBody:g};for(let[b,g]of Object.entries(c))d[b]={...s,requestBody:g};break}case"inlinedRequestBody":{let{userExamples:o,autoExamples:c}=VAi(e.requestBody.v2Examples);for(let[b,g]of Object.entries(o))l[b]={...s,requestBody:g};for(let[b,g]of Object.entries(c))d[b]={...s,requestBody:g};break}case"reference":{let{userExamples:o,autoExamples:c}=VAi(e.requestBody.v2Examples);for(let[b,g]of Object.entries(o))l[b]={...s,requestBody:g};for(let[b,g]of Object.entries(c))d[b]={...s,requestBody:g};break}default:mo(e.requestBody)}return{userRequestExamples:l,autoRequestExamples:d,baseExample:s}}function kQE(e){let t={};[...e.pathParameters,...e.allPathParameters].forEach(i=>{let{userExample:n,autoExample:a}=N9n(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 jB_({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:I9.json(MRa(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}=VAi(n.v2Examples);for(let[l,d]of Object.entries(a)){let s=e.source?.type==="openrpc"?MRa(d):d;t[l]={...i,body:I9.json(s)}}for(let[l,d]of Object.entries(u)){let s=e.source?.type==="openrpc"?MRa(d):d;r[l]={...i,body:I9.json(s)}}break}case"json":{let n=e.response.body.value;if(n.type==="response"){let{userExamples:a,autoExamples:u}=VAi(n.v2Examples);for(let[l,d]of Object.entries(a)){let s=e.source?.type==="openrpc"?MRa(d):d;t[l]={...i,body:I9.json(s)}}for(let[l,d]of Object.entries(u)){let s=e.source?.type==="openrpc"?MRa(d):d;r[l]={...i,body:I9.json(s)}}}break}case"streaming":{let n=e.response.body.value;if(n.type==="json"){let{userExamples:a,autoExamples:u}=VAi(n.v2Examples);for(let[l,d]of Object.entries(a))t[l]={...i,body:I9.stream([d])};for(let[l,d]of Object.entries(u))r[l]={...i,body:I9.stream([d])}}break}case"streamParameter":break;default:mo(e.response.body)}return{userResponseExamples:t,autoResponseExamples:r,baseExample:i}}function MRa(e,t=1){return{id:t,jsonrpc:"2.0",result:e}}function wB_({endpoint:e,service:t,typeDeclarations:r,skipOptionalRequestProperties:i}){let n={},a={},{userRequestExamples:u,autoRequestExamples:l,baseExample:d}=PB_({endpoint:e,service:t,typeDeclarations:r,skipOptionalRequestProperties:i}),{userResponseExamples:s,autoResponseExamples:o,baseExample:c}=jB_({endpoint:e}),b=Object.keys(l)[0],g=Object.values(l)[0],O=Object.values(o)[0];for(let[m,P]of Object.entries(u))n[m]={request:P,response:s[m]??O??c,codeSamples:void 0};for(let[m,P]of Object.entries(s))n[m]={request:u[m]??g??d,response:P,codeSamples:void 0};return Object.keys(n).length===0&&(a[b??T_(`${e.name.originalName}_example`)]={request:g??d,response:O??c,codeSamples:void 0}),{userFullExamples:n,autoFullExamples:a}}function ARa({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=ERa({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=OB_({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 WPc({ir:e,exampleGeneration:t}){for(let[r,i]of Object.entries(e.services))for(let n of i.endpoints){n.v2Examples==null&&(n.v2Examples={userSpecifiedExamples:{},autogeneratedExamples:{}});let{userFullExamples:a,autoFullExamples:u}=wB_({service:i,endpoint:n,typeDeclarations:e.types,skipOptionalRequestProperties:!t?.includeOptionalRequestPropertyExamples});if(Object.keys(n.v2Examples.userSpecifiedExamples).length>0){if(Object.values(n.v2Examples.userSpecifiedExamples).some(d=>d.request!=null||d.response!=null))continue;let l=Object.values(n.v2Examples.userSpecifiedExamples)[0]?.codeSamples;for(let[d,s]of Object.entries(u))u[d]={...s,codeSamples:l};for(let[d,s]of Object.entries(a))a[d]={...s,codeSamples:l}}n.v2Examples.autogeneratedExamples=u,n.v2Examples.userSpecifiedExamples=a}return e}function oko(e,t,r){let{environments:i,changedBaseUrlIds1:n,changedBaseUrlIds2:a}=tJE(e.environments,t.environments,r),{services:u,websocketChannels:l}=rJE(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:eJE(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(d=>!e.rootPackage.subpackages?.includes(d))],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 eJE(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 tJE(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=SB_(e),n=SB_(t);if(i&&n&&e.environments.type==="singleBaseUrl"&&t.environments.type==="singleBaseUrl")return{environments:{defaultEnvironment:e.defaultEnvironment??t.defaultEnvironment,environments:cx.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 d=i?l:u,s=i?u:l,o={},{deconflictedEnvironments2:c,changedBaseUrlIds2:b}=iJE(d,s,r);if(d.environments[0]==null)return{environments:t,changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0};let g="Base",O=r.generateName("Base");return d.environments.forEach(m=>{o[m.id]=g}),{environments:{defaultEnvironment:a,environments:cx.multipleBaseUrls({baseUrls:[{id:g,name:O},...c.environments.map(m=>({id:m.id,name:m.name}))],environments:d.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 d=u.type==="singleBaseUrl"?u:l,s=u.type==="multipleBaseUrls"?u:l,{deconflictedEnvironments1:o,changedBaseUrlIds1:c}=nJE(d,s,r);return{environments:{defaultEnvironment:a,environments:cx.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:d,changedBaseUrlIds:s}=aJE(u,l,r);return{environments:{defaultEnvironment:a,environments:cx.multipleBaseUrls({baseUrls:[...u.baseUrls,...d.baseUrls],environments:u.environments.flatMap(o=>d.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 rJE(e,t,r,i){if(r!=null)for(let[u,l]of Object.entries(r)){for(let d of Object.values(e.services))for(let s of Object.values(d.endpoints))s.baseUrl==u&&(s.baseUrl=l),s.v2BaseUrls?.includes(u)&&(s.v2BaseUrls=s.v2BaseUrls.map(o=>o===u?l:o));for(let d of Object.values(e.websocketChannels??{}))d.baseUrl==u&&(d.baseUrl=l)}if(i!=null)for(let[u,l]of Object.entries(i)){for(let d of Object.values(t.services))for(let s of Object.values(d.endpoints))s.baseUrl==u&&(s.baseUrl=l),s.v2BaseUrls?.includes(u)&&(s.v2BaseUrls=s.v2BaseUrls.map(o=>o===u?l:o));for(let d of Object.values(t.websocketChannels??{}))d.baseUrl==u&&(d.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 iJE(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=HPc(s.id,n);return i[s.id]=o,{...s,id:o,name:r.generateName(o)}}return s});return{deconflictedEnvironments2:cx.singleBaseUrl({environments:l}),changedBaseUrlIds2:i}}function nJE(e,t,r){let i={},n=new Set(t.baseUrls.map(d=>d.id)),a=new Set(t.baseUrls.map(d=>d.name)),u=e.environments.map(d=>{if(n.has(d.id)||a.has(d.name)){let s=HPc(d.id,n);return i[d.id]=s,{...d,id:s,name:r.generateName(s)}}return d});return{deconflictedEnvironments1:cx.singleBaseUrl({environments:u}),changedBaseUrlIds1:i}}function aJE(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=HPc(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:cx.multipleBaseUrls({baseUrls:u,environments:l}),changedBaseUrlIds:i}}function SB_(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 HPc(e,t){let r=e,i=1;for(;t.has(r);)r=`${e}-${i}`,i++;return r}function GPc({rawApiFileSchema:e,casingsGenerator:t}){if(e.auth==null)return{docs:void 0,requirement:pRe.All,schemes:[]};let r=typeof e.auth!="string"?e.auth.docs:void 0;return BHi(e.auth,{single:i=>{let n=DB_({reference:i,authSchemeDeclarations:e["auth-schemes"],casingsGenerator:t});return{docs:r,requirement:pRe.All,schemes:[n]}},any:({any:i})=>({docs:r,requirement:pRe.Any,schemes:i.map(n=>DB_({reference:n,authSchemeDeclarations:e["auth-schemes"],casingsGenerator:t}))})})}function DB_({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 BDa(l,{header:d=>CB.header({docs:u,name:r.generateNameAndWireValue({name:d.name??a,wireValue:d.header}),valueType:gf.primitive({v1:O0.String,v2:Lp.string({default:void 0,validation:void 0})}),prefix:d.prefix,headerEnvVar:d.env}),basic:d=>EB_({casingsGenerator:r,docs:u,rawScheme:d}),bearer:d=>$Pc({casingsGenerator:r,docs:u,rawScheme:d}),oauth:d=>$Pc({casingsGenerator:r,docs:u,rawScheme:void 0})})},n=typeof e=="string"?e:e.scheme;switch(n){case"bearer":case"oauth":return $Pc({casingsGenerator:r,docs:void 0,rawScheme:void 0});case"basic":return EB_({casingsGenerator:r,docs:void 0,rawScheme:void 0});default:return i(n,typeof e!="string"?e.docs:void 0)}}function $Pc({casingsGenerator:e,docs:t,rawScheme:r}){return CB.bearer({docs:t,token:e.generateName(r?.token?.name??"token"),tokenEnvVar:r?.token?.env})}function EB_({casingsGenerator:e,docs:t,rawScheme:r}){return CB.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 qRa({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:$kt(i,{singleBaseUrl:()=>cx.singleBaseUrl(oJE({environments:t,casingsGenerator:r})),multipleBaseUrls:n=>cx.multipleBaseUrls(uJE({baseUrls:Object.keys(n.urls),environments:t,casingsGenerator:r}))})},audiences:{...Object.fromEntries(Object.entries(t).map(([n,a])=>[n,$kt(a,{singleBaseUrl:u=>[...typeof u=="string"?[]:u.audiences??[]],multipleBaseUrls:u=>[...u.audiences??[]]})]))}}}function oJE({environments:e,casingsGenerator:t}){return{environments:Object.entries(e).map(([r,i])=>$kt(i,{singleBaseUrl:n=>({docs:typeof n=="string"?void 0:n.docs,id:r,name:t.generateName(r),url:MB_(typeof n=="string"?n:n.url)}),multipleBaseUrls:()=>{throw new Error(`Environment ${r} has multiple base URLs`)}}))}}function uJE({baseUrls:e,environments:t,casingsGenerator:r}){return{baseUrls:e.map(i=>({id:i,name:r.generateName(i)})),environments:Object.entries(t).map(([i,n])=>$kt(n,{multipleBaseUrls:a=>({docs:a.docs,id:i,name:r.generateName(i),urls:dd(a.urls,u=>MB_(u))}),singleBaseUrl:()=>{throw new Error(`Environment ${i} does not have multiple base URLs`)}}))}}function MB_(e){return e.endsWith("/")?e.slice(0,-1):e}function NMe(e){return e.allParts.map(t=>t.originalName).join("/")}var Pm={generateTypeId:e=>`type_${NMe(e.fernFilepath)}:${e.name.originalName}`,generateErrorId:e=>`error_${NMe(e.fernFilepath)}:${e.name.originalName}`,generateServiceId:e=>`service_${NMe(e.fernFilepath)}`,generateServiceIdFromFernFilepath:e=>`service_${NMe(e)}`,generateSubpackageId:e=>`subpackage_${NMe(e)}`,generateEndpointId:(e,t)=>{let r=NMe(e.fernFilepath),i=t.name.originalName;return`endpoint_${r}.${i}`},generateWebhookGroupId:e=>`webhooks_${NMe(e)}`,generateWebhookId:(e,t)=>`webhooks_${NMe(e)}.${t}`,generateWebSocketChannelId:e=>`channel_${NMe(e)}`};function F9n(e){return e.type!=null}var uko=class{environments=new Set;types=new Set;properties;errors=new Set;services=new Set;endpoints=new Set;requestProperties;queryParameters;webhooks=new Set;webhookPayloadProperties;channels=new Set;subpackages=new Set;constructor({types:t,properties:r,errors:i,environments:n,services:a,endpoints:u,webhooks:l,subpackages:d,queryParameters:s,requestProperties:o,webhookPayloadProperties:c,channels:b}){this.environments=n,this.types=t,this.properties=r,this.errors=i,this.services=a,this.endpoints=u,this.webhooks=l,this.webhookPayloadProperties=c,this.subpackages=d,this.requestProperties=o,this.queryParameters=s,this.channels=b}hasTypeId(t){return this.types.has(t)}hasErrorId(t){return this.errors.has(t)}hasServiceId(t){return this.services.has(t)}hasSubpackageId(t){return this.subpackages.has(t)}hasType(t){let r=Pm.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=Pm.generateErrorId(t.name);return this.errors.has(r)}hasService(t){let r=Pm.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 jKi(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 wKi=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=sJE(t)}addType({declaredTypeName:t,descendantTypeIds:r,descendantFilepaths:i,descendantTypeIdsByAudience:n,propertiesByAudience:a}){let u=Pm.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=Pm.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=Pm.generateErrorId(t.name),i=new Set,n=new Set;t.type!=null&&jR(t.type,i,n);let a={errorId:r,referencedTypes:i,referencedSubpackages:n};this.errors[r]=a}addEndpoint(t,r,i){let n=Pm.generateServiceId(t.name),a=r.id,u=new Set,l=new Set,d=new Set;for(let s of[...t.headers,...r.headers])jR(s.valueType,u,d);for(let s of[...t.pathParameters,...r.pathParameters])jR(s.valueType,u,d);for(let s of r.queryParameters)jR(s.valueType,u,d);if(i!=null&&i.request!=null&&typeof i.request!="string"){let s=jKi(i.request["query-parameters"]??{});this.queryParameters[a]={endpointId:a,parametersByAudience:s}}r.requestBody!=null&&ZC._visit(r.requestBody,{inlinedRequestBody:s=>{for(let o of s.extends)sko(o,u,d);for(let o of s.properties)jR(o.valueType,u,d);if(i!=null&&typeof i.request=="object"&&typeof i.request.body=="object"&&XC(i.request.body)){let o=jKi(i.request.body.properties??{});this.requestProperties[a]={endpointId:a,propertiesByAudience:o}}},reference:({requestBodyType:s})=>{jR(s,u,d)},fileUpload:({properties:s})=>{for(let o of s)z9._visit(o,{file:Go,bodyProperty:({valueType:c})=>{jR(c,u,d)},_other:()=>{throw new Error("Unknown FileUploadRequestProperty: "+o.type)}})},bytes:()=>{},_other:()=>{throw new Error("Unknown HttpRequestBody: "+r.requestBody?.type)}}),r.response?.body!=null&&gE._visit(r.response.body,{fileDownload:Go,json:s=>{jR(s.responseBodyType,u,d)},streaming:s=>{s._visit({sse:o=>jR(o.payload,u,d),json:o=>jR(o.payload,u,d),text:Go,_other:()=>{throw new Error("Unknown streamingResponse type: "+s.type)}})},streamParameter:s=>{s.streamResponse._visit({sse:o=>jR(o.payload,u,d),json:o=>jR(o.payload,u,d),text:Go,_other:()=>{throw new Error("Unknown streamingResponse type: "+s.streamResponse.type)}}),s.nonStreamResponse.type==="json"&&jR(s.nonStreamResponse.value.responseBodyType,u,d)},text:Go,bytes:Go,_other:()=>{throw new Error("Unknown HttpResponse: "+r.response?.body?.type)}}),r.errors.forEach(s=>{l.add(Pm.generateErrorId(s.error)),d.add(s.error.fernFilepath)}),this.endpoints[a]={endpointId:a,serviceId:n,referencedTypes:u,referencedErrors:l,referencedSubpackages:d}}markEndpointForAudience(t,r,i){if(this.hasAudience(i)){let n=Pm.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&&EW._visit(r.payload,{inlinedPayload:l=>{for(let d of l.extends)sko(d,a,u);for(let d of l.properties)jR(d.valueType,a,u);if(i?.payload!=null&&typeof i.payload=="object"&&!F9n(i.payload)){let d=jKi(i.payload.properties??{});this.webhookProperties[n]={webhookId:n,propertiesByAudience:d}}},reference:({payloadType:l})=>{jR(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)R9._visit(l.body,{reference:({bodyType:d})=>{jR(d,a,u)},inlinedBody:d=>{for(let s of d.extends)sko(s,a,u);for(let s of d.properties)jR(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 d=this.getEndpointNode(l);for(let s of d.referencedErrors){if(r.has(s))continue;r.add(s);let o=this.getErrorNode(s);this.addReferencedTypes(t,o.referencedTypes)}this.addReferencedTypes(t,d.referencedTypes)}this.addReferencedTypes(t,this.typesNeededForAudience);for(let l of this.webhooksNeededForAudience.keys()){let d=this.getWebhookNode(l);this.addReferencedTypes(t,d.referencedTypes)}for(let l of this.channelsNeededForAudience.keys()){let d=this.getChannelNode(l);this.addReferencedTypes(t,d.referencedTypes)}let i={},n={},a={},u={};if(this.audiences.type==="filtered"){for(let[l,d]of Object.entries(this.properties)){if(!t.has(l))continue;let s=new Set;for(let o of this.audiences.audiences){let c=d.propertiesByAudience[o];c?.forEach(b=>{s.add(b)})}s.size>0&&(i[l]=s),i[l]=s.size>0?s:void 0}for(let[l,d]of Object.entries(this.requestProperties)){if(!this.endpointsNeededForAudience.has(l))continue;let s=new Set;for(let o of this.audiences.audiences){let c=d.propertiesByAudience[o];c?.forEach(b=>{s.add(b)})}n[l]=s.size>0?s:void 0}for(let[l,d]of Object.entries(this.queryParameters)){if(!this.endpointsNeededForAudience.has(l))continue;let s=new Set;for(let o of this.audiences.audiences){let c=d.parametersByAudience[o];c?.forEach(b=>{s.add(b)})}a[l]=s.size>0?s:void 0}for(let[l,d]of Object.entries(this.webhookProperties)){if(!this.webhooksNeededForAudience.has(l))continue;let s=new Set;for(let o of this.audiences.audiences){let c=d.propertiesByAudience[o];c?.forEach(b=>{s.add(b)})}u[l]=s.size>0?s:void 0}}return new uko({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:mo(r)}}addSubpackages(t){for(let r=1;r<=t.allParts.length;++r){let i={...t,allParts:t.allParts.slice(0,r)};this.subpackagesNeededForAudience.add(Pm.generateSubpackageId(i))}}};function sJE(e){switch(e.type){case"all":return{type:"none"};case"select":return{type:"filtered",audiences:new Set(e.audiences)};default:mo(e)}}function jR(e,t,r){gf._visit(e,{container:i=>{cJE(i,t,r)},named:i=>{sko(i,t,r)},primitive:Go,unknown:Go,_other:Go})}function sko(e,t,r){t.add(Pm.generateTypeId(e)),r.add(e.fernFilepath)}function cJE(e,t,r){_b._visit(e,{list:i=>{jR(i,t,r)},map:i=>{jR(i.keyType,t,r),jR(i.valueType,t,r)},optional:i=>{jR(i,t,r)},nullable:i=>{jR(i,t,r)},set:i=>{jR(i,t,r)},literal:Go,_other:Go})}var QPc=class{errors;constructor(){this.errors=[]}add(t){this.errors.push({message:t})}getErrors(){return this.errors}hasErrors(){return this.errors.length>0}},TRa=class{errors;constructor(){this.errors=new QPc}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 d=a[u];if(!d){this.errors.add(`Endpoint "${u}" was removed.`);continue}this.checkEndpointBreakingChanges({id:u,from:l,to:d})}}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 d=a[u];if(!d){this.errors.add(`Path parameter "${u}" was removed from endpoint "${t}".`);continue}this.areTypeReferencesCompatible({from:l.valueType,to:d.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 d=a[u];if(!d){this.errors.add(`Query parameter "${u}" was removed from endpoint "${t}".`);continue}this.areTypeReferencesCompatible({from:l.valueType,to:d.valueType})||this.errors.add(`Query parameter "${u}" type changed in endpoint "${t}".`),l.allowMultiple!==d.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 d=a[u];if(!d){this.errors.add(`Header "${u}" was removed from ${t}.`);continue}this.areTypeReferencesCompatible({from:l.valueType,to:d.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:mo(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:mo(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:mo(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:mo(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])),d=Object.fromEntries(r.types.map(s=>[s.discriminantValue.wireValue,s]));return Object.values(l).every(s=>{let o=d[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:mo(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:mo(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:mo(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:mo(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:mo(i)}return r}getKeyForDeclaration({name:t,fernFilepath:r}){return`${r.allParts.map(n=>n.camelCase.unsafeName).join(".")}.${t.pascalCase.unsafeName}`}};function qB_({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:wR({filteredIr:e,exampleTypeReference:n.value})})).filter(n=>n.value!==void 0)}}:void 0;return i!==void 0?h3.samePropertiesAsObject(i):void 0},singleProperty:r=>{let i=wR({filteredIr:e,exampleTypeReference:r});return i!==void 0?h3.singleProperty(i):void 0},noProperties:()=>t,_other:()=>{throw new Error("Received unknown type for example.")}})}function wR({filteredIr:e,exampleTypeReference:t}){return t.shape._visit({primitive:()=>t,container:r=>r._visit({list:i=>({...t,shape:Nh.container(bm.list({...i,list:i.list.map(n=>wR({filteredIr:e,exampleTypeReference:n})).filter(n=>n!==void 0)}))}),set:i=>({...t,shape:Nh.container(bm.set({...i,set:i.set.map(n=>wR({filteredIr:e,exampleTypeReference:n})).filter(n=>n!==void 0)}))}),optional:i=>{let n=i.optional!=null?wR({filteredIr:e,exampleTypeReference:i.optional}):void 0;return n!=null?{...t,shape:Nh.container(bm.optional({optional:n,valueType:i.valueType}))}:void 0},nullable:i=>{let n=i.nullable!=null?wR({filteredIr:e,exampleTypeReference:i.nullable}):void 0;return n!=null?{...t,shape:Nh.container(bm.nullable({nullable:n,valueType:i.valueType}))}:void 0},map:i=>({...t,shape:Nh.container(bm.map({...i,map:i.map.map(n=>{let a=wR({filteredIr:e,exampleTypeReference:n.key}),u=wR({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=wR({filteredIr:e,exampleTypeReference:i.value});return n!==void 0?{...t,shape:Nh.named({...r,shape:Iw.alias({...i,value:n})})}:void 0},enum:i=>({...t,shape:Nh.named({...r,shape:Iw.enum(i)})}),object:i=>({...t,shape:Nh.named({...r,shape:Iw.object({...i,properties:i.properties.filter(n=>e.hasProperty(n.originalTypeDeclaration.typeId,n.name.wireValue)).map(n=>({...n,value:wR({filteredIr:e,exampleTypeReference:n.value})})).filter(n=>n.value!==void 0)})})}),union:i=>{let n=qB_({filteredIr:e,singleUnionTypeProperties:i.singleUnionType.shape});return n!==void 0?{...t,shape:Nh.named({...r,shape:Iw.union({...i,singleUnionType:{...i.singleUnionType,shape:n}})})}:void 0},undiscriminatedUnion:i=>{let n=wR({filteredIr:e,exampleTypeReference:i.singleUnionType});return n!==void 0?{...t,shape:Nh.named({...r,shape:Iw.undiscriminatedUnion({...i,singleUnionType:n})})}:void 0},_other:()=>{throw new Error("Received unknown type for example.")}}):void 0,unknown:()=>t,_other:()=>t})}function JPc({filteredIr:e,pathParameters:t}){return t.map(r=>{let i=wR({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...r,value:i}:void 0}).filter(r=>r!==void 0)}function lJE({filteredIr:e,queryParameters:t}){return t.map(r=>{let i=wR({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...r,value:i}:void 0}).filter(r=>r!==void 0)}function AB_({filteredIr:e,headers:t}){return t.map(r=>{let i=wR({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...r,value:i}:void 0}).filter(r=>r!==void 0)}function fJE({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=wR({filteredIr:e,exampleTypeReference:i.value});return n!==void 0?{...i,value:n}:void 0}).filter(i=>i!==void 0)}),reference:r=>{let i=wR({filteredIr:e,exampleTypeReference:r});return i!==void 0?zQ.reference(i):void 0},_other:()=>{throw new Error("Received unknown type for example.")}})}function dJE({filteredIr:e,response:t}){return t._visit({ok:r=>r._visit({body:i=>RT.ok(kC.body(i!=null?wR({filteredIr:e,exampleTypeReference:i}):void 0)),stream:i=>RT.ok(kC.stream(i.map(n=>wR({filteredIr:e,exampleTypeReference:n})).filter(V0))),sse:i=>RT.ok(kC.sse(i.map(({event:n,data:a})=>{let u=wR({filteredIr:e,exampleTypeReference:a});return u!==void 0?{event:n,data:u}:void 0}).filter(V0))),_other:({type:i})=>{throw new Error(`Received unknown type for OK example: ${i}`)}}),error:({error:r,body:i})=>RT.error({error:r,body:i!=null?wR({filteredIr:e,exampleTypeReference:i}):void 0}),_other:({type:r})=>{throw new Error(`Received unknown type for example: ${r}`)}})}function KPc({filteredIr:e,example:t}){return{...t,rootPathParameters:JPc({filteredIr:e,pathParameters:t.rootPathParameters}),servicePathParameters:JPc({filteredIr:e,pathParameters:t.servicePathParameters}),endpointPathParameters:JPc({filteredIr:e,pathParameters:t.endpointPathParameters}),serviceHeaders:AB_({filteredIr:e,headers:t.serviceHeaders}),endpointHeaders:AB_({filteredIr:e,headers:t.endpointHeaders}),queryParameters:lJE({filteredIr:e,queryParameters:t.queryParameters}),request:t.request!==void 0?fJE({filteredIr:e,requestBody:t.request}):void 0,response:dJE({filteredIr:e,response:t.response})}}function TB_({filteredIr:e,exampleType:t}){return t.shape._visit({alias:r=>{let i=wR({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...t,shape:Iw.alias({...r,value:i})}:void 0},enum:()=>t,object:r=>({...t,shape:Iw.object({...r,properties:r.properties.filter(i=>e.hasProperty(i.originalTypeDeclaration.typeId,i.name.wireValue)).map(i=>({...i,value:wR({filteredIr:e,exampleTypeReference:i.value})})).filter(i=>i.value!==void 0)})}),union:r=>{let i=qB_({filteredIr:e,singleUnionTypeProperties:r.singleUnionType.shape});return i!==void 0?{...t,shape:Iw.union({...r,singleUnionType:{...r.singleUnionType,shape:i}})}:void 0},undiscriminatedUnion:r=>{let i=wR({filteredIr:e,exampleTypeReference:r.singleUnionType});return i!==void 0?{...t,shape:Iw.undiscriminatedUnion({...r,singleUnionType:i})}:void 0},_other:()=>{throw new Error("Received unknown type for example.")}})}function YPc(e,t){if(t==null)return e;let r=MVi(e.types,u=>t.hasType(u)),i=Object.fromEntries(Object.entries(r).map(([u,l])=>{let d=[];if(l.userProvidedExamples=l.userProvidedExamples.map(s=>TB_({filteredIr:t,exampleType:s})).filter(s=>s!==void 0),l.shape.type==="object"){for(let s of l.shape.properties)t.hasProperty(u,s.name.wireValue)&&d.push(s);return[u,{...l,shape:lO.object({...l.shape,properties:d})}]}return[u,l]})),n=Object.fromEntries(Object.entries(e.webhookGroups).map(([u,l])=>{let d=l.filter(s=>t.hasWebhook(s)).map(s=>{let o=s.id;return s.payload.type==="inlinedPayload"&&o!=null&&(s.payload={...s.payload,properties:s.payload.properties.filter(c=>t.hasWebhookPayloadProperty(o,c.name.wireValue))}),s});return[u,d]})),a=e.environments;if(a){switch(a.environments.type){case"singleBaseUrl":{a.environments.environments=a.environments.environments.filter(u=>t.hasEnvironmentId(u.id));break}case"multipleBaseUrls":{a.environments.environments=a.environments.environments.filter(u=>t.hasEnvironmentId(u.id));break}}a.defaultEnvironment&&(t.hasEnvironmentId(a.defaultEnvironment)||(a.defaultEnvironment=void 0))}return{...e,environments:a,types:i,errors:MVi(e.errors,u=>t.hasError(u)),services:dd(MVi(e.services,u=>t.hasService(u)),u=>({...u,endpoints:u.endpoints.filter(l=>t.hasEndpoint(l)).map(l=>(l.autogeneratedExamples=l.autogeneratedExamples.map(d=>({...d,example:KPc({filteredIr:t,example:d.example})})),l.userSpecifiedExamples=l.userSpecifiedExamples.map(d=>({...d,example:d.example!=null?KPc({filteredIr:t,example:d.example}):void 0})),l.queryParameters.length>0&&(l.queryParameters=l.queryParameters.filter(d=>t.hasQueryParameter(l.id,d.name.wireValue))),l.requestBody?.type==="inlinedRequestBody"?{...l,requestBody:{...l.requestBody,properties:l.requestBody.properties.filter(d=>t.hasRequestProperty(l.id,d.name.wireValue))}}:l))})),webhookGroups:n,serviceTypeReferenceInfo:pJE(e.serviceTypeReferenceInfo,t)}}function pJE(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 pH={};jo(pH,{AudienceExtension:()=>cko,FernAvailabilityExtension:()=>lko,FernEnumExtension:()=>fko,FernIgnoreExtension:()=>SKi,FernOptionalExtension:()=>dko,FernTypeExtension:()=>hko,FernTypeNameExtension:()=>yko,SdkGroupNameExtension:()=>pko,SdkMethodNameExtension:()=>_ko});var cko=class extends Aj{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 lko=class extends Aj{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 B9.InDevelopment;case"PRE_RELEASE":return B9.PreRelease;case"GENERAL_AVAILABILITY":return B9.GeneralAvailability;case"DEPRECATED":return B9.Deprecated;default:return}}};var _JE=hu.object({snake:hu.string().optional(),camel:hu.string().optional(),screamingSnake:hu.string().optional(),pascal:hu.string().optional()}),hJE=hu.object({description:hu.string().optional(),name:hu.string().optional(),casing:_JE.optional()}),CB_=hu.record(hJE);var fko=class extends Aj{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=CB_.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 SKi=class extends Aj{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 dko=class extends Aj{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 pko=class extends Aj{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 _ko=class extends Aj{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 hko=class extends Aj{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 yko=class extends Aj{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 Mpi=class extends w0{ir;audiences;irGraph;constructor({breadcrumbs:t=[],context:r,audiences:i}){super({breadcrumbs:t,context:r}),this.audiences=i,this.irGraph=new wKi(i),this.ir={auth:{docs:void 0,requirement:Ws.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:Ws.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 SKi({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 SKi({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,...ARa({ir:t,exampleGeneration:this.context.exampleGenerationArgs}),...WPc({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}shouldAddServerToCollectedServers({server:t,currentServers:r}){return!r.some(i=>i.url===t.url&&"x-fern-server-name"in i&&"x-fern-server-name"in t&&i["x-fern-server-name"]===t["x-fern-server-name"])}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)),d=l[l.length-1];u.service==null&&(u.service=n??`service_${a.map(o=>T_(o)).join("/")}`),this.ir.services[u.service]==null&&(this.ir.services[u.service]=this.createNewService({allParts:l,finalpart:d})),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=T_(n?.join(".")),u=T_(r),l=this.context.namespace?`${T_(this.context.namespace)}/`:"",d=a?`channel_${l}${a}`:`channel_${l}${u}`,s=n?this.getOrCreatePackage({group:n}):this.getOrCreatePackage({group:[u]});this.ir.websocketChannels={...this.ir.websocketChannels,[d]:t},d!==""?s.websocket==null&&(s.websocket=d):this.ir.rootPackage.websocket="";let o=this.context.createFernFilepath();this.irGraph.addChannel(o,d,t),i!=null&&this.irGraph.markChannelForAudiences(o,d,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:lF(""),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=>T_(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 d=this.ir.subpackages[l];i.subpackages.includes(l)||i.subpackages.push(l),i=d}return i}};var QA={};jo(QA,{AbstractConverters:()=>ZPc,ExampleConverter:()=>Wir,SchemaConverters:()=>XPc,ServersConverter:()=>EHt});var ZPc={};jo(ZPc,{AbstractMediaTypeObjectConverter:()=>bko,AbstractParameterConverter:()=>gko});var Wir=class e extends w0{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 r=this.example==null,i=this.example??t.example,a=(Array.isArray(i)?i:[i]).map(l=>new e({breadcrumbs:[...this.breadcrumbs,"items"],context:this.context,schema:t.items,example:l,depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy}).convert()),u=a.every(l=>l?.isValid??!1)&&!r;return{isValid:u,coerced:!1,validExample:a.map(l=>l.validExample),errors:u?[]:a.flatMap(l=>l.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,d])=>{if(typeof d!="object")return{key:l,result:{isValid:!0,coerced:!1,validExample:void 0,errors:[]}};if(this.isDeprecatedProperty(d)&&!this.isRequiredProperty({key:l,resolvedSchema:t}))return{key:l,result:{isValid:!0,coerced:!1,validExample:void 0,errors:[]}};if("readOnly"in d&&d.readOnly===!0&&"writeOnly"in d&&d.writeOnly===!0)return{key:l,result:{isValid:!0,coerced:!1,validExample:void 0,errors:[]}};if("readOnly"in d&&d.readOnly===!0&&this.exampleGenerationStrategy==="request")return{key:l,result:{isValid:!0,coerced:!1,validExample:void 0,errors:[]}};if("writeOnly"in d&&d.writeOnly===!0&&this.exampleGenerationStrategy==="response")return{key:l,result:{isValid:!0,coerced:!1,validExample:void 0,errors:[]}};let s=!(l in r)||!("nullable"in d)&&r[l]==null||"nullable"in d&&d.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:d,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:d,example:r[l],depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy}).convert();return{key:l,result:b}}}),n=(t.allOf??[]).map((l,d)=>new e({breadcrumbs:[...this.breadcrumbs,`allOf[${d}]`],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:d})=>[l,d.validExample]).filter(([l,d])=>d!==void 0));for(let l of n)if(typeof l.validExample=="object"&&l.validExample!==null){let d=l.validExample;u={...u,...Object.fromEntries(Object.entries(d).filter(([s,o])=>o!==void 0))}}if(Object.keys(u).length===0){let l=n.find(d=>d.validExample!==void 0&&(typeof d.validExample!="object"||d.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 XPc={};jo(XPc,{ArraySchemaConverter:()=>H9n,EnumSchemaConverter:()=>L9n,ObjectSchemaConverter:()=>U9n,OneOfSchemaConverter:()=>V9n,PrimitiveSchemaConverter:()=>W9n,SchemaConverter:()=>WAi,SchemaOrReferenceConverter:()=>Ok});function BB_(e){return G2({type:e,_default:void 0,validation:void 0,visitor:{primitive:t=>{switch(t.v1){case"BASE_64":return gf.primitive({v1:"BASE_64",v2:Lp.base64({})});case"BOOLEAN":return gf.primitive({v1:"BOOLEAN",v2:Lp.boolean({default:void 0})});case"DATE":return gf.primitive({v1:"DATE",v2:Lp.date({})});case"DATE_TIME":return gf.primitive({v1:"DATE_TIME",v2:Lp.dateTime({})});case"FLOAT":return gf.primitive({v1:"FLOAT",v2:Lp.float({})});case"DOUBLE":return gf.primitive({v1:"DOUBLE",v2:Lp.double({default:void 0,validation:void 0})});case"UINT":return gf.primitive({v1:"UINT",v2:Lp.uint({})});case"UINT_64":return gf.primitive({v1:"UINT_64",v2:Lp.uint64({})});case"INTEGER":return gf.primitive({v1:"INTEGER",v2:Lp.integer({default:void 0,validation:void 0})});case"LONG":return gf.primitive({v1:"LONG",v2:Lp.long({default:void 0})});case"STRING":return gf.primitive({v1:"STRING",v2:Lp.string({default:void 0,validation:void 0})});case"UUID":return gf.primitive({v1:"UUID",v2:Lp.uuid({})});case"BIG_INTEGER":return gf.primitive({v1:"BIG_INTEGER",v2:Lp.bigInteger({default:void 0})});default:return}},unknown:()=>gf.unknown(),map:({keyType:t,valueType:r})=>{if(!(t==null||r==null))return gf.container(_b.map({keyType:t,valueType:r}))},list:t=>{if(t!=null)return gf.container(_b.list(t))},optional:t=>{if(t!=null)return gf.container(_b.optional(t))},nullable:t=>{if(t!=null)return gf.container(_b.nullable(t))},set:t=>{if(t!=null)return gf.container(_b.set(t))},literal:t=>gf.container(_b.literal(t._visit({string:r=>x9.string(r),boolean:r=>x9.boolean(r),_other:()=>{throw new Error("Unexpected literal type")}}))),named:()=>{}}})}var L9n=class extends w0{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:lO.enum({default:i!=null?r.find(n=>n.name.wireValue===i):void 0,values:r})}}};var vko=class extends w0{schemaOrReferenceOrBoolean;constructor({context:t,breadcrumbs:r,schemaOrReferenceOrBoolean:i}){super({context:t,breadcrumbs:r}),this.schemaOrReferenceOrBoolean=i}convert(){let t=this.tryConvertUnknownMap();if(t!=null)return t;let r=this.tryConvertTypedMap();if(r!=null)return r}tryConvertUnknownMap(){if(typeof this.schemaOrReferenceOrBoolean=="boolean"){let t=gf.container(_b.map({keyType:w0.STRING,valueType:gf.unknown()}));return{type:lO.alias({aliasOf:t,resolvedType:t}),referencedTypes:new Set,inlinedTypes:{}}}}tryConvertTypedMap(){if(typeof this.schemaOrReferenceOrBoolean=="boolean")return;let r=new Ok({context:this.context,breadcrumbs:this.breadcrumbs,schemaOrReference:this.schemaOrReferenceOrBoolean}).convert();if(r!=null){let i=gf.container(_b.map({keyType:w0.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:lO.alias({aliasOf:i,resolvedType:i}),referencedTypes:n,inlinedTypes:r.inlinedTypes}}}};function CRa({properties:e,required:t,breadcrumbs:r,context:i,errorCollector:n}){let a=[],u={},l={},d=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=yJE(r,o,i)??i.convertBreadcrumbsToName(c),g="nullable"in o?o.nullable:!1,m=new Ok({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=>{d.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))d.add(s);return{convertedProperties:a,propertiesByAudience:l,inlinedTypesFromProperties:u,referencedTypes:d}}function yJE(e,t,r){return r.isReferenceObject(t)?void 0:new pH.FernTypeNameExtension({breadcrumbs:e,schema:t,context:r}).convert()}var U9n=class extends w0{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:lO.object({properties:[],extends:[],extendedProperties:[],extraProperties:t}),propertiesByAudience:{},inlinedTypes:{},referencedTypes:new Set};let{convertedProperties:r,inlinedTypesFromProperties:i,referencedTypes:n,propertiesByAudience:a}=CRa({properties:this.schema.properties??{},required:this.schema.required??[],breadcrumbs:this.breadcrumbs,context:this.context,errorCollector:this.context.errorCollector}),u=[],l=n,d=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 q=this.context.getTypeIdFromSchemaReference(c);q!=null&&l.add(q);continue}let{convertedProperties:g,inlinedTypesFromProperties:O,referencedTypes:m,propertiesByAudience:P}=CRa({properties:c.properties??{},required:[...this.schema.required??[],...c.required??[]],breadcrumbs:b,context:this.context,errorCollector:this.context.errorCollector});r.push(...g),d={...d,...O},s={...s,...P},m.forEach(E=>{l.add(E)})}for(let o of Object.keys(d))l.add(o);return{type:lO.object({properties:r,extends:u.map(o=>this.context.typeReferenceToDeclaredTypeName(o)).filter(V0),extendedProperties:[],extraProperties:t}),propertiesByAudience:s,referencedTypes:l,inlinedTypes:d}}};var V9n=class extends w0{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,d]of Object.entries(this.schema.discriminator.mapping??{})){let s=new Ok({context:this.context,schemaOrReference:{$ref:d},breadcrumbs:[...this.breadcrumbs,"discriminator","mapping",l]}),o=this.context.getTypeIdFromSchemaReference({$ref:d});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:xQ.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}=CRa({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:lO.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.isReferenceObjectWithIdentifier(a))c=this.context.convertReferenceToTypeReference({reference:a,displayNameOverride:a.title??a.name??a.messageId,displayNameOverrideSource:"reference_identifier"});else if(this.getDiscriminatorKeyForRef(a)!=null){let g=this.getDiscriminatorKeyForRef(a);c=this.context.convertReferenceToTypeReference({reference:a,displayNameOverride:g,displayNameOverrideSource:"discriminator_key"})}else c=this.context.convertReferenceToTypeReference({reference:a,displayNameOverrideSource:"schema_identifier"});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}`]),d=a.title,o=new WAi({context:this.context,id:l,nameOverride:d,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}):c.type==="object"&&c.properties.length===0?t.push({type:gf.container(_b.map({keyType:w0.STRING,valueType:gf.unknown()})),docs:a.description}):(t.push({type:this.context.createNamedTypeReference(l,d),docs:a.description}),i={...i,...o.inlinedTypes,[l]:o.convertedSchema}),o.convertedSchema.typeDeclaration.referencedTypes.forEach(b=>{r.add(b)})}}return{type:lO.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 Ok({context:this.context,breadcrumbs:this.breadcrumbs,schemaOrReference:t}).convert();if(i==null)return;let n=this.wrapInNullable(i.type);return{type:lO.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!0;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(_b.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 W9n=class extends w0{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(_b.literal(x9.string(t))):gf.primitive({v1:"STRING",v2:Lp.string({default:this.context.getAsString(this.schema.default),validation:this.getStringValidation(this.schema)})})}case"number":switch(this.schema.format){case"double":return gf.primitive({v1:"DOUBLE",v2:Lp.double({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"float":return gf.primitive({v1:"FLOAT",v2:Lp.float({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"int32":return gf.primitive({v1:"INTEGER",v2:Lp.integer({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"int64":return gf.primitive({v1:"LONG",v2:Lp.long({default:this.context.getAsNumber(this.schema.default)})});case"uint32":return gf.primitive({v1:"UINT",v2:Lp.uint({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"uint64":return gf.primitive({v1:"UINT_64",v2:Lp.uint64({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});default:return gf.primitive({v1:"DOUBLE",v2:Lp.double({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})})}case"integer":switch(this.schema.format){case"double":return gf.primitive({v1:"DOUBLE",v2:Lp.double({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"float":return gf.primitive({v1:"FLOAT",v2:Lp.float({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"int32":return gf.primitive({v1:"INTEGER",v2:Lp.integer({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"int64":return gf.primitive({v1:"LONG",v2:Lp.long({default:this.context.getAsNumber(this.schema.default)})});case"uint32":return gf.primitive({v1:"UINT",v2:Lp.uint({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"uint64":return gf.primitive({v1:"UINT_64",v2:Lp.uint64({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});default:return gf.primitive({v1:"INTEGER",v2:Lp.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(_b.literal(x9.boolean(t))):gf.primitive({v1:"BOOLEAN",v2:Lp.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 vJE=["description","example","title","default","deprecated","readOnly","writeOnly","xml","externalDocs","extensions"],WAi=class e extends w0{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 d=this.tryConvertMapSchema();if(d!=null)return d;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 pH.FernEnumExtension({breadcrumbs:this.breadcrumbs,schema:this.schema,context:this.context}).convert(),n=new L9n({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 W9n({context:this.context,schema:this.schema}).convert();if(r!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:lO.alias({aliasOf:r,resolvedType:r}),referencedTypes:new Set}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:{}}}tryConvertArraySchema(){if(this.schema.type==="array"){let r=new H9n({context:this.context,breadcrumbs:this.breadcrumbs,schema:this.schema}).convert();if(r!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:lO.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 V9n({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"||typeof this.schema.additionalProperties=="boolean")&&this.schema.additionalProperties!=null&&!this.schema.properties&&!this.schema.allOf){let r=new vko({context:this.context,breadcrumbs:this.breadcrumbs,schemaOrReferenceOrBoolean: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 U9n({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:lO.alias({aliasOf:gf.unknown(),resolvedType:gf.unknown()}),referencedTypes:new Set}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:{}}}tryConvertFernTypeDeclaration(){let r=new pH.FernTypeExtension({breadcrumbs:this.breadcrumbs,schema:this.schema,context:this.context}).convert();if(r==null)return;let i=BB_(r);if(i!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:lO.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=[...vJE,...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 Wir({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 Ok=class extends w0{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 WAi({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(_b.optional(t))}wrapInNullable(t){return gf.container(_b.nullable(t))}};var H9n=class e extends w0{static LIST_UNKNOWN=gf.container(_b.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 Ok({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(_b.list(r.type)),referencedTypes:i,inlinedTypes:r.inlinedTypes}}}return{typeReference:e.LIST_UNKNOWN,referencedTypes:new Set,inlinedTypes:{}}}};var bko=class extends w0{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.schema==null)return;if(r){let d=this.context.resolveMaybeReference({schemaOrReference:t.schema,breadcrumbs:[...this.breadcrumbs,"content",i]});if(d==null)return;t.schema=d}let u=new Ok({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(([d,s])=>{if(this.context.isReferenceObject(s)){let o=this.context.resolveReference({reference:s,breadcrumbs:[...this.breadcrumbs,"content",i,"examples"],skipErrorCollector:!0});return o.resolved?[d,o.value]:null}return[d,s]}).filter(d=>d!=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,d]of u){let s=this.context.resolveExampleWithValue(d),o=this.context.isExampleWithSummary(d)?d.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=T_(`${[...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}),d=new Wir({breadcrumbs:this.breadcrumbs,context:this.context,schema:u,example:r??l[0],generateOptionalProperties:n??!1,exampleGenerationStrategy:a}),{validExample:s,errors:o}=d.convert();return i||o.forEach(c=>{this.context.errorCollector.collect({message:c.message,path:c.path})}),s}};var gko=class extends w0{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??w0.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??w0.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??w0.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 Wir({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 Oko=class extends Aj{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 IB_="Base",EHt=class e extends w0{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 d=e.getServerName({server:l,context:this.context});return{id:d,name:this.context.casingsGenerator.generateName(d)}}).filter((l,d,s)=>s.findIndex(o=>o.id===l.id)===d),a=[i,...n],u=this.servers.map(l=>{let d=e.getServerName({server:l,context:this.context}),s=this.endpointLevelServers?.map(o=>[e.getServerName({server:o,context:this.context}),this.getServerUrl(o)]);return{id:d,name:this.context.casingsGenerator.generateName(d),urls:{[r]:this.getServerUrl(l),...Object.fromEntries(s??[])},docs:l.description}});return{value:{defaultEnvironment:u[0]?.id,environments:cx.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(V0);return{value:{defaultEnvironment:t[0]?.id,environments:cx.singleBaseUrl({environments:t})},defaultUrl:t[0]?.id}}static getServerExtensionName({server:t,context:r}){return new Oko({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,d])=>d.enum!=null&&d.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 d=r.url.replace(`{${a}}`,l),s={};for(let[c,b]of Object.entries(r.variables??{}))c!==a&&(s[c]=b);let o={...r,url:d,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(V0)}getDefaultBaseUrlName(){return this.servers==null||this.servers.length===0||this.servers[0]==null?IB_:e.getServerExtensionName({server:this.servers[0],context:this.context})??IB_}};var BRa={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"},bJE=new Set(Object.values(BRa));var gJE=hu.object({type:hu.string(),channelId:hu.string().optional(),messageId:hu.string(),value:hu.any()}),OJE=hu.object({summary:hu.string().optional(),description:hu.string().optional(),"query-parameters":hu.record(hu.string()).optional(),headers:hu.record(hu.string()).optional(),messages:hu.array(gJE)}),zB_=hu.array(OJE);var mko=class extends Aj{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=zB_.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 $9n=class extends w0{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 mko({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(d=>({type:i==="v2"?d.type:d.messageId,body:d.value}))}]))}transformToValidPath(t){return t.startsWith("/")?t:"/"+t}};var HAi=class extends QA.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 pH.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 QA.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 Pko=class extends Aj{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 G9n=class extends Aj{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 jko=class extends $9n{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 G9n({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 d=[];u!=null&&d.push(u),l!=null&&d.push(l);let o=new Pko({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=lF(c),O=T_(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:d,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 d=qVi(T_(`${this.channelPath}_${a}`)).replace(/ /g,"");if("oneOf"in r.message){let o=new QA.SchemaConverters.SchemaOrReferenceConverter({context:this.context,breadcrumbs:u,schemaOrReference:r.message,schemaIdOverride:d}).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 QA.SchemaConverters.SchemaOrReferenceConverter({context:this.context,breadcrumbs:u,schemaOrReference:s,schemaIdOverride:d}).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=R9.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 HAi({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 d=new HAi({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();d!=null&&d.type==="header"&&(this.inlinedTypes={...this.inlinedTypes,...d.inlinedTypes},r.push(d.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 d=new HAi({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();d!=null&&d.type==="query"&&(this.inlinedTypes={...this.inlinedTypes,...d.inlinedTypes},r.push(d.parameter))}}}};var Q9n=class extends w0{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:cx.singleBaseUrl({environments:t})}}constructServerUrl(t,r){return r.includes("://")?r:`${t}://${r}`}};var wko=class extends Q9n{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 kPc="$message.",xB_="#/channels/",RB_="#/servers/",Sko=class extends $9n{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 G9n({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=R9.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 d=this.resolveChannelServersFromReference(this.channel.servers??[])??Object.keys(this.context.spec.servers??{})[0],s=this.transformToValidPath(this.channel.address??this.channelPath),o=lF(s),c=this.context.getAudiences({operation:this.channel,breadcrumbs:this.breadcrumbs})??[];return{channel:{name:this.context.casingsGenerator.generateName(a),displayName:a,baseUrl:d,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:d,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:d,parameterKey:s}=l,c=new HAi({context:this.context,breadcrumbs:this.breadcrumbs,parameter:{...u,name:s,in:d},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(kPc)){this.context.errorCollector.collect({message:`Invalid location format: ${t}; expected ${kPc} prefix`,path:this.breadcrumbs});return}let n=r.substring(kPc.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(RB_)){this.context.errorCollector.collect({message:`Failed to resolve server name from server ref ${r.$ref}`,path:this.breadcrumbs});return}let i=r.$ref.substring(RB_.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(xB_))throw new Error(`Failed to resolve channel path from operation ${t.channel.$ref}`);return t.channel.$ref.substring(xB_.length)}};var Dko=class extends Q9n{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 IRa=class extends Mpi{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 d=this.context.resolveMaybeReference({schemaOrReference:l.payload,breadcrumbs:u});if(d==null)continue;let s=`${r}_${n}`;this.convertSchema({id:s,breadcrumbs:u,schema:d})}}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 QA.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 Dko({context:this.context,breadcrumbs:["servers"],servers:r}).convert()}else{let r=this.context.spec.servers;t=new wko({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 pH.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 Sko({context:this.context,breadcrumbs:["channels",t],websocketGroup:n,channel:r,channelPath:t,operations:l}).convert()}else a=new jko({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 zRa=class extends f8{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,displayNameOverrideSource:n}){let a,u=t.$ref.match(/^.*\/schemas\/(.+)$/),l=t.$ref.match(/^.*\/channels\/([^/]+)\/messages\/(.+)$/),d=t.$ref.match(/^.*\/messages\/(.+)$/);if(u&&u[1])return a=u[1],this.convertSchemaReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:i,displayNameOverrideSource:n,typeId:a});if(l&&l[2]){let s=l[1],o=l[2];return a=`${s}_${o}`,this.convertV3MessageReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:i,displayNameOverrideSource:n,typeId:a})}else return d&&d[1]?(a=d[1],this.convertV2MessageReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:i,displayNameOverrideSource:n,typeId:a})):{ok:!1}}convertSchemaReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:i,displayNameOverrideSource:n,typeId:a}){let u=this.resolveReference({reference:t,breadcrumbs:r});if(!u.resolved)return{ok:!1};let l;return n==="reference_identifier"?l=i??u.value.title:(n==="discriminator_key"||n==="schema_identifier")&&(l=u.value.title??i),{ok:!0,reference:gf.named({fernFilepath:this.createFernFilepath(),name:this.casingsGenerator.generateName(a),typeId:a,displayName:l,default:void 0,inline:!1})}}convertV3MessageReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:i,displayNameOverrideSource:n,typeId:a}){let u=this.resolveReference({reference:t,breadcrumbs:r});if(!u.resolved)return{ok:!1};let l;return n==="reference_identifier"?l=i??u.value.name:(n==="discriminator_key"||n==="schema_identifier")&&(l=u.value.name??i),{ok:!0,reference:gf.named({fernFilepath:this.createFernFilepath(),name:this.casingsGenerator.generateName(a),typeId:a,displayName:l,default:void 0,inline:!1})}}convertV2MessageReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:i,displayNameOverrideSource:n,typeId:a}){let u=this.resolveReference({reference:t,breadcrumbs:r});if(!u.resolved)return{ok:!1};let l;return n==="reference_identifier"?l=i??u.value.messageId??u.value.name:(n==="discriminator_key"||n==="schema_identifier")&&(l=u.value.messageId??u.value.name??i),{ok:!0,reference:gf.named({fernFilepath:this.createFernFilepath(),name:this.casingsGenerator.generateName(a),typeId:a,displayName:l,default:void 0,inline:!1})}}};var UB_=ci(ejc(),1);var ijc=ci(ejc(),1);var NB_=["get","post","put","delete","patch","head"];var Eko=class extends Aj{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 jJE=hu.object({cursor:hu.string(),next_cursor:hu.string(),results:hu.string()}),wJE=hu.object({offset:hu.string(),results:hu.string(),step:hu.string().optional(),"has-next-page":hu.string().optional()}),tjc=hu.union([hu.boolean(),jJE,wJE]);var rjc="$request.",Mko="$response.",Ako=class extends Aj{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=tjc.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=tjc.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:f8.maybeTrimPrefix(r.cursor,rjc),nextCursor:f8.maybeTrimPrefix(r.next_cursor,Mko),results:f8.maybeTrimPrefix(r.results,Mko)};let i=t;return{type:"offset",offset:f8.maybeTrimPrefix(i.offset,rjc),results:f8.maybeTrimPrefix(i.results,Mko),step:i.step!=null?f8.maybeTrimPrefix(i.step,rjc):void 0,hasNextPage:i["has-next-page"]!=null?f8.maybeTrimPrefix(i["has-next-page"],Mko):void 0}}};var SJE="$request.",DJE=hu.object({"stream-condition":hu.string().optional(),format:hu.enum(["sse","json"]).optional(),"stream-description":hu.string().optional(),"response-stream":hu.any(),response:hu.any()}),EJE=hu.union([hu.boolean(),DJE]),qko=class extends Aj{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=EJE.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:f8.maybeTrimPrefix(r.data["stream-condition"],SJE),responseStream:r.data["response-stream"],response:r.data.response}}};var Tko=class extends Aj{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 Cko=class extends Aj{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=JN.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 Bko=class extends QA.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(){return this.shouldConvertAsStreaming()?this.convertStreaming():this.convertNonStreaming()}convertStreaming(){if(this.streamingExtension==null)return;let t=[...this.group,this.method,"Response",this.statusCode].join("_"),r=Object.keys(this.responseBody.content??{});for(let i of r){let n=this.responseBody.content?.[i];if(n==null)continue;let a=this.parseMediaTypeObject({mediaTypeObject:n,schemaId:t,contentType:this.streamingExtension.format});if(a!=null)return this.convertStreamingResponse({mediaTypeObject:n,convertedSchema:a})}}convertNonStreaming(){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];if(a==null)continue;let u=this.parseMediaTypeObject({mediaTypeObject:a,schemaId:t,contentType:n});if(u!=null&&this.shouldReturnJsonResponse(n))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];if(a==null)continue;let u=this.parseMediaTypeObject({mediaTypeObject:a,schemaId:t,contentType:n});if(u!=null){if(this.isBinarySchema(u))return this.shouldReturnBytesResponse()?this.returnBytesResponse({mediaTypeObject:a}):this.returnFileDownloadResponse({mediaTypeObject:a});if(this.shouldReturnTextResponse(n))return this.returnTextResponse({mediaTypeObject:a})}}}convertStreamingResponse({mediaTypeObject:t,convertedSchema:r}){if(this.streamingExtension==null)return;switch(this.streamingExtension.format){case"json":return{responseBody:gE.streaming(SW.json({docs:this.responseBody.description,payload:r.type,terminator:void 0,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})})),streamResponseBody:void 0,inlinedTypes:r.inlinedTypes,examples:r.examples};case"sse":return{responseBody:gE.streaming(SW.sse({docs:this.responseBody.description,payload:r.type,terminator:void 0,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})})),streamResponseBody:void 0,inlinedTypes:r.inlinedTypes,examples:r.examples};default:return}}returnJsonResponse({mediaTypeObject:t,convertedSchema:r}){return{responseBody:gE.json(AZ.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:gE.bytes({docs:this.responseBody.description,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})}),streamResponseBody:void 0,inlinedTypes:{}}}returnFileDownloadResponse({mediaTypeObject:t}){return{responseBody:gE.fileDownload({docs:this.responseBody.description,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})}),streamResponseBody:void 0,inlinedTypes:{}}}returnTextResponse({mediaTypeObject:t}){return{responseBody:gE.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}}shouldConvertAsStreaming(){return this.streamingExtension!=null}shouldReturnJsonResponse(t){return t.includes("json")}shouldReturnBytesResponse(){return(this.context.settings?.useBytesForBinaryResponse??!1)&&this.streamingExtension==null}shouldReturnTextResponse(t){return mM.parse(t)?.isText()??!1}};var Iko=class extends QA.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=BRa[this.statusCode];if(i==null){this.context.logger.warn(`No error name found for status code ${this.statusCode}`);return}let n=this.getErrorIdFromErrorName(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=BRa[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];if(n==null)continue;let a=this.parseMediaTypeObject({mediaTypeObject:n,schemaId:FB_(`${this.methodName}Request${r}`),contentType:i});if(a==null)continue;let u=this.getErrorIdFromErrorName(r);if(a.schema!=null)return this.constructErrorConverterOutput({errorName:r,errorId:u,fernFilepath:a.schema.typeDeclaration.name.fernFilepath,convertedSchema:a});if(a.type.type==="named")return this.constructErrorConverterOutput({errorName:r,errorId:u,fernFilepath:a.type.fernFilepath,convertedSchema:a})}}constructErrorConverterOutput({errorName:t,errorId:r,fernFilepath:i,convertedSchema:n}){return{error:{error:{name:this.context.casingsGenerator.generateName(r),fernFilepath:i,errorId:r},docs:this.responseError.description},errorType:n.type,displayName:t,statusCode:this.statusCode,inlinedTypes:n.inlinedTypes,examples:n.examples}}getErrorIdFromErrorName(t){return this.context.enableUniqueErrorsPerEndpoint?FB_(`${this.methodName}Request${t}`):t}};function FB_(e){return e.length===0?e:e.charAt(0).toUpperCase()+e.slice(1)}var zko=class extends QA.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 QA.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 xko=class extends QA.AbstractConverters.AbstractMediaTypeObjectConverter{requestBody;schemaId;streamingExtension;constructor({context:t,breadcrumbs:r,requestBody:i,group:n,method:a,streamingExtension:u}){super({context:t,breadcrumbs:r,group:n,method:a}),this.requestBody=i,this.schemaId=[...this.group,this.method,"Request"].join("_"),this.streamingExtension=u}convert(){if(!this.requestBody.content)return;let t=Object.keys(this.requestBody.content).filter(u=>mM.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=>mM.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=>mM.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=>mM.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=>mM.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.requestBody.content[t];if(r==null)return;let i=this.parseMediaTypeObject({mediaTypeObject:r,schemaId:this.schemaId,contentType:t});if(i!=null)return i.schema?.typeDeclaration.shape.type==="object"?{requestBody:ZC.inlinedRequestBody({contentType:t,docs:this.requestBody.description,name:this.context.casingsGenerator.generateName(this.schemaId),extendedProperties:i.schema?.typeDeclaration.shape.extendedProperties,extends:i.schema?.typeDeclaration.shape.extends,properties:i.schema?.typeDeclaration.shape.properties,extraProperties:i.schema?.typeDeclaration.shape.extraProperties,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:r,exampleGenerationStrategy:"request"})}),streamRequestBody:void 0,inlinedTypes:this.context.removeSchemaFromInlinedTypes({id:this.schemaId,inlinedTypes:i.inlinedTypes})}:{requestBody:ZC.reference({contentType:t,docs:this.requestBody.description,requestBodyType:i.type,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:r,exampleGenerationStrategy:"request"})}),streamRequestBody:void 0,inlinedTypes:i.inlinedTypes??{}}}handleMultipartContent({contentType:t}){let r=this.requestBody.content[t];if(r==null||r.schema==null)return;let i=this.parseMediaTypeObject({mediaTypeObject:r,schemaId:this.schemaId,resolveSchema:!0,contentType:t});if(i!=null&&i.schema?.typeDeclaration.shape.type==="object")return{requestBody:ZC.fileUpload({contentType:t,docs:this.requestBody.description,name:this.context.casingsGenerator.generateName(this.schemaId),properties:i.schema?.typeDeclaration.shape.properties.map(n=>this.convertRequestBodyProperty({property:n,contentType:t})),v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:r,exampleGenerationStrategy:"request"})}),streamRequestBody:void 0,inlinedTypes:this.context.removeSchemaFromInlinedTypes({id:this.schemaId,inlinedTypes:i.inlinedTypes}),examples:i.examples}}handleOctetStreamContent({contentType:t}){let r=this.requestBody.content[t];if(r==null)return;let i=this.parseMediaTypeObject({mediaTypeObject:r,schemaId:this.schemaId,contentType:t});return{requestBody:ZC.bytes({contentType:t,isOptional:this.requestBody.required===!1,docs:this.requestBody.description,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:r,exampleGenerationStrategy:"request"})}),streamRequestBody:void 0,inlinedTypes:i?.inlinedTypes??{}}}convertRequestBodyProperty({property:t,contentType:r}){let{isFile:i,isOptional:n,isArray:a}=this.recursivelyCheckTypeReferenceIsFile({typeReference:t.valueType});return i?a?z9.file(Qne.fileArray({key:t.name,isOptional:n,contentType:r,docs:t.docs})):z9.file(Qne.file({key:t.name,isOptional:n,contentType:r,docs:t.docs})):z9.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}):{isFile:this.context.isFile(t),isOptional:r??!1,isArray:i??!1}}};var MJE=/{([^}]+)}/g,AJE=new Set(["user-agent","content-length","content-type","x-forwarded-for","cookie","origin","content-disposition","x-ping-custom-domain"]),J9n=class extends w0{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 lR.Get;case"post":return lR.Post;case"put":return lR.Put;case"delete":return lR.Delete;case"patch":return lR.Patch;case"head":return lR.Head;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 d=new zko({context:this.context,breadcrumbs:t,parameter:u}).convert();if(d!=null)switch(this.inlinedTypes={...this.inlinedTypes,...d.inlinedTypes},d.type){case"path":r.push(d.parameter);break;case"query":i.push(d.parameter);break;case"header":{let s=d.parameter.name.name.originalName,o=d.parameter.name.wireValue,c=!1,b=this.context.authOverrides?.["auth-schemes"];if(b!=null){for(let g of Object.values(b))if(BJE(g)&&g.header.toLowerCase()===o.toLowerCase()){c=!0;break}}!AJE.has(s.toLowerCase())&&!c&&n.push(d.parameter);break}}}return this.checkMissingPathParameters(r),{pathParameters:r,queryParameters:i,headers:n}}checkMissingPathParameters(t){let i=[...this.path.matchAll(MJE)].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:w0.STRING,docs:void 0,location:"ENDPOINT",variable:void 0,v2Examples:{userSpecifiedExamples:{},autogeneratedExamples:{[a]:this.generateStringParameterExample({example:n})}}})}}convertRequestBody({breadcrumbs:t,group:r,method:i,streamingExtension:n}){if(this.operation.requestBody==null)return;let a=this.context.resolveMaybeReference({schemaOrReference:this.operation.requestBody,breadcrumbs:t});if(a==null)return null;let l=new xko({context:this.context,breadcrumbs:t,requestBody:a,group:r??[],method:i,streamingExtension:n}).convert();if(l!=null)return this.inlinedTypes={...this.inlinedTypes,...l.inlinedTypes},{value:l.requestBody,examples:l.examples}}computeGroupNameAndLocationFromExtensions(){let r=new pH.SdkMethodNameExtension({breadcrumbs:this.breadcrumbs,operation:this.operation,context:this.context}).convert()?.methodName,n=new pH.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?T_(this.operation.summary):T_(`${this.method}_${this.path.split("/").join("_")}`))}computeGroupNameFromTagAndOperationId(){let t=this.operation.tags?.[0],r=this.evaluateMethodNameFromOperation();if(t==null)return{method:r};let i=LB_(t),n=LB_(r);return OEe(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,d)=>l!==n[d]))return{group:[t],method:i};let u=n.slice(r.length);return{group:[t],method:T_(u.join("_"))}}generateStringParameterExample({example:t}){let r=new QA.ExampleConverter({breadcrumbs:this.breadcrumbs,context:this.context,schema:{type:"string"},example:t}),{validExample:i}=r.convert();return i}};function LB_(e){let t=qJE(e)?TJE(e):CJE(e);return t=t.map(r=>r.toLowerCase()),t=Sxe(t),t}function qJE(e){return/^[a-z]+(?:[A-Z][a-z]+)*$/.test(e)}function TJE(e){return e.split(/(?=[A-Z])/)}function CJE(e){return e.split(/[^a-zA-Z0-9]+/)}function BJE(e){return e?.header!=null}var Rko=class e extends J9n{idempotent;idToAuthScheme;topLevelServers;streamingExtension;static AUTHORIZATION_HEADER="Authorization";constructor({context:t,breadcrumbs:r,operation:i,method:n,path:a,idempotent:u,idToAuthScheme:l,topLevelServers:d,streamingExtension:s}){super({context:t,breadcrumbs:r,operation:i,method:n,path:a}),this.idempotent=u,this.idToAuthScheme=l,this.topLevelServers=d,this.streamingExtension=s}convert(){let t=this.convertHttpMethod();if(t==null)return;let{group:r,method:i}=this.computeGroupNameAndLocationFromExtensions()??this.computeGroupNameFromTagAndOperationId(),{headers:n,pathParameters:a,queryParameters:u}=this.convertParameters({breadcrumbs:[...this.breadcrumbs,"parameters"]}),l=this.convertRequestBody({breadcrumbs:[...this.breadcrumbs,"requestBody"],group:r,method:i,streamingExtension:this.streamingExtension}),d=l?.value,s=this.convertResponseBody({breadcrumbs:[...this.breadcrumbs,"responses"],group:r,method:i,streamingExtension:this.streamingExtension}),o=s?.response,c=s?.streamResponse,b=s!=null?s.errors:[],g={},O=b.map(I=>I.error),m=lF(this.path),P=this.getEndpointBaseUrl(),E=this.getEndpointBaseUrls(),q=this.convertExamples({httpPath:m,httpMethod:t,baseUrl:P}),M=new Set(this.operation.security?.flatMap(I=>Object.keys(I))??[]),D=this.authSchemeToHeaders(Array.from(M));D.length>0&&n.push(...D);for(let I of b){let L=I.error,V=I.errorType,X=L.error.errorId;g[X]={name:L.error,displayName:I.displayName,discriminantValue:{name:L.error.name,wireValue:X},type:V,statusCode:I.statusCode,docs:L.docs,examples:[],v2Examples:void 0}}let C={displayName:this.operation.summary,method:t,name:this.context.casingsGenerator.generateName(i),baseUrl:P,v2BaseUrls:E,path:m,pathParameters:a,queryParameters:u,headers:n.filter((I,L,V)=>L===V.findIndex(X=>X.name.wireValue===I.name.wireValue)),requestBody:d,sdkRequest:void 0,errors:O,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:m,allPathParameters:a,pagination:void 0,transport:void 0,v2Examples:{autogeneratedExamples:{},userSpecifiedExamples:q},source:Gne.openapi()},x=this.context.namespace!=null?[this.context.namespace]:[],$=r?.map(I=>T_(I));return x.push(...$??[]),{audiences:this.context.getAudiences({operation:this.operation,breadcrumbs:this.breadcrumbs})??[],group:r,errors:g,endpoint:{id:`endpoint_${x.join("/")}.${i}`,...C,response:o},streamEndpoint:c!=null&&c.body!=null?{id:`endpoint_${x.join("/")}.${i}_stream`,...C,response:c}:void 0,inlinedTypes:this.inlinedTypes,servers:this.filterOutTopLevelServers(this.operation.servers??[])}}convertResponseBody({breadcrumbs:t,group:r,method:i,streamingExtension:n}){if(this.operation.responses==null)return;let a,u=!1;for(let[l,d]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:d,breadcrumbs:[...t,l]});if(o==null)continue;let b=new Bko({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:d,breadcrumbs:[...t,l]});if(o==null)continue;let b=new Iko({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}authSchemeToHeaders(t){let r=[];for(let i of t){let n=this.idToAuthScheme?.[i];if(n==null)continue;let a={valueType:w0.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 Cko({context:this.context,breadcrumbs:this.breadcrumbs,operation:this.operation}).convert();return a==null?{}:Object.fromEntries(a.map((u,l)=>[u.name??`Example_${l}`,{request:u.request!=null?{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}:void 0,response:u.response!=null?{docs:void 0,statusCode:void 0,body:Ws.V2HttpEndpointResponseBody.json(u.response)}:void 0,codeSamples:u["code-samples"]?.map(d=>({docs:void 0,language:("language"in d?d.language:d.sdk)??void 0,code:d.code}))}]))}getEndpointBaseUrl(){let t=this.operation.servers?.[0];if(t==null)return;let i=this.topLevelServers?.find(n=>n.url===t.url)??t;return EHt.getServerName({server:i,context:this.context})}getEndpointBaseUrls(){let t=this.operation.servers;return t?.map(i=>{let a=this.topLevelServers?.find(u=>u.url===i.url)??i;return EHt.getServerName({server:a,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 K9n=class extends J9n{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,streamingExtension:void 0}),l;if(u?.value.type==="inlinedRequestBody")l=EW.inlinedPayload({name:u.value.name,extends:u.value.extends,properties:u.value.properties});else if(u?.value.type==="reference")l=EW.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 Nko=class extends w0{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 NB_){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}let s=new qko({breadcrumbs:u,operation:a,context:this.context}).convert(),o=this.tryParseAsHttpEndpoint({operationBreadcrumbs:u,operation:a,method:n,streamingExtension:s});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 Tko({breadcrumbs:i,operation:t,context:n}).convert()?new K9n({context:this.context,breadcrumbs:i,operation:t,method:ijc.OpenAPIV3.HttpMethods[r.toUpperCase()],path:this.path}).convert():void 0}tryParseAsHttpEndpoint({operation:t,method:r,operationBreadcrumbs:i,streamingExtension:n}){new Ako({breadcrumbs:i,operation:t,document:this.context.spec,context:this.context}).convert()!=null;let d=new Eko({breadcrumbs:i,operation:t,context:this.context}).convert();return new Rko({context:this.context,breadcrumbs:i,operation:t,method:ijc.OpenAPIV3.HttpMethods[r.toUpperCase()],path:this.path,idempotent:d,idToAuthScheme:this.idToAuthScheme,topLevelServers:this.topLevelServers,streamingExtension:n}).convert()}};var Fko=class extends w0{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 CB.bearer({token:this.context.casingsGenerator.generateName("token"),tokenEnvVar:void 0,docs:this.securityScheme.description});if(this.securityScheme.scheme==="basic")return CB.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 CB.header({name:{name:this.context.casingsGenerator.generateName(this.securityScheme.name),wireValue:this.securityScheme.name},valueType:w0.OPTIONAL_STRING,prefix:void 0,headerEnvVar:void 0,docs:this.securityScheme.description});break}case"oauth2":return CB.bearer({token:this.context.casingsGenerator.generateName("token"),tokenEnvVar:void 0,docs:this.securityScheme.description})}}};var xRa=class extends Mpi{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(GPc({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 Fko({context:this.context,breadcrumbs:["components","securitySchemes",i],securityScheme:a}).convert();l!=null&&(this.shouldAddAuthSchemeToIr({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=qRa({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 EHt({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 QA.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 K9n({context:this.context,breadcrumbs:["webhooks",r],operation:t.post,method:UB_.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 Nko({context:this.context,breadcrumbs:["paths",n],topLevelServers:this.context.spec.servers,pathItem:a,path:n}).convert();if(l!=null){for(let d of l.endpoints){if(this.addEndpointToIr({endpoint:d.endpoint,audiences:d.audiences,endpointGroup:d.group}),d.streamEndpoint!=null&&this.addEndpointToIr({endpoint:d.streamEndpoint,audiences:d.audiences,endpointGroup:d.group}),d.servers)for(let s of d.servers)this.shouldAddServerToCollectedServers({server:s,currentServers:r})&&r.push(s);if(d.errors)for(let[s,o]of Object.entries(d.errors))i[s]=o}for(let d of l.webhooks){let s=this.context.getGroup({groupParts:d.group,namespace:this.context.namespace});this.addWebhookToIr({webhook:d.webhook,operationId:s.join("."),group:s,audiences:d.audiences})}this.addTypesToIr(l.inlinedTypes)}}return{endpointLevelServers:r,errors:i}}shouldAddAuthSchemeToIr({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 RRa=class extends f8{isReferenceObject(t){return t!=null&&typeof t=="object"&&"$ref"in t}convertReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:i,displayNameOverrideSource: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==="reference_identifier"?l=i??u.value.title:(n==="discriminator_key"||n==="schema_identifier")&&(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 Lko=class extends QA.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 QA.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 IJE=hu.object({description:hu.string().optional(),required:hu.boolean().optional(),deprecated:hu.boolean().optional(),allowEmptyValue:hu.boolean().optional(),style:hu.string().optional(),explode:hu.boolean().optional(),allowReserved:hu.boolean().optional(),schema:hu.any().optional(),example:hu.any().optional(),examples:hu.record(hu.string(),hu.any()).optional(),content:hu.record(hu.string(),hu.any()).optional()}),zJE=IJE.extend({name:hu.string(),in:hu.string()}),xJE=hu.array(zJE),Uko=class extends Aj{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 xJE.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 Vko=class extends w0{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 d of this.pathParameters)r+=`/{${d.name.originalName}}`;let i=lF(r),n=[];for(let[d,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 QA.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 d=this.context.resolveMaybeReference({schemaOrReference:this.method.result,breadcrumbs:[...this.breadcrumbs,"result"]});if(d!=null){let s=new QA.SchemaConverters.SchemaOrReferenceConverter({breadcrumbs:[this.method.name,"result"],context:this.context,schemaOrReference:d.schema}),o=[this.method.name,"Result"].join("_"),c=s.convert();c!=null&&(a={docs:d.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,v2BaseUrls: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?ZC.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:gE.json(AZ.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:Gne.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 d=this.context.resolveReference({reference:i});if(d.resolved)n=d.value;else continue}else n=i;let a;if(n.result)if(this.context.isReferenceObject(n.result)){let d=this.context.resolveReference({reference:n.result});d.resolved&&(a=d.value)}else a=n.result;let u=n.name??`Example ${r+1}`,l=[];if(n.params&&Array.isArray(n.params)){l=[];for(let d of n.params)if(this.context.isReferenceObject(d)){let s=this.context.resolveReference({reference:d});if(s.resolved)l.push(s.value);else continue}else l.push(d)}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(d=>d.value)??void 0},response:{docs:void 0,statusCode:void 0,body:a?.value?Ws.V2HttpEndpointResponseBody.json({jsonrpc:"2.0",id:n.examplePairedRequest?.id||"1",result:a.value}):void 0},codeSamples:[]}}++r}return t}};var NRa=class extends Mpi{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 EHt({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 QA.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 Uko({context:this.context,breadcrumbs:["methods"],operation:this.context.spec}).convert(),i=[],n=[],a=[];if(r&&r.length>0)for(let[l,d]of r.entries()){let o=new Lko({context:this.context,breadcrumbs:[...this.breadcrumbs,`x-fern-parameters[${l}]`],parameter:d}).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 d=this.context.resolveMaybeReference({schemaOrReference:l,breadcrumbs:["methods"]});if(d==null)continue;let o=new Vko({context:this.context,breadcrumbs:["methods"],method:d,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 FRa=class extends f8{isReferenceObject(t){return t!=null&&"$ref"in t}convertReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:i,displayNameOverrideSource: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==="reference_identifier"?l=i??u.value.title:(n==="discriminator_key"||n==="schema_identifier")&&(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 VB_={[hy.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,iz(e)])),[hy.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"]),[hy.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"]),[hy.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"]),[hy.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"]),[hy.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"]),[hy.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"]),[hy.GenerationLanguage.SWIFT]:new Set([])};var RJE=["go","ruby"];function njc({generationLanguage:e,keywords:t,smartCasing:r}){let i={generateName:(n,a)=>{let u=c=>({unsafeName:c,safeName:NJE({name:c,keywords:FJE({generationLanguage:e,keywords:t})})}),l=T_(n),d=iz(l),s=AVi(n),o=SVi(l);return r&&(!VJE(o)&&(e==null||RJE.includes(e))&&(l=o.map((c,b)=>{if(b>0){let g=Wko(c);if(g!=null)return g;if(Hko(c))return c.toUpperCase()}return c}).join(""),d=o.map((c,b)=>{let g=Wko(c);return g??(Hko(c)?c.toUpperCase():b===0?iz(c):c)}).join("")),s=n.split(" ").map(c=>c.split(/(\d+)/).map(AVi).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??d)}},generateNameAndWireValue:({name:n,wireValue:a,opts:u})=>({name:i.generateName(n,u),wireValue:a})};return i}function NJE({name:e,keywords:t}){return t==null?e:t.has(e)?e+"_":UJE(e)?"_"+e:e}function FJE({generationLanguage:e,keywords:t}){if(t!=null)return new Set(t);if(e!=null)return VB_[e]}var LJE=/^[0-9]/;function UJE(e){return LJE.test(e)}function VJE(e){return e.some((t,r)=>{if(r===0)return!1;let i=e[r-1];if(i==null)return!1;let n=Wko(i)!=null||Hko(i),a=Wko(t)!=null||Hko(t);return n&&a})}function Wko(e){return HJE.get(e.toUpperCase())}function Hko(e){return WJE.has(e.toUpperCase())}var WJE=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"]),HJE=new Map([["ACLS","ACLs"],["APIS","APIs"],["CPUS","CPUs"],["GUIDS","GUIDs"],["IDS","IDs"],["UIDS","UIDs"],["UUIDS","UUIDs"],["URIS","URIs"],["URLS","URLs"]]);var WB_=require("fs/promises");async function ajc({context:e,absoluteFilePath:t,absoluteFilePathToOverrides:r}){let i=(await(0,WB_.readFile)(t)).toString(),n;try{n=JSON.parse(i)}catch{n=qd.load(i)}return r!=null?await i9n({absoluteFilePathToOverrides:r,context:e,data:n}):n}var SR=class extends YIa{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 wHt(this.absoluteFilePath)}async getOpenAPIIr({context:t,relativePathToDependency:r},i){let n=await CFe({context:t,specs:this.specs,relativePathToDependency:r});return XJi({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 CFe({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 d=this.generatorsConfiguration?.api?.headers!=null?{...this.generatorsConfiguration?.api}:void 0;d&&t.logger.trace("Using global header overrides from generators configuration");let s,o=[];for(let c of a){let b=Vu(this.absoluteFilePath,Qa.of(c.source?.file??"")),g=cne(aR(),b),O=new z9n({logger:t.logger,relativeFilepathToSpec:g});o.push(O);let m;switch(c.type){case"openapi":{let E=new RRa({namespace:c.namespace,generationLanguage:"typescript",logger:t.logger,smartCasing:!1,spec:c.value,exampleGenerationArgs:{disabled:!1},errorCollector:O,authOverrides:u,environmentOverrides:l,globalHeaderOverrides:d,enableUniqueErrorsPerEndpoint:i});m=await new xRa({context:E,audiences:r}).convert();break}case"asyncapi":{let E=new zRa({namespace:c.namespace,generationLanguage:"typescript",logger:t.logger,smartCasing:!1,spec:c.value,exampleGenerationArgs:{disabled:!1},errorCollector:O,enableUniqueErrorsPerEndpoint:i});m=await new IRa({context:E,audiences:r}).convert();break}default:O.collect({message:`Unsupported document type: ${c}`,path:[]});break}let P=njc({generationLanguage:"typescript",keywords:void 0,smartCasing:!1});m!=null&&(s=s===void 0?m:oko(s,m,P))}for(let c of this.allSpecs)if(c.type==="openrpc"){let b=c.absoluteFilepath,g=cne(aR(),b),O=new z9n({logger:t.logger,relativeFilepathToSpec:g});o.push(O);let m=new FRa({namespace:c.namespace,generationLanguage:"typescript",logger:t.logger,smartCasing:!1,spec:await ajc({context:t,absoluteFilePath:c.absoluteFilepath,absoluteFilePathToOverrides:c.absoluteFilepathToOverrides}),exampleGenerationArgs:{disabled:!1},errorCollector:O,enableUniqueErrorsPerEndpoint:i}),E=await new NRa({context:m,audiences:r}).convert(),q=njc({generationLanguage:"typescript",keywords:void 0,smartCasing:!1});E!=null&&(s=s===void 0?E:oko(s,E,q))}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 DMe({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(V0)]}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:Iae(),absoluteFilePath:u})),n},i)}};var HB_={None:"none",Header:"header"};var peu={};jo(peu,{ConjureAliasDeclaration:()=>Xko,ConjureArgument:()=>leu,ConjureArgumentWithParamType:()=>ceu,ConjureAuthDefinition:()=>k9n,ConjureAuthDefinitionType:()=>ueu,ConjureDefinitions:()=>aeu,ConjureEndpointDefinition:()=>feu,ConjureEnumDeclaration:()=>ieu,ConjureEnumVariant:()=>reu,ConjureEnumWithDocs:()=>teu,ConjureObjectDeclaration:()=>eeu,ConjureParamType:()=>seu,ConjurePrimitive:()=>Yko,ConjureService:()=>deu,ConjureServiceName:()=>Kko,ConjureType:()=>JAi,ConjureTypeDeclaration:()=>neu,ConjureTypeReference:()=>KAi,ConjureTypeWithDocs:()=>Zko,ConjureTypes:()=>oeu,ConjureUnionDeclaration:()=>kko,DefinitionFile:()=>bI_,WithDocs:()=>Hir,commons:()=>ljc,conjure:()=>fjc,services:()=>djc,types:()=>pjc});var ljc={};jo(ljc,{WithDocs:()=>Hir});var ip={};jo(ip,{JsonError:()=>Y9n,ParseError:()=>X9n,any:()=>aI_,bigint:()=>GB_,boolean:()=>oI_,booleanLiteral:()=>nI_,date:()=>QB_,discriminant:()=>hI_,enum_:()=>Gko,getObjectLikeUtils:()=>MHt,getObjectUtils:()=>DKi,getSchemaUtils:()=>Qq,isProperty:()=>QAi,lazy:()=>JB_,lazyObject:()=>tI_,list:()=>Jko,number:()=>uI_,object:()=>Qko,objectWithoutOptionalProperties:()=>eI_,optional:()=>ojc,property:()=>YB_,record:()=>fI_,set:()=>dI_,string:()=>sI_,stringLiteral:()=>iI_,transform:()=>ujc,undiscriminatedUnion:()=>_I_,union:()=>vI_,unknown:()=>cI_,withParsedProperties:()=>cjc});var qj={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 yA(e,t){return`Expected ${t}. Received ${$JE(e)}.`}function $JE(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 pL(e){return{...e,json:$B_(e.json),parse:$B_(e.parse)}}function $B_(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(`
1960
+ `}async function CFe({context:e,specs:t,relativePathToDependency:r}){let i=new QXo({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=>AHE({generator:i,protobufSpec:l,relativePathToDependency:r})));return[...n,...u]}async function AHE({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 GC_=require("fs"),C9n=require("fs/promises");var QC_=require("os"),JC_=ci(require("path"),1),KC_=require("stream/promises"),YC_=ci(tko(),1),XC_=ci(fne(),1);var BPc=ci(e$i(),1);var zP;(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"})(zP||(zP={}));var aQE=Efi();async function ZC_({dependencyName:e,dependenciesConfiguration:t,context:r,rootApiFile:i,cliVersion:n,settings:a,loadAPIWorkspace:u}){let l,d={type:zP.FAILED_TO_LOAD_DEPENDENCY,dependencyName:e},s=t.dependencies[e];return s==null?d={type:zP.DEPENDENCY_NOT_LISTED,dependencyName:e}:await r.runInteractiveTask({name:`Download ${dQE(s)}`},async o=>{switch(s.type){case"version":l=await lQE({context:o,dependency:s,cliVersion:n,settings:a,loadAPIWorkspace:u});return;case"local":l=await cQE({context:o,dependency:s,cliVersion:n,settings:a,loadAPIWorkspace:u});return;default:mo(s)}}),l!=null?{didSucceed:!0,definition:l}:{didSucceed:!1,failure:d}}var kC_="dependencies";var oQE="metadata.json",uQE=".fern";function sQE(e){return Vu($l.of((0,QC_.homedir)()),Qa.of(uQE),Qa.of(kC_),Qa.of(e.organization),Qa.of(e.apiName),Qa.of(e.version))}async function cQE({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:Qa.of(e.path)},i);return t.logger.info("Loaded..."),u}async function lQE({dependency:e,context:t,cliVersion:r,settings:i,loadAPIWorkspace:n}){let a=sQE(e),u=Vu(a,Qa.of(kC_)),l=Vu(a,Qa.of(oQE)),d;if(!await Cf(u)||!await Cf(l)){t.logger.info("Downloading manifest...");let c=await aQE.definitionRegistry.get(BPc.FernFiddle.OrganizationId(e.organization),BPc.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=sJi(r),O=sJi(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,C9n.mkdir)(u,{recursive:!0});try{await fQE({s3PreSignedReadUrl:c.body.definitionS3DownloadUrl,absolutePathToLocalOutput:u})}catch(m){t.failWithoutThrowing("Failed to download API",m);return}d=c.body,await(0,C9n.writeFile)(l,JSON.stringify(d))}else d=JSON.parse((await(0,C9n.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:d.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 fQE({s3PreSignedReadUrl:e,absolutePathToLocalOutput:t}){let r=await rF.get(e,{responseType:"stream"}),i=await XC_.default.dir(),n=JC_.default.join(i.path,"api.tgz");await(0,KC_.pipeline)(r.data,(0,GC_.createWriteStream)(n)),await(0,YC_.extract)({file:n,cwd:t})}function dQE(e){switch(e.type){case"version":return`@${e.organization}/${e.apiName}`;case"local":return`${e.path}`;default:mo(e)}}var dB_=ci(aB_(),1);function rko(e,t){for(let[r,i]of t3(e))_QE({relativeFilepath:r,failure:i,logger:t})}function _QE({relativeFilepath:e,failure:t,logger:r}){switch(t.type){case zP.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 zP.FILE_READ:r.error("Failed to open file: "+e);break;case zP.FILE_MISSING:r.error("Missing file: "+e);break;case zP.FILE_PARSE:t.error instanceof vSa?r.error(vFe({title:`Failed to parse ${e}: ${t.error.reason}`,subtitle:t.error.mark.snippet})):r.error("Failed to parse file: "+e);break;case zP.STRUCTURE_VALIDATION:for(let i of t.error.issues)for(let{title:n,subtitle:a}of hQE(i))r.error(vFe({title:n,subtitle:a,breadcrumbs:[e,...i.path]}));break;case zP.FAILED_TO_LOAD_DEPENDENCY:r.error("Failed to load dependency: "+t.dependencyName);break;case zP.DEPENDENCY_NOT_LISTED:r.error(`Dependency is not listed in ${VOo}: `+t.dependencyName);break;case zP.EXPORT_PACKAGE_HAS_DEFINITIONS:r.error("Exported package contains API definitions: "+t.pathToPackage);break;case zP.EXPORTING_PACKAGE_MARKER_OTHER_KEYS:r.error(`${t.pathOfPackageMarker} has an export so it cannot define other keys.`);break;case zP.JSONSCHEMA_VALIDATION:t.error.error!=null&&r.error(vFe({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(vFe({title:i.message??"Unknown error",breadcrumbs:[e,...i.instancePath.split("/").filter(n=>n!=="")]}));break;default:mo(t)}}function hQE(e){switch(e.code){case Jl.invalid_type:return[{title:"Incorrect type",subtitle:`Expected ${Gs.underline(e.expected)} but received ${Gs.underline(e.received)}`}];case Jl.unrecognized_keys:return e.keys.map(t=>({title:"Unexpected key",subtitle:`Encountered unexpected key ${Gs.underline(t)}`}));case Jl.invalid_enum_value:return[{title:"Unrecognized value",subtitle:`Allowed values: ${e.options.map(t=>Gs.underline(t)).join(", ")}`}];case Jl.invalid_union:case Jl.invalid_arguments:case Jl.invalid_return_type:case Jl.invalid_date:case Jl.invalid_string:case Jl.too_small:case Jl.too_big:case Jl.invalid_intersection_types:case Jl.not_multiple_of:case Jl.custom:default:return[{title:e.message}]}}var oB_=require("fs/promises");async function uB_(e,t){let r=[];for(let i of await Fxe(e,t))r.push(await yQE({relativeFilepath:xq(e,i),absoluteFilepath:i}));return r}async function yQE({relativeFilepath:e,absoluteFilepath:t}){return{relativeFilepath:e,absoluteFilepath:t,fileContents:(await(0,oB_.readFile)(t)).toString()}}async function sB_(e){let t={},r={};function i(n){try{t[n.relativeFilepath]={defaultUrl:void 0,contents:qd.load(n.fileContents,{schema:qd.CORE_SCHEMA}),rawContents:n.fileContents}}catch(a){r[n.relativeFilepath]={type:zP.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 cB_({dependenciesConfiguration:e,structuralValidationResult:t,context:r,cliVersion:i,settings:n,loadAPIWorkspace:a}){let u={},l={},d={};return await Promise.all(t3(t.packageMarkers).map(async([s,o])=>{if(o.contents.export==null)u[s]=o;else{let{export:c,...b}=o.contents;if(fZ(b)>0)d[s]={type:zP.EXPORTING_PACKAGE_MARKER_OTHER_KEYS,pathOfPackageMarker:s};else{let g=Xd(s);if(uVt(t.namedDefinitionFiles).some(m=>m!==s&&m.startsWith(g)))d[s]={type:zP.EXPORT_PACKAGE_HAS_DEFINITIONS,pathToPackage:g};else{let m=await ZC_({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[Xd(s)]={definition:m.definition,url:typeof o.contents.export=="object"?o.contents.export.url:void 0}:d[s]=m.failure}}}})),fZ(d)>0?{didSucceed:!1,failures:d}:{didSucceed:!0,packageMarkers:u,importedDefinitions:l}}var lB_=ci(require("path"),1);var xPc={};jo(xPc,{additionalProperties:()=>OQE,default:()=>PQE,definitions:()=>mQE,properties:()=>bQE,required:()=>gQE,type:()=>vQE});var vQE="object",bQE={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"}]}},gQE=["name"],OQE=!1,mQE={"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}},PQE={type:vQE,properties:bQE,required:gQE,additionalProperties:OQE,definitions:mQE};var RPc={};jo(RPc,{additionalProperties:()=>SQE,default:()=>EQE,definitions:()=>DQE,properties:()=>wQE,type:()=>jQE});var jQE="object",wQE={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"}]}},SQE=!1,DQE={"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","HEAD"]},"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}},EQE={type:jQE,properties:wQE,additionalProperties:SQE,definitions:DQE};var NPc={};jo(NPc,{additionalProperties:()=>qQE,default:()=>CQE,definitions:()=>TQE,properties:()=>AQE,type:()=>MQE});var MQE="object",AQE={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"}]}},qQE=!1,TQE={"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","HEAD"]},"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"}]}},CQE={type:MQE,properties:AQE,additionalProperties:qQE,definitions:TQE};function fB_({files:e,absolutePathToDefinition:t}){let r,i={},n={},a={};for(let[u,l]of t3(e)){let d=l.contents,s=o=>{a[u]={type:zP.JSONSCHEMA_VALIDATION,error:o}};if(u===i3){let o=pVt(d,xPc);if(o.success){let c=JN.serialization.RootApiFileSchema.parseOrThrow(d);r={defaultUrl:c["default-url"],contents:c,rawContents:l.rawContents}}else s(o)}else if(lB_.default.basename(u)===zS){let o=pVt(d,NPc);if(o.success){let c=JN.serialization.PackageMarkerFileSchema.parseOrThrow(d);n[u]={defaultUrl:typeof c.export=="object"?c.export.url:void 0,contents:c,rawContents:l.rawContents}}else s(o)}else{let o=pVt(d,RPc);if(o.success){let c=JN.serialization.DefinitionFileSchema.parseOrThrow(d);i[u]={defaultUrl:void 0,contents:c,rawContents:l.rawContents,absoluteFilePath:Vu(t,u)}}else s(o)}}return r==null?{didSucceed:!1,failures:{[Qa.of(i3)]:{type:zP.FILE_MISSING},...a}}:Object.keys(a).length>0?{didSucceed:!1,failures:a}:{didSucceed:!0,namedDefinitionFiles:i,rootApiFile:r,packageMarkers:n}}var Fir=class extends sHt{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,dB_.default)(r??{}),n=this.fernWorkspaces[i];if(n==null){let a=t||this.context,u=Vu(this.absoluteFilePath,Qa.of(v9)),l=await x2s({absolutePathToWorkspace:this.absoluteFilePath,context:a}),d=await uB_(u,"{yml,yaml}"),s=await sB_(d);if(!s.didSucceed)return rko(s.failures,a.logger),a.failAndThrow();let o=fB_({files:s.files,absolutePathToDefinition:u});if(!o.didSucceed)return rko(o.failures,a.logger),a.failAndThrow();let c=await cB_({dependenciesConfiguration:l,structuralValidationResult:o,context:a,cliVersion:this.cliVersion,settings:r,loadAPIWorkspace:this.loadAPIWorkspace});if(!c.didSucceed)return rko(c.failures,a.logger),a.failAndThrow();let b={absoluteFilePath:u,rootApiFile:o.rootApiFile,namedDefinitionFiles:o.namedDefinitionFiles,packageMarkers:c.packageMarkers,importedDefinitions:c.importedDefinitions};r?.auth!=null&&(b={...b,rootApiFile:{...b.rootApiFile,contents:{...b.rootApiFile.contents,auth:r?.auth}}}),n=new DMe({absoluteFilePath:this.absoluteFilePath,generatorsConfiguration:this.generatorsConfiguration,dependenciesConfiguration:l,workspaceName:this.workspaceName,definition:b,cliVersion:this.cliVersion,sources:[]}),this.fernWorkspaces[i]=n}return n}getAbsoluteFilePaths(){return[this.absoluteFilePath]}};var w0=class e{breadcrumbs=[];context;static STRING=Ws.TypeReference.primitive({v1:"STRING",v2:Ws.PrimitiveTypeV2.string({default:void 0,validation:void 0})});static OPTIONAL_STRING=Ws.TypeReference.container(Ws.ContainerType.optional(e.STRING));constructor({breadcrumbs:t=[],context:r}){this.breadcrumbs=t,this.context=r}};var pB_={[hy.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,iz(e)])),[hy.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"]),[hy.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"]),[hy.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"]),[hy.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"]),[hy.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"]),[hy.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"]),[hy.GenerationLanguage.SWIFT]:new Set([])};var BQE=["go","ruby"];function RMe({generationLanguage:e,keywords:t,smartCasing:r}){let i={generateName:(n,a)=>{let u=c=>({unsafeName:c,safeName:IQE({name:c,keywords:zQE({generationLanguage:e,keywords:t})})}),l=T_(n),d=iz(l),s=AVi(n),o=SVi(l);return r&&(!NQE(o)&&(e==null||BQE.includes(e))&&(l=o.map((c,b)=>{if(b>0){let g=iko(c);if(g!=null)return g;if(nko(c))return c.toUpperCase()}return c}).join(""),d=o.map((c,b)=>{let g=iko(c);return g??(nko(c)?c.toUpperCase():b===0?iz(c):c)}).join("")),s=n.split(" ").map(c=>c.split(/(\d+)/).map(AVi).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??d)}},generateNameAndWireValue:({name:n,wireValue:a,opts:u})=>({name:i.generateName(n,u),wireValue:a})};return i}function IQE({name:e,keywords:t}){return t==null?e:t.has(e)?e+"_":RQE(e)?"_"+e:e}function zQE({generationLanguage:e,keywords:t}){if(t!=null)return new Set(t);if(e!=null)return pB_[e]}var xQE=/^[0-9]/;function RQE(e){return xQE.test(e)}function NQE(e){return e.some((t,r)=>{if(r===0)return!1;let i=e[r-1];if(i==null)return!1;let n=iko(i)!=null||nko(i),a=iko(t)!=null||nko(t);return n&&a})}function iko(e){return LQE.get(e.toUpperCase())}function nko(e){return FQE.has(e.toUpperCase())}var FQE=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"]),LQE=new Map([["ACLS","ACLs"],["APIS","APIs"],["CPUS","CPUs"],["GUIDS","GUIDs"],["IDS","IDs"],["UIDS","UIDs"],["UUIDS","UUIDs"],["URIS","URIs"],["URLS","URLs"]]);var hB_=require("fs/promises");var FPc=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:d}=r;this._path.length===0?this._map["."+i]={line:u,position:l,lineStart:d}:this._fragments.push({path:this._path.join(".")+"."+i,line:u,position:l,lineStart:d})}else if(n==="mapping"){let u={path:a,children:[],line:0,position:0,lineStart:0},l=0;this.iterFragments(a,d=>{l++,!((!d.children||d.children.length===0)&&l%2===1)&&(this._path.length===1?this.resolveNode(d,d.path):(u.children.push({...d,path:d.path.slice(a.length+1)}),u.line=d.line,u.position=d.position,u.lineStart=d.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,d=i.length;this.iterFragments(a,s=>{l.has(s.position)||(d--,l.add(s.position),this._path.length===1?this.resolveNode(s,`${a}.${d}`):(u.children.push({...s,path:d.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}}},_B_=FPc;var Lir;(function(e){e.WARNING="warning",e.ERROR="error"})(Lir||(Lir={}));var z9n=class{errors=[];logger;breadcrumbToLineNumberMapper;relativeFilepathToSpec;constructor({logger:t,relativeFilepathToSpec:r}){this.logger=t,this.relativeFilepathToSpec=r,r&&(this.breadcrumbToLineNumberMapper=new LPc({logger:t,relativePathToFile:Qa.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||Lir.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===Lir.ERROR?t++:r++;return{numErrors:t,numWarnings:r}}async logErrors({logWarnings:t}){this.dedupe();for(let r of this.errors)if(!(r.level===Lir.WARNING&&!t)){switch(r.level){case Lir.ERROR:if(this.logger.log(Pb.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(Pb.Error,` - at location (${n})`)}break;case Lir.WARNING:default:if(this.logger.log(Pb.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(Pb.Warn,` - at location (${n})`)}}this.logger.log(Pb.Info,"")}}},LPc=class{logger;relativePathToFile;map=new _B_;initialized=!1;constructor({relativePathToFile:t,logger:r}){this.relativePathToFile=t,this.logger=r}async initialize(){if(!this.initialized)try{let t=await(0,hB_.readFile)(this.relativePathToFile,"utf-8");qd.load(t,{listener:this.map.listen()}),this.initialized=!0}catch(t){this.logger.log(Pb.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 f8=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=RMe({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=T_(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:Lir.ERROR,message:this.getErrorMessageForMissingRef({reference:t}),path:r}),{resolved:!1};n=n[u]}return n==null?(i||this.errorCollector.collect({level:Lir.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 d=t.$ref.split("#"),s=d[0];if(i=d[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=qd.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(d=>d.replace(/~1/g,"/"));for(let d of l){if(typeof r!="object"||r==null)return{resolved:!1};r=r[d]}if(r==null)return{resolved:!1};if(n&&typeof r=="object"&&r!==null){let d=new Set;d.add(t.$ref),r=await this.resolveNestedExternalReferences(r,a,d,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 d=r,s=u.substring(2).split("/").map(o=>o.replace(/~1/g,"/").replace(/~0/g,"~"));for(let o of s){if(typeof d!="object"||d===null)return t;d=d[o]}if(d!=null){let o=await this.resolveNestedExternalReferences(d,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 Rkt.ReadOnly;if(r.writeOnly)return Rkt.WriteOnly}}getAudiences({operation:t,breadcrumbs:r}){let n=new pH.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 pH.FernAvailabilityExtension({node:t,breadcrumbs:r,context:this}).convert();if(n!=null)return{status:n,message:void 0};if(t.deprecated===!0)return{status:B9.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://")}isReferenceObjectWithIdentifier(t){return this.isReferenceObject(t)&&("title"in t||"name"in t||"messageId"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 Aj=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 lF(e){let t=VQE(e),{value:r,done:i}=UPc(t,"{");return i?{head:r,parts:[]}:{head:r,parts:[...UQE(t)]}}function*UQE(e){let t;do{let{value:r}=UPc(e,"}"),i=UPc(e,"{");t=i.done,yield{pathParameter:r,tail:i.value}}while(!t)}function*VQE(e){for(let t of e)yield t}function UPc(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 DRa(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,d)=>{d>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 Uir({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 yB_({fieldName:e,containerType:t,maxDepth:r,currentDepth:i,typeDeclarations:n,skipOptionalProperties:a}){if(i>=r)return Vir({containerType:t});switch(t.type){case"list":{let u=Gq({fieldName:e,typeReference:t.list,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"?Vir({containerType:t}):{type:"success",example:bm.list({list:[u.example,u.example],itemType:t.list}),jsonExample:[u.jsonExample,u.jsonExample]}}case"literal":return{type:"success",example:bm.literal({literal:t.literal._visit({boolean:u=>Rd.boolean(u),string:u=>Rd.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 Vir({containerType:t});let u=Gq({fieldName:e,typeReference:t.optional,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"?Vir({containerType:t}):{type:"success",example:bm.optional({optional:u.example,valueType:t.optional}),jsonExample:u.jsonExample}}case"nullable":{if(a)return Vir({containerType:t});let u=Gq({fieldName:e,typeReference:t.nullable,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"?Vir({containerType:t}):{type:"success",example:bm.nullable({nullable:u.example,valueType:t.nullable}),jsonExample:u.jsonExample}}case"set":{let u=Gq({fieldName:e,typeReference:t.set,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"?Vir({containerType:t}):{type:"success",example:bm.set({set:[u.example],itemType:t.set}),jsonExample:[u.jsonExample]}}case"map":{let u=Gq({fieldName:e,typeReference:t.keyType,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a}),l=Gq({fieldName:e,typeReference:t.valueType,maxDepth:r,currentDepth:i+1,typeDeclarations:n,skipOptionalProperties:a});return u.type==="failure"||l.type==="failure"?Vir({containerType:t}):{type:"success",example:bm.map({map:[{key:u.example,value:l.example}],keyType:t.keyType,valueType:t.valueType}),jsonExample:{[u.jsonExample]:l.jsonExample}}}default:mo(t)}}function Vir({containerType:e}){switch(e.type){case"list":return{type:"success",example:bm.list({list:[],itemType:e.list}),jsonExample:[]};case"literal":return{type:"success",example:bm.literal({literal:e.literal._visit({boolean:t=>Rd.boolean(t),string:t=>Rd.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:bm.optional({optional:void 0,valueType:e.optional}),jsonExample:void 0};case"nullable":return{type:"success",example:bm.nullable({nullable:void 0,valueType:e.nullable}),jsonExample:void 0};case"set":return{type:"success",example:bm.set({set:[],itemType:e.set}),jsonExample:[]};case"map":return{type:"success",example:bm.map({map:[],keyType:e.keyType,valueType:e.valueType}),jsonExample:{}};default:mo(e)}}function bB_({fieldName:e,primitiveType:t}){switch(t.v1){case"STRING":return QQE({fieldName:e,default_:WQE(t.v2),validation:HQE(t.v2)});case"BASE_64":return{type:"success",example:Rd.base64(Gy.BASE64),jsonExample:Gy.BASE64};case"BOOLEAN":return{type:"success",example:Rd.boolean(Gy.BOOLEAN),jsonExample:Gy.BOOLEAN};case"DATE":return{type:"success",example:Rd.date(Gy.DATE),jsonExample:Gy.DATE};case"DATE_TIME":return{type:"success",example:Rd.datetime({datetime:new Date(Gy.DATE_TIME),raw:Gy.DATE_TIME}),jsonExample:Gy.DATE_TIME};case"DOUBLE":return JQE({fieldName:e,validation:$QE(t.v2)});case"FLOAT":return{type:"success",example:Rd.float(Gy.FLOAT),jsonExample:Gy.FLOAT};case"INTEGER":return KQE({fieldName:e,validation:GQE(t.v2)});case"UINT_64":return{type:"success",example:Rd.uint64(Gy.INT64),jsonExample:Gy.INT64};case"UINT":return{type:"success",example:Rd.uint(Gy.UINT),jsonExample:Gy.UINT};case"BIG_INTEGER":return{type:"success",example:Rd.bigInteger(Gy.INT64.toString()),jsonExample:`${Gy.INT64}`};case"LONG":return{type:"success",example:Rd.long(Gy.INT64),jsonExample:Gy.INT64};case"UUID":return{type:"success",example:Rd.uuid(Gy.UUID),jsonExample:Gy.UUID};default:mo(t.v1)}}function WQE(e){if(e?.type==="string")return e.default}function HQE(e){if(e?.type==="string")return e.validation}function $QE(e){if(e?.type==="double")return e.validation}function GQE(e){if(e?.type==="integer")return e.validation}function vB_(e){if(e<=Gy.SAMPLE_STRINGS.length){let t=Gy.SAMPLE_STRINGS[e-1];if(t)return t;throw new Error(`Unexpected undefined value in SAMPLE_STRINGS at index ${e-1}`)}return Gy.SAMPLE_STRINGS[Gy.SAMPLE_STRINGS.length-1]+".".repeat(e-Gy.SAMPLE_STRINGS.length)}function QQE({fieldName:e,default_:t,validation:r}){if(t!=null)return{type:"success",example:Rd.string({original:t}),jsonExample:t};if(r){let n=r.minLength,a=r.maxLength;if(n){let u=vB_(n);return{type:"success",example:Rd.string({original:u}),jsonExample:u}}else if(a){let u=vB_(a);return{type:"success",example:Rd.string({original:u}),jsonExample:u}}}let i=e??Gy.STRING;return{type:"success",example:Rd.string({original:i}),jsonExample:i}}function JQE({fieldName:e,validation:t}){if(t){let r=t.max,i=t.min;if(r)return{type:"success",example:Rd.double(r),jsonExample:r};if(i)return{type:"success",example:Rd.double(i),jsonExample:i}}return{type:"success",example:Rd.double(Gy.DOUBLE),jsonExample:Gy.DOUBLE}}function KQE({fieldName:e,validation:t}){if(t){let r=t.max,i=t.min;if(r)return{type:"success",example:Rd.integer(r),jsonExample:r};if(i)return{type:"success",example:Rd.integer(i),jsonExample:i}}return{type:"success",example:Rd.integer(Gy.INT),jsonExample:Gy.INT}}function x9n({fieldName:e,typeDeclarations:t,typeDeclaration:r,maxDepth:i,currentDepth:n,skipOptionalProperties:a}){switch(r.shape.type){case"alias":{let u=Gq({fieldName:e,typeDeclarations:t,typeReference:r.shape.aliasOf,maxDepth:i,currentDepth:n,skipOptionalProperties:a});if(u.type==="failure")return u;let{example:l,jsonExample:d}=u;return{type:"success",example:Iw.alias({value:l}),jsonExample:d}}case"enum":{let u=r.shape.values[0];return u==null?{type:"failure",message:"No enum values present"}:{type:"success",example:Iw.enum({value:u.name}),jsonExample:u.name.wireValue}}case"object":{let u={},l=[];if((r.shape.extendedProperties==null||r.shape.extendedProperties.length===0)&&r.shape.extends!=null)for(let c of r.shape.extends){let b=t[c.typeId];if(b==null)continue;let g=x9n({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 d=YQE({fieldName:e,typeDeclaration:r,objectTypeDeclaration:r.shape,typeDeclarations:t,currentDepth:n,maxDepth:i,skipOptionalProperties:a});if(d.type==="failure")return d;let{example:s,jsonExample:o}=d;return{type:"success",example:Iw.object({properties:[...l,...s.properties]}),jsonExample:Object.assign({},u,o)}}case"undiscriminatedUnion":{let u=0;for(let l of r.shape.members){let d=Gq({fieldName:e,typeReference:l.type,typeDeclarations:t,currentDepth:n+1,maxDepth:i,skipOptionalProperties:a});if(d.type==="failure"){++u;continue}let{example:s,jsonExample:o}=d;return{type:"success",example:Iw.undiscriminatedUnion({index:u,singleUnionType:s}),jsonExample:o}}break}case"union":{let u=r.shape.discriminant,l={};if(r.shape.baseProperties!=null)for(let d of r.shape.baseProperties){let s=Gq({fieldName:d.name.wireValue,typeReference:d.valueType,typeDeclarations:t,currentDepth:n+1,maxDepth:i,skipOptionalProperties:a});s.type==="success"&&(l[d.name.wireValue]=s.jsonExample)}for(let d of r.shape.types){let s=d.shape._visit({noProperties:()=>({type:"success",example:Iw.union({discriminant:u,singleUnionType:{wireDiscriminantValue:d.discriminantValue,shape:h3.noProperties()}}),jsonExample:{[u.wireValue]:d.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=x9n({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:Iw.union({discriminant:u,singleUnionType:{wireDiscriminantValue:d.discriminantValue,shape:h3.samePropertiesAsObject({typeId:c.name.typeId,object:g.type==="object"?g:{properties:[]}})}}),jsonExample:{[u.wireValue]:d.discriminantValue.wireValue,...typeof O=="object"?O:{},...l}}},singleProperty:o=>{let c=Gq({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:Iw.union({discriminant:u,singleUnionType:{wireDiscriminantValue:d.discriminantValue,shape:h3.singleProperty(b)}}),jsonExample:{[u.wireValue]:d.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 YQE({fieldName:e,typeDeclaration:t,objectTypeDeclaration:r,typeDeclarations:i,maxDepth:n,currentDepth:a,skipOptionalProperties:u}){let l={},d=[];for(let s of[...r.properties??[],...r.extendedProperties??[]]){let o=Gq({fieldName:s.name.wireValue,typeReference:s.valueType,typeDeclarations:i,currentDepth:a+1,maxDepth:n,skipOptionalProperties:u});if(o.type==="failure"&&!Uir({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;d.push({name:s.name,originalTypeDeclaration:t.name,value:c}),l[s.name.wireValue]=b}return{type:"success",example:Iw.object({properties:d}),jsonExample:l}}function Gq({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=x9n({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:d,jsonExample:s}=l;return{type:"success",example:{jsonExample:s,shape:Nh.named({shape:d,typeName:u.name})},jsonExample:s}}case"container":{let u=yB_({fieldName:e,containerType:t.container,typeDeclarations:r,maxDepth:i,currentDepth:n,skipOptionalProperties:a});if(u.type==="failure"){let{example:s,jsonExample:o}=Vir({containerType:t.container});return{type:"success",example:{jsonExample:o,shape:Nh.container(s)},jsonExample:o}}let{example:l,jsonExample:d}=u;return{type:"success",example:{jsonExample:d,shape:Nh.container(l)},jsonExample:d}}case"primitive":{let{jsonExample:u,example:l}=bB_({fieldName:e,primitiveType:t.primitive});return{type:"success",example:{jsonExample:u,shape:Nh.primitive(l)},jsonExample:u}}case"unknown":{let u={key:"value"};return{type:"success",example:{jsonExample:u,shape:Nh.unknown(u)},jsonExample:u}}}}function PKi(e,t){let r=[];for(let i of e){let n=Gq({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 R9n(e,t){let r=[];for(let i of e){if(t.skipOptionalRequestProperties&&Uir({typeDeclarations:t.typeDeclarations,typeReference:i.valueType}))continue;let n=Gq({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 ako(e,t){let r=[];for(let i of e){if(t.skipOptionalRequestProperties&&Uir({typeDeclarations:t.typeDeclarations,typeReference:i.valueType}))continue;let n=Gq({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?$2.exploded():$2.single(),value:n.example})}return{type:"success",example:r,jsonExample:void 0}}var VPc=gf.primitive({v1:O0.String,v2:Lp.string({default:void 0,validation:void 0})});function ERa({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:RT.ok(kC.body(void 0)),docs:void 0},l=PKi(t.pathParameters,{typeDeclarations:i,skipOptionalRequestProperties:n,maxDepth:1});if(l.type==="failure")return l;u.endpointPathParameters=l.example;let d=PKi(r.pathParameters,{typeDeclarations:i,skipOptionalRequestProperties:n,maxDepth:1});if(d.type==="failure")return d;u.servicePathParameters=d.example;let s=PKi(e.pathParameters,{typeDeclarations:i,skipOptionalRequestProperties:n,maxDepth:1});if(s.type==="failure")return s;u.rootPathParameters=s.example;let o=ako(t.queryParameters,{typeDeclarations:i,skipOptionalRequestProperties:n,maxDepth:10});if(o.type==="failure")return o;u.queryParameters=o.example;let c=R9n(t.headers,{typeDeclarations:i,skipOptionalRequestProperties:n,maxDepth:1});if(c.type==="failure")return c;u.endpointHeaders=c.example;let b=R9n(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=x9n({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=Gq({fieldName:m.name.wireValue,typeReference:m.valueType,typeDeclarations:i,currentDepth:1,maxDepth:10,skipOptionalProperties:n});if(P.type==="failure"&&!Uir({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:q}=P;O.push({name:m.name,originalTypeDeclaration:void 0,value:E}),g[m.name.wireValue]=q}u.request=zQ.inlinedRequestBody({jsonExample:g,properties:O});break}case"reference":{let g=Gq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.requestBody.requestBodyType,skipOptionalProperties:n});if(g.type==="failure")return g;let{example:O}=g;u.request=zQ.reference(O);break}default:mo(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=Gq({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=RT.ok(kC.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=Gq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:t.response.body.nonStreamResponse.value.responseBodyType,skipOptionalProperties:!1});break;case"text":g=Gq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:VPc,skipOptionalProperties:!1});break;default:mo(t.response.body.nonStreamResponse)}if(g.type==="failure")return g;let{example:O,jsonExample:m}=g;u.response=RT.ok(kC.body({...O,jsonExample:m}));break}case"streaming":{let g;switch(t.response.body.value.type){case"sse":{if(g=Gq({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=RT.ok(kC.sse([{data:{...O,jsonExample:m},event:""}]));break}case"json":{if(g=Gq({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=RT.ok(kC.stream([{...O,jsonExample:m}]));break}case"text":{if(g=Gq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:VPc,skipOptionalProperties:!1}),g.type==="failure")return g;let{example:O,jsonExample:m}=g;u.response=RT.ok(kC.stream([{...O,jsonExample:m}]));break}default:mo(t.response.body.value)}break}case"text":{let g=Gq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:VPc,skipOptionalProperties:!1});if(g.type==="failure")return g;let{example:O,jsonExample:m}=g;u.response=RT.ok(kC.body({...O,jsonExample:m}));break}case"bytes":return{type:"failure",message:"Bytes unsupported"};default:mo(t.response.body)}else if(a.type==="error")if(a.declaration.type==null)u.response=RT.error({body:void 0,error:a.declaration.name});else{let g=Gq({currentDepth:0,maxDepth:10,typeDeclarations:i,typeReference:a.declaration.type,skipOptionalProperties:n});if(g.type==="failure")return g;let{example:O}=g;u.response=RT.error({body:O,error:a.declaration.name})}try{return{type:"success",example:{id:DRa(u),url:XQE(t,u),...u},jsonExample:void 0}}catch(g){return{type:"failure",message:`Parse failure with exceptions ${g}`}}}function XQE(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 OB_({ir:e,channel:t,typeDeclarations:r,skipOptionalRequestProperties:i}){let n={name:void 0,pathParameters:[],headers:[],queryParameters:[],messages:[],docs:void 0},a=PKi(t.pathParameters,{typeDeclarations:r,skipOptionalRequestProperties:i,maxDepth:1});if(a.type==="failure")return a;n.pathParameters.push(...a.example);let u=PKi(e.pathParameters,{typeDeclarations:r,skipOptionalRequestProperties:i,maxDepth:1});if(u.type==="failure")return u;n.pathParameters.push(...u.example);let l=ako(t.queryParameters,{typeDeclarations:r,skipOptionalRequestProperties:i,maxDepth:10});if(l.type==="failure")return l;n.queryParameters=l.example;let d=R9n(t.headers,{typeDeclarations:r,skipOptionalRequestProperties:i,maxDepth:1});if(d.type==="failure")return d;n.headers.push(...d.example);let s=R9n(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=gB_({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=gB_({message:g,typeDeclarations:r,skipOptionalRequestProperties:i});O!=null&&n.messages.push({type:g.type,body:O})}return{type:"success",example:{...n,url:ZQE(t,n)},jsonExample:void 0}}function gB_({message:e,typeDeclarations:t,skipOptionalRequestProperties:r}){if(e.body.type==="inlinedBody")return;let i=Gq({currentDepth:0,maxDepth:10,typeDeclarations:t,typeReference:e.body.bodyType,skipOptionalProperties:r});if(i.type==="success")return JEe.reference(i.example)}function ZQE(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 N9n(e){let t=e?.userSpecifiedExamples??{},r=e?.autogeneratedExamples??{},i=Object.values(t)[0],n=Object.values(r)[0];return{userExample:i,autoExample:n}}function VAi(e){let t=e?.userSpecifiedExamples??{},r=e?.autogeneratedExamples??{};return{userExamples:t,autoExamples:r}}function mB_({service:e,endpoint:t,typeDeclarations:r,skipOptionalRequestProperties:i}){let n={pathParameters:{},queryParameters:{},headers:{}};for(let a of t.pathParameters){let{userExample:u,autoExample:l}=N9n(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}=N9n(a.v2Examples);if(u!==void 0)n.queryParameters[a.name.name.originalName]=u;else if(l!==void 0){if(i&&Uir({typeReference:a.valueType,typeDeclarations:r}))continue;n.queryParameters[a.name.name.originalName]=l}}for(let a of t.headers){let{userExample:u,autoExample:l}=N9n(a.v2Examples);if(u!==void 0)n.headers[a.name.name.originalName]=u;else if(l!==void 0){if(i&&Uir({typeReference:a.valueType,typeDeclarations:r}))continue;n.headers[a.name.name.originalName]=l}}return n}function PB_({endpoint:e,service:t,typeDeclarations:r,skipOptionalRequestProperties:i}){let{pathParameters:n,queryParameters:a,headers:u}=mB_({service:t,endpoint:e,typeDeclarations:r,skipOptionalRequestProperties:i}),l={},d={},s={endpoint:{method:e.method,path:kQE(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}=VAi(e.requestBody.v2Examples);for(let[b,g]of Object.entries(o))l[b]={...s,requestBody:g};for(let[b,g]of Object.entries(c))d[b]={...s,requestBody:g};break}case"inlinedRequestBody":{let{userExamples:o,autoExamples:c}=VAi(e.requestBody.v2Examples);for(let[b,g]of Object.entries(o))l[b]={...s,requestBody:g};for(let[b,g]of Object.entries(c))d[b]={...s,requestBody:g};break}case"reference":{let{userExamples:o,autoExamples:c}=VAi(e.requestBody.v2Examples);for(let[b,g]of Object.entries(o))l[b]={...s,requestBody:g};for(let[b,g]of Object.entries(c))d[b]={...s,requestBody:g};break}default:mo(e.requestBody)}return{userRequestExamples:l,autoRequestExamples:d,baseExample:s}}function kQE(e){let t={};[...e.pathParameters,...e.allPathParameters].forEach(i=>{let{userExample:n,autoExample:a}=N9n(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 jB_({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:I9.json(MRa(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}=VAi(n.v2Examples);for(let[l,d]of Object.entries(a)){let s=e.source?.type==="openrpc"?MRa(d):d;t[l]={...i,body:I9.json(s)}}for(let[l,d]of Object.entries(u)){let s=e.source?.type==="openrpc"?MRa(d):d;r[l]={...i,body:I9.json(s)}}break}case"json":{let n=e.response.body.value;if(n.type==="response"){let{userExamples:a,autoExamples:u}=VAi(n.v2Examples);for(let[l,d]of Object.entries(a)){let s=e.source?.type==="openrpc"?MRa(d):d;t[l]={...i,body:I9.json(s)}}for(let[l,d]of Object.entries(u)){let s=e.source?.type==="openrpc"?MRa(d):d;r[l]={...i,body:I9.json(s)}}}break}case"streaming":{let n=e.response.body.value;if(n.type==="json"){let{userExamples:a,autoExamples:u}=VAi(n.v2Examples);for(let[l,d]of Object.entries(a))t[l]={...i,body:I9.stream([d])};for(let[l,d]of Object.entries(u))r[l]={...i,body:I9.stream([d])}}break}case"streamParameter":break;default:mo(e.response.body)}return{userResponseExamples:t,autoResponseExamples:r,baseExample:i}}function MRa(e,t=1){return{id:t,jsonrpc:"2.0",result:e}}function wB_({endpoint:e,service:t,typeDeclarations:r,skipOptionalRequestProperties:i}){let n={},a={},{userRequestExamples:u,autoRequestExamples:l,baseExample:d}=PB_({endpoint:e,service:t,typeDeclarations:r,skipOptionalRequestProperties:i}),{userResponseExamples:s,autoResponseExamples:o,baseExample:c}=jB_({endpoint:e}),b=Object.keys(l)[0],g=Object.values(l)[0],O=Object.values(o)[0];for(let[m,P]of Object.entries(u))n[m]={request:P,response:s[m]??O??c,codeSamples:void 0};for(let[m,P]of Object.entries(s))n[m]={request:u[m]??g??d,response:P,codeSamples:void 0};return Object.keys(n).length===0&&(a[b??T_(`${e.name.originalName}_example`)]={request:g??d,response:O??c,codeSamples:void 0}),{userFullExamples:n,autoFullExamples:a}}function ARa({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=ERa({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=OB_({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 WPc({ir:e,exampleGeneration:t}){for(let[r,i]of Object.entries(e.services))for(let n of i.endpoints){n.v2Examples==null&&(n.v2Examples={userSpecifiedExamples:{},autogeneratedExamples:{}});let{userFullExamples:a,autoFullExamples:u}=wB_({service:i,endpoint:n,typeDeclarations:e.types,skipOptionalRequestProperties:!t?.includeOptionalRequestPropertyExamples});if(Object.keys(n.v2Examples.userSpecifiedExamples).length>0){if(Object.values(n.v2Examples.userSpecifiedExamples).some(d=>d.request!=null||d.response!=null))continue;let l=Object.values(n.v2Examples.userSpecifiedExamples)[0]?.codeSamples;for(let[d,s]of Object.entries(u))u[d]={...s,codeSamples:l};for(let[d,s]of Object.entries(a))a[d]={...s,codeSamples:l}}n.v2Examples.autogeneratedExamples=u,n.v2Examples.userSpecifiedExamples=a}return e}function oko(e,t,r){let{environments:i,changedBaseUrlIds1:n,changedBaseUrlIds2:a}=tJE(e.environments,t.environments,r),{services:u,websocketChannels:l}=rJE(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:eJE(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(d=>!e.rootPackage.subpackages?.includes(d))],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 eJE(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 tJE(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=SB_(e),n=SB_(t);if(i&&n&&e.environments.type==="singleBaseUrl"&&t.environments.type==="singleBaseUrl")return{environments:{defaultEnvironment:e.defaultEnvironment??t.defaultEnvironment,environments:cx.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 d=i?l:u,s=i?u:l,o={},{deconflictedEnvironments2:c,changedBaseUrlIds2:b}=iJE(d,s,r);if(d.environments[0]==null)return{environments:t,changedBaseUrlIds1:void 0,changedBaseUrlIds2:void 0};let g="Base",O=r.generateName("Base");return d.environments.forEach(m=>{o[m.id]=g}),{environments:{defaultEnvironment:a,environments:cx.multipleBaseUrls({baseUrls:[{id:g,name:O},...c.environments.map(m=>({id:m.id,name:m.name}))],environments:d.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 d=u.type==="singleBaseUrl"?u:l,s=u.type==="multipleBaseUrls"?u:l,{deconflictedEnvironments1:o,changedBaseUrlIds1:c}=nJE(d,s,r);return{environments:{defaultEnvironment:a,environments:cx.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:d,changedBaseUrlIds:s}=aJE(u,l,r);return{environments:{defaultEnvironment:a,environments:cx.multipleBaseUrls({baseUrls:[...u.baseUrls,...d.baseUrls],environments:u.environments.flatMap(o=>d.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 rJE(e,t,r,i){if(r!=null)for(let[u,l]of Object.entries(r)){for(let d of Object.values(e.services))for(let s of Object.values(d.endpoints))s.baseUrl==u&&(s.baseUrl=l),s.v2BaseUrls?.includes(u)&&(s.v2BaseUrls=s.v2BaseUrls.map(o=>o===u?l:o));for(let d of Object.values(e.websocketChannels??{}))d.baseUrl==u&&(d.baseUrl=l)}if(i!=null)for(let[u,l]of Object.entries(i)){for(let d of Object.values(t.services))for(let s of Object.values(d.endpoints))s.baseUrl==u&&(s.baseUrl=l),s.v2BaseUrls?.includes(u)&&(s.v2BaseUrls=s.v2BaseUrls.map(o=>o===u?l:o));for(let d of Object.values(t.websocketChannels??{}))d.baseUrl==u&&(d.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 iJE(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=HPc(s.id,n);return i[s.id]=o,{...s,id:o,name:r.generateName(o)}}return s});return{deconflictedEnvironments2:cx.singleBaseUrl({environments:l}),changedBaseUrlIds2:i}}function nJE(e,t,r){let i={},n=new Set(t.baseUrls.map(d=>d.id)),a=new Set(t.baseUrls.map(d=>d.name)),u=e.environments.map(d=>{if(n.has(d.id)||a.has(d.name)){let s=HPc(d.id,n);return i[d.id]=s,{...d,id:s,name:r.generateName(s)}}return d});return{deconflictedEnvironments1:cx.singleBaseUrl({environments:u}),changedBaseUrlIds1:i}}function aJE(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=HPc(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:cx.multipleBaseUrls({baseUrls:u,environments:l}),changedBaseUrlIds:i}}function SB_(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 HPc(e,t){let r=e,i=1;for(;t.has(r);)r=`${e}-${i}`,i++;return r}function GPc({rawApiFileSchema:e,casingsGenerator:t}){if(e.auth==null)return{docs:void 0,requirement:pRe.All,schemes:[]};let r=typeof e.auth!="string"?e.auth.docs:void 0;return BHi(e.auth,{single:i=>{let n=DB_({reference:i,authSchemeDeclarations:e["auth-schemes"],casingsGenerator:t});return{docs:r,requirement:pRe.All,schemes:[n]}},any:({any:i})=>({docs:r,requirement:pRe.Any,schemes:i.map(n=>DB_({reference:n,authSchemeDeclarations:e["auth-schemes"],casingsGenerator:t}))})})}function DB_({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 BDa(l,{header:d=>CB.header({docs:u,name:r.generateNameAndWireValue({name:d.name??a,wireValue:d.header}),valueType:gf.primitive({v1:O0.String,v2:Lp.string({default:void 0,validation:void 0})}),prefix:d.prefix,headerEnvVar:d.env}),basic:d=>EB_({casingsGenerator:r,docs:u,rawScheme:d}),bearer:d=>$Pc({casingsGenerator:r,docs:u,rawScheme:d}),oauth:d=>$Pc({casingsGenerator:r,docs:u,rawScheme:void 0})})},n=typeof e=="string"?e:e.scheme;switch(n){case"bearer":case"oauth":return $Pc({casingsGenerator:r,docs:void 0,rawScheme:void 0});case"basic":return EB_({casingsGenerator:r,docs:void 0,rawScheme:void 0});default:return i(n,typeof e!="string"?e.docs:void 0)}}function $Pc({casingsGenerator:e,docs:t,rawScheme:r}){return CB.bearer({docs:t,token:e.generateName(r?.token?.name??"token"),tokenEnvVar:r?.token?.env})}function EB_({casingsGenerator:e,docs:t,rawScheme:r}){return CB.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 qRa({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:$kt(i,{singleBaseUrl:()=>cx.singleBaseUrl(oJE({environments:t,casingsGenerator:r})),multipleBaseUrls:n=>cx.multipleBaseUrls(uJE({baseUrls:Object.keys(n.urls),environments:t,casingsGenerator:r}))})},audiences:{...Object.fromEntries(Object.entries(t).map(([n,a])=>[n,$kt(a,{singleBaseUrl:u=>[...typeof u=="string"?[]:u.audiences??[]],multipleBaseUrls:u=>[...u.audiences??[]]})]))}}}function oJE({environments:e,casingsGenerator:t}){return{environments:Object.entries(e).map(([r,i])=>$kt(i,{singleBaseUrl:n=>({docs:typeof n=="string"?void 0:n.docs,id:r,name:t.generateName(r),url:MB_(typeof n=="string"?n:n.url)}),multipleBaseUrls:()=>{throw new Error(`Environment ${r} has multiple base URLs`)}}))}}function uJE({baseUrls:e,environments:t,casingsGenerator:r}){return{baseUrls:e.map(i=>({id:i,name:r.generateName(i)})),environments:Object.entries(t).map(([i,n])=>$kt(n,{multipleBaseUrls:a=>({docs:a.docs,id:i,name:r.generateName(i),urls:dd(a.urls,u=>MB_(u))}),singleBaseUrl:()=>{throw new Error(`Environment ${i} does not have multiple base URLs`)}}))}}function MB_(e){return e.endsWith("/")?e.slice(0,-1):e}function NMe(e){return e.allParts.map(t=>t.originalName).join("/")}var Pm={generateTypeId:e=>`type_${NMe(e.fernFilepath)}:${e.name.originalName}`,generateErrorId:e=>`error_${NMe(e.fernFilepath)}:${e.name.originalName}`,generateServiceId:e=>`service_${NMe(e.fernFilepath)}`,generateServiceIdFromFernFilepath:e=>`service_${NMe(e)}`,generateSubpackageId:e=>`subpackage_${NMe(e)}`,generateEndpointId:(e,t)=>{let r=NMe(e.fernFilepath),i=t.name.originalName;return`endpoint_${r}.${i}`},generateWebhookGroupId:e=>`webhooks_${NMe(e)}`,generateWebhookId:(e,t)=>`webhooks_${NMe(e)}.${t}`,generateWebSocketChannelId:e=>`channel_${NMe(e)}`};function F9n(e){return e.type!=null}var uko=class{environments=new Set;types=new Set;properties;errors=new Set;services=new Set;endpoints=new Set;requestProperties;queryParameters;webhooks=new Set;webhookPayloadProperties;channels=new Set;subpackages=new Set;constructor({types:t,properties:r,errors:i,environments:n,services:a,endpoints:u,webhooks:l,subpackages:d,queryParameters:s,requestProperties:o,webhookPayloadProperties:c,channels:b}){this.environments=n,this.types=t,this.properties=r,this.errors=i,this.services=a,this.endpoints=u,this.webhooks=l,this.webhookPayloadProperties=c,this.subpackages=d,this.requestProperties=o,this.queryParameters=s,this.channels=b}hasTypeId(t){return this.types.has(t)}hasErrorId(t){return this.errors.has(t)}hasServiceId(t){return this.services.has(t)}hasSubpackageId(t){return this.subpackages.has(t)}hasType(t){let r=Pm.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=Pm.generateErrorId(t.name);return this.errors.has(r)}hasService(t){let r=Pm.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 jKi(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 wKi=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=sJE(t)}addType({declaredTypeName:t,descendantTypeIds:r,descendantFilepaths:i,descendantTypeIdsByAudience:n,propertiesByAudience:a}){let u=Pm.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=Pm.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=Pm.generateErrorId(t.name),i=new Set,n=new Set;t.type!=null&&jR(t.type,i,n);let a={errorId:r,referencedTypes:i,referencedSubpackages:n};this.errors[r]=a}addEndpoint(t,r,i){let n=Pm.generateServiceId(t.name),a=r.id,u=new Set,l=new Set,d=new Set;for(let s of[...t.headers,...r.headers])jR(s.valueType,u,d);for(let s of[...t.pathParameters,...r.pathParameters])jR(s.valueType,u,d);for(let s of r.queryParameters)jR(s.valueType,u,d);if(i!=null&&i.request!=null&&typeof i.request!="string"){let s=jKi(i.request["query-parameters"]??{});this.queryParameters[a]={endpointId:a,parametersByAudience:s}}r.requestBody!=null&&ZC._visit(r.requestBody,{inlinedRequestBody:s=>{for(let o of s.extends)sko(o,u,d);for(let o of s.properties)jR(o.valueType,u,d);if(i!=null&&typeof i.request=="object"&&typeof i.request.body=="object"&&XC(i.request.body)){let o=jKi(i.request.body.properties??{});this.requestProperties[a]={endpointId:a,propertiesByAudience:o}}},reference:({requestBodyType:s})=>{jR(s,u,d)},fileUpload:({properties:s})=>{for(let o of s)z9._visit(o,{file:Go,bodyProperty:({valueType:c})=>{jR(c,u,d)},_other:()=>{throw new Error("Unknown FileUploadRequestProperty: "+o.type)}})},bytes:()=>{},_other:()=>{throw new Error("Unknown HttpRequestBody: "+r.requestBody?.type)}}),r.response?.body!=null&&gE._visit(r.response.body,{fileDownload:Go,json:s=>{jR(s.responseBodyType,u,d)},streaming:s=>{s._visit({sse:o=>jR(o.payload,u,d),json:o=>jR(o.payload,u,d),text:Go,_other:()=>{throw new Error("Unknown streamingResponse type: "+s.type)}})},streamParameter:s=>{s.streamResponse._visit({sse:o=>jR(o.payload,u,d),json:o=>jR(o.payload,u,d),text:Go,_other:()=>{throw new Error("Unknown streamingResponse type: "+s.streamResponse.type)}}),s.nonStreamResponse.type==="json"&&jR(s.nonStreamResponse.value.responseBodyType,u,d)},text:Go,bytes:Go,_other:()=>{throw new Error("Unknown HttpResponse: "+r.response?.body?.type)}}),r.errors.forEach(s=>{l.add(Pm.generateErrorId(s.error)),d.add(s.error.fernFilepath)}),this.endpoints[a]={endpointId:a,serviceId:n,referencedTypes:u,referencedErrors:l,referencedSubpackages:d}}markEndpointForAudience(t,r,i){if(this.hasAudience(i)){let n=Pm.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&&EW._visit(r.payload,{inlinedPayload:l=>{for(let d of l.extends)sko(d,a,u);for(let d of l.properties)jR(d.valueType,a,u);if(i?.payload!=null&&typeof i.payload=="object"&&!F9n(i.payload)){let d=jKi(i.payload.properties??{});this.webhookProperties[n]={webhookId:n,propertiesByAudience:d}}},reference:({payloadType:l})=>{jR(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)R9._visit(l.body,{reference:({bodyType:d})=>{jR(d,a,u)},inlinedBody:d=>{for(let s of d.extends)sko(s,a,u);for(let s of d.properties)jR(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 d=this.getEndpointNode(l);for(let s of d.referencedErrors){if(r.has(s))continue;r.add(s);let o=this.getErrorNode(s);this.addReferencedTypes(t,o.referencedTypes)}this.addReferencedTypes(t,d.referencedTypes)}this.addReferencedTypes(t,this.typesNeededForAudience);for(let l of this.webhooksNeededForAudience.keys()){let d=this.getWebhookNode(l);this.addReferencedTypes(t,d.referencedTypes)}for(let l of this.channelsNeededForAudience.keys()){let d=this.getChannelNode(l);this.addReferencedTypes(t,d.referencedTypes)}let i={},n={},a={},u={};if(this.audiences.type==="filtered"){for(let[l,d]of Object.entries(this.properties)){if(!t.has(l))continue;let s=new Set;for(let o of this.audiences.audiences){let c=d.propertiesByAudience[o];c?.forEach(b=>{s.add(b)})}s.size>0&&(i[l]=s),i[l]=s.size>0?s:void 0}for(let[l,d]of Object.entries(this.requestProperties)){if(!this.endpointsNeededForAudience.has(l))continue;let s=new Set;for(let o of this.audiences.audiences){let c=d.propertiesByAudience[o];c?.forEach(b=>{s.add(b)})}n[l]=s.size>0?s:void 0}for(let[l,d]of Object.entries(this.queryParameters)){if(!this.endpointsNeededForAudience.has(l))continue;let s=new Set;for(let o of this.audiences.audiences){let c=d.parametersByAudience[o];c?.forEach(b=>{s.add(b)})}a[l]=s.size>0?s:void 0}for(let[l,d]of Object.entries(this.webhookProperties)){if(!this.webhooksNeededForAudience.has(l))continue;let s=new Set;for(let o of this.audiences.audiences){let c=d.propertiesByAudience[o];c?.forEach(b=>{s.add(b)})}u[l]=s.size>0?s:void 0}}return new uko({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:mo(r)}}addSubpackages(t){for(let r=1;r<=t.allParts.length;++r){let i={...t,allParts:t.allParts.slice(0,r)};this.subpackagesNeededForAudience.add(Pm.generateSubpackageId(i))}}};function sJE(e){switch(e.type){case"all":return{type:"none"};case"select":return{type:"filtered",audiences:new Set(e.audiences)};default:mo(e)}}function jR(e,t,r){gf._visit(e,{container:i=>{cJE(i,t,r)},named:i=>{sko(i,t,r)},primitive:Go,unknown:Go,_other:Go})}function sko(e,t,r){t.add(Pm.generateTypeId(e)),r.add(e.fernFilepath)}function cJE(e,t,r){_b._visit(e,{list:i=>{jR(i,t,r)},map:i=>{jR(i.keyType,t,r),jR(i.valueType,t,r)},optional:i=>{jR(i,t,r)},nullable:i=>{jR(i,t,r)},set:i=>{jR(i,t,r)},literal:Go,_other:Go})}var QPc=class{errors;constructor(){this.errors=[]}add(t){this.errors.push({message:t})}getErrors(){return this.errors}hasErrors(){return this.errors.length>0}},TRa=class{errors;constructor(){this.errors=new QPc}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 d=a[u];if(!d){this.errors.add(`Endpoint "${u}" was removed.`);continue}this.checkEndpointBreakingChanges({id:u,from:l,to:d})}}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 d=a[u];if(!d){this.errors.add(`Path parameter "${u}" was removed from endpoint "${t}".`);continue}this.areTypeReferencesCompatible({from:l.valueType,to:d.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 d=a[u];if(!d){this.errors.add(`Query parameter "${u}" was removed from endpoint "${t}".`);continue}this.areTypeReferencesCompatible({from:l.valueType,to:d.valueType})||this.errors.add(`Query parameter "${u}" type changed in endpoint "${t}".`),l.allowMultiple!==d.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 d=a[u];if(!d){this.errors.add(`Header "${u}" was removed from ${t}.`);continue}this.areTypeReferencesCompatible({from:l.valueType,to:d.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:mo(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:mo(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:mo(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:mo(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])),d=Object.fromEntries(r.types.map(s=>[s.discriminantValue.wireValue,s]));return Object.values(l).every(s=>{let o=d[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:mo(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:mo(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:mo(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:mo(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:mo(i)}return r}getKeyForDeclaration({name:t,fernFilepath:r}){return`${r.allParts.map(n=>n.camelCase.unsafeName).join(".")}.${t.pascalCase.unsafeName}`}};function qB_({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:wR({filteredIr:e,exampleTypeReference:n.value})})).filter(n=>n.value!==void 0)}}:void 0;return i!==void 0?h3.samePropertiesAsObject(i):void 0},singleProperty:r=>{let i=wR({filteredIr:e,exampleTypeReference:r});return i!==void 0?h3.singleProperty(i):void 0},noProperties:()=>t,_other:()=>{throw new Error("Received unknown type for example.")}})}function wR({filteredIr:e,exampleTypeReference:t}){return t.shape._visit({primitive:()=>t,container:r=>r._visit({list:i=>({...t,shape:Nh.container(bm.list({...i,list:i.list.map(n=>wR({filteredIr:e,exampleTypeReference:n})).filter(n=>n!==void 0)}))}),set:i=>({...t,shape:Nh.container(bm.set({...i,set:i.set.map(n=>wR({filteredIr:e,exampleTypeReference:n})).filter(n=>n!==void 0)}))}),optional:i=>{let n=i.optional!=null?wR({filteredIr:e,exampleTypeReference:i.optional}):void 0;return n!=null?{...t,shape:Nh.container(bm.optional({optional:n,valueType:i.valueType}))}:void 0},nullable:i=>{let n=i.nullable!=null?wR({filteredIr:e,exampleTypeReference:i.nullable}):void 0;return n!=null?{...t,shape:Nh.container(bm.nullable({nullable:n,valueType:i.valueType}))}:void 0},map:i=>({...t,shape:Nh.container(bm.map({...i,map:i.map.map(n=>{let a=wR({filteredIr:e,exampleTypeReference:n.key}),u=wR({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=wR({filteredIr:e,exampleTypeReference:i.value});return n!==void 0?{...t,shape:Nh.named({...r,shape:Iw.alias({...i,value:n})})}:void 0},enum:i=>({...t,shape:Nh.named({...r,shape:Iw.enum(i)})}),object:i=>({...t,shape:Nh.named({...r,shape:Iw.object({...i,properties:i.properties.filter(n=>e.hasProperty(n.originalTypeDeclaration.typeId,n.name.wireValue)).map(n=>({...n,value:wR({filteredIr:e,exampleTypeReference:n.value})})).filter(n=>n.value!==void 0)})})}),union:i=>{let n=qB_({filteredIr:e,singleUnionTypeProperties:i.singleUnionType.shape});return n!==void 0?{...t,shape:Nh.named({...r,shape:Iw.union({...i,singleUnionType:{...i.singleUnionType,shape:n}})})}:void 0},undiscriminatedUnion:i=>{let n=wR({filteredIr:e,exampleTypeReference:i.singleUnionType});return n!==void 0?{...t,shape:Nh.named({...r,shape:Iw.undiscriminatedUnion({...i,singleUnionType:n})})}:void 0},_other:()=>{throw new Error("Received unknown type for example.")}}):void 0,unknown:()=>t,_other:()=>t})}function JPc({filteredIr:e,pathParameters:t}){return t.map(r=>{let i=wR({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...r,value:i}:void 0}).filter(r=>r!==void 0)}function lJE({filteredIr:e,queryParameters:t}){return t.map(r=>{let i=wR({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...r,value:i}:void 0}).filter(r=>r!==void 0)}function AB_({filteredIr:e,headers:t}){return t.map(r=>{let i=wR({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...r,value:i}:void 0}).filter(r=>r!==void 0)}function fJE({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=wR({filteredIr:e,exampleTypeReference:i.value});return n!==void 0?{...i,value:n}:void 0}).filter(i=>i!==void 0)}),reference:r=>{let i=wR({filteredIr:e,exampleTypeReference:r});return i!==void 0?zQ.reference(i):void 0},_other:()=>{throw new Error("Received unknown type for example.")}})}function dJE({filteredIr:e,response:t}){return t._visit({ok:r=>r._visit({body:i=>RT.ok(kC.body(i!=null?wR({filteredIr:e,exampleTypeReference:i}):void 0)),stream:i=>RT.ok(kC.stream(i.map(n=>wR({filteredIr:e,exampleTypeReference:n})).filter(V0))),sse:i=>RT.ok(kC.sse(i.map(({event:n,data:a})=>{let u=wR({filteredIr:e,exampleTypeReference:a});return u!==void 0?{event:n,data:u}:void 0}).filter(V0))),_other:({type:i})=>{throw new Error(`Received unknown type for OK example: ${i}`)}}),error:({error:r,body:i})=>RT.error({error:r,body:i!=null?wR({filteredIr:e,exampleTypeReference:i}):void 0}),_other:({type:r})=>{throw new Error(`Received unknown type for example: ${r}`)}})}function KPc({filteredIr:e,example:t}){return{...t,rootPathParameters:JPc({filteredIr:e,pathParameters:t.rootPathParameters}),servicePathParameters:JPc({filteredIr:e,pathParameters:t.servicePathParameters}),endpointPathParameters:JPc({filteredIr:e,pathParameters:t.endpointPathParameters}),serviceHeaders:AB_({filteredIr:e,headers:t.serviceHeaders}),endpointHeaders:AB_({filteredIr:e,headers:t.endpointHeaders}),queryParameters:lJE({filteredIr:e,queryParameters:t.queryParameters}),request:t.request!==void 0?fJE({filteredIr:e,requestBody:t.request}):void 0,response:dJE({filteredIr:e,response:t.response})}}function TB_({filteredIr:e,exampleType:t}){return t.shape._visit({alias:r=>{let i=wR({filteredIr:e,exampleTypeReference:r.value});return i!==void 0?{...t,shape:Iw.alias({...r,value:i})}:void 0},enum:()=>t,object:r=>({...t,shape:Iw.object({...r,properties:r.properties.filter(i=>e.hasProperty(i.originalTypeDeclaration.typeId,i.name.wireValue)).map(i=>({...i,value:wR({filteredIr:e,exampleTypeReference:i.value})})).filter(i=>i.value!==void 0)})}),union:r=>{let i=qB_({filteredIr:e,singleUnionTypeProperties:r.singleUnionType.shape});return i!==void 0?{...t,shape:Iw.union({...r,singleUnionType:{...r.singleUnionType,shape:i}})}:void 0},undiscriminatedUnion:r=>{let i=wR({filteredIr:e,exampleTypeReference:r.singleUnionType});return i!==void 0?{...t,shape:Iw.undiscriminatedUnion({...r,singleUnionType:i})}:void 0},_other:()=>{throw new Error("Received unknown type for example.")}})}function YPc(e,t){if(t==null)return e;let r=MVi(e.types,u=>t.hasType(u)),i=Object.fromEntries(Object.entries(r).map(([u,l])=>{let d=[];if(l.userProvidedExamples=l.userProvidedExamples.map(s=>TB_({filteredIr:t,exampleType:s})).filter(s=>s!==void 0),l.shape.type==="object"){for(let s of l.shape.properties)t.hasProperty(u,s.name.wireValue)&&d.push(s);return[u,{...l,shape:lO.object({...l.shape,properties:d})}]}return[u,l]})),n=Object.fromEntries(Object.entries(e.webhookGroups).map(([u,l])=>{let d=l.filter(s=>t.hasWebhook(s)).map(s=>{let o=s.id;return s.payload.type==="inlinedPayload"&&o!=null&&(s.payload={...s.payload,properties:s.payload.properties.filter(c=>t.hasWebhookPayloadProperty(o,c.name.wireValue))}),s});return[u,d]})),a=e.environments;if(a){switch(a.environments.type){case"singleBaseUrl":{a.environments.environments=a.environments.environments.filter(u=>t.hasEnvironmentId(u.id));break}case"multipleBaseUrls":{a.environments.environments=a.environments.environments.filter(u=>t.hasEnvironmentId(u.id));break}}a.defaultEnvironment&&(t.hasEnvironmentId(a.defaultEnvironment)||(a.defaultEnvironment=void 0))}return{...e,environments:a,types:i,errors:MVi(e.errors,u=>t.hasError(u)),services:dd(MVi(e.services,u=>t.hasService(u)),u=>({...u,endpoints:u.endpoints.filter(l=>t.hasEndpoint(l)).map(l=>(l.autogeneratedExamples=l.autogeneratedExamples.map(d=>({...d,example:KPc({filteredIr:t,example:d.example})})),l.userSpecifiedExamples=l.userSpecifiedExamples.map(d=>({...d,example:d.example!=null?KPc({filteredIr:t,example:d.example}):void 0})),l.queryParameters.length>0&&(l.queryParameters=l.queryParameters.filter(d=>t.hasQueryParameter(l.id,d.name.wireValue))),l.requestBody?.type==="inlinedRequestBody"?{...l,requestBody:{...l.requestBody,properties:l.requestBody.properties.filter(d=>t.hasRequestProperty(l.id,d.name.wireValue))}}:l))})),webhookGroups:n,serviceTypeReferenceInfo:pJE(e.serviceTypeReferenceInfo,t)}}function pJE(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 pH={};jo(pH,{AudienceExtension:()=>cko,FernAvailabilityExtension:()=>lko,FernEnumExtension:()=>fko,FernIgnoreExtension:()=>SKi,FernOptionalExtension:()=>dko,FernTypeExtension:()=>hko,FernTypeNameExtension:()=>yko,SdkGroupNameExtension:()=>pko,SdkMethodNameExtension:()=>_ko});var cko=class extends Aj{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 lko=class extends Aj{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 B9.InDevelopment;case"PRE_RELEASE":return B9.PreRelease;case"GENERAL_AVAILABILITY":return B9.GeneralAvailability;case"DEPRECATED":return B9.Deprecated;default:return}}};var _JE=hu.object({snake:hu.string().optional(),camel:hu.string().optional(),screamingSnake:hu.string().optional(),pascal:hu.string().optional()}),hJE=hu.object({description:hu.string().optional(),name:hu.string().optional(),casing:_JE.optional()}),CB_=hu.record(hJE);var fko=class extends Aj{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=CB_.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 SKi=class extends Aj{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 dko=class extends Aj{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 pko=class extends Aj{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 _ko=class extends Aj{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 hko=class extends Aj{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 yko=class extends Aj{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 Mpi=class extends w0{ir;audiences;irGraph;constructor({breadcrumbs:t=[],context:r,audiences:i}){super({breadcrumbs:t,context:r}),this.audiences=i,this.irGraph=new wKi(i),this.ir={auth:{docs:void 0,requirement:Ws.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:Ws.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 SKi({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 SKi({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,...ARa({ir:t,exampleGeneration:this.context.exampleGenerationArgs}),...WPc({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}shouldAddServerToCollectedServers({server:t,currentServers:r}){return!r.some(i=>i.url===t.url&&"x-fern-server-name"in i&&"x-fern-server-name"in t&&i["x-fern-server-name"]===t["x-fern-server-name"])}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)),d=l[l.length-1];u.service==null&&(u.service=n??`service_${a.map(o=>T_(o)).join("/")}`),this.ir.services[u.service]==null&&(this.ir.services[u.service]=this.createNewService({allParts:l,finalpart:d})),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=T_(n?.join(".")),u=T_(r),l=this.context.namespace?`${T_(this.context.namespace)}/`:"",d=a?`channel_${l}${a}`:`channel_${l}${u}`,s=n?this.getOrCreatePackage({group:n}):this.getOrCreatePackage({group:[u]});this.ir.websocketChannels={...this.ir.websocketChannels,[d]:t},d!==""?s.websocket==null&&(s.websocket=d):this.ir.rootPackage.websocket="";let o=this.context.createFernFilepath();this.irGraph.addChannel(o,d,t),i!=null&&this.irGraph.markChannelForAudiences(o,d,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:lF(""),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=>T_(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 d=this.ir.subpackages[l];i.subpackages.includes(l)||i.subpackages.push(l),i=d}return i}};var QA={};jo(QA,{AbstractConverters:()=>ZPc,ExampleConverter:()=>Wir,SchemaConverters:()=>XPc,ServersConverter:()=>EHt});var ZPc={};jo(ZPc,{AbstractMediaTypeObjectConverter:()=>bko,AbstractParameterConverter:()=>gko});var Wir=class e extends w0{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 r=this.example==null,i=this.example??t.example,a=(Array.isArray(i)?i:[i]).map(l=>new e({breadcrumbs:[...this.breadcrumbs,"items"],context:this.context,schema:t.items,example:l,depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy}).convert()),u=a.every(l=>l?.isValid??!1)&&!r;return{isValid:u,coerced:!1,validExample:a.map(l=>l.validExample),errors:u?[]:a.flatMap(l=>l.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,d])=>{if(typeof d!="object")return{key:l,result:{isValid:!0,coerced:!1,validExample:void 0,errors:[]}};if(this.isDeprecatedProperty(d)&&!this.isRequiredProperty({key:l,resolvedSchema:t}))return{key:l,result:{isValid:!0,coerced:!1,validExample:void 0,errors:[]}};if("readOnly"in d&&d.readOnly===!0&&"writeOnly"in d&&d.writeOnly===!0)return{key:l,result:{isValid:!0,coerced:!1,validExample:void 0,errors:[]}};if("readOnly"in d&&d.readOnly===!0&&this.exampleGenerationStrategy==="request")return{key:l,result:{isValid:!0,coerced:!1,validExample:void 0,errors:[]}};if("writeOnly"in d&&d.writeOnly===!0&&this.exampleGenerationStrategy==="response")return{key:l,result:{isValid:!0,coerced:!1,validExample:void 0,errors:[]}};let s=!(l in r)||!("nullable"in d)&&r[l]==null||"nullable"in d&&d.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:d,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:d,example:r[l],depth:this.depth+1,generateOptionalProperties:this.generateOptionalProperties,exampleGenerationStrategy:this.exampleGenerationStrategy}).convert();return{key:l,result:b}}}),n=(t.allOf??[]).map((l,d)=>new e({breadcrumbs:[...this.breadcrumbs,`allOf[${d}]`],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:d})=>[l,d.validExample]).filter(([l,d])=>d!==void 0));for(let l of n)if(typeof l.validExample=="object"&&l.validExample!==null){let d=l.validExample;u={...u,...Object.fromEntries(Object.entries(d).filter(([s,o])=>o!==void 0))}}if(Object.keys(u).length===0){let l=n.find(d=>d.validExample!==void 0&&(typeof d.validExample!="object"||d.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 XPc={};jo(XPc,{ArraySchemaConverter:()=>H9n,EnumSchemaConverter:()=>L9n,ObjectSchemaConverter:()=>U9n,OneOfSchemaConverter:()=>V9n,PrimitiveSchemaConverter:()=>W9n,SchemaConverter:()=>WAi,SchemaOrReferenceConverter:()=>Ok});function BB_(e){return G2({type:e,_default:void 0,validation:void 0,visitor:{primitive:t=>{switch(t.v1){case"BASE_64":return gf.primitive({v1:"BASE_64",v2:Lp.base64({})});case"BOOLEAN":return gf.primitive({v1:"BOOLEAN",v2:Lp.boolean({default:void 0})});case"DATE":return gf.primitive({v1:"DATE",v2:Lp.date({})});case"DATE_TIME":return gf.primitive({v1:"DATE_TIME",v2:Lp.dateTime({})});case"FLOAT":return gf.primitive({v1:"FLOAT",v2:Lp.float({})});case"DOUBLE":return gf.primitive({v1:"DOUBLE",v2:Lp.double({default:void 0,validation:void 0})});case"UINT":return gf.primitive({v1:"UINT",v2:Lp.uint({})});case"UINT_64":return gf.primitive({v1:"UINT_64",v2:Lp.uint64({})});case"INTEGER":return gf.primitive({v1:"INTEGER",v2:Lp.integer({default:void 0,validation:void 0})});case"LONG":return gf.primitive({v1:"LONG",v2:Lp.long({default:void 0})});case"STRING":return gf.primitive({v1:"STRING",v2:Lp.string({default:void 0,validation:void 0})});case"UUID":return gf.primitive({v1:"UUID",v2:Lp.uuid({})});case"BIG_INTEGER":return gf.primitive({v1:"BIG_INTEGER",v2:Lp.bigInteger({default:void 0})});default:return}},unknown:()=>gf.unknown(),map:({keyType:t,valueType:r})=>{if(!(t==null||r==null))return gf.container(_b.map({keyType:t,valueType:r}))},list:t=>{if(t!=null)return gf.container(_b.list(t))},optional:t=>{if(t!=null)return gf.container(_b.optional(t))},nullable:t=>{if(t!=null)return gf.container(_b.nullable(t))},set:t=>{if(t!=null)return gf.container(_b.set(t))},literal:t=>gf.container(_b.literal(t._visit({string:r=>x9.string(r),boolean:r=>x9.boolean(r),_other:()=>{throw new Error("Unexpected literal type")}}))),named:()=>{}}})}var L9n=class extends w0{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:lO.enum({default:i!=null?r.find(n=>n.name.wireValue===i):void 0,values:r})}}};var vko=class extends w0{schemaOrReferenceOrBoolean;constructor({context:t,breadcrumbs:r,schemaOrReferenceOrBoolean:i}){super({context:t,breadcrumbs:r}),this.schemaOrReferenceOrBoolean=i}convert(){let t=this.tryConvertUnknownMap();if(t!=null)return t;let r=this.tryConvertTypedMap();if(r!=null)return r}tryConvertUnknownMap(){if(typeof this.schemaOrReferenceOrBoolean=="boolean"){let t=gf.container(_b.map({keyType:w0.STRING,valueType:gf.unknown()}));return{type:lO.alias({aliasOf:t,resolvedType:t}),referencedTypes:new Set,inlinedTypes:{}}}}tryConvertTypedMap(){if(typeof this.schemaOrReferenceOrBoolean=="boolean")return;let r=new Ok({context:this.context,breadcrumbs:this.breadcrumbs,schemaOrReference:this.schemaOrReferenceOrBoolean}).convert();if(r!=null){let i=gf.container(_b.map({keyType:w0.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:lO.alias({aliasOf:i,resolvedType:i}),referencedTypes:n,inlinedTypes:r.inlinedTypes}}}};function CRa({properties:e,required:t,breadcrumbs:r,context:i,errorCollector:n}){let a=[],u={},l={},d=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=yJE(r,o,i)??i.convertBreadcrumbsToName(c),g="nullable"in o?o.nullable:!1,m=new Ok({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=>{d.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))d.add(s);return{convertedProperties:a,propertiesByAudience:l,inlinedTypesFromProperties:u,referencedTypes:d}}function yJE(e,t,r){return r.isReferenceObject(t)?void 0:new pH.FernTypeNameExtension({breadcrumbs:e,schema:t,context:r}).convert()}var U9n=class extends w0{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:lO.object({properties:[],extends:[],extendedProperties:[],extraProperties:t}),propertiesByAudience:{},inlinedTypes:{},referencedTypes:new Set};let{convertedProperties:r,inlinedTypesFromProperties:i,referencedTypes:n,propertiesByAudience:a}=CRa({properties:this.schema.properties??{},required:this.schema.required??[],breadcrumbs:this.breadcrumbs,context:this.context,errorCollector:this.context.errorCollector}),u=[],l=n,d=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 q=this.context.getTypeIdFromSchemaReference(c);q!=null&&l.add(q);continue}let{convertedProperties:g,inlinedTypesFromProperties:O,referencedTypes:m,propertiesByAudience:P}=CRa({properties:c.properties??{},required:[...this.schema.required??[],...c.required??[]],breadcrumbs:b,context:this.context,errorCollector:this.context.errorCollector});r.push(...g),d={...d,...O},s={...s,...P},m.forEach(E=>{l.add(E)})}for(let o of Object.keys(d))l.add(o);return{type:lO.object({properties:r,extends:u.map(o=>this.context.typeReferenceToDeclaredTypeName(o)).filter(V0),extendedProperties:[],extraProperties:t}),propertiesByAudience:s,referencedTypes:l,inlinedTypes:d}}};var V9n=class extends w0{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,d]of Object.entries(this.schema.discriminator.mapping??{})){let s=new Ok({context:this.context,schemaOrReference:{$ref:d},breadcrumbs:[...this.breadcrumbs,"discriminator","mapping",l]}),o=this.context.getTypeIdFromSchemaReference({$ref:d});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:xQ.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}=CRa({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:lO.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.isReferenceObjectWithIdentifier(a))c=this.context.convertReferenceToTypeReference({reference:a,displayNameOverride:a.title??a.name??a.messageId,displayNameOverrideSource:"reference_identifier"});else if(this.getDiscriminatorKeyForRef(a)!=null){let g=this.getDiscriminatorKeyForRef(a);c=this.context.convertReferenceToTypeReference({reference:a,displayNameOverride:g,displayNameOverrideSource:"discriminator_key"})}else c=this.context.convertReferenceToTypeReference({reference:a,displayNameOverrideSource:"schema_identifier"});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}`]),d=a.title,o=new WAi({context:this.context,id:l,nameOverride:d,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}):c.type==="object"&&c.properties.length===0?t.push({type:gf.container(_b.map({keyType:w0.STRING,valueType:gf.unknown()})),docs:a.description}):(t.push({type:this.context.createNamedTypeReference(l,d),docs:a.description}),i={...i,...o.inlinedTypes,[l]:o.convertedSchema}),o.convertedSchema.typeDeclaration.referencedTypes.forEach(b=>{r.add(b)})}}return{type:lO.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 Ok({context:this.context,breadcrumbs:this.breadcrumbs,schemaOrReference:t}).convert();if(i==null)return;let n=this.wrapInNullable(i.type);return{type:lO.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!0;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(_b.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 W9n=class extends w0{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(_b.literal(x9.string(t))):gf.primitive({v1:"STRING",v2:Lp.string({default:this.context.getAsString(this.schema.default),validation:this.getStringValidation(this.schema)})})}case"number":switch(this.schema.format){case"double":return gf.primitive({v1:"DOUBLE",v2:Lp.double({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"float":return gf.primitive({v1:"FLOAT",v2:Lp.float({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"int32":return gf.primitive({v1:"INTEGER",v2:Lp.integer({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"int64":return gf.primitive({v1:"LONG",v2:Lp.long({default:this.context.getAsNumber(this.schema.default)})});case"uint32":return gf.primitive({v1:"UINT",v2:Lp.uint({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"uint64":return gf.primitive({v1:"UINT_64",v2:Lp.uint64({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});default:return gf.primitive({v1:"DOUBLE",v2:Lp.double({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})})}case"integer":switch(this.schema.format){case"double":return gf.primitive({v1:"DOUBLE",v2:Lp.double({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"float":return gf.primitive({v1:"FLOAT",v2:Lp.float({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"int32":return gf.primitive({v1:"INTEGER",v2:Lp.integer({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"int64":return gf.primitive({v1:"LONG",v2:Lp.long({default:this.context.getAsNumber(this.schema.default)})});case"uint32":return gf.primitive({v1:"UINT",v2:Lp.uint({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});case"uint64":return gf.primitive({v1:"UINT_64",v2:Lp.uint64({default:this.context.getAsNumber(this.schema.default),validation:this.getNumberValidation(this.schema)})});default:return gf.primitive({v1:"INTEGER",v2:Lp.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(_b.literal(x9.boolean(t))):gf.primitive({v1:"BOOLEAN",v2:Lp.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 vJE=["description","example","title","default","deprecated","readOnly","writeOnly","xml","externalDocs","extensions"],WAi=class e extends w0{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 d=this.tryConvertMapSchema();if(d!=null)return d;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 pH.FernEnumExtension({breadcrumbs:this.breadcrumbs,schema:this.schema,context:this.context}).convert(),n=new L9n({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 W9n({context:this.context,schema:this.schema}).convert();if(r!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:lO.alias({aliasOf:r,resolvedType:r}),referencedTypes:new Set}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:{}}}tryConvertArraySchema(){if(this.schema.type==="array"){let r=new H9n({context:this.context,breadcrumbs:this.breadcrumbs,schema:this.schema}).convert();if(r!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:lO.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 V9n({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"||typeof this.schema.additionalProperties=="boolean")&&this.schema.additionalProperties!=null&&!this.schema.properties&&!this.schema.allOf){if(typeof this.schema.additionalProperties=="boolean"&&this.schema.additionalProperties===!1)return;let r=new vko({context:this.context,breadcrumbs:this.breadcrumbs,schemaOrReferenceOrBoolean: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 U9n({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:lO.alias({aliasOf:gf.unknown(),resolvedType:gf.unknown()}),referencedTypes:new Set}),audiences:this.audiences,propertiesByAudience:{}},inlinedTypes:{}}}tryConvertFernTypeDeclaration(){let r=new pH.FernTypeExtension({breadcrumbs:this.breadcrumbs,schema:this.schema,context:this.context}).convert();if(r==null)return;let i=BB_(r);if(i!=null)return{convertedSchema:{typeDeclaration:this.createTypeDeclaration({shape:lO.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=[...vJE,...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 Wir({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 Ok=class extends w0{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 WAi({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(_b.optional(t))}wrapInNullable(t){return gf.container(_b.nullable(t))}};var H9n=class e extends w0{static LIST_UNKNOWN=gf.container(_b.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 Ok({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(_b.list(r.type)),referencedTypes:i,inlinedTypes:r.inlinedTypes}}}return{typeReference:e.LIST_UNKNOWN,referencedTypes:new Set,inlinedTypes:{}}}};var bko=class extends w0{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.schema==null)return;if(r){let d=this.context.resolveMaybeReference({schemaOrReference:t.schema,breadcrumbs:[...this.breadcrumbs,"content",i]});if(d==null)return;t.schema=d}let u=new Ok({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(([d,s])=>{if(this.context.isReferenceObject(s)){let o=this.context.resolveReference({reference:s,breadcrumbs:[...this.breadcrumbs,"content",i,"examples"],skipErrorCollector:!0});return o.resolved?[d,o.value]:null}return[d,s]}).filter(d=>d!=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,d]of u){let s=this.context.resolveExampleWithValue(d),o=this.context.isExampleWithSummary(d)?d.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=T_(`${[...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}),d=new Wir({breadcrumbs:this.breadcrumbs,context:this.context,schema:u,example:r??l[0],generateOptionalProperties:n??!1,exampleGenerationStrategy:a}),{validExample:s,errors:o}=d.convert();return i||o.forEach(c=>{this.context.errorCollector.collect({message:c.message,path:c.path})}),s}};var gko=class extends w0{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??w0.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??w0.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??w0.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 Wir({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 Oko=class extends Aj{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 IB_="Base",EHt=class e extends w0{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 d=e.getServerName({server:l,context:this.context});return{id:d,name:this.context.casingsGenerator.generateName(d)}}).filter((l,d,s)=>s.findIndex(o=>o.id===l.id)===d),a=[i,...n],u=this.servers.map(l=>{let d=e.getServerName({server:l,context:this.context}),s=this.endpointLevelServers?.map(o=>[e.getServerName({server:o,context:this.context}),this.getServerUrl(o)]);return{id:d,name:this.context.casingsGenerator.generateName(d),urls:{[r]:this.getServerUrl(l),...Object.fromEntries(s??[])},docs:l.description}});return{value:{defaultEnvironment:u[0]?.id,environments:cx.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(V0);return{value:{defaultEnvironment:t[0]?.id,environments:cx.singleBaseUrl({environments:t})},defaultUrl:t[0]?.id}}static getServerExtensionName({server:t,context:r}){return new Oko({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,d])=>d.enum!=null&&d.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 d=r.url.replace(`{${a}}`,l),s={};for(let[c,b]of Object.entries(r.variables??{}))c!==a&&(s[c]=b);let o={...r,url:d,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(V0)}getDefaultBaseUrlName(){return this.servers==null||this.servers.length===0||this.servers[0]==null?IB_:e.getServerExtensionName({server:this.servers[0],context:this.context})??IB_}};var BRa={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"},bJE=new Set(Object.values(BRa));var gJE=hu.object({type:hu.string(),channelId:hu.string().optional(),messageId:hu.string(),value:hu.any()}),OJE=hu.object({summary:hu.string().optional(),description:hu.string().optional(),"query-parameters":hu.record(hu.string()).optional(),headers:hu.record(hu.string()).optional(),messages:hu.array(gJE)}),zB_=hu.array(OJE);var mko=class extends Aj{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=zB_.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 $9n=class extends w0{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 mko({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(d=>({type:i==="v2"?d.type:d.messageId,body:d.value}))}]))}transformToValidPath(t){return t.startsWith("/")?t:"/"+t}};var HAi=class extends QA.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 pH.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 QA.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 Pko=class extends Aj{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 G9n=class extends Aj{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 jko=class extends $9n{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 G9n({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 d=[];u!=null&&d.push(u),l!=null&&d.push(l);let o=new Pko({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=lF(c),O=T_(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:d,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 d=qVi(T_(`${this.channelPath}_${a}`)).replace(/ /g,"");if("oneOf"in r.message){let o=new QA.SchemaConverters.SchemaOrReferenceConverter({context:this.context,breadcrumbs:u,schemaOrReference:r.message,schemaIdOverride:d}).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 QA.SchemaConverters.SchemaOrReferenceConverter({context:this.context,breadcrumbs:u,schemaOrReference:s,schemaIdOverride:d}).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=R9.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 HAi({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 d=new HAi({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();d!=null&&d.type==="header"&&(this.inlinedTypes={...this.inlinedTypes,...d.inlinedTypes},r.push(d.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 d=new HAi({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();d!=null&&d.type==="query"&&(this.inlinedTypes={...this.inlinedTypes,...d.inlinedTypes},r.push(d.parameter))}}}};var Q9n=class extends w0{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:cx.singleBaseUrl({environments:t})}}constructServerUrl(t,r){return r.includes("://")?r:`${t}://${r}`}};var wko=class extends Q9n{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 kPc="$message.",xB_="#/channels/",RB_="#/servers/",Sko=class extends $9n{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 G9n({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=R9.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 d=this.resolveChannelServersFromReference(this.channel.servers??[])??Object.keys(this.context.spec.servers??{})[0],s=this.transformToValidPath(this.channel.address??this.channelPath),o=lF(s),c=this.context.getAudiences({operation:this.channel,breadcrumbs:this.breadcrumbs})??[];return{channel:{name:this.context.casingsGenerator.generateName(a),displayName:a,baseUrl:d,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:d,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:d,parameterKey:s}=l,c=new HAi({context:this.context,breadcrumbs:this.breadcrumbs,parameter:{...u,name:s,in:d},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(kPc)){this.context.errorCollector.collect({message:`Invalid location format: ${t}; expected ${kPc} prefix`,path:this.breadcrumbs});return}let n=r.substring(kPc.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(RB_)){this.context.errorCollector.collect({message:`Failed to resolve server name from server ref ${r.$ref}`,path:this.breadcrumbs});return}let i=r.$ref.substring(RB_.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(xB_))throw new Error(`Failed to resolve channel path from operation ${t.channel.$ref}`);return t.channel.$ref.substring(xB_.length)}};var Dko=class extends Q9n{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 IRa=class extends Mpi{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 d=this.context.resolveMaybeReference({schemaOrReference:l.payload,breadcrumbs:u});if(d==null)continue;let s=`${r}_${n}`;this.convertSchema({id:s,breadcrumbs:u,schema:d})}}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 QA.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 Dko({context:this.context,breadcrumbs:["servers"],servers:r}).convert()}else{let r=this.context.spec.servers;t=new wko({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 pH.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 Sko({context:this.context,breadcrumbs:["channels",t],websocketGroup:n,channel:r,channelPath:t,operations:l}).convert()}else a=new jko({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 zRa=class extends f8{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,displayNameOverrideSource:n}){let a,u=t.$ref.match(/^.*\/schemas\/(.+)$/),l=t.$ref.match(/^.*\/channels\/([^/]+)\/messages\/(.+)$/),d=t.$ref.match(/^.*\/messages\/(.+)$/);if(u&&u[1])return a=u[1],this.convertSchemaReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:i,displayNameOverrideSource:n,typeId:a});if(l&&l[2]){let s=l[1],o=l[2];return a=`${s}_${o}`,this.convertV3MessageReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:i,displayNameOverrideSource:n,typeId:a})}else return d&&d[1]?(a=d[1],this.convertV2MessageReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:i,displayNameOverrideSource:n,typeId:a})):{ok:!1}}convertSchemaReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:i,displayNameOverrideSource:n,typeId:a}){let u=this.resolveReference({reference:t,breadcrumbs:r});if(!u.resolved)return{ok:!1};let l;return n==="reference_identifier"?l=i??u.value.title:(n==="discriminator_key"||n==="schema_identifier")&&(l=u.value.title??i),{ok:!0,reference:gf.named({fernFilepath:this.createFernFilepath(),name:this.casingsGenerator.generateName(a),typeId:a,displayName:l,default:void 0,inline:!1})}}convertV3MessageReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:i,displayNameOverrideSource:n,typeId:a}){let u=this.resolveReference({reference:t,breadcrumbs:r});if(!u.resolved)return{ok:!1};let l;return n==="reference_identifier"?l=i??u.value.name:(n==="discriminator_key"||n==="schema_identifier")&&(l=u.value.name??i),{ok:!0,reference:gf.named({fernFilepath:this.createFernFilepath(),name:this.casingsGenerator.generateName(a),typeId:a,displayName:l,default:void 0,inline:!1})}}convertV2MessageReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:i,displayNameOverrideSource:n,typeId:a}){let u=this.resolveReference({reference:t,breadcrumbs:r});if(!u.resolved)return{ok:!1};let l;return n==="reference_identifier"?l=i??u.value.messageId??u.value.name:(n==="discriminator_key"||n==="schema_identifier")&&(l=u.value.messageId??u.value.name??i),{ok:!0,reference:gf.named({fernFilepath:this.createFernFilepath(),name:this.casingsGenerator.generateName(a),typeId:a,displayName:l,default:void 0,inline:!1})}}};var UB_=ci(ejc(),1);var ijc=ci(ejc(),1);var NB_=["get","post","put","delete","patch","head"];var Eko=class extends Aj{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 jJE=hu.object({cursor:hu.string(),next_cursor:hu.string(),results:hu.string()}),wJE=hu.object({offset:hu.string(),results:hu.string(),step:hu.string().optional(),"has-next-page":hu.string().optional()}),tjc=hu.union([hu.boolean(),jJE,wJE]);var rjc="$request.",Mko="$response.",Ako=class extends Aj{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=tjc.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=tjc.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:f8.maybeTrimPrefix(r.cursor,rjc),nextCursor:f8.maybeTrimPrefix(r.next_cursor,Mko),results:f8.maybeTrimPrefix(r.results,Mko)};let i=t;return{type:"offset",offset:f8.maybeTrimPrefix(i.offset,rjc),results:f8.maybeTrimPrefix(i.results,Mko),step:i.step!=null?f8.maybeTrimPrefix(i.step,rjc):void 0,hasNextPage:i["has-next-page"]!=null?f8.maybeTrimPrefix(i["has-next-page"],Mko):void 0}}};var SJE="$request.",DJE=hu.object({"stream-condition":hu.string().optional(),format:hu.enum(["sse","json"]).optional(),"stream-description":hu.string().optional(),"response-stream":hu.any(),response:hu.any()}),EJE=hu.union([hu.boolean(),DJE]),qko=class extends Aj{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=EJE.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:f8.maybeTrimPrefix(r.data["stream-condition"],SJE),responseStream:r.data["response-stream"],response:r.data.response}}};var Tko=class extends Aj{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 Cko=class extends Aj{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=JN.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 Bko=class extends QA.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(){return this.shouldConvertAsStreaming()?this.convertStreaming():this.convertNonStreaming()}convertStreaming(){if(this.streamingExtension==null)return;let t=[...this.group,this.method,"Response",this.statusCode].join("_"),r=Object.keys(this.responseBody.content??{});for(let i of r){let n=this.responseBody.content?.[i];if(n==null)continue;let a=this.parseMediaTypeObject({mediaTypeObject:n,schemaId:t,contentType:this.streamingExtension.format});if(a!=null)return this.convertStreamingResponse({mediaTypeObject:n,convertedSchema:a})}}convertNonStreaming(){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];if(a==null)continue;let u=this.parseMediaTypeObject({mediaTypeObject:a,schemaId:t,contentType:n});if(u!=null&&this.shouldReturnJsonResponse(n))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];if(a==null)continue;let u=this.parseMediaTypeObject({mediaTypeObject:a,schemaId:t,contentType:n});if(u!=null){if(this.isBinarySchema(u))return this.shouldReturnBytesResponse()?this.returnBytesResponse({mediaTypeObject:a}):this.returnFileDownloadResponse({mediaTypeObject:a});if(this.shouldReturnTextResponse(n))return this.returnTextResponse({mediaTypeObject:a})}}}convertStreamingResponse({mediaTypeObject:t,convertedSchema:r}){if(this.streamingExtension==null)return;switch(this.streamingExtension.format){case"json":return{responseBody:gE.streaming(SW.json({docs:this.responseBody.description,payload:r.type,terminator:void 0,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})})),streamResponseBody:void 0,inlinedTypes:r.inlinedTypes,examples:r.examples};case"sse":return{responseBody:gE.streaming(SW.sse({docs:this.responseBody.description,payload:r.type,terminator:void 0,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})})),streamResponseBody:void 0,inlinedTypes:r.inlinedTypes,examples:r.examples};default:return}}returnJsonResponse({mediaTypeObject:t,convertedSchema:r}){return{responseBody:gE.json(AZ.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:gE.bytes({docs:this.responseBody.description,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})}),streamResponseBody:void 0,inlinedTypes:{}}}returnFileDownloadResponse({mediaTypeObject:t}){return{responseBody:gE.fileDownload({docs:this.responseBody.description,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:t,generateOptionalProperties:!0,exampleGenerationStrategy:"response"})}),streamResponseBody:void 0,inlinedTypes:{}}}returnTextResponse({mediaTypeObject:t}){return{responseBody:gE.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}}shouldConvertAsStreaming(){return this.streamingExtension!=null}shouldReturnJsonResponse(t){return t.includes("json")}shouldReturnBytesResponse(){return(this.context.settings?.useBytesForBinaryResponse??!1)&&this.streamingExtension==null}shouldReturnTextResponse(t){return mM.parse(t)?.isText()??!1}};var Iko=class extends QA.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=BRa[this.statusCode];if(i==null){this.context.logger.warn(`No error name found for status code ${this.statusCode}`);return}let n=this.getErrorIdFromErrorName(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=BRa[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];if(n==null)continue;let a=this.parseMediaTypeObject({mediaTypeObject:n,schemaId:FB_(`${this.methodName}Request${r}`),contentType:i});if(a==null)continue;let u=this.getErrorIdFromErrorName(r);if(a.schema!=null)return this.constructErrorConverterOutput({errorName:r,errorId:u,fernFilepath:a.schema.typeDeclaration.name.fernFilepath,convertedSchema:a});if(a.type.type==="named")return this.constructErrorConverterOutput({errorName:r,errorId:u,fernFilepath:a.type.fernFilepath,convertedSchema:a})}}constructErrorConverterOutput({errorName:t,errorId:r,fernFilepath:i,convertedSchema:n}){return{error:{error:{name:this.context.casingsGenerator.generateName(r),fernFilepath:i,errorId:r},docs:this.responseError.description},errorType:n.type,displayName:t,statusCode:this.statusCode,inlinedTypes:n.inlinedTypes,examples:n.examples}}getErrorIdFromErrorName(t){return this.context.enableUniqueErrorsPerEndpoint?FB_(`${this.methodName}Request${t}`):t}};function FB_(e){return e.length===0?e:e.charAt(0).toUpperCase()+e.slice(1)}var zko=class extends QA.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 i=this.context.convertBreadcrumbsToName([...this.breadcrumbs,this.parameter.name]),a=new QA.SchemaConverters.SchemaOrReferenceConverter({context:this.context,breadcrumbs:[...this.breadcrumbs,"schema"],schemaOrReference:this.parameter.schema,wrapAsOptional:this.parameter.required==null||!this.parameter.required,schemaIdOverride:i}).convert();a!=null&&(t=a.type,r=a.inlinedTypes??{})}return this.convertToOutput({schema:this.parameter.schema??{type:"string"},typeReference:t,inlinedTypes:r})}};var xko=class extends QA.AbstractConverters.AbstractMediaTypeObjectConverter{requestBody;schemaId;streamingExtension;constructor({context:t,breadcrumbs:r,requestBody:i,group:n,method:a,streamingExtension:u}){super({context:t,breadcrumbs:r,group:n,method:a}),this.requestBody=i,this.schemaId=[...this.group,this.method,"Request"].join("_"),this.streamingExtension=u}convert(){if(!this.requestBody.content)return;let t=Object.keys(this.requestBody.content).filter(u=>mM.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=>mM.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=>mM.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=>mM.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=>mM.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.requestBody.content[t];if(r==null)return;let i=this.parseMediaTypeObject({mediaTypeObject:r,schemaId:this.schemaId,contentType:t});if(i!=null)return i.schema?.typeDeclaration.shape.type==="object"?{requestBody:ZC.inlinedRequestBody({contentType:t,docs:this.requestBody.description,name:this.context.casingsGenerator.generateName(this.schemaId),extendedProperties:i.schema?.typeDeclaration.shape.extendedProperties,extends:i.schema?.typeDeclaration.shape.extends,properties:i.schema?.typeDeclaration.shape.properties,extraProperties:i.schema?.typeDeclaration.shape.extraProperties,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:r,exampleGenerationStrategy:"request"})}),streamRequestBody:void 0,inlinedTypes:this.context.removeSchemaFromInlinedTypes({id:this.schemaId,inlinedTypes:i.inlinedTypes})}:{requestBody:ZC.reference({contentType:t,docs:this.requestBody.description,requestBodyType:i.type,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:r,exampleGenerationStrategy:"request"})}),streamRequestBody:void 0,inlinedTypes:i.inlinedTypes??{}}}handleMultipartContent({contentType:t}){let r=this.requestBody.content[t];if(r==null||r.schema==null)return;let i=this.parseMediaTypeObject({mediaTypeObject:r,schemaId:this.schemaId,resolveSchema:!0,contentType:t});if(i!=null&&i.schema?.typeDeclaration.shape.type==="object")return{requestBody:ZC.fileUpload({contentType:t,docs:this.requestBody.description,name:this.context.casingsGenerator.generateName(this.schemaId),properties:i.schema?.typeDeclaration.shape.properties.map(n=>this.convertRequestBodyProperty({property:n,contentType:t})),v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:r,exampleGenerationStrategy:"request"})}),streamRequestBody:void 0,inlinedTypes:this.context.removeSchemaFromInlinedTypes({id:this.schemaId,inlinedTypes:i.inlinedTypes}),examples:i.examples}}handleOctetStreamContent({contentType:t}){let r=this.requestBody.content[t];if(r==null)return;let i=this.parseMediaTypeObject({mediaTypeObject:r,schemaId:this.schemaId,contentType:t});return{requestBody:ZC.bytes({contentType:t,isOptional:this.requestBody.required===!1,docs:this.requestBody.description,v2Examples:this.convertMediaTypeObjectExamples({mediaTypeObject:r,exampleGenerationStrategy:"request"})}),streamRequestBody:void 0,inlinedTypes:i?.inlinedTypes??{}}}convertRequestBodyProperty({property:t,contentType:r}){let{isFile:i,isOptional:n,isArray:a}=this.recursivelyCheckTypeReferenceIsFile({typeReference:t.valueType});return i?a?z9.file(Qne.fileArray({key:t.name,isOptional:n,contentType:r,docs:t.docs})):z9.file(Qne.file({key:t.name,isOptional:n,contentType:r,docs:t.docs})):z9.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}):{isFile:this.context.isFile(t),isOptional:r??!1,isArray:i??!1}}};var MJE=/{([^}]+)}/g,AJE=new Set(["user-agent","content-length","content-type","x-forwarded-for","cookie","origin","content-disposition","x-ping-custom-domain"]),J9n=class extends w0{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 lR.Get;case"post":return lR.Post;case"put":return lR.Put;case"delete":return lR.Delete;case"patch":return lR.Patch;case"head":return lR.Head;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 d=new zko({context:this.context,breadcrumbs:t,parameter:u}).convert();if(d!=null)switch(this.inlinedTypes={...this.inlinedTypes,...d.inlinedTypes},d.type){case"path":r.push(d.parameter);break;case"query":i.push(d.parameter);break;case"header":{let s=d.parameter.name.name.originalName,o=d.parameter.name.wireValue,c=!1,b=this.context.authOverrides?.["auth-schemes"];if(b!=null){for(let g of Object.values(b))if(BJE(g)&&g.header.toLowerCase()===o.toLowerCase()){c=!0;break}}!AJE.has(s.toLowerCase())&&!c&&n.push(d.parameter);break}}}return this.checkMissingPathParameters(r),{pathParameters:r,queryParameters:i,headers:n}}checkMissingPathParameters(t){let i=[...this.path.matchAll(MJE)].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:w0.STRING,docs:void 0,location:"ENDPOINT",variable:void 0,v2Examples:{userSpecifiedExamples:{},autogeneratedExamples:{[a]:this.generateStringParameterExample({example:n})}}})}}convertRequestBody({breadcrumbs:t,group:r,method:i,streamingExtension:n}){if(this.operation.requestBody==null)return;let a=this.context.resolveMaybeReference({schemaOrReference:this.operation.requestBody,breadcrumbs:t});if(a==null)return null;let l=new xko({context:this.context,breadcrumbs:t,requestBody:a,group:r??[],method:i,streamingExtension:n}).convert();if(l!=null)return this.inlinedTypes={...this.inlinedTypes,...l.inlinedTypes},{value:l.requestBody,examples:l.examples}}computeGroupNameAndLocationFromExtensions(){let r=new pH.SdkMethodNameExtension({breadcrumbs:this.breadcrumbs,operation:this.operation,context:this.context}).convert()?.methodName,n=new pH.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?T_(this.operation.summary):T_(`${this.method}_${this.path.split("/").join("_")}`))}computeGroupNameFromTagAndOperationId(){let t=this.operation.tags?.[0],r=this.evaluateMethodNameFromOperation();if(t==null)return{method:r};let i=LB_(t),n=LB_(r);return OEe(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,d)=>l!==n[d]))return{group:[t],method:i};let u=n.slice(r.length);return{group:[t],method:T_(u.join("_"))}}generateStringParameterExample({example:t}){let r=new QA.ExampleConverter({breadcrumbs:this.breadcrumbs,context:this.context,schema:{type:"string"},example:t}),{validExample:i}=r.convert();return i}};function LB_(e){let t=qJE(e)?TJE(e):CJE(e);return t=t.map(r=>r.toLowerCase()),t=Sxe(t),t}function qJE(e){return/^[a-z]+(?:[A-Z][a-z]+)*$/.test(e)}function TJE(e){return e.split(/(?=[A-Z])/)}function CJE(e){return e.split(/[^a-zA-Z0-9]+/)}function BJE(e){return e?.header!=null}var Rko=class e extends J9n{idempotent;idToAuthScheme;topLevelServers;streamingExtension;static AUTHORIZATION_HEADER="Authorization";constructor({context:t,breadcrumbs:r,operation:i,method:n,path:a,idempotent:u,idToAuthScheme:l,topLevelServers:d,streamingExtension:s}){super({context:t,breadcrumbs:r,operation:i,method:n,path:a}),this.idempotent=u,this.idToAuthScheme=l,this.topLevelServers=d,this.streamingExtension=s}convert(){let t=this.convertHttpMethod();if(t==null)return;let{group:r,method:i}=this.computeGroupNameAndLocationFromExtensions()??this.computeGroupNameFromTagAndOperationId(),{headers:n,pathParameters:a,queryParameters:u}=this.convertParameters({breadcrumbs:[...this.breadcrumbs,"parameters"]}),l=this.convertRequestBody({breadcrumbs:[...this.breadcrumbs,"requestBody"],group:r,method:i,streamingExtension:this.streamingExtension}),d=l?.value,s=this.convertResponseBody({breadcrumbs:[...this.breadcrumbs,"responses"],group:r,method:i,streamingExtension:this.streamingExtension}),o=s?.response,c=s?.streamResponse,b=s!=null?s.errors:[],g={},O=b.map(I=>I.error),m=lF(this.path),P=this.getEndpointBaseUrl(),E=this.getEndpointBaseUrls(),q=this.convertExamples({httpPath:m,httpMethod:t,baseUrl:P}),M=new Set(this.operation.security?.flatMap(I=>Object.keys(I))??[]),D=this.authSchemeToHeaders(Array.from(M));D.length>0&&n.push(...D);for(let I of b){let L=I.error,V=I.errorType,X=L.error.errorId;g[X]={name:L.error,displayName:I.displayName,discriminantValue:{name:L.error.name,wireValue:X},type:V,statusCode:I.statusCode,docs:L.docs,examples:[],v2Examples:void 0}}let C={displayName:this.operation.summary,method:t,name:this.context.casingsGenerator.generateName(i),baseUrl:P,v2BaseUrls:E,path:m,pathParameters:a,queryParameters:u,headers:n.filter((I,L,V)=>L===V.findIndex(X=>X.name.wireValue===I.name.wireValue)),requestBody:d,sdkRequest:void 0,errors:O,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:m,allPathParameters:a,pagination:void 0,transport:void 0,v2Examples:{autogeneratedExamples:{},userSpecifiedExamples:q},source:Gne.openapi()},x=this.context.namespace!=null?[this.context.namespace]:[],$=r?.map(I=>T_(I));return x.push(...$??[]),{audiences:this.context.getAudiences({operation:this.operation,breadcrumbs:this.breadcrumbs})??[],group:r,errors:g,endpoint:{id:`endpoint_${x.join("/")}.${i}`,...C,response:o},streamEndpoint:c!=null&&c.body!=null?{id:`endpoint_${x.join("/")}.${i}_stream`,...C,response:c}:void 0,inlinedTypes:this.inlinedTypes,servers:this.filterOutTopLevelServers(this.operation.servers??[])}}convertResponseBody({breadcrumbs:t,group:r,method:i,streamingExtension:n}){if(this.operation.responses==null)return;let a,u=!1;for(let[l,d]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:d,breadcrumbs:[...t,l]});if(o==null)continue;let b=new Bko({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:d,breadcrumbs:[...t,l]});if(o==null)continue;let b=new Iko({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}authSchemeToHeaders(t){let r=[];for(let i of t){let n=this.idToAuthScheme?.[i];if(n==null)continue;let a={valueType:w0.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 Cko({context:this.context,breadcrumbs:this.breadcrumbs,operation:this.operation}).convert();return a==null?{}:Object.fromEntries(a.map((u,l)=>[u.name??`Example_${l}`,{request:u.request!=null?{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}:void 0,response:u.response!=null?{docs:void 0,statusCode:void 0,body:Ws.V2HttpEndpointResponseBody.json(u.response)}:void 0,codeSamples:u["code-samples"]?.map(d=>({docs:void 0,language:("language"in d?d.language:d.sdk)??void 0,code:d.code}))}]))}getEndpointBaseUrl(){let t=this.operation.servers?.[0];if(t==null)return;let i=this.topLevelServers?.find(n=>n.url===t.url)??t;return EHt.getServerName({server:i,context:this.context})}getEndpointBaseUrls(){let t=this.operation.servers;return t?.map(i=>{let a=this.topLevelServers?.find(u=>u.url===i.url)??i;return EHt.getServerName({server:a,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 K9n=class extends J9n{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,streamingExtension:void 0}),l;if(u?.value.type==="inlinedRequestBody")l=EW.inlinedPayload({name:u.value.name,extends:u.value.extends,properties:u.value.properties});else if(u?.value.type==="reference")l=EW.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 Nko=class extends w0{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 NB_){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}let s=new qko({breadcrumbs:u,operation:a,context:this.context}).convert(),o=this.tryParseAsHttpEndpoint({operationBreadcrumbs:u,operation:a,method:n,streamingExtension:s});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 Tko({breadcrumbs:i,operation:t,context:n}).convert()?new K9n({context:this.context,breadcrumbs:i,operation:t,method:ijc.OpenAPIV3.HttpMethods[r.toUpperCase()],path:this.path}).convert():void 0}tryParseAsHttpEndpoint({operation:t,method:r,operationBreadcrumbs:i,streamingExtension:n}){new Ako({breadcrumbs:i,operation:t,document:this.context.spec,context:this.context}).convert()!=null;let d=new Eko({breadcrumbs:i,operation:t,context:this.context}).convert();return new Rko({context:this.context,breadcrumbs:i,operation:t,method:ijc.OpenAPIV3.HttpMethods[r.toUpperCase()],path:this.path,idempotent:d,idToAuthScheme:this.idToAuthScheme,topLevelServers:this.topLevelServers,streamingExtension:n}).convert()}};var Fko=class extends w0{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 CB.bearer({token:this.context.casingsGenerator.generateName("token"),tokenEnvVar:void 0,docs:this.securityScheme.description});if(this.securityScheme.scheme==="basic")return CB.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 CB.header({name:{name:this.context.casingsGenerator.generateName(this.securityScheme.name),wireValue:this.securityScheme.name},valueType:w0.OPTIONAL_STRING,prefix:void 0,headerEnvVar:void 0,docs:this.securityScheme.description});break}case"oauth2":return CB.bearer({token:this.context.casingsGenerator.generateName("token"),tokenEnvVar:void 0,docs:this.securityScheme.description})}}};var xRa=class extends Mpi{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(GPc({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 Fko({context:this.context,breadcrumbs:["components","securitySchemes",i],securityScheme:a}).convert();l!=null&&(this.shouldAddAuthSchemeToIr({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=qRa({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 EHt({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 QA.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 K9n({context:this.context,breadcrumbs:["webhooks",r],operation:t.post,method:UB_.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 Nko({context:this.context,breadcrumbs:["paths",n],topLevelServers:this.context.spec.servers,pathItem:a,path:n}).convert();if(l!=null){for(let d of l.endpoints){if(this.addEndpointToIr({endpoint:d.endpoint,audiences:d.audiences,endpointGroup:d.group}),d.streamEndpoint!=null&&this.addEndpointToIr({endpoint:d.streamEndpoint,audiences:d.audiences,endpointGroup:d.group}),d.servers)for(let s of d.servers)this.shouldAddServerToCollectedServers({server:s,currentServers:r})&&r.push(s);if(d.errors)for(let[s,o]of Object.entries(d.errors))i[s]=o}for(let d of l.webhooks){let s=this.context.getGroup({groupParts:d.group,namespace:this.context.namespace});this.addWebhookToIr({webhook:d.webhook,operationId:s.join("."),group:s,audiences:d.audiences})}this.addTypesToIr(l.inlinedTypes)}}return{endpointLevelServers:r,errors:i}}shouldAddAuthSchemeToIr({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 RRa=class extends f8{isReferenceObject(t){return t!=null&&typeof t=="object"&&"$ref"in t}convertReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:i,displayNameOverrideSource: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==="reference_identifier"?l=i??u.value.title:(n==="discriminator_key"||n==="schema_identifier")&&(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 Lko=class extends QA.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 QA.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 IJE=hu.object({description:hu.string().optional(),required:hu.boolean().optional(),deprecated:hu.boolean().optional(),allowEmptyValue:hu.boolean().optional(),style:hu.string().optional(),explode:hu.boolean().optional(),allowReserved:hu.boolean().optional(),schema:hu.any().optional(),example:hu.any().optional(),examples:hu.record(hu.string(),hu.any()).optional(),content:hu.record(hu.string(),hu.any()).optional()}),zJE=IJE.extend({name:hu.string(),in:hu.string()}),xJE=hu.array(zJE),Uko=class extends Aj{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 xJE.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 Vko=class extends w0{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 d of this.pathParameters)r+=`/{${d.name.originalName}}`;let i=lF(r),n=[];for(let[d,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 QA.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 d=this.context.resolveMaybeReference({schemaOrReference:this.method.result,breadcrumbs:[...this.breadcrumbs,"result"]});if(d!=null){let s=new QA.SchemaConverters.SchemaOrReferenceConverter({breadcrumbs:[this.method.name,"result"],context:this.context,schemaOrReference:d.schema}),o=[this.method.name,"Result"].join("_"),c=s.convert();c!=null&&(a={docs:d.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,v2BaseUrls: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?ZC.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:gE.json(AZ.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:Gne.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 d=this.context.resolveReference({reference:i});if(d.resolved)n=d.value;else continue}else n=i;let a;if(n.result)if(this.context.isReferenceObject(n.result)){let d=this.context.resolveReference({reference:n.result});d.resolved&&(a=d.value)}else a=n.result;let u=n.name??`Example ${r+1}`,l=[];if(n.params&&Array.isArray(n.params)){l=[];for(let d of n.params)if(this.context.isReferenceObject(d)){let s=this.context.resolveReference({reference:d});if(s.resolved)l.push(s.value);else continue}else l.push(d)}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(d=>d.value)??void 0},response:{docs:void 0,statusCode:void 0,body:a?.value?Ws.V2HttpEndpointResponseBody.json({jsonrpc:"2.0",id:n.examplePairedRequest?.id||"1",result:a.value}):void 0},codeSamples:[]}}++r}return t}};var NRa=class extends Mpi{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 EHt({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 QA.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 Uko({context:this.context,breadcrumbs:["methods"],operation:this.context.spec}).convert(),i=[],n=[],a=[];if(r&&r.length>0)for(let[l,d]of r.entries()){let o=new Lko({context:this.context,breadcrumbs:[...this.breadcrumbs,`x-fern-parameters[${l}]`],parameter:d}).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 d=this.context.resolveMaybeReference({schemaOrReference:l,breadcrumbs:["methods"]});if(d==null)continue;let o=new Vko({context:this.context,breadcrumbs:["methods"],method:d,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 FRa=class extends f8{isReferenceObject(t){return t!=null&&"$ref"in t}convertReferenceToTypeReference({reference:t,breadcrumbs:r,displayNameOverride:i,displayNameOverrideSource: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==="reference_identifier"?l=i??u.value.title:(n==="discriminator_key"||n==="schema_identifier")&&(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 VB_={[hy.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,iz(e)])),[hy.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"]),[hy.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"]),[hy.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"]),[hy.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"]),[hy.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"]),[hy.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"]),[hy.GenerationLanguage.SWIFT]:new Set([])};var RJE=["go","ruby"];function njc({generationLanguage:e,keywords:t,smartCasing:r}){let i={generateName:(n,a)=>{let u=c=>({unsafeName:c,safeName:NJE({name:c,keywords:FJE({generationLanguage:e,keywords:t})})}),l=T_(n),d=iz(l),s=AVi(n),o=SVi(l);return r&&(!VJE(o)&&(e==null||RJE.includes(e))&&(l=o.map((c,b)=>{if(b>0){let g=Wko(c);if(g!=null)return g;if(Hko(c))return c.toUpperCase()}return c}).join(""),d=o.map((c,b)=>{let g=Wko(c);return g??(Hko(c)?c.toUpperCase():b===0?iz(c):c)}).join("")),s=n.split(" ").map(c=>c.split(/(\d+)/).map(AVi).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??d)}},generateNameAndWireValue:({name:n,wireValue:a,opts:u})=>({name:i.generateName(n,u),wireValue:a})};return i}function NJE({name:e,keywords:t}){return t==null?e:t.has(e)?e+"_":UJE(e)?"_"+e:e}function FJE({generationLanguage:e,keywords:t}){if(t!=null)return new Set(t);if(e!=null)return VB_[e]}var LJE=/^[0-9]/;function UJE(e){return LJE.test(e)}function VJE(e){return e.some((t,r)=>{if(r===0)return!1;let i=e[r-1];if(i==null)return!1;let n=Wko(i)!=null||Hko(i),a=Wko(t)!=null||Hko(t);return n&&a})}function Wko(e){return HJE.get(e.toUpperCase())}function Hko(e){return WJE.has(e.toUpperCase())}var WJE=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"]),HJE=new Map([["ACLS","ACLs"],["APIS","APIs"],["CPUS","CPUs"],["GUIDS","GUIDs"],["IDS","IDs"],["UIDS","UIDs"],["UUIDS","UUIDs"],["URIS","URIs"],["URLS","URLs"]]);var WB_=require("fs/promises");async function ajc({context:e,absoluteFilePath:t,absoluteFilePathToOverrides:r}){let i=(await(0,WB_.readFile)(t)).toString(),n;try{n=JSON.parse(i)}catch{n=qd.load(i)}return r!=null?await i9n({absoluteFilePathToOverrides:r,context:e,data:n}):n}var SR=class extends YIa{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 wHt(this.absoluteFilePath)}async getOpenAPIIr({context:t,relativePathToDependency:r},i){let n=await CFe({context:t,specs:this.specs,relativePathToDependency:r});return XJi({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 CFe({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 d=this.generatorsConfiguration?.api?.headers!=null?{...this.generatorsConfiguration?.api}:void 0;d&&t.logger.trace("Using global header overrides from generators configuration");let s,o=[];for(let c of a){let b=Vu(this.absoluteFilePath,Qa.of(c.source?.file??"")),g=cne(aR(),b),O=new z9n({logger:t.logger,relativeFilepathToSpec:g});o.push(O);let m;switch(c.type){case"openapi":{let E=new RRa({namespace:c.namespace,generationLanguage:"typescript",logger:t.logger,smartCasing:!1,spec:c.value,exampleGenerationArgs:{disabled:!1},errorCollector:O,authOverrides:u,environmentOverrides:l,globalHeaderOverrides:d,enableUniqueErrorsPerEndpoint:i});m=await new xRa({context:E,audiences:r}).convert();break}case"asyncapi":{let E=new zRa({namespace:c.namespace,generationLanguage:"typescript",logger:t.logger,smartCasing:!1,spec:c.value,exampleGenerationArgs:{disabled:!1},errorCollector:O,enableUniqueErrorsPerEndpoint:i});m=await new IRa({context:E,audiences:r}).convert();break}default:O.collect({message:`Unsupported document type: ${c}`,path:[]});break}let P=njc({generationLanguage:"typescript",keywords:void 0,smartCasing:!1});m!=null&&(s=s===void 0?m:oko(s,m,P))}for(let c of this.allSpecs)if(c.type==="openrpc"){let b=c.absoluteFilepath,g=cne(aR(),b),O=new z9n({logger:t.logger,relativeFilepathToSpec:g});o.push(O);let m=new FRa({namespace:c.namespace,generationLanguage:"typescript",logger:t.logger,smartCasing:!1,spec:await ajc({context:t,absoluteFilePath:c.absoluteFilepath,absoluteFilePathToOverrides:c.absoluteFilepathToOverrides}),exampleGenerationArgs:{disabled:!1},errorCollector:O,enableUniqueErrorsPerEndpoint:i}),E=await new NRa({context:m,audiences:r}).convert(),q=njc({generationLanguage:"typescript",keywords:void 0,smartCasing:!1});E!=null&&(s=s===void 0?E:oko(s,E,q))}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 DMe({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(V0)]}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:Iae(),absoluteFilePath:u})),n},i)}};var HB_={None:"none",Header:"header"};var peu={};jo(peu,{ConjureAliasDeclaration:()=>Xko,ConjureArgument:()=>leu,ConjureArgumentWithParamType:()=>ceu,ConjureAuthDefinition:()=>k9n,ConjureAuthDefinitionType:()=>ueu,ConjureDefinitions:()=>aeu,ConjureEndpointDefinition:()=>feu,ConjureEnumDeclaration:()=>ieu,ConjureEnumVariant:()=>reu,ConjureEnumWithDocs:()=>teu,ConjureObjectDeclaration:()=>eeu,ConjureParamType:()=>seu,ConjurePrimitive:()=>Yko,ConjureService:()=>deu,ConjureServiceName:()=>Kko,ConjureType:()=>JAi,ConjureTypeDeclaration:()=>neu,ConjureTypeReference:()=>KAi,ConjureTypeWithDocs:()=>Zko,ConjureTypes:()=>oeu,ConjureUnionDeclaration:()=>kko,DefinitionFile:()=>bI_,WithDocs:()=>Hir,commons:()=>ljc,conjure:()=>fjc,services:()=>djc,types:()=>pjc});var ljc={};jo(ljc,{WithDocs:()=>Hir});var ip={};jo(ip,{JsonError:()=>Y9n,ParseError:()=>X9n,any:()=>aI_,bigint:()=>GB_,boolean:()=>oI_,booleanLiteral:()=>nI_,date:()=>QB_,discriminant:()=>hI_,enum_:()=>Gko,getObjectLikeUtils:()=>MHt,getObjectUtils:()=>DKi,getSchemaUtils:()=>Qq,isProperty:()=>QAi,lazy:()=>JB_,lazyObject:()=>tI_,list:()=>Jko,number:()=>uI_,object:()=>Qko,objectWithoutOptionalProperties:()=>eI_,optional:()=>ojc,property:()=>YB_,record:()=>fI_,set:()=>dI_,string:()=>sI_,stringLiteral:()=>iI_,transform:()=>ujc,undiscriminatedUnion:()=>_I_,union:()=>vI_,unknown:()=>cI_,withParsedProperties:()=>cjc});var qj={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 yA(e,t){return`Expected ${t}. Received ${$JE(e)}.`}function $JE(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 pL(e){return{...e,json:$B_(e.json),parse:$B_(e.parse)}}function $B_(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(`
1961
1961
  `)),{ok:!0,value:t}):i}}function $ko(e){return e.path.length===0?e.message:`${e.path.join(" -> ")}: ${e.message}`}var Y9n=class e extends Error{errors;constructor(t){super(t.map($ko).join("; ")),this.errors=t,Object.setPrototypeOf(this,e.prototype)}};var X9n=class e extends Error{errors;constructor(t){super(t.map($ko).join("; ")),this.errors=t,Object.setPrototypeOf(this,e.prototype)}};function Qq(e){return{optional:()=>ojc(e),transform:t=>ujc(e,t),parseOrThrow:(t,r)=>{let i=e.parse(t,r);if(i.ok)return i.value;throw new X9n(i.errors)},jsonOrThrow:(t,r)=>{let i=e.json(t,r);if(i.ok)return i.value;throw new Y9n(i.errors)}}}function ojc(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:()=>qj.OPTIONAL};return{...t,...Qq(t)}}function ujc(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,...Qq(r)}}function GB_(){let e={parse:(t,{breadcrumbsPrefix:r=[]}={})=>typeof t!="string"?{ok:!1,errors:[{path:r,message:yA(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:yA(t,"bigint")}]},getType:()=>qj.BIGINT};return{...pL(e),...Qq(e)}}var GJE=/^([+-]?\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 QB_(){let e={parse:(t,{breadcrumbsPrefix:r=[]}={})=>typeof t!="string"?{ok:!1,errors:[{path:r,message:yA(t,"string")}]}:GJE.test(t)?{ok:!0,value:new Date(t)}:{ok:!1,errors:[{path:r,message:yA(t,"ISO 8601 date string")}]},json:(t,{breadcrumbsPrefix:r=[]}={})=>t instanceof Date?{ok:!0,value:t.toISOString()}:{ok:!1,errors:[{path:r,message:yA(t,"Date object")}]},getType:()=>qj.DATE};return{...pL(e),...Qq(e)}}function wJ(e,t){return()=>{let r={parse:t,json:t,getType:()=>e};return{...pL(r),...Qq(r)}}}function Gko(e){let t=new Set(e);return wJ(qj.ENUM,(i,{allowUnrecognizedEnumValues:n,breadcrumbsPrefix:a=[]}={})=>typeof i!="string"?{ok:!1,errors:[{path:a,message:yA(i,"string")}]}:!t.has(i)&&!n?{ok:!1,errors:[{path:a,message:yA(i,"enum")}]}:{ok:!0,value:i})()}function JB_(e){let t=sjc(e);return{...t,...Qq(t)}}function sjc(e){return{parse:(t,r)=>Z9n(e).parse(t,r),json:(t,r)=>Z9n(e).json(t,r),getType:()=>Z9n(e).getType()}}function Z9n(e){let t=e;return t.__zurg_memoized==null&&(t.__zurg_memoized=e()),t.__zurg_memoized}function LRa(e){return Object.entries(e)}function URa(e,t){let r=new Set(t);return Object.entries(e).reduce((i,[n,a])=>(r.has(n)&&(i[n]=a),i),{})}function GAi(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 VRa(e){return Object.keys(e)}function KB_(e,t){let r=[],i=[];for(let n of e)t(n)?r.push(n):i.push(n);return[r,i]}function MHt(e){return{withParsedProperties:t=>cjc(e,t)}}function cjc(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,[d,s])=>({...l,[d]:typeof s=="function"?s(a.value):s}),{});return{ok:!0,value:{...a.value,...u}}},json:(i,n)=>{if(!GAi(i))return{ok:!1,errors:[{path:n?.breadcrumbsPrefix??[],message:yA(i,"object")}]};let a=new Set(Object.keys(t)),u=URa(i,Object.keys(i).filter(l=>!a.has(l)));return e.json(u,n)},getType:()=>e.getType()};return{...r,...Qq(r),...MHt(r)}}function YB_(e,t){return{rawKey:e,valueSchema:t,isProperty:!0}}function QAi(e){return e.isProperty}function Qko(e){let t={_getRawProperties:()=>Object.entries(e).map(([r,i])=>QAi(i)?i.rawKey:r),_getParsedProperties:()=>VRa(e),parse:(r,i)=>{let n={},a=[];for(let[u,l]of LRa(e)){let d=QAi(l)?l.rawKey:u,s=QAi(l)?l.valueSchema:l,o={rawKey:d,parsedKey:u,valueSchema:s};n[d]=o,kB_(s)&&a.push(d)}return XB_({value:r,requiredKeys:a,getProperty:u=>{let l=n[u];if(l!=null)return{transformedKey:l.parsedKey,transform:d=>l.valueSchema.parse(d,{...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 LRa(e)){let l=QAi(u)?u.valueSchema:u;kB_(l)&&n.push(a)}return XB_({value:r,requiredKeys:n,getProperty:a=>{let u=e[a];if(u!=null)return QAi(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:()=>qj.OBJECT};return{...pL(t),...Qq(t),...MHt(t),...DKi(t)}}function XB_({value:e,requiredKeys:t,getProperty:r,unrecognizedObjectKeys:i="fail",skipValidation:n=!1,breadcrumbsPrefix:a=[]}){if(!GAi(e))return{ok:!1,errors:[{path:a,message:yA(e,"object")}]};let u=new Set(t),l=[],d={};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?d[c.transformedKey]=b.value:(d[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":d[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:d}:{ok:!1,errors:l}}function DKi(e){return{extend:t=>{let r={_getParsedProperties:()=>[...e._getParsedProperties(),...t._getParsedProperties()],_getRawProperties:()=>[...e._getRawProperties(),...t._getRawProperties()],parse:(i,n)=>ZB_({extensionKeys:t._getRawProperties(),value:i,transformBase:a=>e.parse(a,n),transformExtension:a=>t.parse(a,n)}),json:(i,n)=>ZB_({extensionKeys:t._getParsedProperties(),value:i,transformBase:a=>e.json(a,n),transformExtension:a=>t.json(a,n)}),getType:()=>qj.OBJECT};return{...r,...Qq(r),...MHt(r),...DKi(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:()=>qj.OBJECT};return{...t,...Qq(t),...MHt(t),...DKi(t)}}}}function ZB_({extensionKeys:e,value:t,transformBase:r,transformExtension:i}){let n=new Set(e),[a,u]=KB_(VRa(t),s=>n.has(s)),l=r(URa(t,u)),d=i(URa(t,a));return l.ok&&d.ok?{ok:!0,value:{...l.value,...d.value}}:{ok:!1,errors:[...l.ok?[]:l.errors,...d.ok?[]:d.errors]}}function kB_(e){return!QJE(e)}function QJE(e){switch(e.getType()){case qj.ANY:case qj.UNKNOWN:case qj.OPTIONAL:return!0;default:return!1}}function eI_(e){return Qko(e)}function tI_(e){let t={...sjc(e),_getRawProperties:()=>Z9n(e)._getRawProperties(),_getParsedProperties:()=>Z9n(e)._getParsedProperties()};return{...t,...Qq(t),...MHt(t),...DKi(t)}}function Jko(e){let t={parse:(r,i)=>rI_(r,(n,a)=>e.parse(n,{...i,breadcrumbsPrefix:[...i?.breadcrumbsPrefix??[],`[${a}]`]})),json:(r,i)=>rI_(r,(n,a)=>e.json(n,{...i,breadcrumbsPrefix:[...i?.breadcrumbsPrefix??[],`[${a}]`]})),getType:()=>qj.LIST};return{...pL(t),...Qq(t)}}function rI_(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:yA(e,"list"),path:[]}]}}function iI_(e){return wJ(qj.STRING_LITERAL,(r,{breadcrumbsPrefix:i=[]}={})=>r===e?{ok:!0,value:e}:{ok:!1,errors:[{path:i,message:yA(r,`"${e}"`)}]})()}function nI_(e){return wJ(qj.BOOLEAN_LITERAL,(r,{breadcrumbsPrefix:i=[]}={})=>r===e?{ok:!0,value:e}:{ok:!1,errors:[{path:i,message:yA(r,`${e.toString()}`)}]})()}var aI_=wJ(qj.ANY,e=>({ok:!0,value:e}));var oI_=wJ(qj.BOOLEAN,(e,{breadcrumbsPrefix:t=[]}={})=>typeof e=="boolean"?{ok:!0,value:e}:{ok:!1,errors:[{path:t,message:yA(e,"boolean")}]});var uI_=wJ(qj.NUMBER,(e,{breadcrumbsPrefix:t=[]}={})=>typeof e=="number"?{ok:!0,value:e}:{ok:!1,errors:[{path:t,message:yA(e,"number")}]});var sI_=wJ(qj.STRING,(e,{breadcrumbsPrefix:t=[]}={})=>typeof e=="string"?{ok:!0,value:e}:{ok:!1,errors:[{path:t,message:yA(e,"string")}]});var cI_=wJ(qj.UNKNOWN,e=>({ok:!0,value:e}));function fI_(e,t){let r={parse:(i,n)=>lI_({value:i,isKeyNumeric:e.getType()===qj.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)=>lI_({value:i,isKeyNumeric:e.getType()===qj.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:()=>qj.RECORD};return{...pL(r),...Qq(r)}}function lI_({value:e,isKeyNumeric:t,transformKey:r,transformValue:i,breadcrumbsPrefix:n=[]}){return GAi(e)?LRa(e).reduce((a,[u,l])=>{if(l==null)return a;let d=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(d.ok&&o.ok&&c.ok)return{ok:!0,value:{...d.value,[o.value]:c.value}};let b=[];return d.ok||b.push(...d.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:yA(e,"object")}]}}function dI_(e){let t=Jko(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:yA(i,"Set")}]},getType:()=>qj.SET};return{...pL(r),...Qq(r)}}function _I_(e){let t={parse:(r,i)=>pI_((n,a)=>n.parse(r,a),e,i),json:(r,i)=>pI_((n,a)=>n.json(r,a),e,i),getType:()=>qj.UNDISCRIMINATED_UNION};return{...pL(t),...Qq(t)}}function pI_(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 hI_(e,t){return{parsedDiscriminant:e,rawDiscriminant:t}}function vI_(e,t){let r=typeof e=="string"?e:e.rawDiscriminant,i=typeof e=="string"?e:e.parsedDiscriminant,n=Gko(VRa(t)),a={parse:(u,l)=>yI_({value:u,discriminant:r,transformedDiscriminant:i,transformDiscriminantValue:d=>n.parse(d,{allowUnrecognizedEnumValues:l?.allowUnrecognizedUnionMembers,breadcrumbsPrefix:[...l?.breadcrumbsPrefix??[],r]}),getAdditionalPropertiesSchema:d=>t[d],allowUnrecognizedUnionMembers:l?.allowUnrecognizedUnionMembers,transformAdditionalProperties:(d,s)=>s.parse(d,l),breadcrumbsPrefix:l?.breadcrumbsPrefix}),json:(u,l)=>yI_({value:u,discriminant:i,transformedDiscriminant:r,transformDiscriminantValue:d=>n.json(d,{allowUnrecognizedEnumValues:l?.allowUnrecognizedUnionMembers,breadcrumbsPrefix:[...l?.breadcrumbsPrefix??[],i]}),getAdditionalPropertiesSchema:d=>t[d],allowUnrecognizedUnionMembers:l?.allowUnrecognizedUnionMembers,transformAdditionalProperties:(d,s)=>s.json(d,l),breadcrumbsPrefix:l?.breadcrumbsPrefix}),getType:()=>qj.UNION};return{...pL(a),...Qq(a),...MHt(a)}}function yI_({value:e,discriminant:t,transformedDiscriminant:r,transformDiscriminantValue:i,getAdditionalPropertiesSchema:n,allowUnrecognizedUnionMembers:a=!1,transformAdditionalProperties:u,breadcrumbsPrefix:l=[]}){if(!GAi(e))return{ok:!1,errors:[{path:l,message:yA(e,"object")}]};let{[t]:d,...s}=e;if(d==null)return{ok:!1,errors:[{path:l,message:`Missing discriminant ("${t}")`}]};let o=i(d);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]:d,...b.value}}:b}var Hir=ip.objectWithoutOptionalProperties({docs:ip.string().optional()});var fjc={};jo(fjc,{ConjureServiceName:()=>Kko,DefinitionFile:()=>bI_});var Kko=ip.string();var Yko=ip.enum_(["rid","string","safelong","integer","double","boolean"]);var JAi=ip.undiscriminatedUnion([Yko,ip.string()]);var Xko=ip.objectWithoutOptionalProperties({alias:JAi,docs:ip.string().optional()});var Zko=ip.objectWithoutOptionalProperties({type:JAi,docs:ip.string().optional()});var KAi=ip.undiscriminatedUnion([JAi,Zko]);var kko=ip.objectWithoutOptionalProperties({union:ip.record(ip.string(),KAi)});var eeu=ip.objectWithoutOptionalProperties({fields:ip.record(ip.string(),KAi)});var teu=ip.objectWithoutOptionalProperties({value:ip.string()}).extend(Hir);var reu=ip.undiscriminatedUnion([ip.string(),teu]);var ieu=ip.objectWithoutOptionalProperties({values:ip.list(reu)});var neu=ip.undiscriminatedUnion([Xko,kko,eeu,ieu]);var aeu=ip.objectWithoutOptionalProperties({objects:ip.record(ip.string(),neu).optional()});var oeu=ip.objectWithoutOptionalProperties({conjureImports:ip.property("conjure-imports",ip.record(ip.string(),ip.string()).optional()),definitions:aeu.optional()});var ueu=ip.enum_(["none","header"]);var k9n=ip.undiscriminatedUnion([ueu,ip.string()]);var seu=ip.enum_(["path","query","body"]);var ceu=ip.objectWithoutOptionalProperties({paramType:ip.property("param-type",seu),type:ip.string()}).extend(Hir);var leu=ip.undiscriminatedUnion([ip.string(),ceu]);var feu=ip.objectWithoutOptionalProperties({http:ip.string(),auth:k9n.optional(),args:ip.record(ip.string(),leu).optional(),returns:KAi.optional()}).extend(Hir);var deu=ip.objectWithoutOptionalProperties({name:ip.string().optional(),package:ip.string().optional(),basePath:ip.property("base-path",ip.string().optional()),defaultAuth:ip.property("default-auth",k9n.optional()),endpoints:ip.record(ip.string(),feu).optional()}).extend(Hir);var bI_=ip.objectWithoutOptionalProperties({types:oeu.optional(),services:ip.record(Kko,deu).optional()});var djc={};jo(djc,{ConjureArgument:()=>leu,ConjureArgumentWithParamType:()=>ceu,ConjureAuthDefinition:()=>k9n,ConjureAuthDefinitionType:()=>ueu,ConjureEndpointDefinition:()=>feu,ConjureParamType:()=>seu,ConjureService:()=>deu});var pjc={};jo(pjc,{ConjureAliasDeclaration:()=>Xko,ConjureDefinitions:()=>aeu,ConjureEnumDeclaration:()=>ieu,ConjureEnumVariant:()=>reu,ConjureEnumWithDocs:()=>teu,ConjureObjectDeclaration:()=>eeu,ConjurePrimitive:()=>Yko,ConjureType:()=>JAi,ConjureTypeDeclaration:()=>neu,ConjureTypeReference:()=>KAi,ConjureTypeWithDocs:()=>Zko,ConjureTypes:()=>oeu,ConjureUnionDeclaration:()=>kko});var gI_=require("fs/promises");async function OI_(e,t){let r=[];for(let i of await Fxe(e,t))r.push(await JJE({relativeFilepath:xq(e,i),absoluteFilepath:i}));return r}async function JJE({relativeFilepath:e,absoluteFilepath:t}){let r=(await(0,gI_.readFile)(t)).toString().replaceAll(/: rid(?:$|\s)/g,`: string
1962
1962
  `).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:peu.DefinitionFile.parseOrThrow(qd.load(r),{unrecognizedObjectKeys:"passthrough",allowUnrecognizedEnumValues:!0,allowUnrecognizedUnionMembers:!0})}}function mI_(e,t){if(KJE(e))return t.alias(e);if(YJE(e))return t.enum(e);if(XJE(e))return t.object(e);if(ZJE(e))return t.union(e);mo(e)}function KJE(e){return e?.alias!=null}function YJE(e){return e?.values!=null}function XJE(e){return e?.fields!=null}function ZJE(e){return e?.union!=null}var WRa=class extends LIa{fernDefinitionBuilder=new vJi(!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 PI_(t,(a,u,l)=>{for(let[o,c]of Object.entries(l.services??{})){let b=rOo({value:o,suffix:"Service"});this.conjureFilepathToFernFilepath[u]=Qa.of(`${b}/__package__.yml`);return}let s=v2s(u)?.split(".")[0];s!=null&&(this.conjureFilepathToFernFilepath[u]=Qa.of(`${s}/__package__.yml`))}),await PI_(t,(a,u,l)=>{if(l.services==null||Object.keys(l.services??{}).length===0){let d=this.conjureFilepathToFernFilepath[u];if(d==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:Qa.of(o)});this.fernDefinitionBuilder.addImport({file:d,fileToImport:Qa.of(c),alias:s})}this.importAllTypes({conjureFile:l,fernFilePath:d});return}for(let[d,s]of Object.entries(l.services)){let o=rOo({value:d,suffix:"Service"}),c=Qa.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:Qa.of(O)});this.fernDefinitionBuilder.addImport({file:c,fileToImport:Qa.of(m),alias:g})}for(let[g,O]of Object.entries(s.endpoints??{})){let m=D3s(O.http);if(m.type==="failure"){this.context?.logger.error(`Failed to parse ${O.http}. Skipping.`);continue}let E={auth:(O.auth??s.defaultAuth)!==HB_.None,path:m.path,method:m.method,response:O.returns==="binary"?"file":O.returns};O.docs!=null&&(E.docs=O.docs);let q={};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}`);q[M]=typeof D=="string"?D:{type:D.type}}Object.entries(q).length>0&&(E["path-parameters"]=q);for(let[M,D]of Object.entries(O.args??{}))if(q[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??{}))mI_(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=Vu(Xd(t),Qa.of(r)),a=cne(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 PI_(e,t){for(let r of await OI_(e,"{yml,yaml}"))await t(r.absoluteFilepath,r.relativeFilepath,r.fileContents)}function jI_(e,t){return dd(e,t)}var _eu=class extends sHt{type="conjure";absolutePathToConjureFolder;constructor({relativePathToConjureDirectory:t,...r}){super(r),this.absolutePathToConjureFolder=Vu(r.absoluteFilePath,t)}async toFernWorkspace({context:t},r){let i=await this.getDefinition({context:t},r);return new DMe({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 WRa(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:$l.of("/DUMMY_PATH"),rootApiFile:{defaultUrl:n.rootApiFile["default-url"],contents:n.rootApiFile,rawContents:qd.dump(n.rootApiFile)},namedDefinitionFiles:{...jI_(n.definitionFiles,a=>({absoluteFilepath:$l.of("/DUMMY_PATH"),rawContents:qd.dump(a),contents:a})),[Qa.of(zS)]:{absoluteFilepath:$l.of("/DUMMY_PATH"),rawContents:qd.dump(n.packageMarkerFile),contents:n.packageMarkerFile}},packageMarkers:{},importedDefinitions:{}}}getAbsoluteFilePaths(){return[this.absolutePathToConjureFolder]}};function _jc(e,t){for(let[r,i]of t3(e.failures))kJE({relativeFilepath:r,failure:i,logger:t})}function kJE({relativeFilepath:e,failure:t,logger:r}){switch(t.type){case zP.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 zP.FILE_READ:r.error("Failed to open file: "+e);break;case zP.FILE_MISSING:r.error("Missing file: "+e);break;case zP.FILE_PARSE:t.error instanceof vSa?r.error(vFe({title:`Failed to parse ${e}: ${t.error.reason}`,subtitle:t.error.mark.snippet})):r.error("Failed to parse file: "+e);break;case zP.STRUCTURE_VALIDATION:for(let i of t.error.issues)for(let{title:n,subtitle:a}of eKE(i))r.error(vFe({title:n,subtitle:a,breadcrumbs:[e,...i.path]}));break;case zP.FAILED_TO_LOAD_DEPENDENCY:r.error("Failed to load dependency: "+t.dependencyName);break;case zP.DEPENDENCY_NOT_LISTED:r.error(`Dependency is not listed in ${VOo}: `+t.dependencyName);break;case zP.EXPORT_PACKAGE_HAS_DEFINITIONS:r.error("Exported package contains API definitions: "+t.pathToPackage);break;case zP.EXPORTING_PACKAGE_MARKER_OTHER_KEYS:r.error(`${t.pathOfPackageMarker} has an export so it cannot define other keys.`);break;case zP.JSONSCHEMA_VALIDATION:t.error.error!=null&&r.error(vFe({title:t.error.error.message??"Unknown error",breadcrumbs:[e,...t.error.error.instancePath.split("/").filter(i=>i!=="")]}));break;default:mo(t)}}function eKE(e){switch(e.code){case Jl.invalid_type:return[{title:"Incorrect type",subtitle:`Expected ${Gs.underline(e.expected)} but received ${Gs.underline(e.received)}`}];case Jl.unrecognized_keys:return e.keys.map(t=>({title:"Unexpected key",subtitle:`Encountered unexpected key ${Gs.underline(t)}`}));case Jl.invalid_enum_value:return[{title:"Unrecognized value",subtitle:`Allowed values: ${e.options.map(t=>Gs.underline(t)).join(", ")}`}];case Jl.invalid_union:case Jl.invalid_arguments:case Jl.invalid_return_type:case Jl.invalid_date:case Jl.invalid_string:case Jl.too_small:case Jl.too_big:case Jl.invalid_intersection_types:case Jl.not_multiple_of:case Jl.custom:default:return[{title:e.message}]}}var wI_=require("fs/promises");async function SI_(e,t){let r=[];for(let i of await Fxe(e,t))r.push(await tKE({relativeFilepath:xq(e,i),absoluteFilepath:i}));return r}async function tKE({relativeFilepath:e,absoluteFilepath:t}){return{relativeFilepath:e,absoluteFilepath:t,fileContents:(await(0,wI_.readFile)(t)).toString()}}async function DI_({absolutePathToWorkspace:e}){let t=Vu(e,Qa.of(zqd));if(!await Cf(t))return;let i=await SI_(t,"{md,mdx}");return{files:await Promise.all(i.map(n=>({absoluteFilepath:n.absoluteFilepath,contents:n.fileContents})))}}async function hjc({absolutePathToWorkspace:e,namespace:t,definitions:r}){let i=[];for(let n of r){let a=n.overrides!=null?Vu(e,Qa.of(n.overrides)):void 0;if(n.schema.type==="protobuf"){let l=Qa.of(n.schema.root),d=Vu(e,l);if(!await Cf(d))return{didSucceed:!1,failures:{[Qa.of(n.schema.root)]:{type:zP.FILE_MISSING}}};let s=Vu(e,Qa.of(n.schema.target));if(!await Cf(s))return{didSucceed:!1,failures:{[Qa.of(n.schema.target)]:{type:zP.FILE_MISSING}}};i.push({type:"protobuf",absoluteFilepathToProtobufRoot:d,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=Qa.of(n.schema.path),d=Vu(e,l);i.push({type:"openrpc",absoluteFilepath:d,absoluteFilepathToOverrides:a,namespace:t});continue}let u=Vu(e,Qa.of(n.schema.path));if(!await Cf(u))return{didSucceed:!1,failures:{[Qa.of(n.schema.path)]:{type:zP.FILE_MISSING}}};if(n.overrides!=null&&a!=null&&!await Cf(a))return{didSucceed:!1,failures:{[Qa.of(n.overrides)]:{type:zP.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 HRa({absolutePathToWorkspace:e,context:t,cliVersion:r,workspaceName:i}){let n=await kVt({absolutePathToWorkspace:e,context:t}),a;try{a=await DI_({absolutePathToWorkspace:e})}catch{}if(n?.api!=null&&n?.api.type==="conjure")return{didSucceed:!0,workspace:new _eu({workspaceName:i,absoluteFilePath:e,generatorsConfiguration:n,changelog:a,cliVersion:r,context:t,relativePathToConjureDirectory:Qa.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 hjc({absolutePathToWorkspace:e,namespace:void 0,definitions:n.api.definitions});if(!Array.isArray(l))return l;u.push(...l)}else{for(let[l,d]of Object.entries(n.api.definitions)){let s=await hjc({absolutePathToWorkspace:e,namespace:l,definitions:d});if(!Array.isArray(s))return s;u.push(...s)}if(n.api.rootDefinitions!=null){let l=await hjc({absolutePathToWorkspace:e,namespace:void 0,definitions:n.api.rootDefinitions});if(!Array.isArray(l))return l;u.push(...l)}}return{didSucceed:!0,workspace:new SR({specs:u.filter(l=>l.type!=="openrpc"),allSpecs:u,workspaceName:i,absoluteFilePath:e,generatorsConfiguration:n,changelog:a,cliVersion:r})}}return await Cf(Vu(e,Qa.of(v9)))?{didSucceed:!0,workspace:new Fir({absoluteFilePath:e,generatorsConfiguration:n,workspaceName:i,changelog:a,context:t,cliVersion:r,loadAPIWorkspace:HRa})}:{didSucceed:!1,failures:{[Qa.of(UOo)]:{type:zP.MISCONFIGURED_DIRECTORY}}}}var EI_=require("fs/promises");var yjc={};jo(yjc,{additionalProperties:()=>aKE,default:()=>uKE,definitions:()=>oKE,properties:()=>iKE,required:()=>nKE,type:()=>rKE});var rKE="object",iKE={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"}]}},nKE=["instances"],aKE=!1,oKE={"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"}}]}},uKE={type:rKE,properties:iKE,required:nKE,additionalProperties:aKE,definitions:oKE};async function vjc({fernDirectory:e,context:t}){let r=Vu(e,Qa.of(_Vt));if(!await Cf(r))return;let i=await sKE({absolutePathToDocsDefinition:e,context:t});if(i!=null)return{type:"docs",absoluteFilePath:e,config:i,workspaceName:void 0,absoluteFilepathToDocsConfig:Vu(e,Qa.of(_Vt))}}async function sKE({absolutePathToDocsDefinition:e,context:t}){if(!await Cf(e))return;let r=Vu(e,Qa.of(_Vt));return await cKE({absolutePathOfConfiguration:r,context:t})}async function cKE({absolutePathOfConfiguration:e,context:t}){let r=await(0,EI_.readFile)(e),i=qd.load(r.toString()),n=pVt(i,yjc);if(n.success)return sne.RawSchemas.Serializer.DocsConfiguration.parseOrThrow(i);throw new Error(`Failed to parse docs.yml because of ${n.error?.message??"Unknown error"}`)}async function bjc({context:e,nameOverride:t,...r}){let i=await SVt(t);return i==null?e.failAndThrow(`Directory "${t??sW}" not found.`):await AI_({absolutePathToFernDirectory:i,context:e,nameOverride:t,...r})}async function AI_({absolutePathToFernDirectory:e,cliName:t,cliVersion:r,commandLineApiWorkspace:i,defaultToAllApiWorkspaces:n,context:a}){let u=[];return(await Cf(Vu(e,Qa.of(gwi)))||await Cf(Vu(e,Qa.of(v9)))||await Cf(Vu(e,Qa.of(n3)))||await Cf(Vu(e,Qa.of(UOo)))||await Cf(Vu(e,Qa.of(xqd))))&&(u=await qI_({cliName:t,fernDirectory:e,cliVersion:r,context:a,commandLineApiWorkspace:i,defaultToAllApiWorkspaces:n})),{config:await Zli({directory:e,context:a}),apiWorkspaces:u,docsWorkspaces:await vjc({fernDirectory:e,context:a}),loadAPIWorkspace:l=>l==null?u[0]:u.find(d=>d.workspaceName===l)}}async function qI_({cliName:e,fernDirectory:t,context:r,cliVersion:i,commandLineApiWorkspace:n,defaultToAllApiWorkspaces:a}){let u=Vu(t,Qa.of(gwi));if(await Cf(u)){let o=(await(0,MI_.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:
1963
1963
  `,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 ${Gs.bold(m.padEnd(O))} ${Gs.dim(P)}`}).join(`
@@ -2007,7 +2007,7 @@ ${n}${e.join(u)}
2007
2007
  ${a}]`:`[${e.join(u)}]`},nru=(e,t,r)=>`let ${e} = ${cSc(t,r)}`,cSc=(e,t,r)=>{switch(r=r===void 0?1:r+1,Object.prototype.toString.call(e)){case"[object Number]":return e;case"[object Array]":{let i=!1,n=e.map(a=>(Object.prototype.toString.call(a)==="[object Object]"&&(i=Object.keys(a).length>1),cSc(a,t,r)));return L8_(n,i,t.indent,r)}case"[object Object]":{let i=[];for(let n in e)i.push(`"${n}": ${cSc(e[n],t,r)}`);return L8_(i,t.pretty&&i.length>1,t.indent,r)}case"[object Boolean]":return e.toString();default:return e==null?"":`"${e.toString().replace(/"/g,'\\"')}"`}};var U8_={info:{key:"nsurlsession",title:"NSURLSession",link:"https://developer.apple.com/library/mac/documentation/Foundation/Reference/NSURLSession_class/index.html",description:"Foundation's NSURLSession request"},convert:({allHeaders:e,postData:t,fullUrl:r,method:i},n)=>{var a;let u={indent:" ",pretty:!0,timeout:"10",...n},{push:l,blank:d,join:s}=new Vp({indent:u.indent}),o={hasHeaders:!1,hasBody:!1};if(l("import Foundation"),Object.keys(e).length&&(o.hasHeaders=!0,d(),l(nru("headers",e,u))),t&&(t.text||t.jsonObj||t.params))switch(o.hasBody=!0,t.mimeType){case"application/x-www-form-urlencoded":if(d(),!((a=t.params)===null||a===void 0)&&a.length){let[c,...b]=t.params;l(`let postData = NSMutableData(data: "${c.name}=${c.value}".data(using: String.Encoding.utf8)!)`),b.forEach(({name:g,value:O})=>{l(`postData.append("&${g}=${O}".data(using: String.Encoding.utf8)!)`)})}else o.hasBody=!1;break;case"application/json":t.jsonObj&&(l(`${nru("parameters",t.jsonObj,u)} as [String : Any]`),d(),l("let postData = JSONSerialization.data(withJSONObject: parameters, options: [])"));break;case"multipart/form-data":l(nru("parameters",t.params,u)),d(),l(`let boundary = "${t.boundary}"`),d(),l('var body = ""'),l("var error: NSError? = nil"),l("for param in parameters {"),l('let paramName = param["name"]!',1),l('body += "--\\(boundary)\\r\\n"',1),l('body += "Content-Disposition:form-data; name=\\"\\(paramName)\\""',1),l('if let filename = param["fileName"] {',1),l('let contentType = param["content-type"]!',2),l("let fileContent = String(contentsOfFile: filename, encoding: String.Encoding.utf8)",2),l("if (error != nil) {",2),l("print(error as Any)",3),l("}",2),l('body += "; filename=\\"\\(filename)\\"\\r\\n"',2),l('body += "Content-Type: \\(contentType)\\r\\n\\r\\n"',2),l("body += fileContent",2),l('} else if let paramValue = param["value"] {',1),l('body += "\\r\\n\\r\\n\\(paramValue)"',2),l("}",1),l("}");break;default:d(),l(`let postData = NSData(data: "${t.text}".data(using: String.Encoding.utf8)!)`)}return d(),l(`let request = NSMutableURLRequest(url: NSURL(string: "${r}")! as URL,`),l(" cachePolicy: .useProtocolCachePolicy,"),l(` timeoutInterval: ${parseInt(u.timeout,10).toFixed(1)})`),l(`request.httpMethod = "${i}"`),o.hasHeaders&&l("request.allHTTPHeaderFields = headers"),o.hasBody&&l("request.httpBody = postData as Data"),d(),l("let session = URLSession.shared"),l("let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in"),l("if (error != nil) {",1),l("print(error as Any)",2),l("} else {",1),l("let httpResponse = response as? HTTPURLResponse",2),l("print(httpResponse)",2),l("}",1),l("})"),d(),l("dataTask.resume()"),s()}};var V8_={info:{key:"swift",title:"Swift",extname:".swift",default:"nsurlsession"},clientsById:{nsurlsession:U8_}};var W8_={c:j2_,clojure:M2_,csharp:T2_,go:B2_,http:x2_,java:U2_,javascript:r8_,kotlin:n8_,node:p8_,objc:h8_,ocaml:v8_,php:P8_,powershell:S8_,python:A8_,r:T8_,ruby:B8_,shell:N8_,swift:V8_};function HnM(e){let t=e.split("/");return t[t.length-1]}var $nM=e=>typeof e=="object"&&"log"in e&&typeof e.log=="object"&&"entries"in e.log&&Array.isArray(e.log.entries),aru=class{constructor(t){let r=[];$nM(t)?r=t.log.entries:r=[{request:t}],this.requests=Promise.all(r.map(({request:i})=>{var n;let a={bodySize:0,headersSize:0,headers:[],cookies:[],httpVersion:"HTTP/1.1",queryString:[],postData:{mimeType:((n=i.postData)===null||n===void 0?void 0:n.mimeType)||"application/octet-stream"},...i};return this.prepare(a)}))}async prepare(t){var r,i,n,a;let u={...t,fullUrl:"",queryObj:{},headersObj:{},cookiesObj:{},allHeaders:{}};if(u.queryString&&u.queryString.length&&(u.queryObj=u.queryString.reduce(rSc,{})),u.headers&&u.headers.length){let g=/^HTTP\/2/;u.headersObj=u.headers.reduce((O,{name:m,value:P})=>{let E=g.exec(u.httpVersion)?m.toLocaleLowerCase():m;return{...O,[E]:P}},{})}u.cookies&&u.cookies.length&&(u.cookiesObj=u.cookies.reduceRight((g,{name:O,value:m})=>({...g,[O]:m}),{}));let l=(r=u.cookies)===null||r===void 0?void 0:r.map(({name:g,value:O})=>`${encodeURIComponent(g)}=${encodeURIComponent(O)}`);switch(l?.length&&(u.allHeaders.cookie=l.join("; ")),(i=u.postData)===null||i===void 0?void 0:i.mimeType){case"multipart/mixed":case"multipart/related":case"multipart/form-data":case"multipart/alternative":if(u.postData.text="",u.postData.mimeType="multipart/form-data",!((n=u.postData)===null||n===void 0)&&n.params){let g=new Ztu,O="---011000010111000001101001";(a=u.postData)===null||a===void 0||a.params.forEach(E=>{let q=E.name,M=E.value||"",D=E.fileName;v2_(M)?g.append(q,M,D):g.append(q,new tnr([M],{type:E.contentType}),D&&HnM(D))});let{postData:m}=u;for await(let E of b2_(g,O))m.text+=E;u.postData.boundary=O;let P=XB(u.headersObj,"content-type")||"content-type";u.headersObj[P]=`multipart/form-data; boundary=${O}`}break;case"application/x-www-form-urlencoded":u.postData.params?(u.postData.paramsObj=u.postData.params.reduce(rSc,{}),u.postData.text=iSc(u.postData.paramsObj).toString()):u.postData.text="";break;case"text/json":case"text/x-json":case"application/json":case"application/x-json":if(u.postData.mimeType="application/json",u.postData.text)try{u.postData.jsonObj=JSON.parse(u.postData.text)}catch{u.postData.mimeType="text/plain"}break}let d={...u.allHeaders,...u.headersObj},s=new URL(u.url),o=Object.fromEntries(s.searchParams);u.queryObj={...u.queryObj,...o};let c=iSc(u.queryObj),b=new URL(u.url);return b.search=c.toString(),s.search="",{...u,allHeaders:d,fullUrl:b.toString(),url:s.toString(),uriObj:new ktu(b.toString())}}async convert(t,r,i){!i&&r&&(i=r);let n=W8_[t];if(!n)return null;let{convert:a}=n.clientsById[r||n.info.default],u=(await this.requests).map(l=>a(l,i));return u.length===1?u[0]:u}};function H8_(e,t,r,i){let n={httpVersion:"1.1",method:"GET",url:"",headers:[],headersSize:-1,queryString:[],cookies:[],bodySize:-1};n.url=w1c({endpoint:e,pathParameters:t.pathParameters}),n.method=e.method,n.queryString=Object.entries(t.queryParameters??{}).map(([l,d])=>({name:l,value:LMe(d)})),n.headers=Object.entries(t.headers??{}).map(([l,d])=>({name:l,value:LMe(d)}));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,d])=>typeof d=="object"&&d!=null?"value"in d:!0))),i.type==="json")n.postData.text=JSON.stringify(i.value,null,2);else if(i.type==="form"){n.postData.params=[];for(let[l,d]of Object.entries(i.value))if(d.type==="json")n.postData.params.push({name:l,value:typeof d.value=="string"?d.value:JSON.stringify(d.value,null,2)});else if(d.type==="filename")n.postData.params.push({name:l,fileName:d.value});else if(d.type==="filenameWithData")n.postData.params.push({name:l,fileName:d.filename});else if(d.type==="filenames")for(let s of d.value)n.postData.params.push({name:l,fileName:s});else if(d.type==="filenamesWithData")for(let{filename:s}of d.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&&PLn(u)._visit({basicAuth:({usernameName:l="username",passwordName:d="password"})=>{n.headers.push({name:"Authorization",value:`Basic <${l}>:<${d}>`})},bearerAuth:({tokenName:l="token"})=>{n.headers.push({name:"Authorization",value:`Bearer <${l}>`})},header:({headerWireValue:l,nameOverride:d=l,prefix:s})=>{n.headers.push({name:l,value:s!=null?`${s} <${d}>`:`<${d}>`})},oAuth:l=>{PLn(l.value,"type")._visit({clientCredentials:d=>{PLn(d.value,"type")._visit({referencedEndpoint:()=>{n.headers.push({name:d.value.headerName||"Authorization",value:`${d.value.tokenPrefix?`${d.value.tokenPrefix??"Bearer"} `:""}<token>.`})}})}})}}),a!=null&&n.headers.push({name:"Content-Type",value:a}),n}var GnM=[{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 QnM(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=>JnM(e,i,n,t))??[])}])).then(r=>Object.fromEntries(r))}}async function JnM(e,t,r,{usesApplicationJsonInFormDataValue:i,isHttpSnippetsEnabled:n,alwaysEnableJavaScriptFetch:a}){let u={...r.snippets},l=d=>{(u[d.language]??=[]).push(d)};if(!u.curl?.length){let d=t.auth?.[0],s=ANa(MNa(t,r,d!=null?e.auths[d]:void 0),{usesApplicationJsonInFormDataValue:i});l({name:void 0,language:"curl",install:void 0,code:s,generated:!0,description:void 0})}if(n){let d=new aru(H8_(t,r,e.auths,r.requestBody));for(let{clientId:s,targetId:o}of GnM){if(u[o]?.length||o==="javascript"&&u.typescript?.length&&!a)continue;let c=await d.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 hSc={};jo(hSc,{latest:()=>Ywc,v1:()=>_Sc});var _Sc={};jo(_Sc,{SubpackageId:()=>DNa,WebSocketMessageId:()=>Xwc,WebSocketMessageOrigin:()=>Zwc,WebhookHttpMethod:()=>kwc,commons:()=>e1c,db:()=>lSc,read:()=>p1c,register:()=>pSc});var lSc={};jo(lSc,{endpoint:()=>$8_});var $8_={};var pSc={};jo(pSc,{ObjectPropertyAccess:()=>Q8_,SourceId:()=>KnM,endpoint:()=>G8_,registerApiDefinition:()=>dSc,type_:()=>fSc,webhook:()=>J8_,websocket:()=>K8_});function KnM(e){return e}var G8_={};var fSc={};jo(fSc,{ObjectPropertyAccess:()=>Q8_});var Q8_={ReadOnly:"READ_ONLY",WriteOnly:"WRITE_ONLY"};var J8_={};var K8_={};var dSc={};jo(dSc,{Error:()=>YnM});var YnM={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 vSc={};jo(vSc,{getDocsSitesForOrg:()=>ySc});var ySc={};jo(ySc,{Error:()=>XnM});var XnM={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={};jo(ZSc,{latest:()=>OSc,v1:()=>xSc,v2:()=>XSc});var OSc={};jo(OSc,{Layout:()=>X8_,TwitterCardSetting:()=>Z8_,commons:()=>Y8_,frontmatter:()=>bSc,seo:()=>gSc});var Y8_={};var bSc={};jo(bSc,{Layout:()=>X8_});var X8_={Guide:"guide",Overview:"overview",Reference:"reference",Page:"page",Custom:"custom"};var gSc={};jo(gSc,{TwitterCardSetting:()=>Z8_});var Z8_={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var xSc={};jo(xSc,{commons:()=>zSc,db:()=>k8_,read:()=>jSc,write:()=>wSc});var k8_={};var jSc={};jo(jSc,{getDocsForDomain:()=>PSc,getDocsForDomainLegacy:()=>mSc});var mSc={};jo(mSc,{Error:()=>ZnM});var ZnM={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={};jo(PSc,{Error:()=>knM});var knM={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 wSc={};jo(wSc,{DocsRegistrationId:()=>t5_,FilePath:()=>e5_,finishDocsRegister:()=>uru,startDocsRegister:()=>oru});function e5_(e){return e}function t5_(e){return e}var oru={};jo(oru,{Error:()=>eaM});var eaM={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var uru={};jo(uru,{Error:()=>taM});var taM={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 zSc={};jo(zSc,{AiModel:()=>SSc,ContentAlignment:()=>ASc,FontDisplay:()=>ISc,FontStyle:()=>BSc,HeaderPosition:()=>qSc,JsScriptStrategy:()=>CSc,ProgrammingLanguage:()=>DSc,SearchbarPlacement:()=>ESc,TabsPlacement:()=>MSc,TwitterCardSetting:()=>TSc,commons:()=>sru});var sru={};jo(sru,{AiModel:()=>SSc,ContentAlignment:()=>ASc,FontDisplay:()=>ISc,FontStyle:()=>BSc,HeaderPosition:()=>qSc,JsScriptStrategy:()=>CSc,ProgrammingLanguage:()=>DSc,SearchbarPlacement:()=>ESc,TabsPlacement:()=>MSc,TwitterCardSetting:()=>TSc});var SSc={Claude35:"claude-3.5",Claude37:"claude-3.7",CommandA:"command-a"};var DSc={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 ESc={Header:"HEADER",HeaderTabs:"HEADER_TABS",Sidebar:"SIDEBAR"};var MSc={Header:"HEADER",Sidebar:"SIDEBAR"};var ASc={Center:"CENTER",Left:"LEFT"};var qSc={Fixed:"FIXED",Absolute:"ABSOLUTE"};var TSc={Summary:"summary",SummaryLargeImage:"summary_large_image",App:"app",Player:"player"};var CSc={BeforeInteractive:"beforeInteractive",AfterInteractive:"afterInteractive",LazyOnload:"lazyOnload"};var BSc={Normal:"normal",Italic:"italic"};var ISc={Auto:"auto",Block:"block",Swap:"swap",Fallback:"fallback",Optional:"optional"};var XSc={};jo(XSc,{read:()=>cru,write:()=>lru});var cru={};jo(cru,{getDocsConfigById:()=>VSc,getDocsForUrl:()=>FSc,getDocsUrlMetadata:()=>NSc,getOrganizationForUrl:()=>RSc,getPrivateDocsForUrl:()=>LSc,getSearchApiKeyForIndexSegment:()=>WSc,listAllDocsUrls:()=>USc,prepopulateFdrReadS3Bucket:()=>HSc});var RSc={};jo(RSc,{Error:()=>raM});var raM={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 NSc={};jo(NSc,{Error:()=>iaM});var iaM={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 FSc={};jo(FSc,{Error:()=>naM});var naM={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 LSc={};jo(LSc,{Error:()=>aaM});var aaM={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 USc={};jo(USc,{Error:()=>oaM});var oaM={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 VSc={};jo(VSc,{Error:()=>uaM});var uaM={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 WSc={};jo(WSc,{Error:()=>saM});var saM={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 HSc={};jo(HSc,{Error:()=>caM});var caM={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var lru={};jo(lru,{finishDocsRegister:()=>QSc,reindexAlgoliaSearchRecords:()=>JSc,setIsArchived:()=>YSc,startDocsPreviewRegister:()=>GSc,startDocsRegister:()=>$Sc,transferOwnershipOfDomain:()=>KSc});var $Sc={};jo($Sc,{Error:()=>laM});var laM={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 GSc={};jo(GSc,{Error:()=>faM});var faM={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 QSc={};jo(QSc,{Error:()=>daM});var daM={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 JSc={};jo(JSc,{Error:()=>paM});var paM={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 KSc={};jo(KSc,{Error:()=>_aM});var _aM={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 YSc={};jo(YSc,{Error:()=>haM});var haM={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 vDc={};jo(vDc,{ChangelogEntryType:()=>r5_,GeneratorId:()=>yaM,GeneratorLanguage:()=>vaM,ReleaseType:()=>i5_,cli:()=>aDc,commons:()=>oDc,getGenerator:()=>hDc,getGeneratorByImage:()=>_Dc,listGenerators:()=>yDc,upsertGenerator:()=>pDc,versions:()=>dDc});function yaM(e){return e}var vaM={Python:"python",Go:"go",Java:"java",Typescript:"typescript",Ruby:"ruby",Csharp:"csharp",Php:"php",Swift:"swift",Rust:"rust"};var aDc={};jo(aDc,{getChangelog:()=>eDc,getCliRelease:()=>iDc,getLatestCliRelease:()=>kSc,getMinCliForIr:()=>tDc,listCliReleases:()=>nDc,upsertCliRelease:()=>rDc});var kSc={};jo(kSc,{Error:()=>baM});var baM={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 eDc={};jo(eDc,{Error:()=>gaM});var gaM={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var tDc={};jo(tDc,{Error:()=>OaM});var OaM={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 rDc={};jo(rDc,{Error:()=>maM});var maM={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var iDc={};jo(iDc,{Error:()=>PaM});var PaM={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 nDc={};jo(nDc,{Error:()=>jaM});var jaM={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var oDc={};jo(oDc,{ChangelogEntryType:()=>r5_,ReleaseType:()=>i5_});var r5_={Fix:"fix",Feat:"feat",Chore:"chore",Break:"break",Internal:"internal"};var i5_={Ga:"GA",Rc:"RC"};var dDc={};jo(dDc,{getChangelog:()=>sDc,getGeneratorRelease:()=>lDc,getLatestGeneratorRelease:()=>uDc,listGeneratorReleases:()=>fDc,upsertGeneratorRelease:()=>cDc});var uDc={};jo(uDc,{Error:()=>waM});var waM={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 sDc={};jo(sDc,{Error:()=>SaM});var SaM={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var cDc={};jo(cDc,{Error:()=>DaM});var DaM={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 lDc={};jo(lDc,{Error:()=>EaM});var EaM={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 fDc={};jo(fDc,{Error:()=>MaM});var MaM={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var pDc={};jo(pDc,{Error:()=>AaM});var AaM={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var _Dc={};jo(_Dc,{Error:()=>qaM});var qaM={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var hDc={};jo(hDc,{Error:()=>TaM});var TaM={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var yDc={};jo(yDc,{Error:()=>CaM});var CaM={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var ODc={};jo(ODc,{latest:()=>bDc,v1:()=>gDc});var bDc={};jo(bDc,{NodeId:()=>o5_,ProductId:()=>u5_,Slug:()=>n5_,TabId:()=>a5_});function n5_(e){return e}function a5_(e){return e}function o5_(e){return e}function u5_(e){return e}var gDc={};jo(gDc,{NavigationV1Availability:()=>d5_,NodeId:()=>l5_,ProductId:()=>f5_,Slug:()=>s5_,TabId:()=>c5_});function s5_(e){return e}function c5_(e){return e}function l5_(e){return e}function f5_(e){return e}var d5_={Stable:"stable",GenerallyAvailable:"generally-available",InDevelopment:"in-development",PreRelease:"pre-release",Beta:"beta",Deprecated:"deprecated"};var fru={};jo(fru,{AlgoliaSearchIndex:()=>p5_,IndexSegmentId:()=>_5_});function p5_(e){return e}function _5_(e){return e}var PDc={};jo(PDc,{diff:()=>mDc});var mDc={};jo(mDc,{Error:()=>BaM});var BaM={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var TDc={};jo(TDc,{PullRequestState:()=>h5_,deletePullRequest:()=>qDc,deleteRepository:()=>DDc,getPullRequest:()=>EDc,getRepository:()=>jDc,listPullRequests:()=>MDc,listRepositories:()=>wDc,upsertPullRequest:()=>ADc,upsertRepository:()=>SDc});var h5_={Open:"open",Closed:"closed",Merged:"merged"};var jDc={};jo(jDc,{Error:()=>IaM});var IaM={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var wDc={};jo(wDc,{Error:()=>zaM});var zaM={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var SDc={};jo(SDc,{Error:()=>xaM});var xaM={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var DDc={};jo(DDc,{Error:()=>RaM});var RaM={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var EDc={};jo(EDc,{Error:()=>NaM});var NaM={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var MDc={};jo(MDc,{Error:()=>FaM});var FaM={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var ADc={};jo(ADc,{Error:()=>LaM});var LaM={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var qDc={};jo(qDc,{Error:()=>UaM});var UaM={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var IDc={};jo(IDc,{Language:()=>y5_,VersionBump:()=>v5_,versions:()=>BDc});var BDc={};jo(BDc,{Language:()=>y5_,VersionBump:()=>v5_,computeSemanticVersion:()=>CDc});var y5_={Go:"Go",TypeScript:"TypeScript",Java:"Java",Python:"Python",Csharp:"Csharp",Ruby:"Ruby"};var v5_={Major:"MAJOR",Minor:"MINOR",Patch:"PATCH"};var CDc={};jo(CDc,{Error:()=>VaM});var VaM={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 xDc={};jo(xDc,{createSnippetsForSdk:()=>zDc});var zDc={};jo(zDc,{Error:()=>WaM});var WaM={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 FDc={};jo(FDc,{get:()=>RDc,load:()=>NDc});var RDc={};jo(RDc,{Error:()=>HaM});var HaM={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 NDc={};jo(NDc,{Error:()=>$aM});var $aM={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 WDc={};jo(WDc,{PayloadLocation:()=>b5_,get:()=>VDc,register:()=>LDc,registerBatch:()=>UDc});var b5_={Body:"BODY",Query:"QUERY",Path:"PATH",Headers:"HEADERS",Relative:"RELATIVE",Auth:"AUTH"};var LDc={};jo(LDc,{Error:()=>GaM});var GaM={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var UDc={};jo(UDc,{Error:()=>QaM});var QaM={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var VDc={};jo(VDc,{Error:()=>JaM});var JaM={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 GDc={};jo(GDc,{generate:()=>HDc,revoke:()=>$Dc});var HDc={};jo(HDc,{Error:()=>KaM});var KaM={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var $Dc={};jo($Dc,{Error:()=>YaM});var YaM={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var JDc={};jo(JDc,{invalidate:()=>QDc});var QDc={};jo(QDc,{Error:()=>XaM});var XaM={_unknown:e=>({error:void 0,content:e}),_visit:(e,t)=>{switch(e.error){default:return t._other(e)}}};var xHt={};jo(xHt,{AiModel:()=>SSc,ApiDefinitionId:()=>xKi,ApiId:()=>LKi,Availability:()=>hH,ContentAlignment:()=>ASc,DocsConfigId:()=>UKi,DocsRegistrationId:()=>t5_,EndpointId:()=>WKi,EndpointPathLiteral:()=>kKi,EnvironmentId:()=>VKi,FileId:()=>JKi,FilePath:()=>e5_,FontDisplay:()=>ISc,FontStyle:()=>BSc,HeaderPosition:()=>qSc,HttpMethod:()=>eYi,JqString:()=>YKi,JsScriptStrategy:()=>CSc,OrgId:()=>NKi,PageId:()=>QKi,ProgrammingLanguage:()=>DSc,PropertyKey:()=>XKi,RoleId:()=>ZKi,SearchbarPlacement:()=>ESc,TabsPlacement:()=>MSc,TokenId:()=>FKi,TwitterCardSetting:()=>TSc,TypeId:()=>GKi,Url:()=>KKi,VersionId:()=>RKi,WebSocketId:()=>HKi,WebhookId:()=>$Ki,commons:()=>sru,finishDocsRegister:()=>uru,startDocsRegister:()=>oru});var XA={};jo(XA,{AlgoliaSearchIndex:()=>p5_,ApiDefinitionId:()=>xKi,ApiId:()=>LKi,Availability:()=>hH,DocsConfigId:()=>UKi,EndpointId:()=>WKi,EndpointPathLiteral:()=>kKi,EnvironmentId:()=>VKi,FileId:()=>JKi,HttpMethod:()=>eYi,IndexSegmentId:()=>_5_,JqString:()=>YKi,OrgId:()=>NKi,PageId:()=>QKi,PayloadLocation:()=>b5_,PropertyKey:()=>XKi,PullRequestState:()=>h5_,RoleId:()=>ZKi,TokenId:()=>FKi,TypeId:()=>GKi,Url:()=>KKi,VersionId:()=>RKi,WebSocketId:()=>HKi,WebhookId:()=>$Ki,algolia:()=>fru,api:()=>hSc,commons:()=>t1c,dashboard:()=>vSc,diff:()=>PDc,docs:()=>ZSc,docsCache:()=>JDc,generators:()=>vDc,git:()=>TDc,navigation:()=>ODc,sdks:()=>IDc,snippets:()=>FDc,snippetsFactory:()=>xDc,templates:()=>WDc,tokens:()=>GDc});function HNa(e,t){return ZaM(e)?t.versioned(e):t.unversioned(e)}function $Na(e,t){return kaM(e)?t.tabbed(e):t.untabbed(e)}function ZaM(e){return Array.isArray(e.versions)}function kaM(e){return Array.isArray(e.tabs)||Array.isArray(e.tabsV2)}function g5_(e,t){return dru(e)?t.link(e):t.group(e)}function dru(e){return"url"in e&&typeof e.url=="string"}function O5_(e,t){return eoM(e)?t.versioned(e):t.unversioned(e)}function m5_(e,t){return toM(e)?t.tabbed(e):t.untabbed(e)}function eoM(e){return Array.isArray(e.versions)}function toM(e){return Array.isArray(e.tabs)}function KDc(e,t){return roM(e)?t.versioned(e):t.unversioned(e)}function YDc(e,t){return ioM(e)?t.tabbed(e):t.untabbed(e)}function roM(e){return Array.isArray(e.versions)}function ioM(e){return Array.isArray(e.tabs)||Array.isArray(e.tabsV2)}var noM=/\p{Lu}?\p{Ll}+|[0-9]+|\p{Lu}+(?!\p{Ll})|\p{Emoji_Presentation}|\p{Extended_Pictographic}|\p{L}+/gu;function P5_(e){return Array.from(e.match(noM)??[])}function Hpi(e){return e.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&")}function f4(e){return P5_(e).map(r=>r.toLowerCase()).join("-")}var kDc=ci(MIn(),1);function w5_(e,t){switch(e.type){case"object":return vYi(e,t,!1,new Set,0);case"reference":return hL(e.value,t,!1,new Set,0);default:U3(e)}}function S5_(e,t){switch(e.type){case"object":return{type:"json",value:vYi(e,t,!0,new Set,0)};case"reference":return{type:"json",value:hL(e.value,t,!0,new Set,0)};case"json":return aoM(e.shape,t);case"fileUpload":return j5_(e.value,t);case"formData":return j5_(e,t);case"bytes":{if(e.isOptional)return;let r=btoa("Hello world!");return e.contentType!=null&&(r=`data:${e.contentType};base64,${r}`),{type:"bytes",value:{type:"base64",value:r}}}}}function j5_(e,t){if(e==null)return{type:"form",value:{}};let r={};return e.properties.forEach(i=>{switch(i.type){case"file":{if(i.value.isOptional)break;i.value.type==="fileArray"?r[i.value.key]={type:"filenames",value:["<filename1>","<filename2>"]}:r[i.value.key]={type:"filename",value:"<filename1>"};break}case"bodyProperty":{r[i.key]={type:"json",value:hL(i.valueType,t,!0,new Set,0)};break}}}),{type:"form",value:r}}function aoM(e,t){switch(e.type){case"object":return{type:"json",value:vYi(e,t,!0,new Set,0)};case"reference":return{type:"json",value:hL(e.value,t,!0,new Set,0)};default:U3(e)}}function pru(e,t){switch(e.type){case"object":return{type:"json",value:vYi(e,t,!1,new Set,0)};case"reference":return{type:"json",value:hL(e.value,t,!1,new Set,0)};case"fileDownload":return{type:"filename",value:"<filename>"};case"streamingText":case"streamCondition":return{type:"stream",value:["example-text"]};case"stream":switch(e.shape.type){case"object":{let r=vYi(e.shape,t,!1,new Set,0);return{type:"stream",value:[r,r]}}case"reference":{let r=hL(e.shape.value,t,!1,new Set,0);return{type:"stream",value:[r,r]}}}}}function vYi(e,t,r,i,n){let a={};for(let u of D5_(e,t)){let l=hL(u.valueType,t,r,n===0?new Set:new Set(i),n+1);l!=null&&(a[u.key]=l)}return a}function hL(e,t,r,i,n){let a;switch(e.type){case"primitive":a=soM(e.value);break;case"id":{i.add(e.value),a=ooM(e.value,t,r,i,n);break}case"optional":if(e.itemType.type==="id")if(i.has(e.itemType.value)){a=void 0;break}else i.add(e.itemType.value);r?a=void 0:a=e.defaultValue??hL(e.itemType,t,r,i,n);break;case"list":if(e.itemType.type==="id")if(i.has(e.itemType.value)){a=[];break}else i.add(e.itemType.value);a=[hL(e.itemType,t,r,i,n)];break;case"set":a=[hL(e.itemType,t,r,i,n)];break;case"map":a={[hL(e.keyType,t,r,i,n+1)]:hL(e.valueType,t,r,i,n+1)};break;case"unknown":a={};break;case"literal":a=uoM(e.value);break;default:U3(e)}return a}function ooM(e,t,r,i,n){let a=t(e).shape;return XDc(a,t,r,i,n)}function XDc(e,t,r,i,n){switch(e.type){case"object":return vYi(e,t,r,i,n);case"undiscriminatedUnion":return e.variants[0]==null?{}:hL(e.variants[0].type,t,r,i,n);case"discriminatedUnion":return e.variants[0]==null?{}:{[e.discriminant]:e.variants[0].discriminantValue,...vYi(e.variants[0].additionalProperties,t,r,i,n)};case"alias":return hL(e.value,t,r,i,n);case"enum":return e.values[0]?.value??""}}function uoM(e){return e.value}function soM(e){switch(e.type){case"string":return"string";case"integer":return 0;case"uint":return 0;case"uint64":return 0;case"double":return 1;case"boolean":return!0;case"long":return 99999;case"datetime":return"2023-01-01T00:00:00Z";case"uuid":return"d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32";case"base64":return"SGVsbG8gV29ybGQ=";case"date":return"2023-01-01";case"bigInteger":return"123456789123456789"}}function D5_(e,t){return[...e.properties,...e.extends.flatMap(r=>{let i=t(r);if(i.shape.type==="alias"&&i.shape.value.type==="id"&&(i=coM(i.shape.value.value,t)),i.shape.type!=="object")throw new Error("Object extends non-object "+r);return D5_(i.shape,t)})]}function coM(e,t){let r=t(e);return r.shape.type==="alias"&&r.shape.value.type==="id"?t(r.shape.value.value):r}var loM=2;function E5_({endpointDefinition:e,apiDefinition:t,errorDeclaration:r}){let i=hru(t);return{..._ru({endpointDefinition:e,apiDefinition:t,resolveTypeById:i}),responseStatusCode:r.statusCode,responseBodyV3:r.type!=null?{type:"json",value:XDc(r.type,i,!1,new Set,0)}:void 0}}function M5_({endpointDefinition:e,apiDefinition:t,nonStreamResponse:r}){let i=hru(t);return{..._ru({endpointDefinition:e,apiDefinition:t,resolveTypeById:i}),responseStatusCode:200,responseBodyV3:pru(r.shape,i)}}function A5_({endpointDefinition:e,apiDefinition:t,streamResponse:r}){let i=hru(t);return{..._ru({endpointDefinition:e,apiDefinition:t,resolveTypeById:i}),responseStatusCode:200,responseBodyV3:pru(r.shape,i)}}function q5_({endpointDefinition:e,apiDefinition:t}){let r=hru(t);return{..._ru({endpointDefinition:e,apiDefinition:t,resolveTypeById:r}),responseStatusCode:200,responseBodyV3:e.response!=null?pru(e.response.type,r):void 0}}function _ru({endpointDefinition:e,apiDefinition:t,resolveTypeById:r}){let i=foM({pathParameters:e.path.pathParameters,apiDefinition:t,resolveTypeById:r}),n=_oM(e.path,i),a=doM({resolveTypeById:r,queryParameters:e.queryParameters}),u=poM({headers:[...t.globalHeaders??[],...e.headers],resolveTypeById:r}),l=e.request!=null?S5_(e.request.type,r):void 0;return{path:n,pathParameters:i,queryParameters:a,headers:u,requestBodyV3:l,name:void 0,requestBody:void 0,responseBody:void 0,responseBodyV3:void 0,codeSamples:void 0,description:void 0}}function foM({pathParameters:e,apiDefinition:t,resolveTypeById:r}){return e.reduce((i,n)=>{let a=T5_({typeReference:n.type,types:t.types});return{...i,[n.key]:a?`:${n.key}`:hL(n.type,r,!1,new Set,0)}},{})}function doM({queryParameters:e,resolveTypeById:t}){let r={},i=0;for(let n of e){let a=hL(n.type,t,i>=loM,new Set,0);n.type.type==="optional"&&(i+=1),r[n.key]=a}return r}function poM({headers:e,resolveTypeById:t}){return e.reduce((r,i)=>{let n=hL(i.type,t,!1,new Set,0);return n==null?r:{...r,[i.key]:n}},{})}function hru(e){return t=>{let r=e.types[t];if(r==null)throw new Error(`Failed to find ${t}`);return r}}function _oM(e,t){let r="";for(let i of e.parts)switch(i.type){case"literal":r+=i.value;break;case"pathParameter":{let n=t[i.value];if(n==null)throw new Error("Path parameter is missing: "+i.value);r+=n}break;default:U3(i)}return r}function T5_({typeReference:e,types:t}){if(e.type==="primitive"&&e.value.type==="string")return!0;if(e.type==="id"){let r=t[e.value];if(r!=null&&r.shape.type==="alias")return T5_({typeReference:r.shape.value,types:t})}return!1}function C5_({webhookDefinition:e,apiDefinition:t}){try{let r=i=>{let n=t.types[i];if(n==null)throw new Error(`Failed to find ${i}`);return n};return{payload:w5_(e.payload.type,r)}}catch{throw new Error}}function GNa(e,t,r){let i={};for(let[a,u]of B5_(e.subpackages))for(let l of u.subpackages)i[l]=a;let n=new ZDc;return{id:t,rootPackage:{endpoints:e.rootPackage.endpoints.map(a=>x5_({writeShape:a,apiDefinition:e,context:n,snippets:r})??[]),webhooks:e.rootPackage.webhooks?.map(a=>z5_({writeShape:a,apiDefinition:e}))??[],websockets:e.rootPackage.websockets?.map(a=>I5_({writeShape:a}))??[],subpackages:e.rootPackage.subpackages,types:e.rootPackage.types,pointsTo:void 0},types:Object.fromEntries(Object.entries(e.types).map(([a,u])=>[a,joM({writeShape:u})])),subpackages:B5_(e.subpackages).reduce((a,[u,l])=>(a[u]=hoM({writeShape:l,id:u,subpackageToParent:i,apiDefinition:e,context:n,snippets:r}),a),{}),auth:e.auth,globalHeaders:e.globalHeaders,hasMultipleBaseUrls:n.hasMultipleBaseUrls(),navigation:e.navigation}}function hoM({writeShape:e,id:t,subpackageToParent:r,apiDefinition:i,context:n,snippets:a}){let u=r[t],l=e.endpoints.map(o=>x5_({writeShape:o,apiDefinition:i,context:n,snippets:a})),d=e.webhooks?.map(o=>z5_({writeShape:o,apiDefinition:i})),s=e.websockets?.map(o=>I5_({writeShape:o}));return{subpackageId:t,parent:u,name:e.name,endpoints:l,websockets:s??[],types:e.types,subpackages:e.subpackages,pointsTo:e.pointsTo,urlSlug:f4(e.name),description:e.description,displayName:e.displayName,webhooks:d??[]}}function I5_({writeShape:e}){return{urlSlug:f4(e.id),auth:e.auth,headers:e.headers,messages:e.messages,availability:e.availability,defaultEnvironment:e.defaultEnvironment,environments:e.environments,description:e.description,id:e.id,name:e.name,path:e.path,queryParameters:e.queryParameters,examples:e.examples}}function z5_({apiDefinition:e,writeShape:t}){let r=f4(t.id),i=f4(t.name??t.id);return{urlSlug:r,migratedFromUrlSlugs:(0,kDc.default)(i,r)?void 0:[i],description:t.description,method:t.method,id:t.id,name:t.name,path:t.path,headers:t.headers,payload:t.payload,examples:t.examples.length>0?t.examples:[C5_({webhookDefinition:t,apiDefinition:e})]}}function x5_({writeShape:e,apiDefinition:t,context:r,snippets:i}){r.registerEnvironments(e.environments??[]);let n=f4(e.id),a=f4(e.name??e.id);return{availability:e.availability,environments:e.environments,defaultEnvironment:e.defaultEnvironment,urlSlug:e.slug??n,migratedFromUrlSlugs:(0,kDc.default)(a,n)?void 0:[a],method:e.method,id:e.id,originalEndpointId:e.originalEndpointId,name:e.name,path:e.path,queryParameters:e.queryParameters,headers:e.headers,request:e.request!=null?moM({writeShape:e.request}):void 0,response:e.response!=null?voM({writeShape:e.response,apiDefinition:t,sdkSnippetHolder:i,endpointDefinition:e}):void 0,errors:e.errors??[],errorsV2:yoM(e),examples:goM({writeShape:e,apiDefinition:t,snippets:i}),description:e.description,authed:e.auth,snippetTemplates:i.getSnippetTemplateForEndpoint({endpointPath:TLn(e),endpointMethod:e.method,endpointId:e.originalEndpointId}),protocol:e.protocol}}function yoM(e){if(e.errorsV2!=null)return e.errorsV2.map(t=>({...t,name:t.name!=null?iYi(t.name):void 0,type:t.type!=null?R5_({writeShape:t.type}):void 0}));if(e.errors!=null)return e.errors.map(t=>({name:void 0,examples:void 0,...t,type:t.type!=null?{type:"alias",value:t.type}:void 0}))}function voM({writeShape:e,apiDefinition:t,endpointDefinition:r,sdkSnippetHolder:i}){let n=e.type;switch(n.type){case"fileDownload":case"object":case"reference":case"streamingText":case"stream":return{...e,type:n};case"streamCondition":return{...e,type:{type:"streamCondition",...boM({writeShape:n,apiDefinition:t,endpointDefinition:r,sdkSnippetHolder:i})}}}}function boM({writeShape:e,apiDefinition:t,endpointDefinition:r,sdkSnippetHolder:i}){let n=e.response.examples??M5_({apiDefinition:t,nonStreamResponse:e.response,endpointDefinition:r}),a=e.response.examples??A5_({apiDefinition:t,streamResponse:e.response,endpointDefinition:r});return{...e,response:{...e.response,examples:n.map(u=>yru({writeShape:u,endpointDefinition:r,snippets:i}))},streamResponse:{...e.streamResponse,examples:a.map(u=>yru({writeShape:u,endpointDefinition:r,snippets:i}))}}}function goM({writeShape:e,apiDefinition:t,snippets:r}){let i=[],{successExamples:n,errorExamples:a}=OoM(e.examples);if(n.length>0)i.push(...n);else{let s=q5_({endpointDefinition:e,apiDefinition:t});i.push(s)}let u=new Set(a.map(s=>s.responseStatusCode)),d=(e.errorsV2??[]).filter(s=>!u.has(s.statusCode)).map(s=>E5_({endpointDefinition:e,apiDefinition:t,errorDeclaration:s}));return i.push(...a,...d),i.map(s=>yru({writeShape:s,endpointDefinition:e,snippets:r}))}function OoM(e){let t=[],r=[];return e.forEach(i=>{i.responseStatusCode<400?t.push(i):r.push(i)}),{successExamples:t,errorExamples:r}}function moM({writeShape:e}){switch(e.type.type){case"object":case"reference":return{contentType:"application/json",description:e.description,type:e.type};case"fileUpload":case"formData":return{contentType:"multipart/form-data",description:e.description,type:e.type};case"json":return{contentType:e.type.contentType,description:e.description,type:e.type.shape};case"bytes":return{contentType:"application/octet-stream",description:e.description,type:{type:"bytes",isOptional:e.type.isOptional,contentType:e.type.contentType}};default:U3(e.type)}}function yru({writeShape:e,endpointDefinition:t,snippets:r}){return{name:e.name,description:e.description,path:e.path,pathParameters:e.pathParameters,queryParameters:e.queryParameters,headers:e.headers,requestBody:e.requestBody,responseStatusCode:e.responseStatusCode,responseBody:e.responseBody,codeExamples:PoM({endpointDefinition:t,snippets:r,exampleId:e.name}),requestBodyV3:e.requestBodyV3??(e.requestBody!=null?{type:"json",value:e.requestBody}:void 0),responseBodyV3:e.responseBodyV3??(e.responseBody!=null?{type:"json",value:e.responseBody}:void 0),codeSamples:e.codeSamples??[]}}function PoM({exampleId:e,endpointDefinition:t,snippets:r}){let i=r.getPythonCodeSnippetForEndpoint({endpointMethod:t.method,endpointPath:TLn(t),endpointId:t.originalEndpointId,exampleId:e}),n=r.getTypeScriptCodeSnippetForEndpoint({endpointMethod:t.method,endpointPath:TLn(t),endpointId:t.originalEndpointId,exampleId:e}),a=r.getGoCodeSnippetForEndpoint({endpointMethod:t.method,endpointPath:TLn(t),endpointId:t.originalEndpointId,exampleId:e}),u=r.getRubyCodeSnippetForEndpoint({endpointMethod:t.method,endpointPath:TLn(t),endpointId:t.originalEndpointId,exampleId:e}),l=r.getCsharpCodeSnippetForEndpoint({endpointMethod:t.method,endpointPath:TLn(t),endpointId:t.originalEndpointId,exampleId:e});return{nodeAxios:"",pythonSdk:i,typescriptSdk:n,goSdk:a,rubySdk:u,csharpSdk:l}}function TLn(e){let t="";for(let r of e.path.parts)r.type==="literal"?t+=r.value:t+=`{${r.value}}`;return XA.EndpointPathLiteral(t)}function joM({writeShape:e}){return{description:e.description,availability:e.availability,name:e.name,displayName:e.displayName,shape:R5_({writeShape:e.shape})}}function R5_({writeShape:e}){switch(e.type){case"object":return{type:"object",extends:e.extends,properties:e.properties.map(t=>N5_({writeShape:t})),extraProperties:e.extraProperties};case"alias":return{type:"alias",value:e.value};case"enum":return{type:"enum",default:e.default,values:e.values.map(t=>woM({writeShape:t}))};case"discriminatedUnion":return{type:"discriminatedUnion",discriminant:e.discriminant,variants:e.variants.map(t=>SoM({writeShape:t}))};case"undiscriminatedUnion":return{type:"undiscriminatedUnion",variants:e.variants.map(t=>DoM({writeShape:t}))};default:U3(e)}}function N5_({writeShape:e}){return{description:e.description,availability:e.availability,key:e.key,valueType:e.valueType,propertyAccess:e.propertyAccess}}function woM({writeShape:e}){return{availability:e.availability,description:e.description,value:e.value}}function SoM({writeShape:e}){return{description:e.description,availability:e.availability,displayName:e.displayName,discriminantValue:e.discriminantValue,additionalProperties:{extends:e.additionalProperties.extends,properties:e.additionalProperties.properties.map(t=>N5_({writeShape:t})),extraProperties:e.additionalProperties.extraProperties}}}function DoM({writeShape:e}){return{description:e.description,availability:e.availability,type:e.type,displayName:e.displayName}}function B5_(e){return Object.entries(e)}var ZDc=class{uniqueBaseUrls={};registerEnvironments(t){for(let r of t){let i=this.uniqueBaseUrls[r.id];i!=null?i.add(this.getHost(r.baseUrl)):this.uniqueBaseUrls[r.id]=new Set([this.getHost(r.baseUrl)])}}hasMultipleBaseUrls(){for(let[,t]of Object.entries(this.uniqueBaseUrls))if(t.size>1)return!0;return!1}getHost(t){try{return new URL(t).host}catch{return""}}};var QNa={r:129,g:140,b:248,a:void 0},JNa={r:129,g:140,b:248,a:void 0};function eEc({writeShape:e,files:t}){let r=e.config.navigation?EoM(e.config.navigation):void 0,i={};Object.entries(t).forEach(([,d])=>{i[d.presignedUrl.fileId]=d.imageMetadata!=null?{type:"image",s3Key:d.key,width:d.imageMetadata.width,height:d.imageMetadata.height,blurDataUrl:d.imageMetadata.blurDataUrl,alt:d.imageMetadata.alt}:{type:"s3Key",s3Key:d.key}});let n=e.config.logo,a=e.config.logoV2;a==null&&n!=null&&(a={dark:n,light:void 0});let u=e.config.colors,l=e.config.colorsV2;return l==null&&u!=null&&(l={accentPrimary:{type:"themed",dark:u.accentPrimary,light:void 0},background:void 0}),{type:"v3",referencedApis:ToM(r,e.config.root),files:i,config:{navigation:r,root:e.config.root,logo:n,logoV2:a,logoHeight:e.config.logoHeight,logoHref:e.config.logoHref,colors:u,colorsV2:l,colorsV3:e.config.colorsV3!=null?zoM({writeShape:e.config.colorsV3,docsConfig:e.config}):void 0,navbarLinks:e.config.navbarLinks,footerLinks:e.config.footerLinks,hideNavLinks:e.config.hideNavLinks,title:e.config.title,favicon:e.config.favicon,backgroundImage:e.config.backgroundImage,typography:e.config.typography,typographyV2:e.config.typographyV2,layout:e.config.layout,css:e.config.css,js:e.config.js,metadata:e.config.metadata,redirects:e.config.redirects,integrations:e.config.integrations,defaultLanguage:e.config.defaultLanguage,analyticsConfig:e.config.analyticsConfig,announcement:e.config.announcement,aiChatConfig:e.config.aiChatConfig},pages:e.pages,jsFiles:e.jsFiles}}function EoM(e){return KDc(e,{unversioned:t=>L5_(t),versioned:t=>MoM(t)})}function MoM(e){return{versions:e.versions.map(t=>({urlSlug:t.urlSlugOverride??f4(t.version),availability:t.availability,version:t.version,config:L5_(t.config)}))}}function L5_(e){return YDc(e,{untabbed:t=>({items:t.items?.map(gru),landingPage:bru(t.landingPage,"")}),tabbed:t=>({tabs:t.tabs?.map(AoM),tabsV2:t.tabsV2?.map(qoM),landingPage:bru(t.landingPage,"")})})}function AoM(e){return dru(e)?e:{...e,items:e.items?.map(gru),urlSlug:e.urlSlugOverride??f4(e.title??"")}}function qoM(e){switch(e.type){case"group":return{...e,items:e.items.map(gru),urlSlug:e.urlSlugOverride??f4(e.title)};case"link":return e;case"changelog":return{type:"changelog",...U5_(e)};case"changelogV3":return e}}function U5_(e){return{title:e.title,icon:e.icon,hidden:e.hidden??!1,description:e.description,items:e.items.map(t=>({date:t.date,pageId:t.pageId})),pageId:e.pageId,urlSlug:e.urlSlugOverride??(e.title!=null?f4(e.title):"changelog"),fullSlug:e.fullSlug}}function gru(e){switch(e.type){case"api":return{...e,icon:e.icon,hidden:e.hidden??!1,longScrolling:e.longScrolling,flattened:e.flattened,fullSlug:e.fullSlug,urlSlug:e.urlSlugOverride??f4(e.title),artifacts:e.artifacts!=null?CoM(e.artifacts):void 0,skipUrlSlug:e.skipUrlSlug??!1,showErrors:e.showErrors??!1,changelog:e.changelog!=null?{title:e.changelog.title,description:e.changelog.description,items:e.changelog.items.map(t=>({date:t.date,pageId:t.pageId})),pageId:e.changelog.pageId,urlSlug:e.changelog.urlSlug,fullSlug:e.fullSlug,icon:e.changelog.icon,hidden:e.changelog.hidden??!1}:void 0,navigation:xoM(e.navigation)};case"page":return bru(e);case"section":return{type:"section",title:e.title,icon:e.icon,urlSlug:e.urlSlugOverride??f4(e.title),collapsed:e.collapsed??!1,hidden:e.hidden??!1,items:e.items.map(t=>gru(t)),skipUrlSlug:e.skipUrlSlug??!1,fullSlug:e.fullSlug,overviewPageId:e.overviewPageId};case"link":return{type:"link",title:e.title,icon:e.icon,url:e.url};case"changelog":return{type:"changelog",...U5_(e)};case"apiV2":return e;case"changelogV3":return e;default:U3(e)}}function ToM(e,t){if(t!=null){let r=So.migrate.FernNavigationV1ToLatest.create().root(t);return So.utils.collectApiReferences(r).map(i=>i.apiDefinitionId)}return e!=null?HNa(e,{unversioned:r=>F5_(r),versioned:r=>r.versions.flatMap(i=>F5_(i.config))}):[]}function F5_(e){return $Na(e,{untabbed:t=>t.items.flatMap(vru),tabbed:t=>{let r=[];return t.tabs?.forEach(i=>{dru(i)||i.items&&r.push(...i.items.flatMap(vru))}),t.tabsV2?.forEach(i=>{i.type==="group"&&i.items&&r.push(...i.items.flatMap(vru))}),r}})}function vru(e){switch(e.type){case"api":return[e.api];case"page":return[];case"section":return e.items.flatMap(t=>vru(t));case"link":return[];case"changelog":return[];case"apiV2":return[e.node.apiDefinitionId];case"changelogV3":return[];default:U3(e)}}function CoM(e){return{sdks:e.sdks.map(t=>BoM(t)),postman:e.postman!=null?IoM(e.postman):void 0}}function BoM(e){switch(e.type){case"maven":return{type:"maven",coordinate:e.coordinate,githubRepo:{name:e.githubRepoName,url:XA.Url(`https://github.com/${e.githubRepoName}`)},version:e.version};case"npm":return{type:"npm",packageName:e.packageName,githubRepo:{name:e.githubRepoName,url:XA.Url(`https://github.com/${e.githubRepoName}`)},version:e.version};case"pypi":return{type:"pypi",packageName:e.packageName,githubRepo:{name:e.githubRepoName,url:XA.Url(`https://github.com/${e.githubRepoName}`)},version:e.version}}}function IoM(e){return{url:e.url,githubRepo:e.githubRepoName!=null?{name:e.githubRepoName,url:XA.Url(`https://github.com/${e.githubRepoName}`)}:void 0}}function zoM({writeShape:e,docsConfig:t}){switch(e.type){case"dark":return{type:"dark",accentPrimary:e.accentPrimary??QNa,logo:e.logo??t.logoV2?.dark??t.logo,background:e.background!=null?{type:"solid",...e.background}:{type:"gradient"},backgroundImage:e.backgroundImage??t.backgroundImage,border:e.border,cardBackground:e.cardBackground,sidebarBackground:e.sidebarBackground,headerBackground:e.headerBackground};case"light":return{type:"light",accentPrimary:e.accentPrimary??JNa,logo:e.logo??t.logoV2?.dark??t.logo,background:e.background!=null?{type:"solid",...e.background}:{type:"gradient"},backgroundImage:e.backgroundImage??t.backgroundImage,border:e.border,cardBackground:e.cardBackground,sidebarBackground:e.sidebarBackground,headerBackground:e.headerBackground};case"darkAndLight":return{type:"darkAndLight",light:{accentPrimary:e.light.accentPrimary??JNa,logo:e.light.logo??t.logoV2?.light??t.logo,background:e.light.background!=null?{type:"solid",...e.light.background}:{type:"gradient"},backgroundImage:e.light.backgroundImage??t.backgroundImage,border:e.light.border,cardBackground:e.light.cardBackground,sidebarBackground:e.light.sidebarBackground,headerBackground:e.light.headerBackground},dark:{accentPrimary:e.dark.accentPrimary??QNa,logo:e.dark.logo??t.logoV2?.dark??t.logo,background:e.dark.background!=null?{type:"solid",...e.dark.background}:{type:"gradient"},backgroundImage:e.dark.backgroundImage??t.backgroundImage,border:e.dark.border,cardBackground:e.dark.cardBackground,sidebarBackground:e.dark.sidebarBackground,headerBackground:e.dark.headerBackground}};default:U3(e)}}function bru(e,t){if(e!=null)return{type:"page",id:e.id,title:e.title,icon:e.icon,urlSlug:e.urlSlugOverride??t??f4(e.title),fullSlug:e.fullSlug,hidden:e.hidden??!1}}function xoM(e){if(e!=null)return{items:V5_(e.items),summaryPageId:e.summaryPageId}}function V5_(e){return e.map(t=>t.type==="subpackage"?{type:"subpackage",subpackageId:t.subpackageId,items:V5_(t.items),summaryPageId:t.summaryPageId}:t.type==="page"?bru(t):t)}var bYi=class{snippetsBySdkId;snippetsBySdkIdAndEndpointId;snippetsConfigWithSdkId;snippetTemplatesByEndpoint;snippetTemplatesByEndpointId;constructor({snippetsBySdkId:t,snippetsConfigWithSdkId:r,snippetTemplatesByEndpoint:i,snippetsBySdkIdAndEndpointId:n,snippetTemplatesByEndpointId:a}){this.snippetsBySdkId=t,this.snippetsConfigWithSdkId=r,this.snippetTemplatesByEndpoint=i,this.snippetsBySdkIdAndEndpointId=n,this.snippetTemplatesByEndpointId=a}getPythonCodeSnippetForEndpoint({endpointPath:t,endpointMethod:r,endpointId:i,exampleId:n}){if(this.snippetsConfigWithSdkId.pythonSdk!=null)return this.getCodeSnippetForEndpoint({endpointPath:t,endpointMethod:r,endpointId:i,exampleId:n,getSdk:a=>a.pythonSdk,getSnippet:a=>a.type==="python"?{...a,install:void 0}:void 0})}getTypeScriptCodeSnippetForEndpoint({endpointPath:t,endpointMethod:r,endpointId:i,exampleId:n}){if(this.snippetsConfigWithSdkId.typescriptSdk!=null)return this.getCodeSnippetForEndpoint({endpointPath:t,endpointMethod:r,endpointId:i,exampleId:n,getSdk:a=>a.typescriptSdk,getSnippet:a=>a.type==="typescript"?{...a,install:void 0}:void 0})}getGoCodeSnippetForEndpoint({endpointPath:t,endpointMethod:r,endpointId:i,exampleId:n}){if(this.snippetsConfigWithSdkId.goSdk!=null)return this.getCodeSnippetForEndpoint({endpointPath:t,endpointMethod:r,endpointId:i,exampleId:n,getSdk:a=>a.goSdk,getSnippet:a=>a.type==="go"?{...a,install:void 0}:void 0})}getRubyCodeSnippetForEndpoint({endpointPath:t,endpointMethod:r,endpointId:i,exampleId:n}){if(this.snippetsConfigWithSdkId.rubySdk!=null)return this.getCodeSnippetForEndpoint({endpointPath:t,endpointMethod:r,endpointId:i,exampleId:n,getSdk:a=>a.rubySdk,getSnippet:a=>a.type==="ruby"?{...a,install:void 0}:void 0})}getCsharpCodeSnippetForEndpoint({endpointPath:t,endpointMethod:r,endpointId:i,exampleId:n}){if(this.snippetsConfigWithSdkId.csharpSdk!=null)return this.getCodeSnippetForEndpoint({endpointPath:t,endpointMethod:r,endpointId:i,exampleId:n,getSdk:a=>a.csharpSdk,getSnippet:a=>a.type==="csharp"?{...a,install:void 0}:void 0})}getCodeSnippetForEndpoint({endpointPath:t,endpointMethod:r,endpointId:i,exampleId:n,getSdk:a,getSnippet:u}){let l=a(this.snippetsConfigWithSdkId);if(l==null)return;let d=l.sdkId,s=[];i!=null&&(s=this.snippetsBySdkIdAndEndpointId[d]?.[i]??[]),(i==null||s.length===0)&&(s=this.snippetsBySdkId[d]?.[t]?.[r]??[]);let o=s.filter(c=>n!=null&&c.exampleIdentifier===n);if(o.length===0&&s[0]!=null&&(o=[s[0]]),o[0]!=null)return u(o[0])}getSnippetTemplateForEndpoint({endpointPath:t,endpointMethod:r,endpointId:i}){let n;return i!=null&&(n=this.snippetTemplatesByEndpointId[i]),(i==null||this.snippetTemplatesByEndpointId[i]==null)&&(n=this.snippetTemplatesByEndpoint[t]?.[r]),n}};function KNa(e){return{id:e.id,rootPackage:{endpoints:e.rootPackage.endpoints.map(t=>W5_({dbShape:t})),subpackages:e.rootPackage.subpackages,types:e.rootPackage.types,webhooks:e.rootPackage.webhooks??[],websockets:e.rootPackage.websockets??[],pointsTo:e.rootPackage.pointsTo},types:e.types,subpackages:Object.fromEntries(Object.entries(e.subpackages).map(([t,r])=>[t,RoM({dbShape:r})])),auth:e.auth,hasMultipleBaseUrls:e.hasMultipleBaseUrls,navigation:e.navigation,globalHeaders:e.globalHeaders}}function RoM({dbShape:e}){return{subpackageId:e.subpackageId,parent:e.parent,name:e.name,endpoints:e.endpoints.map(t=>W5_({dbShape:t})),types:e.types,subpackages:e.subpackages,pointsTo:e.pointsTo,urlSlug:e.urlSlug,description:e.description,webhooks:e.webhooks??[],websockets:e.websockets??[],displayName:e.displayName}}function W5_({dbShape:e}){return{environments:e.environments??[],availability:e.availability,defaultEnvironment:e.defaultEnvironment,urlSlug:e.urlSlug,migratedFromUrlSlugs:e.migratedFromUrlSlugs,method:e.method,id:e.id,originalEndpointId:e.originalEndpointId,name:e.name,path:e.path,queryParameters:e.queryParameters,headers:e.headers,request:e.request!=null?FoM({dbShape:e.request}):void 0,response:e.response,errors:e.errors??[],errorsV2:NoM(e),examples:e.examples.map(t=>LoM({dbShape:t})),description:e.description,authed:e.authed??!1,snippetTemplates:e.snippetTemplates,protocol:e.protocol}}function NoM(e){if(e.errorsV2!=null)return e.errorsV2;if(e.errors!=null)return e.errors.map(t=>({name:void 0,examples:void 0,...t,type:t.type!=null?{type:"alias",value:t.type}:void 0}))}function FoM({dbShape:e}){switch(e.type.type){case"object":case"reference":return{contentType:e.contentType??"application/json",description:e.description,type:e.type};case"fileUpload":case"formData":return{contentType:e.contentType??"multipart/form-data",description:e.description,type:e.type};case"bytes":return{contentType:e.contentType??"application/octet-stream",description:e.description,type:e.type};default:U3(e.type)}}function LoM({dbShape:e}){return{name:e.name,description:e.description,path:e.path,pathParameters:e.pathParameters,queryParameters:e.queryParameters,headers:e.headers,requestBody:e.requestBody,responseStatusCode:e.responseStatusCode,responseBody:e.responseBody,codeExamples:e.codeExamples,requestBodyV3:e.requestBodyV3??(e.requestBody!=null?{type:"json",value:e.requestBody}:void 0),responseBodyV3:e.responseBodyV3??(e.responseBody!=null?{type:"json",value:e.responseBody}:void 0),codeSamples:e.codeSamples??[]}}function rEc({dbShape:e}){return{navigation:e.navigation!=null?VoM(e.navigation):void 0,root:e.root,logoHeight:e.logoHeight,logoHref:e.logoHref,colorsV3:e.colorsV3??JoM(e),navbarLinks:e.navbarLinks,footerLinks:e.footerLinks,hideNavLinks:e.hideNavLinks,title:e.title,favicon:e.favicon,typographyV2:e.typographyV2??UoM(e.typography),layout:e.layout,css:e.css,js:e.js,metadata:e.metadata,redirects:e.redirects,integrations:e.integrations,defaultLanguage:e.defaultLanguage,analyticsConfig:e.analyticsConfig,announcement:e.announcement,aiChatConfig:e.aiChatConfig}}function tEc(e){if(e!=null)return{type:"custom",name:e.name,variants:[{fontFile:e.fontFile,weight:void 0,style:void 0}],display:void 0,fallback:void 0,fontVariationSettings:void 0}}function UoM(e){if(e!=null)return{headingsFont:tEc(e.headingsFont),bodyFont:tEc(e.bodyFont),codeFont:tEc(e.codeFont)}}function VoM(e){return HNa(e,{unversioned:t=>H5_(t),versioned:t=>WoM(t)})}function WoM(e){return{versions:e.versions.map(t=>({urlSlug:t.urlSlug??f4(t.version),availability:t.availability,version:t.version,config:H5_(t.config)}))}}function H5_(e){return $Na(e,{tabbed:t=>({tabs:t.tabsV2?.map($oM)??t.tabs?.map(HoM)??[],landingPage:t.landingPage}),untabbed:t=>({items:t.items.map(Oru),landingPage:t.landingPage})})}function HoM(e){return g5_(e,{link:t=>({type:"link",...t}),group:t=>({type:"group",...t,items:t.items.map(Oru),skipUrlSlug:t.skipUrlSlug??!1,hidden:void 0,fullSlug:void 0})})}function $oM(e){switch(e.type){case"link":return e;case"group":return{...e,items:e.items.map(Oru),skipUrlSlug:e.skipUrlSlug??!1,hidden:void 0,fullSlug:void 0};case"changelog":case"changelogV3":return e;default:U3(e)}}function Oru(e){switch(e.type){case"api":return{...e,showErrors:e.showErrors??!1};case"section":return{...e,items:e.items.map(t=>Oru(t))};case"page":case"link":case"changelog":case"apiV2":case"changelogV3":return e;default:U3(e)}}var GoM={accentPrimary:QNa,background:{type:"gradient"},logo:void 0,backgroundImage:void 0,border:void 0,sidebarBackground:void 0,headerBackground:void 0,cardBackground:void 0},QoM={accentPrimary:JNa,background:{type:"gradient"},logo:void 0,backgroundImage:void 0,border:void 0,sidebarBackground:void 0,headerBackground:void 0,cardBackground:void 0};function JoM(e){let t=!1,r=!1,i={},n={};if(e.colorsV3!=null)if(e.colorsV3.type==="dark"){t=!0;let{type:l,...d}=e.colorsV3;i={...i,...d}}else if(e.colorsV3.type==="light"){r=!0;let{type:l,...d}=e.colorsV3;n={...n,...d}}else e.colorsV3.type==="darkAndLight"&&(t=!0,r=!0,i=e.colorsV3.dark,n=e.colorsV3.light);e.colorsV2!=null&&(e.colorsV2.background!=null&&(e.colorsV2.background.type==="themed"?(e.colorsV2.background.dark!=null&&i.background==null&&(t=!0,i.background={type:"solid",...e.colorsV2.background.dark}),e.colorsV2.background.light!=null&&n.background==null&&(r=!0,n.background={type:"solid",...e.colorsV2.background.light})):e.colorsV2.background.type==="unthemed"&&e.colorsV2.background.color!=null&&(P_(e.colorsV2.background.color).isDark()?(t=!0,i.background={type:"solid",...e.colorsV2.background.color}):(r=!0,n.background={type:"solid",...e.colorsV2.background.color}))),e.colorsV2.accentPrimary?.type==="themed"?(e.colorsV2.accentPrimary.dark!=null&&i.accentPrimary==null&&(t=!0,i.accentPrimary=e.colorsV2.accentPrimary.dark),e.colorsV2.accentPrimary.light!=null&&n.accentPrimary==null&&(r=!0,n.accentPrimary=e.colorsV2.accentPrimary.light)):e.colorsV2.accentPrimary?.type==="unthemed"&&e.colorsV2.accentPrimary.color!=null&&(i.accentPrimary==null&&(i.accentPrimary=e.colorsV2.accentPrimary.color),n.accentPrimary==null&&(n.accentPrimary=e.colorsV2.accentPrimary.color))),e.colors!=null&&e.colors.accentPrimary!=null&&(i.accentPrimary==null&&(i.accentPrimary=e.colors.accentPrimary),n.accentPrimary==null&&(n.accentPrimary=e.colors.accentPrimary)),e.logoV2!=null&&(i.logo==null&&(i.logo=e.logoV2.dark),n.logo==null&&(n.logo=e.logoV2.light)),e.logo!=null&&(i.logo==null&&(i.logo=e.logo),n.logo==null&&(n.logo=e.logo)),e.backgroundImage!=null&&(i.backgroundImage==null&&(i.backgroundImage=e.backgroundImage),n.backgroundImage==null&&(n.backgroundImage=e.backgroundImage));let a={...GoM,...i},u={...QoM,...n};return t&&r?{type:"darkAndLight",dark:a,light:u}:t?{type:"dark",...a}:r?{type:"light",...u}:{type:"darkAndLight",dark:a,light:u}}var So={};jo(So,{ApiDefinitionHolder:()=>EJ,ApiDefinitionId:()=>xKi,ApiDefinitionPruner:()=>Eru,ApiId:()=>LKi,ApiTypeIdVisitor:()=>anr,Availability:()=>hH,DocsConfigId:()=>UKi,EndpointId:()=>WKi,EndpointPathLiteral:()=>kKi,EnvironmentId:()=>VKi,FileId:()=>JKi,HttpMethod:()=>eYi,JqString:()=>YKi,NodeCollector:()=>BLn,NodeId:()=>o5_,OrgId:()=>NKi,PageId:()=>QKi,ProductId:()=>u5_,PropertyKey:()=>XKi,Pruner:()=>TEc,RoleId:()=>ZKi,Slug:()=>n5_,TabId:()=>a5_,TokenId:()=>FKi,TypeId:()=>GKi,Url:()=>KKi,V1:()=>mEc,VersionId:()=>RKi,WebSocketId:()=>HKi,WebhookId:()=>$Ki,getChildren:()=>ZNa,getPageId:()=>oEc,hasMarkdown:()=>dEc,hasMetadata:()=>XoM,hasPointsTo:()=>G5_,hasRedirect:()=>ZoM,isApiLeaf:()=>gYi,isApiReferenceNode:()=>uEc,isLeaf:()=>iEc,isMarkdownLeaf:()=>XNa,isNeighbor:()=>KoM,isPage:()=>YoM,isProductGroupNode:()=>lEc,isProductNode:()=>kNa,isSection:()=>fEc,isSectionOverview:()=>eFa,isSidebarRootNode:()=>Pru,isTabbedNode:()=>jru,isUnversionedNode:()=>sEc,isVersionNode:()=>cEc,migrate:()=>PEc,slugjoin:()=>koM,toDefaultSlug:()=>euM,traverseBF:()=>tuM,traverseDF:()=>ruM,utils:()=>SEc});function YNa(e){return typeof e.subpackageId=="string"}var $5_=ci(Oz(),1);function gYi(e){return e.type==="endpoint"||e.type==="webSocket"||e.type==="webhook"}function XNa(e){return e.type==="page"||e.type==="landingPage"||e.type==="changelogEntry"}function iEc(e){return gYi(e)||XNa(e)||e.type==="link"}function ZNa(e){if(iEc(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 $5_.UnreachableCaseError(e)}}var nEc=e=>e.pageId,mru=e=>e.overviewPageId,aEc=()=>{};function oEc(e){return Ky(e)._visit({section:mru,apiReference:mru,changelog:mru,apiPackage:mru,changelogEntry:nEc,page:nEc,landingPage:nEc,endpoint:aEc,webSocket:aEc,webhook:aEc})}function uEc(e){return e.type==="apiReference"}function Pru(e){return e.type==="sidebarRoot"}function jru(e){return e.type==="tabbed"}function sEc(e){return e.type==="unversioned"}function cEc(e){return e.type==="version"}function kNa(e){return e.type==="product"}function lEc(e){return e.type==="productgroup"}function fEc(e){return e.type==="section"||e.type==="apiReference"||e.type==="changelog"||e.type==="apiPackage"}function eFa(e){return fEc(e)&&e.overviewPageId!=null}function dEc(e){return XNa(e)||eFa(e)}function KoM(e){return gYi(e)||e.type==="page"||e.type==="changelog"||e.type==="changelogEntry"||eFa(e)}function YoM(e){return gYi(e)||e.type==="changelog"||dEc(e)}function XoM(e){return typeof e.title=="string"&&typeof e.slug=="string"}function G5_(e){return e.type==="root"||e.type==="product"||e.type==="version"||e.type==="tab"||e.type==="section"||e.type==="apiReference"||e.type==="apiPackage"}function ZoM(e){return G5_(e)?e.pointsTo!=null:!1}function koM(...e){let t=e.filter(aqi).flatMap(r=>typeof r=="string"?[r.trim()]:r.map(i=>i.trim())).map(r=>decodeURIComponent(r));return ub(t).replaceAll("//*","/").replace(/^\//,"").replace(/\/$/,"")}function euM(e,t,r){if(e!=null)return e.startsWith(r)?e.replace(new RegExp(`^${Hpi(r)}`),t).replace(/^\//,""):e}var wru="skip";function Sru(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!==wru){if(l===!1)return;if(i(a))for(let d of[...r(a)])n.push([d,[...u??[],a]])}}}function tuM(e,t){return Sru(e,t,ZNa)}function Dru(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!==wru){if(l===!1)return;if(i(a))for(let d of[...r(a)].reverse())n.push([d,[...u??[],a]])}}}function ruM(e,t){return Dru(e,t,ZNa)}var EJ=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=YNa(r)?r.subpackageId:LFe;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=LFe){return t.originalEndpointId??`${r}.${t.id}`}static createWebSocketId(t,r=LFe){return`${r}.${t.id}`}static createWebhookId(t,r=LFe){return`${r}.${t.id}`}};var $pi=ci(Oz(),1);var anr=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 Ky(t)._visit({object:i=>e.visitObjectType(i,r),reference:i=>e.visitTypeReference(i.value,r),bytes:$pi.noop,formData:i=>e.visitFormDataRequest(i,r),fileUpload:i=>i.value!=null?e.visitFormDataRequest(i.value,r):void 0})}static visitHttpResponseBodyShape(t,r){return Ky(t)._visit({object:i=>e.visitObjectType(i,r),reference:i=>e.visitTypeReference(i.value,r),fileDownload:$pi.noop,streamingText:$pi.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 Ky(t)._visit({object:i=>e.visitObjectType(i,r),reference:i=>e.visitTypeReference(i.value,r)})}static visitFormDataRequest(t,r){return t.properties.forEach(i=>Ky(i)._visit({file:$pi.noop,bodyProperty:n=>e.visitTypeReference(n.valueType,r)}))}static visitTypeDefinition(t,r){return e.visitTypeShape(t.shape,r)}static visitTypeShape(t,r){return Ky(t)._visit({object:i=>e.visitObjectType(i,r),alias:i=>e.visitTypeReference(i.value,r),enum:$pi.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 Ky(t)._visit({id:i=>r(i.value),primitive:$pi.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:$pi.noop,unknown:$pi.noop})}};var Eru=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=>{anr.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&&anr.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=>{anr.visitEndpointDefinition(s,o=>l.add(o))}),a.forEach(s=>{anr.visitWebSocketChannel(s,o=>l.add(o))}),u.forEach(s=>{anr.visitWebhookDefinition(s,o=>l.add(o))});let d=this.expandTypeIds(l);return{...r,endpoints:n,websockets:a,webhooks:u,types:Array.from(d)}}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=>EJ.createEndpointId(u,i)===n);return a?[a]:[]}pruneWebSockets(t,r,i){if(t.type!=="webSocket")return[];let n=t.webSocketId,a=r.find(u=>EJ.createWebSocketId(u,i)===n);return a?[a]:[]}pruneWebhooks(t,r,i){if(t.type!=="webhook")return[];let n=t.webhookId,a=r.find(u=>EJ.createWebhookId(u,i)===n);return a?[a]:[]}};function pqi(e){let t=!1,r;return function(...i){return t||(t=!0,r=e(...i)),r}}function Q5_(e,t,r){if(e!=null)return So.traverseDF(e,i=>{if(So.hasMetadata(i)){let n=So.toDefaultSlug(i.slug,t,r);if(i.slug===n)return"skip";i.canonicalSlug=i.canonicalSlug??i.slug,i.slug=n}So.hasRedirect(i)&&(i.pointsTo=So.toDefaultSlug(i.pointsTo,t,r))}),e}var mEc={};jo(mEc,{ApiDefinitionId:()=>xKi,ApiId:()=>LKi,ApiReferenceNavigationConverter:()=>tFa,Availability:()=>hH,DocsConfigId:()=>UKi,EndpointId:()=>WKi,EndpointPathLiteral:()=>kKi,EnvironmentId:()=>VKi,FileId:()=>JKi,HttpMethod:()=>eYi,JqString:()=>YKi,NavigationV1Availability:()=>d5_,NodeId:()=>l5_,OrgId:()=>NKi,PageId:()=>QKi,ProductId:()=>f5_,PropertyKey:()=>XKi,RoleId:()=>ZKi,Slug:()=>s5_,SlugGenerator:()=>PYi,TabId:()=>c5_,TokenId:()=>FKi,TypeId:()=>GKi,Url:()=>KKi,VersionId:()=>RKi,WebSocketId:()=>HKi,WebhookId:()=>$Ki,convertAvailability:()=>iuM,followRedirect:()=>onr,followRedirects:()=>jYi,getPageId:()=>luM,hasMarkdown:()=>OEc,hasMetadata:()=>yEc,hasRedirect:()=>puM,isApiLeaf:()=>wYi,isLeaf:()=>bEc,isMarkdownLeaf:()=>iFa,isNeighbor:()=>fuM,isPage:()=>duM,isSection:()=>gEc,isSectionOverview:()=>nFa,slugjoin:()=>_uM,toDefaultSlug:()=>huM,toRootNode:()=>ouM,traverseDF:()=>yuM});var J5_=ci(Oz(),1);function iuM(e){if(e!=null)switch(e){case XA.Availability.Beta:return So.V1.NavigationV1Availability.Beta;case XA.Availability.Stable:return So.V1.NavigationV1Availability.Stable;case XA.Availability.GenerallyAvailable:return So.V1.NavigationV1Availability.GenerallyAvailable;case XA.Availability.Deprecated:return So.V1.NavigationV1Availability.Deprecated;case XA.Availability.InDevelopment:return So.V1.NavigationV1Availability.InDevelopment;case XA.Availability.PreRelease:return So.V1.NavigationV1Availability.PreRelease;default:throw new J5_.UnreachableCaseError(e)}}var Y5_=ci(Oz(),1);function Mru(e){return ub("/",...e.map(t=>t.type==="literal"?t.value:`:${t.value}`))}var CLn=ci(keu(),1),K5_=ci(etu(),1);CLn.default.extend(K5_.default);var OYi=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?So.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=_Ec(t.map(n=>this.convertChangelogEntry(n,r)),n=>n.date,"desc");return this.groupByYear(i,r)}groupByYear(t,r){let i=nuM(t);return _Ec(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=auM(t);return _Ec(Array.from(i.entries()).map(([n,[a,u]])=>this.#e.with(n.toString(),l=>({id:l,type:"changelogMonth",title:(0,CLn.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=CLn.default.utc(t.date);return this.#e.with(i.format("YYYY-M-D"),n=>{let a=So.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 _Ec(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 nuM(e){let t=new Map;for(let r of e){let i=CLn.default.utc(r.date).year(),n=t.get(i)??[];n.push(r),t.set(i,n)}return t}function auM(e){let t=new Map;for(let r of e){let i=CLn.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 mYi=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),So.V1.NodeId(r)}};var PYi=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 So.V1.Slug(So.V1.slugjoin(this.slug))}setProductSlug(t){if(this.productSlug!=null){if(this.productSlug===So.V1.slugjoin(this.baseSlug,t))return this;throw new Error("Product already set")}let r=So.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=So.V1.slugjoin(this.productSlug,t);if(this.versionSlug===i)return this}else if(this.versionSlug===So.V1.slugjoin(this.baseSlug,t))return this;throw new Error("Version already set")}let r=this.productSlug?So.V1.slugjoin(this.productSlug,t):So.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,So.V1.slugjoin(this.slug,t))}set(t){t=So.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(So.V1.slugjoin(this.versionSlug,a))}if(this.baseSlug.length>0&&t.startsWith(this.baseSlug)){let a=i(t);return r(So.V1.slugjoin(this.baseSlug,a))}return r(So.V1.slugjoin(this.versionSlug,t))}return this.versionSlug!=null?t.startsWith(this.versionSlug)?r(t):this.baseSlug.length>0&&t.startsWith(this.baseSlug)?r(So.V1.slugjoin(this.versionSlug,i(t))):r(So.V1.slugjoin(this.versionSlug,t)):this.productSlug!=null?t.startsWith(this.productSlug)?r(t):this.baseSlug.length>0&&t.startsWith(this.baseSlug)?r(So.V1.slugjoin(i(t))):r(So.V1.slugjoin(this.productSlug,t)):this.baseSlug.length>0?t.startsWith(this.baseSlug)?r(t):r(So.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 tFa=class e{apiSection;api;fullSlugMap;noindexMap;parentSlug;lexicographic;disableEndpointPairs;paginated;static convert(t,r,i,n,a,u,l,d,s){return new e(t,r,i,n,a,u??new mYi,l,d,s).convert()}apiDefinitionId;#e;#t=new Set;#r=new Set;#n=new Set;#i=new Set;#a;constructor(t,r,i={},n={},a=PYi.init(""),u=new mYi,l=!1,d=!1,s){this.apiSection=t,this.api=r,this.fullSlugMap=i,this.noindexMap=n,this.parentSlug=a,this.lexicographic=l,this.disableEndpointPairs=d,this.paginated=s,this.apiDefinitionId=So.V1.ApiDefinitionId(r.id),this.#e=EJ.create(r),this.#a=u}convert(){return this.#a.with(this.apiSection.urlSlug,t=>{let r=this.apiSection.navigation?.summaryPageId!=null?So.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?OYi.convert(this.apiSection.changelog,this.fullSlugMap,this.noindexMap,n,this.#a):void 0,d=So.V1.followRedirects(u)??l?.slug;return{id:t,type:"apiReference",title:this.apiSection.title,apiDefinitionId:So.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:d,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,s4.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??Mru(r.path.parts),endpointId:t,slug:i.apply(r).get(),icon:void 0,hidden:void 0,method:r.method,apiDefinitionId:this.apiDefinitionId,availability:So.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??Mru(r.path.parts),webSocketId:t,slug:i.apply(r).get(),icon:void 0,hidden:void 0,apiDefinitionId:this.apiDefinitionId,availability:So.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??ub("/",...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=YNa(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=EJ.createEndpointId(u,n);this.#t.has(l)||(i.push(this.convertEndpointNode(l,u,r)),this.#t.add(l))}),t.websockets.forEach(u=>{let l=EJ.createWebSocketId(u,n);this.#r.has(l)||(i.push(this.convertWebSocketNode(l,u,r)),this.#r.add(l))}),t.webhooks.forEach(u=>{let l=EJ.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 d=this.#a.with(u,s=>{let o=r.apply(l),c=this.convertPackageToChildren(l,o);if(c.length===0)return;let b=So.V1.followRedirects(c);return{id:s,type:"apiPackage",children:c,title:l.displayName??iYi(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}});d!=null&&i.push(d)}),this.#i.add(n);let a=this.mergeEndpointPairs(i);return this.lexicographic&&a.sort((u,l)=>{let d=u.type==="endpointPair"?u.nonStream.title:u.title,s=l.type==="endpointPair"?l.nonStream.title:l.title;return d.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=YNa(a)?a.subpackageId:LFe,l=new Map,d=new Map,s=new Map;return a.endpoints.forEach(o=>{l.set(o.id,o)}),a.websockets.forEach(o=>{d.set(o.id,o)}),a.webhooks.forEach(o=>{s.set(o.id,o)}),t.forEach(o=>{Ky(o,"type")._visit({page:c=>{n.push(this.#a.with(c.urlSlug,b=>{let g=So.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=EJ.createEndpointId(b,u);n.push(this.convertEndpointNode(g,b,r)),this.#t.add(g)},websocketId:c=>{let b=d.get(c.value);if(b==null){console.error(`WebSocket ${c.value} not found in ${u}`);return}let g=EJ.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=EJ.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?So.V1.PageId(g):void 0,E=P!=null?this.noindexMap[P]:void 0,q=P!=null?this.fullSlugMap[P]:void 0;q!=null&&(m=this.parentSlug.set(q)),this.#a.with(c,M=>{let D=this.convertApiNavigationItems(b,m,c);n.push({id:M,type:"apiPackage",children:D,title:O.displayName??iYi(O.name),slug:m.get(),icon:void 0,hidden:void 0,overviewPageId:P,noindex:E,availability:void 0,apiDefinitionId:this.apiDefinitionId,pointsTo:So.V1.followRedirects(D),playground:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0})})},_other:Y5_.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} ${Mru(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 d=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[d]=s}),r}};function X5_(e){let t=/^---\s*([\s\S]*?)\s*---/.exec(e.trimStart());if(!(!t||t[1]==null))return t[1]}function hEc(e){if(/noindex:\s*true/.test(e))return!0;if(/noindex:\s*false/.test(e))return!1}var Aru=class e{title;config;fullSlugMap;noindexMap;apis;basePath;lexicographic;disableEndpointPairs;paginated;constructor(t,r,i,n,a,u,l,d,s){this.title=t,this.config=r,this.fullSlugMap=i,this.noindexMap=n,this.apis=a,this.basePath=u,this.lexicographic=l,this.disableEndpointPairs=d,this.paginated=s}static convert(t,r,i,n,a,u,l,d,s){return new e(t,r,i,n,a,u,l,d,s).convert()}#e=new mYi;convert(){return this.#e.with("root",t=>{let r=PYi.init(this.basePath??""),i=O5_(this.config,{versioned:u=>this.convertVersionedNavigationConfig(u,r),unversioned:u=>this.convertUnversionedNavigationConfig(u,r)}),n=So.V1.followRedirect(i);if(n!=null&&i.type==="versioned"){let u=i.children.find(l=>l.default);u!=null&&(n=So.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 So.V1.traverseDF(a,(u,l)=>{So.V1.hasMetadata(u)&&l.some(d=>So.V1.hasMetadata(d)&&d.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,d=>{let s=this.convertUnversionedNavigationConfig(a.config,l),o=So.V1.followRedirect(s);return{id:d,type:"version",title:a.version,default:u===0,versionId:So.V1.VersionId(a.version),slug:l.get(),icon:void 0,hidden:!1,child:s.child,availability:So.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=m5_(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 d=r.apply(u),s=this.#e.with(u.urlSlug,c=>({id:c,type:"sidebarRoot",children:this.groupSidebarRootChildren(u.items.map(b=>this.convertNavigationItem(b,d)))})),o=So.V1.followRedirect(s);return{id:l,type:"tab",title:u.title,slug:d.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:So.V1.Url(u.url),icon:u.icon}));if(u.type==="changelog"){let l=r.apply(u);return OYi.convert(u,this.fullSlugMap,this.noindexMap,l,this.#e)}else{if(u.type==="changelogV3")return u.node;U3(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=So.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 Ky(t,"type")._visit({page:i=>this.#e.with(i.urlSlug,n=>{let a=So.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(f4(i.title),n=>({id:n,type:"link",title:i.title,url:So.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=So.V1.followRedirects(u),d=i.overviewPageId!=null?So.V1.PageId(i.overviewPageId):void 0,s=d!=null?this.noindexMap[d]:void 0,o=d!=null?this.fullSlugMap[d]: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:d,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 tFa.convert(i,n,this.fullSlugMap,this.noindexMap,r,this.#e,this.lexicographic,this.disableEndpointPairs,this.paginated)},changelog:i=>OYi.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=>U3(i)})}};function Z5_(e){let t=e.match(/slug:\s*"?([^"\n\s]+)"?/);if(t!=null&&t[1]!=null)return So.V1.slugjoin(t[1])}function ouM(e,t=!1,r){let i={},n={};return Object.entries(e.definition.pages).forEach(([a,u])=>{let l=X5_(u.markdown);if(l==null)return;let d=hEc(l);d!=null&&(i[So.V1.PageId(a)]=d);let s=Z5_(l);s!=null&&(n[So.V1.PageId(a)]=s)}),e.definition.config.root?e.definition.config.root:e.definition.config.navigation?Aru.convert(e.definition.config.title,e.definition.config.navigation,n,i,suM(e.definition.apis,e.baseUrl.domain),e.baseUrl.basePath,uuM(e.baseUrl.domain),t,r):(console.error("No root node found"),{type:"root",version:"v1",child:{type:"unversioned",id:So.V1.NodeId("root-unversioned"),child:{type:"sidebarRoot",id:So.V1.NodeId("root-sidebar"),children:[]},landingPage:void 0},title:e.definition.config.title??"",slug:So.V1.Slug(""),icon:void 0,hidden:void 0,authed:void 0,viewers:void 0,orphaned:void 0,featureFlags:void 0,id:So.V1.NodeId("root"),pointsTo:void 0,roles:void 0})}function uuM(e){return e.toLowerCase().includes("aia.docs.buildwithfern.com")}function suM(e,t){return t.includes("assemblyai")?Sk(e,r=>cuM(r)):e}function cuM(e){let t=s4.SubpackageId("subpackage_realtime"),r=s4.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 yEc(e){return typeof e.title=="string"&&typeof e.slug=="string"}function onr(e){if(e!=null)return Ky(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:jYi(t.children),section:t=>t.overviewPageId!=null?t.slug:jYi(t.children),apiReference:t=>t.overviewPageId!=null?t.slug:jYi(t.children),product:t=>onr(t.child),productgroup:t=>onr(t.landingPage??t.children.filter(r=>!r.hidden)[0]),versioned:t=>onr(t.children.filter(r=>!r.hidden)[0]),unversioned:t=>onr(t.landingPage??t.child),tabbed:t=>jYi(t.children),sidebarRoot:t=>jYi(t.children),endpointPair:t=>onr(t.nonStream),root:t=>onr(t.child),version:t=>onr(t.child),tab:t=>onr(t.child),sidebarGroup:t=>jYi(t.children)})}function jYi(e){for(let t of e){if(yEc(t)&&t.hidden)continue;let r=onr(t);if(r!=null)return r}}var vEc=e=>e.pageId,qru=e=>e.overviewPageId,rFa=()=>{};function luM(e){return Ky(e)._visit({section:qru,apiReference:qru,changelog:qru,apiPackage:qru,changelogEntry:vEc,page:vEc,landingPage:vEc,endpoint:rFa,webSocket:rFa,webhook:rFa,changelogYear:rFa,changelogMonth:rFa})}function wYi(e){return e.type==="endpoint"||e.type==="webSocket"||e.type==="webhook"}function iFa(e){return e.type==="page"||e.type==="landingPage"||e.type==="changelogEntry"}function bEc(e){return wYi(e)||iFa(e)||e.type==="link"}function gEc(e){return e.type==="section"||e.type==="apiReference"||e.type==="changelog"||e.type==="apiPackage"}function nFa(e){return gEc(e)&&e.overviewPageId!=null}function OEc(e){return iFa(e)||nFa(e)}function fuM(e){return wYi(e)||e.type==="page"||e.type==="changelog"||e.type==="changelogEntry"||nFa(e)}function duM(e){return wYi(e)||e.type==="changelog"||OEc(e)}function puM(e){return typeof e.pointsTo=="string"}function _uM(...e){return ub(e.map(t=>t.trim())).replaceAll("//*","/").replace(/^\//,"").replace(/\/$/,"")}function huM(e,t,r){if(e!=null)return e.startsWith(r)?e.replace(new RegExp(`^${Hpi(r)}`),t).replace(/^\//,""):e}var k5_=ci(Oz(),1);function e9_(e){if(bEc(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 k5_.UnreachableCaseError(e)}}function yuM(e,t){return Dru(e,t,e9_)}var t9_=new WeakMap,BLn=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=t9_.get(t);if(r!=null)return r;let i=new e(t);return t9_.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),So.isNeighbor(r)&&(this.#t=r,this.#e!=null&&(this.#e.next=r),this.#e=n)}versionNodes=[];defaultVersion;productNodes=[];defaultProduct;constructor(t){t!=null&&So.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(kNa),a=JSON.parse(JSON.stringify(r));this.defaultVersion=Q5_(a,n?.slug??t.slug,r.slug),So.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),!So.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&&So.isPage(t)&&(n.node.hidden||!So.isPage(n.node))?(this.orphanedNodes.push(n.node),this.#r(t.slug,t,r)):this.orphanedNodes.push(t)}getOrphanedNodes(){return this.orphanedNodes}getOrphanedPages=pqi(()=>this.orphanedNodes.filter(So.isPage));getSlugMap=pqi(()=>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)??a1c}getSlugMapWithParents=()=>this.slugToNode;#n=pqi(()=>[...this.slugToNode.keys()]);get slugs(){return this.#n()}#i=pqi(()=>Array.from(new Set([...this.slugToNode.values()].filter(({node:t})=>So.isPage(t)).filter(({node:t})=>!t.authed).map(({node:t})=>t.slug))));get staticPageSlugs(){return this.#i()}#a=pqi(()=>Array.from(new Set([...this.slugToNode.values()].filter(({node:t})=>So.isPage(t)).filter(({node:t})=>!t.hidden&&!t.authed).filter(({node:t})=>So.hasMarkdown(t)?!t.noindex:!0).map(({node:t})=>t.canonicalSlug??t.slug))));get indexablePageSlugs(){return this.#a()}#o=pqi(()=>{let t={};return[...this.slugToNode.values()].filter(({node:r})=>So.isPage(r)).filter(({node:r})=>!r.hidden).filter(({node:r})=>So.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 PEc={};jo(PEc,{FernNavigationV1ToLatest:()=>aFa});var r9_=ci(Oz(),1);var aFa=class e{static create(){return new e}constructor(){}root=t=>({type:"root",child:Ky(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:So.NodeId(t.id),pointsTo:t.pointsTo?So.Slug(t.pointsTo):void 0,slug:So.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:So.NodeId(t.id),children:[]};let i=t.children.findIndex(d=>d.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(d=>this.version(d,[...r,t])),a,...t.children.slice(i+1).map(d=>this.version(d,[...r,t]))];return{type:"versioned",id:So.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:Ky(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:So.Slug(t.slug),canonicalSlug:void 0,icon:t.icon,hidden:t.hidden,authed:t.authed,id:So.NodeId(t.id),pointsTo:t.pointsTo?So.Slug(t.pointsTo):void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}};landingPage=(t,r)=>{let i=So.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:So.NodeId(t.id),pageId:So.PageId(t.pageId),noindex:t.noindex,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}};tabbed=(t,r)=>({type:"tabbed",id:So.NodeId(t.id),children:t.children.map(n=>Ky(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:So.Slug(t.slug),canonicalSlug:void 0,icon:t.icon,hidden:t.hidden,authed:t.authed,id:So.NodeId(t.id),pointsTo:t.pointsTo?So.Slug(t.pointsTo):void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags});link=(t,r)=>({type:"link",id:So.NodeId(t.id),title:t.title,url:t.url,icon:t.icon});unversioned=(t,r)=>({type:"unversioned",child:Ky(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:So.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:So.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:So.NodeId(t.id)}};product=(t,r)=>({type:"product",id:So.NodeId(t.id),title:t.title,slug:So.Slug(t.slug),canonicalSlug:void 0,icon:t.icon,image:t.image,hidden:t.hidden,authed:t.authed,pointsTo:t.pointsTo?So.Slug(t.pointsTo):void 0,default:t.default,productId:So.ProductId(t.productId),child:Ky(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:So.NodeId(t.id),children:t.children.map(n=>Ky(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:So.NodeId(t.id),children:t.children.map(n=>this.#e(n,[...r,t]))});page=(t,r)=>{let i=So.Slug(t.slug),n=this.#i([t.pageId,this.#a(t,r)],i);return{type:"page",id:So.NodeId(t.id),title:t.title,slug:i,canonicalSlug:n,icon:t.icon,hidden:t.hidden,authed:t.authed,pageId:So.PageId(t.pageId),noindex:t.noindex,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}};section=(t,r)=>{let i=So.Slug(t.slug),n=t.overviewPageId?So.PageId(t.overviewPageId):void 0,a=n!=null?this.#i([n,this.#a(t,r)],i):void 0;return{type:"section",id:So.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?So.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=So.Slug(t.slug),n=t.overviewPageId?So.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:So.NodeId(t.id),overviewPageId:n,noindex:t.noindex,apiDefinitionId:t.apiDefinitionId,availability:this.#r(t.availability),pointsTo:t.pointsTo?So.Slug(t.pointsTo):void 0,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}};changelog=(t,r)=>{let i=So.Slug(t.slug),n=t.overviewPageId?So.PageId(t.overviewPageId):void 0,a=n!=null?this.#i(n,i):void 0;return{type:"changelog",id:So.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:So.NodeId(t.id),children:t.children.map(n=>this.changelogMonth(n,[...r,t])),title:t.title,slug:So.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:So.NodeId(t.id),children:t.children.map(n=>this.changelogEntry(n,[...r,t])),title:t.title,slug:So.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=So.Slug(t.slug),n=this.#i(t.pageId,i);return{type:"changelogEntry",id:So.NodeId(t.id),title:t.title,slug:i,canonicalSlug:n,icon:t.icon,hidden:t.hidden,authed:t.authed,date:t.date,pageId:So.PageId(t.pageId),noindex:t.noindex,viewers:t.viewers,orphaned:t.orphaned,featureFlags:t.featureFlags}};apiPackage=(t,r)=>{let i=So.Slug(t.slug),n=t.overviewPageId?So.PageId(t.overviewPageId):void 0,a=n!=null?this.#i([n,this.#a(t,r)],i):void 0;return{type:"apiPackage",id:So.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?So.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=So.Slug(t.slug),a=this.#i([`${i}:api:endpoint:${t.method}:${t.endpointId}`,this.#a(t,r)],n);return{type:"endpoint",id:So.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:So.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=So.Slug(t.slug),a=this.#i([`${i}:api:websocket:${t.webSocketId}`,this.#a(t,r)],n);return{type:"webSocket",id:So.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=So.Slug(t.slug),a=this.#i([`${i}:api:webhook:${t.method}:${t.webhookId}`,this.#a(t,r)],n);return{type:"webhook",id:So.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)=>Ky(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)=>Ky(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 So.Availability.Beta;case"deprecated":return So.Availability.Deprecated;case"generally-available":return So.Availability.GenerallyAvailable;case"in-development":return So.Availability.InDevelopment;case"pre-release":return So.Availability.PreRelease;case"stable":return So.Availability.Stable;default:throw new r9_.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.#c(r).filter(So.V1.hasMetadata).map(a=>a.title),t.title].join("###");#o=t=>[...this.#c(t).filter(n=>n.type==="apiReference").map(n=>n.title.replaceAll(" ",""))].join(":");#c=t=>{let r=t.findIndex(n=>n.type==="version");return r>=0?t.slice(r+1):t}};var SEc={};jo(SEc,{collectApiReferences:()=>vuM,collectPageIds:()=>buM,createBreadcrumb:()=>jEc,findNode:()=>guM,getApiReferenceId:()=>OuM,getNoIndexFromFrontmatter:()=>hEc,mutableUpdatePointsTo:()=>sFa,toApis:()=>muM,toPages:()=>PuM,toRootNode:()=>wuM,toUnversionedSlug:()=>SuM});function vuM(e){let t=[];return So.traverseDF(e,r=>r.type==="apiReference"?(t.push(r),"skip"):!0),t}function buM(e){let t=new Set;return So.traverseDF(e,r=>{if(So.isPage(r)){let i=oEc(r);i!=null&&t.add(i)}}),t}var oFa=ci(Oz(),1);function jEc(e){let t=[];return e.forEach(r=>{!So.hasMetadata(r)||So.isLeaf(r)||Ky(r)._visit({root:oFa.noop,version:oFa.noop,tab:oFa.noop,product:oFa.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 guM(e,t){let r=BLn.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(Pru),a=i.parents.find(lEc),u=i.parents.find(kNa),l=i.parents.find(cEc),d=i.parents.find(sEc),s=(l??d)?.child;!n&&l!=null&&Pru(l.child)&&(n=l.child);let o=(a??l??d)?.landingPage,c=i.parents.find(jru)??(s!=null&&jru(s)?s:void 0),b=i.parents.find(uEc)??(i.node.type==="apiReference"?i.node:void 0);if(So.isPage(i.node)){let g=[...i.parents,i.node],O=g.findIndex(C=>C===c),m=O!==-1?g[O+1]:void 0,P=r.getProductNodes().map(C=>C.default?C.id===u?.id?u:r.defaultProductNode??C:C),E=r.getVersionNodes().map(C=>C.default?C.id===l?.id?l:r.defaultVersionNode??C:C),q=m?.type==="tab"||m?.type==="changelog"?m:void 0,M=u?.slug??l?.slug??e.slug,D=So.Slug(i.node.slug.replace(new RegExp(`^${Hpi(M)}/`),""));return{type:"found",node:i.node,breadcrumb:jEc(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:q,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}:So.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 yL=()=>{},uFa=e=>e.apiDefinitionId;function OuM(e){if(e!=null)return Ky(e)._visit({root:yL,versioned:yL,tabbed:yL,sidebarRoot:yL,sidebarGroup:yL,version:yL,tab:yL,link:yL,page:yL,section:yL,changelog:yL,changelogYear:yL,changelogMonth:yL,changelogEntry:yL,product:yL,productgroup:yL,apiReference:uFa,endpoint:uFa,endpointPair:t=>t.nonStream.apiDefinitionId,webSocket:uFa,webhook:uFa,apiPackage:uFa,unversioned:yL,landingPage:yL})}function muM(e){return{...Sk(e.definition.apis,t=>dqi.ApiDefinitionV1ToLatest.from(t,{useJavaScriptAsTypeScript:!1,alwaysEnableJavaScriptFetch:!1,usesApplicationJsonInFormDataValue:!1}).migrate()),...e.definition.apisV2}}function PuM(e){return Sk(e.definition.pages,t=>t.markdown)}var a9_=ci(Oz(),1);function wEc(e){if(e!=null){if(So.isPage(e)&&!e.authed)return e.slug;if(!So.isLeaf(e))switch(e.type){case"productgroup":case"versioned":return i9_([...e.children].sort(juM));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 i9_(So.getChildren(e));default:throw new a9_.UnreachableCaseError(e)}}}function i9_(e){for(let t of e){if(So.hasMetadata(t)&&t.hidden)continue;let r=wEc(t);if(r!=null)return r}}function n9_(e){return e.default&&!e.hidden?1:e.hidden?-1:0}function juM(e,t){return n9_(t)-n9_(e)}function sFa(e){So.traverseDF(e,t=>{if(So.hasPointsTo(t)){let r=wEc(t);t.pointsTo=t.slug===r?void 0:r}})}function wuM(e,t=!1,r){let i=So.V1.toRootNode(e,t,r),n=aFa.create().root(i);return sFa(n),n}function SuM(e,t){return e.replace(new RegExp(`^${Hpi(t)}(/|$)`),"")}var o9_=typeof self=="object"?self:globalThis,AuM=(e,t)=>{let r=(n,a)=>(e.set(a,n),n),i=n=>{if(e.has(n))return e.get(n);let[a,u]=t[n];switch(a){case 0:case-1:return r(u,n);case 1:{let l=r([],n);for(let d of u)l.push(i(d));return l}case 2:{let l=r({},n);for(let[d,s]of u)l[i(d)]=i(s);return l}case 3:return r(new Date(u),n);case 4:{let{source:l,flags:d}=u;return r(new RegExp(l,d),n)}case 5:{let l=r(new Map,n);for(let[d,s]of u)l.set(i(d),i(s));return l}case 6:{let l=r(new Set,n);for(let d of u)l.add(i(d));return l}case 7:{let{name:l,message:d}=u;return r(new o9_[l](d),n)}case 8:return r(BigInt(u),n);case"BigInt":return r(Object(BigInt(u)),n);case"ArrayBuffer":return r(new Uint8Array(u).buffer,u);case"DataView":{let{buffer:l}=new Uint8Array(u);return r(new DataView(l),u)}}return r(new o9_[a](u),n)};return i},MEc=e=>AuM(new Map,e)(0);var ILn="",{toString:quM}={},{keys:TuM}=Object,cFa=e=>{let t=typeof e;if(t!=="object"||!e)return[0,t];let r=quM.call(e).slice(8,-1);switch(r){case"Array":return[1,ILn];case"Object":return[2,ILn];case"Date":return[3,ILn];case"RegExp":return[4,ILn];case"Map":return[5,ILn];case"Set":return[6,ILn];case"DataView":return[1,r]}return r.includes("Array")?[1,r]:r.includes("Error")?[7,r]:[2,r]},Cru=([e,t])=>e===0&&(t==="function"||t==="symbol"),CuM=(e,t,r,i)=>{let n=(u,l)=>{let d=i.push(u)-1;return r.set(l,d),d},a=u=>{if(r.has(u))return r.get(u);let[l,d]=cFa(u);switch(l){case 0:{let o=u;switch(d){case"bigint":l=8,o=u.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+d);o=null;break;case"undefined":return n([-1],u)}return n([l,o],u)}case 1:{if(d){let b=u;return d==="DataView"?b=new Uint8Array(u.buffer):d==="ArrayBuffer"&&(b=new Uint8Array(u)),n([d,[...b]],u)}let o=[],c=n([l,o],u);for(let b of u)o.push(a(b));return c}case 2:{if(d)switch(d){case"BigInt":return n([d,u.toString()],u);case"Boolean":case"Number":case"String":return n([d,u.valueOf()],u)}if(t&&"toJSON"in u)return a(u.toJSON());let o=[],c=n([l,o],u);for(let b of TuM(u))(e||!Cru(cFa(u[b])))&&o.push([a(b),a(u[b])]);return c}case 3:return n([l,u.toISOString()],u);case 4:{let{source:o,flags:c}=u;return n([l,{source:o,flags:c}],u)}case 5:{let o=[],c=n([l,o],u);for(let[b,g]of u)(e||!(Cru(cFa(b))||Cru(cFa(g))))&&o.push([a(b),a(g)]);return c}case 6:{let o=[],c=n([l,o],u);for(let b of u)(e||!Cru(cFa(b)))&&o.push(a(b));return c}}let{message:s}=u;return n([l,{name:d,message:s}],u)};return a},AEc=(e,{json:t,lossy:r}={})=>{let i=[];return CuM(!(t||r),!!t,new Map,i)(e),i};var f9_=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?MEc(AEc(e,t)):structuredClone(e):(e,t)=>MEc(AEc(e,t));function d9_(e,t){let{predicate:r,getChildren:i,deleter:n,getPointer:a=d=>d}=t,u=new Set,l=[];return Sru(e,(d,s)=>{l.unshift([d,s])},i),l.forEach(([d,s])=>{let o=[...s,d],c=o.findIndex(P=>u.has(a(P)));if(c!==-1){o.slice(c).forEach(P=>u.add(a(P)));return}if(r(d,s))return;let b=[...s],g=b.pop(),O=n(g,d),m=d;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 qEc=ci(Oz(),1);function p9_(e,t){if(!So.isLeaf(t)&&So.isPage(t)&&So.getChildren(t).length>0&&t.type!=="changelog"){if(So.isSectionOverview(t))return t.overviewPageId=void 0,t.children.length===0?"deleted":"noop";throw new qEc.UnreachableCaseError(t)}if(!So.isLeaf(t)&&So.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 qEc.UnreachableCaseError(e)}return So.isPage(e)?"noop":So.getChildren(e).length>0?"deleted":"should-delete-parent"}var TEc=class e{static from(t){return new e(t)}tree;constructor(t){this.tree=f9_(t)}keep(t){if(this.tree==null)return this;let[r]=d9_(this.tree,{predicate:t,getChildren:So.getChildren,getPointer:i=>i.id,deleter:p9_});return this.tree=r,this}remove(t){return this.keep((r,i)=>!t(r,i))}hide(t){return this.tree==null?this:(So.traverseBF(this.tree,(r,i)=>{So.hasMetadata(r)&&(r.hidden=t(r,i))}),this)}authed(t){if(this.tree==null)return this;let r=new Set;So.traverseBF(this.tree,(i,n)=>{if(So.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)So.hasMetadata(i)&&!So.isPage(i)&&(i.authed=void 0);return this}get(){if(this.tree!=null)return sFa(this.tree),this.tree}};function b1c(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 Wi9=ci(sU_(),1);function loe({relativeFilepath:e,casingsGenerator:t}){let r=zxe(e),i=uWi(e,{stripExtension:!0}),n=r==="."?[]:r.split(bVt).map(l=>t.generateName(l)),a=i!==UVi?t.generateName(i):void 0,u=[];return u.push(...n),a!=null&&u.push(a),{allParts:u,packagePath:n,file:a}}function _qi({referencedIn:e,importPath:t}){return WN(zxe(e),t)}function UMe({reference:e,referencedIn:t,imports:r}){let[i,n,...a]=e.split(".");if(i==null||a.length>0)return;if(n==null)return{typeName:i,relativeFilepath:t};let l=r[i];if(l!=null)return{relativeFilepath:_qi({referencedIn:t,importPath:l}),typeName:n}}function vL({typeName:e,file:t}){let r=UMe({reference:e,referencedIn:t.relativeFilepath,imports:t.imports});if(r==null)throw new Error("Failed to locate type: "+e);let i={name:t.casingsGenerator.generateName(r.typeName),fernFilepath:loe({relativeFilepath:r.relativeFilepath,casingsGenerator:t.casingsGenerator}),displayName:void 0};return{...i,typeId:Pm.generateTypeId(i)}}function _Fa(e){if(e!=null)return e=e.replace(/\*\//g,"* /"),e.endsWith(`
2008
2008
  `)||e.endsWith("\r")?e.substring(0,e.length-1):e}var RcM={docs:void 0,availability:void 0};function MJ(e){return typeof e=="string"?RcM:{docs:_Fa(e.docs),availability:foe(e.availability)}}function foe(e){if(e!=null)return{status:NcM(typeof e=="string"?e:e.status),message:typeof e!="string"?e.message:void 0}}function cU_(e){return typeof e=="string"?[]:e.audiences??[]}function NcM(e){switch(e){case"in-development":return B9.InDevelopment;case"pre-release":return B9.PreRelease;case"deprecated":return B9.Deprecated;case"generally-available":return B9.GeneralAvailability;default:mo(e)}}function lU_({object:e,file:t}){return lO.object({extends:NHt(e.extends).map(r=>vL({typeName:r,file:t})),properties:hFa(e,t),extraProperties:e["extra-properties"]??!1,extendedProperties:void 0})}function hFa(e,t){return e.properties==null?[]:Object.entries(e.properties).map(([r,i])=>({...MJ(i),name:t.casingsGenerator.generateNameAndWireValue({wireValue:r,name:bL({propertyKey:r,property:i}).name}),valueType:t.parseTypeReference(i),propertyAccess:nMc({property:i}),v2Examples:{userSpecifiedExamples:{},autogeneratedExamples:{}}}))}function NHt(e){return e==null?[]:typeof e=="string"?[e]:e}function bL({propertyKey:e,property:t}){return typeof t!="string"&&t.name!=null?{name:t.name,wasExplicitlySet:!0}:{name:e,wasExplicitlySet:!1}}function nMc({property:e}){if(typeof e=="string")return;let t=e.access;if(t!=null)switch(t){case"read-only":return Rkt.ReadOnly;case"write-only":return Rkt.WriteOnly;default:mo(t)}}function dU_({request:e,file:t}){let r=e!=null?TDa(e):void 0;if(r!=null)return ZC.bytes({isOptional:r.isOptional,contentType:typeof e=="string"?void 0:e?.["content-type"],docs:typeof e=="string"?void 0:e?.docs,v2Examples:void 0});if(typeof e=="string")return ZC.reference($ru({requestBody:e,file:t}));if(e?.body==null)return;let i=THi(e);if(i!=null)return ZC.fileUpload({contentType:e["content-type"],name:t.casingsGenerator.generateName(i.name),properties:i.properties.map(n=>n.isFile?n.isArray?z9.file(Qne.fileArray({key:t.casingsGenerator.generateNameAndWireValue({wireValue:n.key,name:n.key}),isOptional:n.isOptional,contentType:n.contentType,docs:n.docs})):z9.file(Qne.file({key:t.casingsGenerator.generateNameAndWireValue({wireValue:n.key,name:n.key}),isOptional:n.isOptional,contentType:n.contentType,docs:n.docs})):z9.bodyProperty({...fU_({propertyKey:n.key,propertyDefinition:n.propertyType,docs:n.docs,availability:foe(n.availability),file:t}),style:n.style,contentType:n.contentType})),docs:e.docs,v2Examples:void 0});if(XC(e.body)){if(e.name==null)throw new Error("Name is missing for inlined request");return ZC.inlinedRequestBody({name:t.casingsGenerator.generateName(e.name),extends:NHt(e.body.extends).map(n=>vL({typeName:n,file:t})),contentType:e["content-type"],docs:e.docs,properties:e.body.properties!=null?Object.entries(e.body.properties).map(([n,a])=>fU_({propertyKey:n,propertyDefinition:a,docs:typeof a!="string"?a.docs:void 0,availability:typeof a!="string"?foe(a.availability):void 0,file:t})):[],extraProperties:e.body["extra-properties"]??!1,extendedProperties:void 0,v2Examples:void 0})}return ZC.reference($ru({requestBody:e.body,file:t,contentType:e["content-type"]}))}function $ru({requestBody:e,file:t,contentType:r}){return{docs:typeof e!="string"?e.docs:void 0,requestBodyType:t.parseTypeReference(e),contentType:r,v2Examples:void 0}}function fU_({propertyKey:e,propertyDefinition:t,docs:r,availability:i,file:n}){return{docs:r,availability:i,name:n.casingsGenerator.generateNameAndWireValue({wireValue:e,name:bL({propertyKey:e,property:t}).name}),valueType:n.parseTypeReference(t),v2Examples:{userSpecifiedExamples:{},autogeneratedExamples:{}}}}function yFa({typeResolver:e,file:t,resolvedType:r,property:i}){switch(r._type){case"container":if(r.container._type==="optional")return yFa({typeResolver:e,file:t,resolvedType:r.container.itemType,property:i});break;case"named":if(NS(r.declaration))return aMc({typeResolver:e,file:r.file,objectSchema:r.declaration,property:i});break;case"primitive":case"unknown":break;default:mo(r)}throw new Error("Internal error; response must be an object in order to return a property as a response")}function aMc({typeResolver:e,file:t,objectSchema:r,property:i}){let a=pU_(r,t,e)[i];if(a==null)throw new Error(`Object does not have a property named ${i}.`);return a}function pU_(e,t,r){let i=[];typeof e.extends=="string"?i=[e.extends]:Array.isArray(e.extends)&&(i=e.extends);let n={};for(let u of i){let l=FcM(u,t,r);Object.entries(l).map(([d,s])=>{n[d]=s})}return hFa(e,t).forEach(u=>{n[u.name.name.originalName]=u}),n}function FcM(e,t,r){let i=r.resolveNamedTypeOrThrow({referenceToNamedType:e,file:t});if(i._type==="named"&&NS(i.declaration))return pU_(i.declaration,t,r);throw new Error(`Extended type ${e} must be another named type`)}function oMc({typeResolver:e,file:t,resolvedType:r,propertyComponents:i}){if(i.length===0)return;if(i.length===1)return yFa({typeResolver:e,file:t,resolvedType:r,property:i[0]??""});let n=hU_(r);if(n!=null)return uMc({typeResolver:e,file:t,objectSchema:n,propertyComponents:i})}function uMc({typeResolver:e,file:t,objectSchema:r,propertyComponents:i}){if(i.length===0)return;if(i.length===1)return aMc({typeResolver:e,file:t,objectSchema:r,property:i[0]??""});let n=LcM({typeResolver:e,file:t,objectSchema:r,property:i[0]??""}),a=e.resolveTypeOrThrow({type:n,file:t});return oMc({typeResolver:e,file:vFa(a)??t,resolvedType:a,propertyComponents:i.slice(1)})}function LcM({typeResolver:e,file:t,objectSchema:r,property:i}){let a=_U_({typeResolver:e,file:t,objectSchema:r})[i];if(a==null)throw new Error(`Response does not have a property named ${i}.`);return a}function _U_({typeResolver:e,file:t,objectSchema:r}){let i=[];typeof r.extends=="string"?i=[r.extends]:Array.isArray(r.extends)&&(i=r.extends);let n={};for(let a of i){let u=UcM({typeResolver:e,file:t,extendedType:a});Object.entries(u).map(([l,d])=>{n[l]=d})}return r.properties!=null&&Object.entries(r.properties).map(([a,u])=>{n[a]=typeof u=="string"?u:u.type}),n}function UcM({typeResolver:e,file:t,extendedType:r}){let i=e.resolveNamedTypeOrThrow({referenceToNamedType:r,file:t});if(i._type==="named"&&NS(i.declaration))return _U_({typeResolver:e,file:vFa(i)??t,objectSchema:i.declaration});throw new Error(`Extended type ${r} must be another named type.`)}function vFa(e){if(e!=null){if(e._type==="named")return e.file;if(e._type==="container"&&e.container._type==="optional")return vFa(e.container.itemType)}}function hU_(e){if(e!=null){if(e._type==="named"&&NS(e.declaration))return e.declaration;if(e._type==="container"&&e.container._type==="optional")return hU_(e.container.itemType)}}function FHt(e){return e.substring(9)?.split(".")??[]}function unr(e){return e.substring(10)?.split(".")??[]}var Gru="request",bFa="body";function vU_({request:e,endpointKey:t,endpoint:r,service:i,file:n,typeResolver:a,propertyResolver:u}){let l=VcM({request:e,service:i,file:n,typeResolver:a});if(l!=null)return{shape:l,requestParameterName:n.casingsGenerator.generateName(Gru),streamParameter:r["stream-condition"]!=null?u.resolveRequestPropertyOrThrow({file:n,endpoint:t,propertyComponents:FHt(r["stream-condition"])}):void 0}}function VcM({service:e,request:t,file:r,typeResolver:i}){let n=()=>{if(typeof t=="string"||t?.name==null)throw new Error("Name is missing for request wrapper");return vRe.wrapper({wrapperName:r.casingsGenerator.generateName(t.name),bodyKey:r.casingsGenerator.generateName(bFa),includePathParameters:HcM(t),onlyPathParameters:WcM({request:t,file:r,typeResolver:i})})};if(!sMc({headers:e.headers??{},file:r,typeResolver:i}))return n();if(t==null)return;if(typeof t=="string")return vRe.justRequestBody(yU_({requestBody:t,file:r}));let{body:a}=t;if(Qru({request:t,file:r,typeResolver:i})||a!=null&&XC(a))return n();if(a!=null)return vRe.justRequestBody(yU_({requestBody:a,file:r}))}function yU_({requestBody:e,file:t,contentType:r}){let i=typeof e=="string"?Hkt(e):Hkt(e.type);return i!=null?$Vt.bytes({isOptional:i.isOptional,contentType:r,docs:void 0,v2Examples:void 0}):$Vt.typeReference($ru({requestBody:e,file:t,contentType:r}))}function Qru({request:e,file:t,typeResolver:r}){let{headers:i={},"path-parameters":n={},"query-parameters":a={}}=e;return!sMc({headers:i,file:t,typeResolver:r})||fZ(n)>0||fZ(a)>0}function WcM({request:e,file:t,typeResolver:r}){let{headers:i={},"path-parameters":n={},"query-parameters":a={}}=e;return fZ(n)>0&&sMc({headers:i,file:t,typeResolver:r})&&fZ(a)===0&&e.body==null}function HcM(e){return typeof e!="string"&&e?.["path-parameters"]!=null}function sMc({headers:e,file:t,typeResolver:r}){return Object.values(e).filter(i=>{let n=typeof i=="string"?i:i.type,a=r.resolveTypeOrThrow({type:n,file:t});return!(a._type==="container"&&a.container._type==="literal")}).length===0}function LHt(e){return typeof e.request!="string"&&e.request?.["path-parameters"]?e.request?.["path-parameters"]:e["path-parameters"]!=null?e["path-parameters"]:{}}function bU_({codeSample:e,file:t}){return PWs(e,{language:r=>QEe.language({name:r.name!=null?t.casingsGenerator.generateName(r.name):void 0,docs:r.docs,language:r.language,code:r.code,install:r.install}),sdk:r=>QEe.sdk({name:r.name!=null?t.casingsGenerator.generateName(r.name):void 0,docs:r.docs,sdk:$cM(r.sdk),code:r.code})})}function $cM(e){switch(e){case"js":return"javascript";case"node":return"javascript";case"ts":return"typescript";case"nodets":return"typescript";case"golang":return"go";case"dotnet":return"csharp";case"c#":return"csharp";case"jvm":return"java";default:return e}}function hqi({errorName:e,file:t}){let r=UMe({reference:e,referencedIn:t.relativeFilepath,imports:t.imports});if(r==null)throw new Error("Failed to locate error "+e);let i={name:t.casingsGenerator.generateName(r.typeName),fernFilepath:loe({relativeFilepath:r.relativeFilepath,casingsGenerator:t.casingsGenerator})};return{...i,errorId:Pm.generateErrorId(i)}}function UFe(e,t){return[{message:`Expected example to be ${t}. Example is: ${JSON.stringify(e)}`}]}function gU_({rawAlias:e,example:t,file:r,typeResolver:i,exampleResolver:n,workspace:a,breadcrumbs:u,depth:l}){return gL({rawTypeReference:typeof e=="string"?e:e.type,example:t,file:r,typeResolver:i,exampleResolver:n,workspace:a,breadcrumbs:u,depth:l+1})}function OU_({rawEnum:e,example:t,breadcrumbs:r}){let i=e.enum.map(a=>typeof a=="string"?a:a.value),n=i.map(a=>` - ${a}`).join(`
2009
2009
  `);return typeof t!="string"?UFe(t,"a string"):i.includes(t)?[]:[{message:`"${t}" is not a valid example for this enum. Enum values are:
2010
- `+n}]}function gFa({type:e,file:t,_default:r,validation:i}){return G2({type:e,_default:r,validation:i,visitor:{primitive:gf.primitive,unknown:gf.unknown,map:({keyType:n,valueType:a})=>gf.container(_b.map({keyType:n,valueType:a})),list:n=>gf.container(_b.list(n)),set:n=>gf.container(_b.set(n)),optional:n=>gf.container(_b.optional(n)),nullable:n=>gf.container(_b.nullable(n)),literal:n=>gf.container(_b.literal(n)),named:n=>gf.named({...vL({typeName:n,file:t}),default:void 0,inline:void 0})}})}function Jpi({casingsGenerator:e,rootApiFile:t}){return S0({relativeFilepath:yy.of("."),definitionFile:{imports:t.imports},casingsGenerator:e,rootApiFile:t})}function S0({defaultUrl:e,relativeFilepath:t,definitionFile:r,casingsGenerator:i,rootApiFile:n}){let a={defaultUrl:e,relativeFilepath:t,fernFilepath:loe({relativeFilepath:t,casingsGenerator:i}),imports:dd(r.imports??{},yy.of),definitionFile:r,parseTypeReference:u=>typeof u=="string"?gFa({type:u,_default:void 0,validation:void 0,file:a}):gFa({type:u.type,_default:u.default,validation:u.validation,file:a}),casingsGenerator:i,rootApiFile:n};return a}var yqi=RMe({generationLanguage:void 0,keywords:void 0,smartCasing:!1});function UHt({typeName:e,objectDeclaration:t,filepathOfDeclaration:r,definitionFile:i,workspace:n,typeResolver:a,smartCasing:u,path:l=[],seen:d={}}){let s=[];if(e!=null){let b=d[r]??=new Set;if(b.has(e))return s;b.add(e)}let o=yqi;u&&(o=RMe({generationLanguage:void 0,keywords:void 0,smartCasing:u}));let c=S0({relativeFilepath:r,definitionFile:i,casingsGenerator:o,rootApiFile:n.definition.rootApiFile.contents});if(t.properties!=null)for(let[b,g]of Object.entries(t.properties)){let O=typeof g=="string"?g:g.type,m=a.resolveType({type:O,file:c});m!=null&&s.push({wireKey:b,name:bL({propertyKey:b,property:g}).name,filepathOfDeclaration:r,path:l,propertyType:O,resolvedPropertyType:m,isOptional:m._type==="container"&&m.container._type==="optional"})}if(t.extends!=null){let b=typeof t.extends=="string"?[t.extends]:t.extends;for(let g of b){let O=a.resolveNamedType({referenceToNamedType:g,file:c});if(O?._type==="named"&&NS(O.declaration)){let m=eoe(n,O.filepath);m!=null&&s.push(...UHt({typeName:O.rawName,objectDeclaration:O.declaration,filepathOfDeclaration:O.filepath,definitionFile:m,workspace:n,typeResolver:a,smartCasing:u,path:[...l,{reference:g,followedVia:"extension"},...O.objectPath.map(P=>({reference:P.reference,followedVia:"alias"}))],seen:d}))}}}return s}function RLn({property:e,prefixBreadcrumbs:t=[]}){return[...t,...GcM(e.path),e.wireKey].join(" -> ")}function GcM(e){return e.map(QcM)}function QcM(e){return[JcM(e),e.reference].join(" ")}function JcM(e){switch(e.followedVia){case"alias":return"(alias of)";case"extension":return"(extends)"}}function SYi({typeName:e,typeNameForBreadcrumb:t,rawObject:r,file:i,typeResolver:n,exampleResolver:a,workspace:u,example:l,breadcrumbs:d,depth:s}){if(!Jj(l))return UFe(l,"an object");let o=[],c=UHt({typeName:e,objectDeclaration:r,typeResolver:n,definitionFile:i.definitionFile,workspace:u,filepathOfDeclaration:i.relativeFilepath,smartCasing:!1}),b=v3s(c,O=>O.wireKey),g=c.filter(O=>!O.isOptional&&O.resolvedPropertyType._type!=="unknown");for(let O of g)if(!(O.resolvedPropertyType._type==="container"&&O.resolvedPropertyType.container._type==="literal")&&l[O.wireKey]==null){let P=`Example is missing required property "${d.length>0?`${d.join(".")}.${O.wireKey}`:O.wireKey}"`;o.push({message:P})}for(let[O,m]of Object.entries(l)){let P=b[O];if(!r["extra-properties"])if(P==null)o.push({message:`Unexpected property "${O}"`});else{let E=eoe(u,P.filepathOfDeclaration);if(E==null)throw new Error("Service file does not exist for property: "+P.wireKey);o.push(...gL({rawTypeReference:P.propertyType,example:m,file:S0({relativeFilepath:P.filepathOfDeclaration,definitionFile:E,casingsGenerator:i.casingsGenerator,rootApiFile:u.definition.rootApiFile.contents}),workspace:u,typeResolver:n,exampleResolver:a,breadcrumbs:[...d,`${O}`],depth:s+1}))}}return o}function mU_({rawUnion:e,example:t,typeResolver:r,exampleResolver:i,file:n,workspace:a,breadcrumbs:u,depth:l}){let d=[];for(let s of e.union){let o=gL({rawTypeReference:typeof s=="string"?s:s.type,example:t,typeResolver:r,exampleResolver:i,file:n,workspace:a,breadcrumbs:u,depth:l+1});if(o.length===0)return[];d.length===0&&d.push(...o)}return d}function PU_(e){if(typeof e=="string"||e.availability==null)return;let t=typeof e.availability=="string"?{status:e.availability}:e.availability;return foe(e.availability)}function jU_(e){if(typeof e!="string")return e["display-name"]}function cMc(e){if(typeof e!="string")return e.docs}var wU_="value";function SU_({union:e,file:t,typeResolver:r}){let i=DYi(e);return lO.union({discriminant:t.casingsGenerator.generateNameAndWireValue({wireValue:i,name:vqi(e).name}),extends:NHt(e.extends).map(n=>vL({typeName:n,file:t})),baseProperties:e["base-properties"]!=null?Object.entries(e["base-properties"]).map(([n,a])=>({...MJ(a),name:t.casingsGenerator.generateNameAndWireValue({wireValue:n,name:bL({propertyKey:n,property:a}).name}),valueType:t.parseTypeReference(a),propertyAccess:nMc({property:a}),v2Examples:{userSpecifiedExamples:{},autogeneratedExamples:{}}})):[],types:Object.entries(e.union).map(([n,a])=>{let u=typeof a=="string"?a:typeof a.type=="string"?a.type:void 0,l=t.casingsGenerator.generateNameAndWireValue({wireValue:n,name:NLn({unionKey:n,rawSingleUnionType:a}).name}),d=cMc(a);if(u==null)return{discriminantValue:l,docs:d,shape:xQ.noProperties(),displayName:void 0,availability:void 0};let s=t.parseTypeReference(u);return{discriminantValue:l,shape:lMc({rawSingleUnionType:a,rawValueType:u,parsedValueType:s,file:t,typeResolver:r}),docs:cMc(a),displayName:jU_(a),availability:PU_(a)}})})}function DYi(e){return e.discriminant==null?"type":typeof e.discriminant=="string"?e.discriminant:e.discriminant.value}function vqi(e){return e.discriminant!=null&&typeof e.discriminant!="string"&&e.discriminant.name!=null?{name:e.discriminant.name,wasExplicitlySet:!0}:{name:DYi(e),wasExplicitlySet:!1}}function NLn({unionKey:e,rawSingleUnionType:t}){return typeof t!="string"&&t.name!=null?{name:t.name,wasExplicitlySet:!0}:{name:e,wasExplicitlySet:!1}}function lMc({rawSingleUnionType:e,rawValueType:t,parsedValueType:r,file:i,typeResolver:n}){let a=typeof e!="string"?e.key:void 0,u=n.resolveTypeOrThrow({type:t,file:i});return u._type==="named"&&NS(u.declaration)&&a==null?xQ.samePropertiesAsObject(u.name):xQ.singleProperty({name:i.casingsGenerator.generateNameAndWireValue({wireValue:YcM(a),name:KcM(a)}),type:r})}function KcM(e){return e!=null?typeof e=="string"?e:e.name??e.value:wU_}function YcM(e){return e!=null?typeof e=="string"?e:e.value:wU_}function EU_({typeName:e,rawUnion:t,example:r,typeResolver:i,exampleResolver:n,file:a,workspace:u,breadcrumbs:l,depth:d}){if(!Jj(r))return UFe(r,"an object");let s=DYi(t),{[s]:o,...c}=r;if(o==null)return[{message:`Missing discriminant property ("${s}")`}];if(typeof o!="string")return UFe(o,"a string");let b=t.union[o];if(b==null)return[{message:`Invalid discriminant property: "${o}". Allowed discriminant values:
2010
+ `+n}]}function gFa({type:e,file:t,_default:r,validation:i}){return G2({type:e,_default:r,validation:i,visitor:{primitive:gf.primitive,unknown:gf.unknown,map:({keyType:n,valueType:a})=>gf.container(_b.map({keyType:n,valueType:a})),list:n=>gf.container(_b.list(n)),set:n=>gf.container(_b.set(n)),optional:n=>gf.container(_b.optional(n)),nullable:n=>gf.container(_b.nullable(n)),literal:n=>gf.container(_b.literal(n)),named:n=>gf.named({...vL({typeName:n,file:t}),default:void 0,inline:void 0})}})}function Jpi({casingsGenerator:e,rootApiFile:t}){return S0({relativeFilepath:yy.of("."),definitionFile:{imports:t.imports},casingsGenerator:e,rootApiFile:t})}function S0({defaultUrl:e,relativeFilepath:t,definitionFile:r,casingsGenerator:i,rootApiFile:n}){let a={defaultUrl:e,relativeFilepath:t,fernFilepath:loe({relativeFilepath:t,casingsGenerator:i}),imports:dd(r.imports??{},yy.of),definitionFile:r,parseTypeReference:u=>typeof u=="string"?gFa({type:u,_default:void 0,validation:void 0,file:a}):gFa({type:u.type,_default:u.default,validation:u.validation,file:a}),casingsGenerator:i,rootApiFile:n};return a}var yqi=RMe({generationLanguage:void 0,keywords:void 0,smartCasing:!1});function UHt({typeName:e,objectDeclaration:t,filepathOfDeclaration:r,definitionFile:i,workspace:n,typeResolver:a,smartCasing:u,path:l=[],seen:d={}}){let s=[];if(e!=null){let b=d[r]??=new Set;if(b.has(e))return s;b.add(e)}let o=yqi;u&&(o=RMe({generationLanguage:void 0,keywords:void 0,smartCasing:u}));let c=S0({relativeFilepath:r,definitionFile:i,casingsGenerator:o,rootApiFile:n.definition.rootApiFile.contents});if(t.properties!=null)for(let[b,g]of Object.entries(t.properties)){let O=typeof g=="string"?g:g.type,m=a.resolveType({type:O,file:c});m!=null&&s.push({wireKey:b,name:bL({propertyKey:b,property:g}).name,filepathOfDeclaration:r,path:l,propertyType:O,resolvedPropertyType:m,isOptional:m._type==="container"&&m.container._type==="optional",isNullable:m._type==="container"&&m.container._type==="nullable"})}if(t.extends!=null){let b=typeof t.extends=="string"?[t.extends]:t.extends;for(let g of b){let O=a.resolveNamedType({referenceToNamedType:g,file:c});if(O?._type==="named"&&NS(O.declaration)){let m=eoe(n,O.filepath);m!=null&&s.push(...UHt({typeName:O.rawName,objectDeclaration:O.declaration,filepathOfDeclaration:O.filepath,definitionFile:m,workspace:n,typeResolver:a,smartCasing:u,path:[...l,{reference:g,followedVia:"extension"},...O.objectPath.map(P=>({reference:P.reference,followedVia:"alias"}))],seen:d}))}}}return s}function RLn({property:e,prefixBreadcrumbs:t=[]}){return[...t,...GcM(e.path),e.wireKey].join(" -> ")}function GcM(e){return e.map(QcM)}function QcM(e){return[JcM(e),e.reference].join(" ")}function JcM(e){switch(e.followedVia){case"alias":return"(alias of)";case"extension":return"(extends)"}}function SYi({typeName:e,typeNameForBreadcrumb:t,rawObject:r,file:i,typeResolver:n,exampleResolver:a,workspace:u,example:l,breadcrumbs:d,depth:s}){if(!Jj(l))return UFe(l,"an object");let o=[],c=UHt({typeName:e,objectDeclaration:r,typeResolver:n,definitionFile:i.definitionFile,workspace:u,filepathOfDeclaration:i.relativeFilepath,smartCasing:!1}),b=v3s(c,O=>O.wireKey),g=c.filter(O=>!O.isNullable&&!O.isOptional&&O.resolvedPropertyType._type!=="unknown");for(let O of g)if(!(O.resolvedPropertyType._type==="container"&&O.resolvedPropertyType.container._type==="literal")&&l[O.wireKey]==null){let P=`Example is missing required property "${d.length>0?`${d.join(".")}.${O.wireKey}`:O.wireKey}"`;o.push({message:P})}for(let[O,m]of Object.entries(l)){let P=b[O];if(!r["extra-properties"])if(P==null)o.push({message:`Unexpected property "${O}"`});else{let E=eoe(u,P.filepathOfDeclaration);if(E==null)throw new Error("Service file does not exist for property: "+P.wireKey);o.push(...gL({rawTypeReference:P.propertyType,example:m,file:S0({relativeFilepath:P.filepathOfDeclaration,definitionFile:E,casingsGenerator:i.casingsGenerator,rootApiFile:u.definition.rootApiFile.contents}),workspace:u,typeResolver:n,exampleResolver:a,breadcrumbs:[...d,`${O}`],depth:s+1}))}}return o}function mU_({rawUnion:e,example:t,typeResolver:r,exampleResolver:i,file:n,workspace:a,breadcrumbs:u,depth:l}){let d=[];for(let s of e.union){let o=gL({rawTypeReference:typeof s=="string"?s:s.type,example:t,typeResolver:r,exampleResolver:i,file:n,workspace:a,breadcrumbs:u,depth:l+1});if(o.length===0)return[];d.length===0&&d.push(...o)}return d}function PU_(e){if(typeof e=="string"||e.availability==null)return;let t=typeof e.availability=="string"?{status:e.availability}:e.availability;return foe(e.availability)}function jU_(e){if(typeof e!="string")return e["display-name"]}function cMc(e){if(typeof e!="string")return e.docs}var wU_="value";function SU_({union:e,file:t,typeResolver:r}){let i=DYi(e);return lO.union({discriminant:t.casingsGenerator.generateNameAndWireValue({wireValue:i,name:vqi(e).name}),extends:NHt(e.extends).map(n=>vL({typeName:n,file:t})),baseProperties:e["base-properties"]!=null?Object.entries(e["base-properties"]).map(([n,a])=>({...MJ(a),name:t.casingsGenerator.generateNameAndWireValue({wireValue:n,name:bL({propertyKey:n,property:a}).name}),valueType:t.parseTypeReference(a),propertyAccess:nMc({property:a}),v2Examples:{userSpecifiedExamples:{},autogeneratedExamples:{}}})):[],types:Object.entries(e.union).map(([n,a])=>{let u=typeof a=="string"?a:typeof a.type=="string"?a.type:void 0,l=t.casingsGenerator.generateNameAndWireValue({wireValue:n,name:NLn({unionKey:n,rawSingleUnionType:a}).name}),d=cMc(a);if(u==null)return{discriminantValue:l,docs:d,shape:xQ.noProperties(),displayName:void 0,availability:void 0};let s=t.parseTypeReference(u);return{discriminantValue:l,shape:lMc({rawSingleUnionType:a,rawValueType:u,parsedValueType:s,file:t,typeResolver:r}),docs:cMc(a),displayName:jU_(a),availability:PU_(a)}})})}function DYi(e){return e.discriminant==null?"type":typeof e.discriminant=="string"?e.discriminant:e.discriminant.value}function vqi(e){return e.discriminant!=null&&typeof e.discriminant!="string"&&e.discriminant.name!=null?{name:e.discriminant.name,wasExplicitlySet:!0}:{name:DYi(e),wasExplicitlySet:!1}}function NLn({unionKey:e,rawSingleUnionType:t}){return typeof t!="string"&&t.name!=null?{name:t.name,wasExplicitlySet:!0}:{name:e,wasExplicitlySet:!1}}function lMc({rawSingleUnionType:e,rawValueType:t,parsedValueType:r,file:i,typeResolver:n}){let a=typeof e!="string"?e.key:void 0,u=n.resolveTypeOrThrow({type:t,file:i});return u._type==="named"&&NS(u.declaration)&&a==null?xQ.samePropertiesAsObject(u.name):xQ.singleProperty({name:i.casingsGenerator.generateNameAndWireValue({wireValue:YcM(a),name:KcM(a)}),type:r})}function KcM(e){return e!=null?typeof e=="string"?e:e.name??e.value:wU_}function YcM(e){return e!=null?typeof e=="string"?e:e.value:wU_}function EU_({typeName:e,rawUnion:t,example:r,typeResolver:i,exampleResolver:n,file:a,workspace:u,breadcrumbs:l,depth:d}){if(!Jj(r))return UFe(r,"an object");let s=DYi(t),{[s]:o,...c}=r;if(o==null)return[{message:`Missing discriminant property ("${s}")`}];if(typeof o!="string")return UFe(o,"a string");let b=t.union[o];if(b==null)return[{message:`Invalid discriminant property: "${o}". Allowed discriminant values:
2011
2011
  `+Object.keys(t.union).map(M=>` - ${M}`).join(`
2012
2012
  `)}];if(t["base-properties"]!=null){let M=Object.fromEntries(Object.entries(c).filter(([C])=>t["base-properties"]?.[C]!=null)),D=SYi({typeName:e,typeNameForBreadcrumb:e,rawObject:{properties:t["base-properties"]},file:a,example:M,typeResolver:i,exampleResolver:n,workspace:u,breadcrumbs:l,depth:d+1});if(D.length>0)return D}let g=typeof b=="string"?b:b.type;if(typeof g!="string")return DU_(c);let O=i.resolveType({type:g,file:a});if(O==null)return[];if(O._type==="named"&&NS(O.declaration)){let M=Object.fromEntries(Object.entries(c).filter(([D])=>t["base-properties"]?.[D]==null));return SYi({typeName:e,typeNameForBreadcrumb:e,rawObject:O.declaration,file:O.file,example:M,typeResolver:i,exampleResolver:n,workspace:u,breadcrumbs:l,depth:d+1})}let m=typeof b!="string"&&typeof b.key=="string"?b.key:void 0;if(m==null)return[];let{[m]:P,...E}=c,q=[];return P==null?q.push({message:`Missing property "${m}"`}):q.push(...gL({rawTypeReference:g,example:P,typeResolver:i,exampleResolver:n,file:a,workspace:u,breadcrumbs:l,depth:d+1})),q.push(...DU_(E)),q}function DU_(e){return Object.keys(e).map(t=>({severity:"fatal",message:`Unexpected property "${t}"`}))}function Jru({typeName:e,typeDeclaration:t,file:r,typeResolver:i,exampleResolver:n,example:a,workspace:u,breadcrumbs:l,depth:d}){return v3(t,{alias:s=>gU_({rawAlias:s,file:r,typeResolver:i,exampleResolver:n,example:a,workspace:u,breadcrumbs:l,depth:d}),enum:s=>OU_({rawEnum:s,example:a,breadcrumbs:l}),object:s=>SYi({typeName:e,typeNameForBreadcrumb:e,rawObject:s,example:a,file:r,typeResolver:i,exampleResolver:n,workspace:u,breadcrumbs:l,depth:d}),discriminatedUnion:s=>EU_({typeName:e,rawUnion:s,example:a,file:r,typeResolver:i,exampleResolver:n,workspace:u,breadcrumbs:l,depth:d}),undiscriminatedUnion:s=>mU_({rawUnion:s,example:a,file:r,typeResolver:i,exampleResolver:n,workspace:u,breadcrumbs:l,depth:d})})}var xU_=/^([+-]?\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)?)?)?)?$/,XcM=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ZcM=/^\d{4}-\d{2}-\d{2}$/,kcM=128;function gL({rawTypeReference:e,example:t,typeResolver:r,exampleResolver:i,file:n,workspace:a,breadcrumbs:u,depth:l}){if(l>kcM)return[{message:"Example is too deeply nested. This may indicate a circular reference."}];if(typeof t=="string"&&t.startsWith(qkt)){let d=r.resolveType({type:e,file:n});if(d==null)return[];let s=i.parseExampleReference(t);if(s==null)return[];let o=r.resolveNamedType({referenceToNamedType:s.rawTypeReference,file:n});return o==null?[]:LLn({expected:d,actual:o})?[]:[{message:`Expected example to be: ${e}. Example is ${t}.`}]}return qHi({type:e,_default:void 0,validation:void 0,visitor:{primitive:d=>elM({primitiveType:d,example:t}),named:d=>{let s=r.getDeclarationOfNamedType({referenceToNamedType:d,file:n});return s==null?[]:Jru({typeName:s.typeName,typeDeclaration:s.declaration,file:s.file,example:t,typeResolver:r,exampleResolver:i,workspace:a,breadcrumbs:u,depth:l+1})},map:({keyType:d,valueType:s})=>Jj(t)?Object.entries(t).flatMap(([o,c])=>[...gL({rawTypeReference:d,example:o,typeResolver:r,exampleResolver:i,file:n,workspace:a,breadcrumbs:[...u,o],depth:l+1}),...gL({rawTypeReference:s,example:c,typeResolver:r,exampleResolver:i,file:n,workspace:a,breadcrumbs:[...u,o],depth:l+1})]):UFe(t,"a map"),list:d=>Array.isArray(t)?t.flatMap((s,o)=>gL({rawTypeReference:d,example:s,typeResolver:r,exampleResolver:i,file:n,workspace:a,breadcrumbs:[...u,`${o}`],depth:l+1})):UFe(t,"a list"),set:d=>{if(!Array.isArray(t))return UFe(t,"a list");let s=e3s(t);return s.length>0?[{severity:"fatal",message:`Set has duplicate elements:
2013
2013
  `+s.map(o=>` - ${JSON.stringify(o)}`).join(`